function makeMap(idname,xmlname,awidth,aheight,datafolder,markersfolder,azoom,amaptype){if(GBrowserIsCompatible()){var gmarkers=[];var i=0;var m=document.getElementById(idname);m.style.width=awidth;m.style.height=aheight;var map=new GMap(m);var icons=new Array();icons[""]=new GIcon();icons[""].image="http://www.google.com/mapfiles/marker.png";icons[""].shadow="http://www.google.com/mapfiles/shadow50.png";icons[""].iconSize=new GSize(20,34);icons[""].shadowSize=new GSize(37,34);icons[""].iconAnchor=new GPoint(9,34);icons[""].infoWindowAnchor=new GPoint(9,2);icons[""].infoShadowAnchor=new GPoint(18,25);icons[""].printImage="http://www.google.com/mapfiles/markerie.gif";icons[""].mozPrintImage="http://www.google.com/mapfiles/markerff.gif";icons[""].printShadow="http://www.google.com/mapfiles/dithshadow.gif";icons[""].transparent="http://www.google.com/mapfiles/markerTransparent.png";icons[""].imageMap=[9,0,6,1,4,2,2,4,0,8,0,12,1,14,2,16,5,19,7,23,8,26,9,30,9,34,11,34,11,30,12,26,13,24,14,21,16,18,18,16,20,12,20,8,18,4,16,2,15,1,13,0];function numberedIcon(iconNumber){if(isNaN(parseInt(iconNumber))){iconNumber="";}else if(!isNaN(parseInt(iconNumber))&&((iconNumber<0)||(iconNumber>99))){iconNumber="";}else if((typeof(iconNumber)=="undefined")||(iconNumber==null)){iconNumber="";}if(!icons[iconNumber]){var icon=new GIcon(icons[""]);icon.image=markersfolder+"marker"+iconNumber+".png";icons[iconNumber]=icon;}return icons[iconNumber];}function createMarker(point,name,html,iconStr){var marker=new GMarker(point);if(iconStr){marker=new GMarker(point,numberedIcon(iconStr));}GEvent.addListener(marker,"click",function(){marker.openInfoWindowHtml(html);});gmarkers[i]=marker;i++;return marker;}function myclick(i){GEvent.trigger(gmarkers[i],"click");}var map=new GMap(document.getElementById(idname));map.addControl(new GSmallMapControl());map.addControl(new GMapTypeControl());map.setCenter(new GLatLng(0,0),0);map.addMapType(G_PHYSICAL_MAP);map.removeMapType(G_HYBRID_MAP);amaptype=amaptype.toUpperCase();if(amaptype=="NORMAL"||amaptype=="G_NORMAL_MAP"||amaptype=="N"){map.setMapType(G_NORMAL_MAP);}else if(amaptype=="SATELLITE"||amaptype=="G_SATELLITE_MAP"||amaptype=="S"){map.setMapType(G_SATELLITE_MAP);}else if(amaptype=="HYBRID"||amaptype=="G_HYBRID_MAP"||amaptype=="H"){map.setMapType(G_HYBRID_MAP);}else if(amaptype=="PHYSICAL"||amaptype=="G_PHYSICAL_MAP"||amaptype=="P"||amaptype=="TERRAIN"||amaptype=="T"){map.setMapType(G_PHYSICAL_MAP);}else{map.setMapType(G_NORMAL_MAP);}var bounds=new GLatLngBounds();GDownloadUrl(xmlname,function(doc,responseCode){if(responseCode==200){var xmlDoc=GXml.parse(doc);var markers=xmlDoc.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");html=html.replace(html.match(/href='(?!(http|ftp))/ig),"href='".concat(datafolder));html=html.replace(html.match(/href="(?!(http|ftp))/ig),'href="'.concat(datafolder));html=html.replace(html.match(/src='(?!(http|ftp))/ig),"src='".concat(datafolder));html=html.replace(html.match(/src="(?!(http|ftp))/ig),'src="'.concat(datafolder));var label=markers[i].getAttribute("label");var icon=markers[i].getAttribute("icon");var marker=createMarker(point,label,html,icon);map.addOverlay(marker);bounds.extend(point);}var lines=xmlDoc.documentElement.getElementsByTagName("line");for(var a=0;a<lines.length;a++){var colour=lines[a].getAttribute("colour");var width=parseFloat(lines[a].getAttribute("width"));var points=lines[a].getElementsByTagName("point");var pts=[];for(var i=0;i<points.length;i++){pts[i]=new GLatLng(parseFloat(points[i].getAttribute("lat")),parseFloat(points[i].getAttribute("lng")));bounds.extend(pts[i]);}map.addOverlay(new GPolyline(pts,colour,width));}var lines=xmlDoc.documentElement.getElementsByTagName("points");for(var a=0;a<lines.length;a++){var colour=lines[a].getAttribute("colour");var width=parseFloat(lines[a].getAttribute("width"));var points=lines[a].getElementsByTagName("point");var pts=[];for(var i=0;i<points.length;i++){pts[i]=new GLatLng(parseFloat(points[i].getAttribute("lat")),parseFloat(points[i].getAttribute("lng")));bounds.extend(pts[i]);}map.addOverlay(new GPolyline(pts,colour,width));}if(azoom==-1){map.setZoom(map.getBoundsZoomLevel(bounds));}else{map.setZoom(azoom);}map.setCenter(bounds.getCenter());}else if(responseCode==-1){}else{}});}}