function load () {
	
	var map = document.getElementById("map");
	
	if (GBrowserIsCompatible()) {
		gmap = new GMap2(map);
		gmap.addControl( new GSmallMapControl() );
		gmap.addControl( new GMapTypeControl()) ;
		gmap.setCenter(gstrlatlong,gstrzoom);		
		
		function createMarker(input) {
			var Icon = new GIcon();
			Icon.image = "../img/iconcircle.png";
			Icon.iconSize = new GSize(10, 10);
			Icon.iconAnchor = new GPoint(5, 5);
			Icon.infoWindowAnchor = new GPoint(5, 10);
			var marker = new GMarker(input.point,Icon);
			GEvent.addListener(marker, "click", function() {
				
				if (gmap.getZoom()<5) {					gmap.setCenter(input.point,5);				} else {					//marker.openInfoWindowHtml( getBubbleHTML(input.id) );
					getBubbleHTML(input.id);				}
							
			});
			return marker;
			function getBubbleHTML(strID){
		var xmlHttp = GetXmlHttpObject();
		var url="/getBubbleHTML.asp"
		url=url+"?id="+escape(strID)
		url=url+"&sid="+Math.random()
		    
		if (!xmlHttp){
		     alert ("Browser does not support HTTP Request")
		     return
		}
		xmlHttp.onreadystatechange=function(){
		if (xmlHttp.readyState==1){ 
		      marker.openInfoWindowHtml('<p>Loading Details...</p>');
		} else if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		       if(xmlHttp.status == 200) {
					marker.openInfoWindowHtml(xmlHttp.responseText);
				} else {
					marker.openInfoWindowHtml('<p>There has been an error loading the property details.</p>');
				}
		}
		} 
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
		}
		}
	
		function parseJson (doc) {
			var jsonData = eval('(' + doc + ')');
			var batchA=[];
			var batchB=[];
			var batchC=[];
			var batchD=[];
			var once=0;
			var mgr = new MarkerManager(gmap);
			
			
			for (var i = 0; i < jsonData.markers.length; i++) {
				
				if (
					(jsonData.markers[i].country==mapcountry || mapcountry=='all') &&
					(jsonData.markers[i].county==mapcounty || mapcounty=='all') &&
					(parseInt(jsonData.markers[i].price)>=mappricefrom && parseInt(jsonData.markers[i].price)<=mappriceto) &&
					(parseInt(jsonData.markers[i].bedrooms)>=mapbedroomsmin && parseInt(jsonData.markers[i].bedrooms)<=mapbedroomsmax)
				) {
					
					if (mapcounty!='all' && once==0) {
						once=1;
						gmap.setCenter(jsonData.markers[i].point,gstrzoom+1);
					}
					
					if ( (jsonData.markers[i].country=='France' || jsonData.markers[i].country=='Spain')  && i % 10==0)  {
					   var marker = createMarker(jsonData.markers[i]);
					   batchA.push(marker);
					}
					else if ((jsonData.markers[i].country=='France' || jsonData.markers[i].country=='Spain')  && i % 5==0)  {
					   var marker = createMarker(jsonData.markers[i]);
					   batchB.push(marker);
					}
					else if ((jsonData.markers[i].country=='France' || jsonData.markers[i].country=='Spain')  && i % 3==0)  {
					   var marker = createMarker(jsonData.markers[i]);
					   batchC.push(marker);
					}
					else if (jsonData.markers[i].country=='France' || jsonData.markers[i].country=='Spain')  {
					   var marker = createMarker(jsonData.markers[i]);
					   batchD.push(marker);
					}
					else {
					   var marker = createMarker(jsonData.markers[i]);
					   batchA.push(marker);
					   batchB.push(marker);
					   batchC.push(marker);
					   batchD.push(marker);
					}
				
				}

			}
			mgr.addMarkers(batchA,0);
			mgr.addMarkers(batchB,2);
			mgr.addMarkers(batchC,4);			mgr.addMarkers(batchD,5);			mgr.refresh();
		}
		GDownloadUrl("../json/"+country+".json", function(data, responseCode) {
			parseJson(data);
		});
	
	} 
	//else {
	//	alert("Sorry, your browser cannot handle the true power of Google Maps");
	//}
}
window.onload = load;
window.onunload = GUnload;

