﻿/*
 * This file has been compressed with CKPackager
 */

function getPdMarkerRevisionInfo() {var A="<br/>";var s="2.03  10/02/07 - fixed zindex bug (setMarkerZIndex, topMarkerZIndex)"+A+"2.02  05/22/07 - fixed minor issues (blink, initDetailWin)"+A+"2.01  04/29/07 - improved left hand side detail window positioning, uses new Google setImage &amp; show routines for added reliability, fixed zoomToMarkers for single marker case."+A+"2.00  04/22/07 - fix for setImage when using Explorer 7."+A+"1.99f 07/09/06 - zoomToMarkers now takes into account markers not displayed."+A+"1.99e 05/05/06 - fixed zoomed tooltip positioning &amp; non-centered marker graphics."+A+"1.99d 05/01/06 - fixed display &amp; blink when defining .transparent."+A+"1.99c 04/25/06 - added display and blink."+A+"1.99b 04/21/06 - added 'Powered By' version &amp; marker count display."+A+"1.99a 04/18/06 - revised for Google Maps API Version 2, GMap2 required."+A+"0.99c 01/30/06 - added setDetailWinClass and resetDetailWinClass."+A+"0.99a 10/12/05 - now handles maps in containers with undefined widths"+A+"define a div with id 'pdmarkerwork' to reduce flicker"+A+"0.99  10/03/05 - added setImageEnabled, allowLeftTooltips (global)"+A+"0.98  09/30/05 - fixed zoomToMarkers"+A+"0.97  09/24/05 - added setHoverImage, setShowDetailOnClick, setDetailWinHTML, showDetailWin, closeDetailWin"+A+"0.96  09/22/05 - added setTooltipHiding, getTooltipHiding"+A+"0.95  09/20/05 - handle zoom for lingering tooltips mouseOutEnabled(false) disables setImage and restoreImage"+A+"0.94  09/20/05 - added setTooltipClass and resetTooltipClass"+A+"0.93  09/19/05 - added slopPercentage [optional] parameter to zoomToMarkers"+A+"0.92  09/18/05 - added getMouseOutEnabled, setMouseOutEnabled"+A+"0.91  09/17/05 - fixed setOpacity";return s;};function getPdMarkerVersion() {return getPdMarkerRevisionInfo().substring(0,15);};function getPdMarkerShortVersion() {return getPdMarkerRevisionInfo().substring(0,5);};var APIkey="";function getGoogleMapsVersion() {var i,a,b,c;var v="unknown";if (document.getElementsByTagName) for(i=0;(a=document.getElementsByTagName("script")[i]);i++) if(a.getAttribute("src")){b=a.getAttribute("src");c=b.indexOf("/mapfiles/maps");d=b.indexOf("http://maps.google.com/maps?file=api");e=b.indexOf("key=");f=b.indexOf("/mapfiles/");g=b.indexOf("/maps");if (c>0) v=parseFloat(b.substring(c+14));else if (f>0) v="2."+b.substring(f+10,g);if (d>=0) if (e>0) APIkey=b.substring(e+4);};return v;};function latLongToPixel(A,B,C) {return A.fromLatLngToDivPixel(B);};var pdMarkerExtList=[];function PdMarkerAddToExtList(A) {pdMarkerExtList.push(A);};function PdMarkerRemoveFromExtList(A) {for (var i=0;i<pdMarkerExtList.length;i++) if (pdMarkerExtList[i].internalId==A) pdMarkerExtList.splice(i,1);};function PdMarkerFindInExtList(A) {for (var i=0;i<pdMarkerExtList.length;i++) if (pdMarkerExtList[i].internalId==A) return pdMarkerExtList[i];};function PdMarkerClose(A) {for (var i=0;i<pdMarkerExtList.length;i++) if (pdMarkerExtList[i].internalId==A){pdMarkerExtList[i].closeDetailWin();pdMarkerExtList.splice(i,1);}};function PdMarkerBlinkOnOff(A) {var B=PdMarkerFindInExtList(A);if (B){if (!B.blinking) return;B.blinkOn=!B.blinkOn;B.display(B.blinkOn);setTimeout("PdMarkerBlinkOnOff("+B.getId()+");",B.blinkSpeed);}};function isPdMarker(a) {if (a.isMarker) return true;return false;};function getPdMarkerCount(a) {if (a.pdMarkers) return a.pdMarkers.length;return 0;};GMap2.prototype.getMarkerById=function(A) {var B=getPdMarkerCount(this);for (var i=0;i<B;i++) if (isPdMarker(this.pdMarkers[i])) if (this.pdMarkers[i].internalId==A){this.cursor=i;return this.pdMarkers[i];};return null;};GMap2.prototype.getFirstMarker=function() {var A=getPdMarkerCount(this);for (var i=0;i<A;i++) if (isPdMarker(this.pdMarkers[i])){this.cursor=i;return this.pdMarkers[i];};return null;};GMap2.prototype.getNextMarker=function() {var A=getPdMarkerCount(this);if (A>0) if (this.cursor>=0) for (var i=this.cursor+1;i<A;i++) if (isPdMarker(this.pdMarkers[i])){this.cursor=i;return this.pdMarkers[i];};return null;};GMap2.prototype.getNthMarker=function(A) {var B=getPdMarkerCount(this);for (var i=0;i<B;i++) if (isPdMarker(this.pdMarkers[i])){A--;if (A==0){this.cursor=i;return this.pdMarkers[i];}};return null;};GMap2.prototype.getMarkerCount=function() {return getPdMarkerCount(this);};GMap2.prototype.boxMap=function(A,B) {var C=this.spec;var D=C.getLowestZoomLevel(A,B,this.viewSize);this.centerAndZoom(new GPoint(A.x,A.y),D);};GMap2.prototype.zoomToMarkers=function(A,B) {var C=0;var D,x,y,E,F,G,H,I;var J=this.getFirstMarker();while (J!=null){if (!J.isHidden()){D=J.getPoint();x=D.lat();y=D.lng();if (C==0){E=x;F=x;G=y;H=y;}else{if (x<E) E=x;if (x>F) F=x;if (y<G) G=y;if (y>H) H=y;};C++;};J=this.getNextMarker();};if (C==1) this.setCenter(new GLatLng(x,y),this.getZoom());else if (C>1){var K=new GLatLng((E+F)/2,(G+H)/2);I=new GSize(Math.abs(F-E),Math.abs(H-G));slopWid=0;slopHgt=0;if (typeof A!="undefined"){slopWid=I.width*A/200;slopHgt=I.height*A/200;I.width*=1+A/100;I.height*=1+A/100;};deltaHgt=0;if (typeof B!="undefined"){deltaHgt=I.height*B/100;K=new GLatLng(K.lat()+deltaHgt,K.lng());};var L=new GLatLngBounds(new GLatLng(E-slopHgt,G-slopWid),new GLatLng(F+slopHgt,H+slopWid));var M=this.getBoundsZoomLevel(L);this.setCenter(K,M);}};function shorten(x) {var A=1000000;return Math.round(x*A)/A;};function poweredByClick(A) {var B=A.getCenter();var C=A.getBounds().toSpan();var D=A.getZoom();var E="http://maps.google.com/maps?ll="+B.lat()+","+B.lng()+"&spn="+shorten(C.lat())+","+shorten(C.lng())+"&z="+D+"&key="+APIkey;document.location=E;};function poweredByMouseover(A) {var B=A.getFirstMarker();var C=A.getBounds();var D=0;var E=0;while (B!=null) {if (!B.isHidden()){var F=B.getPoint();if (C.contains(F)) D++;E=E+1;};B=A.getNextMarker();};var G=A.poweredByTitle+" ("+D+" markers of "+E+" visible)";A.poweredByObj.setAttribute("title",G);A.poweredByObj.setAttribute("alt",G);};function getPoweredBy(A) {try {var B="GMap "+getGoogleMapsVersion()+" & PdMarker "+getPdMarkerShortVersion();A.poweredByTitle=B;var b=document.createElement("img");b.setAttribute("src","http://www.google.com/intl/en_ALL/mapfiles/transparent.gif");b.setAttribute("width",62);b.setAttribute("alt",B);b.setAttribute("title",B);b.setAttribute("height",30);b.style.display="block";b.style.position="absolute";b.style.left="2px";b.style.bottom="0px";b.style.width="62px";b.style.height="30px";b.style.cursor="pointer";b.style.zIndex=600001;b.onclick=function() { poweredByClick(A);};b.onmouseover=function() { poweredByMouseover(A);};A.getPane(G_MAP_FLOAT_PANE).parentNode.parentNode.appendChild(b);return b;}catch (e) {};return true;};function setPoweredBy(A) {if (!A.poweredByObj) {getGoogleMapsVersion();A.poweredByObj=getPoweredBy(A);}};function PdMarkerNamespace() {var A=navigator.userAgent.toLowerCase();var B=(document.layers);var C=(document.getElementById&&!document.all);var D=(document.all);var E=(A.indexOf("opera")!=-1);var F=(A.indexOf("safari")!=-1);var G=(A.indexOf("msie")!=-1)&&(A.indexOf("opera")==-1);var H=false;if (G) H=A.substr(A.indexOf("msie")+5,2)<7;var I=10;var J=true;var K=new GIcon();K.shadow="http://www.google.com/mapfiles/shadow50.png";K.iconSize=new GSize(20,34);K.shadowSize=new GSize(37,34);K.iconAnchor=new GPoint(9,34);K.infoWindowAnchor=new GPoint(9,2);K.infoShadowAnchor=new GPoint(18,25);K.image="http://www.google.com/mapfiles/marker.png";function PdMarker(a,b,o) {this.inheritFrom=GMarker;if (typeof b=="undefined") b=K;this.inheritFrom(a,b);if (typeof o!="undefined") this.pendingTitle=o;else this.pendingTitle="";if (typeof b!="undefined") this.oldImagePath=b.image;else this.oldImagePath="http://www.google.com/mapfiles/marker.png";this.internalId=I;I+=1;this.zIndexSaved=false;this.pendingCursor="";this.percentOpacity=70;this.mouseOutEnabled=true;this.setImageOn=true;this.hidingEnabled=true;this.showDetailOnClick=true;this.detailOpen=false;this.userData="";this.displayed=true;};PdMarker.prototype=new GMarker(new GLatLng(1,1));function addMarkerToMapList(Y,p) {try {if (Y.pdMarkers.length);}catch(e) {Y.pdMarkers=[];};Y.pdMarkers.push(p);};function removeMarkerFromMapList(Y,q) {var L=q.internalId;for (var i=0;i<Y.pdMarkers.length;i++) if (Y.pdMarkers[i].internalId==L){Y.pdMarkers.splice(i,1);return;}};PdMarker.prototype.initialize=function(a) {if (typeof a=="GMap"){GLog.write("PdMarker requires GMap2");return;};addMarkerToMapList(a,this);try{GMarker.prototype.initialize.call(this,a);this.isMarker=true;if (this.pendingTitle.length>0) this.setTitle(this.pendingTitle);if (this.pendingCursor.length>0) this.setCursor(this.pendingCursor);this.gmap=a;setPoweredBy(a);GEvent.bindDom(this,"mouseover",this,this.onMouseOver);GEvent.bindDom(this,"mouseout",this,this.onMouseOut);GEvent.bindDom(this,"click",this,this.onClick);GEvent.bind(this.gmap,"zoomend",this,this.reZoom);}catch(e) {alert("PdMarker initialize error: "+e);}};PdMarker.prototype.allowLeftTooltips=function(a){J=a;};PdMarker.prototype.reZoom=function(){var M=false;if (this.tooltipObject) if (this.tooltipObject.style.display=="block"){setTTPosition(this);M=true;};if (this.detailObject){if (!M) setTTPosition(this);setDetailPosition(this);}};PdMarker.prototype.setId=function(L) {this.internalId=L;};PdMarker.prototype.getId=function() {return this.internalId;};PdMarker.prototype.setName=function(a) {this.name=a;};PdMarker.prototype.getName=function() {if (this.name) return this.name;else return null;};PdMarker.prototype.setUserData=function(a) {this.userData=a;};PdMarker.prototype.getUserData=function() {if (this.userData) return this.userData;else return "";};PdMarker.prototype.setUserData2=function(a) {this.userData2=a;};PdMarker.prototype.getUserData2=function() {if (this.userData2) return this.userData2;else return "";};PdMarker.prototype.setImageEnabled=function(a) {this.setImageOn=a;};var N="";var O="";function PdCompPdMIN(r) {return;if (N.length==0) for (var i in r) if (eval("typeof marker."+i)=="object") try {if (eval("typeof marker."+i+"[0].src")!="undefined"){O="this."+i;N=O+"[0]";}}catch (e) {}};PdMarker.prototype.setImageOld=function(a) {var P='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+a+'")';if (this.mouseOutEnabled&&this.setImageOn){PdCompPdMIN(this);try {if (this.oldImagePath.length==0) eval("this.oldImagePath = "+N+".src");if (G&&H) eval(N+".style.filter = msFilter");else eval(N+".src = a");}catch (e) {}}};PdMarker.prototype.setImage=function(a) {if (this.mouseOutEnabled&&this.setImageOn) GMarker.prototype.setImage.call(this,a);};PdMarker.prototype.restoreImage=function() {if (this.mouseOutEnabled&&this.setImageOn&&this.oldImagePath.length>0) this.setImage(this.oldImagePath);};PdMarker.prototype.display=function(a) {if (a) this.show();else this.hide();};PdMarker.prototype.blink=function(a,b) {if (a){this.blinkOn=true;this.blinkSpeed=b;if (!this.blinking){this.blinking=a;PdMarkerAddToExtList(this);PdMarkerBlinkOnOff(this.getId());}}else{this.blinking=a;this.display(true);PdMarkerRemoveFromExtList(this);}};PdMarker.prototype.setIcon=function(a) {this.remove();this.icon=a;this.initialize(this.gmap);this.redraw(true);};PdMarker.prototype.setMarkerZIndex=function(a) {PdCompPdMIN(this);if (!this.zIndexSaved){this.zIndexSaved=true;this.oldZIndex=eval(N+".style.zIndex");};eval(N+".style.zIndex = a");this.redraw(true);};PdMarker.prototype.topMarkerZIndex=function() {this.setMarkerZIndex (600000);};PdMarker.prototype.restoreMarkerZIndex=function() {PdCompPdMIN(this);if (this.zIndexSaved){this.zIndexSaved=false;eval(N+".style.zIndex = this.oldZIndex");this.redraw(true);}};PdMarker.prototype.onInfoWindowOpen=function() {this.hideTooltip();GMarker.prototype.onInfoWindowOpen.call(this);};PdMarker.prototype.setHoverImage=function(a) {this.hoverImage=a;};var Q=false;PdMarker.prototype.onMouseOver=function() {if (Q) return;Q=true;if (this.hoverImage) this.setImage(this.hoverImage);if (!this.detailOpen) this.showTooltip();Q=false;};PdMarker.prototype.onMouseOut=function() {if (this.hoverImage) this.restoreImage();if (!this.detailOpen) if (this.mouseOutEnabled) this.hideTooltip();};PdMarker.prototype.setMouseOutEnabled=function(a) {this.mouseOutEnabled=a;};PdMarker.prototype.getMouseOutEnabled=function() {return this.mouseOutEnabled;};PdMarker.prototype.setTooltipHiding=function(a) {this.hidingEnabled=a;};PdMarker.prototype.getTooltipHiding=function() {return this.hidingEnabled;};PdMarker.prototype.setTitle=function(a) {this.tooltipText="";PdCompPdMIN(this);try {eval(N+".title = a");}catch (e) {this.pendingTitle=a;}};PdMarker.prototype.setCursor=function(a) {PdCompPdMIN(this);try {eval(N+".style.cursor = a");}catch (e) {this.pendingCursor=a;}};PdMarker.prototype.setTooltipClass=function(a) {this.pendingClassName=a;if (this.tooltipObject){var R=(this.tooltipObject.style.display!="none");this.deleteObjects();if (this.tooltipRaw) this.setTooltipNoResize(this.tooltipRaw);if (R) this.showTooltip();}else if (this.tooltipRaw) this.setTooltipNoResize(this.tooltipRaw);};PdMarker.prototype.resetTooltipClass=function() {this.setTooltipClass("markerTooltip");};PdMarker.prototype.getTooltip=function() {try {return this.tooltipRaw;}catch (e){return "";}};PdMarker.prototype.setTooltipNoResize=function(a) {this.setTitle("");var S="markerTooltip";if (this.pendingClassName) S=this.pendingClassName;this.tooltipRaw=a;this.tooltipText="<div class='"+S+"'>"+a+"</div>";if (this.tooltipObject) this.tooltipObject.innerHTML=this.tooltipText;};PdMarker.prototype.setTooltip=function(a) {this.setTooltipNoResize(a);this.deleteObjects();};PdMarker.prototype.showTooltip=function() {if (this.tooltipText){if (!this.tooltipObject) initTooltip(this);setTTPosition(this);this.tooltipObject.style.display="block";}};PdMarker.prototype.hideTooltip=function() {if (this.tooltipObject) if (this.hidingEnabled) this.tooltipObject.style.display="none";};PdMarker.prototype.onClick=function(a) {if (this.showDetailOnClick&&this.detailWinHTML) this.showDetailWin();};PdMarker.prototype.setShowDetailOnClick=function(a) {this.showDetailOnClick=a;};PdMarker.prototype.setDetailWinHTML=function(a) {this.detailWinHTML=a;};PdMarker.prototype.setDetailWinClass=function(a) {this.pendingDetailClassName=a;};PdMarker.prototype.resetDetailWinClass=function() {this.setDetailWinClass("markerDetail");};PdMarker.prototype.showDetailWin=function() {if (this.detailOpen){this.closeDetailWin();return;};this.hideTooltip();this.setMouseOutEnabled(false);var T="markerDetail";if (this.pendingWinClassName) T=this.pendingWinClassName;var U="<table><tr><td>"+this.detailWinHTML+"<\/td><td valign='top'><a class='markerDetailClose' href='javascript:PdMarkerClose("+this.internalId+")'><img src='http://www.google.com/mapfiles/close.gif' width='14' height='13'><\/a><\/td><\/tr><\/table>";U="<div class='"+T+"'>"+U+"</div>";this.detailOpen=true;if (!this.tooltipText){this.ttWidth=150;this.ttHeight=30;setTTPosition(this);};initDetailWin(this,this.ttTop,this.ttLeft,U);PdMarkerAddToExtList(this);};PdMarker.prototype.closeDetailWin=function() {this.detailOpen=false;if (this.detailObject){this.setMouseOutEnabled(true);this.onMouseOut();this.gmap.getPane(G_MAP_FLOAT_PANE).removeChild(this.detailObject);this.detailObject=null;}};PdMarker.prototype.deleteObjects=function() {if (this.tooltipObject){this.gmap.getPane(G_MAP_FLOAT_PANE).removeChild(this.tooltipObject);this.tooltipObject=null;};if (this.detailObject){this.gmap.getPane(G_MAP_FLOAT_PANE).removeChild(this.detailObject);this.detailObject=null;}};PdMarker.prototype.remove=function(a) {removeMarkerFromMapList(this.gmap,this);PdMarkerRemoveFromExtList(this.getId());GMarker.prototype.remove.call(this);this.deleteObjects();};PdMarker.prototype.setOpacity=function(b) {if (b<0) b=0;if (b>=100) b=100;var c=b/100;this.percentOpacity=b;var d=document.getElementById(this.objId);if (d){if(typeof(d.style.filter)=='string'){d.style.filter='alpha(opacity:'+b+')';};if(typeof(d.style.KHTMLOpacity)=='string'){d.style.KHTMLOpacity=c;};if(typeof(d.style.MozOpacity)=='string'){d.style.MozOpacity=c;};if(typeof(d.style.opacity)=='string'){d.style.opacity=c;}}};PdMarker.prototype.setOpacityNew=function(b) {setObjOpacity(this.objId);this.percentOpacity=b;};function setObjOpacity(s,b) {if (b<0) b=0;if (b>=100) b=100;var c=b/100;var d=document.getElementById(s);if (d){if(typeof(d.style.filter)=='string'){d.style.filter='alpha(opacity:'+b+')';};if(typeof(d.style.KHTMLOpacity)=='string'){d.style.KHTMLOpacity=c;};if(typeof(d.style.MozOpacity)=='string'){d.style.MozOpacity=c;};if(typeof(d.style.opacity)=='string'){d.style.opacity=c;}}};function idToElemId(L) {return "ttobj"+L;};function initTooltip(t) {t.objId=idToElemId(t.internalId);t.anchorLatLng=t.point;if (!t.gmap) t.gmap=map;var b=document.createElement('span');t.tooltipObject=b;b.setAttribute('id',t.objId);b.innerHTML=t.tooltipText;var c=document.body;var d=document.getElementById("pdmarkerwork");if (d) c=d;c.appendChild(b);b.style.position="absolute";b.style.bottom="5px";b.style.left="5px";b.style.zIndex=1;if (t.percentOpacity) t.setOpacity(t.percentOpacity);var W=document.getElementById(t.objId);t.ttWidth=W.offsetWidth;t.ttHeight=W.offsetHeight;c.removeChild(b);b.style.zIndex=600000;b.style.bottom="";b.style.left="";t.gmap.getPane(G_MAP_FLOAT_PANE).appendChild(b);};function initDetailWin(u,w,x,U) {u.detailId="detail"+u.internalId;var b=document.createElement('span');u.detailObject=b;b.setAttribute('id',u.detailId);b.innerHTML=U;b.style.display="block";b.style.position="absolute";b.style.top=w+"px";if (u.rightSide) b.style.left=x+"px";else b.style.right=-x+"px";b.style.zIndex=600001;u.gmap.getPane(G_MAP_FLOAT_PANE).appendChild(b);};function setTTPosition(y) {var X=5;var Y=y.gmap;var Z=y.getPoint();var f=latLongToPixel(Y,Z,Y.getZoom());var g=y.getIcon();f.y-=Math.floor(g.iconAnchor.y/2);var h=true;var j=Y.getBounds();var k=j.toSpan();var l=k.lng();var m=Y.getSize().width;var n=(y.ttWidth+g.iconSize.width+6)/m*l;if (Z.lng()+n>j.getNorthEast().lng()&&J) h=false;f.y-=Math.floor(y.ttHeight/2);delta=(g.iconSize.width-g.iconAnchor.x)+X;if (h) f.x+=delta;else f.x-=delta;y.rightSide=h;y.ttLeft=f.x;y.ttTop=f.y;if (y.tooltipObject){if (h) {y.tooltipObject.style.left=f.x+"px";y.tooltipObject.style.right=null;}else {y.tooltipObject.style.left=null;y.tooltipObject.style.right=-f.x+"px";};y.tooltipObject.style.top=f.y+"px";}};function makeInterface(a) {var b=a||window;b.PdMarker=PdMarker;};makeInterface();};PdMarkerNamespace();
if (!this.JSON) {JSON=function () {function f(n) {return n<10?'0'+n:n;};Date.prototype.toJSON=function () {return this.getUTCFullYear()+'-'+f(this.getUTCMonth()+1)+'-'+f(this.getUTCDate())+'T'+f(this.getUTCHours())+':'+f(this.getUTCMinutes())+':'+f(this.getUTCSeconds())+'Z';};var m={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\': '\\\\'};function stringify(A,B) {var a,i,k,l,r=/["\\\x00-\x1f\x7f-\x9f]/g,v;switch (typeof A) {case 'string':return r.test(A)?'"'+A.replace(r,function (a) {var c=m[a];if (c) {return c;};c=a.charCodeAt();return '\\u00'+Math.floor(c/16).toString(16)+(c % 16).toString(16);})+'"':'"'+A+'"';case 'number':return isFinite(A)?String(A):'null';case 'boolean':case 'null':return String(A);case 'object':if (!A) {return 'null';};if (typeof A.toJSON==='function') {return stringify(A.toJSON());};a=[];if (typeof A.length==='number'&&!(A.propertyIsEnumerable('length'))) {l=A.length;for (i=0;i<l;i+=1) {a.push(stringify(A[i],B)||'null');};return '['+a.join(',')+']';};if (B) {l=B.length;for (i=0;i<l;i+=1) {k=B[i];if (typeof k==='string') {v=stringify(A[k],B);if (v) {a.push(stringify(k)+':'+v);}}}} else {for (k in A) {if (typeof k==='string') {v=stringify(A[k],B);if (v) {a.push(stringify(k)+':'+v);}}}};return '{'+a.join(',')+'}';}};return {stringify:stringify,parse:function (C,D) {var j;function walk(k,v) {var i,n;if (v&&typeof v==='object') {for (i in v) {if (Object.prototype.hasOwnProperty.apply(v,[i])) {n=walk(i,v[i]);if (n!==undefined) {v[i]=n;}}}};return D(k,v);};if (/^[\],:{}\s]*$/.test(C.replace(/\\./g,'@'). replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']'). replace(/(?:^|:|,)(?:\s*\[)+/g,''))) {j=eval('('+C+')');return typeof D==='function'?walk('',j):j;};throw new SyntaxError('parseJSON');}};}();};
function LabeledMarker(A,B){this.latlng=A;this.fontSize=B.fontSize;this.labelText=B.labelText||"";this.labelClass=B.labelClass||"markerLabel";this.labelOffset=B.labelOffset||new GSize(0,0);this.clickable=B.clickable||true;if (B.draggable) {B.draggable=false;};PdMarker.apply(this,arguments);};LabeledMarker.prototype=new PdMarker(new GLatLng(0,0));LabeledMarker.prototype.initialize=function(A) {PdMarker.prototype.initialize.apply(this,arguments);var B=document.createElement("div");B.className=this.labelClass;B.innerHTML=this.labelText;B.style.position="absolute";if (this.fontSize) {B.style.fontSize=this.fontSize+"pt";if (this.fontSize>7) B.style.fontFamily='arial narrow, arial';else B.style.fontFamily='silkscreen, arial narrow, arial';};A.getPane(G_MAP_MARKER_PANE).appendChild(B);if (this.clickable) {var C=['click','dblclick','mousedown','mouseup','mouseover','mouseout'];for(var i=0;i<C.length;i++) {var D=C[i];GEvent.addDomListener(B,D,newEventPassthru(this,D));};B.style.cursor="pointer";};this.map=A;this.div=B;};function newEventPassthru(A,B) {return function() {GEvent.trigger(A,B);};};LabeledMarker.prototype.redraw=function(A) {PdMarker.prototype.redraw.apply(this,arguments);if (!A) return;var p=map.fromLatLngToDivPixel(this.latlng);var z=1000000000;this.div.style.left=(p.x+this.labelOffset.width)+"px";this.div.style.top=(p.y+this.labelOffset.height)+"px";this.div.style.zIndex=z+1;};LabeledMarker.prototype.remove=function() {GEvent.clearInstanceListeners(this.div);this.div.parentNode.removeChild(this.div);this.div=null;PdMarker.prototype.remove.apply(this,arguments);};
function MarkerManager(A,B) {var C=this;C.map_=A;C.mapZoom_=A.getZoom();C.projection_=A.getCurrentMapType().getProjection();B=B||{};C.tileSize_=MarkerManager.DEFAULT_TILE_SIZE_;var D=MarkerManager.DEFAULT_MAX_ZOOM_;if(B.maxZoom!=undefined) {D=B.maxZoom;};C.maxZoom_=D;C.trackMarkers_=B.trackMarkers;var E;if (typeof B.borderPadding=="number") {E=B.borderPadding;} else {E=MarkerManager.DEFAULT_BORDER_PADDING_;};C.swPadding_=new GSize(-E,E);C.nePadding_=new GSize(E,-E);C.borderPadding_=E;C.gridWidth_=[];C.grid_=[];C.grid_[D]=[];C.numMarkers_=[];C.numMarkers_[D]=0;GEvent.bind(A,"moveend",C,C.onMapMoveEnd_);C.removeOverlay_=function(F) {A.removeOverlay(F);C.shownMarkers_--;};C.addOverlay_=function(G) {A.addOverlay(G);C.shownMarkers_++;};C.resetManager_();C.shownMarkers_=0;C.shownBounds_=C.getMapGridBounds_();};MarkerManager.DEFAULT_TILE_SIZE_=1024;MarkerManager.DEFAULT_MAX_ZOOM_=17;MarkerManager.DEFAULT_BORDER_PADDING_=100;MarkerManager.MERCATOR_ZOOM_LEVEL_ZERO_RANGE=256;MarkerManager.prototype.resetManager_=function() {var A=this;var B=MarkerManager.MERCATOR_ZOOM_LEVEL_ZERO_RANGE;for (var C=0;C<=A.maxZoom_;++C) {A.grid_[C]=[];A.numMarkers_[C]=0;A.gridWidth_[C]=Math.ceil(B/A.tileSize_);B<<=1;}};MarkerManager.prototype.clearMarkers=function() {var A=this;A.processAll_(A.shownBounds_,A.removeOverlay_);A.resetManager_();};MarkerManager.prototype.getTilePoint_=function(A,B,C) {var D=this.projection_.fromLatLngToPixel(A,B);return new GPoint(Math.floor((D.x+C.width)/this.tileSize_),Math.floor((D.y+C.height)/this.tileSize_));};MarkerManager.prototype.addMarkerBatch_=function(A,B,C) {var D=A.getPoint();if (this.trackMarkers_) {GEvent.bind(A,"changed",this,this.onMarkerMoved_);};var E=this.getTilePoint_(D,C,GSize.ZERO);for (var F=C;F>=B;F--) {var G=this.getGridCellCreate_(E.x,E.y,F);G.push(A);E.x=E.x>>1;E.y=E.y>>1;}};MarkerManager.prototype.isGridPointVisible_=function(A) {var B=this;var C=B.shownBounds_.minY<=A.y&&A.y<=B.shownBounds_.maxY;var D=B.shownBounds_.minX;var E=D<=A.x&&A.x<=B.shownBounds_.maxX;if (!E&&D<0) {var F=B.gridWidth_[B.shownBounds_.z];E=D+F<=A.x&&A.x<=F-1;};return C&&E;};MarkerManager.prototype.onMarkerMoved_=function(A,B,C) {var D=this;var E=D.maxZoom_;var F=false;var G=D.getTilePoint_(B,E,GSize.ZERO);var H=D.getTilePoint_(C,E,GSize.ZERO);while (E>=0&&(G.x!=H.x||G.y!=H.y)) {var I=D.getGridCellNoCreate_(G.x,G.y,E);if (I) {if (D.removeFromArray(I,A)) {D.getGridCellCreate_(H.x,H.y,E).push(A);}};if (E==D.mapZoom_) {if (D.isGridPointVisible_(G)) {if (!D.isGridPointVisible_(H)) {D.removeOverlay_(A);F=true;}} else {if (D.isGridPointVisible_(H)) {D.addOverlay_(A);F=true;}}};G.x=G.x>>1;G.y=G.y>>1;H.x=H.x>>1;H.y=H.y>>1;--E;};if (F) {D.notifyListeners_();}};MarkerManager.prototype.removeMarker=function(A) {var B=this;var C=B.maxZoom_;var D=false;var E=A.getPoint();var F=B.getTilePoint_(E,C,GSize.ZERO);while (C>=0) {var G=B.getGridCellNoCreate_(F.x,F.y,C);if (G) {B.removeFromArray(G,A);};if (C==B.mapZoom_) {if (B.isGridPointVisible_(F)) {B.removeOverlay_(A);D=true;}};F.x=F.x>>1;F.y=F.y>>1;--C;};if (D) {B.notifyListeners_();}};MarkerManager.prototype.addMarkers=function(A,B,C) {var D=this.getOptMaxZoom_(C);for (var i=A.length-1;i>=0;i--) {this.addMarkerBatch_(A[i],B,D);};this.numMarkers_[B]+=A.length;};MarkerManager.prototype.getOptMaxZoom_=function(A) {return A!=undefined?A:this.maxZoom_;};MarkerManager.prototype.getMarkerCount=function(A) {var B=0;for (var z=0;z<=A;z++) {B+=this.numMarkers_[z];};return B;};MarkerManager.prototype.addMarker=function(A,B,C) {var D=this;var E=this.getOptMaxZoom_(C);D.addMarkerBatch_(A,B,E);var F=D.getTilePoint_(A.getPoint(),D.mapZoom_,GSize.ZERO);if(D.isGridPointVisible_(F)&&B<=D.shownBounds_.z&&D.shownBounds_.z<=E) {D.addOverlay_(A);D.notifyListeners_();};this.numMarkers_[B]++;};GBounds.prototype.containsPoint=function(A) {var B=this;return (B.minX<=A.x&&B.maxX>=A.x&&B.minY<=A.y&&B.maxY>=A.y);};MarkerManager.prototype.getGridCellCreate_=function(x,y,z) {var A=this.grid_[z];if (x<0) {x+=this.gridWidth_[z];};var B=A[x];if (!B) {B=A[x]=[];return B[y]=[];};var C=B[y];if (!C) {return B[y]=[];};return C;};MarkerManager.prototype.getGridCellNoCreate_=function(x,y,z) {var A=this.grid_[z];if (x<0) {x+=this.gridWidth_[z];};var B=A[x];return B?B[y]:undefined;};MarkerManager.prototype.getGridBounds_=function(A,B,C,D) {B=Math.min(B,this.maxZoom_);var E=A.getSouthWest();var F=A.getNorthEast();var G=this.getTilePoint_(E,B,C);var H=this.getTilePoint_(F,B,D);var I=this.gridWidth_[B];if (F.lng()<E.lng()||H.x<G.x) {G.x-=I;};if (H.x-G.x+1>=I) {G.x=0;H.x=I-1;};var J=new GBounds([G,H]);J.z=B;return J;};MarkerManager.prototype.getMapGridBounds_=function() {var A=this;return A.getGridBounds_(A.map_.getBounds(),A.mapZoom_,A.swPadding_,A.nePadding_);};MarkerManager.prototype.onMapMoveEnd_=function() {var A=this;A.objectSetTimeout_(this,this.updateMarkers_,0);};MarkerManager.prototype.objectSetTimeout_=function(A,B,C) {return window.setTimeout(function() {B.call(A);},C);};MarkerManager.prototype.refresh=function() {var A=this;if (A.shownMarkers_>0) {A.processAll_(A.shownBounds_,A.removeOverlay_);};A.processAll_(A.shownBounds_,A.addOverlay_);A.notifyListeners_();};MarkerManager.prototype.updateMarkers_=function() {var A=this;A.mapZoom_=this.map_.getZoom();var B=A.getMapGridBounds_();if (B.equals(A.shownBounds_)&&B.z==A.shownBounds_.z) {return;};if (B.z!=A.shownBounds_.z) {A.processAll_(A.shownBounds_,A.removeOverlay_);A.processAll_(B,A.addOverlay_);} else {A.rectangleDiff_(A.shownBounds_,B,A.removeCellMarkers_);A.rectangleDiff_(B,A.shownBounds_,A.addCellMarkers_);};A.shownBounds_=B;A.notifyListeners_();};MarkerManager.prototype.notifyListeners_=function() {GEvent.trigger(this,"changed",this.shownBounds_,this.shownMarkers_);};MarkerManager.prototype.processAll_=function(A,B) {for (var x=A.minX;x<=A.maxX;x++) {for (var y=A.minY;y<=A.maxY;y++) {this.processCellMarkers_(x,y,A.z,B);}}};MarkerManager.prototype.processCellMarkers_=function(x,y,z,A) {var B=this.getGridCellNoCreate_(x,y,z);if (B) {for (var i=B.length-1;i>=0;i--) {A(B[i]);}}};MarkerManager.prototype.removeCellMarkers_=function(x,y,z) {this.processCellMarkers_(x,y,z,this.removeOverlay_);};MarkerManager.prototype.addCellMarkers_=function(x,y,z) {this.processCellMarkers_(x,y,z,this.addOverlay_);};MarkerManager.prototype.rectangleDiff_=function(A,B,C) {var D=this;D.rectangleDiffCoords(A,B,function(x,y) {C.apply(D,[x,y,A.z]);});};MarkerManager.prototype.rectangleDiffCoords=function(A,B,C) {var D=A.minX;var E=A.minY;var F=A.maxX;var G=A.maxY;var H=B.minX;var I=B.minY;var J=B.maxX;var K=B.maxY;for (var x=D;x<=F;x++) {for (var y=E;y<=G&&y<I;y++) {C(x,y);};for (var y=Math.max(K+1,E);y<=G;y++) {C(x,y);}};for (var y=Math.max(E,I);y<=Math.min(G,K);y++) {for (var x=Math.min(F+1,H)-1;x>=D;x--) {C(x,y);};for (var x=Math.max(D,J+1);x<=F;x++) {C(x,y);}}};MarkerManager.prototype.removeFromArray=function(A,B,C) {var D=0;for (var i=0;i<A.length;++i) {if (A[i]===B||(C&&A[i]==B)) {A.splice(i--,1);D++;}};return D;};
var allgcrs;var favorites;var homes;function showHomes(A) {if (A&&map) {if (!homes) homes=new GGeoXml('http://geostats.geocaching-pt.net/where.kml');map.addOverlay(homes);} else if (homes&&map) map.removeOverlay(homes);createCookie('showHomes',A?1:0,365);};function initFavorites() {favorites={};var A=readCookie('favorites');if (!A) return;var B=A.split(/\|/);for (var l=0;l<B.length;l++) {if (B[l]) {var r=B[l].split(/\=/);if (r[0]) {favorites[r[0]]=r[1];}}};showFavorites();};function getHideForGcrBox(A,B) {if (!A) return '';return "<img title='Colocar na lista de founds a esconder' align='middle' src='img/hide.gif' onclick='appendOtherFounds(\""+B+"\")'>&nbsp;";};function showFavorites() {var A="";var B="";var C="";var D='';var E=0;for (key in favorites) if (favorites[key]) {var F=favorites[key].replace(/'/,'&#39;');A=A+"<div id='g'>";if (!configStr['geocacher']||configStr['geocacher']!=key) {A=A+"<img title='Remover "+F+" dos Favoritos' align='middle' src='i"+_iconDir+"/trash.gif' height='20px' onclick='delfav(\""+key+"\")'><span title='Tornar "+F+" o geocacher activo' onclick='createCookie(\"geocacher\",\""+key+"\",365);showFavorites()'";} else {A=A+"<img src='img/check.gif' height='20px' align='middle'><span title='"+F+" &eacute; o geocacher activo' ";};A=A+"style='display:inline-block;vertical-align: middle;'>"+favorites[key]+"</span></div>";B=B+"<p onclick='appendOtherFounds(\""+key+"\");'>"+favorites[key]+"</p>\n";D=D+key+"="+favorites[key]+"|";};if (document.getElementById("favgcrshd")) document.getElementById("favgcrshd").innerHTML=B;if (document.getElementById("favgcrsset")) document.getElementById("favgcrsset").innerHTML=A;createCookie('favorites',D,365);};function loadAllGCRList (A){if (A) {GDownloadUrl('../where.html',function(G,H) {document.getElementById("allgcrs").innerHTML=G;});return;};GDownloadUrl('gcrlist.php',function(I,J) {var B=I.split(/\r\n|\r|\n/);var C='';allgcrs={};for (var l=0;l<B.length;l++) {var D=B[l].split(/\|/);allgcrs[D[1]]=D[0];var E=D[0];if (E&&E.length>20) {E=E.substring(0,18)+"&hellip;"};var F=D[0].replace(/'/,'&#39;');C=C+"<div id='g' title='Adicionar "+F+" aos Favoritos' onclick='addfav(\""+D[1]+"\")'>"+E+"</div>";};document.getElementById("allgcrs").innerHTML=C;});};function addfav(A) {favorites[A]=allgcrs[A];showFavorites();};function addfav2(A,B) {favorites[A]=B;showFavorites();};function delfav(A) {otherFounds[A]='';favorites[A]='';showFavorites();showOtherFounds();};function initOtherFounds() {otherFounds={};var A=readCookie('otherFounds');if (!A) return;var B=A.split(/\|/);for (var l=0;l<B.length;l++) {var r=B[l].split(/\=/);if (r[1]) {otherFounds[r[0]]=parseInt(r[1]);}};showOtherFounds();};function showOtherFounds() {var A='';var B='';for (key in otherFounds) {if (otherFounds[key]&&favorites[key]) {A=A+"<div id='g' title='Clique para retirar desta lista' onclick='delother(\""+key+"\");'>"+favorites[key]+"</div>";B=B+"|"+key+"="+otherFounds[key];}};if (document.getElementById("hidegcrs")) {document.getElementById("hidegcrs").innerHTML=A;createCookie('otherFounds',B,365);}};function delother(A) {otherFounds[A]='';showOtherFounds();};function appendOtherFounds (A) {otherFounds[A]=1;showOtherFounds();};
function orderOfCreation(A,b) {if (A.importance) return 100000-A.importance;return 100000;};function getHides() {var A='gchides.php';GDownloadUrl(A,function(E,F) {var B=E.split(/\r\n|\r|\n/);hideList=new Object;for (var i=0;i<B.length;i++) {var C=B[i].split(/\t/);var D=C[1];hideList[D]=1;};if (document.getElementById("globalinfo")) document.getElementById("globalinfo").innerHTML+=B.length+" hides<br>";getCaches();});};function getFounds() {var A='gcfounds.php';GDownloadUrl(A,function(E,F) {var B=E.split(/\r\n|\r|\n/);foundList=new Object;for (var i=0;i<B.length;i++) {var C=B[i].split(/\t/);var D=C[1];foundList[D]=1;};if (document.getElementById("globalinfo")) document.getElementById("globalinfo").innerHTML+=B.length+" founds<br>";getHides();});};var allicons={};allicons.length=0;var imgicons={};var iconignored=new GIcon();iconignored.image="i/shadow.gif";iconignored.iconSize=new GSize(16,16);iconignored.icoAnchor=new GPoint(8,8);function createMarker(A,B) {type='';mod='';imgExt='.png';iw=16;ih=16;if (config['showLargeIcons']==1) {type="L";iconWidth=26;iw=26;ih=22;};var C=1;C=5;desc=cacheList[B].name;if (cacheList[B].state=='A'&&config['markDisabled'])      { mod='a';}else if (cacheList[B].state=='D'&&config['markDisabled']) { mod='d';}else if (foundList[B]&&config['markFound'])              { mod='f';}else if (cacheList[B].age<config['agenew']&&config['markNew'])  { mod='n';};var D="i"+_iconDir+"/"+type+cacheList[B].type+cacheList[B].size;if (type=='L') D+=mod;else if (cacheList[B].state=='A') D+='a';else if (cacheList[B].state=='D') D+='d';D+=imgExt;if (!allicons[D]) {var E=new GIcon();E.image=D;E.iconSize=new GSize(iw,ih);E.iconAnchor=new GPoint(iw/2, ih/2);if (type!='L'&&mod) E.shadow="i2/"+mod+".png";imgicons[E.image]=new Image();imgicons[E.image].src=E.image;allicons[E.image]=E;allicons.length++;};var F=B;if (B) F=B.substr(2);var G={"icon":allicons[D],"draggable":false,"clickable":true,"labelText":F,"fontSize":config['lblFontSz'],"fontFamily":configStr['lblFontFm']+_baseFonts,"labelOffset":new GSize(-11,C)};var H;if (config['showLabels']) {H=new LabeledMarker(A,G);} else H=new PdMarker(A,G);H.map=map;H.gccode=B;var I=A.lat();var J=A.lng();size=cacheList[B].size;if (size=='M') size='u';terr=cacheList[B].terr;diff=cacheList[B].diff;H.setTooltip(B+':T'+terr+'D'+diff+size+':'+desc+"<div class='smhelp'><b>1 clique</b> para ver detalhe da cache.</div>");H.allowLeftTooltips(false);H.setOpacity(100);GEvent.addListener(H,"mouseover",function(L) {if (_keyAlt) {var H=this;H.display(false);H.ignoreSession=_ignoreSession;ignoreList[H.gccode]=H;}});return H;};function showShortInfo(A,B) {var C=cacheList[B].lat;var D=cacheList[B].lon;var E=new GLatLng(C,D);if (cacheList[B].infoHtml) map.openInfoWindowHtml(E,cacheList[B].infoHtml);else {GDownloadUrl('detail.php?wp='+B,function(G,H) {var F=urlArgs['BASE_LOC']+"?lat="+C+"&lon="+D+"&zoom="+czoom;G="<div id='cachepopup'>"+G+"<br><div align='right'><a href='"+F+"'><img src='i"+_iconDir+"/link.gif' style='float:left;border:none'></a><a href='javascript:map.panTo(new GLatLng("+C+","+D+"))'>Centrar mapa aqui!</a></div></div>";cacheList[B].infoHtml=G;map.openInfoWindowHtml(E,G);});}};function canShowCache(A) {var B=0;if (config['skpVot'+cacheList[A].vote]) return false;if (config['skpSiz'+cacheList[A].size]) return false;if (config['skpTyp'+cacheList[A].type]) return false;if (config['skpTrr'+cacheList[A].terr]) return false;if (config['skpDif'+cacheList[A].diff]) return false;if (config['wthRec']&&cacheList[A].recCount<1) return false;if (foundList[A]==undefined&&config['showOnlyFounds']!=undefined&&config['showOnlyFounds']==1) return false;if (B&&foundList[A]!=undefined&&config['showFounds']!=undefined&&config['showFounds']==0) return false;if (hideList[A]!=undefined&&config['showOwned']!=undefined&&config['showOwned']==0) return false;if (cacheList[A].state=='D'&&config['showDisabled']!=undefined&&config['showDisabled']==0) return false;if (cacheList[A].state=='A'&&config['showArch']!=undefined&&config['showArch']==0) return false;if (ignoreList[A]) return false;return true;};function getCaches() {var A=0;for (var B in areaList) {var C=areaList[B];if (C&&C.minlat<=swlat&&nelat<=C.maxlat&&C.minlon<=nelon&&swlon<=C.maxlon) {if (document.getElementById("globalinfo")) document.getElementById("globalinfo").innerHTML="Done "+E+" records for prefeteched data<br>"+document.getElementById("globalinfo").innerHTML;return;};A++;};rCount=0;var C=new Object;C.maxlat=nelat;C.maxlon=nelon;C.minlat=swlat;C.minlon=swlon;areaList[A]=C;var E=0;for (var B in areaList) {if (B!=A) {var C=areaList[B];if (C&&C.minlat>=swlat&&C.maxlat<=nelat&&C.maxlon<=nelon&&C.minlon>=swlon) {areaList[B]=null;E++;}}};var H='gcquery.php?bbox=';var I=H+nelat+','+nelon+','+swlat+','+swlon;if (nelat>maxlat) {maxlat=nelat;};if (swlat<minlat) {minlat=swlat;};if (nelon>maxlon) {maxlon=nelon;};if (swlon<minlon) {minlon=swlon;};getCacheData(I,0);};var rCount=0;var alltypes=new Object;var allsizes=new Object;function getCacheData(A,b) {rCount++;GDownloadUrl(A+'&b='+b,function(L,M) {var B=0;var C=L.split(/\r\n|\r|\n/);for (var i=0;i<C.length;i++) {var D=C[i].split(/\t/);var E=D[1];if (E=='START') {var B=D[2];if (B!='Finished') {getCacheData(A,b+1);}} else {if (typeof(cacheList[E])=='undefined') {var G=new Object;var H=parseFloat(D[2]);var I=parseFloat(D[3]);G.lat=H;G.lon=I;G.type=D[4];G.size=D[5];G.state=D[6];G.terr=D[7];G.diff=D[8];G.age=parseInt(D[9]);G.name=D[10];G.vote=D[11]?parseInt(D[11]):0;G.votecnt=D[12]?parseInt(D[12]):0;G.recCount=D[13]?parseInt(D[13]):0;cacheList[E]=G;if (!alltypes[G.type]) {alltypes[G.type]=G.type;};if (!allsizes[G.size]) {allsizes[G.size]=G.size;};if (canShowCache(E)) {B++;var J=new GLatLng(cacheList[E].lat,cacheList[E].lon);var K=new createMarker(J,E);clusterManager.AddMarker(K,"<a href='http://www.geocaching.com/seek/cache_details.aspx?wp="+E+"' target='_blank'>"+E+"-"+G.name+"</a>");}}}};if (document.getElementById("globalinfo")) document.getElementById("globalinfo").innerHTML="Done "+B+" records ("+minlat+","+maxlat+","+minlon+","+maxlon+") for "+A+"<br>"+document.getElementById("globalinfo").innerHTML;document.getElementById("progress").className='hide';});};
function setFontSize(A) {if (A<5||A>20) return;createCookie('lblFontSz',A);if (document.getElementById('exgclabel')&&document.getElementById('exgclabel').style) {document.getElementById('exgclabel').innerHTML='EXEMPLO: 1A2TZ @ '+config['lblFontSz']+"pt using "+configStr['lblFontFm']+_baseFonts;document.getElementById('exgclabel').style.fontSize=A+"pt";}};function setFontFamily(A) {if (A.length<2) {document.getElementById('lblFontFm').value=configStr['lblFontFm'];return;};createCookie('lblFontFm',A);if (document.getElementById('exgclabel')&&document.getElementById('exgclabel').style) {document.getElementById('exgclabel').innerHTML='EXEMPLO: 1A2TZ @ '+config['lblFontSz']+"pt using "+configStr['lblFontFm']+_baseFonts;document.getElementById('exgclabel').style.fontFamily=A+_baseFonts;}};var _baseFonts=',arial narrow, arial';var urlArgs='';var gcFeatureFilter=new Object;var flickrapikey;var shortcuts;var _polyCreate=false;var panoCount=50;var config=new Object;var configStr=new Object;config['showPano']=0;config['panoBlock']=0;config['showPica']=0;config['picaBlock']=0;config['showFlickr']=0;config['flickrBlock']=1;config['wthRec']=0;config['showPrato']=0;config['showArch']=0;config['showFounds']=1;config['showSearch']=0;config['showOnlyFounds']=0;config['showOwned']=0;config['showDisabled']=0;config['showLargeIcons']=0;config['showLabels']=0;config['showHomes']=0;config['searchMax']=150;config['lblFontSz']=6;config['maxMapMarkers']=1000;config['lat']=39;config['lon']=-9.2;config['zoom']=10;config['agenew']=30;configStr['lblFontFm']='silkscreen';configStr['geocacher']='';configStr['mapType']='Map';
function createCfgCookie(A,B) {if (A==undefined) return;if (A) {config[A]=B;};if (A=='wthRec') alert(A+'='+B);var C='';for (var i in config) {C+='&'+i+'='+config[i];};createCookie('fullconfig',C,365);};function readConfigCookie() {var A=readCookie('fullconfig');if (!A) return;var B=A.split(/\&/);for (var i=0;i<B.length;i++) {var C=B[i].split(/\=/);if (C.length>1) {var D=C[0];var E=C[1];if (E=='NaN') E=0;else E=parseFloat(E);config[D]=E;if (document.getElementById(D)) {document.getElementById(D).checked=(E==0?0:1);document.getElementById(D).value=config[D];}}}};function createCookie(A,B,C) {var D="";if (C) {var E=new Date();E.setTime(E.getTime()+(C*24*60*60*1000));var D="; expires="+E.toGMTString();};if (typeof(B)=='number') {config[A]=B;} else {configStr[A]=B;};document.cookie=A+"="+B+D+"; path=/";setGCRHeader();if (A!='fullconfig') createCfgCookie();};function readCookie(A) {var B=A+"=";var C=document.cookie.split(';');for(var i=0;i<C.length;i++) {var c=C[i];while (c.charAt(0)==' ') c=c.substring(1,c.length);if (c.indexOf(B)==0) return c.substring(B.length,c.length);};return null;};function limpaCookies() {var A=document.cookie.split(';');var B='';for(var i=0;i<A.length;i++) {var c=A[i];while (c.charAt(0)==' ') c=c.substring(1,c.length);var C=c.split('=');B+="<div id='g'>"+C[0]+' = '+C[1]+'</div>';};if (document.getElementById("results")) document.getElementById("results").innerHTML='<small>'+B+'</small>';var D=confirm("Tem a certeza que quer limpar todos os cookies relacionados com as Stats?");if (D) {D=confirm("Pense melhor. Quer reconsiderar? Clique OK se quer desistir de limpar todos os cookies relacionados com as Stats. Cancel se quiser continuar.");if (!D) {for(var i=0;i<A.length;i++) {var c=A[i];while (c.charAt(0)==' ') c=c.substring(1,c.length);var C=c.split('=');eraseCookie(C[0]);};if (document.getElementById("results")) document.getElementById("results").innerHTML='';}}};function eraseCookie(A) {createCookie(A,"",-1);};function initCookies () {var A=new Object;for (var i in config)    { A[i]=1;};for (var i in configStr) { A[i]=1;};readConfigCookie();for (var i in config) {tmp=readCookie(i);if (tmp) {if (tmp=='NaN') tmp='0';config[i]=parseFloat(tmp);if (config[i]!=undefined&&document.getElementById(i)) document.getElementById(i).checked=(config[i]==0?0:1);if (config[i]!=undefined&&document.getElementById(i)) document.getElementById(i).value=config[i];};if (A[i]) createCookie(i,config[i],365);};for (var i in configStr) {tmp=readCookie(i);if (tmp=='NaN') tmp='0';if (tmp&&typeof(tmp)!='undefined') configStr[i]=tmp;if (configStr[i]&&document.getElementById(i)) document.getElementById(i).value=configStr[i];if (A[i]) createCookie(i,configStr[i],365);}};function initCookiesFromUrlArgs () {for (var i in config) {if (urlArgs[i]) {config[i]=parseFloat(urlArgs[i]);if (config[i]!=undefined&&document.getElementById(i)) document.getElementById(i).checked=(config[i]==0?0:1);if (config[i]!=undefined&&document.getElementById(i)) document.getElementById(i).value=config[i];createCookie(i,urlArgs[i],365);}};for (var i in configStr) {if (urlArgs[i]) {configStr[i]=urlArgs[i];if (configStr[i]&&document.getElementById(i)) document.getElementById(i).value=configStr[i];createCookie(i,urlArgs[i],365);}}};
function sgn(A) {if (A&&A.match(/S|W|\-/))  return-1;return 1;};function cnvCoord(A) {var B;var C;var c=A.match(/(\D*)(\d+)\D+(\d+[\.,]\d+)\D?[,|\s]+(\D*)(\d+)\D+(\d+[\.,]\d+)\D?/);if (c) {var D=parseFloat(c[2]);var E=parseFloat(c[3]);if (!isNaN(D)&&!isNaN(E)) B=(D+(E/60))*sgn(c[1]);var D=parseFloat(c[5]);var E=parseFloat(c[6]);if (!isNaN(D)&&!isNaN(E)) C=(D+(E/60))*sgn(c[4]);};if (!c) {c=A.match(/(\D*)(\d+)\D+(\d+)\D+(\d+[\.,]\d+)\D?[,|\s]+(\D*)(\d+)\D+(\d+)\D+(\d+[\.,]\d+)\D?/);if (!c) {c=A.match(/(\D*)(\d+)\D+(\d+)\D+(\d+)\D?[,|\s]+(\D*)(\d+)\D+(\d+)\D+(\d+)\D?/);};if (c) {var D=parseFloat(c[2]);var E=parseFloat(c[3]);var J=parseFloat(c[4]);if (!isNaN(D)&&!isNaN(E)&&!isNaN(J)) B=(D+(E/60)+(sec/3600))*sgn(c[1]);var D=parseFloat(c[6]);var E=parseFloat(c[7]);var J=parseFloat(c[8]);if (!isNaN(D)&&!isNaN(E)&&!isNaN(J)) C=(D+(E/60)+(sec/3600))*sgn(c[5]);}};if (!c) {c=A.match(/(\D*)(\d+[\.,]\d+)[,|\s]+(\D*)(\d+[\.,]\d+)/);if (!c) return null;var D=parseFloat(c[2]);if (!isNaN(D)) B=D*sgn(c[1]);var D=parseFloat(c[4]);if (!isNaN(D)) C=D*sgn(c[3]);};if (B&&C) return new GLatLng(B,C);return null;};function formatCoord(A,B,C) {var D=parseInt(A.toString());var E=Math.abs((A-D)*60).toString();var F=E.indexOf(".",0);E=E.substring(0,F+4);var G=A>0?B:C;return G+Math.abs(D)+' '+E;};
var map;var clatlon;var clat=39;var clon=-9.2;var czoom=10;var nelat;var nelon;var swlat;var swlon;var nelatL;var nelonL;var swlatL;var swlonL;var maxlat;var minlat;var maxlon;var minlon;var clusterManager;var _iconDir='';var visibleCaches=0;var centerMarker;var txtNothingFound='Nada encontrado...';var otherFounds;var _lasttrack;var _polytrack;var _searchMarkers=[];var _searchResult=new Object;var _polyPoints=[];var _polymarker;var _polyType='';var _polyShape;var _polygonMode=false;var _keyAlt=false;var mgr2;var mgr3;var mgr4;var mgr5;var OSM_MAP;var geoXml=new Object;var areaList=new Object;var cacheList=new Object;var foundList=new Object;var hideList=new Object;var ignoreList=new Object;var _ignoreSession=0;var visibleCodes='';var hiddenCodes='';var timeouts=[];function clearIgnoreList(A) {ignorecleared=0;while (ignorecleared==0&&A>=0) {for (gccode in ignoreList) {var B=ignoreList[gccode];if (B&&B.ignoreSession==A) {B.display(true);B.ignoreSession=-1;ignorecleared++;ignoreList[gccode]=undefined;}};A--;};if (ignorecleared==0) ignoreList={};};function toPost() {var A=document.createElement("form");A.action="../gpxwpt_post.php";A.method='POST';A.target='_blank';var B=document.createElement("input");B.name='vcaches';B.type='hidden';B.value=visibleCodes;A.appendChild(B);B=document.createElement("input");B.name='hcaches';B.type='hidden';B.value=hiddenCodes;A.appendChild(B);document.getElementsByTagName('body')[0].appendChild(A);A.submit();};function setupOSM (A) {CustomGetTileUrl=function(a,b){return 'http://a.tile.openstreetmap.org/'+b+'/'+a.x+'/'+a.y+'.png';};var B=new GCopyright(1,new GLatLngBounds(new GLatLng(53.8136257,-3.0981445),new GLatLng(53.8654855,-2.9663944)),17,'');var C=new GCopyrightCollection('');C.addCopyright(B);var D=[new GTileLayer(C,1,17)];D[0].getTileUrl=CustomGetTileUrl;var E=new GMapType(D,G_SATELLITE_MAP.getProjection(),'O.S.M.');A.addMapType(E);return E;};function getTheArgs(A) {var B={};point=A.indexOf("?");point=point<0?A.length:point;var C=A.substring(point+1,A.length);B['BASE_LOC']=A.substring(0,point);point=A.lastIndexOf("/");point=point<0?A.length:point;B['BASE_DIR']=A.substring(0,point);var D=C.split(/&/);for (var i=0;i<D.length;i++) {var E=D[i].split(/=/);B[E[0]]=E[1];};imgBase=B['BASE_LOC']+"/i"+_iconDir+"/";return(B);};function clearResults() {document.getElementById('results').innerHTML='';_searchResult=new Object;_searchResult.length=0;if (map) {for (var l=0;l<_searchMarkers.length;l++) {map.removeOverlay(_searchMarkers[l]);_searchMarkers[l]=null;};_searchMarkers=[];};clusterManager.DisplayLater();};function getLimits() {var A=map.getCenter();var B=map.getBounds();var C=B.getNorthEast();var D=B.getSouthWest();clatlon=A.toUrlValue(5);clat=A.lat();clon=A.lng();nelatL=C.lat();nelonL=C.lng();swlatL=D.lat();swlonL=D.lng();czoom=map.getZoom();var E=10;nelat=Math.ceil(nelatL*E+1)/E;nelon=Math.ceil(nelonL*E+1)/E;swlat=Math.floor(swlatL*E-1)/E;swlon=Math.floor(swlonL*E-1)/E;createCookie('zoom',czoom,365);createCookie('lat',clat,365);createCookie('lon',clon,365);createCookie('nelat',nelatL,365);createCookie('nelon',nelonL,365);createCookie('swlat',swlatL,365);createCookie('swlon',swlonL,365);configStr['mapType']=map.getCurrentMapType().getName();createCookie('mapType',configStr['mapType'],365);};function setMapType (A) {if (A=="Satellite") map.setMapType(G_SATELLITE_MAP);else if (A=="Hybrid") map.setMapType(G_HYBRID_MAP);else if (A=="Terrain") map.setMapType(G_PHYSICAL_MAP);else if (A=="OSM") map.setMapType(OSM_MAP);else map.setMapType(G_NORMAL_MAP);};function setGCRHeader() {if (configStr['geocacher']&&favorites&&favorites[configStr['geocacher']]) {if (document.getElementById("gcrid")) {var A="./?lat="+clat+"&lon="+clon+"&zoom="+czoom;var B='';if (_polyCreate) B=" (com <a href='"+A+"&gokml="+_polytrack+"'>kml</a>)";else if (_lasttrack) B=" (com <a href='"+A+"&gokml="+_lasttrack.toCharRef()+"'>kml</a>)";document.getElementById("gcrid").innerHTML="Ol&aacute; "+favorites[configStr['geocacher']];if (map) document.getElementById("gcrid").innerHTML+=". Est&atilde;o "+visibleCaches+" caches no mapa <a href='"+A+"'>centrado</a> em "+formatCoord(clat,'N','S')+' '+formatCoord(clon,'E','W')+" com zoom "+czoom+""+B;document.getElementById("gcrid").innerHTML+=".";}}};function load (A) {var d=new Date();var B=d.getTime();visibleCaches=0;if (A) flickrapikey=A;urlArgs=getTheArgs(window.location.toString());initCookies();initCookiesFromUrlArgs();initFavorites();initOtherFounds();initShortcuts();config['hideall']=1;document.getElementById('exgclabel').style.fontFamily=configStr['lblFontFm']+_baseFonts;document.getElementById('exgclabel').style.fontSize=config['lblFontSz']+'pt';document.getElementById('exgclabel').innerHTML='EXEMPLO: 1A2TZ @ '+config['lblFontSz']+"pt using "+configStr['lblFontFm']+_baseFonts;clat=config['lat'];clon=config['lon'];czoom=config['zoom'];map=new GMap2(document.getElementById("map"));map.setCenter(new GLatLng(clat,clon),czoom);setMapType(configStr['mapType']);showHomes(config['showHomes']);var C=new GIcon();C.image="img/target2.png";C.iconSize=new GSize(50,50);C.iconAnchor=new GPoint(25,25);centerMarker=new GMarker(new GLatLng(clat,clon),{'draggable':false,'icon':C,'title':'1 clique para abrir pesquisa no geocaching.com'});GEvent.addListener(centerMarker,"click",function() {timeouts.push(setTimeout(function() {var D="http://www.geocaching.com/seek/nearest.aspx?lat="+clat+"&lon="+clon;window.open(D,'Pesquisa','')},250))});map.addOverlay(centerMarker,C);mgr2=new MarkerManager(map);mgr3=new MarkerManager(map);mgr4=new MarkerManager(map);mgr5=new MarkerManager(map);if (config['showCross']) centerMarker.show();else centerMarker.hide();map.enablePinchToZoom();map.enableScrollWheelZoom();map.enableContinuousZoom();map.enableGoogleBar();new GKeyboardHandler(map);var E=new GTileLayer(new GCopyrightCollection(""),0,15);E.getTileUrl=function(K,L) {return "./img/tile_crosshairs.png";};E.isPng=function() {return true;};var F=[G_PHYSICAL_MAP.getTileLayers()[0],E];var G=new GMapType(F,G_PHYSICAL_MAP.getProjection(),"Ter+");map.addMapType(G_PHYSICAL_MAP);map.addMapType(G);var H=new GHierarchicalMapTypeControl();H.clearRelationships();H.addRelationship(G_SATELLITE_MAP,G_HYBRID_MAP,"Labels",false);H.addRelationship(G_PHYSICAL_MAP,G,"Crosshairs");map.addControl(new GLargeMapControl(),new GControlPosition(G_ANCHOR_TOP_RIGHT));map.addControl(H,new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(40,0)));map.addControl(new GOverviewMapControl());map.addControl(new GScaleControl(),new GControlPosition(G_ANCHOR_BOTTOM_RIGHT,new GSize(125,20)));OSM_MAP=setupOSM(map);clusterManager=new Clusterer(map);clusterManager.SetMinMarkersPerCluster(20);clusterManager.SetMaxVisibleMarkers(config['maxMapMarkers']);var I=new GIcon();I=new GIcon();I.image='i/cloud.png';I.shadow='i/cloud.png';I.iconSize=new GSize(116,88);I.shadowSize=new GSize(116,88);I.iconAnchor=new GPoint(58,44);I.infoWindowAnchor=new GPoint(58,44);I.infoShadowAnchor=new GPoint(58,44);getLimits();maxlat=nelat;minlat=nelat;maxlon=nelon;minlon=nelon;getFounds();getPano(config['panoBlock']);getPica(config['picaBlock']);getPrato();getFlickr(config['flickrBlock']);var d=new Date();var J=d.getTime();J=J-B;if (document.getElementById("globalinfo")) document.getElementById("globalinfo").innerHTML="Done in "+J+"ms<br>";GEvent.addListener(map,"moveend",function() {map.checkResize();for (var i=0;i<timeouts.length;i++)  { clearTimeout(timeouts[i]);};timeouts.push(setTimeout(function() {getLimits();getCaches();getPano(config['panoBlock']);getFlickr(config['flickrBlock']);getPica(config['picaBlock']);getPrato();if (homes) {homes.hide();homes.show();};if (typeof(centerMarker)!='undefined') centerMarker.setLatLng(new GLatLng(clat,clon));},1000))});GEvent.addListener(map,"singlerightclick",mapSingleRightClick);GEvent.addListener(map,"maptypechanged",getLimits);GEvent.addListener(map,"dblclick",function(M,N) {for (var i=0;i<timeouts.length;i++)  { clearTimeout(timeouts[i]);}});GEvent.addListener(map,"click",mapSingleClick);setGCRHeader();if (urlArgs['go']) {goCoord(urlArgs['go'],urlArgs['godesc']);};if (urlArgs['gokml']) {if (document.getElementById('centername')) document.getElementById('centername').value=urlArgs['gokml'].entToUnicode();goTrack(urlArgs['gokml'].entToUnicode());}};document.onkeydown=keyCheckDown;function keyCheckDown(e) {var A=(window.event)?event.keyCode:e.keyCode;var B='';switch(A) {case 16:B="Shift";break;case 17:B="Ctrl";break;case 18:B="Alt";if (!_keyAlt) {_ignoreSession++;};_keyAlt=true;break;case 19:B="Pause";break;case 37:B="Arrow Left";break;case 38:B="Arrow Up";break;case 39:B="Arrow Right";break;case 40:B="Arrow Down";break;}};document.onkeyup=keyCheckUp;function keyCheckUp(e) {var A=(window.event)?event.keyCode:e.keyCode;var B='';switch(A) {case 8:if (_keyAlt) {clearIgnoreList(_ignoreSession);_keyAlt=false;};break;case 16:B="Shift";break;case 17:B="Ctrl";break;case 18:B="Alt";_keyAlt=false;break;case 19:B="Pause";break;case 37:B="Arrow Left";break;case 38:B="Arrow Up";break;case 39:B="Arrow Right";break;case 40:B="Arrow Down";break;}};function clearPoly() {_polyCreate=false;_polyPoints=[];document.getElementById("results").innerHTML='';};function doPolyAction(A) {if (A=='nop') _polyCreate=false;else if (A=='limpar') clearPoly();else {if (!_polyCreate) mini();_polyCreate=true;if (A=='gpx'||A=='kml'||A=='lista') _polyType=A;};drawPoly();};function drawPoly() {if (typeof(_polymarker)!='undefined') {for (var i=0;i<(_polymarker.length);i++) {if (_polymarker[i]) map.removeOverlay(_polymarker[i]);_polymarker[i]=null;};map.removeOverlay(_polyShape);};_polymarker=[];if (_polygonMode) {_polyShape=new GPolygon(_polyPoints,_lineColor,_lineWeight,_opacity,_fillColor,_opacity);} else {_polyShape=new GPolyline(_polyPoints,_lineColor,_lineWeight,_opacity);};var A=0;var B=undefined;var C=new GIcon();C.iconAnchor=new GPoint(6,6);_polytrack='';for (var i=0;i<(_polyPoints.length);i++) {if (_polyPoints[i]) {polydist=0;if (B) polydist=_polyPoints[i].distanceFrom(B);A+=polydist;B=_polyPoints[i];var D=Math.round(polydist)+'m';if (polydist>9999) D=(Math.round(polydist/100)/10)+'Km';if (A>9999) D+=' ('+(Math.round(A/100)/10)+'Km)';else D+=' ('+Math.round(A)+'m)';if (i>0) C.image="nrs/lightblue"+i+".gif";else C.image="http://labs.google.com/ridefinder/images/mm_20_red.png";_polymarker[i]=new GMarker(_polyPoints[i],{title:D,"icon":C,draggable:true,bouncy:true});_polymarker[i].idx=i;GEvent.addListener(_polymarker[i],"click",function(G,H) {_polyPoints.pop();drawPoly();});GEvent.addListener(_polymarker[i],"dragend",function(I) {_polyPoints[this.idx]=I;drawPoly();});map.addOverlay(_polymarker[i]);var E=Math.round(_polyPoints[i].lat()*1000000)/1000000;var F=Math.round(_polyPoints[i].lng()*1000000)/1000000;_polytrack+=E+","+F+":";}};map.addOverlay(_polyShape);if (_polyType=='gpx') logCoordinatesGPX();else if (_polyType=='kml') logCoordinatesKML();else logCoordinates();setGCRHeader();};String.prototype.toCharRef=function() {return this.replace(/&/g,'%26').replace(/=/g,'%3D');};String.prototype.entToUnicode=function() {return this.replace(/%([A-Z0-9][A-Z0-9])/gi,function(A,B,C,D,E,s) {binVal=parseInt(B,16);return String.fromCharCode(binVal);});};String.prototype.charRefToUnicode=function() {return this.replace(/&#(([0-9]{1,7})|(x[0-9a-f]{1,6}));?/gi,function(A,B,C,D,E,s) {return String.fromCharCode(C||("0"+D));});};function mapDoubleClick(A,B) {OpenInfoWindow(B,A.labelText);};function mapSingleClick(A,B) {if (A&&A.gccode) showShortInfo(B,A.gccode);else {if (_polyCreate) {_polyPoints.push(B);drawPoly();} else map.panTo(B);}};function mapSingleRightClick(A,B,C) {var D=map.fromContainerPixelToLatLng(A);if (C) {map.showMapBlowup(D,{'zoomLevel':14,'maxWidth':370 });} else {if (_polyCreate) {_polyPoints.pop();drawPoly();return;};var E=Math.round(D.lat()*1000000)/1000000;var F=Math.round(D.lng()*1000000)/1000000;var G=17-czoom;if (G<0) G=0;var H="<a target='Wikiloc' href='http://www.wikiloc.com/wikiloc/map.do#lt="+E+"&ln="+F+"&z="+G+"&k=1&tab=0'><img border=0 height='30px' src='http://www.wikiloc.com/wikiloc/images/wikiloc.png' title='Pesquisar trilhos em http://www.wikiloc.com a partir deste local'></a>";var I="<a target='GPSies' href='http://www.gpsies.de/home.do#"+czoom+"_"+E+"_"+F+"_p'><img src='http://www.gpsies.de/images/linkus.png' border=0 height='46px' title='Pesquisar trilhos em GPSies a partir deste local'></a>";var I="<a target='GPSies' href='http://www.gpsies.de/homeOnly.do?isFullScreenLeave=true&country=PT#"+czoom+"_"+E+"_"+F+"_p'><img src='http://www.gpsies.de/images/linkus.png' border=0 height='46px' title='Pesquisar trilhos em GPSies a partir deste local'></a>";var I="<a target='GPSies' href='http://www.gpsies.de/homeOnly.do?isFullScreenLeave=true#"+czoom+"_"+E+"_"+F+"_p'><img src='http://www.gpsies.de/images/linkus.png' border=0 height='46px' title='Pesquisar trilhos em GPSies a partir deste local'></a>";var L="";OpenInfoWindow(A,"<div style='text-align:center;height:120px;width:280px'><a href='./?lat="+D.lat()+"&lon="+D.lng()+"&zoom="+czoom+"'><i>link</i> aqui</a><br>"+formatCoord(clat,'N','S')+' '+formatCoord(clon,'E','W')+"<br>"+E+","+F+L+"<br><br><div id='weather' style='float:left;width:100px'>A carregar...</div><div style='float:right'>"+H+'<br>'+I+'</div></div>');var M='http://geostats.geocaching-pt.net/weather/w.php?count=1&s=1&pos='+E+','+F;new Ajax.Updater('weather',M,{ method:'get' });}};function OpenInfoWindow(A,B) {if (map) map.openInfoWindowHtml(map.fromContainerPixelToLatLng(A),B);};function goCoord(A,B) {var C;if (!A.match(/\|/)) C=cnvCoord(A);if (C) {map.setCenter(C);var D=new GIcon();var E=A;if (typeof(B)!='undefined') {B=unescape(B);E=B+"("+A+")";document.getElementById('centername').value=B;};D.image="http://labs.google.com/ridefinder/images/mm_20_red.png";D.iconAnchor=new GPoint(6,6);var F={"icon":D,"draggable":false,"title":E,"clickable":true,"labelText":E,zIndexProcess:orderOfCreation};var G=new GMarker(C,F);G.importance=1;map.addOverlay(G,D);} else {A=A.replace(/\s+/g,' ');txtcoord=A;if (A.length>2) {A=A.replace(/&/g,'*am*');A=A.replace(/=/g,'*eq*');A=A.replace(/\+/g,'*pl*');A=A.replace(/#/g,'*cd*');var H="search.php?max="+config['searchMax']+"&showArch="+config['showArch']+'&showDisabled='+config['showDisabled']+'&q='+A;if (document["logo1"]) document["logo1"].src='i'+_iconDir+'/GCinP.gif';if (document["logo2"]) document["logo2"].src='i'+_iconDir+'/GCinP.gif';if (B&&B!='') { if (document.getElementById('centername')) document.getElementById('centername').value=B;} else if (document.getElementById('centername')) document.getElementById('centername').value=txtcoord;GDownloadUrl(H,function(N,O) {var I=N.split(/\r\n|\r|\n/);var J='';var K=0;var L;_searchResult=new Object;_searchResult.length=0;if (map) {L=new GIcon();L.image="img/searchres.png";L.iconSize=new GSize(30,30);L.iconAnchor=new GPoint(15,15);for (var l=0;l<_searchMarkers.length;l++) {map.removeOverlay(_searchMarkers[l]);_searchMarkers[l]=null;};_searchMarkers=[];};for (var l=0;l<I.length;l++) {if (I[l]) {var r=I[l].split(/\t/);if (r[0]) {K++;if (r[1]=='') J=J+r[0];else {J=J+"<img src='i2/"+r[3]+".png' style='float:left'>";if (map) J=J+"<a title='Clique para centrar o mapa aqui' href='javascript:gcpanTo(new GLatLng("+r[1]+","+r[2]+"),\""+r[4]+"\")'>"+r[0]+"</a>\n";else J=J+"<a target='_blank' href='http://www.geocaching.com/seek/cache_details.aspx?wp="+r[4]+"'>"+r[0]+"</a>\n";if (document["logo1"]) document["logo1"].src='i'+_iconDir+'/GCinP.png';if (document["logo2"]) document["logo2"].src='i'+_iconDir+'/GCinP.png';_searchResult[r[4]]=1;_searchResult.length++;if (map) {var M=new GMarker(new GLatLng(parseFloat(r[1]),parseFloat(r[2])),{'draggable':false,'clickable':false,'icon':L,'title':r[0].replace(/<\/?[^>]+(>|$)/g,"")});_searchMarkers.push(M);map.addOverlay(M);}}}}};if (K==0) J=txtNothingFound;if (document.getElementById("results")) {document.getElementById("results").innerHTML=J;maxi();};clusterManager.DisplayLater();});} else {alert ("Para fazer uma pesquisa, a coordenada tem de ser correcta ou tem de escrever mais de 2 caracteres.");}}};function gcpanTo(A,B) {if (cacheList[B]) {showShortInfo(A,B);mini();} else map.panTo(A);};function pointsToPolyTrack(A) {var B=A.split(/\:/);for (var l=0;l<B.length;l++) {if (B[l]) {var C=B[l].split(/,/);if (C[0]&&C[1]) {var D=parseFloat(C[0]);var E=parseFloat(C[1]);if (D&&E) {_polyPoints.push(new GLatLng(D,E));}}}};drawPoly();};function goTrack(A) {var B=new Date;var C=B.getTime();if (A.match(/^\-?\d+\.\d+,\-?\d+\.\d+\:.*/)) {pointsToPolyTrack(A);return;};trkUrl=A;if (/^http:\/\/www.wikiloc.com\/wikiloc\/geoServer.do/.test(trkUrl)) trkUrl="http://geostats.geocaching-pt.net/Map4/getjson.php?kml_url="+trkUrl;urlKml="kml/list.html?x="+C;trkLink='';if (map&&trkUrl.length>4) {geoXml['extrakml']=new GGeoXml(trkUrl);map.addOverlay(geoXml['extrakml']);_lasttrack=A;trkLink="<a href='?gokml="+A.toCharRef()+"'>&uacute;ltimo kml</a><br>";};GDownloadUrl(urlKml,function(D,E) {document.getElementById("results").innerHTML="<a href='javascript:map.removeOverlay(geoXml[\"extrakml\"])'><i>Remover todos os kmls</i></a><br>\n"+trkLink+D;});setGCRHeader();};function initShortcuts() {shortcuts={};var A=readCookie('shortcuts');if (!A) {shortcuts['Lisboa']='38.71825,-9.14040';shortcuts['Porto']='41.150999,-8.617058';shortcuts['Setubal']='38.524264,-8.894119';shortcuts['Faro']='37.016535,-7.934532';shortcuts['Leiria']='39.744154,-8.806572';shortcuts['Braga']='41.552013,-8.423767';shortcuts['Santarem']='39.238369,-8.687782';shortcuts['Acores']='38.719805,-28.201904';shortcuts['Coimbra']='40.210999,-8.427544';shortcuts['Beja']='38.013341,-7.864151';shortcuts['Evora']='38.569643,-7.908783';shortcuts['Viana do Castelo']='41.689835,-8.831635';shortcuts['Guarda']='40.536764,-7.271576';shortcuts['Castelo Branco']='39.823831,-7.491302';shortcuts['Aveiro']='40.633236,-8.620148';shortcuts['Vila Real']='41.305666,-7.732315';shortcuts['Braganca']='41.799471,-6.762085';shortcuts['Viseu']='40.659806,-7.917709';shortcuts['Portalegre']='39.293391,-7.436371';shortcuts['Madeira']='32.736462,-16.956024';showShortcuts();return;};var B=A.split(/\|/);for (var l=0;l<B.length;l++) {if (B[l]) {var r=B[l].split(/\=/);if (r[0]) {shortcuts[r[0]]=r[1];}}};showShortcuts(0);};function showShortcuts(A) {var B="";var C='';for (key in shortcuts) if (shortcuts[key]) {B=B+"<div id='g'><img src='i"+_iconDir+"/trash.gif' height='20px' onclick='resetShortcut(\""+key+"\")'> <a href='javascript:goCoord(\""+shortcuts[key]+"\")'>"+key+"</a></div>";C=C+key+"="+shortcuts[key]+"|";};if (A&&document.getElementById("results")) document.getElementById("results").innerHTML=B;createCookie('shortcuts',C,365);};function setShortcut() {var A=document.getElementById("centername").value;if (!A) {alert ('Falta o nome do ponto!');} else {A=A.replace("="," ");A=A.replace(";",",");shortcuts[A]=map.getCenter().toUrlValue();showShortcuts(1);}};function resetShortcut(A) {shortcuts[A]='';showShortcuts(1);};
function createFlickrMarker(A,B,C,D,E,F,G,H,w,h,I,J) {var K={"icon":B,"draggable":false,"clickable":true,zIndexProcess:orderOfCreation};var L=new PdMarker(new GLatLng(A.latitude,A.longitude),K);L.data=A;L.importance=I;L.setOpacity(100);GEvent.addListener(L,"dblclick",function() {for (var i=0;i<timeouts.length;i++)  { clearTimeout(timeouts[i]);};getFlickr(config['flickrBlock']+1);});return L;};function jsonFlickrApi(A) {var B=A.photos.photo;var C=new GIcon();C.image="i/flickr.png";C.iconSize=new GSize(18,18);C.shadow="http://www.panoramio.com/img/panoramio-shadow.png";C.shadowSize=new GSize(22,22);C.iconAnchor=new GPoint(9,9);C.infoWindowAnchor=new GPoint(9,0);var D=4000;for (var i=0;i<A.photos.total;i++) {var w=180;var h=10;D++;if (typeof (B[i])!='undefined') {if (B[i].title.length>33) {B[i].title=B[i].title.substring(0,33)+"&#8230;";};mgr4.addMarker(createFlickrMarker(B[i],C,B[i].server,B[i].farm,B[i].id,B[i].secret,B[i].title,B[i].ownername,w,h,D,config['flickrBlock']),1);}};GEvent.addListener(map,"click",function(E,F) {if (!E||!E.data) return;timeouts.push(setTimeout(function() {var d=E.data;if (d.title.length>33) {d.title=d.title.substring(0,33)+"&#8230;";};if (d.tags.length>100) {d.tags=d.tags.substring(0,100)+"&#8230;";};thtml='<hr>';if (typeof(d.html)!='undefined') thtml=d.html;var h=240;var w=(h/d.o_height)*d.o_width;if (w>h) {w=240;h=(w/d.o_width)*d.o_height;};E.openInfoWindowHtml("<div id='infowin' style='height:"+(h+80)+"px; width:"+(w+40)+"px'><img src=\"http://l.yimg.com/www.flickr.com/images/flickr_logo_gamma.gif.v1.5.14\"\n	      height=\"26\" width=\"98\"><center><a href='http://www.flickr.com/photos/"+d.owner+"/"+d.id+"' target='_blank'><img style='border:none;' src=\"http://farm"+d.farm+".static.flickr.com/"+d.server+"/"+d.id+"_"+d.secret+"_m.jpg\"></a></center><a href='http://www.flickr.com/photos/"+d.owner+"/"+d.id+"' target='_blank'><strong>"+d.title+"<\/strong></a> by <a href='http://www.flickr.com/people/"+d.owner+"'><strong>"+d.ownername+"<\/strong></a><p><b>Tags:</b>"+d.tags+"</p><\/div>");},250));});};function getFlickrData(A) {if (!A) return;if (A.indexOf('photos')<0) return;var B=eval(A);};function getFlickr(A) {if (A<1) A=1;createCookie('flickrBlock',A,365);mgr4.clearMarkers();if (config['showFlickr']) {var B=new Date;var C=B.getTime();var D=parseInt(C/1000);var E=D-(2*365*24*60*60);document["logo1"].src='i'+_iconDir+'/GCinP.gif';document["logo2"].src='i'+_iconDir+'/GCinP.gif';var F="getjson.php?target=flickr&method=flickr.photos.search&api_key="+flickrapikey+"&per_page=50&page="+A+"&bbox="+swlonL+","+swlatL+","+nelonL+","+nelatL+"&format=json&extras=geo,o_dims,owner_name,tags,date_taken&min_upload_date="+E+"&sort=interestingness-desc&content_type=1";GDownloadUrl(F,function(G,H) {getFlickrData(G);document["logo1"].src='i'+_iconDir+'/GCinP.png';document["logo2"].src='i'+_iconDir+'/GCinP.png';});}};
function createPratoMarker(A,B,C,D,E,w,h) {var F={"icon":B,"draggable":false,"clickable":true,zIndexProcess:orderOfCreation};var G=new PdMarker(new GLatLng(A.latitude,A.longitude),F);G.data=A;G.importance=4000;G.setOpacity(100);return G;};function getNoPrato(A) {if (!A) return;if (A.indexOf('hits')<0) return;var B=JSON.parse(A);var C=B.hits;var D=new GIcon();D.image="i/restau.png";D.iconSize=new GSize(18,18);D.shadow="http://www.panoramio.com/img/panoramio-shadow.png";D.shadowSize=new GSize(22,22);D.iconAnchor=new GPoint(9,9);D.infoWindowAnchor=new GPoint(9,0);for (var i=0;i<C.length;i++) {var w=180;var h=10;if (C[i].entry_title.length>33) {C[i].entry_title=C[i].entry_title.substring(0,33)+"&#8230;";};mgr3.addMarker(createPratoMarker(C[i],D,C[i].post_id,C[i].entry_title,C[i].post_excerpt,w,h),1);};GEvent.addListener(map,"click",function(E,F) {if (!E||!E.data) return;var d=E.data;if (d.entry_title.length>33) {d.entry_title=d.entry_title.substring(0,33)+"&#8230;";};thtml='<hr>';if (typeof(d.html)!='undefined') thtml=d.html;E.openInfoWindowHtml("<div id='infowin'><p><a href='http://no-prato.com/' target='_blank'><strong><p id='nopratologo'><img src='img/prato.png' style='border:none;'> no prato com</p></strong><\/a></p><div style='overflow: hidden; width: 240px;'><p><a target='_blank' class='poi_title' href='"+d.post_url+"'><strong>"+d.entry_title+"<\/strong><\/a></p><p>"+d.post_excerpt+"</p><\/div><p>Coment&aacute;rios: <strong>"+d.comment_count+"</strong></p><\/div>"+thtml+"<\/div>");});};function getPrato() {mgr3.clearMarkers();if (config['showPrato']) {if (document["logo1"]) document["logo1"].src='i'+_iconDir+'/GCinP.gif';if (document["logo2"]) document["logo2"].src='i'+_iconDir+'/GCinP.gif';var A="getjson.php?target=prato&from=0&to=100&minlon="+swlonL+"&minlat="+swlatL+"&maxlon="+nelonL+"&maxlat="+nelatL;GDownloadUrl(A,function(B,C) {getNoPrato(B);if (document["logo1"]) document["logo1"].src='i'+_iconDir+'/GCinP.png';if (document["logo2"]) document["logo2"].src='i'+_iconDir+'/GCinP.png';});}};
function createPanoMarker(A,B,C,D,E,w,h,F) {var G={"icon":B,"draggable":false,"clickable":true,zIndexProcess:orderOfCreation};var H=new PdMarker(new GLatLng(A.latitude,A.longitude),G);H.photo=A;var I='<div id="panover">\n                <div style="float:left"><img src="http://www.panoramio.com/img/logo-small.gif" height="25" width="119"></div><div style="text-align:right;">(bloco '+F+')</div>\n                <center><img src="http://static4.bareka.com/photos/small/'+C+'.jpg" width="'+w+'px" height="'+h+'px"></center> \n                <div style="overflow: hidden;">\n                <p><strong>'+D+'</strong></p> \n                <p>Posted by '+E+'</p> \n                <div class="smhelp"><b>1 clique</b> para aumentar<br><b>2 cliques</b> para avan&ccedil;ar bloco.</div>\n                </div> \n            </div>';H.setTooltip(I);H.importance=5000;H.allowLeftTooltips(true);H.setOpacity(100);GEvent.addListener(H,"dblclick",function() {for (var i=0;i<timeouts.length;i++)  { clearTimeout(timeouts[i]);};getPano(config['panoBlock']+1);});return H;};function getPanoramio(A) {if (A.indexOf('photos')<0) return;var B=JSON.parse(A);var C=B.photos;var D=new GIcon();D.image="http://www.panoramio.com/img/panoramio-marker.png";D.shadow="http://www.panoramio.com/img/panoramio-shadow.png";D.iconSize=new GSize(18,18);D.shadowSize=new GSize(22,22);D.iconAnchor=new GPoint(9,9);D.infoWindowAnchor=new GPoint(9,0);for (var i=0;i<C.length;i++) {var w=parseInt(C[i].width);var h=parseInt(C[i].height);width=100;height=180;if (w>h) {width=180;height=Math.round(h*(width/w));} else {height=180;width=Math.round(w*(height/h));};if (C[i].photo_title.length>33) {C[i].photo_title=C[i].photo_title.substring(0,33)+"&#8230;";};mgr2.addMarker(createPanoMarker(C[i],D,C[i].photo_id,C[i].photo_title,C[i].owner_name,width,height,config['panoBlock']),1);};GEvent.addListener(map,"click",function(E,F) {if (!E||!E.photo) return;timeouts.push(setTimeout(function() {var p=E.photo;if (p.photo_title.length>33) {p.photo_title=p.photo_title.substring(0,33)+"&#8230;";};E.openInfoWindowHtml("<div id='infowin' style='height:"+(p.height+80)+"px'><p><a href='http://www.panoramio.com/' target='_blank'><img src='http://www.panoramio.com/img/logo-small.gif' width='119px' style='border:none;'height='25px' alt='Panoramio logo' /><\/a></p><a id='photo_infowin' target='_blank' href='"+p.photo_url+"'><img width='"+p.width+"' height='"+p.height+"' src='"+p.photo_file_url+"'/><\/a><div style='overflow: hidden; width: 240px;'><p><a target='_blank' class='photo_title' href='"+p.photo_url+"'><strong>"+p.photo_title+"<\/strong><\/a></p><p>Posted by <a target='_blank' href='"+p.owner_url+"'>"+p.owner_name+"<\/a></p><\/div><\/div>");},250))});};function getPano(A) {if (A<1) A=1;createCookie('panoBlock',A,365);mgr2.clearMarkers();if (config['showPano']) {document["logo1"].src='i'+_iconDir+'/GCinP.gif';document["logo2"].src='i'+_iconDir+'/GCinP.gif';var B=A*panoCount;var C=B-panoCount;var D="getjson.php?target=pano&order=popularity&set=public&from="+C+"&to="+B+"&minx="+swlonL+"&miny="+swlatL+"&maxx="+nelonL+"&maxy="+nelatL+"&size=mini_square";GDownloadUrl(D,function(E,F) {getPanoramio(E);document["logo1"].src='i'+_iconDir+'/GCinP.png';document["logo2"].src='i'+_iconDir+'/GCinP.png';});}};
function createPicaMarker(A,B,C,D,E,w,h,F) {var G={"icon":B,"draggable":false,"clickable":true,zIndexProcess:orderOfCreation};var H=new PdMarker(new GLatLng(A.latitude,A.longitude),G);H.photo=A;var I='<div id="panover">\n                <div style="float:left"><img src="img/picasalogo.png" height="31" width="102"></div><div style="text-align:right;">(bloco '+F+')</div>\n                <center><img src="'+C+'.jpg" width="'+w+'px" height="'+h+'px"></center> \n                <div style="overflow: hidden;">\n                <p><strong>'+D+'</strong></p> \n                <p>Posted by '+E+'</p> \n                <div class="smhelp"><b>1 clique</b> para aumentar<br><b>2 cliques</b> para avan&ccedil;ar bloco.</div>\n                </div> \n            </div>';H.setTooltip(I);H.importance=5000;H.allowLeftTooltips(true);H.setOpacity(100);GEvent.addListener(H,"dblclick",function() {for (var i=0;i<timeouts.length;i++)  { clearTimeout(timeouts[i]);};getPica(1);});return H;};function getPicasa(A) {var B=new GIcon();B.image="img/ipicasa.png";B.shadow="http://www.panoramio.com/img/panoramio-shadow.png";B.iconSize=new GSize(16,16);B.shadowSize=new GSize(22,22);B.iconAnchor=new GPoint(9,9);B.infoWindowAnchor=new GPoint(9,0);var C=1;for (var i=0;i<A.feed.entry.length;i++) {item=A.feed.entry[i];var D={};var E=item.title.$t;var F=item.media$group.media$thumbnail[1].url;D.photo_file_url=item.media$group.media$thumbnail[2].url;var G=item.media$group.media$description.$t;if (G.length>33) {G=G.substring(0,33)+"&#8230;";};D.photo_title=G;D.photo_url=item.link[1].href;var H=item.georss$where.gml$Point.gml$pos.$t;var I=H.split(" ");D.latitude=I[0];D.longitude=I[1];D.owner_name=item.author[0].name.$t;D.owner_url=item.author[0].uri.$t;var w=parseInt(item.gphoto$width.$t);var h=parseInt(item.gphoto$height.$t);var J=108;var K=144;var L=216;var M=288;if (w>h) {J=144;K=Math.round(h*(J/w));L=288;M=Math.round(h*(L/w));} else {K=144;J=Math.round(w*(K/h));M=288;L=Math.round(h*(M/h));};D.width=L;D.height=M;mgr5.addMarker(createPicaMarker(D,B,F,D.photo_title,D.owner_name,J,K,C),1);};GEvent.addListener(map,"click",function(N,O) {if (!N||!N.photo) return;timeouts.push(setTimeout(function() {var p=N.photo;if (p.photo_title.length>33) {p.photo_title=p.photo_title.substring(0,33)+"&#8230;";};N.openInfoWindowHtml("<div id='infowin' style='height:"+(p.height+80)+"px'><p><a href='http://picasaweb.google.com/' target='_blank'><img src='img/picasalogo.png' width='102' style='border:none;'height='31px' alt='Picasa logo' /><\/a></p><a id='photo_infowin' target='_blank' href='"+p.photo_url+"'><img width='"+p.width+"' height='"+p.height+"' src='"+p.photo_file_url+"'/><\/a><div style='overflow: hidden; width: 240px;'><p><a target='_blank' class='photo_title' href='"+p.photo_url+"'><strong>"+p.photo_title+"<\/strong><\/a></p><p>Posted by <a target='_blank' href='"+p.owner_url+"'>"+p.owner_name+"<\/a></p><\/div><\/div>");},250))});};function getPica(A) {if (A<1) A=1;createCookie('picaBlock',A,365);mgr5.clearMarkers();if (config['showPica']) {document["logo1"].src='i'+_iconDir+'/GCinP.gif';document["logo2"].src='i'+_iconDir+'/GCinP.gif';var B="getjson.php?target=picasa&alt=json&callback=getPicasa&max-results=200&bbox="+swlonL+","+swlatL+","+nelonL+","+nelatL;if (urlArgs['debug']=='1') {alert(B);};GDownloadUrl(B,function(C,D) {eval(C);document["logo1"].src='i'+_iconDir+'/GCinP.png';document["logo2"].src='i'+_iconDir+'/GCinP.png';});}};
function getDistance(A,B,C) {A.Latitude=latLonToRadians(A.Latitude);A.Longitude=latLonToRadians(A.Longitude);B.Latitude=latLonToRadians(B.Latitude);B.Longitude=latLonToRadians(B.Longitude);var R=6371;var D=B.Latitude-A.Latitude;var E=B.Longitude-A.Longitude;var a=Math.sin(D/2) * Math.sin(dLat/2)+Math.cos(A.Latitude)*Math.cos(B.Latitude)*Math.sin(E/2) * Math.sin(dLong/2);var c=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));var F=R*c;var G=F*0.6214;return (C?G:F);};function latLonToRadians(A) {return A*Math.PI/180;};
Clusterer=function (A){this.map=A;this.markers=[];this.clusters=[];this.timeout=null;this.currentZoomLevel=A.getZoom();this.maxVisibleMarkers=Clusterer.defaultMaxVisibleMarkers;this.gridSize=Clusterer.defaultGridSize;this.minMarkersPerCluster=Clusterer.defaultMinMarkersPerCluster;this.maxLinesPerInfoBox=Clusterer.defaultMaxLinesPerInfoBox;this.icon=Clusterer.defaultIcon;this.iconList={};this.callDisplay=Clusterer.MakeCaller(Clusterer.Display,this);GEvent.addListener(A,'zoomend',this.callDisplay);GEvent.addListener(A,'moveend',this.callDisplay);GEvent.addListener(A,'infowindowclose',Clusterer.MakeCaller(Clusterer.PopDown,this));};Clusterer.defaultMaxVisibleMarkers=150;Clusterer.defaultGridSize=5;Clusterer.defaultMinMarkersPerCluster=5;Clusterer.defaultMaxLinesPerInfoBox=10;Clusterer.defaultIcon=new GIcon();Clusterer.defaultIcon.image='http://www.acme.com/resources/images/markers/blue_large.PNG';Clusterer.defaultIcon.shadow='http://www.acme.com/resources/images/markers/shadow_large.PNG';Clusterer.defaultIcon.iconSize=new GSize(30,51);Clusterer.defaultIcon.shadowSize=new GSize(56,51);Clusterer.defaultIcon.iconAnchor=new GPoint(13,34);Clusterer.defaultIcon.infoWindowAnchor=new GPoint(13,3);Clusterer.defaultIcon.infoShadowAnchor=new GPoint(27,37);Clusterer.prototype.newCIcon=function (A) {if (A>100) A=100;cIcon=new GIcon();cIcon.image='i2/x'+A+'.png';cIcon.iconSize=new GSize(A,A);cIcon.iconAnchor=new GPoint(A/2, A/2);cIcon.infoWindowAnchor=new GPoint(A/2, A/2);return cIcon;};Clusterer.prototype.SetIcon=function (A){this.icon=A;};Clusterer.prototype.SetMaxVisibleMarkers=function (n){this.maxVisibleMarkers=n;};Clusterer.prototype.SetMinMarkersPerCluster=function (n){this.minMarkersPerCluster=n;};Clusterer.prototype.SetMaxLinesPerInfoBox=function (n){this.maxLinesPerInfoBox=n;};Clusterer.prototype.AddMarker=function (A,B){if (A.setMap!=null) A.setMap(this.map);A.title=B;A.onMap=false;this.markers.push(A);this.DisplayLater();};Clusterer.prototype.Empty=function () {for (var i=0;i<this.markers.length;++i) {var A=this.markers[i];if (A&&A.onMap) this.map.removeOverlay(A);for (var j=0;j<this.clusters.length;++j) {var B=this.clusters[j];if (B!=null) {for (var k=0;k<B.markers.length;++k) if (B.markers[k]==A) {B.markers[k]=null;--B.markerCount;break;};if (B.markerCount==0) {this.ClearCluster(B);this.clusters[j]=null;} else if (B==this.poppedUpCluster) Clusterer.RePop(this);}};this.markers[i]=null;};this.DisplayLater();};Clusterer.prototype.RemoveMarker=function (A){for (var i=0;i<this.markers.length;++i) if (this.markers[i]==A){if (A.onMap) this.map.removeOverlay(A);for (var j=0;j<this.clusters.length;++j){var B=this.clusters[j];if (B!=null){for (var k=0;k<B.markers.length;++k) if (B.markers[k]==A){B.markers[k]=null;--B.markerCount;break;};if (B.markerCount==0){this.ClearCluster(B);this.clusters[j]=null;}else if (B==this.poppedUpCluster) Clusterer.RePop(this);}};this.markers[i]=null;break;};this.DisplayLater();};Clusterer.prototype.DisplayLater=function (){if (this.timeout!=null) clearTimeout(this.timeout);this.timeout=setTimeout(Clusterer.MakeCaller(Clusterer.Display,this),150);};Clusterer.Display=function (A){var i,j,B,C;clearTimeout(A.timeout);var D=A.map.getZoom();if (D!=A.currentZoomLevel||((config['showSearch']&&_searchResult))){for (i=0;i<A.clusters.length;++i) if (A.clusters[i]!=null){A.ClearCluster(A.clusters[i]);A.clusters[i]=null;};A.clusters.length=0;A.currentZoomLevel=D;};var E=A.map.getBounds();var F=E.getSouthWest();var G=E.getNorthEast();var H=G.lng()-F.lng();var I=G.lat()-F.lat();if (H<300&&I<150){H*=0.10;I*=0.10;E=new GLatLngBounds(new GLatLng(F.lat()-I,F.lng()-H),new GLatLng(G.lat()+I,G.lng()+H));};var J=[];visibleCodes='';hiddenCodes='';var K=[];if (config['showSearch']&&_searchResult) {for (i=0;i<A.markers.length;++i) {B=A.markers[i];if (B!=null) if (E.contains(B.getPoint())&&_searchResult[B.gccode]) {J.push(B);visibleCodes+=B.gccode+";";} else {K.push(B);hiddenCodes+=B.gccode+";";}}} else {for (i=0;i<A.markers.length;++i) {B=A.markers[i];if (B!=null) if (E.contains(B.getPoint())) {J.push(B);visibleCodes+=B.gccode+";";} else {K.push(B);hiddenCodes+=B.gccode+";";}};for (i=0;i<A.clusters.length;++i) {C=A.clusters[i];if (C!=null&&!E.contains(C.marker.getPoint())&&C.onMap) {A.map.removeOverlay(C.marker);C.onMap=false;}}};for (i=0;i<K.length;++i){B=K[i];if (B.onMap){A.map.removeOverlay(B);B.onMap=false;}};visibleCaches=J.length;if (J.length>A.maxVisibleMarkers){var L=E.getNorthEast().lat()-E.getSouthWest().lat();var M=L/A.gridSize;var N=M/Math.cos((E.getNorthEast().lat()+E.getSouthWest().lat())/2.0*Math.PI/180.0);for (var O=E.getSouthWest().lat();O<=E.getNorthEast().lat();O+=M) for (var P=E.getSouthWest().lng();P<=E.getNorthEast().lng();P+=N){C={};C.clusterer=A;C.bounds=new GLatLngBounds(new GLatLng(O,P),new GLatLng(O+M,P+N));C.markers=[];C.markerCount=0;C.onMap=false;C.marker=null;A.clusters.push(C);};for (i=0;i<J.length;++i){B=J[i];if (B!=null&&!B.inCluster){for (j=0;j<A.clusters.length;++j){C=A.clusters[j];if (C!=null&&C.bounds.contains(B.getPoint())){C.markers.push(B);++C.markerCount;B.inCluster=true;}}}};for (i=0;i<A.clusters.length;++i) if (A.clusters[i]!=null&&A.clusters[i].markerCount<A.minMarkersPerCluster){A.ClearCluster(A.clusters[i]);A.clusters[i]=null;};for (i=A.clusters.length-1;i>=0;--i) if (A.clusters[i]!=null) break;else--A.clusters.length;for (i=0;i<A.clusters.length;++i){C=A.clusters[i];if (C!=null){for (j=0;j<C.markers.length;++j){B=C.markers[j];if (B!=null&&B.onMap){A.map.removeOverlay(B);B.onMap=false;}}}};for (i=0;i<A.clusters.length;++i){C=A.clusters[i];if (C!=null&&C.marker==null){var Q=0.0,R=0.0;for (j=0;j<C.markers.length;++j){B=C.markers[j];if (B!=null){Q+=(+B.getPoint().lng());R+=(+B.getPoint().lat());}};var S=new GLatLng(R/C.markerCount,Q/C.markerCount);var T=C.markerCount;if (!A.iconList[T]) A.iconList[T]=A.newCIcon(T);B=new GMarker(S,{ icon:A.iconList[T] });C.marker=B;GEvent.addListener(B,'click',Clusterer.MakeCaller(Clusterer.PopUp,C));}}};for (i=0;i<J.length;++i){B=J[i];if (B!=null&&!B.onMap&&!B.inCluster){A.map.addOverlay(B);if (B.addedToMap!=null) B.addedToMap();B.onMap=true;}};for (i=0;i<A.clusters.length;++i){C=A.clusters[i];if (C!=null&&!C.onMap&&E.contains(C.marker.getPoint())){A.map.addOverlay(C.marker);C.onMap=true;}};Clusterer.RePop(A);setGCRHeader();};Clusterer.PopUp=function (A){var B=A.clusterer;var C='<table width="300">';var n=0;for (var i=0;i<A.markers.length;++i){var D=A.markers[i];if (D!=null){++n;C+='<tr><td>';if (D.getIcon().smallImage!=null) C+='<img src="'+D.getIcon().smallImage+'">';else C+='<img src="'+D.getIcon().image+'" width="'+(D.getIcon().iconSize.width/2)+'" height="'+(D.getIcon().iconSize.height/2)+'">';C+='</td><td>'+D.title+'</td></tr>';if (n==B.maxLinesPerInfoBox-1&&A.markerCount>B.maxLinesPerInfoBox){C+='<tr><td colspan="2">...and '+(A.markerCount-n)+' more</td></tr>';break;}}};C+='</table>';B.map.closeInfoWindow();A.marker.openInfoWindowHtml(C);B.poppedUpCluster=A;};Clusterer.RePop=function (A){if (A.poppedUpCluster!=null) Clusterer.PopUp(A.poppedUpCluster);};Clusterer.PopDown=function (A){A.poppedUpCluster=null;};Clusterer.prototype.ClearCluster=function (A){var i,B;for (i=0;i<A.markers.length;++i) if (A.markers[i]!=null){A.markers[i].inCluster=false;A.markers[i]=null;};A.markers.length=0;A.markerCount=0;if (A==this.poppedUpCluster) this.map.closeInfoWindow();if (A.onMap){this.map.removeOverlay(A.marker);A.onMap=false;}};Clusterer.MakeCaller=function (A,B){return function () { A(B);};};GMarker.prototype.setMap=function (A){this.map=A;};GMarker.prototype.addedToMap=function (){this.map=null;};GMarker.prototype.origOpenInfoWindow=GMarker.prototype.openInfoWindow;GMarker.prototype.openInfoWindow=function (A,B){if (this.map!=null) return this.map.openInfoWindow(this.getPoint(),A,B);else return this.origOpenInfoWindow(A,B);};GMarker.prototype.origOpenInfoWindowHtml=GMarker.prototype.openInfoWindowHtml;GMarker.prototype.openInfoWindowHtml=function (A,B){if (this.map!=null) return this.map.openInfoWindowHtml(this.getPoint(),A,B);else return this.origOpenInfoWindowHtml(A,B);};GMarker.prototype.origOpenInfoWindowTabs=GMarker.prototype.openInfoWindowTabs;GMarker.prototype.openInfoWindowTabs=function (A,B){if (this.map!=null) return this.map.openInfoWindowTabs(this.getPoint(),A,B);else return this.origOpenInfoWindowTabs(A,B);};GMarker.prototype.origOpenInfoWindowTabsHtml=GMarker.prototype.openInfoWindowTabsHtml;GMarker.prototype.openInfoWindowTabsHtml=function (A,B){if (this.map!=null) return this.map.openInfoWindowTabsHtml(this.getPoint(),A,B);else return this.origOpenInfoWindowTabsHtml(A,B);};GMarker.prototype.origShowMapBlowup=GMarker.prototype.showMapBlowup;GMarker.prototype.showMapBlowup=function (A){if (this.map!=null) return this.map.showMapBlowup(this.getPoint(),A);else return this.origShowMapBlowup(A);};
var _polygonDepth="20";var _fillColor="#0000FF";var _lineColor="#ffa500";var _opacity=.5;var _lineWeight=4;var _kmlFillColor="7dff0000";function htmlEntities(A){var i,B,C,D='';for(i=0;i<A.length;i++){B=A.charCodeAt(i);if((B>47&&B<58)||(B>62&&B<127)){D+=String.fromCharCode(B);}else{D+="&#"+B+";";}};return D;};function logCoordinates(){document.getElementById("results").innerHTML='';for (var i=0;i<(_polyPoints.length);i++) {if (_polyPoints[i]) {var A=Math.round(_polyPoints[i].lat()*10000000)/10000000;var B=Math.round(_polyPoints[i].lng()*10000000)/10000000;document.getElementById("results").innerHTML+=A+","+B+":";}}};function logCoordinatesGPX(){var A="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<gpx xmlns=\"http://www.topografix.com/GPX/1/1\" creator=\"MapSource 6.13.6\" version=\"1.1\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd\">\n<rte>\n<name>ROTA</name>";var B="</rte>\n</gpx>";document.getElementById("results").innerHTML=htmlEntities(A)+"<br>";for (var i=0;i<(_polyPoints.length);i++) {if (_polyPoints[i]) {var C=_polyPoints[i].lat();var D=_polyPoints[i].lng();document.getElementById("results").innerHTML+=htmlEntities("<rtept lat=\""+C+"\" lon=\""+D+"\"><name>"+i+"</name> <sym>Dot, White</sym> </rtept>")+"<br>";}};document.getElementById("results").innerHTML+=htmlEntities(B);};function logCoordinatesKML(){var A="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<kml xmlns=\"http://earth.google.com/kml/2.1\">\n<Document><name>Your name of document</name><description>Your description</description>\n<Placemark><Style>\n<LineStyle><width>"+_lineWeight+"</width></LineStyle>\n<PolyStyle><color>"+_kmlFillColor+"</color></PolyStyle>\n</Style>\n";if (_polygonMode){A+="<Polygon><extrude>1</extrude>\n<altitudeMode>relativeToGround</altitudeMode><outerBoundaryIs>\n<LinearRing>\n<coordinates>\n";var B="</coordinates></LinearRing></outerBoundaryIs></Polygon></Placemark>\n</Document>\n</kml>";document.getElementById("results").innerHTML=htmlEntities(A)+"<br>";for (var i=0;i<(_polyPoints.length);i++) {if (_polyPoints[i]) {var C=_polyPoints[i].lat();var D=_polyPoints[i].lng();document.getElementById("results").innerHTML+=htmlEntities(D+", "+C+", "+_polygonDepth)+"<br>";}}} else {A+="<LineString><tessellate>1</tessellate>\n<coordinates>\n";var B="</coordinates></LineString></Placemark>\n</Document>\n</kml>";document.getElementById("results").innerHTML=htmlEntities(A)+"<br>";for (var i=0;i<(_polyPoints.length);i++) {if (_polyPoints[i]) {var C=_polyPoints[i].lat();var D=_polyPoints[i].lng();document.getElementById("results").innerHTML+=htmlEntities(D+", "+C+",0")+"<br>";}}};document.getElementById("results").innerHTML+=htmlEntities(B);};
