// JavaScript Document
var map;

function in_array(needle, haystack) {
	for(var i=0;i<haystack.length;i++) {
		if (needle == haystack[i]) { return true; }
	}
	return false;
}

function createMarker(point, value, show_info) {
	//create the kelly icon
	var kellyIcon = new GIcon();
	//kellyIcon.dragCrossMove = false;
	kellyIcon.title = value;
	//kellyIcon.draggable = false;
	//kellyIcon.bouncy = false;
	//kellyIcon.bounceGravity = false;
	//kellyIcon.autoPan = false;
	//kellyIcon.zIndexProcess = ?;
	kellyIcon.image = "http://www.kellystore.co.uk/images/assets/map-icon.png";
	//kellyIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
	kellyIcon.iconSize = new GSize(64, 64);
	kellyIcon.clickable = true;
	//kellyIcon.shadowSize = new GSize(64, 64);
	kellyIcon.iconAnchor = new GPoint(52, 60);
	kellyIcon.infoWindowAnchor = new GPoint(50, 20);

	switch(value) {
		case 'Haydock':
			var html = "<p><strong>Kelly's Self Storage Ltd</strong><br />Old Boston Trading Estate,<br />Unit 4 Wilcock Road,<br />Haydock,<br />St. Helens,<br />WA11 9SR</p>";
			break;
		case 'St. Albans':
			var html = "<p><strong>Kelly's Self Storage Ltd</strong><br />1 Old Parkbury Lane<br />Colney Street<br />St. Albans<br />Hertfordshire, AL2 2EB</p>";
			break;
		case 'East London':
			var html = "<p><strong>Kelly's Self Storage Ltd</strong><br />Unit 1A, Europa Trading Estate<br />Fraser Road<br />Erith<br />Kent<br />DA8 1QL</p>";
			break;
		case 'Guildford':
		default:
			var html = "<p><strong>Kelly's Storage Ltd</strong><br />Westfield Road<br />Slyfield Industrial Estate<br />Guildford<br />Surrey<br />GU1 1SB</p>";
	}
	
	var marker = new GMarker(point, kellyIcon, false);
	marker.value = value;
	GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); });
	if (show_info == value) { marker.openInfoWindowHtml(html); }
	
	return marker;
}

