
if(typeof(Curse)=="undefined"){Curse={};}
Curse.GoogleMap={devMode:true,xbase:4,ybase:4,minzoom:0,maxzoom:5,mapid:5201,map:null,container:null,defaultSW:null,defaultNE:null,allowedBounds:null,allMarkers:[],editorMarkers:null,editorVisible:false,currentZoom:1,checkBounds:function(){return;var aberration=0.2;var currentBounds=Curse.GoogleMap.map.getBounds();var cSpan=currentBounds.toSpan();var offsetX=cSpan.lng()/(2+aberration);var offsetY=cSpan.lat()/(2+aberration);var C=Curse.GoogleMap.map.getCenter();var X=C.lng();var Y=C.lat();if((X-offsetX)<-180){Curse.GoogleMap.map.setCenter(new GLatLng(Y,-180));}
return;var checkSW=new GLatLng(C.lat()-offsetY,C.lng()-offsetX);var checkNE=new GLatLng(C.lat()+offsetY,C.lng()+offsetX);if(Curse.GoogleMap.allowedBounds.containsLatLng(checkSW)&&Curse.GoogleMap.allowedBounds.containsLatLng(checkNE)){return;}
var AmaxX=Curse.GoogleMap.allowedBounds.getNorthEast().lng();var AmaxY=Curse.GoogleMap.allowedBounds.getNorthEast().lat();var AminX=Curse.GoogleMap.allowedBounds.getSouthWest().lng();var AminY=Curse.GoogleMap.allowedBounds.getSouthWest().lat();if(X<(AminX+offsetX)){X=AminX+offsetX;}
if(X>(AmaxX-offsetX)){X=AmaxX-offsetX;}
if(Y<(AminY+offsetY)){Y=AminY+offsetY;}
if(Y>(AmaxY-offsetY)){Y=AmaxY-offsetY;}
return;},CustomGetTileUrl:function(a,b){var z=b;var tileRow=((a.x+a.y)%32)+1;if(Curse.GoogleMap.devMode){return"./gmaps/"+z+"/"+a.x+"-"+a.y+".jpg";}
else{return"http://t"+tileRow+".conanarmory.com/"+Curse.GoogleMap.mapid+"/"+z+"_"+a.x+"_"+a.y+".jpeg";}},toggleEditor:function(){if(Curse.GoogleMap.editorVisible){Curse.GoogleMap.divEditor.style.display="none";Curse.GoogleMap.editorVisible=false;}
else{Curse.GoogleMap.divEditor.style.display="block";Curse.GoogleMap.editorVisible=true;}},toggleFilters:function(){if(Curse.GoogleMap.filtersVisible){Curse.GoogleMap.divFilters.style.display="none";Curse.GoogleMap.filtersVisible=false;}
else{Curse.GoogleMap.resizeFilters();Curse.GoogleMap.divFilters.style.display="block";Curse.GoogleMap.filtersVisible=true;}},resizeFilters:function(){Curse.GoogleMap.divFilters.style.height=(Curse.GoogleMap.container.offsetHeight-16)+"px";},initMap:function(){var funcomCopy=cg_getShadowText("Maps Copyright 2009 Jagex");var funcomCopyContainer=cg_ce("div");funcomCopyContainer.className="map-copyright";cg_ae(funcomCopyContainer,funcomCopy);cg_ae(Curse.GoogleMap.container,funcomCopyContainer);var copyright=new google.maps.Copyright(1,new google.maps.LatLngBounds(new google.maps.LatLng(-90,-180),new google.maps.LatLng(90,180)),1,"");var copyrightCollection=new google.maps.CopyrightCollection('Maps');copyrightCollection.addCopyright(copyright);var tilelayers=[new google.maps.TileLayer(copyrightCollection,Curse.GoogleMap.minzoom,5)];tilelayers[0].getTileUrl=Curse.GoogleMap.CustomGetTileUrl;var proj=new google.maps.MercatorProjection(18);proj.tileCheckRange=function(point,zoom,tilesize){if(point.y<0||point.y>=Curse.GoogleMap.ybase*Math.pow(2,zoom-2)){return false;}
if(point.x<0||point.x>=Curse.GoogleMap.xbase*Math.pow(2,zoom-2)){return false;}
return true;};proj.getWrapWidth=function(zoom){return 1000000;};return custommap=new google.maps.MapType(tilelayers,proj,"Hyboria",{errorMessage:""});},maximize:function(){Curse.Tooltip.hide();window.scrollTo(0,0);document.body.style.overflow="hidden";Curse.GoogleMap.isMaximized=true;Curse.GoogleMap.startCenter=Curse.GoogleMap.map.getCenter();Curse.GoogleMap.originalWidth=Curse.GoogleMap.divMapPanel.style.width;Curse.GoogleMap.originalHeight=Curse.GoogleMap.divMapWrapper.style.height;Curse.GoogleMap.originalZoom=Curse.GoogleMap.map.getZoom();Curse.GoogleMap.divMapPanel.style.display="none";Curse.GoogleMap.divOverlay=document.createElement("DIV");Curse.GoogleMap.divOverlay.innerHTML="&nbsp;";Curse.GoogleMap.divOverlay.className="alert-overlay";cg_ae(document.body,Curse.GoogleMap.divOverlay);var x=document.body.appendChild(Curse.GoogleMap.divMapPanel);cg_ae(document.body,Curse.GoogleMap.divEditor);Curse.GoogleMap.editorDrag.disabled=false;Curse.GoogleMap.divEditor.style.zIndex="1001";Curse.GoogleMap.divEditor.style.top="75px";Curse.GoogleMap.divEditor.style.right="60px";Curse.GoogleMap.divEditor.style.cursor="move";x.style.zIndex="1000";x.style.position="absolute";x.style.top="10px";x.style.left="10px";Curse.GoogleMap.divMapWrapper.style.height=(Curse.Client.viewportHeight()-135)+"px";x.style.width=(Curse.Client.viewportWidth()-20)+"px";x.style.display="block";Curse.GoogleMap.map.checkResize();var newZoom=Curse.GoogleMap.originalZoom+2;Curse.GoogleMap.currentZoom=newZoom;if(newZoom>5){newZoom=5;}
Curse.GoogleMap.map.setZoom(newZoom);Curse.GoogleMap.map.setCenter(Curse.GoogleMap.startCenter);Curse.GoogleMap.divMapPanel=x;Curse.GoogleMap.divMaximizer.onclick=Curse.GoogleMap.restore;Curse.GoogleMap.divMaximizer.onmouseover=Curse.Tooltip.showTip.bind(this,"Click here to restore the map.");Curse.GoogleMap.resizeFilters();},restore:function(){Curse.Tooltip.hide();cg_de(Curse.GoogleMap.divOverlay);Curse.GoogleMap.isMaximized=false;Curse.GoogleMap.editorDrag.disabled=true;document.body.style.overflow="auto";Curse.GoogleMap.divEditor.style.top="10px";Curse.GoogleMap.divEditor.style.left="auto";Curse.GoogleMap.divEditor.style.right="";Curse.GoogleMap.divEditor.style.zIndex="1";Curse.GoogleMap.divEditor.style.cursor="default";Curse.GoogleMap.startCenter=Curse.GoogleMap.map.getCenter();Curse.GoogleMap.divMapPanel.style.display="none";Curse.GoogleMap.divMapPanel.style.position="relative";Curse.GoogleMap.divMapPanel.style.width=Curse.GoogleMap.originalWidth;Curse.GoogleMap.divMapWrapper.style.height=Curse.GoogleMap.originalHeight;cg_ae(Curse.GoogleMap.divMapContainer,Curse.GoogleMap.divMapPanel);cg_ae(Curse.GoogleMap.divMapPanel,Curse.GoogleMap.divEditor);Curse.GoogleMap.divMaximizer.onclick=Curse.GoogleMap.maximize;Curse.GoogleMap.divMaximizer.onmouseover=Curse.Tooltip.showTip.bind(this,"Click here to maximize the map.");Curse.GoogleMap.divMapPanel.style.display="block";Curse.GoogleMap.map.checkResize();Curse.GoogleMap.currentZoom=Curse.GoogleMap.originalZoom;Curse.GoogleMap.map.setZoom(Curse.GoogleMap.originalZoom);Curse.GoogleMap.map.setCenter(Curse.GoogleMap.startCenter);Curse.GoogleMap.resizeFilters();},toggleFiltersGroup:function(markerContainer){if(markerContainer.style.display=="block"){markerContainer.style.display="none";this.childNodes[0].innerHTML="+ ";}
else{markerContainer.style.display="block";this.childNodes[0].innerHTML="- ";}},handleZoomEnd:function(){for(var i=0;i<Curse.GoogleMap.allMarkers.length;i++){if(Curse.GoogleMap.allMarkers[i].$o)
{Curse.GoogleMap.allMarkers[i].$o.style.width=Curse.GoogleMap.sizes[Curse.GoogleMap.map.getZoom()]+"px";Curse.GoogleMap.allMarkers[i].$o.style.height=Curse.GoogleMap.sizes[Curse.GoogleMap.map.getZoom()]+"px";if(Curse.GoogleMap.map.getZoom()==5){if(Curse.GoogleMap.allMarkers[i].$o.oldLeft==null){Curse.GoogleMap.allMarkers[i].$o.oldLeft=Curse.GoogleMap.allMarkers[i].$o.style.left;Curse.GoogleMap.allMarkers[i].$o.oldTop=Curse.GoogleMap.allMarkers[i].$o.style.top;}
Curse.GoogleMap.allMarkers[i].$o.style.left=((Curse.GoogleMap.allMarkers[i].$o.oldLeft.replace("px","")*1)-8)+"px";Curse.GoogleMap.allMarkers[i].$o.style.top=((Curse.GoogleMap.allMarkers[i].$o.oldTop.replace("px","")*1)-5)+"px";}
else{if(Curse.GoogleMap.allMarkers[i].$o.oldLeft!=null){Curse.GoogleMap.allMarkers[i].$o.style.left=Curse.GoogleMap.allMarkers[i].$o.oldLeft;Curse.GoogleMap.allMarkers[i].$o.style.top=Curse.GoogleMap.allMarkers[i].$o.oldTop;}
Curse.GoogleMap.allMarkers[i].$o.style.left;Curse.GoogleMap.allMarkers[i].$o.style.right;}}
if(Curse.GoogleMap.allMarkers[i]._hidden){Curse.GoogleMap.allMarkers[i].hide();}}},toggleMarkerType:function(type,subType){var visible=this.checked;for(var i=0;i<Curse.GoogleMap.allMarkers.length;i++){if(Curse.GoogleMap.allMarkers[i]._type==type&&(subType==0||Curse.GoogleMap.allMarkers[i]._subType==subType)){if(visible){Curse.GoogleMap.allMarkers[i]._hidden=false;Curse.GoogleMap.allMarkers[i].show();}
else{Curse.GoogleMap.allMarkers[i]._hidden=true;Curse.GoogleMap.allMarkers[i].hide();}}}
if(subType==0){var chkCol=this.parentNode.nextSibling.getElementsByTagName("input");for(var i=0;i<chkCol.length;i++){chkCol[i].checked=visible;}}},addControls:function(){Curse.GoogleMap.divMapWrapper=this.container.parentNode;Curse.GoogleMap.divMapPanel=this.container.parentNode.parentNode;Curse.GoogleMap.divMapContainer=Curse.GoogleMap.divMapPanel.parentNode;var resizer=cg_getElementsByClassName("map-resizer","DIV",Curse.GoogleMap.divMapPanel,true);Curse.GoogleMap.divResizer=resizer;resizer.onmousedown=Curse.GoogleMap.handleResizerMouseDown.bind(resizer);cg_addEventListener(document,"mouseup",Curse.GoogleMap.handleResizerMouseUp);cg_addEventListener(document,"mousemove",Curse.GoogleMap.handleMapResize);var maximizer=cg_getElementsByClassName("map-maximizer","DIV",Curse.GoogleMap.divMapPanel,true);maximizer.onmouseover=Curse.Tooltip.showTip.bind(maximizer,"Click here to maximize the map.");maximizer.onmouseout=Curse.Tooltip.hide;maximizer.onclick=Curse.GoogleMap.maximize;Curse.GoogleMap.divMaximizer=maximizer;var filters=Curse.GoogleMap.divFilters=cg_ge("mapFilters");var markerOrder=Curse.Lookup.lookup_order["marker_type"].split(",");for(var i=0;i<markerOrder.length;i++){var currentMarkerType=markerOrder[i];var currentMarkerLabel=Curse.Lookup.marker_type[markerOrder[i]];if(typeof currentMarkerLabel!="string"){continue;}
var markerContainer=cg_ce("div");var expanderLabel="+";if(i<4){expanderLabel="-";markerContainer.style.display="block";}
var baseIcon=Curse.Lookup["marker_icon"][currentMarkerType];var markerLinkContainer=cg_ce("b");var markerLink=cg_ce("a");var expander=cg_ce("i");cg_ae(expander,cg_ct(expanderLabel+" "));cg_ae(markerLink,expander);cg_ae(markerLink,cg_ct(currentMarkerLabel));cg_ds(markerLink);var chk=cg_ce("input");chk.type="checkbox";chk.onclick=Curse.GoogleMap.toggleMarkerType.bind(chk,currentMarkerType,0);cg_ae(markerLinkContainer,chk);chk.checked=true;cg_ae(markerLinkContainer,markerLink);cg_ae(filters,markerLinkContainer);var markerSubTypes=Curse.Lookup["marker_subtype_"+currentMarkerType];for(var p in markerSubTypes){if(typeof markerSubTypes[p]!="string"){continue;}
var markerSubTypeContainer=cg_ce("span");var chk=cg_ce("input");chk.type="checkbox";chk.onclick=Curse.GoogleMap.toggleMarkerType.bind(chk,currentMarkerType,p);cg_ae(markerSubTypeContainer,chk);chk.checked=true;var markerIcon=cg_ce("var");cg_ae(markerSubTypeContainer,markerIcon);var subTypeIcon=Curse.Lookup["marker_icon"][currentMarkerType+"."+p];if(subTypeIcon!=null){markerIcon.style.backgroundImage="url(images/gicons/"+subTypeIcon+".gif)";}
else{markerIcon.style.backgroundImage="url(images/"+baseIcon+".gif)";}
cg_ae(markerSubTypeContainer,cg_ct(markerSubTypes[p]));cg_ae(markerContainer,markerSubTypeContainer);}
markerLink.onclick=Curse.GoogleMap.toggleFiltersGroup.bind(markerLink,markerContainer);cg_ae(filters,markerContainer);}
var editor=Curse.GoogleMap.divEditor=cg_ge("mapEditor");Curse.GoogleMap.editorDrag=new Curse.Drag(editor);Curse.GoogleMap.editorDrag.disabled=true;var d=cg_ce("div");cg_ae(d,cg_ct(Localization.type));cg_ae(editor,d);var sel=Curse.GoogleMap.editorMarkerType=cg_getLookupSelectBox("marker_type","",null,true,false);sel.onchange=Curse.GoogleMap.handleMarkerTypeChange.bind(sel);cg_ae(editor,sel);var d2=Curse.GoogleMap.editorMarkerSubTypeContainer=cg_ce("div");cg_ae(editor,d2);var c=Curse.GoogleMap.editorMarkerSubTypeContainer=cg_ce("div");var l=cg_ce("div");cg_ae(l,cg_ct("Sub Type"));cg_ae(c,l);cg_ae(Curse.GoogleMap.divEditor,c);var entityTypeSelect=Curse.GoogleMap.EntityTypeSelect=cg_ce("select");entityTypeSelect.id="entityTypeSelect";entityTypeSelect.onchange=Curse.GoogleMap.updateEntitySearch.bind();var entityIds=[1,2,3,4];var bopt=cg_ce("option");bopt.value="0";cg_ae(entityTypeSelect,bopt);for(var i=0;i<entityIds.length;i++){var opt=cg_ce("option");opt.value=entityIds[i];opt.innerHTML=Curse.Lookup.entity_label[entityIds[i]];cg_ae(entityTypeSelect,opt);}
var ec=cg_ce("div");var el=cg_ce("div");cg_ae(el,cg_ct("Link Type"));cg_ae(ec,el);cg_ae(ec,entityTypeSelect);cg_ae(Curse.GoogleMap.divEditor,ec);var enc=cg_ce("div");var enl=cg_ce("div");cg_ae(enl,cg_ct("Entity Name"));cg_ae(enc,enl);var nameInput=Curse.GoogleMap.EntityNameInput=cg_ce("input");nameInput.id="entityNameInput";var form=cg_ce("form");cg_ae(form,nameInput);cg_ae(enc,form);cg_ae(Curse.GoogleMap.divEditor,enc);var d=Curse.GoogleMap.editorNotesContainer=cg_ce("div");var l=cg_ce("div");cg_ae(l,cg_ct("Notes"));cg_ae(d,l);var input=Curse.GoogleMap.editorNotes=cg_ce("textarea");input.cols=24;input.rows=3;cg_ae(d,input);cg_ae(Curse.GoogleMap.divEditor,d);var btn=cg_ce("button");btn.onclick=Curse.GoogleMap.addMarker.bind();var span=cg_ce("span");cg_ae(span,cg_ct("Add Marker"));cg_ae(btn,span);cg_ae(Curse.GoogleMap.divEditor,btn);var btn=cg_ce("button");btn.onclick=Curse.GoogleMap.saveMarkers.bind();var span=cg_ce("span");cg_ae(span,cg_ct("Submit"));cg_ae(btn,span);cg_ae(Curse.GoogleMap.divEditor,btn);btn.onmouseover=Curse.Tooltip.showTip.bind(btn,"Click here to submit your map markers for moderation.");btn.onmouseout=Curse.Tooltip.hide;sel.onchange();},updateEntitySearch:function(){var eType=cg_ge("entityTypeSelect").value;var eNameInput=cg_ge("entityNameInput");if(eType.value!="0"&&eType.value!=""){eNameInput.onclick=attachAssistant.bind(eNameInput,eNameInput.id,eType);}},saveMarkers:function(){if(Curse.GoogleMap.editorMarkers.length==0){Curse.Alert.show("You must add markers to the map before submitting.");return;}
var markerSubmission=[];for(var i=0;i<Curse.GoogleMap.editorMarkers.length;i++){var currentMarker=Curse.GoogleMap.editorMarkers[i];var pos=currentMarker.getLatLng();markerSubmission.push(currentMarker._type+"^"+currentMarker._subType+"^"+pos.lat()+"^"+pos.lng()+"^"+currentMarker._notes+"^"+currentMarker.entityType+"^"+currentMarker.entityName);}
Curse.Ajax.load("ajaxSaveMarkers.aspx?location_id="+Curse.GoogleMap.mapid+"&markers="+encodeURIComponent(markerSubmission.join("|")),handleSaveMarkers,"text","POST");function handleSaveMarkers(data){Curse.GoogleMap.editorMarkers=[];Curse.Alert.show(data);}},handleMarkerTypeChange:function(sel){var markerType=this.options[this.selectedIndex].value;if(markerType==""){return;}
if(Curse.Lookup["marker_subtype_"+markerType]){Curse.GoogleMap.editorMarkerSubTypeContainer.style.display="block";if(Curse.GoogleMap.editorMarkerSubType)
cg_de(Curse.GoogleMap.editorMarkerSubType);var sel=Curse.GoogleMap.editorMarkerSubType=cg_getLookupSelectBox("marker_subtype_"+markerType,"",null,true,false);sel.onchange=Curse.GoogleMap.handleMarkerSubTypeChange.bind(sel);cg_ae(Curse.GoogleMap.editorMarkerSubTypeContainer,sel);sel.onchange();}
else if(Curse.GoogleMap.editorMarkerSubTypeContainer){Curse.GoogleMap.editorMarkerSubTypeContainer.style.display="none";}},handleMarkerSubTypeChange:function(sel){var markerSubType=this.options[this.selectedIndex].value;var markerType=Curse.GoogleMap.editorMarkerType.options[Curse.GoogleMap.editorMarkerType.selectedIndex].value;if(Curse.Lookup.marker_allow_notes[markerType]!=null||Curse.Lookup.marker_allow_notes[markerType+"."+markerSubType]!=null){Curse.GoogleMap.editorNotesContainer.style.display="block";}
else{Curse.GoogleMap.editorNotesContainer.style.display="none";}},addMarker:function(){var type=Curse.GoogleMap.editorMarkerType.options[Curse.GoogleMap.editorMarkerType.selectedIndex].value;var subType=Curse.GoogleMap.editorMarkerSubType.options[Curse.GoogleMap.editorMarkerSubType.selectedIndex].value;if((Curse.Lookup.marker_allow_notes[type]!=null||Curse.Lookup.marker_allow_notes[type+"."+subType]!=null)&&Curse.GoogleMap.editorNotes.value==""){Curse.Alert.show("You must enter notes for this marker type.");return;}
var center=Curse.GoogleMap.map.getCenter();var icon=Curse.Lookup.marker_icon[type+"."+subType];if(!icon){icon=Curse.Lookup.marker_icon[type];}
Curse.GoogleMap.addPoint(center.x,center.y,icon,true,true,type,subType,Curse.GoogleMap.editorNotes.value,Curse.GoogleMap.EntityTypeSelect.value,Curse.GoogleMap.EntityNameInput.value);Curse.GoogleMap.editorNotes.value="";},handleResizerMouseDown:function(){if(Curse.GoogleMap.isMaximized){return;}
Curse.GoogleMap.startX=Curse.Mouse.x;Curse.GoogleMap.startY=Curse.Mouse.y;Curse.GoogleMap.startWidth=Curse.GoogleMap.divMapPanel.offsetWidth;Curse.GoogleMap.startHeight=parseInt(Curse.GoogleMap.divMapWrapper.style.height.split("px")[0]);Curse.GoogleMap.isResizing=true;Curse.GoogleMap.startCenter=Curse.GoogleMap.map.getCenter();},handleResizerMouseUp:function(){if(Curse.GoogleMap.isResizing){Curse.GoogleMap.isResizing=false;Curse.GoogleMap.map.setCenter(Curse.GoogleMap.startCenter);}},handleMapResize:function(){if(!Curse.GoogleMap.isResizing){return;}
var minHeight=200;if(Curse.GoogleMap.editorVisible){minHeight=350;}
var newWidth=Curse.GoogleMap.startWidth+(Curse.Mouse.x-Curse.GoogleMap.startX);var newHeight=Curse.GoogleMap.startHeight+(Curse.Mouse.y-Curse.GoogleMap.startY);if(newWidth>=300&&newWidth<=900){Curse.GoogleMap.divMapPanel.style.width=newWidth+"px";}
if(newHeight>=minHeight&&newHeight<=600){Curse.GoogleMap.divMapWrapper.style.height=newHeight+"px";}
Curse.GoogleMap.resizeFilters();Curse.GoogleMap.map.checkResize();},loadMarkers:function(){var markers=Curse.GoogleMap.markers;if(!markers){return;}
for(var i=0;i<markers.length;i++){var icon=Curse.Lookup.marker_icon[markers[i].type+"."+markers[i].subtype];if(!icon){icon=Curse.Lookup.marker_icon[markers[i].type];}
Curse.GoogleMap.addPoint(markers[i].lon,markers[i].lat,icon,false,false,markers[i].type,markers[i].subtype,markers[i].notes,markers[i].entityType,markers[i].entityID,markers[i].user,markers[i].id,markers[i].modmode);}},load:function(args){cg_cO(Curse.GoogleMap,args);if(google.maps.BrowserIsCompatible()){if(self.location.href.toLowerCase().indexOf("conanarmory.com")==-1){Curse.GoogleMap.devMode=true;}
Curse.GoogleMap.container=document.getElementById("map");Curse.GoogleMap.addControls();var custommap=Curse.GoogleMap.initMap();Curse.GoogleMap.map=new google.maps.Map2(Curse.GoogleMap.container,{mapTypes:[custommap]});Curse.GoogleMap.map.enableScrollWheelZoom();Curse.GoogleMap.map.enableContinuousZoom();Curse.GoogleMap.map.setCenter(new google.maps.LatLng(0.0,0.0));Curse.GoogleMap.map.setZoom(1);Curse.GoogleMap.markerManager=new google.maps.MarkerManager(Curse.GoogleMap.map,{maxzoom:5,trackMarkers:true});Curse.GoogleMap.loadMarkers();Curse.GoogleMap.map.addControl(new Curse.GoogleMap.MapControl());Curse.GoogleMap.defaultSW=new GLatLng(-180,-90);Curse.GoogleMap.defaultNE=new GLatLng(180,80);Curse.GoogleMap.allowedBounds=new GLatLngBounds(Curse.GoogleMap.defaultSW,Curse.GoogleMap.defaultNE);GEvent.addListener(Curse.GoogleMap.map,"move",function(){Curse.GoogleMap.checkBounds();});Curse.GoogleMap.container.childNodes[1].style.visibility="hidden";for(var i=0;i<Curse.GoogleMap.container.childNodes.length;i++){if(Curse.GoogleMap.container.childNodes[i].tagName=="SPAN"){Curse.GoogleMap.container.childNodes[i].style.visibility="hidden";}}
Curse.GoogleMap.editorMarkers=[];google.maps.Event.addListener(Curse.GoogleMap.markerManager,"changed",Curse.GoogleMap.handleZoomEnd);}},sizes:{0:5,1:8,2:10,3:15,4:20,5:30,6:10,7:10},markerIcons:{1:{image:"images/marker_1.png",shadow:null,iconSize:new google.maps.Size(14,14),shadowSize:new google.maps.Size(14,19),anchor:new google.maps.Point(7,7),dragCrossAnchor:new google.maps.Point(9,6)},2:{image:"images/marker_2.png",shadow:null,iconSize:new google.maps.Size(10,19),shadowSize:new google.maps.Size(10,19),anchor:new google.maps.Point(5,19),dragCrossAnchor:new google.maps.Point(9,10)},3:{image:"images/marker_3.png",shadow:null,iconSize:new google.maps.Size(16,16),shadowSize:new google.maps.Size(16,16),anchor:new google.maps.Point(8,8),dragCrossAnchor:new google.maps.Point(9,10)},4:{image:"images/marker_4.png",shadow:null,iconSize:new google.maps.Size(17,18),shadowSize:new google.maps.Size(17,18),anchor:new google.maps.Point(8,9),dragCrossAnchor:new google.maps.Point(9,9)},5:{image:"images/marker_5.png",shadow:null,iconSize:new google.maps.Size(17,16),shadowSize:new google.maps.Size(17,16),anchor:new google.maps.Point(8,8),dragCrossAnchor:new google.maps.Point(9,9)},6:{image:"images/marker_6.png",shadow:null,iconSize:new google.maps.Size(17,16),shadowSize:new google.maps.Size(17,16),anchor:new google.maps.Point(8,8),dragCrossAnchor:new google.maps.Point(9,9)},7:{image:"images/marker_7.png",shadow:null,iconSize:new google.maps.Size(19,11),shadowSize:new google.maps.Size(19,11),anchor:new google.maps.Point(9,5),dragCrossAnchor:new google.maps.Point(9,9)},8:{image:"images/marker_8.png",shadow:null,iconSize:new google.maps.Size(15,14),shadowSize:new google.maps.Size(15,14),anchor:new google.maps.Point(8,7),dragCrossAnchor:new google.maps.Point(9,9)},9:{image:"images/marker_9.png",shadow:null,iconSize:new google.maps.Size(15,15),shadowSize:new google.maps.Size(15,15),anchor:new google.maps.Point(7,7),dragCrossAnchor:new google.maps.Point(9,9)},10:{image:"images/marker_10.png",shadow:null,iconSize:new google.maps.Size(10,11),shadowSize:new google.maps.Size(10,11),anchor:new google.maps.Point(5,5),dragCrossAnchor:new google.maps.Point(9,9)},11:{image:"images/marker_11.png",shadow:null,iconSize:new google.maps.Size(19,13),shadowSize:new google.maps.Size(19,13),anchor:new google.maps.Point(2,6),dragCrossAnchor:new google.maps.Point(9,9)},12:{image:"images/marker_12.png",shadow:null,iconSize:new google.maps.Size(19,19),shadowSize:new google.maps.Size(19,19),anchor:new google.maps.Point(9,9),dragCrossAnchor:new google.maps.Point(9,9)},13:{image:"images/marker_13.png",shadow:null,iconSize:new google.maps.Size(14,14),shadowSize:new google.maps.Size(14,19),anchor:new google.maps.Point(7,7),dragCrossAnchor:new google.maps.Point(9,6)},14:{image:"images/marker_14.png",shadow:null,iconSize:new google.maps.Size(14,14),shadowSize:new google.maps.Size(14,19),anchor:new google.maps.Point(7,7),dragCrossAnchor:new google.maps.Point(9,6)},15:{image:"images/marker_15.png",shadow:null,iconSize:new google.maps.Size(14,14),shadowSize:new google.maps.Size(14,19),anchor:new google.maps.Point(7,7),dragCrossAnchor:new google.maps.Point(9,6)},16:{image:"images/marker_16.png",shadow:null,iconSize:new google.maps.Size(14,14),shadowSize:new google.maps.Size(14,19),anchor:new google.maps.Point(7,7),dragCrossAnchor:new google.maps.Point(9,6)},17:{image:"images/marker_17.png",shadow:null,iconSize:new google.maps.Size(12,17),shadowSize:new google.maps.Size(12,17),anchor:new google.maps.Point(6,16),dragCrossAnchor:new google.maps.Point(12,12)},18:{image:"images/marker_18.png",shadow:null,iconSize:new google.maps.Size(12,17),shadowSize:new google.maps.Size(12,17),anchor:new google.maps.Point(6,16),dragCrossAnchor:new google.maps.Point(12,12)},19:{image:"images/marker_19.png",shadow:null,iconSize:new google.maps.Size(14,14),shadowSize:new google.maps.Size(14,19),anchor:new google.maps.Point(7,7),dragCrossAnchor:new google.maps.Point(9,6)},20:{image:"images/marker_20.png",shadow:null,iconSize:new google.maps.Size(14,14),shadowSize:new google.maps.Size(14,19),anchor:new google.maps.Point(7,7),dragCrossAnchor:new google.maps.Point(9,6)},21:{image:"images/marker_21.png",shadow:null,iconSize:new google.maps.Size(17,17),shadowSize:new google.maps.Size(17,17),anchor:new google.maps.Point(8,8),dragCrossAnchor:new google.maps.Point(9,6)},22:{image:"images/marker_22.png",shadow:null,iconSize:new google.maps.Size(17,17),shadowSize:new google.maps.Size(17,17),anchor:new google.maps.Point(8,8),dragCrossAnchor:new google.maps.Point(9,6)},23:{image:"images/marker_23.png",shadow:null,iconSize:new google.maps.Size(17,17),shadowSize:new google.maps.Size(17,17),anchor:new google.maps.Point(8,8),dragCrossAnchor:new google.maps.Point(9,6)}},addPoint:function(x,y,icon,draggable,editorMode,type,subType,notes,etype,eid,user,id,modmode){var point=new GLatLng(y,x);var index=0;var pointIcon=new google.maps.Icon();var image="images/gicons/"+icon+".gif";icon=Curse.GoogleMap.markerIcons[1];icon.image=image;pointIcon.shadow=icon.shadow;pointIcon.iconSize=new google.maps.Size(Curse.GoogleMap.sizes[Curse.GoogleMap.map.getZoom()],Curse.GoogleMap.sizes[Curse.GoogleMap.map.getZoom()]);pointIcon.shadowSize=icon.shadowSize;pointIcon.iconAnchor=icon.anchor,pointIcon.image=icon.image;pointIcon.dragCrossSize=new google.maps.Size(Curse.GoogleMap.sizes[Curse.GoogleMap.map.getZoom()]+5,Curse.GoogleMap.sizes[Curse.GoogleMap.map.getZoom()]+5);pointIcon.dragCrossAnchor=icon.dragCrossAnchor;if(modmode){draggable=true;}
var markerOptions={icon:pointIcon,draggable:draggable,dragCrossMove:true};var marker=new google.maps.Marker(point,markerOptions);marker.entityType=etype;marker.entityName=eid;var tooltipText="";if(marker.entityType==2)
{if(cg_npcs[marker.entityName]!=null){tooltipText="<b>"+Curse.Lookup["marker_subtype_"+type][subType]+"</b>"+cg_npcs[marker.entityName].tooltip;}
else{tooltipText="<b>"+Curse.Lookup["marker_subtype_"+type][subType]+"</b>";}}
else{tooltipText="<b>"+Curse.Lookup["marker_subtype_"+type][subType]+"</b>";}
if(notes&&notes!=""){tooltipText+="<div class=\"c5\">"+notes+"</div>";}
if(user&&user!=""){tooltipText+="<div class=\"c1\">Contributed by "+user+"</div>";}
if(draggable||modmode){google.maps.Event.addListener(marker,"mousedown",Curse.GoogleMap.handleMarkerMouseDown.bind(marker));google.maps.Event.addListener(marker,"mousedown",Curse.Tooltip.hide);}
google.maps.Event.addListener(marker,"mouseover",Curse.Tooltip.showTip.bind(marker,tooltipText));google.maps.Event.addListener(marker,"mouseout",Curse.Tooltip.hide);marker._type=type;marker._subType=subType;if(modmode){marker._id=id;marker._modMode=true;Curse.GoogleMap.map.addOverlay(marker);}
else if(editorMode||modmode){Curse.GoogleMap.editorMarkers.push(marker);Curse.GoogleMap.map.addOverlay(marker);marker._notes=notes;}
else{Curse.GoogleMap.markerManager.addMarker(marker,0);}
Curse.GoogleMap.allMarkers.push(marker);},handleMarkerMouseDown:function(e){var ctrlPressed=0;var altPressed=0;var shiftPressed=0;e=cg_getEvent(e);if(navigator.appName=="Netscape"&&parseInt(navigator.appVersion)==4){var mString=(e.modifiers+32).toString(2).substring(3,6);shiftPressed=(mString.charAt(0)=="1");ctrlPressed=(mString.charAt(1)=="1");altPressed=(mString.charAt(2)=="1");}
else{shiftPressed=e.shiftKey;altPressed=e.altKey;ctrlPressed=e.ctrlKey;}
var isDelete=false;if(e.button&&(e.button==2||e.button==3)){isDelete=true;}
else if(shiftPressed||altPressed||ctrlPressed){isDelete=true;}
if(this._modMode){Curse.GoogleMap.modMarker(this,!isDelete);return;}
if(isDelete){for(var i=0;i<Curse.GoogleMap.editorMarkers.length;i++){if(Curse.GoogleMap.editorMarkers[i]==this){Curse.GoogleMap.editorMarkers.splice(i,1);}}
Curse.GoogleMap.map.removeOverlay(this);}},modMarker:function(marker,approved){Curse.Ajax.load("ajaxSaveMarkers.aspx?id="+marker._id+"&approved="+approved,handleModMarker,"text","POST");function handleModMarker(data){if(!approved){Curse.GoogleMap.map.removeOverlay(marker);}
Curse.Alert.show(data);}}}
Curse.GoogleMap.MapControl=function(){}
Curse.GoogleMap.MapControl.prototype=new google.maps.Control();Curse.GoogleMap.MapControl.prototype.initialize=function(map){var container=document.createElement("div");container.className="map-controls";var zoomInDiv=document.createElement("a");zoomInDiv.className="map-controls-zoomin";zoomInDiv.href="javascript:;"
container.appendChild(zoomInDiv);GEvent.addDomListener(zoomInDiv,"click",function(){map.zoomIn();});var zoomOutDiv=document.createElement("a");zoomOutDiv.href="javascript:;"
zoomOutDiv.className="map-controls-zoomout";container.appendChild(zoomOutDiv);GEvent.addDomListener(zoomOutDiv,"click",function(){map.zoomOut();});map.getContainer().appendChild(container);return container;}