var layertypes=new Array();var layertypes_hash=new Object();var maps=new Array();var map;var layers=new Array();var markersLayer=new Array();var marker=new Array();var moving=false;var movestarted=false;var proj4326=new OpenLayers.Projection("EPSG:4326"),projmerc=new OpenLayers.Projection("EPSG:900913");jQuery(document).ready(function(){OpenLayers.Util.onImageLoadError=function(){this.src="/img/404.png"};setMapHeight();jQuery(window).resize(setMapHeight);initLayerTypes();var b=["mapnik","tah"];var e=-28;var d=43;var c=2;var a=null;var h=null;parseParams(function(j,i){switch(j){case"type":b[0]=i;break;case"mt0":b[0]=i;break;case"mt1":b[1]=i;break;case"lon":e=Number(i);break;case"lat":d=Number(i);break;case"zoom":c=parseInt(i);break;case"z":c=parseInt(i);break;case"x":a=parseInt(i);break;case"y":h=parseInt(i);break}});var g=createMapPosition(e,d,a,h,c);OpenLayers.ImgPath=OpenLayers._getScriptLocation()+"theme/geofabrik/img/";for(var f=0;f<=1;f++){initSelectOptions(f,b[f]);maps[f]=new OpenLayers.Map("map"+f,{theme:null,numZoomLevels:19,controls:[],projection:projmerc,displayProjection:proj4326});maps[f].addControl(new OpenLayers.Control.Navigation());maps[f].addControl(new OpenLayers.Control.MousePosition({div:jQuery("#customMousePosition").get(0)}));if(f==0){maps[f].addControl(new OpenLayers.Control.PanZoomBar())}newLayer(f,b[f]);setStartPos(f,g.getLonLat(),g.zoom);initMarker(f);maps[f].events.register("movestart",f,moveStart);maps[f].events.register("moveend",f,moveEnd);maps[f].events.register("mousemove",f,mouseMove);maps[f].events.register("mouseover",f,mouseOver);maps[f].events.register("mouseout",f,mouseOut)}map=maps[0];jQuery("#customMousePosition").hide();updatePermalink()});function setMapHeight(){var a=jQuery(window).height()-jQuery("#tools-top").height()-jQuery("#tools-titlebar").height()-jQuery("#bottom").height()-jQuery("#tools-copyright").height();jQuery(".map").height(a-70)}function initLayerTypes(){layertypes=[new LayerType("mapnik","OSM Mapnik",function(){return new OpenLayers.Layer.OSM.Mapnik("OSM Mapnik")}),new LayerType("tah","OSM Tiles@Home",function(){return new OpenLayers.Layer.OSM.Osmarender("OSM Tiles@Home",{numZoomLevels:19})}),new LayerType("cyclemap","OSM CycleMap",function(){return new OpenLayers.Layer.OSM.CycleMap("OSM CycleMap")}),new LayerType("cl","OSM Coastline",function(){return new OpenLayers.Layer.XYZ("OSM Coastline","http://a.hypercube.telascience.org/tiles/1.0.0/coastline/${z}/${x}/${y}.png",{sphericalMercator:true})}),new LayerType("googlemap","Google (Map)",function(){return new OpenLayers.Layer.Google("Google (Map)",{sphericalMercator:false,projection:proj4326})}),new LayerType("googlesat","Google (Satellite)",function(){return new OpenLayers.Layer.Google("Google (Satellite)",{sphericalMercator:false,projection:proj4326,type:G_SATELLITE_MAP})}),new LayerType("googlehybrid","Google (Hybrid)",function(){return new OpenLayers.Layer.Google("Google (Hybrid)",{sphericalMercator:false,projection:proj4326,type:G_HYBRID_MAP})}),new LayerType("googlephys","Google (Physical)",function(){return new OpenLayers.Layer.Google("Google (Physical)",{sphericalMercator:false,projection:proj4326,type:G_PHYSICAL_MAP})}),new LayerType("googlemapmaker","Google (Map Maker)",function(){return new OpenLayers.Layer.Google("Google (Map Maker)",{sphericalMercator:false,projection:proj4326,type:G_MAPMAKER_NORMAL_MAP})})]}function initMarker(a){markersLayer[a]=new OpenLayers.Layer.Markers("Marker");maps[a].addLayer(markersLayer[a]);marker[a]=new OpenLayers.Marker(maps[a].getCenter(),new OpenLayers.Icon("/img/cross.png",new OpenLayers.Size(20,20),new OpenLayers.Pixel(-10,-10)));markersLayer[a].setVisibility(false);markersLayer[a].addMarker(marker[a])}function moveStart(){movestarted=true;markersLayer[0].setVisibility(false);markersLayer[1].setVisibility(false);return(false)}function moveEnd(){if(moving){return}moving=true;maps[1-this].setCenter(maps[this].getCenter().clone().transform(maps[this].getProjectionObject(),maps[1-this].getProjectionObject()),maps[this].getZoom());moving=false;updatePermalink();movestarted=false;markersLayer[1-this].setVisibility(true);return(false)}function mouseMove(a){marker[1-this].moveTo(maps[this].getLayerPxFromViewPortPx(a.xy));return(false)}function mouseOver(a){if(!movestarted){markersLayer[1-this].setVisibility(true)}jQuery("#customMousePosition").show();return(false)}function mouseOut(a){markersLayer[0].setVisibility(false);markersLayer[1].setVisibility(false);jQuery("#customMousePosition").hide();return(false)}function initSelectOptions(f,e){var a=jQuery("#sw"+f);for(var d=0;d<layertypes.length;d++){var b=layertypes[d];var c=document.createElement("option");c.value=b.type;c.text=b.name;c.style.padding="1px";if(b.type==e){c.selected=true}a[0].options[d]=c}a.bind("change",f,changeLayer)}function setStartPos(d,c,b){var a=c.clone();a.transform(proj4326,maps[d].getProjectionObject());maps[d].setCenter(a,b)}function updatePermalink(){var a=getPosition();jQuery("#permalink")[0].href="/mc/?mt0="+layers[0].type+"&mt1="+layers[1].type+"&lon="+a.lon+"&lat="+a.lat+"&zoom="+a.zoom;jQuery("#customZoomLevel").html("zoom="+maps[0].getZoom())}function LayerType(c,a,b){this.type=c;this.name=a;this.create=b;layertypes_hash[c]=this}function MapLayer(b){var a=layertypes_hash[b];this.layer=a;this.type=a.type;this.name=a.name;this.obj=a.create()}function newLayer(b,a){layers[b]=new MapLayer(a);maps[b].addLayer(layers[b].obj)}function changeLayer(c){var f=c.data;var g=maps[f].getProjectionObject();var b=maps[f].getCenter().clone();var a=maps[f].getZoom();maps[f].removeLayer(maps[f].baseLayer);newLayer(f,c.target.value);try{layers[f].obj.setMapType()}catch(d){}maps[f].setCenter(b.transform(g,maps[f].getProjectionObject()),a);updatePermalink()};