    
		var map;
		var aKeys = new Array();
		var selectKeys = document.createElement('select');
	 	var emptyKey = document.createElement('option');
                var m_AssetsPath="something";
       		var m_DataFile;
		var m_totalpath;
    		var m_lat;
		var m_lng;
		var sourceRegion;	
                var zoomlvl=3;

function google (strAssetsPath,datafile,totalpath,lat,lng)
{
	m_AssetsPath	= strAssetsPath;
 	m_DataFile 	= datafile;
        m_totalpath=totalpath+datafile+".xml";
	m_lat=lat;
 	m_lng=lng;

       if(lat==39 && lng==-93){
           sourceRegion="United";
	 zoomlvl=4;
       }
       else if(lat==65 && lng==-93)
           sourceRegion="Canada";
       else if(lat==06 && lng==-80)
	   sourceRegion="Latin";
       else if(lat==31 && lng==121)
	   sourceRegion="Asia";	
       else if(lat==50 && lng==8)
	sourceRegion="Europe";
       else if(lat==-27 && lng==144)
	sourceRegion="Australia";
      	
        
}
	function getFirstWord(str){
            var strarr=str.split(" ");
     

         return strarr[0];
	}
		


               



		var showLocation = function () {
			var aAddress = aKeys[document.getElementById('selectKeys').selectedIndex - 1];
			var point = new GLatLng(aAddress[0], aAddress[1]);
			icon = new GIcon(baseIcon);
			icon.image = m_AssetsPath+"placeholder.gif";
			icon.shadow = "placeholder.gif";
			var marker = new GMarker(point, icon);
			map.addOverlay(marker);
			map.setCenter(point, 8);
		  	var address = escape(aAddress[3] + " " + aAddress[4] + " " + aAddress[5]);
		    marker.openInfoWindowHtml("<div class=\"bodyContent\" id=\"popwin\"><h4>" + aAddress[2] + "<\/h4><p>" + aAddress[3] + "<br/>" + aAddress[4] +aAddress[5] + "<br/>" + aAddress[6] + "<br/>" + aAddress[7] + "<\/p>Get directions: <a href=\"http://maps.google.com/maps?daddr=" + address + "&amp;saddr=\">To here<\/a> - <a href=\"http://maps.google.com/maps?daddr=&amp;saddr=" + address + "\">From here<\/a><\/div>");
			GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowHtml("<div class=\"bodyContent\" id=\"popwin\"><h4>" + aAddress[2] + "<\/h4><p>" + aAddress[3] + "<br/>" + aAddress[4] + aAddress[5] + "<br/>" + aAddress[6] + "<br/>" + aAddress[7] + "<\/p>Get directions: <a href=\"http://maps.google.com/maps?daddr=" + address + "&amp;saddr=\">To here<\/a> - <a href=\"http://maps.google.com/maps?daddr=&amp;saddr=" + address + "\">From here<\/a><\/div>");
			});
		}

		// Get url parameters
		function gup( name ){
		  var regexS = "[\\?&]"+name+"=([^&#]*)";
		  var regex = new RegExp( regexS );
		  var tmpURL = window.location.href;
		  var results = regex.exec( tmpURL );
		  if( results == null )
		    return "";
		  else
		    return results[1];
		}

    function load() {
		
		
		// A TextualZoomControl is a GControl that displays textual "Zoom In"
		// and "Zoom Out" buttons (as opposed to the iconic buttons used in
		// Google Maps).
		function TextualZoomControl() {
		}


      if (GBrowserIsCompatible()) {

	    // Display new pan and zoom buttons
		TextualZoomControl.prototype = new GControl();
		TextualZoomControl.prototype.initialize = function(map) {
		  var container = document.createElement("div");
		  container.style.cssText = "background: transparent url("+m_AssetsPath+"bg_buttons.gif) no-repeat 19px 19px; width: 62px; height: 44px;";

		  var panUp = document.createElement("div");
		  this.setButtonStyle_(panUp);
		  container.appendChild(panUp);
		  var pUp = document.createElement("img");
		  pUp.src = m_AssetsPath+"pUp.gif";
		  pUp.style.cssText="position: absolute; top: 0; left: 19px;";
		  panUp.appendChild(pUp);
		  GEvent.addDomListener(panUp, "click", function() {
		    map.panDirection(0,  1);
		  });


		  var panLeft = document.createElement("div");
		  this.setButtonStyle_(panLeft);
		  container.appendChild(panLeft);
		  var pLeft = document.createElement("img");
		  pLeft.src = m_AssetsPath+"pLeft.gif";
		  pLeft.style.cssText="position: absolute; top: 19px; left: 0;";
		  panLeft.appendChild(pLeft);
		  GEvent.addDomListener(panLeft, "click", function() {
		    map.panDirection(1,  0);
		  });

		  var panRight = document.createElement("div");
		  this.setButtonStyle_(panRight);
		  container.appendChild(panRight);
		  var pRight = document.createElement("img");
		  pRight.src = m_AssetsPath+"pRight.gif";
		  pRight.style.cssText="position: absolute; top: 19px; right: 0;";
		  panRight.appendChild(pRight);
		  GEvent.addDomListener(panRight, "click", function() {
		    map.panDirection(-1,  0);
		  });

		  var panDown = document.createElement("div");
		  this.setButtonStyle_(panDown);
		  container.appendChild(panDown);
		  var pDown = document.createElement("img");
		  pDown.src = m_AssetsPath+"pDown.gif";
		  pDown.style.cssText="position: absolute; top: 42px; left: 19px;";
		  panDown.appendChild(pDown);
		  GEvent.addDomListener(panDown, "click", function() {
		    map.panDirection(0,  -1);
		  });

		  var zoomOutDiv = document.createElement("div");
		  this.setButtonStyle_(zoomOutDiv);
		  container.appendChild(zoomOutDiv);
		  var zOut = document.createElement("img");
		  zOut.src = m_AssetsPath+"zOut.gif";
		  zOut.style.cssText = "position: absolute; top: 64px; left: 19px;";
		  zoomOutDiv.appendChild(zOut);
		  GEvent.addDomListener(zoomOutDiv, "click", function() {
		    map.zoomOut();
		  });

		  var zoomInDiv = document.createElement("div");
		  this.setButtonStyle_(zoomInDiv);
		  container.appendChild(zoomInDiv);
		  var zIn = document.createElement("img");
		  zIn.src = m_AssetsPath+"zIn.gif";
		  zIn.style.cssText = "position: absolute; top: 86px; left: 19px;";
		  zoomInDiv.appendChild(zIn);
		  GEvent.addDomListener(zoomInDiv, "click", function() {
		    map.zoomIn();
		  });

		  map.getContainer().appendChild(container);
		  return container;
		}

		TextualZoomControl.prototype.getDefaultPosition = function() {
		  return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7,7));
		}

		// Sets the proper CSS for the given button element.
		TextualZoomControl.prototype.setButtonStyle_ = function(button) {
		  button.style.width = "24px";
		  button.style.cursor = "pointer";
		}


      	map = new GMap2(document.getElementById("googlemap"));
		map.addControl(new TextualZoomControl());
		map.setCenter(new GLatLng(m_lat, m_lng), zoomlvl);

		// Create our "triangle" marker icon
		baseIcon = new GIcon();
		baseIcon.image = m_AssetsPath+"arrow.png";
		baseIcon.shadow = m_AssetsPath+"shadow.png";
		baseIcon.iconSize = new GSize(22, 17);
		baseIcon.shadowSize = new GSize(22, 17);
		baseIcon.iconAnchor = new GPoint(6, 20);
		baseIcon.infoWindowAnchor = new GPoint(5, 1);

		// Creates a marker and produce the info window
		function createMarker(point, title, add1, add2, add3, phone, fax, key) {
			var icon = new GIcon(baseIcon);
			if(key=='1'){
				icon.image = m_AssetsPath+"arrow-key.png";
			}
		  var marker = new GMarker(point, icon);
		  GEvent.addListener(marker, "click", function() {
		  	var address = escape(add1 + " " + add2 + " " + add3);
		    marker.openInfoWindowHtml("<div class=\"bodyContent\"  id=\"popwin\"><h4>" + title + "<\/h4><p>" + add1 + "<br/>" + add2 + "<br/>" + add3 + "<br/>" + phone  + fax + "<\/p>Get directions: <a href=\"http://maps.google.com/maps?daddr=" + address + "&amp;saddr=\">To here<\/a> - <a href=\"http://maps.google.com/maps?daddr=&amp;saddr=" + address + "\">From here<\/a><\/div>");
		  });
		  return marker;
		}

		// Download the  in data.xml and load it on the map.
		//We need to pick the data file gets created here  m_totalpath holds the url to the file
               GDownloadUrl(m_totalpath,function(datatest,responseCode){
 		     
                 var xml=GXml.parse(datatest);
                 var Lat=xml.getElementsByTagName("Lat");
                 var Lng=xml.getElementsByTagName("Lng");
                 var Title=xml.getElementsByTagName("Title");
		     var Add1=xml.getElementsByTagName("Add1");
		     var Add2=xml.getElementsByTagName("Add2");
		     var Add3=xml.getElementsByTagName("Add3");
		     var Phone=xml.getElementsByTagName("Phone");
		     var Fax=xml.getElementsByTagName("Fax");
		    var Region=xml.getElementsByTagName("Region");
                var Key=xml.getElementsByTagName("Key");
                 var x="";
                 for (j=0;j <Lat.length;j++)
  				   { 
					
				
                      //  if(getFirstWord(Region[j].childNodes[0].nodeValue)==sourceRegion){
					 var lat=Lat[j].childNodes[0].nodeValue;
                		 	 var lng=Lng[j].childNodes[0].nodeValue;
                         		 var point = new GLatLng(parseFloat(lat),parseFloat(lng));
               		 		 var title=Title[j].childNodes[0].nodeValue;
		    			 var add1=Add1[j].childNodes[0].nodeValue;
                         	 	 if(Add2[j].lastChild) {
		  		                var add2=Add2[j].childNodes[0].nodeValue;
						}
                        		 else{
                          		        var add2="";
					     }
			      		 if(Add3[j].lastChild){
		  		   		var add3=Add3[j].childNodes[0].nodeValue;
					     }
				 	 else{
                           			var add3="";
 					     }
				 	 if(Phone[j].lastChild){
		  		           var phone=Phone[j].childNodes[0].nodeValue;
					     }
                         		 else{
                           			var phone="";
					     }
                         		 if(Fax[j].lastChild){
		  		    		var fax=Fax[j].childNodes[0].nodeValue;
					     }
                       			 else{
				    		var fax="";
					     }
 				 	if(Region[j].lastChild){
			          		var region=Region[j].childNodes[0].nodeValue;
					     }
				 	else {
				    		var region="";
					     }
				 	if(Key[j].lastChild){
                             			var key=Key[j].childNodes[0].nodeValue;
						}
                        		 else{
                            			var key="";
					     }                                      
 					
  				map.addOverlay(new createMarker(point, title, add1, add2, add3, phone, fax, key));
		  }
                   });
      }

		//Get Latitude
		var param_lat = gup('lat');
		// Get Longitude
		var param_lon = gup('lgn');
		if(param_lat.length>0 && param_lon.length>0){
			var aAddress = new Array(param_lat, param_lon, decodeURI(gup('title')), decodeURI(gup('add1')), decodeURI(gup('add2')), decodeURI(gup('add3')), decodeURI(gup('phone')), decodeURI(gup('fax')));
			var point = new GLatLng(param_lat, param_lon);
			icon = new GIcon(baseIcon);
			icon.image = m_AssetsPath+"placeholder.gif";
			icon.shadow = m_AssetsPath+"placeholder.gif";
			var marker = new GMarker(point, icon);
			map.addOverlay(marker);
			map.setCenter(point, 8);
		  	var address = escape(aAddress[3] + " " + aAddress[4] + " " + aAddress[5]);
		      marker.openInfoWindowHtml("<div class=\"bodyContent\" id=\"popwin\"><h4>" + aAddress[2] + "<\/h4><p>" + aAddress[3] + "<br/>" + aAddress[4] + aAddress[5] +"<\/p><p>" + aAddress[6]  + aAddress[7] + "<\/p>Get directions: <a href=\"http://maps.google.com/maps?daddr=" + address + "&amp;saddr=\">To here<\/a> - <a href=\"http://maps.google.com/maps?daddr=&amp;saddr=" + address + "\">From here<\/a><\/div>");
			GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowHtml("<div class=\"bodyContent\" id=\"popwin\"><h4>" + aAddress[2] + "<\/h4><p>" + aAddress[3] + "<br/>" + aAddress[4] +aAddress[5] + "<br/>" + aAddress[6]+ aAddress[7] + "<\/p>Get directions: <a href=\"http://maps.google.com/maps?daddr=" + address + "&amp;saddr=\">To here<\/a> - <a href=\"http://maps.google.com/maps?daddr=&amp;saddr=" + address + "\">From here<\/a><\/div>");
			});
		}
    }

	

    


      
