function KMLObj(C,B,D,A){this.title=C;this.description=escape(B);this.marks=[];this.folders=[];this.groundOverlays=[];this.open=D;this.folderid=A}function Lance$(A){return document.getElementById(A)}var topwin=self;function GeoXml(E,D,A,C){this.myvar=E;this.opts=C||{};this.mb=new MessageBox(D,this,"mb",this.opts.messagebox);this.map=D;this.url=A;if(typeof A=="string"){this.urls=[A]}else{this.urls=A}this.zoomHere=15;this.mb.style=this.opts.messagestyle||{backgroundColor:"silver"};this.alwayspop=this.opts.alwaysinfopop||false;this.quiet=this.opts.quiet||false;this.titlestyle=this.opts.titlestyle||'style = "font-family: arial, sans-serif;font-size: medium;font-weight:bold;font-size: 100%;"';this.descstyle=this.opts.descstyle||'style = "font-family: arial, sans-serif;font-size: small;padding-bottom:.7em;"';if(this.opts.directionstyle&&typeof this.opts.directionstyle!="undefined"){this.directionstyle=this.opts.directionstyle}else{this.directionstyle='style="font-family: arial, sans-serif;font-size: small;padding-left: 1px;padding-top: 1px;padding-right: 4px;"'}this.sidebarfn=this.opts.sidebarfn||GeoXml.addSidebar;this.pointlabelopacity=this.opts.pointlabelopacity||100;this.polylabelopacity=this.opts.polylabelopacity||100;this.hilite=this.opts.hilite||{color:"#aaffff",opacity:0.3,textcolor:"#000000"};this.latestsidebar="";this.forcefoldersopen=false;if(typeof this.opts.allfoldersopen!="undefined"){this.forcefoldersopen=this.opts.allfoldersopen}this.clickablepolys=true;if(typeof this.opts.zoomhere=="number"){this.zoomHere=this.opts.zoomhere}if(typeof this.opts.clickablepolys=="boolean"){this.clickablepolys=this.opts.clickablepolys}this.clickablemarkers=true;if(typeof this.opts.clickablemarkers=="boolean"){this.clickablemarkers=this.opts.clickablemarkers}this.clickablelines=true;if(typeof this.opts.clickablelines=="boolean"){this.clickablelines=this.opts.clickablelines}if(typeof this.opts.nolegend!="undefined"){this.nolegend=true}if(typeof this.opts.preloadHTML=="undefined"){this.opts.preloadHTML=true}this.sidebariconheight=16;if(typeof this.opts.sidebariconheight=="number"){this.sidebariconheight=this.opts.sidebariconheight}this.sidebarsnippet=false;if(typeof this.opts.sidebarsnippet=="boolean"){this.sidebarsnippet=this.opts.sidebarsnippet}this.hideall=false;if(typeof proxy!="undefined"){this.proxy=proxy}if(!this.proxy&&typeof getcapproxy!="undefined"){if(fixUrlEnd){getcapproxy=fixUrlEnd(getcapproxy)}}if(this.opts.hideall){this.hideall=this.opts.hideall}if(!this.opts.publishdirectory){this.publishdirectory="http://www.dyasdesigns.com/tntmap/"}else{this.publishdirectory=this.opts.publishdirectory}topwin=top;try{topname=top.title}catch(B){topwin=self}if(topwin.publishdirectory){this.publishdirectory=topwin.publishdirectory}if(topwin.standalone){this.publishdirectory=""}this.kmlicon=this.publishdirectory+"images/ge.png";this.docicon=this.publishdirectory+"images/ge.png";this.docclosedicon=this.publishdirectory+"images/geclosed.png";this.foldericon=this.publishdirectory+"images/folder.png";this.folderclosedicon=this.publishdirectory+"images/folderclosed.png";this.gmlicon=this.publishdirectory+"images/geo.gif";this.rssicon=this.publishdirectory+"images/rssb.png";this.globalicon=this.publishdirectory+"images/geo.gif";this.WMSICON='<img src="'+this.publishdirectory+'images/geo.gif" style="border:none" />';GeoXml.WMSICON=this.WMSICON;this.baseLayers=[];this.bounds=new GLatLngBounds();this.style={width:2,opacity:0.75,fillopacity:0.4};this.style.color=this.randomColor();this.style.fillcolor=this.randomColor();this.iwwidth=this.opts.iwwidth||400;this.maxiwwidth=this.opts.maxiwwidth||0;this.iwheight=this.opts.iwheight||250;this.lastmarker={};this.verySmall=1e-7;this.progress=0;this.ZoomFactor=2;this.NumLevels=18;this.maxtitlewidth=0;this.styles=[];this.jsdocs=[];this.jsonmarks=[];this.polyset=[];this.polygons=[];this.polylines=[];this.multibounds=[];this.overlayman=new Clusterer(D,this);this.overlayman.rowHeight=20;if(this.opts.sidebarid){this.basesidebar=this.opts.sidebarid}this.kml=[new KMLObj("GeoXML","",true,0)];this.overlayman.folders.push([]);this.overlayman.subfolders.push([]);this.overlayman.folderhtml.push([]);this.overlayman.folderhtmlast.push(0);this.overlayman.folderBounds.push(new GLatLngBounds());this.wmscount=0;this.labels=new GTileLayerOverlay(G_HYBRID_MAP.getTileLayers()[1]);this.unnamedpath="un-named path";this.unnamedplace="un-named place";this.unnamedarea="un-named area"}GeoXml.stripHTML=function(A){return(A.replace(/(<([^>]+)>)/ig,""))};GeoXml.prototype.showIt=function(E,C,A){var B="status=yes,resizable=yes,toolbar=0,height="+C+",width="+C+",scrollbars=yes";var D;if(topwin.widget){alert(E);this.mb.showMess(E)}else{D=window.open("","_blank",B);D.document.open("text/xml");D.document.write(E);D.document.close()}};GeoXml.prototype.clear=function(B){for(var A=0;A<this.overlayman.markers.length;A++){this.overlayman.RemoveMarker(this.overlayman.markers[A])}this.kml=[new KMLObj("GeoXML","",true,0)];this.maxtitlewidth=0;this.styles=[];this.jsdocs=[];this.jsonmarks=[];this.polyset=[];this.polylines=[];this.multibounds=[];this.bounds=new GLatLngBounds();this.overlayman=new Clusterer(this.map,this);this.overlayman.rowHeight=20;if(typeof this.basesidebar!="undefined"&&this.basesidebar!=""){Lance$(this.basesidebar).innerHTML=""}this.overlayman.folders.push([]);this.overlayman.subfolders.push([]);this.overlayman.folderhtml.push([]);this.overlayman.folderhtmlast.push(0);this.overlayman.byname=[];this.overlayman.byid=[];this.overlayman.folderBounds.push(new GLatLngBounds());this.wmscount=0};GeoXml.prototype.createMarkerJSON=function(E,B){var D=this;var C=D.makeIcon(C,E.href);var A=new GLatLng(E.y,E.x);D.overlayman.folderBounds[B].extend(A);D.bounds.extend(A);if(E.shadow){C.shadow=E.shadow}else{C.shadow=null}if(!!D.opts.createmarker){D.opts.createmarker(A,E.title,unescape(E.description),null,B,C,E.visibility,E.id,E.snip)}else{D.createMarker(A,E.title,unescape(E.description),null,B,C,E.visibility,E.id,E.snip)}};GeoXml.prototype.createMarker=function(point,name,desc,style,idx,instyle,visible,kml_id,markerurl,snip){var myvar=this.myvar;var icon;var bicon=new GIcon();if(this.opts.baseicon){bicon.iconSize=this.opts.baseicon.iconSize;bicon.iconAnchor=this.opts.baseicon.iconAnchor;bicon.shadowSize=this.opts.baseicon.shadowSize;bicon.infoWindowAnchor=this.opts.baseicon.infoWindowAnchor}else{bicon.infoWindowAnchor=new GPoint(16,0);bicon.iconSize=new GSize(32,32);bicon.shadowSize=new GSize(32,32);bicon.iconAnchor=new GPoint(16,32)}var shadow;var href;if(this.opts.iconFromDescription){var text=desc;var pattern=new RegExp("<\\s*img","ig");var result;var pattern2=/src\s*=\s*[\'\"]/;var pattern3=/[\'\"]/;while((result=pattern.exec(text))!=null){var stuff=text.substr(result.index);var result2=pattern2.exec(stuff);if(result2!=null){stuff=stuff.substr(result2.index+result2[0].length);var result3=pattern3.exec(stuff);if(result3!=null){var imageUrl=stuff.substr(0,result3.index);href=imageUrl}}}shadow=null;if(!href){href="http://maps.google.com/mapfiles/kml/pal3/icon40.png"}icon=new GIcon(bicon,href,null,shadow)}else{href="http://maps.google.com/mapfiles/kml/pal3/icon40";if(instyle==null||typeof instyle=="undefined"){shadow=href+"s.png";href+=".png";if(this.opts.baseicon){href=this.opts.baseicon.image;shadow=this.opts.baseicon.shadow}}else{if(instyle.href){href=instyle.href}if(instyle.shadow){shadow=instyle.shadow}}icon=new GIcon(bicon,href,null,shadow)}var iwoptions=this.opts.iwoptions||{};var markeroptions=this.opts.markeroptions||{};var icontype=this.opts.icontype||"style";if(icontype=="style"){if(!!this.styles[style]){icon=new GIcon(bicon,this.styles[style].href,null,this.styles[style].shadow);icon.src=this.styles[style].href;href=this.styles[style].href}}markeroptions.icon=icon;markeroptions.title=name;var m=new GMarker(point,markeroptions);m.title=name;m.id=kml_id;var obj={type:"point",title:name,description:escape(desc),href:href,shadow:shadow,visibility:visible,x:point.x,y:point.y,id:m.id};this.kml[idx].marks.push(obj);if(this.opts.pointlabelclass){var l=new ELabel(point,name,this.opts.pointlabelclass,this.opts.pointlabeloffset,this.pointlabelopacity,true);m.label=l;this.map.addOverlay(l)}var html,html1,html2,html3,html4;var awidth=this.iwwidth;if(desc.length*8<awidth){awidth=desc.length*8}if(awidth<name.length*10){awidth=name.length*10}if(this.maxiwwidth&&awidth>this.maxiwwidth){awidth=this.maxiwwidth}html="<div style = 'width:"+awidth+"px'><h1 "+this.titlestyle+">"+name+"</h1><div "+this.descstyle+">"+desc+"</div>";var html1;if(this.opts.directions){html1=html+"<div "+this.directionstyle+'>Get Directions: <a href="#" onclick="GEvent.trigger('+this.myvar+'.lastmarker,\'click2\');return false;">To Here</a> - <a href="#" onclick="GEvent.trigger('+this.myvar+'.lastmarker,\'click3\');return false;">From Here</a><br><a href="#" onclick="GEvent.trigger('+this.myvar+'.lastmarker,\'click4\');return false;">Search nearby</a> | <a href="#" onclick="'+this.myvar+".map.setCenter(new GLatLng("+point.lat()+","+point.lng()+"),"+this.zoomHere+');return false;">Zoom Here</a></div>';html2=html+"<div "+this.directionstyle+'>Get Directions: To here - <a href="#" onclick="GEvent.trigger('+this.myvar+'.lastmarker,\'click3\');return false;">From Here</a><br>Start address:<form action="http://maps.google.com/maps" method="get" target="_blank"><input type="text" SIZE=35 MAXLENGTH=80 name="saddr" id="saddr" value="" /><INPUT value="Go" TYPE="SUBMIT"><input type="hidden" name="daddr" value="'+point.lat()+","+point.lng()+"("+name+')"/><br><a href="# onclick="GEvent.trigger('+this.myvar+'.lastmarker,\'click\');return false;">&#171; Back</a>| <a href="#" onclick="'+this.myvar+".map.setCenter(new GLatLng("+point.lat()+","+point.lng()+"),"+this.zoomHere+');return false;">Zoom Here</a></div>';html3=html+"<div "+this.directionstyle+'>Get Directions: <a href="#" onclick="GEvent.trigger('+this.myvar+'.lastmarker,\'click2\');return false;">To Here</a> - From Here<br>End address:<form action="http://maps.google.com/maps" method="get"" target="_blank"><input type="text" SIZE=35 MAXLENGTH=80 name="daddr" id="daddr" value="" /><INPUT value="Go" TYPE="SUBMIT"><input type="hidden" name="saddr" value="'+point.lat()+","+point.lng()+"("+name+')"/><br><a href="#" onclick="GEvent.trigger('+this.myvar+'.lastmarker,\'click\');return false;">&#171; Back</a> | <a href="#" onclick="'+this.myvar+".map.setCenter(new GLatLng("+point.lat()+","+point.lng()+"),"+this.zoomHere+');return false;">Zoom Here</a></div>';html4=html+"<div "+this.directionstyle+'>Search nearby: e.g. "pizza"<br><form action="http://maps.google.com/maps" method="get"" target="_blank"><input type="text" SIZE=35 MAXLENGTH=80 name="q" id="q" value="" /><INPUT value="Go" TYPE="SUBMIT"><input type="hidden" name="near" value="'+name+" @"+point.lat()+","+point.lng()+'"/><br><a href="# onclick="GEvent.trigger('+this.myvar+'.lastmarker,\'click\');return false;">&#171; Back</a> | <a href="#" onclick="'+this.myvar+".map.setCenter(new GLatLng("+point.lat()+","+point.lng()+"),"+this.zoomHere+');return false;">Zoom Here</a></div>';GEvent.addListener(m,"click2",function(){m.openInfoWindowHtml(html2+"</div>",iwoptions)});GEvent.addListener(m,"click3",function(){m.openInfoWindowHtml(html3+"</div>",iwoptions)});GEvent.addListener(m,"click4",function(){m.openInfoWindowHtml(html4+"</div>",iwoptions)})}else{html1=html}if(this.opts.markerfollowlinks){if(markerurl&&typeof markerurl=="string"){if(markerurl!=""){m.url=markerurl;GEvent.addListener(m,"click",function(){eval(myvar+".lastmarker = m");window.open(m.url,"_blank")})}}}else{if(this.clickablemarkers){GEvent.addListener(m,"click",function(){eval(myvar+".lastmarker = m");m.openInfoWindowHtml(html1+"</div>",iwoptions)})}}if(this.opts.domouseover){m.mess=html1+"</div>";m.geoxml=this;GEvent.addListener(m,"mouseover",function(point){if(!point){point=m.getPoint()}m.geoxml.mb.showMess(m.mess,5000)})}var nhtml="";var parm;if(this.opts.sidebarid){var folderid=this.myvar+"_folder"+idx;var n=this.overlayman.markers.length;var blob='&nbsp;<img style="vertical-align:text-top;padding:0;margin:0" height="'+this.sidebariconheight+'" border="0" src="'+href+'">&nbsp;';if(this.sidebarsnippet){var desc2=GeoXml.stripHTML(desc);desc2=desc2.substring(0,40)}else{desc2=""}parm=this.myvar+"$$$"+name+"$$$marker$$$"+n+"$$$"+blob+"$$$"+visible+"$$$null$$$"+desc2;m.sidebarid=this.myvar+"sb"+n;m.hilite=this.hilite;m.geoxml=this;GEvent.addListener(m,"mouseover",function(){var bar=Lance$(this.sidebarid);if(bar&&typeof bar!="undefined"){bar.style.backgroundColor=this.hilite.color;bar.style.color=this.hilite.textcolor}});GEvent.addListener(m,"mouseout",function(){var bar=Lance$(this.sidebarid);if(bar&&typeof bar!="undefined"){bar.style.background="none";bar.style.color=""}})}if(!!this.opts.addmarker){this.opts.addmarker(m,name,idx,parm,visible)}else{this.overlayman.AddMarker(m,name,idx,parm,visible)}};GeoXml.getDescription=function(E){var D="";var G=0;var F;if(document.all){for(;G<E.childNodes.length;G++){F=E.childNodes.item(G);D+=F.xml}}else{var C=new XMLSerializer();for(;G<E.childNodes.length;G++){F=C.serializeToString(E.childNodes.item(G));D+=F}}var B=D.replace("<![CDATA[","");var A=B.replace("]]>","");A=A.replace(/\&amp;/g,"&");A=A.replace(/\&lt;/g,"<");A=A.replace(/\&quot;/g,'"');A=A.replace(/\&apos;/g,"'");A=A.replace(/\&gt;/g,">");return A};GeoXml.prototype.processLine=function(B,H,N){var F=this;var G=this.polylines[B];var J=G.lines[H];var M;var P;if(!J){return }var C=this.map;var D=this.opts.iwoptions||{};var O=new PolylineEncoder(this.NumLevels,this.ZoomFactor,this.verySmall,true);if(J.length>2){var K=O.dpEncode(J);M={points:K.encodedPoints,levels:K.encodedLevels,color:G.color,weight:G.width,opacity:G.opacity,clickable:G.clickablepolys,zoomFactor:this.ZoomFactor,numLevels:this.NumLevels,type:"polyline"};P=new GPolyline.fromEncoded(M)}else{M={points:J,color:G.color,weight:G.width,opacity:G.opacity,type:"line",id:G.id};P=new GPolyline(J,G.color,G.width,G.opacity)}P.bounds=G.pbounds;P.id=G.id;var E="";var Q=this.overlayman.markers.length;this.polylines[B].lineidx.push(Q);var S;var L=this.iwwidth;var R=G.description;if(R.length*8<L){L=R.length*8}if(L<G.name.length*12){L=G.name.length*12}var I="<div style='font-weight: bold; font-size: medium; margin-bottom: 0em;'>"+G.name;I+="</div><div style='font-family: Arial, sans-serif;font-size: small;width:"+L+"px;'>"+R+"</div>";if(H==0){if(this.opts.sidebarid){var A='&nbsp;&nbsp;<span style=";border-left:'+G.width+"px solid "+G.color+';">&nbsp;</span> ';if(this.sidebarsnippet){var T=GeoXml.stripHTML(R);T=T.substring(0,20)}else{T=""}S=this.myvar+"$$$"+G.name+"$$$polyline$$$"+Q+"$$$"+A+"$$$"+G.visibility+"$$$"+B+"$$$"+T;this.latestsidebar=this.myvar+"sb"+Q}}if(H<J.length){setTimeout(this.myvar+".processLine("+B+","+(H+1)+",'"+N+"');",15);if(this.opts.sidebarid){P.sidebar=this.latestsidebar}}if(this.opts.domouseover){P.mess=I}P.title=G.name;P.geoxml=this;P.strokeColor=G.color;P.strokeWeight=G.width;P.strokeOpacity=G.opacity;P.hilite=this.hilite;P.mytitle=P.title;P.map=this.map;P.idx=B;P.onOver=function(){var V=this.geoxml.polylines[this.idx];if(this.hidden!=true){for(var U=0;U<V.lineidx.length;U++){var W=this.geoxml.overlayman.markers[V.lineidx[U]];W.realColor=W.strokeColor;W.setStrokeStyle({color:this.hilite.color});W.redraw(true)}}if(this.sidebar){Lance$(this.sidebar).style.backgroundColor=this.hilite.color;Lance$(this.sidebar).style.color=this.hilite.textcolor}if(this.mess){this.geoxml.mb.showMess(this.mess,5000)}else{this.title="Click for more information about "+this.mytitle}};P.onOut=function(){var V=this.geoxml.polylines[this.idx];if(this.hidden!=true){for(var U=0;U<V.lineidx.length;U++){var W=this.geoxml.overlayman.markers[V.lineidx[U]];W.setStrokeStyle({color:this.realColor});W.redraw(true)}}this.geoxml.mb.hideMess();if(this.sidebar){Lance$(this.sidebar).style.background="none";Lance$(this.sidebar).style.color=""}};GEvent.addListener(P,"mouseout",P.onOut);GEvent.addListener(P,"mouseover",P.onOver);GEvent.addListener(P,"click",function(U){var V=false;if(!U){U=this.getPoint();V=true}if(this.geoxml.clickablelines||V){this.map.openInfoWindowHtml(U,I,D)}});M.name=G.name;M.description=escape(G.description);if(F.hideall){G.visibility=false}M.visibility=G.visibility;this.kml[N].marks.push(M);this.overlayman.AddMarker(P,G.name,N,S,G.visibility)};GeoXml.prototype.createPolyline=function(K,E,C,G,H,A,F,I,D,J){var B={};if(!E){B.color=this.randomColor()}else{B.color=E}if(!G){B.opacity=0.45}else{B.opacity=G}if(!C){B.width=2}else{B.width=C}B.idx=I;B.visibility=D;if(this.hideall){B.visibility=false}B.name=A;B.description=F;B.lines=K;B.lineidx=[];B.id=J;this.polylines.push(B);setTimeout(this.myvar+".processLine("+(this.polylines.length-1)+",0,'"+I+"');",15)};GeoXml.prototype.processPLine=function(H,D,B){var G=this.polyset[H];var C=G.lines[D];var F={};if(C&&C.length){var E=new PolylineEncoder(18,2,0.00001,true);var A=E.dpEncode(C);F={};F.points=A.encodedPoints;F.levels=A.encodedLevels;F.color=G.color;F.weight=G.weight;F.numLevels=18;F.zoomFactor=2;F.opacity=G.opacity;G.obj.polylines.push(F)}if(D==G.lines.length-1){this.finishPolygon(G.obj,B)}else{setTimeout(this.myvar+".processPLine("+H+","+(D+1)+",'"+B+"');",5)}};GeoXml.prototype.finishPolygon=function(B,A){B.type="polygon";this.finishPolygonJSON(B,A,false)};GeoXml.prototype.finishPolygonJSON=function(H,J,N,M){var G=this;var C=G.opts.iwoptions||{};if(typeof H.visibility=="undefined"){H.visibility=true}if(G.hideall){H.visibility=false}var R=unescape(H.description);H.opacity=H.fillOpacity;var L=new GPolygon.fromEncoded(H);var I="<div style='font-weight: bold; font-size: medium; margin-bottom: 0em;'>"+H.name+"</div><div style='font-family: Arial, sans-serif;font-size: small;width:"+this.iwwidth+"px'>"+R+"</div>";var T=(M!="p_"+H.name);if(T&&this.opts.sidebarid){this.latestsidebar=G.myvar+"sb"+this.overlayman.markers.length}else{this.latestsidebar=""}if(G.opts.domouseover){L.mess=I}L.strokeColor=H.polylines[0].color;L.mb=G.mb;L.hilite=G.hilite;L.strokeOpacity=H.polylines[0].opacity;L.fillOpacity=H.opacity;L.fillColor=H.color;if(!H.fill){L.fillOpacity=0}if(G.domouseover){L.mess=I}L.geoxml=G;L.title=H.name;L.id=H.id;var O=this.overlayman.markers.length;if(T){G.multibounds.push(new GLatLngBounds());G.polygons.push([])}var Q=G.multibounds.length-1;G.multibounds[Q].extend(L.getBounds().getSouthWest());G.multibounds[Q].extend(L.getBounds().getNorthEast());G.polygons[G.polygons.length-1].push(O);L.polyindex=G.polygons.length-1;L.geomindex=Q;L.sidebarid=this.latestsidebar;L.onOver=function(){if(this.sidebarid){var X=Lance$(this.sidebarid);if(!!X){X.style.backgroundColor=this.hilite.color;X.style.color=this.hilite.textcolor}}if(this.geoxml.clickablepolys){var Y=this.geoxml.polygons[this.polyindex];if(Y&&this.hidden!=true){for(var a=0;a<Y.length;a++){var Z=this.geoxml.overlayman.markers[Y[a]];Z.realColor=Z.fillColor;Z.setFillStyle({color:this.hilite.color});Z.redraw(true)}}}if(this.mess){L.geoxml.mb.showMess(this.mess,5000)}};L.onOut=function(){if(this.sidebarid){var X=Lance$(this.sidebarid);if(!!X){X.style.background="none";X.style.color=""}}var Y;if(this.geoxml.clickablepolys){Y=this.geoxml.polygons[this.polyindex]}if(Y&&this.hidden!=true){for(var a=0;a<Y.length;a++){var Z=this.geoxml.overlayman.markers[Y[a]];Z.setFillStyle({color:Z.realColor});Z.redraw(true)}}};GEvent.addListener(L,"mouseout",L.onOut);GEvent.addListener(L,"mouseover",L.onOver);H.description=escape(R);this.kml[J].marks.push(H);L.map=this.map;var E;GEvent.addListener(L,"click",function(X,Y){if(!X&&this.geoxml.alwayspop){E=this.geoxml.multibounds[this.geomindex];this.map.setCenter(E.getCenter(),this.map.getBoundsZoomLevel(E));X=E.getCenter()}if(!X){this.geoxml.mb.showMess("Zooming to "+L.title,3000);E=this.geoxml.multibounds[this.geomindex];this.map.setZoom(this.map.getBoundsZoomLevel(E));this.map.panTo(E.getCenter())}else{if(this.geoxml.clickablepolys){this.map.openInfoWindowHtml(X,I,C)}}});if(this.opts.polylabelclass&&T){var B=L.getBounds().getCenter();var V=this.opts.polylabeloffset;if(!V){V=new GSize(0,0)}V.x=-(H.name.length*6);var P=new ELabel(B," "+H.name+" ",this.opts.polylabelclass,V,this.polylabelopacity,true);L.label=P;this.map.addOverlay(P)}var F="";var S;if(this.basesidebar&&T){var U=this.myvar+"_folder"+J;var A='<span style="background-color:'+H.color+";border:2px solid "+L.strokeColor+';">&nbsp;&nbsp;&nbsp;&nbsp;</span> ';if(this.sidebarsnippet){var W=GeoXml.stripHTML(R);W=W.substring(0,20)}else{W=""}S=this.myvar+"$$$"+H.name+"$$$polygon$$$"+O+"$$$"+A+"$$$"+H.visibility+"$$$null$$$"+W}if(N){var D=L.getBounds().getNorthEast();var K=L.getBounds().getSouthWest();this.bounds.extend(D);this.bounds.extend(K);this.overlayman.folderBounds[J].extend(K);this.overlayman.folderBounds[J].extend(D)}this.overlayman.AddMarker(L,H.name,J,S,H.visibility);return H.name};GeoXml.prototype.finishLineJSON=function(E,P,C){var G;var M=this;var O=this.map;if(E.type=="line"){G=new GPolyline(E.points,E.color,E.weight,E.opacity)}else{G=new GPolyline.fromEncoded(E)}G.mytitle=E.name;G.title=E.name;G.geoxml=this;G.strokeColor=E.color;G.strokeWeight=E.weight;G.strokeOpacity=E.opacity;G.hilite=this.hilite;var D=M.overlayman.markers.length;var B=false;var F;if(("l_"+E.name)!=C){B=true;M.polylines.push(E);F=M.polylines.length-1;M.polylines[F].lineidx=[];M.polylines[F].lineidx.push(D);M.latestsidebar=M.myvar+"sb"+D}else{F=M.polylines.length-1;M.polylines[F].lineidx.push(D)}if(this.opts.basesidebar){G.sidebarid=M.latestsidebar}G.onOver=function(){if(!!this.sidebarid){var R=Lance$(this.sidebarid);if(R&&typeof R!="undefined"){R.style.backgroundColor=this.hilite.color}}this.realColor=this.strokeColor;if(G.hidden!=true){if(G&&typeof G!="undefined"){G.setStrokeStyle({color:this.hilite.color})}this.redraw(true)}if(this.mess){this.geoxml.mb.showMess(this.mess,5000)}else{this.title="Click for more information about "+this.mytitle}};G.onOut=function(){if(!!this.sidebarid){var R=Lance$(this.sidebarid);if(R&&typeof R!="undefined"){R.style.background="none"}}if(G.hidden!=true){if(G&&typeof G!="undefined"){G.setStrokeStyle({color:this.realColor})}this.redraw(true)}if(this.mess){this.geoxml.mb.hideMess()}};GEvent.addListener(G,"mouseover",G.onOver);GEvent.addListener(G,"mouseover",G.onOut);var K="";M.kml[P].marks.push(E);var L=unescape(E.description);var Q=this.iwwidth;if(L.length*8<Q){Q=L.length*8}if(Q<E.name.length*12){Q=E.name.length*12}var J="<div style='font-weight: bold; font-size: medium; margin-bottom: 0em;'>"+E.name;J+="</div><div style='font-family: Arial, sans-serif;font-size: small;width:"+Q+"px'>"+L+"</div>";G.map=this.map;if(this.clickablelines){GEvent.addListener(G,"click",function(R){if(!R){R=G.getPoint()}this.map.openInfoWindowHtml(R,J,M.opts.iwoptions)})}if(M.basesidebar&&B){var A='&nbsp;&nbsp;<span style=";border-left:'+E.weight+"px solid "+E.color+';">&nbsp;</span> ';if(typeof E.visibility=="undefined"){E.visibility=true}if(this.sidebarsnippet){var I=GeoXml.stripHTML(L);I=I.substring(0,20)}else{I=""}K=M.myvar+"$$$"+E.name+"$$$polyline$$$"+D+"$$$"+A+"$$$"+E.visibility+"$$$"+(M.polylines.length-1)+"$$$"+I}var H=G.getBounds().getNorthEast();var N=G.getBounds().getSouthWest();M.bounds.extend(H);M.bounds.extend(N);M.overlayman.folderBounds[P].extend(N);M.overlayman.folderBounds[P].extend(H);M.overlayman.AddMarker(G,E.name,P,K,E.visibility);return(E.name)};GeoXml.prototype.handlePlaceObj=function(E,H,I,B,D){var F=this;var C=F.jsonmarks[E];var A=C.name;if(C.title){A=C.title}if(A.length+D>F.maxtitlewidth){F.maxtitlewidth=A.length+D}switch(C.type){case"polygon":B="p_"+F.finishPolygonJSON(C,I,true,B);break;case"line":case"polyline":B="l_"+F.finishLineJSON(C,I,B);break;case"point":F.createMarkerJSON(C,I);B="";break}if(E<H-1){var G=F.myvar+".handlePlaceObj("+(E+1)+","+H+","+I+',"'+B+'",'+D+");";document.status="processing "+A;setTimeout(G,1)}else{B="";if(E==F.jsonmarks.length-1){F.progress--;if(F.progress<=0){if(!F.opts.nozoom){F.map.setZoom(F.map.getBoundsZoomLevel(F.bounds));F.map.setCenter(F.bounds.getCenter())}GEvent.trigger(F,"parsed");F.setFolders();if(!F.opts.sidebarid){F.mb.showMess("Finished Parsing",1000);F.ParseURL()}}}}};GeoXml.prototype.parseJSON=function(doc,title,latlon,desc,sbid){var that=this;that.overlayman.miStart=new Date();that.jsdocs=eval("("+doc+")");var bar=Lance$(that.basesidebar);if(bar){bar.style.display=""}that.recurseJSON(that.jsdocs[0],title,desc,that.basesidebar,0)};GeoXml.prototype.setFolders=function(){var E=this;var A=E.kml.length;for(var C=0;C<A;C++){var G=E.kml[C].folderid;var F=new String(G);var D=F.replace("_folder","FB");var H=Lance$(D);var B=Lance$(G);if(B!==null&&G!=E.opts.sidebarid){if(!!E.kml[C].open){B.style.display="block"}else{B.style.display="none";if(H.src==E.foldericon){H.src=E.folderclosedicon}if(H.src==E.docicon){H.src=E.docclosedicon}}}}};GeoXml.prototype.recurseJSON=function(a,b,T,Y,Z){var H=this;var D=a.marks;var c=a.title;if(!Y){Y=0}var Q=unescape(a.description);if(!Q&&T){Q=T}var J=H.forcefoldersopen;if(a.open){J=true}var E=true;if(typeof a.visibility!="undefined"&&a.visibility){E=true}if(H.hideall){E=false}var I=a.snippet;var M=H.overlayman.folders.length;if(!Q){Q=c}var X;var W;H.overlayman.folders.push([]);H.overlayman.subfolders.push([]);H.overlayman.folderhtml.push([]);H.overlayman.folderhtmlast.push(0);H.overlayman.folderBounds.push(new GLatLngBounds());H.kml.push(new KMLObj(b,Q,J));if((!Z&&(a.folders&&a.folders.length>1))||a.marks.length){if(Z<2||a.marks.length<1){W=H.globalicon}else{W=H.foldericon}X=H.createFolder(M,c,Y,W,Q,I,J,E)}else{X=Y}var V,B;var F="";var K;var P;var G=H.jsonmarks.length;var S=G+D.length;for(var O=0;O<D.length;O++){var R=D[O];H.jsonmarks.push(R);T=unescape(R.description);P=null;if(H.opts.preloadHTML&&T&&T.match(/<(\s)*img/i)){var L=document.createElement("span");L.style.visibility="visible";L.style.position="absolute";L.style.left="-1200px";L.style.top="-1200px";L.style.zIndex=this.overlayman.markers.length;document.body.appendChild(L);L.innerHTML=T}}if(H.groundOverlays){}if(D.length){H.handlePlaceObj(G,S,M,null,Z)}var N=0;var A=0;if(typeof a.folders!="undefined"){N=a.folders.lenth;for(var U=0;U<a.folders.length;++U){var C=H.jsdocs[a.folders[U]];A=H.recurseJSON(C,C.title,C.description,X,(Z+1));H.overlayman.subfolders[M].push(A);H.overlayman.folderBounds[M].extend(H.overlayman.folderBounds[A].getSouthWest());H.overlayman.folderBounds[M].extend(H.overlayman.folderBounds[A].getNorthEast());if(A!=M){H.kml[M].folders.push(A)}}}if(N||D.length){H.bounds.extend(H.overlayman.folderBounds[M].getSouthWest());H.bounds.extend(H.overlayman.folderBounds[M].getNorthEast())}return M};GeoXml.prototype.createPolygon=function(P,G,D,I,F,L,J,B,H,O,E,N,A,M){var K=this.map;var C={};C.obj={description:H,name:B};C.obj.polylines=[];C.obj.id=M;C.obj.visibility=E;C.obj.fill=N;C.obj.outline=A;C.fillcolor=F;C.obj.strokecolor=G;if(!G){C.color=this.style.color}else{C.color=G}if(!F){C.obj.color=this.randomColor()}else{C.obj.color=F}if(!I){C.obj.opacity=this.style.opacity}else{C.obj.opacity=I}if(typeof L=="undefined"){C.obj.fillOpacity=this.style.fillOpacity}else{C.obj.fillOpacity=L}if(!D){C.weight=this.style.width}else{C.weight=D}C.bounds=J;C.lines=P;C.sidebarid=this.opts.sidebarid;this.polyset.push(C);document.status="processing poly "+B;setTimeout(this.myvar+".processPLine("+(this.polyset.length-1)+",0,'"+O+"')",1)};GeoXml.prototype.toggleFolder=function(B){var C=Lance$(this.myvar+"_folder"+B);var A=Lance$(this.myvar+"TB"+B);var D=Lance$(this.myvar+"FB"+B);if(C.style.display=="none"){C.style.display="";if(A){A.style.fontWeight="normal"}if(D.src==this.folderclosedicon){D.src=this.foldericon}if(D.src==this.docclosedicon){D.src=this.docicon}}else{C.style.display="none";if(A){A.style.fontWeight="bold"}if(D.src==this.foldericon){D.src=this.folderclosedicon}if(D.src==this.docicon){D.src=this.docclosedicon}}};GeoXml.prototype.saveJSON=function(){if(topwin.standalone){var B=browseForSave("Select a directory to place your json file","JSON Data Files (*.js)|*.js|All Files (*.*)|*.*","JSON-DATA");if(typeof B!="undefined"){var A=JSON.stringify(this.kml);saveLocalFile(B+".js",A)}return }if(typeof JSON!="undefined"){var A=JSON.stringify(this.kml);if(typeof serverBlessJSON!="undefined"){serverBlessJSON(escape(A),"MyKJSON")}else{this.showIt(A)}}else{alert("No JSON methods currently available")}};GeoXml.prototype.hide=function(){this.contentToggle(1,false);this.overlayman.currentZoomLevel=-1;Clusterer.Display(this.overlayman)};GeoXml.prototype.show=function(){this.contentToggle(1,true);this.overlayman.currentZoomLevel=-1;Clusterer.Display(this.overlayman)};GeoXml.prototype.toggleContents=function(B,A){this.contentToggle(B,A);this.overlayman.currentZoomLevel=-1;Clusterer.Display(this.overlayman)};GeoXml.prototype.contentToggle=function(E,C){var G=this.overlayman.folders[E];var B;var D;var A;if(typeof G=="undefined"){this.mb.showMess("folder "+G+" not defined");return }if(C){for(D=0;D<G.length;D++){A=this.overlayman.markers[G[D]];A.hidden=false;if(this.basesidebar){B=Lance$(this.myvar+""+G[D]+"CB");if(B&&typeof B!="undefined"){B.checked=true}}if(A.hide){A.show()}else{this.map.addOverlay(A)}if(!!A.label){A.label.show()}}}else{for(D=0;D<G.length;D++){A=this.overlayman.markers[G[D]];A.hidden=true;if(this.basesidebar){B=Lance$(this.myvar+""+G[D]+"CB");if(B&&typeof B!="undefined"){B.checked=false}}if(A.hide){A.hide()}else{this.map.removeOverlay(A)}if(!!A.label){A.label.hide()}}}var F=this.overlayman.subfolders[E];if(typeof F!="undefined"){for(D=0;D<F.length;D++){if(F[D]!=E){if(this.basesidebar){B=Lance$(this.myvar+""+F[D]+"FCB");if(B&&typeof B!="undefined"){B.checked=(!!C)}}this.contentToggle(F[D],C)}}}};GeoXml.prototype.showHide=function(C,B,F){var A,E;if(C!=null){if(B){this.overlayman.markers[C].show();this.overlayman.markers[C].hidden=false;if(!!this.overlayman.markers[C].label){this.overlayman.markers[C].label.show()}}else{this.overlayman.markers[C].hide();this.overlayman.markers[C].hidden=true;if(!!this.overlayman.markers[C].label){this.overlayman.markers[C].label.hide()}}}else{var D=this.polylines[F];if(B){for(E=0;E<D.lineidx.length;E++){A=this.overlayman.markers[D.lineidx[E]];A.hidden=false;if(A.hide){A.show()}else{this.map.addOverlay(A)}if(!!A.label){A.show()}}}else{for(E=0;E<D.lineidx.length;E++){A=this.overlayman.markers[D.lineidx[E]];A.hidden=true;if(A.hide){A.hide()}else{this.map.removeOverlay(A)}if(!!A.label){A.hide()}}}}this.overlayman.currentZoomLevel=-1;Clusterer.Display(this.overlayman,true)};GeoXml.prototype.toggleOff=function(B,A){if(A){this.map.addOverlay(this.overlayman.markers[B]);this.overlayman.markers[B].hidden=false}else{this.map.removeOverlay(this.overlayman.markers[B]);this.overlayman.markers[B].hidden=true}if(this.labels.onMap){this.map.removeOverlay(this.labels);this.map.addOverlay(this.labels)}};GeoXml.addSidebar=function(J,C,H,G,A,K,E,B){var D="checked";if(K=="false"){D=""}var F="";var I=J+"sb"+G;if(B&&B!="undefined"){B="<br><span class='"+J+"snip'>"+B+"</span>"}else{B=""}switch(H){case"marker":F='<li id="'+I+'" onmouseout="GEvent.trigger('+J+".overlayman.markers["+G+"],'mouseout');\" onmouseover=\"GEvent.trigger("+J+".overlayman.markers["+G+"],'mouseover');\" ><input id=\""+J+""+G+'CB" type="checkbox" style="vertical-align:middle" '+D+' onclick="'+J+".showHide("+G+',this.checked)"><a href="#" onclick="GEvent.trigger('+J+".overlayman.markers["+G+"],'click');return false;\">"+A+C+"</a>"+B+"</li>";break;case"polyline":F='<li id="'+I+'"  onmouseout="'+J+".overlayman.markers["+G+'].onOut();" onmouseover="'+J+".overlayman.markers["+G+'].onOver();" ><input id="'+J+""+G+'CB" type="checkbox" '+D+' onclick="'+J+".showHide(null,this.checked,"+E+')"><span style="margin-top:6px;"><a href="#" onclick="GEvent.trigger('+J+".overlayman.markers["+G+"],'click');return false;\">&nbsp;"+A+C+"</a></span>"+B+"</li>";break;case"polygon":F='<li id="'+I+'"  onmouseout="'+J+".overlayman.markers["+G+'].onOut();" onmouseover="'+J+".overlayman.markers["+G+'].onOver();" ><input id="'+J+""+G+'CB" type="checkbox" '+D+' onclick="'+J+".showHide("+G+',this.checked)"><span style="margin-top:6px;"><a href="#" onclick="GEvent.trigger('+J+".overlayman.markers["+G+"],'click');return false;\">&nbsp;"+A+C+"</a></span></nobr>"+B+"</li>";break;case"groundoverlay":F='<li id="'+I+'"><input id="'+J+""+G+'CB" type="checkbox" '+D+' onclick="'+J+".showHide("+G+',this.checked)"><span style="margin-top:6px;"><a href="#" onclick="GEvent.trigger('+J+".overlayman.markers["+G+"],'zoomto');return false;\">&nbsp;"+A+C+"</a></span>"+B+"</li>";break;case"tiledoverlay":F='<li id="'+I+'"><nobr><input id="'+J+""+G+'CB" type="checkbox" '+D+' onclick="'+J+".toggleOff("+G+',this.checked)"><span style="margin-top:6px;"><a href="#" oncontextMenu="'+J+".upgradeLayer("+E+');return false;" onclick="GEvent.trigger('+J+".overlayman.markers["+G+"],'zoomto');return false;\">"+GeoXml.WMSICON+"&nbsp;"+C+"</a><br />"+A+"</span>"+B+"</li>";break}return F};GeoXml.addDropdown=function(D,A,C,B,E){return'<option value="'+B+'">'+A+"</option>"};GeoXml.prototype.parse=function(G){var D=this;var E=[];if(typeof G!="undefined"){if(typeof G!="string"){E=G}else{E=G.split(",")}}D.progress+=D.urls.length;for(var B=0;B<D.urls.length;B++){var F=E[B];if(typeof F=="undefined"||!F||F=="null"){var A=D.urls[B].split("/");F=A[A.length-1]}D.mb.showMess("Loading "+F);var C=/\.js$/i;if(D.urls[B].search(C)!=-1){D.loadJSONUrl(this.urls[B],F)}else{D.loadXMLUrl(this.urls[B],F)}}};GeoXml.prototype.parseString=function(D,E,B){var C=[];if(E){C=E.split(",")}if(typeof D=="string"){this.docs=[D]}else{this.docs=D}this.progress+=this.docs.length;for(var A=0;A<this.docs.length;A++){this.mb.showMess("Processing "+C[A]);this.processing(GXml.parse(this.docs[A]),C[A],B)}};GeoXml.prototype.parseXML=function(D,E,B){var C=[];if(typeof E!="undefined"){if(typeof E=="string"){C=E.split(",")}else{C=E}}if(typeof D=="array"){this.docs=D}else{this.docs=[D]}this.progress+=this.docs.length;for(var A=0;A<this.docs.length;A++){this.mb.showMess("Processing "+C[A]);this.processing(this.docs[A],C[A],B)}};var currdeschead="";GeoXml.prototype.makeDescription=function(F,L,G){var J="";var I=F.childNodes.length;var K=0;var E;while(I--){var D=F.childNodes.item(K);var N=D.nodeName;var H=N.split(":");var C="";if(H.length>1){C=H[1]}else{C=N}if(C.match(/^(lat|long|visible|visibility|boundedBy|StyleMap|styleUrl|posList|coordinates|Style|Polygon|LineString|Point|LookAt|Envelope|Box|MultiPolygon|where|guid)/)){currdeschead=""}else{if(C.match(/#text|the_geom|SchemaData|ExtendedData|#cdata-section/)){}else{if(C.match(/Snippet/i)){}else{if(C.match(/SimpleData/)){C=D.getAttribute("name")}currdeschead="<b>&nbsp;"+C+"&nbsp;</b> :"}}E=D.nodeValue;if(N=="link"){var A=D.getAttribute("href");if(A&&A!="null"){E='<a target="_blank" title="'+A+'" href="'+A+'">Link</a>'}else{if(E&&E!="null"){E='<a target="_blank" title="'+E+'" href="'+E+'">Link</a>'}}currdeschead="Link to Article"}if(C.match(/(\S)*(name|title)(\S)*/i)){if(!E){E=GXml.value(D)}L=E;if(E&&typeof L!="undefined"&&L.length>this.maxtitlewidth){this.maxtitlewidth=L.length}currdeschead=""}else{if(E&&E.match(/(\S)+/)){if(E.match(/^http:\/\/|^https:\/\//i)){E='<a target="_blank" " href="'+E+'">[go]</a>'}else{if(!L||L==""){L=E;if(E&&typeof L!="undefined"&&L.length>this.maxtitlewidth){this.maxtitlewidth=L.length}}}}if(E&&E!="null"&&E!="  "&&E!=" "&&(E.match(/(\s|\t|\n)*/)!=true)){if(currdeschead!=""){J+="<br />"}J+=currdeschead+""+E+"";currdeschead=""}if(D.childNodes.length){var B=this.makeDescription(D,L,G+1);if(B){J+=B.desc;if(typeof B.title!="undefined"&&B.title){L=B.title;if(L.length>this.maxtitlewidth){this.maxtitlewidth=L.length+G}}}}}}K++}var M={};M.desc=J;M.title=L;return M};GeoXml.prototype.randomColor=function(){var B="#";for(var C=0;C<6;C++){var A=parseInt(Math.random()*16,10)+1;B+=A.toString(16)}return B};GeoXml.prototype.handleGeomark=function(G,t,g){var f=this;var i,Y,K,m;Y="";i="";var N=0;var Z,C;var P=true;if(this.hideall){P=false}var M=true;var E=true;var B,R,r,W,v;var D=[];var X,n,S;var H="";var Q=[];var O=0;var U=0;var q=0;var F=0;var k;var h=[];var d,o;var s=new GLatLngBounds();var e=G.getElementsByTagName("coordinates");if(e.length<1){e=G.getElementsByTagName("gml:coordinates")}if(e.length<1){e=[];Q=G.getElementsByTagName("gml:posList");if(Q.length<1){Q=G.getElementsByTagName("posList")}for(o=0;o<Q.length;o++){H=" ";D=GXml.value(Q.item(o)).split(" ");if(f.isWFS){for(d=0;d<(D.length-1);d++){if(D[d]&&D[d]!=" "&&!isNaN(parseFloat(D[d]))){H+=""+parseFloat(D[d])+","+parseFloat(D[d+1]);H+=" ";d++}}}else{for(d=0;d<(D.length-1);d++){if(D[d]&&D[d]!=" "&&!isNaN(parseFloat(D[d]))){H+=""+parseFloat(D[d+1])+","+parseFloat(D[d]);H+=" ";d++}}}if(H){if(Q.item(o).parentNode&&(Q.item(o).parentNode.nodeName=="gml:LineString")){q++}else{F++}S="<coordinates>"+H+"</coordinates>";X=GXml.parse(S);if(e.push){e.push(X)}}}var V=G.getElementsByTagName("gml:pos");if(V.length<1){V=G.getElementsByTagName("gml:pos")}if(V.length){for(k=0;k<V.length;k++){n=GXml.value(V.item(k));D=n.split(" ");if(!f.isWFS){X=GXml.parse("<coordinates>"+D[1]+","+D[0]+"</coordinates>")}else{X=GXml.parse("<coordinates>"+D[0]+","+D[1]+"</coordinates>")}if(e.push){e.push(X)}}}}var J=false;O=0;U=0;q=0;F=0;var L=f.makeDescription(G,"");i="<div id='currentwindow' style='overflow:auto;height:"+this.iwheight+"px' >"+L.desc+"</div> ";if(!K&&L.title){K=L.title;if(K.length>this.maxtitlewidth){this.maxtitlewidth=K.length}}if(J&&typeof Z!="undefined"){e.push(""+C+","+Z)}var b=[];var a;var T;var A;for(var u=0;u<e.length;u++){T=false;if(e[u].parentNode&&(e[u].parentNode.nodeName=="gml:Box"||e[u].parentNode.nodeName=="gml:Envelope")){T=true}H=GXml.value(e[u]);H+=" ";H=H.replace(/\s+/g," ");H=H.replace(/^ /,"");H=H.replace(/, /,",");var j=H.split(" ");if(j.length==1||j[1]==""){A=j[0].split(",");a=new GLatLng(parseFloat(A[1])/g.ys-g.y,parseFloat(A[0])/g.xs-g.x);f.bounds.extend(a);if(!T){if(typeof K=="undefined"){K=f.unnamedplace}if(!!f.opts.createmarker){f.opts.createmarker(a,K,i,N,t,null,P)}else{f.createMarker(a,K,i,N,t,null,P)}}}else{for(k=0;k<j.length-1;k++){A=j[k].split(",");a=new GLatLng(parseFloat(A[1])/g.ys-g.y,parseFloat(A[0])/g.xs-g.x);h.push(a);s.extend(a)}f.bounds.extend(s.getNorthEast());f.bounds.extend(s.getSouthWest());if(!T){b.push(h)}}}if(!b||b.length<1){return }var I=G.getElementsByTagName("LineString");if(I.length<1){I=G.getElementsByTagName("gml:LineString")}if(I.length||q>0){if(!!m){B=m.width;R=m.color;r=m.opacity}else{B=this.style.width;R=this.style.color;r=this.style.opacity}if(typeof K=="undefined"){K=f.unnamedpath}if(!!f.opts.createpolyline){f.opts.createpolyline(b,R,B,r,s,K,i,t,P)}else{f.createPolyline(b,R,B,r,s,K,i,t,P)}}var w=G.getElementsByTagName("Polygon");if(w.length<1){w=G.getElementsByTagName("gml:Polygon")}if(w.length||F>0){if(!!m){B=m.width;R=m.color;r=m.opacity;W=m.fillOpacity;v=m.fillColor;M=m.file;E=m.outline}v=this.randomColor();R=this.randomColor();M=1;E=1;if(typeof K=="undefined"){K=f.unnamedarea}if(!!f.opts.createpolygon){f.opts.createpolygon(b,R,B,r,v,W,s,K,i,t,P,M,E)}else{f.createPolygon(b,R,B,r,v,W,s,K,i,t,P,M,E)}}};GeoXml.prototype.handlePlacemark=function(J,AS,I,b){var AA=this;var AC,t,R,AH;t="";AC="";var W=0;var u,C;var d=true;if(this.hideall){d=false}var S=false;var E;var AP;var K;var r;var g;var B;var AQ;var U;var AB=[];var x=[];var A=[];var w;var D,s,h,AI;var AJ,q,AG,AM,AL,y;var Y=J.getAttribute("id");var Z=0;var n=0;var AK=0;var F=0;var N="";var AF="";var H="";AJ=J.getAttribute("lat");if(typeof AJ!="undefined"){u=AJ}AJ=J.getAttribute("lon");if(typeof AJ!="undefined"){S=true;C=AJ}AJ=0;var z=J.getElementsByTagName("coordinates");if(z.length<1){z=J.getElementsByTagName("gml:coordinates")}if(z.length<1){z=[];var f=J.getElementsByTagName("gml:posList");if(!f.length){f=J.getElementsByTagName("posList")}for(AJ=0;AJ<f.length;AJ++){N=" ";var AE=GXml.value(f.item(AJ))+" ";AE=AE.replace(/(\s)+/g," ");D=AE.split(" ");if(AA.isWFS){for(y=0;y<(D.length-1);y++){if(!isNaN(parseFloat(D[y]))&&!isNaN(parseFloat(D[y+1]))){N+=""+parseFloat(D[y])+","+parseFloat(D[y+1]);N+=" ";y++}}}else{for(y=0;y<(D.length-1);y++){if(!isNaN(parseFloat(D[y]))&&!isNaN(parseFloat(D[y+1]))){N+=""+parseFloat(D[y+1])+","+parseFloat(D[y]);N+=" ";y++}}}if(N){if(f.item(AJ).parentNode&&(f.item(AJ).parentNode.nodeName=="gml:LineString")){AK++}else{F++}h="<coordinates>"+N+"</coordinates>";s=GXml.parse(h);if(z.push){z.push(s)}}}q=J.getElementsByTagName("gml:pos");if(q.length<1){q=J.getElementsByTagName("gml:pos")}if(q.length){for(AG=0;AG<q.length;AG++){AI=GXml.value(q.item(AG))+" ";D=AI.split(" ");if(!AA.isWFS){s=GXml.parse("<coordinates>"+D[1]+","+D[0]+"</coordinates>")}else{s=GXml.parse("<coordinates>"+D[0]+","+D[1]+"</coordinates>")}if(z.push){z.push(s)}}}}for(var o=0;o<J.childNodes.length;o++){var AR=J.childNodes.item(o).nodeName;AI=GXml.value(J.childNodes.item(o));var AO=AR.split(":");var X;if(AO.length>1){X=AO[1].toLowerCase()}else{X=AO[0].toLowerCase()}var v=false;switch(X){case"name":R=AI;if(R.length+I>this.maxtitlewidth){this.maxtitlewidth=R.length+I}break;case"title":t=AI;if(t.length+I>this.maxtitlewidth){this.maxtitlewidth=t.length+I}break;case"desc":case"description":AC=GeoXml.getDescription(J.childNodes.item(o));if(!AC){AC=AI}if(AA.opts.preloadHTML&&AC&&AC.match(/<(\s)*img/i)){var M=document.createElement("span");M.style.visibility="visible";M.style.position="absolute";M.style.left="-1200px";M.style.top="-1200px";M.style.zIndex=this.overlayman.markers.length;document.body.appendChild(M);M.innerHTML=AC}if(AC.match(/^http:\/\//i)){var L=AC.split(/(\s)+/);if(L.length>1){AC='<a href="'+L[0]+'">'+L[0]+"</a>";for(var AN=1;AN<L.length;AN++){AC+=L[AN]}}else{AC='<a href="'+AC+'">'+AC+"</a>"}}break;case"visibility":if(AI=="0"){d=false}break;case"Snippet":case"snippet":H=AI;break;case"href":case"link":if(AI){AC+="<p><a target='_blank' href='"+AI+"'>link</a></p>";AF=AI}else{var a=J.childNodes.item(o).getAttribute("href");if(a){var V=J.childNodes.item(o).getAttribute("type");if(V&&V.match(/image/)){AC+='<img style="width:256px" src=\''+a+"' />"}AF=a}}break;case"author":AC+="<p><b>author:</b>"+AI+"</p>";break;case"time":AC+="<p><b>time:</b>"+AI+"</p>";break;case"lat":u=AI;break;case"long":C=AI;S=true;break;case"point":Z++;v=true;break;case"line":AK++;v=true;break;case"box":n++;v=true;break;case"polygon":F++;v=true;break;case"styleurl":W=AI;break;case"stylemap":var G=false;s=J.childNodes.item(o);for(AM=0;(AM<s.childNodes.length&&!G);AM++){var O=s.childNodes[AM];for(AL=0;(AL<O.childNodes.length&&!G);AL++){var Q=O.childNodes[AL].nodeName;if(Q=="Style"){AH=this.handleStyle(O.childNodes[AL]);G=true}}}break;case"Style":case"style":AH=this.handleStyle(J.childNodes.item(o));break}if(v){D=AI.split(" ");N="";for(y=0;y<(D.length-1);y++){if(!isNaN(parseFloat(D[y]))&&!isNaN(parseFloat(D[y+1]))){N+=""+parseFloat(D[y+1])+","+parseFloat(D[y]);N+=" ";y++}}if(N!=""){s=GXml.parse("<coordinates>"+N+"</coordinates>");if(z.push){z.push(s)}}}}if(!R&&t){R=t}if(b){AH=b}if(W){AH=this.styles[W]}if(typeof AC=="undefined"||!AC||this.opts.makedescription){var T=AA.makeDescription(J,"");AC="<div id='currentpopup' style='overflow:auto;height:"+this.iwheight+"px' >"+T.desc+"</div> ";if(!R&&T.title){R=T.title;if((R.length+I)>this.maxtitlewidth){this.maxtitlewidth=R.length+I}}}if(S&&typeof u!="undefined"){if(u){var e=""+C+","+u+" ";s=GXml.parse("<coordinates>"+e+"</coordinates>");z.push(s)}}for(var AT=0;AT<z.length;AT++){var m=false;if(z[AT].parentNode&&(z[AT].parentNode.nodeName.match(/^(gml:Box|gml:Envelope)/i))){m=true}N=GXml.value(z[AT]);N+=" ";N=N.replace(/(\s)+/g," ");N=N.replace(/^ /,"");N=N.replace(/, /,",");var AD=N.split(" ");if(AD.length==1||AD[1]==""){A=AD[0].split(",");w=new GLatLng(parseFloat(A[1]),parseFloat(A[0]));this.overlayman.folderBounds[AS].extend(w);if(!m){if(typeof R=="undefined"){R=AA.unnamedplace}if(!!AA.opts.createmarker){AA.opts.createmarker(w,R,AC,W,AS,AH,d,Y,AF,H)}else{AA.createMarker(w,R,AC,W,AS,AH,d,Y,AF,H)}}}else{AB=[];AQ=new GLatLngBounds();for(AG=0;AG<AD.length-1;AG++){A=AD[AG].split(",");w=new GLatLng(parseFloat(A[1]),parseFloat(A[0]));AB.push(w);AQ.extend(w)}this.overlayman.folderBounds[AS].extend(AQ.getSouthWest());this.overlayman.folderBounds[AS].extend(AQ.getNorthEast());this.bounds.extend(AQ.getSouthWest());this.bounds.extend(AQ.getNorthEast());if(!m){x.push(AB)}}}if(!x||x.length<1){return }var P=J.getElementsByTagName("LineString");if(P.length<1){P=J.getElementsByTagName("gml:LineString")}if(P.length||AK>0){if(!!AH){B=AH.width;g=AH.color;AP=AH.opacity}else{B=this.style.width;g=this.style.color;AP=this.style.opacity}if(typeof R=="undefined"){R=unnamedpath}if(!!AA.opts.createpolyline){AA.opts.createpolyline(x,g,B,AP,AQ,R,AC,AS,d,Y)}else{AA.createPolyline(x,g,B,AP,AQ,R,AC,AS,d,Y)}}var AU=J.getElementsByTagName("Polygon");if(AU.length<1){AU=J.getElementsByTagName("gml:Polygon")}if(AU.length||F>0){if(!!AH){B=AH.width;g=AH.color;AP=AH.opacity;r=AH.fillOpacity;K=AH.fillcolor;U=AH.fill;E=AH.outline}if(typeof U=="undefined"){U=1}if(typeof g=="undefined"){g=this.style.color}if(typeof K=="undefined"){K=this.randomColor()}if(typeof R=="undefined"){R=AA.unnamedarea}if(!!AA.opts.createpolygon){AA.opts.createpolygon(x,g,B,AP,K,r,AQ,R,AC,AS,d,U,E,Y)}else{AA.createPolygon(x,g,B,AP,K,r,AQ,R,AC,AS,d,U,E,Y)}}};GeoXml.prototype.makeIcon=function(D,A){if(!!A){if(!!this.opts.baseicon){D=new GIcon(this.opts.baseicon,A);D.href=A}else{D=new GIcon(G_DEFAULT_ICON,A);D.iconSize=new GSize(32,32);D.shadowSize=new GSize(59,32);D.dragCrossAnchor=new GPoint(2,8);D.iconAnchor=new GPoint(16,32);D.href=A;if(this.opts.printgif){var C=A.split("/");var B=C[C.length-1];B=this.opts.printgifpath+B.replace(/.png/i,".gif");D.printImage=B;D.mozPrintImage=B}if(!!this.opts.noshadow){D.shadow=""}else{if(A.indexOf("/red.png")>-1||A.indexOf("/blue.png")>-1||A.indexOf("/green.png")>-1||A.indexOf("/yellow.png")>-1||A.indexOf("/lightblue.png")>-1||A.indexOf("/purple.png")>-1||A.indexOf("/orange.png")>-1||A.indexOf("/pink.png")>-1||A.indexOf("-dot.png")>-1){D.shadow="http://maps.google.com/mapfiles/ms/icons/msmarker.shadow.png"}else{if(A.indexOf("-pushpin.png")>-1||A.indexOf("/pause.png")>-1||A.indexOf("/go.png")>-1||A.indexOf("/stop.png")>-1){D.shadow="http://maps.google.com/mapfiles/ms/icons/pushpin_shadow.png"}else{var E=A.replace(".png",".shadow.png");if(E.indexOf(".jpg")){E=""}D.shadow=E}}}}}if(this.opts.noshadow){D.shadow=""}return D};GeoXml.prototype.handleStyle=function(E,G){var P=E.getElementsByTagName("Icon");var K,L;var C,M,N,J;var Q,D,I,B,A;if(P.length>0){D=GXml.value(P[0].getElementsByTagName("href")[0]);K=this.makeIcon(K,D)}var O=E.getElementsByTagName("LineStyle");if(O.length>0){var F=parseInt(GXml.value(O[0].getElementsByTagName("width")[0]),10);if(F<1){F=5}I=GXml.value(O[0].getElementsByTagName("color")[0]);C=I.substr(0,2);M=I.substr(2,2);N=I.substr(4,2);J=I.substr(6,2);I="#"+J+N+M;L=parseInt(C,16)/256;if(!K){K={}}K.color=I;K.width=F;K.opacity=L}var H=E.getElementsByTagName("PolyStyle");if(H.length>0){Q=parseInt(GXml.value(H[0].getElementsByTagName("fill")[0]),10);A=parseInt(GXml.value(H[0].getElementsByTagName("outline")[0]),10);I=GXml.value(H[0].getElementsByTagName("color")[0]);B=GXml.value(H[0].getElementsByTagName("colorMode")[0]);if(H[0].getElementsByTagName("fill").length==0){Q=1}if(H[0].getElementsByTagName("outline").length==0){A=1}C=I.substr(0,2);M=I.substr(2,2);N=I.substr(4,2);J=I.substr(6,2);I="#"+J+N+M;L=parseInt(C,16)/256;if(!K){K={}}K.fill=Q;K.outline=A;if(B!="random"){K.fillcolor=I}else{K.colortint=I}K.fillOpacity=L;if(!Q){K.fillOpacity=0}if(!A){K.opacity=0}}if(G){this.styles["#"+G]=K}return K};GeoXml.prototype.processKML=function(l,p,m,a,F,w){var r=this;var AH=this.map;var I;var N;var e=this.forcefoldersopen;if(l.nodeName=="kml"){I=this.docicon}if(l.nodeName=="Document"){I=this.kmlicon}if(l.nodeName=="Folder"){I=this.foldericon;N=m}var J=[];var P=[];var u="";var E="";var AA;var W=false;if(!this.hideall){W=true}var Z=false;var t=false;var D;var A=null;var AB=1;var G;var AF=false;var Y=[];var M;var b;var o;var v,B,H,R;var c;var S=l.getAttribute("id");for(var j=0;j<l.childNodes.length;j++){var T=l.childNodes.item(j);var AD=T.nodeName;var x=T.nodeValue;switch(AD){case"name":case"title":m=GXml.value(T);if(m.length+F>this.maxtitlewidth){this.maxtitlewidth=m.length+F}break;case"Folder":case"Document":P.push(T);break;case"GroundOverlay":D=GXml.value(T.getElementsByTagName("href")[0]);var K=parseFloat(GXml.value(T.getElementsByTagName("north")[0]));var h=parseFloat(GXml.value(T.getElementsByTagName("south")[0]));var X=parseFloat(GXml.value(T.getElementsByTagName("east")[0]));var Q=parseFloat(GXml.value(T.getElementsByTagName("west")[0]));var L=GXml.value(T.getElementsByTagName("attribution")[0]);H=new GLatLng(h,Q);B=new GLatLng(K,X);this.bounds.extend(H);this.bounds.extend(B);b=GXml.value(T.getElementsByTagName("color")[0]);AB=parseInt(b.substring(1,3),16)/256;M=GXml.value(T.getElementsByTagName("name")[0]);var d=/arcimsproxy/i;if(D.match(d)){D+="&bbox="+Q+","+h+","+X+","+K+"&response=img";G=new GLatLngBounds(H,B);AF=true;o=this.makeWMSTileLayer(D,W,M,AB,L,m,G);if(o){o.bounds=G;o.title=M;o.opacity=AB;o.visible=W;o.url=D;if(!this.quiet){this.mb.showMess("Adding Tiled ArcIms Overlay "+m,1000)}Y.push(o)}}else{var g=/request=getmap/i;if(D.match(g)){D+="&bbox="+Q+","+h+","+X+","+K;G=new GLatLngBounds(H,B);AF=true;o=this.makeWMSTileLayer(D,W,M,AB,L,m,G);if(o){o.bounds=G;o.title=M;o.opacity=AB;o.visible=W;o.url=D;if(!this.quiet){this.mb.showMess("Adding Tiled WMS Overlay "+m,1000)}Y.push(o)}}else{G=new GLatLngBounds(H,B);A=new GGroundOverlay(D,G);A.bounds=G;A.getBounds=function(){return this.bounds};Z=true;AF=false}}break;case"NetworkLink":D=GXml.value(T.getElementsByTagName("href")[0]);t=true;break;case"description":case"Description":u=GeoXml.getDescription(T);break;case"open":if(GXml.value(T)=="1"){e=true}if(GXml.value(T)=="0"){e=this.forcefoldersopen}break;case"visibility":if(GXml.value(T)=="0"){W=false}break;case"snippet":case"Snippet":E=GeoXml.stripHTML(GXml.value(T));E=E.replace(/\n/g,"");break;default:for(var z=0;z<p.length;z++){if(AD==p[z]){J.push(T)}}}}var f;var AC=this.overlayman.folders.length;var O=w;if(P.length>1||J.length||A||AF){this.overlayman.folders.push([]);this.overlayman.subfolders.push([]);this.overlayman.folderhtml.push([]);this.overlayman.folderhtmlast.push(0);this.overlayman.folderBounds.push(new GLatLngBounds());this.kml.push(new KMLObj(m,u,false,AC));O=this.kml.length-1;f=this.createFolder(AC,m,a,I,u,E,true,W)}else{f=a}if(l.nodeName=="Folder"||l.nodeName=="Document"){this.kml[O].open=e;this.kml[O].folderid=f}if(A||AF){this.kml[this.kml.length-1].visibility=W;this.kml[this.kml.length-1].groundOverlays.push({url:D,bounds:G})}if(t){var s=/&amp;/g;D=D.replace(s,"&");var AG=/\n/g;D=D.replace(AG,"");this.progress++;if(!topwin.standalone){if(typeof this.proxy!="undefined"){D=this.proxy+escape(D)}}var C=this.myvar+".loadXMLUrl('"+D+"','"+m+"',null,null,'"+a+"');";setTimeout(C,1000);return }if(AF&&Y.length){for(var AI=0;AI<Y.length;AI++){var o=Y[AI];var V="";if(this.basesidebar){var v=this.overlayman.markers.length;if(!this.nolegend){var AE=o.url.replace(/height=(\d)+/i,"height=100");AE=AE.replace(/width=(\d)+/i,"width=100");V='<img src="'+AE+'" style="width:100px" />'}}if(this.sidebarsnippet&&E==""){E=GeoXml.stripHTML(u);desc2=desc2.substring(0,40)}parm=this.myvar+"$$$"+o.title+"$$$tiledoverlay$$$"+v+"$$$"+V+"$$$"+o.visible+"$$$"+(this.baseLayers.length-1)+"$$$"+E;var c=o.desc;var AH=this.map;GEvent.addListener(o,"zoomto",function(){AH.setZoom(AH.getBoundsZoomLevel(this.getBounds()));AH.panTo(this.getBounds().getCenter())});this.overlayman.AddMarker(o,m,AC,parm,true,true)}}if(A){if(this.basesidebar){var v=this.overlayman.markers.length;var V='<span style="background-color:black;border:2px solid brown;">&nbsp;&nbsp;&nbsp;&nbsp;</span> ';if(this.sidebarsnippet&&E==""){E=GeoXml.stripHTML(u);desc2=desc2.substring(0,40)}parm=this.myvar+"$$$"+m+"$$$polygon$$$"+v+"$$$"+V+"$$$"+W+"$$$null$$$"+E;var c=u;var AH=this.map;GEvent.addListener(A,"zoomto",function(){AH.setZoom(AH.getBoundsZoomLevel(A.getBounds()));AH.panTo(A.getBounds().getCenter())});this.overlayman.folderBounds[AC].extend(A.getBounds().getSouthWest());this.overlayman.folderBounds[AC].extend(A.getBounds().getNorthEast());Z=true;this.overlayman.AddMarker(A,m,AC,parm,W)}this.map.addOverlay(A)}for(AA=0;AA<J.length;AA++){this.handlePlacemark(J[AA],AC,F+1)}var q=0;for(AA=0;AA<P.length;AA++){var y=this.processKML(P[AA],p,m,f,F+1,O);if(typeof y=="number"&&y!=AC){var U=this.overlayman.folderBounds[y];if(!U){this.overlayman.folderBounds[y]=new GLatLngBounds()}else{var H=this.overlayman.folderBounds[y].getSouthWest();var B=this.overlayman.folderBounds[y].getNorthEast();this.overlayman.folderBounds[AC].extend(H);this.overlayman.folderBounds[AC].extend(B)}this.overlayman.subfolders[AC].push(y);if(y!=AC){this.kml[AC].folders.push(y)}q++}}if(q||J.length||Z){this.bounds.extend(this.overlayman.folderBounds[AC].getSouthWest());this.bounds.extend(this.overlayman.folderBounds[AC].getNorthEast())}if(P.length==0&&J.length==0&&!this.opts.basesidebar){this.ParseURL()}return AC};GeoXml.prototype.processGPX=function(M,X,U,W){var S;if(M.nodeName=="gpx"){S=this.gmlicon}if(M.nodeName=="rte"||M.nodeName=="trk"||M.nodeName=="trkseg"){S=this.foldericon}var R=[];var V=[];var Q="";var H="";var P,D,F,N;var K=this.forcefoldersopen;var O="";var C=true;for(var I=0;I<M.childNodes.length;I++){var J=M.childNodes.item(I);var B=J.nodeName;if(B=="name"||B=="title"){X=GXml.value(J);if(X.length+W>this.maxtitlewidth){this.maxtitlewidth=X.length+W}}if(B=="rte"){V.push(J)}if(B=="trk"){V.push(J)}if(B=="trkseg"){V.push(J)}if(B=="trkpt"){R.push(J);N=J.getAttribute("lat");if(typeof N!="undefined"){F=N}N=J.getAttribute("lon");if(typeof N!="undefined"){D=N;O+=D+","+F+" "}}if(B=="rtept"){R.push(J);N=J.getAttribute("lat");if(typeof N!="undefined"){F=N}N=J.getAttribute("lon");if(typeof N!="undefined"){D=N;O+=D+","+F+" "}}if(B=="wpt"){R.push(J)}if(B=="description"||B=="desc"){Q=GXml.value(J)}}if(O.length){var G='<?xml version="1.0"?><Placemark><name>'+X+"</name><description>"+Q+"</description><LineString><coordinates>"+O+"</coordinates></LineString></Placemark>";var E=GXml.parse(G).documentElement;R.push(E)}var T;var L=this.overlayman.folders.length;if(R.length||M.nodeName=="gpx"){this.overlayman.folders.push([]);this.overlayman.subfolders.push([]);this.overlayman.folderhtml.push([]);this.overlayman.folderhtmlast.push(0);this.overlayman.folderBounds.push(new GLatLngBounds());this.kml.push(new KMLObj(X,Q,K,L));T=this.createFolder(L,X,U,S,Q,H,true,C)}else{T=U}for(P=0;P<R.length;P++){this.handlePlacemark(R[P],L,W+1)}for(P=0;P<V.length;P++){var A=this.processGPX(V[P],X,T,W+1);this.overlayman.subfolders[L].push(A);this.overlayman.folderBounds[L].extend(this.overlayman.folderBounds[A].getSouthWest());this.overlayman.folderBounds[L].extend(this.overlayman.folderBounds[A].getNorthEast())}if(this.overlayman.folderBounds[L]){this.bounds.extend(this.overlayman.folderBounds[L].getSouthWest());this.bounds.extend(this.overlayman.folderBounds[L].getNorthEast())}return L};GeoXml.prototype.ParseURL=function(){var E=topwin.location.search.substring(1);var A=E.split("&");var I=this.overlayman.markers;for(var D=0;D<A.length;D++){var G=A[D].indexOf("=");var F=A[D].substring(0,G).toLowerCase();var B=unescape(A[D].substring(G+1));var C=0;var H;if(B){switch(F){case"openbyid":for(C=0;C<I.length;C++){H=I[C].id;if(H==B){this.overlayman.markers[C].show();this.overlayman.markers[C].hidden=false;GEvent.trigger(this.overlayman.markers[C],"click");break}}break;case"kml":case"url":case"src":case"geoxml":this.urls.push(B);this.parse();break;case"openbyname":for(C=0;C<I.length;C++){H=I[C].title;if(H==B){this.overlayman.markers[C].show();this.overlayman.markers[C].hidden=false;GEvent.trigger(this.overlayman.markers[C],"click");break}}break}}}};GeoXml.prototype.processing=function(I,g,P,d,f){this.overlayman.miStart=new Date();if(!d){d=g}var H=this;if(!f){f=0}var G;var R;var W=I.documentElement;if(!W){alert("No document found");return 0}var K=[];var h;var C;var J;var B=W.nodeName;var L=H.forcefoldersopen;var M=B.split(":");if(M.length>1){B=M[1]}var c,F,Z;H.wfs=false;if(B=="FeatureCollection"){c=Lance$(H.basesidebar);if(!g){g=h}if(typeof g=="undefined"){g="Un-named GML"}H.isWFS=true;if(g.length>H.maxtitlewidth){H.maxtitlewidth=g.length}if(c){c.style.display=""}R=H.overlayman.folders.length;H.processGML(W,g,P,d,(H.kml.length-1));H.kml[0].folders.push(R)}if(B=="gpx"){if(!g){g=h}if(typeof g=="undefined"){g="Un-named GPX"}H.title=g;if(g.length>H.maxtitlewidth){H.maxtitlewidth=g.length}c=Lance$(H.basesidebar);if(c){c.style.display=""}R=H.overlayman.folders.length;H.processGPX(W,g,H.basesidebar,f);H.kml[0].folders.push(R)}else{if(B=="kml"){J=W.getElementsByTagName("Style");for(Z=0;Z<J.length;Z++){F=J[Z].getAttribute("id");if(F){H.handleStyle(J[Z],F)}}J=W.getElementsByTagName("StyleMap");for(Z=0;Z<J.length;Z++){F=J[Z].getAttribute("id");if(F){var N=false;var V=J[Z];for(var Y=0;(Y<V.childNodes.length&&!N);Y++){var U=V.childNodes[Y];for(var X=0;(X<U.childNodes.length&&!N);X++){var b=U.childNodes[X].nodeName;if(b=="styleUrl"){var Q=GXml.value(U.childNodes[X]);H.styles["#"+F]=H.styles[Q];N=true}if(b=="Style"){H.handleStyle(U.childNodes[X],F);N=true}}}}}if(!g){g=h}if(typeof g=="undefined"){g="KML Document"}H.title=g;if(g.length>H.maxtitlewidth){H.maxtitlewidth=g.length}var E=["Placemark"];var S=W.getElementsByTagName("Schema");for(var O=0;O<S.length;O++){C=S[O].getAttribute("parent");if(C=="Placemark"){C=S[O].getAttribute("name");E.push(C)}}c=Lance$(H.basesidebar);if(c){c.style.display=""}R=H.overlayman.folders.length;var T=H.kml.length-1;var A=H.processKML(W,E,g,H.basesidebar,R,T);H.kml[T].folders.push(R)}else{K=W.getElementsByTagName("item");if(K.length<1){K=W.getElementsByTagName("atom")}if(K.length<1){K=W.getElementsByTagName("entry")}if(!g){g=h}if(typeof g=="undefined"){g="News Feed"}H.title=g;if(g.length>H.maxtitlewidth){H.maxtitlewidth=g.length}var a;if(H.opts.baseicon){a=H.opts.baseicon;a.href=a.image}else{a=new GIcon(G_DEFAULT_ICON,H.rssicon);a.iconSize=new GSize(32,32);a.shadowSize=new GSize(59,32);a.dragCrossAnchor=new GPoint(2,8);a.iconAnchor=new GPoint(16,32);a.href=H.rssicon;G=H.rssicon.replace(".png",".shadow.png");a.shadow=G+"_shadow.png"}a.color="#00FFFF";a.width="3";a.opacity=0.5;if(!d){d="RSS feed"}H.kml[0].folders.push(H.overlayman.folders.length);if(K.length){c=Lance$(H.basesidebar);if(c){c.style.display=""}H.overlayman.folders.push([]);H.overlayman.folderhtml.push([]);H.overlayman.folderhtmlast.push(0);H.overlayman.folderBounds.push(new GLatLngBounds());R=H.overlayman.folders.length-1;H.kml.push(new KMLObj(g,d,L,R));H.kml[H.kml.length-1].open=L;if(H.basesidebar){var D=true;if(H.hideall){D=false}var e=H.createFolder(R,g,H.basesidebar,H.globalicon,d,null,L,D)}for(Z=0;Z<K.length;Z++){H.handlePlacemark(K[Z],R,f,a)}}}}H.progress--;if(H.progress==0){GEvent.trigger(H,"initialized");if(!H.opts.sidebarid){H.mb.showMess("Finished Parsing",1000)}if(!H.opts.nozoom&&!H.basesidebar){H.map.setZoom(H.map.getBoundsZoomLevel(H.bounds));H.map.setCenter(H.bounds.getCenter())}}};GeoXml.prototype.createFolder=function(L,J,E,I,G,A,B,C){var H=Lance$(E);B=true;var N=this.myvar+"_folder"+L;var K="";if(C){K=" checked "}this.overlayman.folderhtml[N]="";var M="display:block";var D="font-weight:normal";if(typeof B=="undefined"||!B){M="display:none";D="font-weight:bold"}if(!G||G==""){G=J}G=escape(G);var F='<ul><input type="checkbox" id="'+this.myvar+""+L+'FCB" style="vertical-align:middle" ';F+=K;F+='onclick="'+this.myvar+".toggleContents("+L+',this.checked)">';F+='&nbsp;<span title="'+A+'" id="'+this.myvar+"TB"+L+'" oncontextmenu="'+this.myvar+".saveJSON("+L+');" onclick="'+this.myvar+".toggleFolder("+L+')" style="'+D+'">';F+='<img id="'+this.myvar+"FB"+L+'" style="vertical-align:text-top;padding:0;margin:0" height="'+this.sidebariconheight+'" border="0" src="'+I+'" /></span>&nbsp;';F+='<a href="#" onclick="'+this.myvar+".overlayman.zoomToFolder("+L+");"+this.myvar+".mb.showMess('"+G+"',3000);return false;\">"+J+'</a><br><div id="'+N+'" style="'+M+'"></div></ul>';if(H){H.innerHTML=H.innerHTML+F}return N};GeoXml.prototype.processGML=function(J,R,p,c,G){var W=this;var V=false;var l=[];var d;var Q=false;var C=0;var S=0;var K=1;var A=1;var Y,D,t;var H,O;var a,Z,g,o;var E=R;var I=true;if(this.hideall){I=false}var M=W.allfoldersopen;var U,T,B;for(var P=0;P<J.childNodes.length;P++){var F=J.childNodes.item(P).nodeName;var e=J.childNodes.item(P);if(F=="gml:boundedBy"||F=="boundedBy"){for(var h=0;h<e.childNodes.length;h++){var r=e.childNodes.item(h).nodeName;var L=/CRS:84|(4326|4269)$/i;if(r=="Box"||r=="gml:Box"){B=e.childNodes.item(h);d=e.childNodes.item(h).getAttribute("srsName");if(d.match(L)){Q=true}else{alert("SRSname ="+d+"; attempting to create transform");for(g=0;g<B.childNodes.length;g++){H=B.childNodes.item(g);if(H.nodeName=="gml:coordinates"||H.nodeName=="coordinates"){O=GXml.value(H);t=O.split(" ");U=t[0].split(",");T=t[1].split(",");K=(parseFloat(T[0])-parseFloat(U[0]))/(p.xmax-p.xmin);A=(parseFloat(T[1])-parseFloat(U[1]))/(p.ymax-p.ymin);C=U[0]/K-p.xmin;S=U[1]/A-p.ymin}}}break}if(r=="Envelope"||r=="gml:Envelope"){B=e.childNodes.item(h);d=e.childNodes.item(h).getAttribute("srsName");if(d.match(L)){Q=true}else{alert("SRSname ="+d+"; attempting to create transform");for(g=0;g<B.childNodes.length;g++){H=B.childNodes.item(g);if(H.nodeName=="gml:coordinates"||H.nodeName=="coordinates"){t=H.split(" ");var s={xmin:100000000,ymin:100000000,xmax:-100000000,ymax:-100000000};for(var f=0;f<t.length-1;f++){D=t[f].split(",");a=parseFloat(D[0]);Z=parseFloat(D[1]);if(a<s.xmin){s.xmin=a}if(Z<s.ymin){s.ymin=Z}if(a>s.xmax){s.xmax=a}if(Z>s.ymax){s.ymax=Z}}K=(s.xmax-s.xmin)/(p.xmax-p.xmin);A=(s.ymax-s.ymin)/(p.ymax-p.ymin);C=s.xmin/K-p.xmin;S=s.ymin/A-p.ymin}}}}break}}if(F=="gml:featureMember"||F=="featureMember"){l.push(e)}}var N;if(!R){R=E}this.title=R;if(l.length<1){alert("No features found in "+R);this.mb.showMess("No features found in "+R,3000)}else{this.mb.showMess("Adding "+l.length+" features found in "+R);this.overlayman.folders.push([]);this.overlayman.folderhtml.push([]);this.overlayman.folderhtmlast.push(0);this.overlayman.folderBounds.push(new GLatLngBounds());var q=this.overlayman.folders.length-1;if(this.basesidebar){N=this.createFolder(q,R,this.basesidebar,this.gmlicon,c,null,M,I)}this.kml.push(new KMLObj(R,c,true,q));this.kml[G].open=W.opts.allfoldersopen;this.kml[G].folderid=N;if(Q){for(o=0;o<l.length;o++){this.handlePlacemark(l[o],q,0)}}else{var X={xs:K,ys:A,x:C,y:S};for(o=0;o<l.length;o++){this.handleGeomark(l[o],q,X,0)}}}};PolylineEncoder=function(C,B,E,D){var A;if(!C){C=18}if(!B){B=2}if(!E){E=1e-7}if(!D){D=true}this.numLevels=C;this.zoomFactor=B;this.verySmall=E;this.veryTiny=E*E;this.forceEndpoints=D;this.zoomLevelBreaks=[];for(A=0;A<C;A++){this.zoomLevelBreaks[A]=E*Math.pow(B,C-A-1);this.zoomLevelBreaks[A]*=this.zoomLevelBreaks[A]}};PolylineEncoder.prototype.dpEncode=function(M){var K=0;var J=[];var H=[];var G,B,N,F,L,I;var E,A,D;var C;J.push([0,M.length-1]);while(J.length>0){I=J.pop();G=0;C=Math.pow(M[I[1]].lat()-M[I[0]].lat(),2)+Math.pow(M[I[1]].lng()-M[I[0]].lng(),2);for(E=I[0]+1;E<I[1];E++){N=this.distance(M[E],M[I[0]],M[I[1]],C);if(N>G){G=N;B=E;if(G>K){K=G}}}if(G>this.veryTiny){H[B]=G;J.push([I[0],B]);J.push([B,I[1]])}}A=this.createEncodings(M,H);D=this.encodeLevels(M,H,K);return{encodedPoints:A,encodedLevels:D,encodedPointsLiteral:A.replace(/\\/g,"\\\\")}};PolylineEncoder.prototype.dpEncodeToJSON=function(D,B,E,C){var A;A=this.dpEncode(D);return{color:B,weight:E,opacity:C,points:A.encodedPoints,levels:A.encodedLevels,numLevels:this.numLevels,zoomFactor:this.zoomFactor,literals:A.encodePointsLiteral}};PolylineEncoder.prototype.dpEncodeToGPolyline=function(C,A,D,B){return new GPolyline.fromEncoded(this.dpEncodeToJSON(C,A,D,B))};PolylineEncoder.prototype.dpEncodeToGPolygon=function(G,C,F,H,B,I,J,A){var E,D;D=[];for(E=0;E<G.length;E++){D.push(this.dpEncodeToJSON(G[E],C,F,H))}return new GPolygon.fromEncoded({polylines:D,color:B,opacity:I,fill:J,outline:A})};PolylineEncoder.prototype.distance=function(J,H,G,E){var I,C;var D=G.lat()-H.lat();var A=G.lng()-H.lng();if(D==0&&A==0){C=Math.pow(G.lat()-J.lat(),2)+Math.pow(G.lng()-J.lng(),2)}else{var F=J.lat()-H.lat();var B=J.lng()-H.lng();I=((F)*(D)+(B)*(A))/E;if(I<=0){C=Math.pow(F,2)+Math.pow(B,2)}if(I>=1){C=Math.pow(J.lat()-G.lat(),2)+Math.pow(J.lng()-G.lng(),2)}if(0<I&&I<1){C=Math.pow(F-I*(D),2)+Math.pow(B-I*(A),2)}}return C};PolylineEncoder.prototype.createEncodings=function(M,H){var C;var B;var G=Math.floor;var I=M.length-2;var A;var L;var J=G(M[0].lat()*100000);var K=G(M[0].lng()*100000);var E=J;var F=K;var D=this.encodeSignedNumber(J)+this.encodeSignedNumber(K);for(B=I;B>0;B--){C=I-B+1;if(H[C]!=undefined){A=G(M[C].lat()*100000);L=G(M[C].lng()*100000);J=A-E;K=L-F;E=A;F=L;D+=this.encodeSignedNumber(J)+this.encodeSignedNumber(K)}}J=G(M[I+1].lat()*100000)-E;K=G(M[I+1].lng()*100000)-F;D+=this.encodeSignedNumber(J)+this.encodeSignedNumber(K);return D};PolylineEncoder.prototype.computeLevel=function(A){var B;if(A>this.veryTiny){B=0;while(A<this.zoomLevelBreaks[B]){B++}return B}};PolylineEncoder.prototype.encodeLevels=function(D,E,B){var A;var C="";if(this.forceEndpoints){C+=this.encodeNumber(this.numLevels-1)}else{C+=this.encodeNumber(this.numLevels-this.computeLevel(B)-1)}for(A=1;A<D.length-1;A++){if(E[A]!=undefined){C+=this.encodeNumber(this.numLevels-this.computeLevel(E[A])-1)}}if(this.forceEndpoints){C+=this.encodeNumber(this.numLevels-1)}else{C+=this.encodeNumber(this.numLevels-this.computeLevel(B)-1)}return C};PolylineEncoder.prototype.encodeNumber=function(B){var A="";var C,D;while(B>=32){C=(32|(B&31))+63;A+=(String.fromCharCode(C));B>>=5}D=B+63;A+=(String.fromCharCode(D));return A};PolylineEncoder.prototype.encodeSignedNumber=function(A){var B=A<<1;if(A<0){B=~(B)}return(this.encodeNumber(B))};PolylineEncoder.latLng=function(B,A){this.y=B;this.x=A};PolylineEncoder.latLng.prototype.lat=function(){return this.y};PolylineEncoder.latLng.prototype.lng=function(){return this.x};PolylineEncoder.pointsToLatLngs=function(B){var A,C;C=[];for(A=0;A<B.length;A++){C.push(new PolylineEncoder.latLng(B[A][0],B[A][1]))}return C};PolylineEncoder.pointsToGLatLngs=function(C){var B,A;A=[];for(B=0;B<C.length;B++){A.push(new GLatLng(C[B][0],C[B][1]))}return A};GPolyline.prototype.getPoint=function(){return(this.getVertex(Math.round(this.getVertexCount()/2)))};GPolyline.prototype.computeBounds=function(){var C=new GLatLngBounds();for(var B=0;B<this.getVertexCount();B++){var A=this.getVertex(B);if(A){C.extend(A)}}this.bounds=C;return C};GTileLayerOverlay.prototype.getBounds=function(){return this.bounds};GPolyline.prototype.getBounds=function(){if(typeof this.bounds!="undefined"){return this.bounds}else{return(this.computeBounds())}};GTileLayer.prototype.getBounds=function(){return this.bounds};GPolygon.prototype.getPoint=function(){return(this.getBounds().getCenter())};Clusterer=function(B,A){this.myvar=A.myvar;this.paren=A;this.map=B;this.markers=[];this.byid=[];this.byname=[];this.clusters=[];this.timeout=null;this.folders=[];this.folderBounds=[];this.folderhtml=[];this.folderhtmlast=[];this.subfolders=[];this.currentZoomLevel=B.getZoom();this.isParsed=false;this.maxVisibleMarkers=Clusterer.defaultMaxVisibleMarkers;this.gridSize=Clusterer.defaultGridSize;this.minMarkersPerCluster=Clusterer.defaultMinMarkersPerCluster;this.maxLinesPerInfoBox=Clusterer.defaultMaxLinesPerInfoBox;this.icon=Clusterer.defaultIcon;GEvent.addListener(B,"zoomend",Clusterer.MakeCaller(Clusterer.Display,this));GEvent.addListener(B,"moveend",Clusterer.MakeCaller(Clusterer.Display,this));GEvent.addListener(B,"infowindowclose",Clusterer.MakeCaller(Clusterer.PopDown,this))};Clusterer.defaultMaxVisibleMarkers=650;Clusterer.defaultGridSize=15;Clusterer.defaultMinMarkersPerCluster=5;Clusterer.defaultMaxLinesPerInfoBox=15;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.SetIcon=function(A){this.icon=A};Clusterer.prototype.SetMaxVisibleMarkers=function(A){this.maxVisibleMarkers=A};Clusterer.prototype.SetMinMarkersPerCluster=function(A){this.minMarkersPerCluster=A};Clusterer.prototype.SetMaxLinesPerInfoBox=function(A){this.maxLinesPerInfoBox=A};Clusterer.prototype.AddMarker=function(E,G,H,A,D,I){if(E.setMap!=null){E.setMap(this.map)}E.hidden=false;if(D!=true){E.hidden=true}if(this.paren.hideall){E.hidden=true}E.title=G;this.folders[H].push(this.markers.length);var B=this.map.getBounds();var C=false;if(typeof E.getBounds=="undefined"){if(B.contains(E.getPoint())){C=true}}else{var F=E.getBounds();if(!F.isEmpty()){if(B.intersects(F)){C=true}}}if(I){C=true}this.markers.push(E);if(C){E.onMap=true;this.map.addOverlay(E);if(E.hidden){E.hide();if(!!E.label){E.label.hide()}}}this.DisplayLater();if(A){this.folderhtml[H].push(A)}};Clusterer.prototype.zoomToFolder=function(A){var B=this.folderBounds[A];this.map.setZoom(this.map.getBoundsZoomLevel(B));this.map.panTo(B.getCenter())};Clusterer.prototype.RemoveMarker=function(B){for(var E=0;E<this.markers.length;++E){if(this.markers[E]==B){if(B.onMap){this.map.removeOverlay(B)}if(!!B.label){this.map.removeOverlay(B.label)}for(var D=0;D<this.clusters.length;++D){var A=this.clusters[D];if(A!=null){for(var C=0;C<A.markers.length;++C){if(A.markers[C]==B){A.markers[C]=null;--A.markerCount;break}}if(A.markerCount==0){this.ClearCluster(A);this.clusters[D]=null}else{if(A==this.poppedUpCluster){Clusterer.RePop(this)}}}}this.markers[E]=null;break}}this.DisplayLater()};Clusterer.prototype.DisplayLater=function(){if(this.timeout!=null){clearTimeout(this.timeout)}this.timeout=setTimeout(Clusterer.MakeCaller(Clusterer.Display,this),50)};Clusterer.Display=function(Y){var o,n,m,p,U,g;clearTimeout(Y.timeout);var M=false;var f=0;var d,A;var h;var I;if(Y.paren.basesidebar){for(m=0;m<Y.folderhtml.length;m++){var J=Y.folderhtml[m].length;var G=Y.folderhtmlast[m];if(G<J){var P=Y.paren.myvar+"_folder"+m;var V=Lance$(P);if(V){if(Y.paren.opts.sortbyname){I=V.innerHTML;d=Y.folderhtml[m].sort();for(g=0;g<J;g++){A=d[g].split("$$$",8);I+=Y.paren.sidebarfn(A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7])}}else{I=V.innerHTML;d=Y.folderhtml[m];for(g=G;g<J;g++){A=d[g].split("$$$",8);I+=Y.paren.sidebarfn(A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7])}}Y.folderhtmlast[m]=J;V.innerHTML=I;if(Y.paren.forcefoldersopen){V.style.display="block"}M=true;f=J}else{}}}}if(M&&f>0){if(Y.paren.progress==0){Y.paren.setFolders();GEvent.trigger(Y.paren,"parsed");if(!Y.paren.opts.sidebarid){Y.paren.mb.showMess("Finished Parsing",1000)}var D=new Date();var c=((D-Y.miStart)/1000+" seconds");Y.paren.mb.showMess("Loaded "+f+"  GeoXML elements in "+c,5000);Y.paren.ParseURL();if(!Y.paren.opts.nozoom){Y.paren.map.setZoom(Y.paren.map.getBoundsZoomLevel(Y.paren.bounds));Y.paren.map.setCenter(Y.paren.bounds.getCenter())}}}if(M&&typeof resizeKML!="undefined"){resizeKML()}var Z,H,B,F,E;var T=Y.map.getZoom();if(T!=Y.currentZoomLevel){for(o=0;o<Y.clusters.length;++o){if(Y.clusters[o]!=null){Y.ClearCluster(Y.clusters[o]);Y.clusters[o]=null}}Y.clusters.length=0;Y.currentZoomLevel=T}Z=Y.map.getBounds();H=Z.getSouthWest();B=Z.getNorthEast();F=B.lng()-H.lng();E=B.lat()-H.lat();if(F<300&&E<150){F*=0.05;E*=0.05;Z=new GLatLngBounds(new GLatLng(H.lat()-E,H.lng()-F),new GLatLng(B.lat()+E,B.lng()+F))}var X=[];var L=[];var a=0;for(o=0;o<Y.markers.length;++o){p=Y.markers[o];h=false;if(p!=null){var C=Y.paren.myvar+"sb"+o;if(typeof p.getBounds=="undefined"){if(Z.contains(p.getPoint())){h=true;if(Lance$(C)){Lance$(C).className="inView"}a++}else{if(Lance$(C)){Lance$(C).className="outView"}}}else{var q=p.getBounds();if(Lance$(C)){if(Z.intersects(q)){Lance$(C).className="inView"}else{Lance$(C).className="outView"}}h=true}if(h&&(p.hidden==false)){X.push(o)}else{L.push(o)}}}for(o=0;o<L.length;++o){p=Y.markers[L[o]];if(p.onMap){if(!!p.label){p.label.hide()}Y.map.removeOverlay(p);p.onMap=false}}for(o=0;o<Y.clusters.length;++o){U=Y.clusters[o];if(U!=null&&U.marker){h=false;if(typeof U.marker.getBounds=="undefined"){if(Z.contains(U.marker.getPoint())){h=true}}else{h=true}if(!h&&U.onMap){Y.map.removeOverlay(U.marker);U.onMap=false}}}if(a>Y.maxVisibleMarkers){if(!M){Y.paren.mb.showMess("Clustering on "+a+"  GeoXML elements")}var S=Z.getNorthEast().lat()-Z.getSouthWest().lat();var O=S/Y.gridSize;var R=O/Math.cos((Z.getNorthEast().lat()+Z.getSouthWest().lat())/2*Math.PI/180);for(var W=Z.getSouthWest().lat();W<=Z.getNorthEast().lat();W+=O){for(var Q=Z.getSouthWest().lng();Q<=Z.getNorthEast().lng();Q+=R){U={};U.clusterer=Y;U.bounds=new GLatLngBounds(new GLatLng(W,Q),new GLatLng(W+O,Q+R));U.markers=[];U.markerCount=0;U.onMap=false;U.marker=null;Y.clusters.push(U)}}for(o=0;o<X.length;++o){p=Y.markers[X[o]];if(p!=null&&!p.inCluster){for(n=0;n<Y.clusters.length;++n){U=Y.clusters[n];if(U!=null){h=false;if(typeof p.getBounds=="undefined"){if(U.bounds.contains(p.getPoint())){h=true}}if(h){p.inCluster=true;Y.clusters[n].markers.push(p);++Y.clusters[n].markerCount}}}}}for(o=0;o<Y.clusters.length;++o){if(Y.clusters[o]!=null&&Y.clusters[o].markerCount<Y.minMarkersPerCluster){Y.ClearCluster(Y.clusters[o]);Y.clusters[o]=null}}for(o=Y.clusters.length-1;o>=0;--o){if(Y.clusters[o]!=null){break}else{--Y.clusters.length}}for(o=0;o<Y.clusters.length;++o){U=Y.clusters[o];if(U!=null){for(n=0;n<U.markers.length;++n){p=U.markers[n];if(p!=null&&p.onMap){Y.map.removeOverlay(p);p.onMap=false;if(!!p.label){p.label.hide()}}}}}for(o=0;o<Y.clusters.length;++o){U=Y.clusters[o];if(U!=null&&U.marker==null){var K=0;var e=0;for(n=0;n<U.markers.length;++n){p=U.markers[n];if(p!=null){K+=(+p.getPoint().lng());e+=(+p.getPoint().lat())}}var N=new GLatLng(e/U.markerCount,K/U.markerCount);p=new GMarker(N,{icon:Y.icon});U.marker=p;GEvent.addListener(p,"click",Clusterer.MakeCaller(Clusterer.PopUp,U))}}}if(!M&&a&&(Y.paren.quiet!=true)){Y.paren.mb.showMess("Showing "+a+"  GeoXML elements",500)}for(o=0;o<X.length;++o){p=Y.markers[X[o]];if(p!=null&&!p.onMap&&!p.inCluster){if(p.addedToMap!=null){p.addedToMap()}if(p.hidden){if(p.hide){Y.map.addOverlay(p);p.hide();if(!!p.label){p.label.hide()}}}else{Y.map.addOverlay(p);if(!!p.label){p.label.show()}}p.onMap=true}}for(o=0;o<Y.clusters.length;++o){U=Y.clusters[o];if(U!=null&&U.marker){h=false;if(typeof p.getPoint!="undefined"){if(Z.contains(U.marker.getPoint())){h=true}}else{if(Z.intersects(U.marker.getBounds())){h=true}}if(!U.onMap&&h){Y.map.addOverlay(U.marker);U.onMap=true}}}Clusterer.RePop(Y)};Clusterer.PopUp=function(A){var C=A.clusterer;var E='<table width="300">';var F=0;for(var D=0;D<A.markers.length;++D){var B=A.markers[D];if(B!=null){++F;E+="<tr><td>";if(typeof B.getIcon!="undefined"&&B.getIcon().smallImage!=null){E+='<img src="'+B.getIcon().smallImage+'">'}else{E+='<img src="'+B.getIcon().image+'" width="'+(B.getIcon().iconSize.width/2)+'" height="'+(B.getIcon().iconSize.height/2)+'">'}E+="</td><td>"+B.title+"</td></tr>";if(F==C.maxLinesPerInfoBox-1&&A.markerCount>C.maxLinesPerInfoBox){E+='<tr><td colspan="2">...and '+(A.markerCount-F)+" more</td></tr>";break}}}E+="</table>";C.map.closeInfoWindow();A.marker.openInfoWindowHtml(E);C.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 C,B;for(C=0;C<A.markers.length;++C){if(A.markers[C]!=null){A.markers[C].inCluster=false;A.markers[C]=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(B,A){return function(){B(A)}};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(B,A){if(this.map!=null){return this.map.openInfoWindow(this.getPoint(),B,A)}else{return this.origOpenInfoWindow(B,A)}};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(B,A){if(this.map!=null){return this.map.openInfoWindowTabs(this.getPoint(),B,A)}else{return this.origOpenInfoWindowTabs(B,A)}};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)}};MessageBox=function(C,A,B,D){this.map=C;this.paren=A;this.myvar=A.myvar+"."+B;this.eraseMess=null;this.centerMe=null;this.mb=null;if(D){this.mb=D}this.id=this.myvar+"_message"};MessageBox.prototype.hideMess=function(){this.mb.style.visiblity="hidden";this.mb.style.left="-1200px";this.mb.style.top="-1200px"};MessageBox.prototype.centerThis=function(){var B=this.map.getObjCenter();if(!this.mb){this.mb=Lance$(this.id)}if(this.centerMe){clearTimeout(this.centerMe)}if(this.mb){var A=this.mb.clientWidth;if(A>this.map.getSize().width){A=parseInt(2*this.map.getSize().width/3,10);this.mb.style.width=A+"px";this.centerMe=setTimeout(this.myvar+".centerThis()",5);return }this.mb.style.left=(B.x-(A/2))+"px";this.mb.style.top=(B.y-20-(this.mb.clientHeight/2))+"px"}else{this.centerMe=setTimeout(this.myvar+".centerThis()",10)}};MessageBox.prototype.showMess=function(C,A){C=unescape(C);if(this.eraseMess){clearTimeout(this.eraseMess)}if(!this.mb){this.mb=Lance$(this.id)}if(this.mb){this.mb.innerHTML="<span>"+C+"</span>";if(A){this.eraseMess=setTimeout(this.myvar+".hideMess();",A)}this.mb.style.left="-1200px";this.mb.style.top="-1200px";this.mb.style.width="";this.mb.style.height="";this.centerMe=setTimeout(this.myvar+".centerThis()",5);this.mb.style.visibility="visible"}else{var B=document.createElement("div");B.innerHTML=C;B.id=this.myvar+"_message";B.style.position="absolute";B.style.backgroundColor=this.style.backgroundColor||"silver";B.style.opacity=this.style.opacity||0.8;B.style.filter="alpha(opacity="+parseInt(B.style.opacity*100,10)+")";B.style.color=this.style.color||"black";B.style.padding=this.style.padding||"6px";B.style.borderWidth=this.style.borderWidth||"3px";B.style.borderColor=this.style.borderColor||"";B.style.backgroundImage=this.style.backgroundImage||"";B.style.borderStyle=this.style.borderStyle||"outset";B.style.visibility="visible";B.style.left="-1200px";B.style.top="-1200px";this.centerMe=setTimeout(this.myvar+".centerThis()",5);B.style.zIndex=1000;document.body.appendChild(B)}};GMap2.prototype.getObjCenter=function(){var C=this.getContainer();var B=C;var D=0;var A=0;if(C.offsetParent){A=C.offsetLeft;D=C.offsetTop;C=C.offsetParent;while(C){A+=C.offsetLeft;D+=C.offsetTop;C=C.offsetParent}return new GPoint(A+parseInt(this.getSize().width,10)/2,D+parseInt(this.getSize().height,10)/2)}};GeoXml.prototype.loadJSONUrl=function(B,F,C,E,A){var D=this;GDownloadUrl(B,function(G){D.parseJSON(G,F,C,E,A)})};GeoXml.prototype.loadXMLUrl=function(B,F,C,E,A){var D=this;D.DownloadURL(B,function(G){D.processing(GXml.parse(G),F,C,E,A)},F)};GeoXml.prototype.upgradeLayer=function(D){var A=this.map.getMapTypes();var C=false;for(var B=0;B<A.length;B++){if(A[B]==this.baseLayers[D]){C=true;this.map.removeMapType(this.baseLayers[D])}}if(!C){this.map.addMapType(this.baseLayers[D])}};GeoXml.prototype.makeWMSTileLayer=function(I,X,W,m,J,K,F){var b=this;gmapstring=new String(I);I=gmapstring.replace("&amp;","&");var g=I.split("?");var M=g[0]+"?";M=M.replace(/&request=getmap/i,"");M=M.replace(/&service=wms/i,"");var n="1.1.0";var T="image/png";var V="";var e="";var Q=false;var l=1;if(typeof m!="undefined"){l=m}var N="-180,-90,180,90";var U=g[1].split("&");var L="";var A="";var S="";var Z="";var j;for(var k=0;k<U.length;k++){var a=U[k];var C=U[k].split("=");var H=C[0].toLowerCase();switch(H){case"version":n=C[1];break;case"bbox":N=C[1];break;case"width":case"height":break;case"service":break;case"servicename":A=C[1];break;case"atlasname":S=C[1];break;case"styles":V=C[1];break;case"layers":e=C[1];break;case"format":T=C[1];break;case"opacity":l=parseFloat(C[1]);break;case"crs":case"srs":j=C[1];break;case"gmcrs":Z=C[1];break;case"queryable":Q=C[1];break;case"getmap":break;case"service":break;default:if(C[0]){M+="&"+U[k]}break}}if(Z){j=Z}var R=N.split(",");var o={w:parseFloat(R[0]),s:parseFloat(R[1]),e:parseFloat(R[2]),n:parseFloat(R[3])};var E=(o.n-o.s);var c=0;var f=180;while(f>=E){f=f/2;c++}c--;if(c<1){c=1}if(!J){J="Base Map from OGC WMS"}var h=new GCopyright(1,new GLatLngBounds(new GLatLng(o.s,o.w),new GLatLng(o.n,o.e)),0,J);var d=new GCopyrightCollection("");d.addCopyright(h);var B=new GTileLayer(d,c,19);B.s=o.s;B.n=o.n;B.e=o.e;B.w=o.w;B.myBaseURL=M;if(A){B.servicename=A}if(S){B.atlasname=S}B.publishdirectory=this.publishdirectory;B.epsg=j;B.getTileUrl=function(AP,AO,AL){if(typeof (this.myStyles)=="undefined"){this.myStyles=""}var v=new GPoint(AP.x*256,(AP.y+1)*256);var y=new GPoint((AP.x+1)*256,AP.y*256);var i=G_NORMAL_MAP.getProjection().fromPixelToLatLng(v,AO,AL);var AK=G_NORMAL_MAP.getProjection().fromPixelToLatLng(y,AO,AL);var u=i.x;var z=AK.x;var AI=i.y;var AC=AK.y;var AN=z;var AD=u;var AF=AC;var AH=AI;if(AH<AF){AF=AH;AH=AC}if(this.epsg!="EPSG:4326"&&this.epsg!="CRS:84"&&this.epsg!="4326"){u=GeoXml.merc2Lon(u);AI=GeoXml.merc2Lat(AI);z=GeoXml.merc2Lon(z);AC=GeoXml.merc2Lat(AC)}var AB=Math.abs(z-u);var AJ=Math.abs(AI-AC);var AE=AJ/AB;AJ=Math.round((256*AE)+0.5);AB=256;var x=AC;if(AI<AC){AC=AI;AI=x}if(AF>(this.n)||AN<(this.w)||AH<(this.s)||AD>(this.e)){var t=this.publishdirectory+"black.gif"}var AM=u+","+AC+","+z+","+AI;var p="EPSG:41001";if(typeof this.epsg!="undefined"||this.srs=="4326"){p=this.epsg}var AA=this.myBaseURL;if(typeof this.myVersion=="undefined"){this.myVersion="1.1.1"}var q=parseFloat(this.myVersion);var AG=/arcimsproxy/i;if(!this.myBaseURL.match(AG)){AA+="&SERVICE=WMS";if(this.myVersion!="1.0.0"){var r=/request=getmap/i;if(!AA.match(r)){AA+="&REQUEST=GetMap"}}else{AA+="&REQUEST=Map"}}if(this.servicename){AA+="?ServiceName="+this.servicename}if(this.atlasname){AA+="&AtlasName="+this.servicename}AA+="&VERSION="+this.myVersion;if(this.myLayers){AA+="&LAYERS="+this.myLayers;AA+="&STYLES="+this.myStyles}if(this.mySLD){AA+="&SLD="+this.mySLD}AA+="&FORMAT="+this.myFormat;AA+="&BGCOLOR=0x000000";AA+="&TRANSPARENT=TRUE";if(this.myVersion=="1.1.1"||q<1.3){AA+="&SRS="+p}else{AA+="&CRS="+p}AA+="&WIDTH="+AB;AA+="&HEIGHT="+AJ;AA+="&BBOX="+AM;this.requestCount++;return AA};B.myFormat=T;B.myVersion=n;B.myExtents=N;B.queryable=Q;B.opacity=l;B.getOpacity=function(){return this.opacity};if(L){B.mySLD=L}else{B.myLayers=e;B.myStyles=V}var Y=new GTileLayerOverlay(B);Y.bounds=new GLatLngBounds();Y.bounds.extend(new GLatLng(o.n,o.e));Y.bounds.extend(new GLatLng(o.s,o.w));this.wmscount++;if(this.opts.doMapTypes){var P=new GTileLayer(d,c,19);P.s=o.s;P.n=o.n;P.e=o.e;P.w=o.w;P.myBaseURL=M;P.servicename=A;P.publishdirectory=this.publishdirectory;P.getTileUrl=B.getTileUrl;P.myFormat=B.myFormat;P.myVersion=n;P.opacity=1;P.title=W;if(J){P.attribution=J}P.getOpacity=function(){return this.opacity};if(L){P.mySLD=L}else{P.myLayers=e;P.myStyles=V}P.epsg=j;var O=new GTileLayer(d,c,19);O.s=o.s;O.n=o.n;O.e=o.e;O.w=o.w;O.dir=this.publishdirectory;O.getTileUrl=function(){return(this.dir+"black.gif")};O.opacity=1;O.title=W;if(J){O.attribution=J}O.getOpacity=function(){return this.opacity};var D=[P,G_HYBRID_MAP.getTileLayers()[1]];var G=new GMapType(D,G_HYBRID_MAP.getProjection(),""+W+"",G_HYBRID_MAP);G.bounds=new GLatLngBounds(new GLatLng(o.s,o.w),new GLatLng(o.n,o.e));if(K){G.grouptitle=K}b.baseLayers.push(G);b.map.addMapType(G);return null}else{return Y}};GeoXml.SEMI_MAJOR_AXIS=6378137;GeoXml.ECCENTRICITY=0.08181919131087181;GeoXml.DEG2RAD=180/(Math.PI);GeoXml.merc2Lon=function(A){return(A*GeoXml.DEG2RAD)*GeoXml.SEMI_MAJOR_AXIS};GeoXml.merc2Lat=function(C){var B=C*GeoXml.DEG2RAD;var A=Math.sin(B);return(GeoXml.SEMI_MAJOR_AXIS*Math.log(Math.tan((B+Math.PI/2)/2)*Math.pow(((1-GeoXml.ECCENTRICITY*A)/(1+GeoXml.ECCENTRICITY*A)),(GeoXml.ECCENTRICITY/2))))};GeoXml.prototype.toggleLabels=function(A){if(!A){this.removeLabels()}else{this.addLabels()}};GeoXml.prototype.addLabels=function(){this.labels.onMap=true;this.map.addOverlay(this.labels)};GeoXml.prototype.removeLabels=function(){this.labels.onMap=false;this.map.removeOverlay(this.labels)};var useLegacyLocalLoad=true;GeoXml.prototype.DownloadURL=function(A,I,G){if(!A){return }var J;var E=this;var H=A;if(!topwin.standalone&&this.proxy){H=this.proxy+"url="+escape(H)}if(topwin.standalone||useLegacyLocalLoad){if(H.substring(2,3)==":"){J=new ActiveXObject("Msxml2.DOMDocument.4.0");J.validateOnParse=false;J.async=true;J.load(H);if(J.parseError.errorCode!=0){var C=J.parseError;alert("GeoXml file appears incorrect\n"+C.reason+" at line:"+C.line)}else{I(J.doc)}return }}var D;if(!D&&typeof XMLHttpRequest!="undefined"){D=new XMLHttpRequest()}else{if(typeof ActiveXObject!="undefined"){D=new ActiveXObject("Microsoft.XMLHTTP")}}var F=H;if(D.overrideMimeType){D.overrideMimeType("text/xml")}D.open("GET",F,true);D.onreadystatechange=function(){switch(D.readyState){case 4:E.mb.showMess(G+" received",2000);if(typeof ActiveXObject!="undefined"){J=new ActiveXObject("Microsoft.XMLDOM");J.async="false";var K=D.responseText;I(K)}else{if(D.responseXML){E.mb.showMess(G+" received",2000);I(D.responseText)}else{if(D.status==200){var M=D.responseText;var L=M.substring(0,400);var N=M.substring(0,5);if(N=="<?xml"&&L.indexOf("kml")!=-1){E.mb.showMess(G+" response received",2000);I(M.responseText)}else{E.mb.showMess("File does not appear to be a valid GeoData"+M,6000)}}}}break;case 3:E.mb.showMess("Receiving "+G+"...");break;case 2:E.mb.showMess("Waiting for "+G,2000);break;case 1:E.mb.showMess("Sent request for "+G,2000);break}};try{D.send(null)}catch(B){if(H.substring(2,3)==":"&&!useLegacyLocalLoad){useLegacyLocalLoad=true;this.DownloadURL(H)}}};
