var proj4326=new OpenLayers.Projection("EPSG:4326"),projmerc=new OpenLayers.Projection("EPSG:900913");var map,grid,markerLayer=null,marker=null,permalink;var links=[{id:"osmorg",name:"OpenStreetMap.org",prefix:"http://www.openstreetmap.org/?",params:markerLink},{id:"osmde",name:"OpenStreetMap.de",prefix:"http://www.openstreetmap.de/karte.html?",params:markerLink},{id:"bestofosm",name:"Best of OSM",prefix:"http://bestofosm.org/?",params:stdLink},{id:"infofwy",name:"informationfreeway",prefix:"http://www.informationfreeway.org/?",params:stdLink},{id:"ors",name:"OpenRouteService",prefix:"http://data.giub.uni-bonn.de/openrouteservice/index.php?",params:orsLink},{id:"oepnv",name:"öpnvkarte",prefix:"http://www.öpnvkarte.de/?",params:stdLink},{id:"cycle",name:"OpenCycleMap",prefix:"http://www.opencyclemap.org/?",params:stdLink},{id:"reitwander",name:"Reit- und Wanderkarte",prefix:"http://topo.geofabrik.de/?",params:stdLink},{id:"sauter",name:"Transparent Map Comparison",prefix:"http://sautter.com/map/?",params:stdLink},{id:"piste",name:"OpenPisteMap",prefix:"http://openpistemap.org/?",params:stdLink},{id:"freemap",name:"free-map.org.uk",prefix:"http://www.free-map.org.uk/?",params:stdLink},{id:"osbugs",name:"OpenStreetBugs",prefix:"http://www.openstreetbugs.org/?",params:stdLink},{id:"browser",name:"OpenStreetBrowser",prefix:"http://www.openstreetbrowser.org/?",params:stdLink},{id:"lenz",name:"Lenz POI Map",prefix:"http://www.lenz-online.de/cgi-bin/osm/osmpoinit.pl?",params:stdLink},{id:"freietonne",name:"Freie Tonne",prefix:"http://www.freietonne.de/osm/?",params:stdLink},{id:"opentiles",name:"Hike and Bike Map",prefix:"http://opentiles.com/cmarqu/?",params:stdLink},{id:"freemapsk",name:"Freemap.sk",prefix:"http://www.freemap.sk/?",params:stdLink}];function stdLink(c,b,a){return{lon:c.lon,lat:c.lat,zoom:c.zoom}}function markerLink(d,b,a){var c={lon:d.lon,lat:d.lat,zoom:d.zoom};if(b!=null&&a!=null){c.mlon=b;c.mlat=a}return c}function orsLink(d,b,a){var c={lon:d.lon,lat:d.lat,zoom:d.zoom};if(b!=null&&a!=null){c.start=""+b+","+a}return c}jQuery(document).ready(function(){var l="Geofabrik";var a=7;var e=43;var m=2;var k=null;var g=null;var d=false;parseParams(function(n,i){switch(n){case"type":l=i;break;case"lon":a=Number(i);break;case"lat":e=Number(i);break;case"zoom":m=parseInt(i);break;case"z":m=parseInt(i);break;case"x":k=parseInt(i);break;case"y":g=parseInt(i);break;case"mlon":mlon=Number(i);break;case"mlat":mlat=Number(i);break;case"grid":d=(i=="1"?true:false);break}});var h=createMapPosition(a,e,k,g,m);OpenLayers.IMAGE_RELOAD_ATTEMPTS=3;OpenLayers.Util.onImageLoadErrorColor="transparent";OpenLayers.ImgPath=OpenLayers._getScriptLocation()+"theme/geofabrik/img/";OpenLayers.Control.Click=OpenLayers.Class(OpenLayers.Control,{defaultHandlerOptions:{single:true,"double":false,pixelTolerance:0,stopSingle:false,stopDouble:false},initialize:function(i){this.handlerOptions=OpenLayers.Util.extend({},this.defaultHandlerOptions);OpenLayers.Control.prototype.initialize.apply(this,arguments);this.handler=new OpenLayers.Handler.Click(this,{click:this.trigger},this.handlerOptions)},trigger:function(n){var i=map.getLonLatFromViewPortPx(n.xy);i.transform(projmerc,proj4326);mlon=Math.round(i.lon*100000)/100000,mlat=Math.round(i.lat*100000)/100000,setMarker();updateChanged()}});var b=new OpenLayers.Control.Click();map=new OpenLayers.Map("map",{theme:null,projection:projmerc,displayProjection:proj4326,controls:[new OpenLayers.Control.Navigation(),new OpenLayers.Control.LayerSwitcher({activeColor:"#699dad"}),new OpenLayers.Control.MousePosition({div:jQuery("#customMousePosition").get(0)}),new OpenLayers.Control.PanZoomBar(),new OpenLayers.Control.Coordinates({activeColor:"#699dad"}),b],maxExtent:new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),numZoomLevels:18,maxResolution:156543.0339,units:"m"});jQuery("#customMousePosition").hide();b.activate();permalink=jQuery("#permalink");OpenLayers.Util.OSM.MISSING_TILE_URL="/img/404.png";map.addLayers([new OpenLayers.Layer.Geofabrik("Geofabrik","549e80f319af070f8ea8d0f149a149c2"),new OpenLayers.Layer.OSM.Mapnik("Mapnik"),new OpenLayers.Layer.OSM.Osmarender("Tiles@Home"),new OpenLayers.Layer.OSM.CycleMap("CycleMap"),new OpenLayers.Layer.TMS("Coastline","http://a.hypercube.telascience.org/tiles/1.0.0/coastline/",{type:"png",getURL:getTileURL,maxExtent:new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),numZoomLevels:19,maxResolution:156543.0339,units:"m",projection:projmerc,displayProjection:proj4326})]);map.setBaseLayer(map.getLayersByName(l)[0]);grid=new OpenLayers.Layer.ViewGrid("Tile coordinates");grid.setVisibility(d);map.addLayer(grid);markerLayer=new OpenLayers.Layer.Markers("Marker");map.addLayer(markerLayer);jQuery("#removeMarker").hide();jQuery("#removeMarker").bind("mouseup",removeMarker);if(mlon!=null&&mlat!=null){setMarker()}map.setCenter(h.getLonLat().transform(proj4326,projmerc),h.zoom);map.events.register("mouseover",null,function(){jQuery("#customMousePosition").show()});map.events.register("mouseout",null,function(){jQuery("#customMousePosition").hide()});map.events.register("move",null,updateChanged);map.events.register("changelayer",null,updateChanged);updateChanged();var j=jQuery("#links");j.bind("change",jumpTo);j.get(0).appendChild(createNewOption("","Choose map...",true));for(var c in links){var f=links[c];j.get(0).appendChild(createNewOption(f.id,f.name,false))}jQuery("#openPotlatch").bind("click",openPotlatch);jQuery("#openJOSM").bind("click",openJOSM)});function jumpTo(b){var c=jQuery("#links").val();var a=jQuery.grep(links,function(e,d){return e.id==c})[0];location.href=a.prefix+OpenLayers.Util.getParameterString(a.params(getPosition(),mlon,mlat))}function setMarker(){if(marker!=null){markerLayer.removeMarker(marker);marker.destroy()}var a=new OpenLayers.Size(21,25);var d=new OpenLayers.Pixel(-a.w/2-1,-a.h-1);var b=new OpenLayers.Icon("/img/marker.png",a,d);var c=new OpenLayers.LonLat(mlon,mlat);marker=new OpenLayers.Marker(c.transform(proj4326,projmerc),b);markerLayer.addMarker(marker);jQuery("#removeMarker").show()}function removeMarker(){jQuery("#removeMarker").hide();markerLayer.removeMarker(marker);marker.destroy();marker=null;mlon=null;mlat=null;updateChanged()}function updateChanged(){var a=map.getCenter().clone().transform(projmerc,proj4326);var c=map.getZoom();if(c>13){jQuery("#openPotlatch").attr("src","/img/to_potlatch.png");jQuery("#openJOSM").attr("src","/img/to_josm.png")}else{jQuery("#openPotlatch").attr("src","/img/to_potlatch_disabled.png");jQuery("#openJOSM").attr("src","/img/to_josm_disabled.png")}var b="/map/?type="+map.baseLayer.name+"&lon="+a.lon.toFixed(5)+"&lat="+a.lat.toFixed(5)+"&zoom="+c;if(grid.visibility){b+="&grid=1"}if(mlon&&mlat){b+="&mlon="+mlon+"&mlat="+mlat}permalink.attr("href",b);jQuery("#customZoomLevel").html("zoom="+map.getZoom())}function openPotlatch(){if(map.getZoom()>13){var a="http://www.openstreetmap.org/edit.html?";location.href=a+OpenLayers.Util.getParameterString(stdLink(getPosition(),mlon,mlat))}}function openJOSM(){if(map.getZoom()>13){var b=map.getExtent().transform(projmerc,proj4326).toArray();var a="http://localhost:8111/load_and_zoom?left="+b[0].toFixed(5)+"&bottom="+b[1].toFixed(5)+"&right="+b[2].toFixed(5)+"&top="+b[3].toFixed(5);jQuery("#josmiframe").attr("src",a)}};