// JavaScript Document

$(document).ready(function () {
  
 /*
 $(function doloop(){
  // Start a polling loop with an id of 'loop' and a counter.
  var i = 2;
 if($(".shown")){
  $.doTimeout( 'loop', 4000, function(){
  
    
  //$(".shown").removeClass("shown").addClass("hidden");
   // $("#slide_"+i).removeClass("hidden").addClass("shown");
	
	$(".hidden").hide();
	$(".shown").hide();
    $("#slide_"+i).fadeIn("slow");
	
	$("#switch_2 #bb1").css('border-top','5px solid #5A5B5E');
	$("#switch_3 #bb1").css('border-top','5px solid #5A5B5E');
	$("#switch_4 #bb2").css('border-top','5px solid #5A5B5E');
	$("#switch_5 #bb2").css('border-top','5px solid #5A5B5E');
	
	$("#switch_"+i+" #bb1").css('border-top','5px solid #083e8d');
	$("#switch_"+i+" #bb2").css('border-top','5px solid #c10038');
	if(i==5){
	i=1;	
	}else{
    i++;
	}
									 
    return true;
  });
   }
  $('#switch_2').hover(function(){
								stop();
  // Prematurely force execution of next polling loop iteration.
  $.doTimeout( 'loop' );
	
 	$(".shown").hide();
	$(".hidden").hide();
    $("#slide_2").fadeIn();
	$("#switch_2 #bb1").css('border-top','5px solid #083e8d');
	
	
},function(){

$("#switch_2 #bb1").css('border-top','5px solid #5A5B5E');
	
	
});

 $('#switch_3').hover(function(){
							   stop();
  // Prematurely force execution of next polling loop iteration.
  $.doTimeout( 'loop' );

 	$(".shown").hide();
	$(".hidden").hide();
    $("#slide_3").fadeIn();
	$("#switch_3 #bb1").css('border-top','5px solid #083e8d');
},function(){
	
	$("#switch_3 #bb1").css('border-top','5px solid #5A5B5E');
	
});
  $('#switch_4').hover(function(){
								stop();
  // Prematurely force execution of next polling loop iteration.
  $.doTimeout( 'loop' );

 	$(".shown").hide();
	$(".hidden").hide();
    $("#slide_4").fadeIn();
	$("#switch_4 #bb2").css('border-top','5px solid #c10038');
},function(){
	
	$("#switch_4 #bb2").css('border-top','5px solid #5A5B5E');
	
});
   $('#switch_5').hover(function(){
								 stop();
  // Prematurely force execution of next polling loop iteration.
  $.doTimeout( 'loop' );

 	$(".shown").hide();
	$(".hidden").hide();
    $("#slide_5").fadeIn();
	$("#switch_5 #bb2").css('border-top','5px solid #c10038');
},function(){
	
	$("#switch_5 #bb2").css('border-top','5px solid #5A5B5E');

});



  
});

*/
  
 
  
  $('#get_quote').click( function(){
	 $('#contact_form').show(); 
	  $('html,body').animate({scrollTop: $("#contact_form").offset().top});
	  })
  
/*
    $('ul.topmenu UL').hide(); 
	 $('ul.topmenu a').hover(  
         function () {  
             //show its submenu  
            $(this).next().css('display', 'block'); 
   
         },   
         function () {  
             //hide its submenu  
              $(this).next().css('display', 'none');       
         }  
     );  
	 
	*/
	
	  var toggle = function(direction, display) {
    return function() {
      var self = this;
      var ul = $("ul", this);
      if( ul.css("display") == display && !self["block" + direction] ) {
        self["block" + direction] = true;
        ul["slide" + direction]("fast", function() {
          self["block" + direction] = false;
        });
      }
    };
  }
  $("ul.topmenu li").hover(toggle("Down", "none"), toggle("Up", "block"));
  $("ul.topmenu li ul").hide();


  
    $('.prefill').focus(function() {
		$(this).val('')
    });
});


    var map;
    var geocoder;

    function load() {
      if (GBrowserIsCompatible()) {
        geocoder = new GClientGeocoder();
        map = new GMap2(document.getElementById('map'));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(53.022724,-1.177763), 6);
      }
    }

   function searchLocations() {
     var address = document.getElementById('addressInput').value;
	 if(address=='' || address=='Enter your postcode here'){
		address='Nottingham'; 
	 }
     geocoder.getLatLng(address, function(latlng) {
       if (!latlng) {
         alert(address + ' not found');
       } else {
         searchLocationsNear(latlng);
       }
     });
   }

   function searchLocationsNear(center) {
     var radius = 350;
     var searchUrl = 'map.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius;
	  var radius = 150;
     GDownloadUrl(searchUrl, function(data) {
       var xml = GXml.parse(data);
       var markers = xml.documentElement.getElementsByTagName('marker');
       map.clearOverlays();

       var sidebar = document.getElementById('locations');
       sidebar.innerHTML = '';
       if (markers.length == 0) {
        // sidebar.innerHTML = 'No results found.';
         map.setCenter(new GLatLng(53.022724,-1.177763), 7);
         return;
       }

       var bounds = new GLatLngBounds();
       for (var i = 0; i < markers.length; i++) {
         var name = markers[i].getAttribute('name');
         var address = markers[i].getAttribute('address');
         var distance = parseFloat(markers[i].getAttribute('distance'));
         var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
                                 parseFloat(markers[i].getAttribute('lng')));
         
         var marker = createMarker(point, name, address);
         map.addOverlay(marker);
         var sidebarEntry = createSidebarEntry(marker, name, address, distance);
         sidebar.appendChild(sidebarEntry);
         bounds.extend(point);
       }
       map.setCenter(new GLatLng(center.lat(),center.lng()), 7);
     });
   }

    function createMarker(point, name, address) {
      var marker = new GMarker(point);
      var html = '<b>' + name + '</b> <br/>' + address;
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }

    function createSidebarEntry(marker, name, address, distance) {
      var div = document.createElement('div');
      var html = '<ul><li><span class="highlighted">' + name + '</span> <br/>(' + distance.toFixed(1) + ' miles)<br/>' + address + '</li></ul>';
      div.innerHTML = html;
      div.style.cursor = 'pointer';
      div.style.marginBottom = '5px'; 
      GEvent.addDomListener(div, 'click', function() {
        GEvent.trigger(marker, 'click');
      });
      GEvent.addDomListener(div, 'mouseover', function() {
        div.style.backgroundColor = '#eee';
      });
      GEvent.addDomListener(div, 'mouseout', function() {
        div.style.backgroundColor = '#fff';
      });
      return div;
    }
