//<![CDATA[    
function load() {      
	if (GBrowserIsCompatible()) {
	
	//Add the map
	var map = mapload();
	map.setMapType(G_PHYSICAL_MAP);
	var origcenter = map.getCenter();
	var origzoom = map.getZoom();
	map.addMapType(G_PHYSICAL_MAP);
	map.removeMapType(G_HYBRID_MAP);
	map.removeMapType(G_SATELLITE_MAP);

	//Define Marker Manager
	var mm = new MarkerManager(map);                
	
	// Read the data from map_data.xml
	var xmldata = xml();
	GDownloadUrl(xmldata, function(data) {
		var xml = GXml.parse(data);
		var markers = xml.documentElement.getElementsByTagName("marker");
		for (var i = 0; i < markers.length; i++) {
			var lat = parseFloat(markers[i].getAttribute("lat"));
			var lng = parseFloat(markers[i].getAttribute("lng"));
			var point = new GLatLng(lat,lng);
			var html = markers[i].getAttribute("html");
			var zoom = parseFloat(markers[i].getAttribute("zoom"));		
			var minzoom = parseFloat(markers[i].getAttribute("minzoom"));
			var maxzoom = parseFloat(markers[i].getAttribute("maxzoom"));
			
			// create the marker
			var marker = createMarker(point,zoom,minzoom,maxzoom);

			//Create E Label
			var label = createELabel(point,html,marker);

			//Add and Remove Markers according to zoom
			mm.addMarker(marker,minzoom,maxzoom);
			mm.refresh();
		}

		var overviewmarkers = xml.documentElement.getElementsByTagName("overviewmarker");
		
		for (var j = 0; j < overviewmarkers.length; j++) {
			var overviewlat = parseFloat(overviewmarkers[j].getAttribute("lat"));
			var overviewlng = parseFloat(overviewmarkers[j].getAttribute("lng"));
			var overviewhtml = overviewmarkers[j].getAttribute("html");
			var overviewzoom = parseFloat(overviewmarkers[j].getAttribute("zoom"));		
			var overviewminzoom = parseFloat(overviewmarkers[j].getAttribute("minzoom"));
			var overviewmaxzoom = parseFloat(overviewmarkers[j].getAttribute("maxzoom"));
			var overviewpoint = new GLatLng(overviewlat,overviewlng);
			var overviewmarker = createoverviewMarker(overviewpoint,overviewzoom,overviewminzoom,overviewmaxzoom);
			
			var overviewlabel = createoverviewELabel(overviewpoint,overviewhtml,overviewminzoom,overviewmaxzoom);
			mm.addMarker(overviewmarker,overviewminzoom,overviewmaxzoom);
			mm.addMarker(overviewlabel,overviewminzoom,overviewmaxzoom);
			mm.refresh();
		}	
	});      	

	//Recenters and zooms when a marker is clicked
	function createMarker(point,zoom) {
		var marker = new GMarker(point);
		GEvent.addListener(marker, "click", function() {
			map.setCenter(point,zoom);
		});
		return marker;
	}
	
	function createoverviewMarker(overviewpoint,overviewzoom) {
		var overviewmarker = new GMarker(overviewpoint);
		GEvent.addListener(overviewmarker, "click", function() {
			map.setCenter(overviewpoint,overviewzoom);
		});
		return overviewmarker;
	}

	//Adding Elabels to the map
	function createELabel(point,html,marker) {
		var label = new ELabel(point, html, "maplabel", new GSize(10,0), 100);
		map.addOverlay(label);
		label.hide();
		GEvent.addListener(marker, "mouseover", function() {
			label.show();
		});
		GEvent.addListener(map, "mouseout", function() {
			label.hide();
		});
		return label;
	}

	function createoverviewELabel(overviewpoint,overviewhtml) {
		var overviewlabel = new ELabel(overviewpoint, overviewhtml, "maplabel",new GSize(10,0), 70);
		return overviewlabel;
	}

	var polyline = polyline1(map);

	//Adding return to original zoom to the map

	function OriginalZoomControl() {
	}
	OriginalZoomControl.prototype = new GControl();
	OriginalZoomControl.prototype.initialize = function(map) {  
	var container = document.createElement("div");  
	var zoomDiv = document.createElement("div");  
	this.setButtonStyle_(zoomDiv);  
	container.appendChild(zoomDiv);  
	zoomDiv.appendChild(document.createTextNode("Original Viewpoint"));  
	GEvent.addDomListener(zoomDiv, "click", function() {   
	map.setCenter(origcenter, origzoom);  
	});  

	map.getContainer().appendChild(container);  
	return container;
	}
	OriginalZoomControl.prototype.getDefaultPosition = function() {  
	return new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(0, 0));}
	OriginalZoomControl.prototype.setButtonStyle_ = function(button) { 
	button.className="mapcontrol";
	button.style.color = "red";  
	button.style.cursor = "pointer";
	}
	map.addControl(new OriginalZoomControl());

	}

	
}
var flag = true;
function maptoggleright(table, map) {
	if(flag){
		var tablesize = document.getElementById(table);
		tablesize.className="righthover";
		var mapsize = document.getElementById(map);
		mapsize.className="maphover";
	} else{
		var tablesize = document.getElementById(table);
		tablesize.className="right";
		var mapsize = document.getElementById(map);
		mapsize.className="map";
	}
	(flag)?flag=false:flag=true;
}

var flag = true;
function maptoggleleft(map) {
	if(flag){
		var mapsize = document.getElementById(map);
		mapsize.className="mapleft";
	} else{
		var mapsize = document.getElementById(map);
		mapsize.className="map";
	}
	(flag)?flag=false:flag=true;
}

//]]>