// JavaScript Document
	//<![CDATA[	

	mapClass={
		map_:null,
		xmlDoc:null,
		icons:null,
		
		init:function(xmlDocument){
		    xmlDoc=xmlDocument;
			this.createMap();
		},
		
		createMap:function(){
			var nodeMapCenterLoc = xmlDoc.getElementsByTagName("centerLocation").item(0);
			centerLat = parseFloat(nodeMapCenterLoc.getAttribute("lat"));
			centerLng = parseFloat(nodeMapCenterLoc.getAttribute("lng"));
			startZoomLevel = parseInt(nodeMapCenterLoc.getAttribute("zoomLevel"));	
			var mapOpts = new Object(); 
			if(xmlDoc.getElementsByTagName("bordersize").length == 1){
				var nodeBorderSize = xmlDoc.getElementsByTagName("bordersize").item(0);
				mapOpts.size = new GSize(parseFloat(nodeBorderSize.getAttribute("width")),parseFloat(nodeBorderSize.getAttribute("length")));
			}
			//create map and set it's initial location	
			map_ = new GMap2(document.getElementById("map_canvas"),mapOpts);
			map_.addControl(new GMapTypeControl());		
			map_.addControl(new GSmallMapControl());
	        map_.setCenter(new GLatLng(centerLat,centerLng),startZoomLevel);
			markerContainer = xmlDoc.getElementsByTagName("markerContainer").item(0);
			//load line and marker points from the xml document
			if(markerContainer.getAttribute("load") == "1"){
				this.placeMarkersOnMap();
			}
			polylineContainer = xmlDoc.getElementsByTagName("polylineContainer").item(0);
			if(polylineContainer.getAttribute("load") == "1"){
				this.placePolylinesOnMap();
			}		
		},
		//
		loadIcons:function(){
		    iStart = new G
		    icons = new Array()
		},
		placeMarkersOnMap:function(){
			var markers = xmlDoc.getElementsByTagName("marker");
			for(i = 0; i < markers.length; i++){
			    var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),parseFloat(markers[i].getAttribute("lng")));
				var content = markers[i].getAttribute("content");
				var tooltip = markers[i].getAttribute("tooltip");
    			map_.addOverlay(this.createMarker(point, tooltip, content));
			}	
		},
		
		createMarker:function (point, tooltip, content) {
			var markeropts = new Object();
			markeropts.title = tooltip;
  			var marker = new GMarker(point,markeropts);
			if(content !='undefined' && content.length > 0){
			    GDownloadUrl(content,function(popupData, responseCode){
			        //alert("popupData="+popupData);
		            GEvent.addListener(marker, "click", function() {
		    	        marker.openInfoWindowHtml(popupData);
				    });				
			    });
            };
	 		return marker;
		},
				
		placePolylinesOnMap:function(){
			var polylines = xmlDoc.getElementsByTagName("polyline");
			var points = [];
			for(i = 0; i < polylines.length; i++){
			    var a_point = new GLatLng(parseFloat(polylines[i].getAttribute("lat")),parseFloat(polylines[i].getAttribute("lng")));
				points.push(a_point);
			}
			if(points.length > 0){
				map_.addOverlay(new GPolyline(points));	
			}
		}
		
	}
	
    function GMapLoad(){
     if (GBrowserIsCompatible()) {
		GDownloadUrl("static/md/map_data.xml", loadXMLData );	 	
	 }
    }	
	
	function loadXMLData(xml_data, responseCode) {
    	var xml = GXml.parse(xml_data);
		mapClass.init(xml.documentElement);		
  	}
    //]]>
