/*
 * Compressed by JSA(www.xidea.org)
 */
var PAGEPATH=document.location.href.replace(/#.*/,"").replace(/\/[^\/]*$/,"/"),SEARCH_PLACEHOLDER="\u8bf7\u8f93\u5165\u67e5\u8be2\u5173\u952e\u5b57\u6216KML/GPX\u7f51\u5740",ge,helpOverlay,adsManager,zeroClip,urlClip,iframeClip;function init(){initSearchBox();initZeroClipboard();initEarth();initLocation();initAds()}function initEarth(){if(GBrowserIsCompatible()){ge=new google.maps.Map2(document.getElementById("earth"));initStartLocation();ge.setUIToDefault()}initListeners()}function initZeroClipboard(){ZeroClipboard.setMoviePath("js/ZeroClipboard.swf");zeroClip=new ZeroClipboard.Client("copyurl-link");zeroClip.setHandCursor(true)}function updateZeroClipboard($){zeroClip.reposition();zeroClip.setText($)}function earthBatch($){google.earth.fetchKml(ge,"",$)}function addDomListener($,A,_){if($.addEventListener)$.addEventListener(A,_,false);else if($.attachEvent)$.attachEvent("on"+A,_)}function makeRoundedCorners(){earthBatch(function(){var $=function(C,A,_){var B=ge.createScreenOverlay(""),$=ge.createIcon("");$.setHref(PAGEPATH+"images/earth-corner.png");B.setIcon($);B.getOverlayXY().set(C,ge.UNITS_FRACTION,A,ge.UNITS_FRACTION);B.getScreenXY().set(C,ge.UNITS_FRACTION,A,ge.UNITS_FRACTION);B.getSize().set(15,ge.UNITS_PIXELS,15,ge.UNITS_PIXELS);B.setRotation(_);ge.getFeatures().appendChild(B)};$(0,1,0);$(0,0,90);$(1,0,180);$(1,1,270)})}function initListeners(){GEvent.addListener(ge,"moveend",function(){hashurl=enurl();document.getElementById("copyurl-container").style.visibility="visible";document.getElementById("copyurl").innerHTML=PAGEPATH+"#"+hashurl;document.getElementById("tweet-link").href=tweetUrl(PAGEPATH+"#"+hashurl);document.location.hash="#"+hashurl;updateZeroClipboard(PAGEPATH+"#"+hashurl)});GEvent.addListener(ge,"maptypechanged",function(){hashurl=enurl();document.getElementById("copyurl-container").style.visibility="visible";document.getElementById("copyurl").innerHTML=PAGEPATH+"#"+hashurl;document.getElementById("tweet-link").href=tweetUrl(PAGEPATH+"#"+hashurl);document.location.hash="#"+hashurl;updateZeroClipboard(PAGEPATH+"#"+hashurl)})}function enurl(){var _=ge.getZoom(),B="";if(_>9)B=_.toString();else B="0"+_.toString();var A=ge.getCenter(),$=encodeGeoHash(A.lat(),A.lng()),C=ge.getCurrentMapType().getUrlArg();return $+C+B}function deurl(){}function setmaptype($){switch($){case"k":ge.setMapType(G_SATELLITE_MAP);break;case"h":ge.setMapType(G_HYBRID_MAP);break;case"p":ge.setMapType(G_PHYSICAL_MAP);break;default:break}}function initStartLocation(){var F=document.location.hash.replace(/^#/,"");if(F.length>14){var G=F.substring(0,12),$=decodeGeoHash(G),B=($.latitude[0]+$.latitude[1])/2,_=($.longitude[0]+$.longitude[1])/2,C=F.substring(13,15),H=F.charAt(12);ge.setCenter(new GLatLng(B,_),parseInt(C,10));setmaptype(H);var D=F.charAt(15),I=F.substring(16,F.length);I=decodeURI(I);if(D=="_"){var E=new google.maps.ClientGeocoder();E.getLocations(I,function(E){if(E.Status.code!=200||!E.Placemark)return false;else{var C=E.name,B=E.Placemark[0].address,A=E.Placemark[0].Point.coordinates,$=new GLatLng(A[1],A[0]),_=new GMarker($),D="<p><b>"+C+"</b><br/>"+B+"</p>";GEvent.addListener(_,"click",function(){_.openInfoWindowHtml(D)});ge.addOverlay(_);_.openInfoWindowHtml(D);return true}})}if(D=="+"){var A=new GMarker(new GLatLng(B,_)),J="<p style='width:300px;'>"+I+"</p>";GEvent.addListener(A,"click",function(){A.openInfoWindowHtml(J)});ge.addOverlay(A);A.openInfoWindowHtml(J)}if(D=="-"){defiletype=I.substring(I.length-4,I.length);I=decodeURIComponent(I).toLowerCase();if(defiletype==".gpx")loadGPX(I);if(defiletype==".kml")loadKML(I)}}else ge.setCenter(new GLatLng(31.2307,121.47459),4)}function initSearchBox(){var $=document.getElementById("search-box");$.setAttribute("placeholder",SEARCH_PLACEHOLDER);if($.value==""||$.value==SEARCH_PLACEHOLDER){$.value=SEARCH_PLACEHOLDER;$.className="placeholder"}addDomListener($,"focus",function(){if($.value==""||$.value==SEARCH_PLACEHOLDER){$.value="";$.className=""}});addDomListener($,"blur",function(){if($.value==""||$.value==SEARCH_PLACEHOLDER){$.value=SEARCH_PLACEHOLDER;$.className="placeholder"}});addDomListener($,"change",function(){document.getElementById("search-error").style.display="none"});addDomListener($,"keypress",function(){document.getElementById("search-error").style.display="none"})}function performSearch(){var $=document.getElementById("search-box"),A=$.value.replace(/(^\s+)|(\s+$)/g,"");if(A==""||A==SEARCH_PLACEHOLDER)return;document.getElementById("search-error").style.display="none";document.getElementById("search-loading").style.display="block";searchType=A.substring(A.length-4,A.length).toLowerCase();if(searchType==".kml"||searchType==".gpx"){previewload(A);document.getElementById("search-loading").style.display="none"}else{var _=new google.maps.ClientGeocoder();_.getLocations(A,function(G){document.getElementById("search-loading").style.display="none";if(G.Status.code!=200||!G.Placemark){document.getElementById("search-error").style.display="block";document.getElementById("search-error").innerHTML="\u6ca1\u6709\u4efb\u4f55\u7ed3\u679c";document.getElementById("box-url").value="";document.getElementById("box-iframe").value="";document.getElementById("box-bbs").value=""}else{var E=G.name,D=G.Placemark[0].address,C=G.Placemark[0].Point.coordinates,$=new GLatLng(C[1],C[0]),B=new GMarker($),F="<p><b>"+E+"</b><br/>"+D+"</p>";ge.clearOverlays();GEvent.addListener(B,"click",function(){B.openInfoWindowHtml(F)});ge.addOverlay(B);B.openInfoWindowHtml(F);ge.setCenter($);var _=enurl();document.getElementById("box-url").value=PAGEPATH+"#"+_+"_"+encodeURI(A);document.getElementById("box-iframe").value="<iframe src=\""+PAGEPATH+"if/#"+_+"_"+encodeURI(A)+"\" width=\"640\" height=\"480\" frameborder=\"0\" marginwidth=\"0\" scrolling=\"no\" marginheight=\"0\"></iframe>";document.getElementById("box-bbs").value="[mapurl]"+_+"_"+encodeURI(A)+"[/mapurl]"}})}}function nextpoint($){}function tweetUrl($){return"http://twitter.com/home?status="+encodeURIComponent($)}function initAds(){var _="ca-pub-4469534148147036",$={maxAdsOnMap:2,style:"adunit",channel:"7114222484"};adsManager=new GAdsManager(ge,_,$);adsManager.enable()}function showHelpOverlay(_){if(_){document.getElementById("divabout").style.display="block";var $=document.body.clientWidth/2-300;document.getElementById("divabout").style.left=$.toString()+"px"}else{document.getElementById("divabout").style.display="none";document.getElementById("divabout").style.left="-1250px"}}function initLocation(){var _=document.location.hash.replace(/^#/,"");if(_=="")$.ajax({type:"GET",async:false,url:"getipxml.php",cache:false,datatype:"xml",error:function(){},success:function(C){var A=$(C).find("Status").text(),_=$(C).find("Latitude").text(),B=$(C).find("Longitude").text();if(A=="OK"&&_!="0"&&B!="0")ge.setCenter(new GLatLng(_,B))}})}function initWizard(){initSearchBox();if(GBrowserIsCompatible()){ge=new google.maps.Map2(document.getElementById("imap"));ge.setCenter(new GLatLng(31.2307,121.47459),4);ge.setUIToDefault()}initWizardListeners();document.getElementById("box-code").value=enurl()}function initWizardListeners(){ge.disableDoubleClickZoom();GEvent.addListener(ge,"moveend",function(){hashurl=enurl();document.getElementById("box-code").value=hashurl});GEvent.addListener(ge,"maptypechanged",function(){hashurl=enurl();document.getElementById("box-code").value=hashurl});GEvent.addListener(ge,"dblclick",function(_,A){if(A){var $="<div id=\"map-comments\"><textarea cols=\"30\" id=\"box-comments\">\u6807\u6ce8\u4e00\u4e2a\u70b9\uff1a\u653e\u5927\u5e76\u79fb\u52a8\u5730\u56fe\u5230\u6700\u4f73\u89c6\u89d2\uff0c\u53cc\u51fb\u5730\u56fe\u5373\u53ef\u51fa\u73b0\u672c\u6c14\u6ce1\u6846\uff0c\u8f93\u5165\u6807\u6ce8\u70b9\u7684\u5185\u5bb9\u540e\u70b9\u751f\u6210\u6807\u6ce8\u6309\u94ae\u5373\u53ef\u5728\u53f3\u4fa7\u5f97\u5230\u4ee3\u7801\u3002</textarea> <input type=\"button\" value=\"\u751f\u6210\u6807\u6ce8\" onclick=\"javascript:previewcomments("+A.lat()+","+A.lng()+");return false\" /></div>";ge.openInfoWindow(A,$)}})}function initWizardClipboard(){ZeroClipboard.setMoviePath("js/ZeroClipboard.swf");urlClip=new ZeroClipboard.Client("copy-url");urlClip.setHandCursor(true);iframeClip=new ZeroClipboard.Client("copy-iframe");iframeClip.setHandCursor(true)}function updateWizardClipboard(_){urlClip.reposition();iframeClip.reposition();switch(_){case"_":var B=document.getElementById("search-box"),C=B.value.replace(/(^\s+)|(\s+$)/g,"");urlClip.setText(PAGEPATH+"#"+enurl()+"_"+encodeURI(C));iframeClip.setText("<iframe src=\""+PAGEPATH+"if/#"+enurl()+"_"+encodeURI(C)+"\" width=\"640\" height=\"480\" frameborder=\"0\" marginwidth=\"0\" scrolling=\"no\" marginheight=\"0\"></iframe>");break;case"-":var $=document.getElementById("box-comments"),A=$.value.replace(/(^\s+)|(\s+$)/g,"");urlClip.setText(PAGEPATH+"#"+enurl()+"+"+encodeURI(A));iframeClip.setText("<iframe src=\""+PAGEPATH+"if/#"+enurl()+"+"+encodeURI(A)+"\" width=\"640\" height=\"480\" frameborder=\"0\" marginwidth=\"0\" scrolling=\"no\" marginheight=\"0\"></iframe>");break;default:urlClip.setText(PAGEPATH+"#"+enurl());iframeClip.setText("<iframe src=\""+PAGEPATH+"if/#"+enurl()+"\" width=\"640\" height=\"480\" frameborder=\"0\" marginwidth=\"0\" scrolling=\"no\" marginheight=\"0\"></iframe>");break}}function previewmap(){var $=document.getElementById("box-code").value;document.getElementById("box-url").value=PAGEPATH+"#"+$;document.getElementById("box-iframe").value="<iframe src=\""+PAGEPATH+"if/#"+$+"\" width=\"640\" height=\"480\" frameborder=\"0\" marginwidth=\"0\" scrolling=\"no\" marginheight=\"0\"></iframe>";document.getElementById("box-bbs").value="[mapurl]"+$+"[/mapurl]"}function previewsearch(){var $=document.getElementById("box-search"),A=$.value.replace(/(^\s+)|(\s+$)/g,"");if(A==""){alert("\u8bf7\u8f93\u5165\u67e5\u8be2\u5185\u5bb9");return}var _=new google.maps.ClientGeocoder();_.getLocations(A,function(G){if(G.Status.code!=200||!G.Placemark){document.getElementById("box-url").value="";document.getElementById("box-iframe").value="";document.getElementById("box-bbs").value="";alert("\u6ca1\u6709\u4efb\u4f55\u7ed3\u679c\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165\u5173\u952e\u5b57\u67e5\u8be2\uff01");return false}else{var E=G.name,D=G.Placemark[0].address,C=G.Placemark[0].Point.coordinates,$=new GLatLng(C[1],C[0]),B=new GMarker($),F="<p><b>"+E+"</b><br/>"+D+"</p>";ge.clearOverlays();GEvent.addListener(B,"click",function(){B.openInfoWindowHtml(F)});ge.addOverlay(B);B.openInfoWindowHtml(F);ge.setCenter($);var _=enurl();document.getElementById("box-url").value=PAGEPATH+"#"+_+"_"+encodeURI(A);document.getElementById("box-iframe").value="<iframe src=\""+PAGEPATH+"if/#"+_+"_"+encodeURI(A)+"\" width=\"640\" height=\"480\" frameborder=\"0\" marginwidth=\"0\" scrolling=\"no\" marginheight=\"0\"></iframe>";document.getElementById("box-bbs").value="[mapurl]"+_+"_"+encodeURI(A)+"[/mapurl]"}})}function previewcomments(_,E){var $=document.getElementById("box-comments"),D=$.value.replace(/(^\s+)|(\s+$)/g,"");if(D==""||D=="\u6807\u6ce8\u4e00\u4e2a\u70b9\uff1a\u653e\u5927\u5e76\u79fb\u52a8\u5730\u56fe\u5230\u6700\u4f73\u89c6\u89d2\uff0c\u53cc\u51fb\u5730\u56fe\u5373\u53ef\u51fa\u73b0\u672c\u6c14\u6ce1\u6846\uff0c\u8f93\u5165\u6807\u6ce8\u70b9\u7684\u5185\u5bb9\u540e\u70b9\u751f\u6210\u6807\u6ce8\u6309\u94ae\u5373\u53ef\u5728\u53f3\u4fa7\u5f97\u5230\u4ee3\u7801\u3002"){alert("\u8bf7\u8f93\u5165\u7559\u8a00\u5185\u5bb9");return}var B=ge.getZoom(),F="";if(B>9)F=B.toString();else F="0"+B.toString();var A=encodeGeoHash(_,E),G=ge.getCurrentMapType().getUrlArg(),C=A+G+F;document.getElementById("box-url").value=PAGEPATH+"#"+C+"+"+encodeURI(D);document.getElementById("box-iframe").value="<iframe src=\""+PAGEPATH+"if/#"+C+"+"+encodeURI(D)+"\" width=\"640\" height=\"480\" frameborder=\"0\" marginwidth=\"0\" scrolling=\"no\" marginheight=\"0\"></iframe>";document.getElementById("box-bbs").value="[mapurl]"+C+"+"+encodeURI(D)+"[/mapurl]"}function previewload($){document.getElementById("search-loading").style.display="block";searchType=$.substring($.length-4,$.length).toLowerCase();if(searchType==".kml")loadKML($);if(searchType==".gpx")loadGPX($);document.getElementById("search-loading").style.display="none"}function previewloadtxt(){var A=document.getElementById("search-box"),$=A.value.replace(/(^\s+)|(\s+$)/g,"");if($==""){alert("\u8bf7\u8f93\u5165\u6b63\u786e\u7684GPX\u6216KML\u6587\u4ef6\u7684\u7f51\u5740\u5e76\u56de\u8f66\u52a0\u8f7d");return}loadfiletype=$.substring($.length-4,$.length).toLowerCase();if(loadfiletype!=".gpx"&&loadfiletype!=".kml"){alert("\u8bf7\u8f93\u5165\u6b63\u786e\u7684GPX\u6216KML\u6587\u4ef6\u7684\u7f51\u5740");return}var _=enurl();document.getElementById("box-url").value=PAGEPATH+"#"+_+"-"+encodeURIComponent($);document.getElementById("box-iframe").value="<iframe src=\""+PAGEPATH+"if/#"+_+"-"+encodeURIComponent($)+"\" width=\"640\" height=\"480\" frameborder=\"0\" marginwidth=\"0\" scrolling=\"no\" marginheight=\"0\"></iframe>";document.getElementById("box-bbs").value="[mapurl]"+_+"-"+encodeURIComponent($)+"[/mapurl]"}function previewcenter(){var D=document.getElementById("box-code"),E=D.value.replace(/(^\s+)|(\s+$)/g,"");if(E.length!=15){alert("\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u5730\u56fe\u89c6\u56fe\u4ee3\u7801");return}var $=decodeGeoHash(E),C=($.latitude[0]+$.latitude[1])/2,A=($.longitude[0]+$.longitude[1])/2,B=E.substring(13,15),_=E.charAt(12);ge.setCenter(new GLatLng(C,A),parseInt(B,10));setmaptype(_)}$(document).ready(function(){initWizard()});function loadGPX($){var _=GXmlHttp.create();_.open("GET",$,true);_.onreadystatechange=function(){if(_.readyState==4){ge.clearOverlays();var R=GXml.parse(_.responseText),M=R.documentElement.getElementsByTagName("bounds")[0];if(M)var O=parseFloat(M.getAttribute("minlat")),A=parseFloat(M.getAttribute("minlon")),F=parseFloat(M.getAttribute("maxlat")),E=parseFloat(M.getAttribute("maxlon"));var D=R.documentElement.getElementsByTagName("wpt");for(var J=0;J<D.length;J++)ge.addOverlay(wpt2marker(D[J]));var I=R.documentElement.getElementsByTagName("rte");for(J=0;J<I.length;J++){var G=[],B=I[J].getElementsByTagName("rtept");for(var N=0;N<B.length;N++){var P=wpt2point(B[N]);ge.addOverlay(wpt2marker(B[N]));G.push(P)}ge.addOverlay(new GPolyline(G))}var L=R.documentElement.getElementsByTagName("trk");for(J=0;J<L.length;J++){var $=L[J].getElementsByTagName("trkseg");for(N=0;N<$.length;N++){var G=[],Q=$[N].getElementsByTagName("trkpt");for(var C=0;C<Q.length;C++)G.push(wpt2point(Q[C]));ge.addOverlay(new GPolyline(G))}}if(M){var K=new GBounds(A,O,E,F),H=new GPoint(A+(E-A)/2,O+(F-O)/2);ge.centerAtLatLng(H);while(inBounds(K,ge.getBoundsLatLng()))ge.zoomTo(ge.getZoomLevel()-1);ge.zoomTo(ge.getZoomLevel()+1)}}};_.send(null)}function wpt2point($){return new GPoint(parseFloat($.getAttribute("lon")),parseFloat($.getAttribute("lat")))}function wpt2marker($){var D=wpt2point($),C=GXml.value($.getElementsByTagName("name")[0]),E=GXml.value($.getElementsByTagName("cmt")[0]),A=GXml.value($.getElementsByTagName("sym")[0]),B=$.getElementsByTagName("link")[0];if(B!=undefined)B=B.getAttribute("href");else B="";var _=createWaypointMarker(D,C,E,A,B);return _}function createInfoMarker(B,A,_){var $=new GMarker(B,A);GEvent.addListener($,"click",function(){$.openInfoWindowHtml(_)});return $}function sym2image($){var _=new String($);_=_.replace(/[\/ ]/,"-");_="http://mapurl.info/images/icon/"+_+".png";return _}function createWaypointMarker(D,C,F,_,B){var A=new GIcon(G_DEFAULT_ICON),E=sym2image(_);A.image=E;A.shadow="";A.iconSize=new GSize(24,24);if(B!="")var $="<a target=\"_blank\" href=\""+B+"\">"+C+"</a><br>"+F;else $=C+"<br>"+F;return createInfoMarker(D,A,$)}function inBounds($,_){if($.maxX>_.maxX)return false;if($.maxY>_.maxY)return false;if($.minX<_.minX)return false;if($.minY<_.minY)return false;return true}function loadKML(_){ge.clearOverlays();var $=new GGeoXml(_);ge.addOverlay($);GEvent.addListener($,"load",function(){if($.loadedCorrectly())$.gotoDefaultViewport(ge);else alert("KML\u8f7d\u5165\u9519\u8bef")})}