var lon=1083922;var lat=6868472;var zoom=12;var opentargetDefault="_blank";var opentarget="_blank";var opentargetMatch=/.*/;var systemURL="http://maps2.connect-info.net";var ressourceURL="http://maps.connect-info.net/client/";var cssURL=ressourceURL+"css/connect-wmslib.css";var mapFile="/data/umn/hannit/mapfiles/haltestellen_remoteJson.map";var pendingLabel="<img src='"+ressourceURL+"img/loader.gif' name='pendingImage'>";var pendingTime=3000;var popup=null;var pendingPopup=null;var coordinatePopup=null;var mapOptions={projection:"SRS:41001",units:"m",numZoomLevels:13,maxResolution:"auto",maxExtent:new OpenLayers.Bounds(3299200,5618270,3734700,6047050),controls:[]};var displayedFeature=null;var map=null;var wms=null;var wmsName=null;function setOpentarget(targetname){opentarget=targetname}function setOpentargetDefault(targetname){opentargetDefault=targetname}function setOpentargetMatch(targetMatch){opentargetMatch=targetMatch}function init(x,y,z){if(x&&y&&z){lon=x;lat=y;zoom=z}if(cssURL){importCss(cssURL)}map=new OpenLayers.Map('map',mapOptions);map.addControl(new OpenLayers.Control.LayerSwitcher());map.addControl(new OpenLayers.Control.PanZoomBar());map.addControl(new OpenLayers.Control.MouseToolbar());map.addControl(new OpenLayers.Control.KeyboardDefaults());wms=new OpenLayers.Layer.WMS('Haltestellenpunkte',systemURL+'/cgi-bin/mapserv',{map:mapFile,layers:'haltestellenpunkte',transparent:'TRUE',format:'png'},{gutter:22,srs:'EPSG:41001',maxExtent:new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),units:'m',minScale:'1000000',maxResolution:'auto',tileSize:new OpenLayers.Size(1024,1024),buffer:0});wmsName=new OpenLayers.Layer.WMS("Haltestellennamen",systemURL+"/cgi-bin/mapserv",{map:mapFile,layers:'haltestellennamen',transparent:'TRUE',format:'png'},{srs:'EPSG:41001',maxExtent:new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),units:'m',minScale:'15000',maxResolution:'auto',tileSize:new OpenLayers.Size(1024,1024),buffer:0});var tah_layer=new OpenLayers.Layer.OSM.Osmarender("Osmarender");var mapnik_layer=new OpenLayers.Layer.OSM.Mapnik("Mapnik");map.addLayers([mapnik_layer,tah_layer,wms,wmsName]);map.events.register('click',wms,findLayerClick);var licence=document.createElement("div");licence.style.cssText="z-index: 1010; cursor: pointer; position: absolute; left: 0px; bottom: 0px; width: 100%; display: block; text-align: center; font-size: 11px; filter:alpha(opacity=80); -moz-opacity:0.8; opacity:0.8; background-color: white; padding: 2px; font-family: Arial,sans-serif;";licence.innerHTML='<span>Map data <a href="#" onclick="window.open(\'http://creativecommons.org/licenses/by-sa/2.0/deed.de\')">CCBYSA</a> <a href="x" onclick="window.open(\'http://www.openstreetmap.org\')">OpenStreetMap.org</a> contributors - Haltestellen: <a href="#" onclick="window.open(\'http://www.connect-info.net\')">connect</a></span>';document.getElementById("OpenLayers.Map_2_OpenLayers_ViewPort").appendChild(licence);var x=window.setTimeout(function(){if(!map.getCenter()){map.setCenter(new OpenLayers.LonLat(lon,lat),zoom,true,true);map.updateSize();window.clearTimeout(x)}},1000)}function recenter(){map.updateSize();map.setCenter(new OpenLayers.LonLat(lon,lat),zoom,true,true)}function remoteJson(src,scriptTagId){if(src){script=document.getElementById(scriptTagId);if(script)script.parentNode.removeChild(script);script=document.createElement("script");script.setAttribute("type","text/javascript");script.setAttribute("id",scriptTagId);script.setAttribute("src",src);document.getElementsByTagName("head")[0].appendChild(script)}}function importScript(url){var tag=document.createElement("script");tag.type="text/javascript";tag.src=url;document.body.appendChild(tag)}function importCss(url){var tag=document.createElement("link");tag.type="text/css";tag.rel="stylesheet";tag.href=url;document.body.appendChild(tag)}function buildBubble(obj){var s=obj;var c="<div class='hstcopyright'><a href='"+s.copyright.url+"' target='_blank'><img src='"+ressourceURL+"img/connect-logo.gif' border=0></a></div>";c+="<div class='hstname'>"+s.name+"</div>";if(isArray(s.servicegroups.servicegroup)){for(var i in s.servicegroups.servicegroup){if(isNaN(i))break;c+="<div class='hstgroup'>"+s.servicegroups.servicegroup[i].name+"</div>";var z=s.servicegroups.servicegroup[i].services.service;c+=getServices(z)}}else{c+="<div class='hstgroup'>"+s.servicegroups.servicegroup.name+"</div>";c+=getServices(s.servicegroups.servicegroup.services.service)}return"<div class='hstdiv'>"+c+"</div>"}function buildCoordinateBubble(mouseLoc){var source=new Proj4js.Proj('EPSG:900913');var dest=new Proj4js.Proj('EPSG:4326');var p=new Proj4js.Point(mouseLoc.lon,mouseLoc.lat);Proj4js.transform(source,dest,p);var c="<div class='hstcopyright'><a href='http://www.connect-info.net' target='_blank'><img src='"+ressourceURL+"img/connect-logo.gif' border=0></a></div>";c+="<div class='hstname'>Leider wurde an dieser Position<br/>keine Haltestelle gefunden.";c+="<div class='hstgroup'>Möchten Sie:</div>"+"<div class='hstservice'><a href='http://www.efa.de/gvh/XSLT_TRIP_REQUEST2?language=de&name_destination="+p.x+":"+p.y+":WGS84[DD.ddddd]:Koordinate&type_destination=coord&sessionID=0&itdLPxx_extLogo=efaportal'>Hier ankommen</a></div>"+"<div class='hstservice'><a href='http://www.efa.de/gvh/XSLT_TRIP_REQUEST2?language=de&name_origin="+p.x+":"+p.y+":WGS84[DD.ddddd]:Koordinate&type_origin=coord&sessionID=0&itdLPxx_extLogo=efaportal'>Hier abfahren</a></div>";return"<div class='hstdiv'>"+c+"</div>"}function getServices(service){var r="";if(isArray(service)){for(var i=0;i<service.length;i++){r+="<div class='hstservice'><a href='"+service[i].url+"' target='"+getOpentarget(service[i].url)+"'>"+service[i].description+"</a></div>"}}else{r+="<div class='hstservice'><a href='"+service.url+"' target='"+getOpentarget(service.URL)+"'>"+service.description+"</a></div>"}return r}function isArray(o){if(o==null||typeof(o)!="object"||typeof(o.length)!="number"){return false}if(defined(Array)&&defined(o.constructor)&&o.constructor==Array){return true}if(typeof(o.join)=="function"&&typeof(o.sort)=="function"&&typeof(o.reverse)=="function"){return true}return(o.length==0||defined(o[0]))}function defined(o){return typeof(o)!="undefined"}function findLayerClick(event){mouseLoc=map.getLonLatFromPixel(event.xy);popupDestroy();pendingPopupDestroy();coordinatePopupDestroy();pendingPopup=new OpenLayers.Popup.AnchoredBubble("Request...",mouseLoc,new OpenLayers.Size(32,32),pendingLabel,null,false,pendingPopupDestroy);pendingPopup.setBackgroundColor("#ffffff");pendingPopup.setBorder("#000000");map.addPopup(pendingPopup);pendingPopup.events.register("click",map,pendingPopupDestroy);setTimeout("buildCoordinatePopup(mouseLoc)",pendingTime);layerlist="Haltestellenpunkte";var adresse=wms.getFullRequestString({MAP:mapFile,REQUEST:"GetFeatureInfo",EXCEPTIONS:"application/vnd.ogc.se_xml",BBOX:map.getExtent().toBBOX(),X:event.xy.x,Y:event.xy.y,INFO_FORMAT:'text/html',QUERY_LAYERS:'haltestellenpunkte',FEATURE_COUNT:1,WIDTH:map.size.w,HEIGHT:map.size.h},systemURL+"/cgi-bin/mapserv");remoteJson(adresse,"getFeatureInfo");Event.stop(event)}function buildCoordinatePopup(mouseLoc){pendingPopupDestroy();coordinatePopupDestroy();if(popup==null){coordinatePopup=new OpenLayers.Popup.FramedCloud("Stop Info",mouseLoc,null,buildCoordinateBubble(mouseLoc),null,true,coordinatePopupDestroy);coordinatePopup.setBackgroundColor("#ffffff");map.addPopup(coordinatePopup);coordinatePopup.events.register("click",map,coordinatePopupDestroy)}}function getJSON(response){popup_info=buildBubble(response.stop);pendingPopupDestroy();popupDestroy();coordinatePopupDestroy();popup=new OpenLayers.Popup.FramedCloud("Stop Info",mouseLoc,null,popup_info,null,true,popupDestroy);popup.setBackgroundColor("#ffffff");map.addPopup(popup);popup.events.register("click",map,popupDestroy)}function popupDestroy(evt){if(popup!=null){popup.destroy();popup=null;if(defined(evt)){OpenLayers.Util.safeStopPropagation(evt)}}}function pendingPopupDestroy(evt){if(pendingPopup!=null){pendingPopup.destroy();pendingPopup=null;if(defined(evt)){OpenLayers.Util.safeStopPropagation(evt)}}}function coordinatePopupDestroy(evt){if(coordinatePopup!=null){coordinatePopup.destroy();coordinatePopup=null;if(defined(evt)){OpenLayers.Util.safeStopPropagation(evt)}}}function getOpentarget(urlString){if(typeof(urlString)!="undefined"&&urlString.match(opentargetMatch)){return opentarget}else{return opentargetDefault}}
