// javascript used by index.asp for googlemap functionality.
var show_debugging = false; 
var map_intro_closed = false; 
var map;
var DEFAULT_ZOOM = 7;
var DEFAULT_LAT = 50.7;
var DEFAULT_LNG = -3.8;
var MAPSTATE_COOKIE = 'homegmapstate';

function hhgmap_initialize() {
	
   if (show_debugging)
	{
	document.getElementById("debug_info").style.display = 'block';
	document.getElementById("debug_info").innerHTML = '<p><b>Debugging Information</b><br/></p>';
	}  
	
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("googleMap"));
			
		map.addMapType(G_PHYSICAL_MAP)
		
		var mapState = hhgmap_getCookie(MAPSTATE_COOKIE);
		if (mapState.length > 1) {
			hhgmap_loadMapStateFromCookie();	
		}
		else {
			map.setCenter(new GLatLng(DEFAULT_LAT, DEFAULT_LNG), DEFAULT_ZOOM);
		}

		map.addControl(new GSmallMapControl());
		
		var bottomRight = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(82,4));
		// map.addControl(new GMapTypeControl(), bottomRight);
		// map.addControl(new GOverviewMapControl());
		
		map.enableScrollWheelZoom();

		
		// GEvent.addListener(map,"moveend", function(){populateMap();});
		
		hhgmap_populateMap();
	}
	
}

function hhgmap_populateMap() {
	hhgmap_loadMarkers();
}

function hhgmap_refreshMarkers() {
	map.clearOverlays();
	hhgmap_populateMap();
}

function hhgmap_createMarkerLite(point,label,placeid,placename) {

	var myIcon = new GIcon(G_DEFAULT_ICON);
		
	myIcon.image = "images/maps/blue_marker5.png";
	myIcon.iconSize = new GSize(10, 16);
	myIcon.iconAnchor = new GPoint((10 / 2), (10 - 2));
	myIcon.infoWindowAnchor = new GPoint(1,5);
						
	myIcon.shadow = "";

	var marker = new GMarker(point, {icon:myIcon, title:label});
			
	GEvent.addListener(marker, "click", function() {
	  location.href = 'holiday-cottages-in-' + placename + '_' + placeid + '.html';
	});
			
	return marker;
}

function hhgmap_saveMapStateToCookie() {

	var mapzoom=map.getZoom();
	
	var mapcenter=map.getCenter();
	var maplat=mapcenter.lat();
	var maplng=mapcenter.lng();
	
	var cookiestring=maplat+"_"+maplng+"_"+mapzoom;
	
	// var exp = new Date();     
	// exp.setTime(exp.getTime() + (1000 * 60 * 60 * 24 * 3));     //set it 3 days ahead
	var exp = null;  // Create a transient/Session Cookie
	
	hhgmap_setCookie(MAPSTATE_COOKIE,cookiestring, exp);
}

function hhgmap_loadMapStateFromCookie()	{
	var loadedstring = hhgmap_getCookie(MAPSTATE_COOKIE);
	var splitstr = loadedstring.split("_");
	
	map.setCenter(new GLatLng(parseFloat(splitstr[0]), parseFloat(splitstr[1])), parseFloat(splitstr[2]));
}

function hhgmap_setCookie(name, value, expires) {
	document.cookie = name + "=" + escape(value) + "; path=/" + ((expires == null) ? "" : "; expires=" + expires.toGMTString());
}

function hhgmap_getCookie(c_name) {
	if (document.cookie.length>0)
	{
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1)
		{ 
			c_start=c_start + c_name.length+1; 
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		} 
	}
	return "";
}

function hhgmap_finalize() {

	hhgmap_saveMapStateToCookie();  // Save map state to session cookie.
	
	GUnload();  // Googlemaps unload.

}
		