function SetupGMap(warehouses,areas,lon,lat,zoom,show_info) {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map_canvas"));
		//open the map centered on st albans...
		map.setCenter(new GLatLng(lon, lat), zoom);
		map.setMapType(G_PHYSICAL_MAP);

		if(in_array("Haydock", warehouses)) { map.addOverlay(createMarker(new GLatLng(53.474016,-2.640198), "Haydock", show_info)); }
		if(in_array("St. Albans", warehouses)) { map.addOverlay(createMarker(new GLatLng(51.707862,-0.328585), "St. Albans", show_info)); }
		if(in_array("East London", warehouses)) { map.addOverlay(createMarker(new GLatLng(51.481774,0.169984), "East London", show_info)); }
		if(in_array("Guildford", warehouses)) { map.addOverlay(createMarker(new GLatLng(51.262993,-0.567409), "Guildford", show_info)); }
		
		if(in_array("Haydock", areas)) { 
			map.addOverlay(new GPolyline([new GLatLng(53.383656, -3.205261),new GLatLng(53.237606, -3.062439),new GLatLng(53.175095, -3.067932),new GLatLng(53.114141, -2.82074),new GLatLng(53.105898, -2.672424),new GLatLng(53.064656, -2.551575),new GLatLng(53.076208, -2.392273),
						new GLatLng(53.110844, -2.359314),new GLatLng(53.12568, -2.37854),new GLatLng(53.155336, -2.287903),new GLatLng(53.171802, -2.106628),new GLatLng(53.286892, -2.117615),new GLatLng(53.303308, -2.150574),new GLatLng(53.431138, -2.05719),
						new GLatLng(53.514511, -1.991272),new GLatLng(53.70191, -2.103882),new GLatLng(53.710039, -2.210999),new GLatLng(53.822057, -2.27417),new GLatLng(53.781505, -2.364807),new GLatLng(53.770144, -2.513123),new GLatLng(53.828218, -2.570801),
						new GLatLng(53.920516, -2.69165),new GLatLng(53.946711, -2.872925),new GLatLng(53.925692, -3.051453),new GLatLng(53.753908, -3.051453),new GLatLng(53.726292, -2.944336),new GLatLng(53.553689, -3.103638),new GLatLng(53.439319, -3.026733),
						new GLatLng(53.383656, -3.205261)], 
						"#FF00FF", 10));
		}

		if(in_array("St. Albans", areas)) { 
			map.addOverlay(new GPolyline([new GLatLng(52.27202, -0.52302),new GLatLng(52.18613, -0.68817),new GLatLng(52.12516, -0.88750),new GLatLng(52.09093, -0.86663),new GLatLng(52.05476, -0.88981),new GLatLng(52.07978, -0.95795),new GLatLng(51.97357, -1.09567),new GLatLng(51.90638, -0.98505),
						new GLatLng(51.89990, -1.02301),new GLatLng(51.78301, -1.11938),new GLatLng(51.74821, -1.03726),new GLatLng(51.76930, -0.96022),new GLatLng(51.70376, -0.86488),new GLatLng(51.66759, -0.88787),new GLatLng(51.64743, -0.94888),new GLatLng(51.60459, -0.82920),
						new GLatLng(51.55127, -0.85057),new GLatLng(51.47566, -0.78043),new GLatLng(51.51175, -0.67722),new GLatLng(51.50274, -0.59589),new GLatLng(51.47652, -0.57686),new GLatLng(51.46820, -0.51544),new GLatLng(51.52316, -0.48696),new GLatLng(51.51851, -0.45074),
						new GLatLng(51.55086, -0.41703),new GLatLng(51.56125, -0.32110),new GLatLng(51.52478, -0.25194),new GLatLng(51.53726, -0.08489),new GLatLng(51.67303, -0.01401),new GLatLng(51.67167, 0.04418),new GLatLng(51.67167, 0.05879),new GLatLng(51.74594, 0.01076),
						new GLatLng(51.78552, 0.02762),new GLatLng(51.85342, 0.11233),new GLatLng(51.93643, 0.11422),new GLatLng(51.98286, 0.06839),new GLatLng(52.01164, 0.08075),new GLatLng(52.01135, 0.11447),new GLatLng(52.10707, 0.10932),new GLatLng(52.10207, 0.05925),new GLatLng(52.11961, 0.01112),
						new GLatLng(52.14308, -0.01013),new GLatLng(52.16701, -0.06295),new GLatLng(52.15291, -0.10000),new GLatLng(52.20726, -0.12994),new GLatLng(52.18134, -0.16866),new GLatLng(52.17757, -0.29825),new GLatLng(52.20189, -0.29055),new GLatLng(52.29187, -0.43090),
						new GLatLng(52.28845, -0.47963),new GLatLng(52.31748, -0.52216),new GLatLng(52.27202, -0.52302)], 
						"#FF0000", 10));
		}

		if(in_array("East London", areas)) { 
			map.addOverlay(new GPolyline([new GLatLng(51.76774, 0.96773),new GLatLng(51.35383, 0.96569),new GLatLng(51.32001, 0.99872),new GLatLng(51.29797, 0.97314),new GLatLng(51.29426, 1.00695),new GLatLng(51.22445, 0.84826),new GLatLng(51.23724, 0.79154),new GLatLng(51.18859, 0.59820),
						new GLatLng(51.16078, 0.58701),new GLatLng(51.13488, 0.62033),new GLatLng(51.12622, 0.58284),new GLatLng(51.01854, 0.66073),new GLatLng(51.09271, 0.41526),new GLatLng(51.09113, 0.28558),new GLatLng(51.06355, 0.21248),new GLatLng(51.09613, 0.15241),new GLatLng(51.07171, 0.11314),
						new GLatLng(51.06966, 0.05099),new GLatLng(51.10301, 0.09206),new GLatLng(51.15667, 0.04976),new GLatLng(51.16465, -0.03024),new GLatLng(51.14911, -0.07299),new GLatLng(51.15023, -0.07832),new GLatLng(51.10557, -0.05716),new GLatLng(51.07114, -0.22596),new GLatLng(51.20054, -0.27576),
						new GLatLng(51.24740, -0.23480),new GLatLng(51.25073, -0.30787),new GLatLng(51.28979, -0.25442),new GLatLng(51.33216, -0.1868),new GLatLng(51.34679, -0.25579),new GLatLng(51.33767, -0.18799),new GLatLng(51.38447, -0.16796),new GLatLng(51.40218, -0.12847),new GLatLng(51.51707,-0.19648),
						new GLatLng(51.53726, -0.08489),new GLatLng(51.67303, -0.01401),new GLatLng(51.67167, 0.04418),new GLatLng(51.67167, 0.05879),new GLatLng(51.74594, 0.01076),new GLatLng(51.78552, 0.02762),new GLatLng(51.85342, 0.11233),new GLatLng(51.93643, 0.11422),new GLatLng(51.95277, 0.12095),
						new GLatLng(51.95060, 0.16896),new GLatLng(51.93157, 0.18688),new GLatLng(51.94483, 0.22139),new GLatLng(51.96990, 0.35203),new GLatLng(51.95848, 0.40257),new GLatLng(51.93291, 0.38592),new GLatLng(51.88111, 0.47194),new GLatLng(51.90778, 0.48864),new GLatLng(51.85931, 0.56553),
						new GLatLng(51.91259, 0.60447),new GLatLng(51.89310, 0.67461),new GLatLng(51.87663, 0.63993),new GLatLng(51.78106, 0.73364),new GLatLng(51.80522, 0.77927),new GLatLng(51.77283, 0.90476),new GLatLng(51.76774, 0.96773)],
						"#00FF00", 10));
		}

		if(in_array("Guildford", areas)) { 
			map.addOverlay(new GPolyline([new GLatLng(50.83696, -0.44994),new GLatLng(50.82565, -0.42006),new GLatLng(50.82413, -0.34944),new GLatLng(50.86440, -0.36827),new GLatLng(50.86283, -0.29583),new GLatLng(50.88383, -0.26542),new GLatLng(50.88683, -0.21585),new GLatLng(50.87651, -0.17891),
						new GLatLng(50.90293, -0.13241),new GLatLng(50.89462, -0.07067),new GLatLng(50.97829, -0.07066),new GLatLng(50.99679, -0.01708),new GLatLng(51.06966, 0.05099),new GLatLng(51.10301, 0.09206),new GLatLng(51.15667, 0.04976),new GLatLng(51.16465, -0.03024),new GLatLng(51.14911, -0.07299),
						new GLatLng(51.15023, -0.07832),new GLatLng(51.10557, -0.05716),new GLatLng(51.07114, -0.22596),new GLatLng(51.20054, -0.27576),new GLatLng(51.24740, -0.23480),new GLatLng(51.25073, -0.30787),new GLatLng(51.28979, -0.25442),new GLatLng(51.33216, -0.1868),new GLatLng(51.34679, -0.25579),
						new GLatLng(51.33767, -0.18799),new GLatLng(51.38447, -0.16796),new GLatLng(51.40218, -0.12847),new GLatLng(51.51707,-0.19648),new GLatLng(51.53726, -0.08489),new GLatLng(51.52478, -0.25194),new GLatLng(51.56125, -0.32110),new GLatLng(51.55086, -0.41703),new GLatLng(51.51851, -0.45074),
						new GLatLng(51.52316, -0.48696),new GLatLng(51.46820, -0.51544),new GLatLng(51.47652, -0.57686),new GLatLng(51.50274, -0.59589),new GLatLng(51.51175, -0.67722),new GLatLng(51.47566, -0.78043),new GLatLng(51.55127, -0.85057),new GLatLng(51.60459, -0.82920),new GLatLng(51.62129, -0.88198),
						new GLatLng(51.63843, -0.94853),new GLatLng(51.60904, -0.94617),new GLatLng(51.61960, -1.03206),new GLatLng(51.57361, -1.05644),new GLatLng(51.56121, -1.02910),new GLatLng(51.55427, -1.04155),new GLatLng(51.54282, -1.10378),new GLatLng(51.55675, -1.11241),new GLatLng(51.55487, -1.14040),
						new GLatLng(51.53941, -1.14358),new GLatLng(51.53682, -1.23310),new GLatLng(51.51866, -1.23749),new GLatLng(51.46019, -1.16503),new GLatLng(51.42897, -1.24267),new GLatLng(51.34729, -1.19163),new GLatLng(51.30256, -1.28273),new GLatLng(51.22021, -1.27983),new GLatLng(51.19806, -1.19413),
						new GLatLng(51.16864, -1.17267),new GLatLng(51.01056, -1.18987),new GLatLng(51.02197, -1.11789),new GLatLng(50.99685, -1.08088),new GLatLng(50.97521, -1.08708),new GLatLng(50.96005, -1.02266),new GLatLng(50.97506, -0.98638),new GLatLng(50.95067, -0.96685),new GLatLng(50.94248, -0.93437),
						new GLatLng(50.89598, -0.88989),new GLatLng(50.84149, -0.90250),new GLatLng(50.82810, -0.75030),new GLatLng(50.85924, -0.71475),new GLatLng(50.83996, -0.62126),new GLatLng(50.79186, -0.58641),new GLatLng(50.80127, -0.45040),new GLatLng(50.83696, -0.44994)],
									 "#0000FF", 10));
		}
	}
}