// Javascript for google maps

function loadGMap () {
		if (GBrowserIsCompatible()) {
			var gmap = new GMap2(document.getElementById("map"));
			gmap.addControl( new GLargeMapControl() );
			gmap.setCenter( new GLatLng(53.75,-3), 6 );
			
			GDownloadUrl("primarycentres.txt", function(data, responseCode) {
			var jsonData = eval("(" + data + ")");
			for (var i = 0; i < jsonData.PrimaryCentres.length; i++) {
				var marker = createMarker(jsonData.PrimaryCentres[i]);
				gmap.addOverlay(marker);
			}
		});
		var markerEdge = createEdgeFoundryMarker()
		gmap.addOverlay(markerEdge);
		var markerFoundry = createFoundryEdgeMarker()
		gmap.addOverlay(markerFoundry);
			
	} else {
		var elementsBody = document.getElementsByTagName("body");
		for (var cnt = 0; cnt < elementsBody.length; cnt++) {
				if (elementsBody[cnt].className == "js-enabled") {
						elementsBody[cnt].className = elementsBody[cnt].className.replace("js-enabled", '');
				}
		}
	}
}

function createMarker(data) {
	var point = new GLatLng(data.Lat,data.Lng);
	var marker = new GMarker(point);
	var tabs_array = [ new GInfoWindowTab("Location", formatLocation(data)), new GInfoWindowTab("Contact", formatContact(data)) ];
	GEvent.addListener(marker, "click", function() { marker.openInfoWindowTabsHtml( tabs_array ); });
	return marker;
}

function formatLocation(data) {
	var html = "<div class=\"bubble\">";
	html += "<h1>" + data.CentreName + "&nbsp;&nbsp;</h1>";
	html += "<p>" + data.Address1 + "<br />";
	if (data.Address2.length > 0) { html += data.Address2 + "<br />"; }
	if (data.Address3.length > 0) { html += data.Address3 + "<br />"; }
	html += data.City + "<br />";
	if (data.County.length > 0) { html += data.County + "<br />"; }
	html += data.Postcode + "</p>";
	html += "</div>";
	return html;
}

function formatContact(data) {
	var html = "<div class=\"bubble\">";
	html += "<h1>" + data.CentreName + "&nbsp;&nbsp;</h1>";
	if (data.Phone.length > 0 ) { html += "<p>T.&nbsp;" + data.Phone + "<br />"; }
	if (data.Email.length > 0 ) { html += "E.&nbsp;<a href='mailto:" + data.Email + "'>" + data.Email + "</a><br />"; }
	if (data.Website.length > 0 ) { html += "W.&nbsp;<a href='" + data.Website + "' target='_self'>" + data.Website + "</a></p>"; }
	html += "</div>";
	return html;
}

var edgeAddress = "<h1>The Edge&nbsp;&nbsp;</h1><p>Edge Climbing Centre<br />John Street<br />Bramall Lane<br />Sheffield<br />South Yorkshire<br />S2 4QU</p>";
var edgeContact = "<h1>The Edge&nbsp;&nbsp;</h1><p>T.&nbsp;0114 275 8899<br />W.&nbsp;<a href='http://www.sheffieldclimbing.com' target='_self'>http://www.sheffieldclimbing.com</a></p>";
var foundryAddress = "<h1>The Foundry&nbsp;&nbsp;</h1><p>The Foundry Climbing Centre<br />Unit 2<br />45 Mowbray Street<br />Sheffield<br />South Yorkshire<br />S3 8EN</p>";
var foundryContact = "<h1>The Foundry&nbsp;&nbsp;</h1><p>T.&nbsp;0845 644 5161<br />E.&nbsp;<a href='mailto:foundrymountain@btconnect.com'>foundrymountain@btconnect.com</a><br />W.&nbsp;<a href='http://www.greatadventures.co.uk' target='_self'>http://www.greatadventures.co.uk</a></p>";

function createEdgeFoundryMarker() {
	var point = new GLatLng(53.370505,-1.474006);
	var marker = new GMarker(point);
	var tabs_array = [ new GInfoWindowTab("Location", xLocation(edgeAddress,foundryAddress)), new GInfoWindowTab("Contact", xContact(edgeContact,foundryContact)) ];
	GEvent.addListener(marker, "click", function() { marker.openInfoWindowTabsHtml( tabs_array ); });
	return marker;
}

function createFoundryEdgeMarker() {
	var point = new GLatLng(53.390249,-1.471132);
	var marker = new GMarker(point);
	var tabs_array = [ new GInfoWindowTab("Location", xLocation(foundryAddress,edgeAddress)), new GInfoWindowTab("Contact", xContact(foundryContact,edgeContact)) ];
	GEvent.addListener(marker, "click", function() { marker.openInfoWindowTabsHtml( tabs_array ); });
	return marker;
}

function xLocation(addr1, addr2) {
	var html = "<div>"; /* class=\"bubble\">"; */
	html += addr1;
	html += addr2;
	html += "</div>";
	return html;
}

function xContact(cont1, cont2) {
	var html = "<div>"; /* class=\"bubble\">"; */
	html += cont1;
	html += cont2;
	html += "</div>";
	return html;
}

window.onload = loadGMap;
window.onunload = GUnload;

