function InitMap(){if(GBrowserIsCompatible()){map=new GMap2(document.getElementById("map"));map.setCenter(new GLatLng(35,0),1);map.setUIToDefault();var a=new GIcon;a.image="http://xm.my/i/img/plain-green-l.png";a.shadow="http://xm.my/i/img/shadow-l.png";a.iconSize=new GSize(40,40);a.shadowSize=new GSize(40,40);a.iconAnchor=new GPoint(20,35);a.infoWindowAnchor=new GPoint(22,2);a.dragCrossAnchor=new GPoint(7,8);marker=new GMarker(new GLatLng(35,0),{draggable:true,bouncy:false,icon:a});map.addOverlay(marker);marker.bindInfoWindow(document.getElementById("infowindow"));GEvent.addListener(marker,"dragend",function(b){draggedTo(b.lat(),b.lng())});GEvent.addListener(map,"click",function(c,b,d){if(c){return}if(!timeout){timeout=setTimeout("singleClick()",250);clickCoords=b}else{clearTimeout(timeout);timeout=null}})}}function singleClick(){clearTimeout(timeout);timeout=null;draggedTo(clickCoords.lat(),clickCoords.lng())}function loadMapList(b){for(var a in markers){map.removeOverlay(markers[a])}markers=new Array();$("#maplist").html("<p>loading...</p>");$.get("/a/mymaps",{offset:b},function(d){$("#maplist").html(d.snippet);for(var c in d.data){markers[d.data[c].link]=new GMarker(new GLatLng(d.data[c].markerlat,d.data[c].markerlon),icon);map.addOverlay(markers[d.data[c].link])}},"json")}function initMapList(){markers=new Array();map=new GMap2(document.getElementById("map"));map.setCenter(new GLatLng(35,0),1);map.setUIToDefault();icon=new GIcon;icon.image="http://xm.my/i/img/plain-green-l.png";icon.shadow="http://xm.my/i/img/shadow-l.png";icon.iconSize=new GSize(40,40);icon.shadowSize=new GSize(40,40);icon.iconAnchor=new GPoint(20,35);icon.infoWindowAnchor=new GPoint(22,2);icon.dragCrossAnchor=new GPoint(7,8);loadMapList(0)}function initUtils(){$("#addphotoslink").click(function(a){a.preventDefault();$("#flickrteaser").hide();$("#flickrinstructions").show();$("#flickrtag").select()})}function InitPanel(){$("#createbutton").click(function(a){a.preventDefault();$("#createbutton").attr("disabled","disabled");$("#saveprogresstext").text("saving link...");$("#saveprogressimg").attr("src","/i/img/arrows.gif");createLink()});$("#showmore").click(function(a){a.preventDefault();$("#moreoptions").slideDown(400)})}function createLink(){var a="unknown";if(map.getCurrentMapType()==G_NORMAL_MAP){a="Map"}if(map.getCurrentMapType()==G_SATELLITE_MAP){a="Satellite"}if(map.getCurrentMapType()==G_HYBRID_MAP){a="Hybrid"}if(map.getCurrentMapType()==G_PHYSICAL_MAP){a="Terrain"}$.post("/a/create",{marker_lat:marker.getLatLng().lat(),marker_lon:marker.getLatLng().lng(),center_lat:map.getCenter().lat(),center_lon:map.getCenter().lng(),zoomlevel:map.getZoom(),name:$("#namebox").val(),description:$("#descbox").val(),maptype:a,restype:restype,unlisted:$("#unlisted:checked").length},function(b){if(b.status=="success"){$("#saveprogresstext").text("creating page...");$("#linkurl").val("http://xm.my/"+b.link);$.post("/a/addinfo",{link:b.link},function(){$("#saveprogressimg").attr("src","/i/img/flag-empty.png");$("#saveprogresstext").text("done...");window.location.pathname="/"+b.link})}else{$("#saveprogressimg").attr("src","/i/img/flag-empty.png");alert("Sorry, an error occured while saving your map link. Please retry");alert(b);$("#finishtext").text("... failed :-/");$("#finishbutton").removeAttr("disabled");$("#backbutton").removeAttr("disabled")}},"json")}function InitSearchbox(){$("#searchbox").focus(function(a){if($("#searchbox").val()=="find place by name..."){$("#searchbox").val("")}});$("#searchform").submit(function(a){a.preventDefault();$("#resultinfo").text("searching...");$("#progressimg").attr("src","/i/img/arrows.gif");$("#searchbutton").attr("disabled","disabled");$("#instructions").slideUp(400);$.getJSON("/a/search/",{data:$("#searchbox").val()},function(b){$("#searchresults").slideUp(400,function(){$("#searchresults").hide();$("#searchresults").children("li").remove();if(b.results.length>0){$("#createbutton").removeAttr("disabled");$.each(b.results,function(d,e){var c;results["r"+d]=e;if(e.iso3166){c="flag "+e.iso3166}else{c="emptyflag"}$("<li/>").attr("id","r"+d).addClass("result").html("<img src='/i/flag-empty.png' width='16' height='11' class='"+c+"'/> "+e.address+"").appendTo("#searchresults")});$("#searchresults").slideDown(400);$("#resultinfo").text(b.results.length+" places found");$("#progressimg").attr("src","/i/flag-empty.png");$("li.result").click(function(c){c.preventDefault();resultClick($(this).attr("id"))});resultClick("r0")}else{$("#createbutton").attr("disabled","disabled");$("#resultinfo").text("nothing found");$("#progressimg").attr("src","/i/flag-empty.png")}$("#searchbutton").removeAttr("disabled")})})})}function resultClick(e){$("li.result").removeClass("selected");$("#"+e).addClass("selected");p=new GLatLng(results[e]["lat"],results[e]["lon"]);if(results[e]["bbox"]["south"]){var d=new GLatLng(results[e]["bbox"]["south"],results[e]["bbox"]["west"]);var c=new GLatLng(results[e]["bbox"]["north"],results[e]["bbox"]["east"]);var b=new GLatLngBounds(d,c);var a=map.getBoundsZoomLevel(b)}else{var a=15}marker.setLatLng(p);if(map.getZoom()!=a){map.setCenter(p,a)}else{map.panTo(p)}switch(e.substr(0,1)){case"r":$("#namebox").val($("#searchbox").val());break;case"g":case"d":$("#namebox").val($("#"+e).text());break}restype=e.substr(0,1)}function InitExamples(){$("a.searchexample").click(function(a){a.preventDefault();$("#searchbox").attr("value",$(this).text());$("#searchform").submit()})}function draggedTo(a,b){p=new GLatLng(a,b);marker.setLatLng(p);$("#draginfo").text("searching..");$("#dragprogressimg").attr("src","/i/img/arrows.gif");$.getJSON("/a/search/",{data:a+","+b},function(d){var e;var f;var c;$("#dragresults").slideUp(400,function(){$("#dragresults").hide();$("#dragresults").children("li,p").remove();e=Math.round(a*10000)/10000;f=Math.round(b*10000)/10000;results.d0={address:d.results[0]["coordtext"],lat:a,lon:b,bbox:d.results[0]["bbox"]};if(d.results[0]["iso3166"]){c="flag "+d.results[0]["iso3166"]}else{c="emptyflag"}$("<li/>").attr("id","d0").addClass("result").html("<img src='/i/flag-empty.png' width='16' height='11' class='"+c+"'/> "+results.d0["address"]).appendTo("#dragresults");$("li.result").click(function(g){g.preventDefault();resultClick($(this).attr("id"))});if(d.results[0]["address"]){$("<p/>").addClass("note").html("near "+d.results[0]["address"]).appendTo("#dragresults")}$("#dragresults").slideDown(400);$("#draginfo").text("dragged to:");$("#dragprogressimg").attr("src","/i/flag-empty.png");$("#createbutton").removeAttr("disabled");resultClick("d0")})})}function InitGeoLocation(){if(navigator.geolocation){$("#geolocation").show();$("#geodetect").click(function(a){a.preventDefault();$("#geodetect").attr("disabled","disabled");$("#geoprogressimg").attr("src","/i/img/arrows.gif");$("#geoprogress").text("detecting location...");navigator.geolocation.getCurrentPosition(geoSuccess,geoError)})}}function geoSuccess(a){$("#geoprogress").text("searching..");$.getJSON("/a/search/",{data:a.coords.latitude+","+a.coords.longitude},function(c){var d;var e;var b;$("#georesults").slideUp(400,function(){$("#georesults").hide();$("#georesults").children("li,p").remove();d=Math.round(a.coords.latitude*10000)/10000;e=Math.round(a.coords.longitude*10000)/10000;results.g0={address:c.results[0]["coordtext"],lat:a.coords.latitude,lon:a.coords.longitude,bbox:c.results[0]["bbox"]};if(c.results[0]["iso3166"]){b="flag "+c.results[0]["iso3166"]}else{b="emptyflag"}$("<li/>").attr("id","g0").addClass("result").html("<img src='/i/flag-empty.png' width='16' height='11' class='"+b+"'/> "+results.g0["address"]).appendTo("#georesults");$("li.result").click(function(f){f.preventDefault();resultClick($(this).attr("id"))});if(c.results[0]["address"]){$("<p/>").addClass("note").html("near "+c.results[0]["address"]).appendTo("#georesults")}$("#georesults").slideDown(400);$("#geoprogress").text("detection successful:");$("#geoprogressimg").attr("src","/i/flag-empty.png");$("#createbutton").removeAttr("disabled");resultClick("g0")})})}function geoError(a){alert(a.message+", "+a.code)};
