Object.extend(Event,{wheel:function(event){var delta=0;if(!event)event=window.event;if(event.wheelDelta){delta=event.wheelDelta/120;if(window.opera)delta=-delta;}else if(event.detail){delta=-event.detail/3;}
return Math.round(delta);}});;var tgmAddMapMarkerDialogClass=Class.create(tgmDialog,{className:'tgmAddMapMarkerDialogClass',contentUrl:'/ajax/dialog/addMapMarkerDisplay',modal:true,openCentered:true,entryId:null,forceReload:true});var tgmAddMapMarkerDialog;;var tgmEditMapMarkerDialogClass=Class.create(tgmDialog,{className:'tgmEditMapMarkerDialogClass',contentUrl:'/ajax/dialog/editMapMarkerDisplay',modal:true,openCentered:true,entryId:null,forceReload:true,_mapUtils:null,del:function(e){$$(".ajaxDialogContent .delete_marker")[0].style.display="block";$$(".ajaxDialogContent .edit_marker")[0].style.display="none";Event.stop(e);},delete_confirm:function(e){var url="/ajax/maps/deleteAdressbookEntry";var params={entryId:this.entryId};var aj=new Ajax.Request(url,{method:'post',parameters:params,onComplete:function(originalRequest){this.hide();this._mapUtils.searchManager.addressbookSearch();this._mapUtils.dynPoiManager.update(true);}.bind(this)});Event.stop(e);}});var tgmEditMapMarkerDialog;;var tgmMapUrlDialogClass=Class.create(tgmDialog,{className:'tgmMapUrlDialogClass',contentUrl:'/ajax/dialog/mapUrlDisplay',modal:true,openCentered:true,entryId:null,forceReload:true});var tgmMapUrlDialog;;var tgmSendUrlDialogClass=Class.create(tgmDialog,{className:'tgmSendUrlDialogClass',contentUrl:'/ajax/dialog/emailMap',modal:true,openCentered:true,entryId:null,forceReload:true,urlToSend:null,submitAction:function(form)
{this.hideError();var error=this.validationObject.check();if(!error){var email=form.down('input[name=email]').getValue();var captcha=form.down('input[name=captcha]').getValue();var mailfrom=form.down('input[name=mailfrom]').getValue();var message=form.down('textarea[name=message]').getValue();var pars=this.form.serialize();var jsonData=$H({email:email,captcha:captcha,url:escape(this.urlToSend),mailfrom:mailfrom,message:message}).toJSON();this.jsonHandler.sendJSONRequestAndHandleResult(jsonData,function(result){if(result==true){if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack("DCSext.dialogSubmit",13);}else{form.down('input[name=captcha]').value="";form.down("img.captcha_image").src="/ajax/captcha?rnd="+Math.random();}}.bindAsEventListener(this));}else{form.down('input[name=captcha]').value="";form.down("img.captcha_image").src="/ajax/captcha?rnd="+Math.random();}}});var tgmSendUrlDialog;;var tgmAddStationDialogClass=Class.create(tgmDialog,{className:'tgmAddStationDialogClass',contentUrl:'/ajax/dialog/addStationDisplay',modal:true,openCentered:true,entryId:null,forceReload:true});var tgmAddStationDialog;;var tgmRouteOptionsDialogClass=Class.create(tgmDialog,{className:'tgmRouteOptionsDialogClass',contentUrl:'/ajax/dialog/routeOptionsDisplay',modal:true,openCentered:true,entryId:null,forceReload:true});var tgmRouteOptionsDialog;;var tgmMapOptionsDialogClass=Class.create(tgmDialog,{className:'tgmMapOptionsDialogClass',contentUrl:'/ajax/dialog/mapOptionsDisplay',modal:true,openCentered:true,entryId:null,forceReload:true});var tgmMapOptionsDialog;;var tgRoaClass=Class.create({className:'tgRoaClass',initialize:function(utilsObj){utilsObj.log(this.className+' initialized');utilsObj.observeEvent('onMapEntryRouteSet',function(e){this.sendToServer(e.memo,'MapEntryRouteSet');}.bindAsEventListener(this));},sendToServer:function(gid,action)
{var url='/tracking/track/roa?gid='+gid+'&action='+action;new Ajax.Request(url,{method:'get'});}});var tgRoa;;var tgLocation=Class.create({formName:'',street:'',streetNumber:'',zip:'',city:'',district:'',country:'',longitude:'',latitude:'',initialize:function(formName){if(formName!=null){this.formName=formName;}},fromString:function(xmlString){xmlString+="";var params=xmlString.split("|");this.zip=params[1];this.city=params[2];this.district=params[3];this.street=params[4];this.streetNumber=params[5];this.country=params[6];if(params.length>6){this.longitude=params[7];this.latitude=params[8];}},toString:function(){if(this.longitude==''&&this.latitude==''){return(this.formName);}else{return("|"+this.zip+"|"+this.city+"|"+this.district
+"|"+this.street+"|"+this.streetNumber+"|"
+this.country+"|"+this.longitude+"|"+this.latitude);}},generateFormName:function(){var formName='';formName+=this.zip;if(this.zip!=''&&this.city!=''){formName+=' ';}
formName+=this.city;if(formName!=''&this.street!=''){formName+=' ';}
formName+=this.street;if(this.streetNumber!=''){formName+=' '+this.streetNumber;}
return formName;}});;var tgUrlProcessor=Class.create({_mapUtils:null,initialize:function(mapUtils){this._mapUtils=mapUtils;},processUrl:function(url){var params=this._getParameters(url);if(document.location.href.match('routenplaner')){this._processRoutingParameters(params);}else{this._processMapParameters(params);}},_getParameters:function(url){if(url.search(/#/)){var url=url.replace(/#/,"?");var params=unescape(url).toQueryParams();}else{var params=unescape(location.search).toQueryParams();}
var hash=$H(params);var params_array=[];hash.each(function(p){try{params_array[p[0]]=decodeURIComponent(escape(p[1]));}catch(e){params_array[p[0]]=p[1];}});params=($H(params_array).toObject());return params;},_processRoutingParameters:function(params){var queryStations=$H(params);if(typeof(queryStations.get("s0"))!="undefined"&&typeof(queryStations.get("s4"))!="undefined"){if(params.s0.search(/\+/)!=-1||params.s4.search(/\+/)!=-1&&typeof(queryStations.get("rp"))!="undefined"){if(params.cclick==1){var start=params.s0.replace(/\+/g," ");var destination=params.s4.replace(/\+/g," ");$("routingForm").start.value=start;$("routingForm").destination.value=destination;this._mapUtils.map.setCenter(new tgLngLat(params.lng*1,params.lat*1),4);var stationType="destination";var icon=new routingStationIcon("station_"+"0",new tgLngLat(params.lng,params.lat),{type:stationType});this._mapUtils.map.addOverlay(icon);this._mapUtils.sidebarManager.displaySidebar();}else{var start=params.s0.replace(/\+/g," ");var destination=params.s4.replace(/\+/g," ");start=start.replace(/\|/g," ");destination=destination.replace(/\|/g," ");$("routingForm").start.value=start;$("routingForm").destination.value=destination;this._mapUtils.routingManager.routeByForm(start,destination);}}else if(params.s0.split("|").length==1&&params.s4.split("|").length==1){if(params.s0.match(/, D$/)!=null){params.s0=params.s0.substr(0,params.s0.length-3);}
if(params.s4.match(/, D$/)!=null){params.s4=params.s4.substr(0,params.s4.length-3);}
if(params.s0!=null){$("routingForm").start.value=params.s0;}
if(params.s4!=null){$("routingForm").destination.value=params.s4;}
if(params.s==null){this._mapUtils.sidebarManager.displaySidebar();}
this._mapUtils.routingManager.routeByForm(params.s0,params.s4);}else{for(var i=0;i<=4;i++){var station=queryStations.get("s"+i);if(typeof(station)!="undefined"&&station!=null&&station!=""){var routingStation=new tgLocation(station);this._mapUtils.routingManager.stations[i].fromString(routingStation);}}
if(params.s0!=null){this._mapUtils.routingManager.stations[0].formName=mapUtils.routingManager.stations[0].generateFormName();$("routingForm").start.value=mapUtils.routingManager.stations[0].formName;}
if(params.s4!=null){this._mapUtils.routingManager.stations[4].formName=mapUtils.routingManager.stations[4].generateFormName();$("routingForm").destination.value=mapUtils.routingManager.stations[4].formName;}
if(params.s!=null){this._mapUtils.routingManager.route();}else{this._mapUtils.sidebarManager.displaySidebar();}}}else{if(params.s4!=null&&params.s4.split("|").length>1){this._mapUtils.routingManager.stations[4].fromString(params.s4);this._mapUtils.routingManager.stations[4].formName=mapUtils.routingManager.stations[4].generateFormName();$("routingForm").destination.value=this._mapUtils.routingManager.stations[4].formName;}else if(params.s4!=null){var u=top.location.href;var url=u.replace(/#/,"?");try{var params=url.toQueryParams();}catch(e){url=unescape(url);var params=url.toQueryParams();}
$("routingForm").destination.value=params.s4.replace(/\+/g," ");var fillStartDialog=new Effect.Appear($("fillStartFormDialog"),{afterFinish:function(){window.setTimeout("var hideStartDialog = new Effect.Fade($('fillStartFormDialog'))",5000)}});if(params.lng!=null&&params.lat!=null){this._mapUtils.map.setCenter(new tgLngLat(params.lng*1,params.lat*1),params.zoom);}}
if(params.streetnr_ziel!=null){var stationstring=params.streetnr_ziel.replace("+"," ")+", "+params.zipcity_ziel.replace("+"," ")+", "+params.country_ziel.replace("+"," ");$("routingForm").destination.value=stationstring;this._mapUtils.sidebarManager.displaySidebar();}else{this._mapUtils.sidebarManager.displaySidebar();}}
if(params.entryId!=null&&params.entryId!=""){var opts={'title':""};if(params.entryId.substr(0,1)=="Z"){if($("telegate")||$("freenet")){var iconPath="/11880/img/maps/icons/icon_me.png";}else if($("klicktel")){var iconPath="/global/img/maps/icons/icon_me.png";}
var m=new meMarker(params.entryId,this._mapUtils.map.getCenter(),opts,iconPath);}else{var iconPath="/global/img/maps/icons/icon_st.png";var m=new stMarker(params.entryId,this._mapUtils.map.getCenter(),opts,iconPath);}
this._mapUtils.map.addOverlay(m);}},_processMapParameters:function(params){if(params.what!=null){$("mapsForm").searchterm.value=params.what;}
if(params.where!=null){if(params.where.split("|").length==1){$("mapsForm").location.value=params.where;}else{$("mapsForm").location.value="";this._mapUtils.searchManager.metaSearch(params.what,"");this._mapUtils.map.setCenter(new tgLngLat(params.lng*1,params.lat*1),params.zoom);}}
if(params.we!=null){$("mapsForm").location.value=params.we.replace(/\+/g," ");}
if(params.z!=null){this._mapUtils.map.setZoom(params.z);}
if(params.zoom!=null){this._mapUtils.map.setZoom(params.zoom);}
if(params.searchobject!=null){if(typeof(params.sd)!="undefined"){var sd=params.sd;}else{var sd=null;}
this._mapUtils.searchManager.objectSearch(1,null,sd);return;}
if(params.s!=null){if(params.lng!=null&&params.lat!=null&&params.zoom!=null){this._mapUtils.formManager.evaluate(null,params.lng,params.lat,params.zoom);}else{this._mapUtils.formManager.evaluate();}}else if(params.lela!=null){this._mapUtils.dynPoiManager.dynPoi.lela=params.lela;this._mapUtils.sidebarManager.showLelaContent(params.lela);if(params.lela=="y3LeLaTraffic"){this._mapUtils.map.trafficjam=1;}}else{if(params.lng!=null&&params.lat!=null&&(params.zoom!=null||params.z!=null)){if(params.zoom!=null){this._mapUtils.map.setCenter(new tgLngLat(params.lng*1,params.lat*1),params.zoom);}else{this._mapUtils.map.setCenter(new tgLngLat(params.lng*1,params.lat*1),params.z);}}
if(typeof(mapSidebarContent)!="undefined"){mapUtils.sidebarManager.displaySidebar(mapSidebarContent);}else{mapUtils.sidebarManager.displaySidebar();}}
var regexS="\#([^&#]*)";var regex=new RegExp(regexS);if(regex.exec(window.location.href)!=null){var results=regex.exec(window.location.href);var open=results[1];if(open=='addressbookSearch'){var mainnav=$$('div#nav_main ul li');if(mainnav.length>0){for(var i=0;i<mainnav.length;i++){if(mainnav[i].down('a').hasClassName('registration')){mainnav[i].id="current";}
else{mainnav[i].removeAttribute('id');}}}
if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.mapSType','2','DCSext.sbAction','Show Addressbook');this._mapUtils.ivwBoxManager.track();new Ajax.Request("/ajax/maps/addressbookSearch",{onSuccess:function(originalRequest){var json=originalRequest.responseJSON;this._mapUtils.hideAjaxLoader();if(json.error==null){this._mapUtils.sidebarManager.displaySidebar(json['sidebar']);}}.bind(this)});this._mapUtils.maximizeMap();}}}});;var tgManager=Class.create({_mapUtils:null,initialize:function(mapUtils){this._mapUtils=mapUtils;},_getMap:function(){return this._mapUtils.map;}});;var tgSidebarManager=Class.create(tgManager,{liIdOld:null,altbg:null,markerIdOld:null,sbObservers:new Array(),isVisible:false,locIsVisible:false,resultlistClick:null,resultlistHover:null,resultlistHoverOut:null,resultlistPaging:null,resultlistFilter:null,reslutlistFilterClose:null,resultlistTradeSelector:null,page:null,_clickHandler:null,_clickId:null,initialize:function($super,mapUtils){if(mapUtils.sidebarManager!=null){return mapUtils.sidebarManager;};$super(mapUtils);},_clear:function(){this._getMap().getSidebar().resultlistPadding=30;this.displaySidebar();if(this._getMap().routeId!=-1||this._getMap().trafficjam!=0){this._getMap().routeId=-1;this._getMap().trafficjam=0;this._getMap()._draw();}
this._mapUtils.dynPoiManager.dynPoi.lela="";this._getMap().clearOverlays();this._mapUtils.dynPoiManager.update(true);},_handleSidebarClick:function(e){var el=Event.element(e);var li=Element.up(el,"li");var voting=Element.up(el,"span");if(el.up(".sbImprint")&&$("freenet")){return;}
if(el.hasClassName("targetblank")&&$("freenet")){return;}
if(el.hasClassName("adlink")||el.hasClassName("adpic")){return;}
if(voting!=null&&voting.hasClassName('voting')){return;}
if(el.hasClassName("folderclose")){if(this.locIsVisible){this._locationSelect(e);}
if(this.isVisible){this._resultlistTradeSelector(e);}
Event.stop(e);return;}
if(el.hasClassName("close")){this._clear();Event.stop(e);return;}
if(el.hasClassName("zoomToRoute")){if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.maps_action','Zoom-Out');this._mapUtils.ivwBoxManager.track();this._mapUtils.routingManager.zoomToRoute();Event.stop(e);return;}
if(el.hasClassName("mapOptions")){this._mapUtils.showMapOptionsDialog();}
if(el.hasClassName("editProfile")){this._mapUtils.showEditProfileDialog();}
if(el.hasClassName("setlocation")){if(this._mapUtils.searchManager.searchLocation!=null){var aj=new Ajax.Request("/ajax/maps/setHomeLocation",{parameters:{location:this._mapUtils.searchManager.searchLocation.toString()},method:'get',onSuccess:function(originalRequest){var json=originalRequest.responseJSON;if(json.error==null){this._mapUtils.dynPoiManager.update(true);$$(".sidebar .notice")[0].update("Vielen Dank! Ihr Standard-Standort wurde gespeichert.");}}.bind(this)});}}
if(el.hasClassName("printing")){if($("routeid")!=null){var params=this._mapUtils.routingManager.getUrlParameters();var printview=window.open("/routenplaner/print/route?"+params,"Druckansicht","width=800,height=600,left=0,top=0,scrollbars=1,resizable=1");return;}else{if(document.location.href.match('kartensuche')){if(this._mapUtils.searchManager.searchLocation!=null){if(params!=""){params+="&";}
params+="where="+this._mapUtils.searchManager.searchLocation.formName;};if(this._mapUtils.searchManager.searchQuery!=null){if(params!=""){params+="&";}
params+="term="+this._mapUtils.searchManager.searchQuery;};}
var current=$$("a.current");if(params!=""){params+="&";}
params+="page="+Element.readAttribute(current[0],"pagenum");var printview=window.open("/kartensuche/print/search?"+params,"Druckansicht","width=800,height=600,left=0,top=0,scrollbars=1,resizable=1");return;}}
if(el.hasClassName("routingOptions")||el.parentNode.hasClassName("routingOptions")){this._mapUtils.routingManager.showOptionsDialog();}
if(el.parentNode.hasClassName("addStation")){this._mapUtils.routingManager.showAddStationDialog();}
if(el.hasClassName("lela")){el.classNames().each(function(className){if(className!="lela"){if(className=="y3LeLaTraffic"){this._getMap().trafficjam=1;this._getMap()._draw();}
this._mapUtils.dynPoiManager.dynPoi.lela=className;this._mapUtils.dynPoiManager.update(true);this._mapUtils.sidebarManager.showLelaContent(className);}}.bind(this));Event.stop(e);return;}
if(li!=null){if(this.locIsVisible){var x=Event.pointerX(e);var y=Event.pointerY(e);if(!Position.within($("locfoldcontainer"),x,y)){this._locationSelect(e);}}
if(this.isVisible){var x=Event.pointerX(e);var y=Event.pointerY(e);if(!Position.within($("tradefoldcontainer"),x,y)){this._resultlistTradeSelector(e);}}
if(li.getAttribute("rel")!=null){if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.maps_action','Zoom-In');this._mapUtils.ivwBoxManager.track();this._mapUtils.routingManager.zoomToWaypoint(li);}
if(el.hasClassName("save")){if(typeof(li)!="undefined"){var idString=li.id.split("_");var markerId=idString[1];this._mapUtils.actionLinkManager.startSaveAddress(markerId);}
el.removeClassName("save");el.addClassName("saved");}else{var parentUL=li.parentNode;if(parentUL.id=="basic_entries"){var type="std";}else{var type="media";}
var idString=li.id.split("_");var markerId=idString[1];var markers=this._getMap().getOverlays();var marker=null;markers.each(function(m){if(m.id.indexOf(markerId)!=-1){marker=m;}}.bind(this));if(marker!=null){this._mapUtils.iconManager.handleClick(marker,markerId,type);}else{this._mapUtils.dynPoiManager.update(true,markerId);}}}
if(el.up(".sbImprint")&&!$("freenet")){this.showImpressum(el);}
Event.stop(e);},_resultlistHover:function(e){var eo=e.srcElement||e.target;var x=Event.pointerX(e);var y=Event.pointerY(e);if(($("paging")==null||!Position.within($("paging"),x,y))&&!Position.within($("sbImprint"),x,y)){var li=Event.findElement(e,"li");if(typeof(li)!="undefined"){var idString=li.id.split("_");var markerId=idString[1];if(this.markerIdOld!=markerId){if(Element.hasClassName($(markerId),"altbg")){Element.removeClassName($(markerId),"altbg");this.altbg=true;}else{if(this.altbg){Element.addClassName($(this.markerIdOld),"altbg");}
this.altbg=null;}
Element.removeClassName($(this.markerIdOld),"hover");var markers=this._getMap().getOverlays();var marker=null;markers.each(function(m){if(typeof(m.sidebarhoverout)!="undefined"){m.sidebarhoverout(m);}
if(m.id.indexOf(markerId)!=-1){marker=m;Event.observe(li,"mouseout",function(e){var x=Event.pointerX(e);var y=Event.pointerY(e);if(!Position.within(li,x,y)){}}.bindAsEventListener(this));}else{}}.bind(this));Element.addClassName($(markerId),"hover");if(marker!=null){marker.sidebarhover(marker);}
this.markerIdOld=markerId;}else{}}}},_resultlistHoverOut:function(e){var x=Event.pointerX(e);var y=Event.pointerY(e);var eo=e.srcElement||e.target;var ul=Event.findElement(e,"ul");if(typeof(ul)!="undefined"){}
if(!Position.within($("sidebar_resultlist"),x,y)){Element.removeClassName($(this.markerIdOld),"hover");if(this.altbg){Element.addClassName($(this.markerIdOld),"altbg");this.altbg=null;}
var markers=this._getMap().getOverlays();var marker=null;markers.each(function(m){if(typeof(m.sidebarhoverout)!="undefined"){m.sidebarhoverout(m);}}.bind(this));this.markerIdOld=null;}},_resultlistPaging:function(e){var eo=e.srcElement||e.target;var page=null;var current=$$("a.current");var currentPage=Element.readAttribute(current[0],"pagenum");if(Element.hasClassName(eo,"prev")){if(currentPage!=1){page=currentPage-1;}}else if(Element.hasClassName(eo,"next")){currentPage++;page=currentPage;}else if(Element.hasClassName(eo,"paging")){page=Element.readAttribute(eo,"pagenum");}
if(page){this._mapUtils.searchManager.objectSearch(page);}
Event.stop(e);},_resultlistFilter:function(e){var eo=e.srcElement||e.target;var x=Event.pointerX(e);var y=Event.pointerY(e);if(eo.className=="tradefilter"){var trade=Event.findElement(e,"a");var idString=trade.id.split("_");var tradeId=idString[1];this._mapUtils.searchManager.objectSearch(1,tradeId);}else if(eo.className=="folderclose"){$("tradeSelectorFoldout").hide();this.isVisible=false;}
Event.stop(e);},_resultlistFilterClose:function(e){this._mapUtils.searchManager.objectSearch(1,0);Event.stop(e);},_resultlistTradeSelector:function(e){if(this.isVisible){$("tradeSelectorFoldout").hide();this.isVisible=false;}else{$("tradeSelectorFoldout").show();this.isVisible=true;if(this.locIsVisible){$("locationSelectorFoldout").hide();this.locIsVisible=false;}}
Event.stop(e);},_locationSelectStart:function(e){var eo=e.srcElement||e.target;var x=Event.pointerX(e);var y=Event.pointerY(e);if(eo.className=="locationselect"){var loc=Event.findElement(e,"a");var locIdString=loc.id.split("_");var locId=locIdString[1];this._mapUtils.searchManager.geoSearch($("mapsForm").searchterm.value,locId);}else if(eo.className=="folderclose"){$("locationSelectorFoldout").hide();this.locIsVisible=false;}
Event.stop(e);},_locationSelect:function(e){var x=Event.pointerX(e);var y=Event.pointerY(e);if(this.locIsVisible){if(!Position.within($("locationSelectorFoldout"),x,y)){$("locationSelectorFoldout").hide();this.locIsVisible=false;}}else{$("locationSelectorFoldout").show();this.locIsVisible=true;if(this.isVisible){$("tradeSelectorFoldout").hide();this.isVisible=false;}}
Event.stop(e);},destroyObservers:function(){if(!this.sbObservers.length<1){this.sbObservers.each(function(m){switch(m[1]){case"resultlistClick":Event.stopObserving($("sidebar_resultlist"),"click",this.resultlistClick);break;case"resultlistHover":Event.stopObserving($("sidebar_resultlist"),"mouseover",this.resultlistHover);break;case"resultlistHoverOut":Event.stopObserving($("sidebar_resultlist"),"mouseout",this.resultlistHoverOut);break;case"resultlistPaging":Event.stopObserving($("paging"),"click",this.resultlistPaging);break;case"resultlistFilter":Event.stopObserving($("filter_trades"),"click",this.resultlistFilter);break;case"resultlistFilterClose":Event.stopObserving($("trade_filter"),"click",this.resultlistFilterClose);break;case"resultlistTradeSelector":Event.stopObserving($("tradeSelectorLink"),"click",this.resultlistTradeSelector);break;case"locationSelect":Event.stopObserving($("locselect"),"click",this.locationSelect);break;case"locationSelectStart":Event.stopObserving($("locationSelectorFoldout"),"click",this.locationSelectStart);break;}});this.sbObservers=[];}},displaySidebar:function(mapSidebarContent){this.destroyObservers();if(this._clickHandler==null){this._clickHandler=this._handleSidebarClick.bindAsEventListener(this);var sideBarDiv=this._getMap().getSidebar().div;Event.observe(sideBarDiv,"click",this._clickHandler);}
if(mapSidebarContent!=null&&mapSidebarContent!=""){var sidebarContent=mapSidebarContent;var thisSidebar=this._getMap().getSidebar();thisSidebar.update(sidebarContent);this.resultlistHover=this._resultlistHover.bindAsEventListener(this);this.resultlistHoverOut=this._resultlistHoverOut.bindAsEventListener(this);this.resultlistPaging=this._resultlistPaging.bindAsEventListener(this);this.resultlistFilter=this._resultlistFilter.bindAsEventListener(this);this.locationSelect=this._locationSelect.bindAsEventListener(this);this.locationSelectStart=this._locationSelectStart.bindAsEventListener(this);var sbObserver=new Array();this.sbObservers=new Array();if($("sidebar_resultlist")!=null){Event.observe($("sidebar_resultlist"),"mouseover",this.resultlistHover);this.sbObservers.push(["sidebar_resultlist","resultlistHover"]);Event.observe($("sidebar_resultlist"),"mouseout",this.resultlistHoverOut);this.sbObservers.push(["sidebar_resultlist","resultlistHoverOut"]);Event.observe($("paging"),"click",this.resultlistPaging);this.sbObservers.push(["paging","resultlistPaging"]);Event.observe($("filter_trades"),"click",this.resultlistFilter);this.sbObservers.push(["filter_trades","resultlistFilter"]);}
if($("locselect")){Event.observe($("locselect"),"click",function(e){this.locationSelect(e);}.bind(this));this.sbObservers.push(["location_select","locationSelect"]);}
if($("locationSelectorFoldout")){Event.observe($("locfoldcontainer"),"click",this.locationSelectStart);this.sbObservers.push(["location_selectStart","locationSelectStart"]);}
if(typeof($("trade_filter"))!="undefined"&&$("trade_filter")!=null){this.resultlistFilterClose=this._resultlistFilterClose.bindAsEventListener(this);Event.observe($("filterclose"),"click",this.resultlistFilterClose);this.sbObservers.push(["filterclose","resultlistFilterClose"]);}
if(typeof($("tradeSelectorLink"))!="undefined"&&$("tradeSelectorLink")!=null){this.resultlistTradeSelector=this._resultlistTradeSelector.bindAsEventListener(this);Event.observe($("tradeSelectorLink"),"click",this.resultlistTradeSelector);this.sbObservers.push(["tradeSelectorLink","resultlistTradeSelector"]);}}else{if(document.location.href.match('routenplaner')){var params={adblock:true,routingoptions:true}}else{var params={adblock:false,routingoptions:false}}
var aj=new Ajax.Request("/ajax/maps/sidebar",{parameters:params,method:'get',onSuccess:function(originalRequest){var json=originalRequest.responseJSON;if(json.error==null){this._mapUtils.sidebarManager.displaySidebar(json['sidebar']);this._mapUtils.maximizeMap();}}.bind(this)});this._mapUtils.maximizeMap();}},showLelaContent:function(lela){var aj=new Ajax.Request("/ajax/maps/sidebarLela",{parameters:{view:lela},method:'get',onSuccess:function(originalRequest){var json=originalRequest.responseJSON;if(json.error==null){this._getMap().getSidebar().update(json['sidebarContent']);this._closeClickHandler=this._clear.bindAsEventListener(this);Event.observe($$(".sidebar .close")[0],"click",this._closeClickHandler);}}.bind(this)});},showImpressum:function(el){var cssClass=el.getAttribute("class");this.destroyObservers();var aj=new Ajax.Request("/ajax/maps/sidebarImpressum",{parameters:{page:cssClass},method:'get',onSuccess:function(originalRequest){var json=originalRequest.responseJSON;if(json.error==null){this._getMap().getSidebar().update(json['sidebarContent']);this._closeClickHandler=this._clear.bindAsEventListener(this);Event.observe($$(".sidebar .close")[0],"click",this._closeClickHandler);}}.bind(this)});},setLocation:function(location){var request=new Ajax.Request("/ajax/maps/sidebarLocation",{parameters:{location:location.toString()},method:'get',onSuccess:function(originalRequest){var json=originalRequest.responseJSON;this._getMap().getSidebar().update(json.sidebarContent);}.bind(this)});},updateAds:function(){if($$(".adpic")[0]!=null){if(location.href.match(/freenet/i)){if($$("iframe.adframe").length>0){var src=$$("iframe.adframe")[0].src;var m=src.match(/^(.*)count=([0-9]*)(.*)$/);var counter=(m[2]*1)+1;var newsrc=m[1]+"count="+counter+m[3];$$("iframe.adframe")[0].src=newsrc;}}
var adName="";$$(".adpic")[0].classNames().each(function(className){if(className!="adpic"){adName=className;}}.bind(this));if(adName!=""){var aj=new Ajax.Request("/ajax/maps/showAd",{onSuccess:function(originalRequest){}});}}}});;var tgSearchManager=Class.create(tgManager,{_locationClickHandler:null,_closeClickHandler:null,searchLocation:null,searchQuery:null,initialize:function($super,mapUtils){if(mapUtils.searchManager!=null){return mapUtils.searchManager;};$super(mapUtils);},dummySearch:function(){this._mapUtils.cMarkerLocation=null;this._mapUtils.showAjaxLoader();this._getMap().clearOverlays();this._mapUtils.markerlist=[];this._mapUtils.iconManager.removeIcons();var bounds=this._getMap().getBounds();var width=bounds.east-bounds.west;var height=bounds.north-bounds.south;for(var i=0;i<100;i++){var lng=bounds.west+Math.round(width*Math.random());var lat=bounds.south+Math.round(height*Math.random());var home=new tgLngLat(lng,lat);if(i%4==0){this._mapUtils.iconManager.drawMeIcon(home);}else{this._mapUtils.iconManager.drawSeIcon(home);}};this._mapUtils.hideAjaxLoader();},addressbookSearch:function(){this._mapUtils.cMarkerLocation=null;this._mapUtils.showAjaxLoader();this._getMap().clearOverlays();this._mapUtils.markerlist=[];var mainnav=$$('div#nav_main ul li');if(mainnav.length>0){for(var i=0;i<mainnav.length;i++){if(mainnav[i].down('a').hasClassName('registration')){mainnav[i].id="current";}else{mainnav[i].removeAttribute('id');}}}
if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.mapSType','2','DCSext.sbAction','Show Addressbook');this._mapUtils.ivwBoxManager.track();new Ajax.Request("/ajax/maps/addressbookSearch",{onSuccess:function(originalRequest){var json=originalRequest.responseJSON;this._mapUtils.hideAjaxLoader();if(json.error==null){this._mapUtils.sidebarManager.displaySidebar(json['sidebar']);}}.bind(this)});},badeSearch:function(){},tadeSearch:function(){},geoSearch:function(what,longlat){this._mapUtils.cMarkerLocation=null;if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.mapSType','1','DCSext.mapWhat',what);mapUtils.ivwBoxManager.track();this._mapUtils.sidebarManager.destroyObservers();this._getMap().closeInfoWindow();if(typeof(page)=="undefined"){var page=1;}
if(typeof(tradeId)=="undefined"){var tradeId=0;}
this._mapUtils.showAjaxLoader();var aj=new Ajax.Request("/ajax/maps/metaSearch",{parameters:{location:longlat,term:what,locgiven:0,page:page,trade_id:tradeId},method:'get',onSuccess:function(originalRequest){this._mapUtils.hideAjaxLoader();var json=originalRequest.responseJSON;if(json.error==null){this._getMap().clearOverlays();this._mapUtils.markerlist=[];this.searchQuery=what;var loc=new tgLocation(location);this.searchLocation=loc;if(json['marker']==0){this._getMap().clearOverlays();this._mapUtils.sidebarManager.displaySidebar(json['sidebar']);}else{this._mapUtils.sidebarManager.displaySidebar(json['sidebar']);this._mapUtils.displayMarker(json['marker']);}
this._mapUtils.markerSearchLocation(0);}
this._closeClickHandler=this.clear.bindAsEventListener(this);Event.observe($$(".sidebar .close")[0],"click",this._closeClickHandler);tgmMain.fireEvent('onLoadAjaxContent');}.bind(this)});},metaSearch:function(what,where,page,tradeId,lng,lat,zoom){this._mapUtils.cMarkerLocation=null;this._mapUtils.sidebarManager.destroyObservers();this._getMap().closeInfoWindow();if(typeof(page)=="undefined"){page=1;}
if(typeof(tradeId)=="undefined"){tradeId=0;}
if(typeof($("trade_filter"))!="undefined"&&$("trade_filter")!=null&&tradeId==0){tradeId=$("trade_filter").readAttribute("trid");}
if(tradeId==-1){tradeId=0;}
locationInCookie=decodeURIComponent(document.cookie.replace(/\+/g," ")).indexOf($("mapsForm").location.alt);if(locationInCookie>-1&&$("mapsForm").location.value==$("mapsForm").location.alt){var location=$("mapsForm").location.value;var locgiven=1;}
if((where==$("mapsForm").location.alt&&locationInCookie<0)||where==""){var longLat=this._getMap().getCenter();var lnglatTg=longLat.getTg();var location=lnglatTg.longitude+"|"+lnglatTg.latitude;var locgiven=0;}else{var location=where;var locgiven=1;}
if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.mapSType','1','DCSext.mapWhat',what,'DCSext.mapWhere',location);mapUtils.ivwBoxManager.track();this._mapUtils.showAjaxLoader();var aj=new Ajax.Request("/ajax/maps/metaSearch",{parameters:{location:location,term:what,locgiven:locgiven,page:page,trade_id:tradeId},method:'get',onSuccess:function(originalRequest){this._mapUtils.hideAjaxLoader();var json=originalRequest.responseJSON;if(json.error==null){this._getMap().clearOverlays();this._mapUtils.markerlist=[];this.searchQuery=what;var loc=new tgLocation(location);this.searchLocation=loc;var locForMarker=json['location'];this.searchLocation.longitude=locForMarker[0];this.searchLocation.latitude=locForMarker[1];if(json['marker']==0){this._getMap().clearOverlays();this._mapUtils.sidebarManager.displaySidebar(json['sidebar']);}else{this._mapUtils.sidebarManager.displaySidebar(json['sidebar']);this._mapUtils.displayMarker(json['marker']);}
this._mapUtils.markerSearchLocation(0);if(typeof(lng)!="undefined"&&typeof(lat)!="undefined"&&typeof(zoom)!="undefined"){this._mapUtils.map.setCenter(new tgLngLat(lng*1,lat*1),zoom);}}
this._closeClickHandler=this.clear.bindAsEventListener(this);Event.observe($$(".sidebar .close")[0],"click",this._closeClickHandler);if($("mapsForm")!=null){$$("#mapsForm .searchboxbutton")[0].focus();}
tgmMain.fireEvent('onLoadAjaxContent');}.bind(this)});},objectSearch:function(page,tradeId,sd){this._mapUtils.cMarkerLocation=null;this._mapUtils.showAjaxLoader();var sendbyBa=false;var tradeFilter=false;var paging=false;var termGiven=false;var params=location.search.toQueryParams();if(typeof(sd)=="undefined"&&sd!=null){sd=0;sendbyBa=true;}
if(typeof(tradeId)=="undefined"&&tradeId!=null){tradeId=0;}else{tradeFilter=true;}
if(typeof(page)=="undefined"){page=1;}else{paging=true;}
if($("mapsForm").searchterm.value!=""&&$("mapsForm").searchterm.value!=$("mapsForm").searchterm.alt){var term=$("mapsForm").searchterm.value;termGiven=true;}else{term=-1;}
var aj=new Ajax.Request("/ajax/maps/objectSearch",{parameters:{page:page,trade:tradeId,term:term,sd:sd},method:'get',onSuccess:function(originalRequest){var json=originalRequest.responseJSON;if(json==null){alrt("error in response");}else if(json.error==null){this._getMap().clearOverlays();this._mapUtils.markerlist=[];if(json['marker']==0){this._getMap().clearOverlays();this._mapUtils.sidebarManager.displaySidebar(json['sidebar']);if(json['locationSelect']!=null&&json['locationSelect']!=''){var location=json['locationSelect'];this._getMap().setCenter(new tgLngLat(parseInt(location[0]),parseInt(location[1])),6);}}else{this._mapUtils.sidebarManager.displaySidebar(json['sidebar']);this._mapUtils.displayMarker(json['marker']);}
if(typeof(_tag)!="undefined"){_tag.DCSext={};}
if(paging){if(tradeFilter){dcsMultiTrack('DCSext.mapSType','2','DCSext.sbAction','Branchen Filter')}else{dcsMultiTrack('DCSext.mapSType','2','DCSext.sbAction','paging')}}else if(tradeFilter){dcsMultiTrack('DCSext.mapSType','2','DCSext.sbAction','Branchen Filter')}else if(sendbyBA){dcsMultiTrack('DCSext.mapSType','2','DCSext.sbAction','Ansicht aus Branchenbuch')}
mapUtils.ivwBoxManager.track();this._mapUtils.hideAjaxLoader();this._mapUtils.maximizeMap();tgmMain.fireEvent('onLoadAjaxContent');}
this._closeClickHandler=this.clear.bindAsEventListener(this);Event.observe($$(".sidebar .close")[0],"click",this._closeClickHandler);this._mapUtils.hideAjaxLoader();if($("mapsForm")!=null){$$("#mapsForm .searchboxbutton")[0].focus();}}.bind(this)});},locationSearch:function(where){this._mapUtils.cMarkerLocation=null;if(typeof(_tag)!="undefined"){_tag.DCSext={};}
mapUtils.ivwBoxManager.track();this._mapUtils.showAjaxLoader();var aj=new Ajax.Request("/ajax/maps/locationSearch",{parameters:{location:where},method:'get',onSuccess:function(originalRequest){var json=originalRequest.responseJSON;if(json.error==null){this._getMap().clearOverlays();this._mapUtils.markerlist=[];var location=new tgLocation();location.formName=where;location.zip=json.zip;location.city=json.city;location.district=json.district;location.street=json.street;location.streetNumber=json.streetnumber;location.country=json.country;location.longitude=json.longitude*1;location.latitude=json.latitude*1;this.searchLocation=location;this._mapUtils.goToLocation(location);this._getMap().setZoom(4);this._mapUtils.markerSearchLocation(0);}else{this._getMap().getSidebar().update(json.html);switch(json.error){case'Multiple Locations':this._observeLocationLinks();break;}}
this._mapUtils.hideAjaxLoader();this._mapUtils.markerSearchLocation(0);if($("mapsForm")!=null){$$("#mapsForm .searchboxbutton")[0].focus();}}.bind(this)});},clear:function(){this._mapUtils.cMarkerLocation=null;this.searchLocation=null;this.searchQuery=null;this._mapUtils.hideAjaxLoader();if($$(".sidebar .close").length>0){Event.stopObserving($$(".sidebar .close")[0],"click",this._closeClickHandler);}
this._mapUtils.formManager.reset();this._mapUtils.sidebarManager.displaySidebar();this._getMap().getOverlays().each(function(overlay){if(overlay.type.match("dynpoi")==null){this._getMap().removeOverlay(overlay);}}.bind(this));this._mapUtils.markerlist=[];},_observeLocationLinks:function(){var locationLinks=$$(".locations a");this._locationClickHandler=this._handleLocationClick.bindAsEventListener(this);locationLinks.each(function(link){Event.observe(link,"click",this._locationClickHandler);}.bind(this));},_stopObservingLocationLinks:function(){var locationLinks=$$(".locations a");locationLinks.each(function(link){Event.stopObserving(link,"click",this._locationClickHandler);}.bind(this));},_handleLocationClick:function(e){this._stopObservingLocationLinks();var link=Event.element(e);var location=new tgLocation();location.fromString(link.rel);this._mapUtils.searchManager.searchLocation=location;this._mapUtils.goToLocation(location);}});;var tgRoutingManager=Class.create(tgManager,{stations:[],_maxstations:5,_checklocation:0,_bounds:{north:null,east:null,south:null,west:null},_locationClickHandler:null,routeId:null,options:{use_highway:true,use_ferry:true,use_tunnel:true,avoid_trafficjam:true,time_start:"0:00",shortfast:50},initialize:function($super,mapUtils){if(mapUtils.routingManager!=null){return mapUtils.routingManager;};$super(mapUtils);for(var i=0;i<this._maxstations;i++){this.stations[i]=new tgLocation();}
var d=new Date();this.options.time_start=d.getHours()+":"+d.getMinutes();},setDestination:function(station){this._mapUtils.searchManager.clear();this.stations[this._maxstations-1]=station;this._mapUtils.formManager.displayForm("routingForm");$("routingForm").destination.value=station.formName;this._getMap().closeInfoWindow();},addStation:function(station){for(var i=1;i<this._maxstations-1;i++){if(this.stations[i].formName==""){this.stations[i]=station;return true;}}
return false;},showOptionsDialog:function(e){if(tgmRouteOptionsDialog==null){tgmRouteOptionsDialog=new tgmRouteOptionsDialogClass();tgmRouteOptionsDialog.submitAction=function(frm){this.updateOptionsByForm(frm);}.bind(this);}
tgmRouteOptionsDialog.ajaxOptions.routeId=this.routeId;tgmRouteOptionsDialog.ajaxOptions.shortfast=this.options.shortfast;tgmRouteOptionsDialog.ajaxOptions.use_highway=this.options.use_highway;tgmRouteOptionsDialog.ajaxOptions.use_ferry=this.options.use_ferry;tgmRouteOptionsDialog.ajaxOptions.use_tunnel=this.options.use_tunnel;tgmRouteOptionsDialog.ajaxOptions.avoid_trafficjam=this.options.avoid_trafficjam;tgmRouteOptionsDialog.show();},routeByForm:function(start,destination){if((start==this.stations[0].formName&&destination==this.stations[this._maxstations
-1].formName)||(destination==this.stations[0].formName&&start==this.stations[this._maxstations
-1].formName)){if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.mapSType','3','DCSext.mapFrom',this.stations[0].formName,'DCSext.mapTo',this.stations[this._maxstations-1].formName);this._mapUtils.ivwBoxManager.track();this.route();}else{if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.mapSType','4','DCSext.mapFrom',start,'DCSext.mapTo',destination);this._mapUtils.ivwBoxManager.track();this.stations[0]=new tgLocation();this.stations[0].formName=start;if(this.stations[this._maxstations-1].longitude==""||this.stations[this._maxstations-1].latitude==""||this.stations[this._maxstations-1].formName!=destination){this.stations[this._maxstations-1]=new tgLocation();this.stations[this._maxstations-1].formName=destination;}
for(var i=1;i<this._maxstations-1;i++){this.stations[i]=new tgLocation();}
this.route();}},updateOptionsByForm:function(frm){this.options.shortfast=frm.kind_selectHiddenField.value;tgmRouteOptionsDialog.hide();this.options.use_highway=frm.use_highway.checked;this.options.use_ferry=frm.use_ferry.checked;this.options.use_tunnel=frm.use_tunnel.checked;this.options.avoid_trafficjam=frm.avoid_trafficjam.checked;this.options.time_start=frm.time.value;if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.mapSType','5','DCSext.mapFrom',this.stations[0].formName,'DCSext.mapTo',this.stations[this._maxstations-1].formName);this._mapUtils.ivwBoxManager.track();if(this.routeId!=null){this.route();}},getUrlParameters:function(){var params="";for(var i=0;i<this._maxstations;i++){if(i>0){params+="&";}
params+="s"+i+"="+this.stations[i].toString();}
params+="&"+Object.toQueryString(this.options);return params;},route:function(){this._mapUtils.sidebarManager.destroyObservers();this._mapUtils.showAjaxLoader();for(var i=0;i<this._maxstations;i++){if(this.stations[i].longitude==""&&this.stations[i].latitude==""&&this.stations[i].formName!=""){this._checklocation=i;var aj=new Ajax.Request("/ajax/maps/locationSearch",{parameters:{location:this.stations[i].formName},method:'get',onSuccess:function(originalRequest){var json=originalRequest.responseJSON;this._mapUtils.hideAjaxLoader();if(json.error==null){var location=new tgLocation();location.formName=this.stations[this._checklocation].formName;location.zip=json.zip;location.city=json.city;location.district=json.district;location.street=json.street;location.streetNumber=json.streetnumber;location.country=json.country;location.longitude=json.longitude*1;location.latitude=json.latitude*1;this.stations[i]=location;this.route();}else{this._getMap().getSidebar().update(json.html);switch(json.error){case'Multiple Locations':this._observeLocationLinks();break;}}}.bind(this)});return;}};var params=this.getUrlParameters();var aj=new Ajax.Request("/ajax/routing/calculateRoute",{parameters:params,method:'get',onSuccess:function(originalRequest){this._mapUtils.hideAjaxLoader();var stationlist=originalRequest.headerJSON;var count=0;var markers=[];stationlist.each(function(station){var stationType="standard";if(count==0){stationType="start";}
if(count==stationlist.length-1){stationType="destination";}
var icon=new routingStationIcon("station_"
+count,new tgLngLat(station.longitude,station.latitude),{type:stationType});this._getMap().addOverlay(icon);count++;}.bind(this));this._getMap().getSidebar().resultlistPadding=280;this._mapUtils.sidebarManager.displaySidebar(originalRequest.responseText);this.routeId=$("routeid").firstChild.data;this._bounds.north=$("north").firstChild.data;this._bounds.east=$("east").firstChild.data;this._bounds.south=$("south").firstChild.data;this._bounds.west=$("west").firstChild.data;this._getMap().routeId=this.routeId;if(this.options.avoid_trafficjam){this._getMap().trafficjam=1;}else{this._getMap().trafficjam=0;}
this.zoomToRoute();}.bind(this)});},_observeLocationLinks:function(){var locationLinks=$$(".locations a");this._locationClickHandler=this._handleLocationClick.bindAsEventListener(this);locationLinks.each(function(link){Event.observe(link,"click",this._locationClickHandler);}.bind(this));},_stopObservingLocationLinks:function(){var locationLinks=$$(".locations a");locationLinks.each(function(link){Event.stopObserving(link,"click",this._locationClickHandler);}.bind(this));},_handleLocationClick:function(e){this._stopObservingLocationLinks();var link=Event.element(e);var location=new tgLocation();var formName=this.stations[this._checklocation].formName;location.fromString(link.rel);location.formName=formName;if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.mapSType','6','DCSext.mapFrom',this.stations[0].formName,'DCSext.mapTo',this.stations[this._maxstations-1].formName);this._mapUtils.ivwBoxManager.track();this.stations[this._checklocation]=location;this.route();},showAddStationDialog:function(){if(typeof tgmAddStationDialog=="undefined"||tgmAddStationDialog==null){tgmAddStationDialog=new tgmAddStationDialogClass();tgmAddStationDialog.submitAction=function(frm){var formname=frm.location.value;var station=new tgLocation(formname);if(this.addStation(station)){tgmAddStationDialog.hide();this.route();}else{tgmAddStationDialog.showError("Maximale Anzahl Zwischenstationen erreicht.");}}.bind(this);}
tgmAddStationDialog.show();},zoomToWaypoint:function(li){$("zoomToRoute").show();var json=eval("("+li.getAttribute("rel")+")");var zl=this._getMap().getBoundsZoomLevel(json);var lng=Math.floor(json.east*1+json.west*1)/2;var lat=Math.floor(json.north*1+json.south*1)/2;this._getMap().setCenter(new tgLngLat(lng,lat),zl);},clear:function(){this._mapUtils.formManager.reset();this._mapUtils.sidebarManager.displaySidebar();this._getMap().routeId=-1;this._getMap().trafficjam=0;this._getMap().clearOverlays();this._getMap()._draw();},revert:function(){if(this.stations.length>0){this.stations.reverse();}
this._mapUtils.formManager.switchRoutingFields();},zoomToRoute:function(){$("zoomToRoute").hide();var zl=this._getMap().getBoundsZoomLevel(this._bounds);var lng=Math.floor(this._bounds.east*1+this._bounds.west*1)/2;var lat=Math.floor(this._bounds.north*1+this._bounds.south*1)/2;this._getMap().setCenter(new tgLngLat(lng,lat),zl);}});;var tgIVWBoxManager=Class.create(tgManager,{mapUtils:null,pixel:null,baseUrl:null,path:"/cgi-bin/ivw/CP/",context:"ktdeKS",timestamp:0,initialize:function(mapUtils){var time=new Date();this.timestamp=time.getTime();this.mapUtils=mapUtils;this.pixel=document.createElement("img");this.pixel.style.width="1px";this.pixel.style.height="1px";this.pixel.style.visibility="hidden";if(($("klicktel")!=null&&typeof($("klicktel"))!="undefined")||($("telegate")!=null&&typeof($("telegate"))!="undefined")){$("pandoraMap").appendChild(this.pixel);}
this.baseUrl="http://klicktel.ivwbox.de";},track:function(){if(document.location.hostname.match(/^premium\./)||pandoraData.server!='LIVE'){return;}
var activePage=this.mapUtils.formManager.active();if(activePage.id=="mapsForm"){if($("klicktel")!=null&&typeof($("klicktel"))!="undefined"){this.context="ktdeKS";}else if($("telegate")!=null&&typeof($("telegate"))!="undefined"){this.context="11880KS";}}else if(activePage.id=="routingForm"){if($("klicktel")!=null&&typeof($("klicktel"))!="undefined"){this.context="ktdeRP";}else if($("telegate")!=null&&typeof($("telegate"))!="undefined"){this.context="11880RP";}}
var time=new Date();if(time.getTime()-this.timestamp>1500){this.timestamp=time.getTime();if(($("klicktel")!=null&&typeof($("klicktel"))!="undefined")||($("telegate")!=null&&typeof($("telegate"))!="undefined")){this.pixel.src=this.baseUrl+this.path+this.context+";/?r="+document.referrer+"&d="+(Math.random()*100000);}}}});;var tgIconManager=Class.create(tgManager,{icons:[],_loadobserver:null,_handleclick:null,initialize:function($super,mapUtils){if(mapUtils.iconManager!=null){return mapUtils.iconManager;};$super(mapUtils);},drawSeIcon:function(lnglat,opts){var marker=new tgMapMarker("demoMarker_"+this.icons.length,lnglat,opts);this.icons.push(marker);this._getMap().addOverlay(marker);},drawMeIcon:function(lnglat,opts){var marker=new meMarker("meMarker_"+this.icons.length,lnglat,opts);this.icons.push(marker);this._getMap().addOverlay(marker);},handleClick:function(marker,markerId,type){var lnglat=marker.getLngLat().getTg();if(lnglat.longitude==0&&lnglat.latitude==0){return;}
if(this._mapUtils.actionLinkManager.activeInfoWindow!=null){Event.stopObserving(this._mapUtils.actionLinkManager.activeInfoWindow,"click",this._mapUtils.actionLinkManager.handleClick);this._getMap().stopObserving("infowindowload",this._loadobserver);}
var displtype=marker.type;if(typeof(type)!="undefined"&&type!=null){if(type=="media"&&marker.type=="stMulti"){displtype="meMulti";}else if(type=="std"&&marker.type=="meMulti"){displtype="stMulti";}}
if(displtype=="me"){var url="/ajax/maps/infowindowMediaEntry";var parameters="entry_id="+marker.id;var method="get";if($("telegate")||$("freenet")){var iconShadowPath="/11880/maps/img/infowindow_single_me_shadow.png";}else if($("klicktel")){var iconShadowPath="/klicktel/maps/img/infowindow_single_me_shadow.png";}
this._getMap().openInfoWindowAjax(marker.getLngLat(),url,parameters,method,{marker:marker,classes:['tgInfoWindowMeSingle'],shadowUrl:iconShadowPath,shadowOffsetY:160,shadowwidth:578,shadowheight:39,tipX:5,tipY:195});var infowindowClassName="div.tgInfoWindowMeSingle";}else if(displtype=="meMulti"){var url="/ajax/maps/infowindowMediaEntryMulti";if(markerId!=null&&typeof(markerId)!="undefined"){var m=marker.id.split(",");var displayNo=m.indexOf(markerId);var parameters="entry_id="+marker.id+"&displayNo="
+displayNo;}else{var parameters="entry_id="+marker.id;}
var method="get";if($("telegate")||$("freenet")){var iconShadowPath="/11880/maps/img/infowindow_multi_me_shadow.png";}else if($("klicktel")){var iconShadowPath="/klicktel/maps/img/infowindow_multi_me_shadow.png";}
this._getMap().openInfoWindowAjax(marker.getLngLat(),url,parameters,method,{marker:marker,classes:['tgInfoWindowMeMulti'],shadowUrl:iconShadowPath,shadowOffsetY:190,shadowwidth:591,shadowheight:41,tipX:5,tipY:229});var infowindowClassName="div.tgInfoWindowMeMulti";}else if(displtype=="stMulti"){var url="/ajax/maps/infowindowEntryMulti";if(markerId!=null&&typeof(markerId)!="undefined"){var m=marker.id.split(",");var displayNo=m.indexOf(markerId);var parameters="entry_id="+marker.id+"&displayNo="
+displayNo;}else{var parameters="entry_id="+marker.id;}
var method="get";this._getMap().openInfoWindowAjax(marker.getLngLat(),url,parameters,method,{marker:marker,classes:['tgInfoWindowStMulti'],shadowUrl:'/klicktel/maps/img/infowindow_multi_shadow.png',shadowOffsetY:127,tipX:4,tipY:172});var infowindowClassName="div.tgInfoWindowStMulti";}else if(displtype=="dynpoi_atm"){if(marker.duplicates.length==0){var url="/ajax/maps/atmEntry";var parameters="entry_id="+marker.id;var method="get";this._getMap().openInfoWindowAjax(marker.getLngLat(),url,parameters,method,{marker:marker,classes:['tgInfoWindowStSingle'],shadowUrl:'/klicktel/maps/img/infowindow_single_shadow.png',shadowOffsetY:105,tipX:5,tipY:140});var infowindowClassName="div.tgInfoWindowStSingle";}else{var url="/ajax/maps/atmEntryMulti";var parameters="entry_id="+marker.id;marker.duplicates.each(function(duplicate){parameters+=","+duplicate;}.bind(this));var method="get";this._getMap().openInfoWindowAjax(marker.getLngLat(),url,parameters,method,{marker:marker,classes:['tgInfoWindowStMulti'],shadowUrl:'/klicktel/maps/img/infowindow_multi_shadow.png',shadowOffsetY:127,tipX:4,tipY:172});var infowindowClassName="div.tgInfoWindowStMulti";}}else if(displtype=="dynpoi_addressbook"){var url="/ajax/maps/addressbookEntry";var parameters="entry_id="+marker.id;var method="get";this._getMap().openInfoWindowAjax(marker.getLngLat(),url,parameters,method,{marker:marker,classes:['tgInfoWindowStSingle'],shadowUrl:'/klicktel/maps/img/infowindow_single_shadow.png',shadowOffsetY:105,tipX:5,tipY:140});var infowindowClassName="div.tgInfoWindowStSingle";}else{var url="/ajax/maps/infowindowEntry";var parameters="entry_id="+marker.id;var method="get";this._getMap().openInfoWindowAjax(marker.getLngLat(),url,parameters,method,{marker:marker,classes:['tgInfoWindowStSingle'],shadowUrl:'/klicktel/maps/img/infowindow_single_shadow.png',shadowOffsetY:105,tipX:5,tipY:140});var infowindowClassName="div.tgInfoWindowStSingle";}
this._loadobserver=function(e){this._mapUtils.actionLinkManager.activeInfoWindow=$$(infowindowClassName)[0];Event.observe(this._mapUtils.actionLinkManager.activeInfoWindow,"click",this._mapUtils.actionLinkManager.handleClick);tgmMain.fireEvent('onLoadAjaxContent');}.bindAsEventListener(this);if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.mapSType','7','DCSext.displayIWType',displtype,'DCSext.iwEntryID',marker.id);this._mapUtils.ivwBoxManager.track();this._getMap().observe("infowindowload",this._loadobserver);},handleMouseover:function(marker){var markerEl=$("list_"+marker.id);var idString=marker.id.split(",");var markerId=idString[0];if($("list_"+markerId)!=null){$("list_"+markerId).addClassName("hover");}},handleMouseout:function(marker){var markerEl=$("list_"+marker.id);var idString=marker.id.split(",");var markerId=idString[0];if($("list_"+markerId)!=null){$("list_"+markerId).removeClassName("hover");}},removeIcons:function(){this.icons.each(function(icon){icon.remove();this.icons=[];}.bind(this));}});;var tgFormManager=Class.create(tgManager,{_forms:[],_active:null,lastFocus:null,initialize:function($super,mapUtils){$super(mapUtils);if(mapUtils.formManager!=null){return mapUtils.formManager;};this._forms=$$("form.searchbox");if(document.location.href.match('routenplaner')){this._active=$("routingForm");if(!document.location.href.match('freenet')){var sib=$("current").siblings();$("current").id="";sib[4].id="current";}};if(document.location.href.match('kartensuche')||document.location.href.match('maps')){this._active=$("mapsForm");}
var revertfunction=this._mapUtils.routingManager.revert.bindAsEventListener(this._mapUtils.routingManager);Event.observe($("route_swap"),"click",revertfunction);this._forms.each(function(f){var submitfunction=this.evaluate.bindAsEventListener(this);Event.observe(f,"submit",submitfunction);if(f!=this._active){f.parentNode.style.display="none";}}.bind(this));},active:function(){return this._active;},switchRoutingFields:function(){var tmp=$("routingForm").start.value;$("routingForm").start.value=$("routingForm").destination.value;$("routingForm").destination.value=tmp;},displayForm:function(name){if($(name)==null){return false;}
$$("form").each(function(frm){if(Element.hasClassName(frm,"searchbox")){if(frm.id==name){frm.parentNode.style.display="block";}else{frm.parentNode.style.display="none";}}});var navEntries=$$("#nav_main li");if(name=="routingForm"){navEntries[4].id="";navEntries[5].id="current";}else{navEntries[5].id="";navEntries[4].id="current";}
this._active=$(name);if(name=='routingForm'){var aj=new Ajax.Updater($$(".contentlayer.route .content")[0],"/ajax/maps/contentLayerRoute");};if(name=='mapsForm'){var aj=new Ajax.Updater($$(".contentlayer.map .content")[0],"/ajax/maps/contentLayerMaps");};},reset:function(){var fields=this._active.getElementsByTagName("input");$A(fields).each(function(f){if(f.alt!=null){f.value=f.alt;}});},evaluate:function(e,lng,lat,zoom){locationInCookie=decodeURIComponent(document.cookie.replace(/\+/g," ")).indexOf($("mapsForm").location.alt);switch(this._active.id){case'mapsForm':var frm=Form.serialize($("mapsForm"));if(($("mapsForm").searchterm.value==""||$("mapsForm").searchterm.value==$("mapsForm").searchterm.alt)&&($("mapsForm").location.value!=""&&$("mapsForm").location.value!=$("mapsForm").location.alt)){this._mapUtils.searchManager.locationSearch($("mapsForm").location.value);Event.stop(e);return;}
if(($("mapsForm").searchterm.value!=""&&$("mapsForm").searchterm.value!=$("mapsForm").searchterm.alt)&&$("mapsForm").location.value!=""&&$("mapsForm").location.value!=$('mapsForm').location.alt){if(typeof(lng)!="undefined"&&typeof(lat)!="undefined"&&typeof(zoom)!="undefined"){this._mapUtils.searchManager.metaSearch($("mapsForm").searchterm.value,$("mapsForm").location.value,1,-1,lng,lat,zoom);}else{this._mapUtils.searchManager.metaSearch($("mapsForm").searchterm.value,$("mapsForm").location.value,1,-1);}
if(e!=null){Event.stop(e);}
return;}
if(($("mapsForm").searchterm.value!=""&&$("mapsForm").searchterm.value!=$("mapsForm").searchterm.alt)&&($("mapsForm").location.value==""||($("mapsForm").location.value==$('mapsForm').location.alt&&locationInCookie<0))){if(this.lastFocus==null){}else if(this.lastFocus=="whatField"){$("mapsForm").location.focus();}else if(this.lastFocus=="whereField"){this._mapUtils.searchManager.metaSearch($("mapsForm").searchterm.value,$("mapsForm").location.value,1,-1);Event.stop(e);return;}}
if(($("mapsForm").searchterm.value!=""&&$("mapsForm").searchterm.value!=$("mapsForm").searchterm.alt)&&locationInCookie){this._mapUtils.searchManager.metaSearch($("mapsForm").searchterm.value,$("mapsForm").location.value,1,-1);Event.stop(e);return;}
break;case'routingForm':locationInCookie=decodeURIComponent(document.cookie.replace(/\+/g," ")).indexOf($("routingForm").start.alt);if(($("routingForm").start.value!=""&&$("routingForm").destination.value!=""&&$("routingForm").destination.value!=$("routingForm").destination.alt&&locationInCookie>0)){this._mapUtils.routingManager.routeByForm($("routingForm").start.value,$("routingForm").destination.value);}
else if($("routingForm").start.value!=""&&$("routingForm").start.value!=$("routingForm").start.alt&&$("routingForm").destination.value!=""&&$("routingForm").destination.value!=$("routingForm").destination.alt){this._mapUtils.routingManager.routeByForm($("routingForm").start.value,$("routingForm").destination.value);}else{if(($("routingForm").start.value==""||$("routingForm").start.value==$("routingForm").start.alt)&&($("routingForm").destination.value!=""&&$("routingForm").destination.value!=$("routingForm").destination.alt)){var fillStartDialog=new Effect.Appear($("fillStartFormDialog"),{afterFinish:function(){window.setTimeout("var hideStartDialog = new Effect.Fade($('fillStartFormDialog'))",3000)}});}else if(($("routingForm").start.value==""||($("routingForm").start.value==$("routingForm").start.alt)&&locationInCookie<1)&&($("routingForm").destination.value==""||$("routingForm").destination.value==$("routingForm").destination.alt)){var fillStartDestDialog=new Effect.Appear($("fillStartDestFormDialog"),{afterFinish:function(){window.setTimeout("var hideStartDestDialog = new Effect.Fade($('fillStartDestFormDialog'))",3000)}});}else if(($("routingForm").destination.value==""||$("routingForm").destination.value==$("routingForm").destination.alt)&&($("routingForm").start.value!=""&&$("routingForm").destination.value!="")){var fillDestDialog=new Effect.Appear($("fillDestFormDialog"),{afterFinish:function(){window.setTimeout("var hideDestDialog = new Effect.Fade($('fillDestFormDialog'))",3000)}});}}
break;}
if(e!=null){Event.stop(e);}
return(false);},submitDBLink:function(e){var el=Event.element(e);if(($("routingForm").start.value==""||$("routingForm").start.value==$("routingForm").start.alt)&&($("routingForm").destination.value!=""&&$("routingForm").destination.value!=$("routingForm").destination.alt)){var fillStartDialog=new Effect.Appear($("fillStartFormDialog"),{afterFinish:function(){window.setTimeout("var hideStartDialog = new Effect.Fade($('fillStartFormDialog'))",3000)}});}else if(($("routingForm").destination.value==""||$("routingForm").destination.value==$("routingForm").destination.alt)&&($("routingForm").start.value!=""&&$("routingForm").start.value!=$("routingForm").start.alt&&$("routingForm").destination.value!="")){var fillDestDialog=new Effect.Appear($("fillDestFormDialog"),{afterFinish:function(){window.setTimeout("var hideDestDialog = new Effect.Fade($('fillDestFormDialog'))",3000)}});}else if(($("routingForm").start.value==""||$("routingForm").start.value==$("routingForm").start.alt)&&($("routingForm").destination.value==""||$("routingForm").destination.value==$("routingForm").destination.alt)){var fillStartDestDialog=new Effect.Appear($("fillStartDestFormDialog"),{afterFinish:function(){window.setTimeout("var hideStartDestDialog = new Effect.Fade($('fillStartDestFormDialog'))",3000)}});}else if($("routingForm").start.value!=""&&$("routingForm").start.value!=$("routingForm").start.alt&&$("routingForm").destination.value!=""&&$("routingForm").destination.value!=$("routingForm").destination.alt){el.href="http://www.bahn.de/bin/bopstarter.pl?scope=auskunft&dbkanal_004=L01_S01_D001_KPK0001_reiseauskunft_LZ03&partner=999557_396002&S="+$("routingForm").start.value+"&SADR=1&Z="+$("routingForm").destination.value+"&ZADR=1&timeSel=depart&start=1";window.open(el.href,"_blank");}
Event.stop(e);el.blur();return;}});;var tgDynPoiManager=Class.create(tgManager,{dynPoi:{addressbook:true,atm:false,lela:''},_updater:null,_longitude:0,_latitude:0,_zoomLevel:0,_openOnUpdate:null,_openMarker:null,_lastatm:{longitude:0,latitude:0,icon:null},initialize:function($super,mapUtils){if(mapUtils.dynPoiManager!=null){return mapUtils.dynPoiManager;};$super(mapUtils);this._updater=this.update.bindAsEventListener(this);this._getMap().observe("stopdrag",this._updater);this._getMap().observe("pan",this._updater);this._getMap().observe("draw",this._updater);},_clear:function(){if(this._getMap().getOverlays().length>0){this._getMap().getOverlays().each(function(overlay){if(overlay.type!=null&&overlay.type.match(/dynpoi/)){this._getMap().removeOverlay(overlay);}}.bind(this));}},update:function(forced,markerId){if(forced==null){forced=false;}
if(markerId==null){var boundless=false;this._openOnUpdate=null;}else{var boundless=true;this._openOnUpdate=markerId;}
var center=this._getMap().getCenter().getTg();if(center.longitude==this._longitude&&center.latitude==this._latitude&&this._getMap().getZoom()==this._zoomLevel&&forced!=true){return;}
this._longitude=center.longitude;this._latitude=center.latitude;this._zoomLevel=this._getMap().getZoom();var bounds=this._getMap().getBounds();var params={north:bounds.north,east:bounds.east,south:bounds.south,west:bounds.west,atm:this._mapUtils.getMapOptions().atm,addressbook:this._mapUtils.getMapOptions().addressbook,lela:this.dynPoi.lela,zoomlevel:this._getMap().getZoom(),boundless:boundless};var request=new Ajax.Request("/ajax/maps/dynPoi",{method:'get',parameters:params,onSuccess:function(originalRequest){var params=originalRequest.request.parameters;if(params.lela!=this.dynPoi.lela){return;}
this._clear();this._openMarker=null;var freddy=originalRequest.responseJSON;freddy.each(function(poi){if(poi.type=="ATM_DE"){if(poi.longitude!=this._lastatm.longitude||poi.latitude!=this._lastatm.latitude){var icon=new atmMarker("X"+poi.id,new tgLngLat(poi.longitude*1,poi.latitude*1),{title:poi.nameshort});icon.type="dynpoi_atm";this._getMap().addOverlay(icon);this._lastatm.icon=icon;}else{this._lastatm.icon.duplicates.push("X"+poi.id);}
this._lastatm.longitude=poi.longitude;this._lastatm.latitude=poi.latitude;}
if(poi.longitude!=null&&poi.latitude!=null){if(poi.type=="ADDRESSBOOK"){if(poi.isHome=="true"){var icon=new addressbookMarkerHome(poi.id,new tgLngLat(poi.longitude*1,poi.latitude*1),{title:poi.nameshort});}else{var icon=new addressbookMarker(poi.id,new tgLngLat(poi.longitude*1,poi.latitude*1),{title:poi.nameshort});}
icon.type="dynpoi_addressbook";if(!document.location.href.match('kartensuche')&&!document.location.href.match('maps')){this._getMap().addOverlay(icon);}}
if(this._openOnUpdate!=null&&poi.id!=null&&this._openOnUpdate==poi.id){this._openMarker=icon;}
if(poi.type=='st'){var icon=new stMarker(poi.entryId,new tgLngLat(poi.longitude*1,poi.latitude*1),{title:poi.tooltip});icon.type="dynpoi_lela";this._getMap().addOverlay(icon);}else if(poi.type=='me'){var icon=new meMarker(poi.entryId,new tgLngLat(poi.longitude*1,poi.latitude*1),{title:poi.tooltip});icon.type="dynpoi_lela";this._getMap().addOverlay(icon);}}}.bind(this));if(this._openOnUpdate!=null&&this._openMarker!=null){this._getMap().setCenter(this._openMarker.getLngLat());this._mapUtils.iconManager.handleClick(this._openMarker,this._openOnUpdate,'');}}.bind(this)});}});;var tgCookieManager=Class.create(tgManager,{stuffedCookiePrefix:'tgStuff_',maxCookieLength:4096,maxCookieCount:20,cookies:null,stuffedValues:null,initialize:function($super,mapUtils){if(mapUtils.cookieManager!=null){return mapUtils.cookieManager;};$super(mapUtils);this.cookies=this.getAll(mapUtils);this.updateValues(mapUtils);},updateValues:function(mainObject)
{if(mainObject==null){mainObject=this._mapUtils;}
this.stuffedValues=this.getAllStuffedValues(null,mainObject);},paste:function(values)
{var newValue=values.join('|');return newValue;},stuff:function(name,value,mainObject)
{if(mainObject==null){mainObject=this._mapUtils;}
var stuffedCookies=this.getAllStuffed(this.cookies,mainObject);name=name.toString().replace(/[%|]/,'_');value=value.toString().replace(/[%|]/,'_');var exists=this.stuffedValues.get(name);if(exists){this.stuffedValues.set(name,value);this.cleanup(this.cookies,this.stuffedValues);return;}
var stuffValue='|'+name+'='+value;var newLength=stuffValue.length;var storeOk=false;if(stuffedCookies.keys().length>0){stuffedCookies.each(function(c){var cleanValue=unescape(unescape(c.value));var len=cleanValue.length;if(escape(len+newLength)<=this.maxCookieLength){var newValue=cleanValue+stuffValue;this.setStandardCookie(c.key,newValue);this.cookies=this.getAll(mainObject);storeOk=true;}else{}}.bind(this));}else{}
if(!storeOk){if(this.cookies.keys().length<this.maxCookieCount){var newCookieName=this.stuffedCookiePrefix+Math.round(Math.random()*100000);this.cookies.set(newCookieName,stuffValue);this.setStandardCookie(newCookieName,stuffValue);storeOk=true;}}
if(!storeOk){return null;}else{this.rebuildCache(mainObject);return true;}},parseStuffed:function(value)
{},wipeout:function(name)
{var stuffedValues=this.getAllStuffedValues();stuffedValues.unset(name);this.cleanup(stuffedValues);},unstuff:function(name,cookies,mainObject)
{if(mainObject==null){mainObject=this._mapUtils;}
var stuffedValues=this.getAllStuffedValues(cookies,mainObject);return stuffedValues.get(name);},getAllStuffed:function(allCookies,mainObject)
{if(mainObject==null){mainObject=this._mapUtils;}
if(allCookies==null){allCookies=this.getAll(mainObject);}
var stuffedCookies=new Hash();if(allCookies.keys().length>0){allCookies.each(function(c){if(c.key.substring(0,this.stuffedCookiePrefix.length)==this.stuffedCookiePrefix){stuffedCookies.set(c.key,c.value);}}.bind(this));}
return stuffedCookies;},cleanup:function(cookies,values)
{if(values==null){var values=this.getAllStuffedValues(cookies);}
if(values.keys().length>0){this.clearAllStuffed();values.each(function(v){this.stuff(v.key,v.value);}.bind(this));}
this.rebuildCache();},clearCache:function()
{this.stuffedValues=null;},rebuildCache:function(mainObject)
{if(mainObject==null){mainObject=this._mapUtils;}
this.clearCache();this.updateValues(mainObject);},getAllStuffedValues:function(cookies,mainObject)
{if(mainObject==null){mainObject=this._mapUtils;}
if(this.stuffedValues!=null){return this.stuffedValues;}
if(cookies==null){cookies=this.getAllStuffed(null,mainObject);}
var values=new Hash();if(cookies.keys().length>0){cookies.each(function(c){var cleanValue=unescape(unescape(c.value));var contents=cleanValue.split('|');if(contents.length>0){contents.each(function(con){if(con.length>0){var eqOffset=con.indexOf('=');var svName=con.substring(0,eqOffset);var svValue=con.substring(eqOffset+1,con.length);values.set(svName,svValue);}}.bind(this));}});}
return values;},trim:function(str){return str.replace(/^\s+/,'').replace(/\s+$/,'');},getAll:function(mainObject)
{if(mainObject==null){mainObject=this._mapUtils;}
var allCookies=document.cookie.split(';');var allNewCookies=new Hash();if(allCookies.length>0){allCookies.each(function(c){c=this.trim(c);var valueOffset=c.indexOf("=");allNewCookies.set(c.substring(0,valueOffset),c.substring(valueOffset+1,c.length));}.bind(this));}
return allNewCookies;},clearAllStuffed:function()
{var cookies=this.getAllStuffed(this.cookies);if(cookies.keys().length>0){cookies.each(function(c){this.deleteStandardCookie(c.key);}.bind(this));this.cookies=this.getAll();}
this.rebuildCache();},get:function(name)
{var i=0;var suche=name+"=";while(i<document.cookie.length){if(document.cookie.substring(i,i+suche.length)==suche){var ende=document.cookie.indexOf(";",i+suche.length);ende=(ende>-1)?ende:document.cookie.length;var cook=document.cookie.substring(i+suche.length,ende);return unescape(cook);}
i++;}
return null;},dump:function(cookies)
{if(cookies==null){cookies=this.getAllStuffed();}
tgmMain.info(this.className+'> Dumping stuffed cookies');if(cookies.keys().length>0){cookies.each(function(c){tgmMain.log(this.className+'> name='+c.key+', value='+c.value);}.bind(this));}else{tgmMain.info(this.className+'> Nothing to dump as no cookies given');}},dumpValues:function()
{tgmMain.info(this.className+'> Dumping stuffed values');if(this.stuffedValues.keys().length>0){this.stuffedValues.each(function(c){tgmMain.log(this.className+'> name='+c.key+', value='+c.value);}.bind(this));}else{tgmMain.info(this.className+'> Nothing to dump as no values exist yet');}},set:function(name,value,expires,path,domain,secure)
{expires instanceof Date?expires=expires.toGMTString():typeof(expires)=='number'&&(expires=(new Date(+(new Date)+expires*1e3)).toGMTString());var r=[name+"="+escape(value)],s,i;for(i in s={expires:expires,path:path,domain:domain}){s[i]&&r.push(i+"="+s[i]);}
return secure&&r.push("secure"),document.cookie=r.join(";"),true;},setStandardCookie:function(name,value,expires,mainObject)
{if(mainObject==null){mainObject=this._mapUtils;}
if(expires==null){expires=60*60*24*365;}
if(typeof pandoraData!='undefined'){return this.set(name,value,expires,'/',pandoraData.cookieDomain,false);}else{console.error(this.className+'> pandoraData is not defined! Cannot set cookie.');}
return null;},deleteStandardCookie:function(name,mainObject)
{if(mainObject==null){mainObject=this._mapUtils;}
return this.setStandardCookie(name,'',-1600,mainObject);}});;var tgBannerManager=Class.create(tgManager,{refreshInterval:5,parentNodeId:"sidebarBanner",counter:0,initialize:function($super,mapUtils){if(mapUtils.bannerManager!=null){return mapUtils.bannerManager;};$super(mapUtils);},getAction:function(){this.counter++;if(this.counter%this.refreshInterval==0){this.refresh();}},refresh:function(){this._mapUtils.sidebarManager.updateAds();}});;var tgActionLinkManager=Class.create(tgManager,{activeInfoWindow:null,handleClick:null,tgmFreeCallDialog:null,initialize:function($super,mapUtils){if(mapUtils.actionLinkManager!=null){return mapUtils.actionLinkManager;};$super(mapUtils);this.handleClick=this._handleClick.bindAsEventListener(this);},_handleClick:function(e){var eo=Event.element(e);mainObject=this._mapUtils;if(eo.hasClassName('stars')||eo.hasClassName('title')){var detailLink=eo.up('a.blank');if(detailLink.hasClassName('blank')!=null){var detailLinkUrl=detailLink.getAttribute('href');window.open(detailLinkUrl);Event.stop(e);return;}}
if(eo.hasClassName('route')||eo.hasClassName('blank')||eo.hasClassName(eo.parentNode,"linksection")){return;}
if(eo.hasClassName('crossclose_multi')){this._getMap().closeInfoWindow();}else if(eo.hasClassName('crossclose')){this._getMap().closeInfoWindow();}else if(eo.hasClassName('infoWindowDBLink')){tgmMain.fireEvent('Approach by train - infoWindowDBLink');dcsMultiTrack('DCSext.dblink','click_map');return;}else if(eo.hasClassName('mailto')){if(tgmEmailDialog==null||tgmEmailDialog=='undefined'){tgmEmailDialog=new tgmContactEmailDialogClass();}
tgmEmailDialog.entryId=eo.getAttribute("rel");tgmEmailDialog.show();return;}else if(eo.className=="action freecall javascript"){this._startFreeCall(eo.id);return;}else if(eo.hasClassName('weblink')){return;}else if(eo.hasClassName('addressbook')){this.startSaveAddress(eo.id,eo);eo.removeClassName("addressbook");eo.addClassName("savedIW");var toRemCN=$("list_"+eo.id).childElements();toRemCN.each(function(el){if(el.className=="save"){el.removeClassName("save");el.addClassName("saved");}});}else if(eo.className=="call"||eo.className=="callTxt"||eo.className=="callIMG"){if(eo.className=="callIMG"){var entryIdString=eo.parentNode.id;}else{var entryIdString=eo.id;}
this._startFreeCall(entryIdString);}else if(eo.className=="infoWindowStMultiPagingBack"||eo.className=="infoWindowStMultiPagingForward"||eo.className=="infoWindowMeMultiPagingBack"||eo.className=="infoWindowMeMultiPagingForward"){this._startInfowindowPaging(eo);}else if(eo.className=="moreTrades"){this._showMoreTrades();}else if(eo.className=="freecall"){var entryId=eo.rel;tgmMain.fireEvent('onClickDialogFreecall',{entryId:entryId});}else if(eo.className=="freefax"){var entryId=eo.rel;tgmMain.fireEvent('onClickDialogFax',{entryId:entryId});}
Event.stop(e);},_showMoreTrades:function(){},_startRouting:function(eo){var locId=eo.id.split("_");var locationInfo=$("routing_"+locId[1]).value.split("|");var formName=locationInfo[0]+" "+locationInfo[1]+" "
+locationInfo[2]+" "+locationInfo[3];if(formName.strip()==""){var title=eo.up(".tgInfoWindowContent").down(".title");if(typeof title!=undefined&&title!=null){formName=title.firstChild.data;}}
var location=new tgLocation(formName);location.zip=locationInfo[0];location.city=locationInfo[1];location.street=locationInfo[2];location.streetNumber=locationInfo[3];location.latitude=locationInfo[4];location.longitude=locationInfo[5];this._mapUtils.routingManager.setDestination(location);},_startFreeCall:function(eId){var idArray=eId.split("_");var entryId=idArray[1];var kostenlostelefonieren=window.open('http://'+pandoraData.apiDuoDomain+'/kostenlosanrufen/initiateCall.php?id='+entryId+'&website='+pandoraData.website,'kostenlostelefonieren','status=no,scrollbars=yes,resizable=no,width=530,height=520');if(kostenlostelefonieren){kostenlostelefonieren.focus();}else{alert('Das Fenster zum kostenlosen telefonieren kann nicht geöffnet werden.\nBitte deaktivieren Sie vorübergehend den PopUp-Blocker für diese Seite!');}},startSaveAddress:function(entryId,el){var data={entryId:entryId,el:el};new Ajax.Request("/ajax/addressbook/add",{method:'get',parameters:data,evalJSON:true,onComplete:function(response){if(response.responseJSON!=null){if(response.responseJSON.success==1){tgmMain.fireEvent('onAddressbookAdd',data);}else{tgmMain.showError('Der Eintrag konnte nicht zu Ihren Favoriten hinzugefügt werden.');if(callback!=null){callback(false);}}}else{tgmMain.showError('Der Server hat fehlerhafte Daten geliefert.');if(callback!=null){callback(false);}}}.bind(this)});},_startInfowindowPaging:function(eo){var parentId=eo.parentNode.id;var idParts=parentId.split("_");var entryIdString=idParts[0];var displayNoPrev=idParts[1];this._mapUtils.reloadInfowindowContent(entryIdString,displayNoPrev);}});;var tgUrlControl=Class.create(tgMapControl,{_urlButton:null,_mailButton:null,_eventObserver:null,_mapUtils:null,initialize:function($super,mapUtils){this._mapUtils=mapUtils;$super();},addToMap:function(map){this._map=map;},draw:function(){if(this.outerdiv==null){this.outerdiv=$$(".mapSmallPositionButtonsTopLeft")[0];this._eventObserver=this._handleEvent.bindAsEventListener(this);if(pandoraData.website=="11880"){var fontAndBorderColour="#2B70EF";}else{var fontAndBorderColour="#19457B";}
var div=new Element("div",{"class":"urlbutton"});div.setStyle({width:"50px",height:"14px",padding:"1px",textAlign:"center",position:"absolute",left:"115px",top:"0px",backgroundColor:"#FFFFFF",border:"1px solid "+fontAndBorderColour,cursor:"pointer",foncColor:fontAndBorderColour});this._urlButton=div;this.outerdiv.appendChild(this._urlButton);this._urlButton.update("Link");Event.observe(this._urlButton,"click",this._eventObserver);var div=new Element("div",{"class":"mailbutton"});div.setStyle({width:"55px",height:"14px",padding:"1px",textAlign:"center",position:"absolute",top:"0px",left:"52px",backgroundColor:"#FFFFFF",border:"1px solid "+fontAndBorderColour,cursor:"pointer",foncColor:fontAndBorderColour});this._mailButton=div;this.outerdiv.appendChild(this._mailButton);this._mailButton.update("Senden");Event.observe(this._mailButton,"click",this._eventObserver);}},_handleEvent:function(e){var ua=navigator.userAgent;var button=Event.element(e);if((ua.indexOf("opera")<0&&ua.indexOf("MSIE 8")>-1&&button.getAttribute("className")=='urlbutton')||Element.hasClassName(button,"urlbutton")){if(tgmMapUrlDialog==null||tgmMapUrlDialog=='undefined'){tgmMapUrlDialog=new tgmMapUrlDialogClass();tgmMapUrlDialog.submitAction=function(frm){}.bind(this);}
tgmMapUrlDialog.ajaxOptions.link=this._buildUrl();tgmMapUrlDialog.show();}
if((ua.indexOf("opera")<0&&ua.indexOf("MSIE 8")>-1&&button.getAttribute("className")=='mailbutton')||Element.hasClassName(button,"mailbutton")){if(tgmSendUrlDialog==null){tgmSendUrlDialog=new tgmSendUrlDialogClass();}
tgmSendUrlDialog.urlToSend=this._buildUrl();tgmSendUrlDialog.show();}},_sendUrlByForm:function(frm){var mail=frm.email.value;var url=this._buildUrl();var aj=new Ajax.Request('/ajax/maps/sendMapUrl',{}.bind(this));},_buildUrl:function(){var folder="kartensuche";var params="";var center=this._map.getCenter().getTg();params+="lng="+center.longitude;params+="&lat="+center.latitude;params+="&zoom="+this._map.getZoom();if(document.location.href.match('routenplaner')){folder="routenplaner";for(var i=0;i<=4;i++){if(params!=""){params+="&";}
params+="s"
+i
+"="
+encodeURI(this._mapUtils.routingManager.stations[i].toString());}
if(this._map.routeId!=-1){params+="&s=1";}}
if(document.location.href.match('kartensuche')){var submit=false;if(this._mapUtils.searchManager.searchLocation!=null){if(params!=""){params+="&";}
params+="where="
+encodeURI(this._mapUtils.searchManager.searchLocation.formName);submit=true;};if(this._mapUtils.searchManager.searchQuery!=null){if(params!=""){params+="&";}
params+="what="+this._mapUtils.searchManager.searchQuery;submit=true;};if(submit==true){params+="&s=1";}}
var url="http://"+document.location.hostname+"/"+folder+"/?"
+params;return url;}});;var tgViewControl=Class.create(tgMapControl,{icon:null,lela_id:0,_mapUtils:null,_clickHandler:null,_atmSwitch:null,initialize:function($super,mapUtils){this._mapUtils=mapUtils;$super();},addToMap:function(map){this._map=map;},draw:function(){if(this.outerdiv==null){this.outerdiv=new Element('div',{'class':'viewcontrol'});}
this._map.getContainer().appendChild(this.outerdiv);this._clickHandler=this._handleClick.bindAsEventListener(this);Event.observe(this.outerdiv,"click",this._clickHandler);this._update();},_handleClick:function(e){var el=Event.element(e);if(Element.hasClassName(el,"atm_switch")){if(!Element.hasClassName(el,"disabled")){this._mapUtils.dynPoiManager.dynPoi.atm=!this._mapUtils.dynPoiManager.dynPoi.atm;}}
this._update();},_update:function(){if(this._mapUtils.dynPoiManager.dynPoi.atm){}else{}
this._mapUtils.dynPoiManager.update(true);}});;var atmMarker=Class.create(tgMapMarker,{duplicates:[],initialize:function($super,id,position,opts){$super(id,position,{icon:{iconImg:"/global/img/maps/icons/icon_bank.png",hoverImg:null,shadowUrl:"",width:24,height:29,shadowwidth:0,shadowheight:0,tipX:10,tipY:28,activeArea:"0,0,23,0,23,23,9,23,6,28,4,28,4,23,0,23",priority:5},title:opts.title});this.duplicates=[];this.type="atm";}});;var centerMarker=Class.create(tgMapMarker,{duplicates:[],initialize:function($super,id,position,opts){$super(id,position,{icon:{iconImg:"/global/img/maps/kartenmittelpunkt.png",hoverImg:null,shadowUrl:"",width:35,height:35,shadowwidth:0,shadowheight:0,tipX:17,tipY:17,activeArea:"0,0,0,0",priority:5},title:"Suchmittelpunkt"});this.duplicates=[];this.type="centerMarker";}});;var sidebarMarker=Class.create(tgMapMarker,{sidebarHoverurl:"",sidebarhover:function(marker){marker.sidebarHoverurl=marker.getIconUrl().replace(/icons/,"icons/hover");if(marker.iconImg.style.filter!=null){marker.iconImg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"
+this.sidebarHoverurl+"', sizingMethod='crop');"}else{marker.iconImg.src=this.sidebarHoverurl;}},sidebarhoverout:function(marker){if(marker.iconImg.style.filter!=null){marker.iconImg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"
+marker.getIconUrl()+"', sizingMethod='crop');"}else{marker.iconImg.src=marker.iconImg.src.replace(/\/hover/,"");}}});;var addressbookMarker=Class.create(sidebarMarker,{initialize:function($super,id,position,opts){duplicates:[],$super(id,position,{icon:{iconImg:"/global/img/maps/icons/icon_addressbook.png",hoverImg:null,shadowUrl:"",width:34,height:47,shadowwidth:0,shadowheight:0,tipX:10,tipY:44,activeArea:"5,5,28,5,28,28,20,28,11,45,9,45,9,28,5,28",priority:15},title:opts.title});this.type="addressbook";}});;var addressbookMarkerHome=Class.create(sidebarMarker,{initialize:function($super,id,position,opts){duplicates:[],$super(id,position,{icon:{iconImg:"/global/img/maps/icons/icon_home.png",hoverImg:null,shadowUrl:"",width:34,height:47,shadowwidth:0,shadowheight:0,tipX:10,tipY:44,activeArea:"5,5,28,5,28,28,20,28,11,45,9,45,9,28,5,28",priority:15},title:opts.title});this.type="addressbook";}});;var meMarker=Class.create(sidebarMarker,{initialize:function($super,id,position,opts,iconPath){if(iconPath==''){if($("telegate")||$("freenet")){var iconPath="/11880/img/maps/icons/icon_me.png";}else if($("klicktel")){var iconPath="/global/img/maps/icons/icon_me.png";}}
$super(id,position,{icon:{iconImg:iconPath,hoverImg:null,shadowUrl:"/global/img/maps/icons/iconshadow.png",width:34,height:47,shadowwidth:34,shadowheight:47,tipX:10,tipY:44,activeArea:"5,5,28,5,28,28,20,28,11,45,9,45,9,28,5,28",priority:10},title:opts.title});this.type="me";}});;var meMultiMarker=Class.create(sidebarMarker,{initialize:function($super,id,position,opts,iconPath){if(iconPath==''){if($("telegate")||$("freenet")){var iconPath="/11880/img/maps/icons/icon_me_multi.png";}else if($("klicktel")){var iconPath="/global/img/maps/icons/icon_me_multi.png";}}
$super(id,position,{icon:{iconImg:iconPath,hoverImg:null,shadowUrl:"/global/img/maps/icons/iconshadow.png",width:34,height:47,shadowwidth:34,shadowheight:47,tipX:10,tipY:44,activeArea:"5,5,28,5,28,28,20,28,11,45,9,45,9,28,5,28",priority:10},title:opts.title});this.type="meMulti";}});;var stMarker=Class.create(sidebarMarker,{initialize:function($super,id,position,opts,iconPath){if(iconPath==''){var iconPath="/global/img/maps/icons/icon_st.png";}
$super(id,position,{icon:{iconImg:iconPath,hoverImg:null,shadowUrl:"/global/img/maps/icons/iconshadow.png",width:34,height:47,shadowwidth:34,shadowheight:47,tipX:10,tipY:44,activeArea:"5,5,28,5,28,28,20,28,11,45,9,45,9,28,5,28",priority:10},title:opts.title});this.type="st";}});;var stMultiMarker=Class.create(sidebarMarker,{initialize:function($super,id,position,opts,iconPath){if(iconPath==''){var iconPath="/global/img/maps/icons/icon_st_multi.png";}
$super(id,position,{icon:{iconImg:iconPath,hoverImg:null,shadowUrl:"/global/img/maps/icons/iconshadow.png",width:34,height:47,shadowwidth:34,shadowheight:47,tipX:10,tipY:44,activeArea:"5,5,28,5,28,28,20,28,11,45,9,45,9,28,5,28",priority:10},title:opts.title});this.type="stMulti";}});;var routingStationIcon=Class.create(tgOverlay,{priority:0,iconImg:null,_iconUrl:'',_iconWidth:0,_iconHeight:0,_tipX:0,_tipY:0,initialize:function($super,id,position,opts){$super(id,position);switch(opts.type){case'start':this._iconUrl="/global/img/maps/icons/start.png";this._iconWidth=24;this._iconHeight=24;this._tipX=2;this._tipY=23;break;case'destination':this._iconUrl="/global/img/maps/icons/destination.png";this._iconWidth=24;this._iconHeight=24;this._tipX=2;this._tipY=23;break;default:this._iconUrl="/global/img/maps/icons/stop.png";this._iconWidth=24;this._iconHeight=24;this._tipX=2;this._tipY=23;break;}},draw:function($super){$super();if(this._map==null){return;}
if(this.iconImg==null){var img=document.createElement("img");img.style.width=this._iconWidth+"px";img.style.height=this._iconHeight+"px";if(Prototype.Browser.IE){img.src="http://"+getApiDomain()+"/Atlas/gateway/1.1/images/spacer.gif";img.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"
+this._iconUrl+"', sizingMethod='crop')";}else{img.src=this._iconUrl;}
img.id=this.id;this._map.panes.marker.appendChild(img);this.iconImg=img;}
this.position();},position:function($super){$super();var lnglat=new tgLngLat(this._longitude,this._latitude);var pixel=this._map.getPixel(lnglat);var mapOffsetX=parseInt(this._map._panel.style.left);var mapOffsetY=parseInt(this._map._panel.style.top);var st={position:'absolute',left:(pixel.x-this._tipX-mapOffsetX)+'px',top:(pixel.y-this._tipY-mapOffsetY)+'px',zIndex:this.priority*100000000-this._latitude};Element.setStyle(this.iconImg,st);},remove:function($super){$super();if($(this.id)!=null){Element.remove($(this.id));}
if($(this.id+"_shadow")!=null){Element.remove($(this.id+"_shadow"));}
if($(this.id+"_clickarea")!=null){Event.stopObserving(this._area,"click",this._clickobserver);Element.remove(this._area);}
if($(this.id+"_clickmap")!=null){Element.remove($(this.id+"_clickmap"));}
if($(this.id+"_clickimage")!=null){Element.remove($(this.id+"_clickimage"));}}});;var tgMapUtils=Class.create({map:null,sidebarManager:null,searchManager:null,dynPoiManager:null,routingManager:null,iconManager:null,contextmenu:null,actionLinkManager:null,cookieManager:null,bannerManager:null,markerlist:[],timestamp:null,cMarker:null,cMarkerLocation:null,groupDistance:Array(64,124,250,500,1000,2000,4000,8000,16000,32000,64000,128000,256000,5120000,1280000),_mapOptions:{oepnv:true,parking:true,atm:false,addressbook:true},_ajaxLoader:null,viewControl:null,initialize:function(map){this.map=map;var time=new Date();this.timestamp=time.getTime();this.sidebarManager=new tgSidebarManager(this);this.searchManager=new tgSearchManager(this);this.dynPoiManager=new tgDynPoiManager(this);this.routingManager=new tgRoutingManager(this);this.iconManager=new tgIconManager(this);this.formManager=new tgFormManager(this);this.actionLinkManager=new tgActionLinkManager(this);this.ivwBoxManager=new tgIVWBoxManager(this);this.cookieManager=new tgCookieManager(this);if(location.href.match(/freenet/i)){this.bannerManager=new tgBannerManager(this);}
this._updateStaticPoi(false);},markerSearchLocation:function(z){if(this.searchManager.searchLocation){if(this.searchManager.searchLocation.longitude!=""&&this.searchManager.searchLocation.latitude!=""){this.cMarker=new centerMarker("center_0",new tgLngLat(this.searchManager.searchLocation.longitude*1,this.searchManager.searchLocation.latitude*1));this.cMarkerLocation=new tgLngLat(this.searchManager.searchLocation.longitude*1,this.searchManager.searchLocation.latitude*1);}}else{if(z!=1){this.cMarker=new centerMarker("center_0",this.map.getCenter());this.cMarkerLocation=this.map.getCenter();}else{if(!document.location.href.match('routenplaner')){if(this.cMarkerLocation!=null){this.cMarker=new centerMarker("center_1",this.cMarkerLocation);}}else{this.cMarker=null;}}}
if(this.cMarker!=null){this.map.addOverlay(this.cMarker);}},showAjaxLoader:function(){if(this._ajaxLoader!=null){Element.remove(this._ajaxLoader);}
var ldr=new Element("img");ldr.src="/klicktel/maps/img/ajax_loader.gif";this.map.panes.floater.appendChild(ldr);ldr.setStyle({position:"absolute",zIndex:150000});var size=this.map.getSize();var l=(size.width/2)+this.map.getSidebar().getWidth()+this.map._x-50;var t=(size.height/2)-this.map._y-50;ldr.style.left=l+"px";ldr.style.top=t+"px";this._ajaxLoader=ldr;},hideAjaxLoader:function(){if(this._ajaxLoader!=null){Element.remove(this._ajaxLoader);this._ajaxLoader=null;}},goToLocation:function(location){var center=new tgLngLat(location.longitude*1,location.latitude*1);this.map.setCenter(center);this.sidebarManager.setLocation(location);},getMapOptions:function(){return this._mapOptions;},setMapOptions:function(options,redraw){if(redraw==null){redraw=true;}
this._mapOptions=options;if(redraw==true){this._updateStaticPoi();this.dynPoiManager.update(true);}},showMapOptionsDialog:function(e){if(tgmMapOptionsDialog==null){tgmMapOptionsDialog=new tgmMapOptionsDialogClass();tgmMapOptionsDialog.submitAction=function(frm){this._mapOptions.oepnv=frm.oepnv.checked;this._mapOptions.parking=frm.parking.checked;this._mapOptions.atm=frm.atm.checked;if(typeof(frm.addressbook)!='undefined')
{this._mapOptions.addressbook=frm.addressbook.checked;}else{this._mapOptions.addressbook='';}
var json=Object.toJSON(this._mapOptions);this.cookieManager.stuff('mapoptions',json);tgmMapOptionsDialog.hide();this._updateStaticPoi();this.dynPoiManager.update(true);}.bind(this);}
tgmMapOptionsDialog.ajaxOptions.oepnv=this._mapOptions.oepnv;tgmMapOptionsDialog.ajaxOptions.parking=this._mapOptions.parking;tgmMapOptionsDialog.ajaxOptions.atm=this._mapOptions.atm;tgmMapOptionsDialog.ajaxOptions.addressbook=this._mapOptions.addressbook;tgmMapOptionsDialog.show();},showEditProfileDialog:function(e){if(tgmEditProfileDialog==null){tgmEditProfileDialog=new tgmEditProfileDialogClass();tgmEditProfileDialog.submit=function(frm){tgmEditProfileDialog.submitAction();}.bind(this);}
tgmEditProfileDialog.show();},maximizeMap:function(){var bodyDims=document.viewport.getDimensions();var pos=Position.cumulativeOffset($("pandoraMap"));var h=bodyDims.height-7-pos[1];var heightContent=bodyDims.height-25-pos[1];$("pandoraMap").style.height=h+"px";if($$("div#pandoraMap div.sidebarContent").length>0){$$("div#pandoraMap div.sidebarContent")[0].style.height=heightContent+"px";}
this.map.checkResize();},getMarkerNumber:function(markerId,cNum){var entryIdArr=markerId.split(',');if($("list_"+entryIdArr[0])!=null){var classNameArr=$('list_'+entryIdArr[0]).className.split(' ');var count=Number(classNameArr[cNum].substr(2,2));var position=(count<10)?'0'+count:count;return position;}else{return'01';}},displayMarker:function(p_markerlist){if(p_markerlist!=null){this.markerlist=p_markerlist.clone();this.map.fitViewToMarkerlist(p_markerlist);}else{p_markerlist=this.markerlist.clone();}
if(p_markerlist.length==0){return;}
this.map.clearOverlays();var groupMarker=this.groupMarkerlist(p_markerlist);var counter=0;for(var i=0;i<groupMarker.length;++i){if(groupMarker[i].longitude!=null&&groupMarker[i].latitude!=null&&groupMarker[i].longitude>0&&groupMarker[i].latitude>0){if(groupMarker[i].title!=null){var opts={'title':groupMarker[i].title,'type':groupMarker[i].type};}else{var opts={'title':groupMarker[i].tooltip,'type':groupMarker[i].type};}
if($("telegate")){var iconDir="/11880/img/maps/icons/";}else if($("klicktel")){var iconDir="/klicktel/img/maps/icons/";}else if($("freenet")){var iconDir="/11880/img/maps/icons/";}
var home=new tgLngLat(groupMarker[i].longitude,groupMarker[i].latitude);var homeMarker=null;counter++;if(groupMarker[i].type=='me'){var position=this.getMarkerNumber(groupMarker[i].entryId,2);var iconPath=iconDir+'me_'+position+".png";homeMarker=new meMarker(groupMarker[i].entryId,home,opts,iconPath);}else if(groupMarker[i].type=='st'||groupMarker[i].type==""){position=this.getMarkerNumber(groupMarker[i].entryId,1);var iconPath=iconDir+position+".png";homeMarker=new stMarker(groupMarker[i].entryId,home,opts,iconPath);}else if(groupMarker[i].type=='meMulti'){position=this.getMarkerNumber(groupMarker[i].entryId,2);var iconPath=iconDir+'multi_me_'+position+".png";homeMarker=new meMultiMarker(groupMarker[i].entryId,home,opts,iconPath);}else if(groupMarker[i].type=='stMulti'){var position=this.getMarkerNumber(groupMarker[i].entryId,1);var iconPath=iconDir+'multi_'+position+".png";homeMarker=new stMultiMarker(groupMarker[i].entryId,home,opts,iconPath);}
if(homeMarker!=null){this.map.addOverlay(homeMarker);}}}
if(counter==1){mapUtils.iconManager.handleClick(homeMarker);}},groupMarkerlist:function(p_markerlist){var newMarkerlist=[];var zoomLevel=this.map.getZoom();var range=this.groupDistance[zoomLevel-1];while(p_markerlist.length>0){var found=1;var isMedia=false;var entryIdList=[];var marker=p_markerlist.shift();var entryIdString=marker.entryId;var minLat=parseInt(marker.latitude)-parseInt(range);var maxLat=parseInt(marker.latitude)+parseInt(range);var minLng=parseInt(marker.longitude)-parseInt(range);var maxLng=parseInt(marker.longitude)+parseInt(range);p_markerlist.each(function(l_marker,l_key){if(maxLat>l_marker.latitude&&minLat<l_marker.latitude&&maxLng>l_marker.longitude&&minLng<l_marker.longitude){if(l_marker.type=='me'||marker.type=='me'){isMedia=true;}
found++;entryIdList.push(l_marker.entryId);entryIdString=entryIdString+","+l_marker.entryId;p_markerlist[l_key]=0;}});if(found>1){var type='stMulti';if(isMedia){type='meMulti';}
var newMarker={'entryId':entryIdString,'icon':'multipin_me.png','shadowIcon':'iconshadow.png','latitude':marker.latitude,'longitude':marker.longitude,'tooltip':found+' Einträge','type':type};newMarkerlist.push(newMarker);}else{newMarkerlist.push(marker);}
p_markerlist=p_markerlist.reject(function(l_value){return l_value==0;});}
return newMarkerlist;},reloadInfowindowContent:function(p_entryIdString,p_displayNo){if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.maps_action','paging InfoWindow');this.ivwBoxManager.track();var params={entry_id:p_entryIdString,displayNo:p_displayNo};var aj=new Ajax.Request('/ajax/maps/infowindowReload',{method:'get',parameters:params,onComplete:function(r){var json=r.responseJSON;if(json.error==null){var contentElement=$$('.tgInfoWindowContent')[0];var infoWindow=contentElement.parentNode;if(json['markerType']=="media"&&!infoWindow.hasClassName("tgInfoWindowMeMulti")){console.log("Updating Window");Element.removeClassName(infoWindow,"tgInfoWindowStMulti");var topCorner=infoWindow.style.top.split("p");var top={top:(parseInt(topCorner[0])-64)+"px"};infoWindow.setStyle(top);Element.addClassName(infoWindow,"tgInfoWindowMeMulti");if($("telegate")||$("freenet")){var iconShadowPath="/11880/maps/img/infowindow_multi_me_shadow.png";}else if($("klicktel")){var iconShadowPath="/klicktel/maps/img/infowindow_multi_me_shadow.png";}
if(this.map.panes.floaterShadow.firstChild.style.filter!=null){this.map.panes.floaterShadow.firstChild.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"
+iconShadowPath+"', sizingMethod='crop');"}else{this.map.panes.floaterShadow.firstChild.src=iconShadowPath;}
Element.setStyle(this.map.panes.floaterShadow.firstChild,{width:"591px",height:"41px"});}else if(json['markerType']=="std"&&!infoWindow.hasClassName("tgInfoWindowStMulti")){Element.removeClassName(infoWindow,"tgInfoWindowMeMulti");var topCorner=infoWindow.style.top.split("p");var top={top:(parseInt(topCorner[0])+64)+"px"};infoWindow.setStyle(top);Element.addClassName(infoWindow,"tgInfoWindowStMulti");var iconShadowPath="/klicktel/maps/img/infowindow_multi_shadow.png";if(this.map.panes.floaterShadow.firstChild.style.filter!=null){this.map.panes.floaterShadow.firstChild.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"
+iconShadowPath+"', sizingMethod='crop');"}else{this.map.panes.floaterShadow.firstChild.src=iconShadowPath;}
Element.setStyle(this.map.panes.floaterShadow.firstChild,{width:"420px",height:"40px"});}
contentElement.update(json['infoWindowContent']);tgmMain.fireEvent('onLoadAjaxContent');}}})},_updateStaticPoi:function(doDraw){if(doDraw==null){doDraw=true;}
if(this._mapOptions.oepnv){this.map.addStaticPoi("7380;3",doDraw);this.map.addStaticPoi("7380;11",doDraw);this.map.addStaticPoi("7380;12",doDraw);}else{this.map.removeStaticPoi("7380;3",doDraw);this.map.removeStaticPoi("7380;11",doDraw);this.map.removeStaticPoi("7380;12",doDraw);}
if(this._mapOptions.parking){this.map.addStaticPoi("7369",doDraw);this.map.addStaticPoi("7313",doDraw);}else{this.map.removeStaticPoi("7369",doDraw);this.map.removeStaticPoi("7313",doDraw);}}});function showContentLayer(e){if(Element.hasClassName(Event.element(e),"map")){$$(".contentlayer.map")[0].style.display="block";}
if(Element.hasClassName(Event.element(e),"route")){$$(".contentlayer.route")[0].style.display="block";}}
function hideContentLayer(e){$$(".contentlayer").each(function(lay){lay.style.display="none";});Event.stop(e);}
function loadMapUtils(){var bodyDims=document.viewport.getDimensions();if(bodyDims.height<600){window.moveTo(0,0);window.resizeTo(screen.width,screen.height);}
if(tgBrowserIsCompatible()){map=new tgMap($("pandoraMap"));mapUtils=new tgMapUtils(map);mapUtils.ivwBoxManager.timestamp=1;mapUtils.ivwBoxManager.track();$("pandoraMap").style.cursor="url('/global/img/maps/handcursor_open.cur'), url('/global/img/maps/handcursor_open.ani'), url('/global/img/maps/handcursor_open.gif'), pointer";var cookieOptions=mapUtils.cookieManager.unstuff('mapoptions');if(cookieOptions!=null){eval("opts="+cookieOptions);mapUtils.setMapOptions(opts,false);}
mapUtils.maximizeMap();mapUtils.formManager.lastFocus=null;map.addControl(new tgMapSmallNavigation(TG_ANCHOR_TOP_LEFT));map.addControl(new tgMapScale(TG_ANCHOR_BOTTOM_RIGHT));map.registerSidebar();if(typeof(longitudeHome)=="undefined"||typeof(latitudeHome)=="undefined"||longitudeHome==null||latitudeHome==null){if(location.href.match(/freenet/i)){map.setCenter(new tgLngLat(52823016,55296434),14);}else{map.setCenter(new tgLngLat(52823016,55296434),10);}}else{map.setCenter(new tgLngLat(longitudeHome,latitudeHome),10);}
map.addControl(new tgUrlControl(mapUtils));var urlProcessor=new tgUrlProcessor(mapUtils);urlProcessor.processUrl(document.location.href);var viewControl=new tgViewControl(mapUtils);map.addControl(viewControl);mapUtils.viewControl=viewControl;map.addControl(new tgMiniMap(TG_ANCHOR_BOTTOM_RIGHT));map.observe("markerclick",function(e){var marker=e.memo.marker;mapUtils.iconManager.handleClick(marker);});map.observe("markermouseover",function(e){var marker=e.memo.marker;mapUtils.iconManager.handleMouseover(marker);});map.observe("markermouseout",function(e){var marker=e.memo.marker;mapUtils.iconManager.handleMouseout(marker);});map.observe("zoom",function(e){mapUtils.displayMarker();mapUtils.markerSearchLocation(1);});if(location.href.match(/freenet/i)){this.bannerManager=new tgBannerManager(this);map.observe("pan",function(e){mapUtils.bannerManager.getAction();});map.observe("stopdrag",function(e){mapUtils.bannerManager.getAction();});map.observe("draw",function(e){mapUtils.bannerManager.getAction();});map.observe("sidebarupdated",function(e){mapUtils.bannerManager.counter=0;});}
map.observe("sidebarupdated",mapUtils.sidebarManager.updateAds);Event.observe(window,"resize",function(){mapUtils.maximizeMap();});if(typeof(mapMarker)!='undefined'){mapUtils.displayMarker(mapMarker);}
map.observe("zoomin",function(){var time=new Date();if(time.getTime()-mapUtils.timestamp>1500){mapUtils.timestamp=time.getTime();if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.maps_action','Zoom-In');}
mapUtils.ivwBoxManager.track();});map.observe("zoomout",function(){var time=new Date();if(time.getTime()-mapUtils.timestamp>1500){mapUtils.timestamp=time.getTime();if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.maps_action','Zoom-Out');}
mapUtils.ivwBoxManager.track();});map.observe("mouseup",function(){$("pandoraMap").style.cursor="url('/global/img/maps/handcursor_open.cur'), url('/global/img/maps/handcursor_open.ani'), url('/global/img/maps/handcursor_open.gif'), pointer";});map.observe("stopdrag",function(){$("pandoraMap").style.cursor="url('/global/img/maps/handcursor_open.cur'), url('/global/img/maps/handcursor_open.ani'), url('/global/img/maps/handcursor_open.gif'), pointer";var time=new Date();if(time.getTime()-mapUtils.timestamp>1500){mapUtils.timestamp=time.getTime();if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.maps_action','Pan');}
mapUtils.ivwBoxManager.track();});map.observe("EagleZoomIn",function(){if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.maps_action','Eagle View Zoom-In');mapUtils.ivwBoxManager.track();});map.observe("EagleZoomOut",function(){if(typeof(_tag)!="undefined"){_tag.DCSext={};}
dcsMultiTrack('DCSext.maps_action','Eagle View Zoom-Out');mapUtils.ivwBoxManager.track();});map.observe("mousedown",function(e){$("pandoraMap").style.cursor="url('/global/img/maps/handcursor_closed.cur'), url('/global/img/maps/handcursor_closed.ani'), url('/global/img/maps/handcursor_closed.gif'), move";if(mapUtils.sidebarManager.locIsVisible){var x=Event.pointerX(e);var y=Event.pointerY(e);if(!Position.within($("locfoldcontainer"),x,y)){mapUtils.sidebarManager._locationSelect();}}
if(mapUtils.sidebarManager.isVisible){var x=Event.pointerX(e);var y=Event.pointerY(e);if(!Position.within($("tradefoldcontainer"),x,y)){mapUtils.sidebarManager._resultlistTradeSelector(e);}}});}
Event.observe($("mapsForm").searchterm,"focus",function(e){mapUtils.formManagerlastFocus="whatField";});Event.observe($("mapsForm").location,"focus",function(e){mapUtils.formManager.lastFocus="whereField";});if($$("#routingForm a.dblink").length>0){Event.observe($$("#routingForm a.dblink")[0],"click",function(e){mapUtils.formManager.submitDBLink(e);});}
$$(".content_switch").each(function(sw){Event.observe(sw,"mouseover",function(e){showContentLayer(e);});});$$(".contentlayer_close").each(function(elm){Event.observe(elm,"click",function(e){hideContentLayer(e);});});}
var mapUtils='';
