﻿function initSliderMapHome() 
{    
    var postcode = "";
    var defaultDistanceIndex;    
//    var defaultZoom;
    var defaultDistance = $( "#hfDefaultDistance" ).attr("value");
    
   
    // insert the slider div
    $(".sliderDist").append( '<div id="sldDistance" class="ui-slider-1"></div>' );
    

//    var callPostcodeAnyWhereService = function( address, zoomLevel )
//    {
//        // invoke the web service
//        $.ajax({ type: "POST",  
//            url: "/resources/services/locationservices.asmx/GetLatLongFromPostcode",  
//            dataType: "xml",  
//            data: "postcode=" + address,
//            processData: false,  
//            error: function(XMLHttpRequest, textStatus, errorThrown) { ajaxErrorPA(XMLHttpRequest, textStatus, errorThrown); },  
//            success: function(xml) { showAddressPE(xml, zoomLevel); }  
//        }); 
//    }
    
    
//    var showAddressPE = function( xml, zoomLevel )
//    {
//        returnedLat = 0;
//        returnedLon = 0;
//        
//        // Process xml from the webservice
//        $( "GeoPoint", xml ).each( function() 
//        {
//            returnedLat = $( "Latitude", this ).text();            
//            returnedLon = $( "Longitude", this ).text();
//            
//        });
//        
//        
//        if( returnedLat == 0 && returnedLon == 0 )
//        {            
//            // invalid postcode so invoke the web service again to get the lat/long for our default postcode
//            $.ajax({ type: "POST",  
//                url: "/resources/services/locationservices.asmx/GetLatLongFromPostcode",  
//                dataType: "xml",  
//                data: "postcode=" + $( "#hfDefaultPostcode" ).attr("value"),
//                processData: false,  
//                error: function(XMLHttpRequest, textStatus, errorThrown) { ajaxErrorPA(XMLHttpRequest, textStatus, errorThrown); },  
//                success: function(xml) { showAddressPE(xml, zoomLevel); }   
//            });                         
//            
//            // set the text colour to grey and insert the word postcode in the postcode field
//	        $(".txtPostcode").css( { 'color' : '#8c8c8c' } );
//	        $(".txtPostcode").attr( "value", "postcode" );
//        
//            // pop up message
//            alert( "Could not find postcode: " + postcode );
//        }
//        
//                
//        var point = new GLatLng(returnedLat, returnedLon);
//        
//        map.setCenter( point, zoomLevel );
//    }


    // Google map   		
//	var map = new GMap2( document.getElementById( "map" ), { size:new GSize( 0,0 ) } );
//	
//	map.disableDragging();
//	map.disableDoubleClickZoom();
//	map.disableInfoWindow();	
		
		
	// this call will initialise the map	
	
	// first set the default zoom level
	switch(defaultDistance)
    {
        case "1":	        	             	        	        
            //defaultZoom = 15;
            defaultDistanceIndex = 0;
            break;
        case "2":
            //defaultZoom = 14;
            defaultDistanceIndex = 1;
            break;
        case "5":
            //defaultZoom = 13;
            defaultDistanceIndex = 2;
            break;
        case "10":
            //defaultZoom = 12;
            defaultDistanceIndex = 3;
            break;
        case "15":
            //defaultZoom = 11;
            defaultDistanceIndex = 4;
            break;
        case "20":
            //defaultZoom = 10;
            defaultDistanceIndex = 5;
            break;
        default:
            //defaultZoom = 10;
            defaultDistanceIndex = 5;	            
    }
		
	//callPostcodeAnyWhereService($( "#hfDefaultPostcode" ).attr("value"), defaultZoom);
	
	
	// Distance slider
	$("#sldDistance").slider(
	{
	    //handles: [ { start: 3, id: "dist-handle-one" } ],
	    value: defaultDistanceIndex,
	    step: 1,
	    max: 5,
	    min: 0,
	    range: 'min',
	    change: function(e, ui)
	    {	        	    
	        var sliderValue = ui.value;

	        $(".rbl-distance :input").each(function(counter)
	        {	        
	            if( counter == sliderValue)
	            {
	                // call the trigger, this will also check it
	                $(this).trigger("click");                	                	                
	            }
	            else
	            {
	                this.checked = false;
	            }
	        });	        	  
	        
	        
	        // update the range
//	        var rangeSize = $( "#sldDistance a.ui-slider-handle" ).css("left");
//	        $( "#distance-range" ).css("left", "0%");
//	        $( "#distance-range" ).css("width", rangeSize);
	        
	             	        
	        // set zoom level  	        
//	        switch(sliderValue)
//	        {
//	            case 0:	        	             	        	        
//	                map.setZoom(15)
//	                break;
//	            case 1:
//	                map.setZoom(14)
//	                break;
//	            case 2:
//	                map.setZoom(13)
//	                break;
//	            case 3:
//	                map.setZoom(12)
//	                break;
//	            case 4:
//	                map.setZoom(11)
//	                break;
//	            case 5:
//	                map.setZoom(10)
//	                break;
//	            default:
//	                map.setZoom(10);	            
//	        }	              
	        	        
	        
	    }	    
	    
	});
	
	
	// set original slider position and defaultDistanceIndex depending on defaultDistance value
//	switch( defaultDistance )
//	{
//	    case "1":
//	        $( "#sldDistance a.ui-slider-handle" ).css("left", "0%");
//	        defaultDistanceIndex = 0;
//	        break;
//	    case "2":
//	        $( "#sldDistance a.ui-slider-handle" ).css("left", "20%");
//	        defaultDistanceIndex = 1;
//	        break;
//	    case "5":
//	        $( "#sldDistance a.ui-slider-handle" ).css("left", "40%");
//	        defaultDistanceIndex = 2;
//	        break;
//	    case "10":
//	        $( "#sldDistance a.ui-slider-handle" ).css("left", "60%");	        
//	        defaultDistanceIndex = 3;
//	        break;
//	    case "15":
//	        $( "#sldDistance a.ui-slider-handle" ).css("left", "80%");
//	        defaultDistanceIndex = 4;
//	        break;
//	    case "20":
//	        $( "#sldDistance a.ui-slider-handle" ).css("left", "100%");
//	        defaultDistanceIndex = 5;
//	        break;
//	    default:
//	        $( "#sldDistance a.ui-slider-handle" ).css("left", "60%");
//	        defaultDistanceIndex = 3;
//	}
	
	
	// check the radio button (refineDistance) according to the defaultDistance value
	$(".rbl-distance :input").each(function(counter)
    {	        
        if( counter == defaultDistanceIndex )
        {
            // call the trigger, this will also check it
            $(this).trigger("click");                	                	                
        }
        else
        {
            this.checked = false;
        }
    });
	
		
	// insert our own range and set it		
//	$("#sldDistance").append('<div id="distance-range" class="ui-slider-range"></div>');	
//	var rangeSize = $( "#sldDistance a.ui-slider-handle" ).css("left");	        	
//	$( "#distance-range" ).css("left", "0%");
//	$( "#distance-range" ).css("width", rangeSize);
	
	
	// insert the overlay after the range	
	$("#sldDistance .ui-slider-range").after('<div class = "distance-overlay"></div>');
	
	
	// set the text colour to grey and insert the word postcode in the postcode field
	$(".txtPostcode").css( { 'color' : '#8c8c8c' } );
	$(".txtPostcode").attr( "value", "postcode" );
	
	$(".txtPostcode").focus( function()
	{
	    if( $(".txtPostcode").attr( "value" ) == "postcode" )
	    {
	        // sset text colour to black
	        $(".txtPostcode").css( { 'color' : 'black' } );
	    
	        // clear the postcode
	        $(".txtPostcode").attr( "value", "" );
	    }
	});
	
	
	// Submit button
//	$("#btnPostcode").click(function ()
//	{     
//	    //alert($(".txtPostcode").attr("value"));
//	    
//	    postcode = $(".txtPostcode").attr("value");	    
//	    
//	    if ( postcode.length > 0 && postcode != "postcode" )
//	    {	    
//	        // call showAddress with postcode and zoom level
//	        var zoomLevel = map.getZoom();
//    	    
//	        callPostcodeAnyWhereService( postcode, zoomLevel );
//	    }
//	});
		
}