 /*
 * All You Need To Tri Google API Map
 * Copyright 2011 By AYNTT, Liondigital and Google Map
 * www.allyouneedtotri.com
 * You may not copy or reuse this code without our permission
 */
 
function initialize(mylat,mylng,myxoom) {
	
        center = new google.maps.LatLng(mylat,mylng);
		
		geocoder = new google.maps.Geocoder();
		var markerImage = "http://www.google.com/mapfiles/markerA.png";
        map = new google.maps.Map(document.getElementById('mapload'), {
          zoom: 13,
          center: center,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        });

		$("#loadermmp").show()
		google.maps.event.addDomListenerOnce(map, 'idle', function(){
		$("#clickdis").show();
		grabdatab();
      	});
		
		google.maps.event.addListener(map, 'dragend', function() {	   
		markerCluster.clearMarkers();
		var markers = [];
		$("#loadermmp").show();
		$("#clickdis").show();
		grabdatab();
		});

		google.maps.event.addListener(map, 'zoom_changed', function() {
		if (map.getZoom() < 12 )  {
		map.setZoom(12);
		}
		markerCluster.clearMarkers();
		var markers = [];
		$("#loadermmp").show();
		$("#clickdis").show();
		grabdatab();
		});
		
}

function grabdatab () {
		var xbounds = map.getBounds();
		var bounds = new google.maps.LatLngBounds(xbounds.getSouthWest(),xbounds.getNorthEast());
		var southWest = bounds.getSouthWest();
		var northEast = bounds.getNorthEast();
		var swLat = southWest.lat();
		var swLng = southWest.lng();
		var neLat = northEast.lat();
		var neLng = northEast.lng();
		var randNum = Math.ceil(Math.random()*10);
		var markers = [];

		var infowindowx = new google.maps.InfoWindow();
        
		$.getJSON('/wp-content/plugins/ayntt/googlemap.php?sess='+randNum+"&swlng="+swLng+"&swlat="+swLat+"&nelat="+neLat+"&nelng="+neLng, function(data) {

		  if (markers) {
			for (i in markers) {
			  markers[i].setMap(null);
			}
		  }

        for (var i = 0; i < data.count; i++) {
		
			var dbstore = data.stores[i];
			var sttitle = dbstore.name;
			var latLng = new google.maps.LatLng(dbstore.lat,dbstore.lng);
		  
			var contentString = '<div id="content">'+
			'<div id="siteNotice">'+
			'</div>'+
			'<h3 id="firstHeading" class="firstHeading"><a href="http://www.allyouneedtotri.com/detail/'+dbstore.weblink+'">'+dbstore.name+'</a></h3>'+
			'<div id="bodyContent">'+
			'<p>Address: '+dbstore.address+'</p>'+
			'</div>'+
			'</div>';
		
			var iconm = "http://www.allyouneedtotri.com/wp-content/themes/ayntt/images/"+dbstore.pin+".png";
			marker = new google.maps.Marker({
				position: latLng,
				map: map,
				title: sttitle,
				icon: iconm,
				html: contentString,
				zoom: 14
			});

			google.maps.event.addListenerOnce(marker, 'click', function() { 
			if (map.getZoom() < 12 )  {
				map.setZoom(12);
			} else {
				if (this.zoom > map.getZoom()) {
				map.setZoom(this.zoom);
				}
			}
			infowindowx.setContent(this.html);
			infowindowx.setPosition(latLng);
			infowindowx.open(map, this);
			});
            markers.push(marker);
        }
        markerCluster = new MarkerClusterer(map, markers, {
          styles: [{
        url: '/wp-content/themes/ayntt/images/marker1.png',
        height: 38,
        width: 38,
        opt_anchor: [15, 0],
        opt_textColor: '#FFFFFF',
        opt_textSize: 9
      }, {
        url: '/wp-content/themes/ayntt/images/marker2.png',
        height: 38,
        width: 38,
        opt_anchor: [25, 0],
        opt_textSize: 9
      }, {
        url: '/wp-content/themes/ayntt/images/marker3.png',
        height: 38,
        width: 38,
        opt_anchor: [35, 0],
        opt_textSize: 9
      }]
        });
		$("#loadermmp").hide();
		$("#clickdis").hide();
		});

		
}

function refreshpage () {
$("#loadermmp").show();
markerCluster.clearMarkers();
var markers = [];
initialize(mylat,mylng);

var address = document.getElementById("mapaddress").value;
if (address) {
geocoder.geocode({
'address': address,
'country': 'UK',
'partialmatch': true}, geocodeResult);
}

}

function showAddress() {
	var address = document.getElementById("mapaddress").value;
	initialize(mylat,mylng,11);
    geocoder.geocode({
      'address': address,
	  'country': 'UK',
      'partialmatch': true}, geocodeResult);
}

function geocodeResult(results, status) {
    if (status == 'OK' && results.length > 0) {
      map.fitBounds(results[0].geometry.viewport);
	var center = map.getCenter();
	var marker = new google.maps.Marker({
		position: center,
		map: map
	});
	  
    } else {
      alert("Geocode was not successful for the following reason: " + status);
    }
}

google.maps.event.addDomListenerOnce(window, 'load', function(data) { 
initialize(mylat,mylng);
});

function changedeal(typclk) {
	var getidmoA = $(".listnv ul li a.hlttabA").hasClass("activemode");
	var getidmoB = $(".listnv ul li a.lttabB").hasClass("activemode");
	var getidmoC = $(".listnv ul li a.lttabC").hasClass("activemode");
	var sortlA = $('#sortA').val();
	var sortlB = $('#sortB').val();
	var sortlC = $('#sortC').val();
	var sortlD = $('#sortD').val();
	
	if (getidmoB == true) {
		var typshow = 'rates';
		
	} else if (getidmoC == true) {
		var typshow = 'view';
	} else {
		var typshow = 'default';
	}
	$("#dealload").html('<div class="loadist"><img src="/wp-content/themes/ayntt/images/loader.gif" width="16" height="16" /> loading please wait ...</div>');
	$("#dealload").load("/wp-content/plugins/ayntt/dealajax.php?part="+typshow+"&typ="+typclk+"&sprta="+sortlA+"&sprtb="+sortlB+"&sprtc="+sortlC+"&sprtd="+sortlD);
}
