var StaticMap=Class.create();var StaticMapOptions=Object.extend({GoogleStaticMapUrl:"http://maps.google.com/staticmap?sensor=false&",minimumZoomLevel:1,maximumZoomLevel:19,zoomInImage:"../images/zoom_in.png",zoomOutImage:"../images/zoom_out.png",mapDraggableImage:"../images/map_draggable.png",loadingImage:"../images/loading.gif",maximumMarkerCount:15},window.StaticMapOptions||{});StaticMap.LatLng=Class.create({initialize:function(b,a){this.lat=b;this.lng=a},lat:function(){return this.lat},lng:function(){return this.lng},toString:function(){try{return parseFloat(this.lat).toFixed(6)+","+parseFloat(this.lng).toFixed(6)}catch(a){return"90.0000,180.0000"}}});StaticMap.prototype={initialize:function(a){a=a||{};this.maxZoomLevel=19;this.minZoomLevel=0;this.markers=[];this.polygons=[];this.originalMarkers=[];this.markerInfoWindows=[];this.center=a.center;this.url=a.url;this.key=a.key;this.size=a.size;this.zoom=a.zoom;this.mapType=a.mapType;this.imageFormat=a.imageFormat;this.maxMarkerCount=a.maxMarkerCount;this.colors={};this.colors.black="#000000";this.colors.brown="#A02820";this.colors.green="#008000";this.colors.purple="#800080";this.colors.yellow="#FFFF00";this.colors.blue="#6699CC";this.colors.gray="#C0C0C0";this.colors.orange="#FFA000";this.colors.red="#FF0000";this.colors.white="#FFFFFF";if(this.key){this.key="&key="+this.key}else{this.key="&key="+GSPK.GoogleMap.GetKeyForLocation()}if(!this.url){this.url=StaticMapOptions.GoogleStaticMapUrl}if(!this.size){this.size={width:300,height:300}}if(!this.imageFormat){this.imageFormat="gif"}if(!this.maxMarkerCount){this.maxMarkerCount=StaticMapOptions.maximumMarkerCount}},reset:function(){this.markers=[];this.polygons=[]},addMarker:function(c,b){if(this.markers.length>=this.maxMarkerCount){return}var a=c.toString()+",";b=b||null;this.originalMarkers.push({latLng:c,options:b});if(b){if(b.size&&b.size!="normal"){a+=b.size}if(b.color){a+=b.color}if(b.character){if(b.character!="none"){a+=b.character}}}else{a+="normal"}this.markers.push(a)},addMarkers:function(c){for(var a=0,b=c.length;a<b;a++){this.addMarker(c[a],null)}},addPolygon:function(b,a){var c="&path=";if(a){if(a.rgbColor){c+="rgb:0x"+a.rgbColor+","}else{c+="rgb:0x0000ff,"}if(a.weight){c+="weight:"+a.weight+"|"}else{c+="weight:2|"}}else{c+="path=rgb:0xff0000,weight:2|"}if(Object.isArray(b)){this.polygons.push(c+b.invoke("toString").join("|"))}},addCircle:function(f,b,o){var g=[],h=f.lat,k=f.lng;var d=Math.PI/180,a=180/Math.PI;var m=(b/3963)*a,n=m/Math.cos(h*d);var l=0,j=0,c=0;for(var e=0;e<16;e++){c=Math.PI*(e/7);j=h+(m*Math.sin(c));l=k+(n*Math.cos(c));g.push(new StaticMap.LatLng(j.toFixed(6),l.toFixed(6)))}this.addPolygon(g,o)},getImageUrl:function(){var a=this.url;a+="size="+this.size.width+"x"+this.size.height;if(this.imageFormat!="gif"){a+="&format="+this.imageFormat}if(this.center){a+="&center="+this.center.toString()}if(this.zoom){a+="&zoom="+this.zoom}if(this.mapType){a+="&maptype="+this.mapType}a+="&markers="+this.markers.join("|");if(this.polygons&&this.polygons.length>0){a+=this.polygons.join("|")}a+=this.key;return a},setImageSrc:function(a){var b=$(a);if(a){b.setStyle({width:this.size.width,height:this.size.height});b.src=this.getImageUrl()}},createInteractiveMap:function(b,a){var d=$(b);a=a||{};this.clickUrl=a.clickUrl;this.me=a.me;this.objName=a.objName;this.allowDraggableMap=true;if(this.clickUrl){this.event_MapClick={fx:function(f){f.stop();this._getClickUrl()}};this.event_MapClick.bfx=this.event_MapClick.fx.bindAsEventListener(this);Event.observe(d,"click",this.event_MapClick.bfx)}var e=this.getImageUrl();var c=new Element("div").setStyle({padding:"3px 0px 0px 3px",width:"16px",cssFloat:"left"});if(!this.zoom){this.zoom=15}c.insert(new Element("a",{href:"javascript:void(0);",id:"lnkZoomIn",title:"Zoom In"}).insert(new Element("img",{src:StaticMapOptions.zoomInImage,border:0,alt:"Zoom In"}).setStyle({opacity:0.75}).addClassName("ie-fix-opacity")).setStyle({cssFloat:"left"}));c.insert(new Element("a",{href:"javascript:void(0);",id:"lnkZoomOut",title:"Zoom Out"}).insert(new Element("img",{src:StaticMapOptions.zoomOutImage,border:0,alt:"Zoom Out"}).setStyle({opacity:0.75}).addClassName("ie-fix-opacity")).setStyle({cssFloat:"left"}));if(this.objName){d.insert(new Element("a",{href:"javascript:void(0);",id:"lnkSwitchToDraggableMap",title:"Switch to Draggable Map"}).insert(new Element("img",{src:StaticMapOptions.mapDraggableImage,border:0,alt:"Switch to Draggable Map"}).setStyle({opacity:0.75,cssFloat:"right"}).addClassName("ie-fix-opacity")).setStyle({padding:"3px 3px 0px 0px",width:"16px",cssFloat:"right"}))}d.insert(c);$("lnkZoomIn").observe("click",(function(f){f.stop();this._zoomIn(b,this.zoom+1)}).bindAsEventListener(this));$("lnkZoomOut").observe("click",(function(f){f.stop();this._zoomOut(b,this.zoom-1)}).bindAsEventListener(this));if(this.objName){$("lnkSwitchToDraggableMap").observe("click",(function(f){f.stop();this._switchToDraggableMap(b)}).bindAsEventListener(this))}d.setStyle({backgroundRepeat:"no-repeat",backgroundImage:"url("+e+")",border:"1px solid #c0c0c0"})},_zoomOut:function(b,a){if(a<=StaticMapOptions.minimumZoomLevel){a=StaticMapOptions.minimumZoomLevel}this.zoom=a;$(b).setStyle({backgroundRepeat:"no-repeat",backgroundImage:"url("+this.getImageUrl()+")",border:"1px solid #c0c0c0"})},_zoomIn:function(b,a){if(a>=StaticMapOptions.maximumZoomLevel){a=StaticMapOptions.maximumZoomLevel}this.zoom=a;$(b).setStyle({backgroundRepeat:"no-repeat",backgroundImage:"url("+this.getImageUrl()+")",border:"1px solid #c0c0c0"})},_getClickUrl:function(){window.open(this.clickUrl)},_switchToDraggableMap:function(b){var c=$(b);if(this.clickUrl){Event.stopObserving(c,"click",this.event_MapClick.bfx)}c.setStyle({backgroundRepeat:"no-repeat",backgroundImage:"url("+StaticMapOptions.loadingImage+")",backgroundPosition:"center center",border:"1px solid #c0c0c0"});var a=document.createElement("script");a.text="function "+this.objName.replace("[","").replace("]","")+"_showDraggable() { "+this.objName+"._buildDraggableMap('"+b+"'); }";a.type="text/javascript";a.defer=true;document.getElementsByTagName("head")[0].appendChild(a);GSPK.GoogleMap.LoadGoogleJSAPI(this.objName.replace("[","").replace("]","")+"_showDraggable")},_buildDraggableMap:function(el){var mapiconmaker=document.createElement("script");mapiconmaker.src="../js/mapiconmaker.js";mapiconmaker.type="text/javascript";mapiconmaker.defer=true;document.getElementsByTagName("head")[0].appendChild(mapiconmaker);google.load("maps","2",{callback:(function(){var map=new google.maps.Map2($(el));map.setCenter(new google.maps.LatLng(37.4419,-122.1419),13);map.setUIToDefault();var smobj=eval(this.objName);var markerInfo=null,latLng=null,bounds=new google.maps.LatLngBounds();for(var x=0,l=smobj.markers.length;x<l;x++){markerInfo=smobj.originalMarkers[x];latLng=new google.maps.LatLng(markerInfo.latLng.lat,markerInfo.latLng.lng);bounds.extend(latLng);var character="",color;if(markerInfo.options){if(markerInfo.options.character!="none"){character=markerInfo.options.character}color=markerInfo.options.color}var newIcon=MapIconMaker.createLabeledMarkerIcon({addStar:false,label:character,primaryColor:smobj._convertColor(color)});map.addOverlay(new google.maps.Marker(latLng,newIcon))}map.setCenter(bounds.getCenter(),map.getBoundsZoomLevel(bounds))}).bindAsEventListener(this)})},_convertColor:function(a){if(this.colors[a]){return this.colors[a]}else{return this.colors.red}}};