var currentRedirector=-1;var currentSequence=-1;var currentMapActiveZoomLevel=-1;var previousMapActiveZoomLevel=-1;var currentIdent=-1;var basePath="";var HafasWAI=Class.create();var dynContent=$H();var mapOpened=null;var mailOpened=null;var disableAjaxRequest=false;HafasWAI.prototype={initialize:function(){this.updateHWaiLinks(document);this.registeredAction=$H()},updateHWaiLinks:function(f){var d=0;var a=0;var e=f.getElementsByTagName("a");for(var d=0;d<e.length;d++){var c=e[d];var g=/HWAI:/;if((c.getAttribute("rel")!=null)&&(c.getAttribute("href")!=null)){var h=String(c.getAttribute("rel"));var b=String(c.getAttribute("href"));if((h!=null)&&(h.match("HWAI:")!=null)){a++}}}},replaceSequence:function(a){var b=a;if(currentSequence==-1){return}b=a.replace(/seqnr=.*?&/,"seqnr="+currentSequence+"&");return b},updateSequenceNumbers:function(){var d=document.getElementsByTagName("a");if(currentSequence!=-1){for(var c=0;c<d.length;c++){var b=d[c];var a=b.getAttribute("href");if(a){var e=this.replaceSequence(a);b.setAttribute("href",e)}}}},dispatcher:function(b){var c=new Array();var a=0;if(b.getAttribute("rel")!=null){if(myHafasWAI.commandTrigger(b.getAttribute("rel"),c)!=true){return false}}if(c[a]){if(this.registeredAction[c[a]["command"]]!=null){if(this.registeredAction[c[a]["HwaiMoreDetailStatus"]]==null){hideDetailContainer(c[a]["id"],"detail")}else{hideDetailContainer(c[a]["id"],"more")}if($(c[a]["HwaiDetailStatus"]+c[a]["id"])!=null){c[a]["updateStatus"]=true;if(b.className.match(/\bclose\b/)==null){$(c[a]["HwaiDetailStatus"]+c[a]["id"]).removeClassName("hide")}}this.registeredAction[c[a]["command"]](c[a],b)}else{alert("Unknown dispatcher command "+c[a]["command"]);return false}++a}return true},respondToClick:function(c){var b=Event.element(c);if(b.parentNode==null){Event.stop(c);return true}if((b.nodeName!="A")&&(b.parentNode.nodeName=="A")){b=b.parentNode}var a=String(b.getAttribute("href"));if((b.getAttribute("rel")!=null)&&(b.getAttribute("href")!=null)){var e=String(b.getAttribute("rel"));if(e.match("HWAI:")!=null){if(disableAjaxRequest==true){Event.stop(c)}else{if((a)&&(currentSequence!=-1)){var d=myHafasWAI.replaceSequence(a);b.setAttribute("href",d)}if(myHafasWAI.dispatcher(b)){Event.stop(c)}}}return false}return true},commandTrigger:function(k,g){var d=0;var l=/HWAI:(.*)/;var j=/([~]?)\s*(\w+)/;var o=/([^\;]+)\;?/g;var a=/\{[-\s*\w,]+\}/;var c=/([-\w*]+)/;var n=/\[\s*([-\w]+)\s*=\s*([-\w]+)\s*\]/;var b=l.exec(k);if(b==null){return false}while(nextCommand=o.exec(b[1])){var h=$H();var i=j.exec(nextCommand[1]);h.command=i[2];if(i[1]=="~"){h.mode="delete"}else{h.mode="add"}var m=a.exec(nextCommand[1]);if(m!=null){var f=new String(m);var e=new Array();f.scan(c,function(p){e.push(RegExp.$1)});h.idScope=e}nextCommand[1].scan(n,function(p){if(RegExp.$1!=null){h[RegExp.$1]=RegExp.$2}});g[d]=h;++d}return true},commandToUrlParameter:function(c){var a="HWAI=";var b=c.idScope;switch(c.mode){case"delete":a=a+"~"+c.command;break;default:a=a+c.command}b.each(function(d){a=a+"$"+d});c.each(function(d){if((d.key!="idScope")&&(d.key!="command")&&(d.key!="mode")){a=a+"!"+d.key;a=a+"=";a=a+d.value}});a=a+"!";return a},commandToUndoUrlParameter:function(c){var a="HWAI=";var b=c.idScope;a=a+"~"+c.command;b.each(function(d){a=a+"$"+d});a=a+"!";a=a+";"+c.command;b.each(function(d){a=a+"$"+d});c.each(function(d){if((d.key=="HwaiConId")||(d.key=="id")){a=a+"!"+d.key;a=a+"=";a=a+d.value}});a=a+"!";return a},getCheckedRadioValue:function(b,c){var d=document.forms[b];if(!d){return null}var f=Form.getInputs(d,"radio",c);var e=f.length;if(e==undefined){return null}for(var a=0;a<e;a++){if(f[a].checked){return f[a].value}}return null},getCheckBoxGroupValue:function(c,f){var e=document.forms[c];if(!e){return null}var a=Form.getInputs(e,"checkbox",f);var d=a.length;if(d==undefined){return null}for(var b=0;b<d;b++){if(a[b].checked){return a[b].value}}return null},end:function(){}};var myHafasWAI;function initHWAI(){myHafasWAI=new HafasWAI();myHafasWAI.registeredAction.CONNECTION=hwaiActionConnection;myHafasWAI.registeredAction.GLOBALAPPLICATION=hwaiActionGlobalAppl;Event.observe(document,"click",handleClick,false);Event.observe(document,"click",myHafasWAI.respondToClick,false)}Event.observe(window,"load",initHWAI,false);function hwaiActionConnection(f,e){var a=" "+e.className+" ";if(((typeof(f.HwaiMoreDetailStatus)!="undefined")&&(f.HwaiMoreDetailStatus!="none"))||(typeof(f.HwaiMapOperation)!="undefined")){var c="more";if($("divStInfoLink"+f.id)){$("divStInfoLink"+f.id).removeClassName("active")}if($("mapView"+f.id)){$("mapView"+f.id).removeClassName("active")}e.parentNode.className+=" active";f.updateStatus=false}else{var c="update"}if(a.indexOf(" close ")>=0){var d=myHafasWAI.commandToUndoUrlParameter(f);var b=basePath+"ld="+currentRedirector+"&ident="+currentIdent+"&seqnr="+currentSequence;if(currentLayoutParam){b=b+"&"+currentLayoutParam}updateConnectionContent(f,b+"&"+d+"&ajax=1",false,c)}else{if((typeof(e.id)!="undefined")&&(e.id.indexOf("moreClose")>=0)){var b=e.getAttribute("href");var d="HWAI=~CONNECTION$"+f.id+"!HwaiMoreDetailStatus!;CONNECTION$"+f.id+"!HWaiConId="+f.id+"!";updateConnectionContent(f,b+"&"+d+"&ajax=1",false,c);$("update"+f.id).removeClassName("nopaddingbottom");$("moreClose"+f.id).addClassName("hideImp")}else{if(((f.HwaiDetailStatus!="map")&&(f.HwaiDetailStatus!="pdfMail"))||((f.HwaiDetailStatus=="map")&&((mapOpened==f.id)||(mapOpened==null)))||((f.HwaiDetailStatus=="pdfMail")&&((mailOpened==f.id)||(mailOpened==null)))){if((f.HwaiDetailStatus!="map")&&(mapOpened==f.id)){mapOpened=null}if((f.HwaiDetailStatus!="pdfMail")&&(mailOpened==f.id)){mailOpened=null}var d=myHafasWAI.commandToUrlParameter(f);updateConnectionContent(f,e.getAttribute("href")+d+"&ajax=1",true,c);if((e.id)&&(e.id.match(/^fPath/))){mapLink=e.id.replace(/^fPath/,"mapPath");openFootpathMap(mapLink)}}}}}function openFootpathMap(a){if($(a)){myHafasWAI.dispatcher($(a))}else{window.setTimeout("openFootpathMap('"+a+"')",200)}}function hwaiActionGlobalAppl(c,b){c.idScope=new Array();var a=myHafasWAI.commandToUrlParameter(c);if((c.HwaiMoreDetailStatus==null)||(c.HwaiMoreDetailStatus=="none")){updateContent("updateGlobalApplication",b.getAttribute("href")+a+"&ajax=1&globalApp=1&",true);$("divMcLink").removeClassName("active");$("divUmcLink").removeClassName("active");if(b.id=="globalApplicationClose"){b.className=b.className+" hide"}else{b.parentNode.className=b.parentNode.className+" active";$("globalApplicationClose").removeClassName("hide")}}else{updateContent("moreMC",b.getAttribute("href")+a+"&ajax=1&globalApp=1&",true)}}function updateContent(d,c,b,a){disableAjaxRequest=true;new Ajax.Request(c,{method:"get",onSuccess:function(i){if(i.responseText.substring(0,6)!="seqnr="){var f=i.responseText.indexOf("<body");f+=i.responseText.substring(f).indexOf(">")+1;var h=i.responseText.indexOf("</body");document.body.innerHTML=i.responseText.substring(f,h);if((typeof $("errorCategory")!="undefined")&&($("errorCategory").innerHTML=="spoolError")){var g=gURLTravelPlannerMittSL.replace(/&#x0028;/gi,"(");g=g.replace(/&#x0029;/gi,")");document.location.href=g+"spoolError=yes&"}return false}var e=i.responseText.replace(/seqnr=(\d+)&amp;/,"");currentSequence=RegExp.$1;if(!a){e=e.replace(/mapActiveZoomLevel=(\d+)&amp;/,"");previousMapActiveZoomLevel=currentMapActiveZoomLevel;currentMapActiveZoomLevel=RegExp.$1;e=e.replace(/CONTENT/,"");if(e.substr(0,5)=="ERROR"){e=e.replace(/^ERROR/,"");b=false}if($(d)){if(b){$(d).replace(e)}else{$(d).innerHTML=e}}else{alert("Id "+d+" not found. Could not update content")}}disableAjaxRequest=false}});return false}function updateSession(a){new Ajax.Request(a,{method:"get",onSuccess:function(c){var b=c.responseText.replace(/seqnr=(\d+)&amp;/,"");currentSequence=RegExp.$1}});return false}function updateConnectionContent(f,d,b,c){if(c==""){c="update"}var a=false;if(f.updateStatus==true){d+="&updateStatus=yes";a=true}updateContent(c+f.id,d,true,a);if(($("linkDtl"+f.id))&&(c=="update")){$("linkDtl"+f.id).removeClassName("close")}else{if(c=="more"){if($("moreClose"+f.id)){$("moreClose"+f.id).removeClassName("hideImp")}}}if($("linkMap"+f.id)){if(f.HwaiMapOperation!="zoomMove"){$("linkMap"+f.id).removeClassName("close")}}switch(f.HwaiDetailStatus){case"details":case"journeyGuide":case"text":case"emailLink":if(b){$("linkDtl"+f.id).removeClassName("bold");$("linkDtl"+f.id).removeClassName("open");$("linkDtl"+f.id).addClassName("close");$("tariffEcologyButtons"+f.id).removeClassName("hide");if(($("hideLinkEcologyInfo"+f.id).hasClassName("hideImp")==true)&&($("showLinkEcologyInfo"+f.id).hasClassName("hideImp")==true)){}else{$("hideLinkEcologyInfo"+f.id).addClassName("hideImp");$("showLinkEcologyInfo"+f.id).removeClassName("hideImp")}$("hideLinkFares"+f.id).addClassName("hideImp");$("showLinkFares"+f.id).removeClassName("hideImp")}else{$("linkDtl"+f.id).addClassName("open");$("tariffEcologyButtons"+f.id).addClassName("hide")}break;case"map":if(b){$("linkMap"+f.id).removeClassName("open");$("linkMap"+f.id).addClassName("close");$("linkMap"+f.id).update(dynContent.hideMapButton);mapOpened=f.id}else{$("linkMap"+f.id).update(dynContent.showMapButton);mapOpened=null}break;case"ecologyInfo":if(($("hideLinkEcologyInfo"+f.id).hasClassName("hideImp")==true)&&($("showLinkEcologyInfo"+f.id).hasClassName("hideImp")==true)){}else{$("hideLinkEcologyInfo"+f.id).removeClassName("hideImp");$("showLinkEcologyInfo"+f.id).addClassName("hideImp")}$("hideLinkFares"+f.id).addClassName("hideImp");$("showLinkFares"+f.id).removeClassName("hideImp");break;case"fares":$("hideLinkFares"+f.id).removeClassName("hideImp");$("showLinkFares"+f.id).addClassName("hideImp");if(($("hideLinkEcologyInfo"+f.id).hasClassName("hideImp")==true)&&($("showLinkEcologyInfo"+f.id).hasClassName("hideImp")==true)){}else{$("hideLinkEcologyInfo"+f.id).addClassName("hideImp");$("showLinkEcologyInfo"+f.id).removeClassName("hideImp")}break}switch(f.HwaiMoreDetailStatus){case"map":if($("mapView"+f.id)!=null){$("mapView"+f.id).addClassName("selected")}if(b){$("linkMap"+f.id).addClassName("hideImp");$("moreClose"+f.id).removeClassName("hideImp");mapOpened=f.id}else{if($("linkMap"+f.id)){mapOpened=null;$("linkMap"+f.id).removeClassName("hideImp");$("moreClose"+f.id).addClassName("hideImp");$("mapView"+f.id).removeClassName("selected")}}break}switch(f.HwaiAdditionalInformation){case"intermediateStops":if(b){for(var e=0;e<$$(".intermediateStops"+f.id).length;e++){$$(".intermediateStops"+f.id)[e].removeClassName("hide")}}else{for(var e=0;e<$$(".intermediateStops"+f.id).length;e++){$$(".intermediateStops"+f.id)[e].addClassName("hide")}}break}if(f.id=="emailLink"){if(b){$("emailLink").removeClassName("open");$("emailLink").addClassName("close")}else{$("emailLink").addClassName("open");$("emailLink").removeClassName("close")}}return false}function updateMap(c,b){var a=basePath+c+"&maponly=1&ajax=1&ident="+currentIdent+"&seqnr="+currentSequence;if(currentLayoutParam){a=a+"&"+currentLayoutParam}loadUpdatedMap(a,b)}function loadUpdatedMap(a,b){new Ajax.Request(a,{method:"get",onSuccess:function(d){var c=d.responseText.replace(/seqnr=(\d+)&amp;/,"");currentSequence=RegExp.$1;c=c.replace(/mapActiveZoomLevel=(\d+)&amp;/,"");previousMapActiveZoomLevel=currentMapActiveZoomLevel;currentMapActiveZoomLevel=RegExp.$1;c=c.replace(/CONTENT/,"");if($(b)){$(b).replace(c);updateZoomBar()}else{alert("Id "+id+" not found. Could not update map content")}myHafasWAI.updateSequenceNumbers()}})}function updateZoomBar(){for(var b=1;b<=5;b++){if(b==currentMapActiveZoomLevel){var a=$("hfs_zoom_"+b);a.className="level_active";a.style.background="url("+imgPath+"zoom"+b+"_active.gif)";a.style.backgroundRepeat="repeat-y"}else{var a=$("hfs_zoom_"+b);a.className="level";a.style.background="url("+imgPath+"zoom"+b+".gif)";a.style.backgroundRepeat="repeat-y"}}}function updateZoomBar_off(){var a;if(previousMapActiveZoomLevel!=-1){a="zoomLevel"+previousMapActiveZoomLevel;switchActiveState(a,false);if(previousMapActiveZoomLevel==dynContent.minZoomLevel){switchActiveState("minZoomLevel",true)}else{if(previousMapActiveZoomLevel==dynContent.maxZoomLevel){switchActiveState("maxZoomLevel",true)}}}if(currentMapActiveZoomLevel!=-1){a="zoomLevel"+currentMapActiveZoomLevel;switchActiveState(a,true);if(currentMapActiveZoomLevel==dynContent.minZoomLevel){switchActiveState("minZoomLevel",false)}else{if(currentMapActiveZoomLevel==dynContent.maxZoomLevel){switchActiveState("maxZoomLevel",false)}}}}function switchActiveState(c,a){var d=c+"_on";var b=c+"_off";if(($(d)==null)||($(b)==null)){return false}if(a){$(d).removeClassName("hidden");$(b).addClassName("hidden")}else{$(b).removeClassName("hidden");$(d).addClassName("hidden")}}function handleClick(d){var c=Event.element(d);if(c.parentNode==null){Event.stop(d);return true}if((c.nodeName!="A")&&(c.parentNode.nodeName=="A")){c=c.parentNode}if(c.nodeName=="A"){if((c.getAttribute("rel")!=null)&&(String(c.getAttribute("rel")).match("HWAI:")!=null)&&(disableAjaxRequest==true)){Event.stop(d);return true}else{var b=c.getAttribute("href");if((b)&&!(useHWAI)&&(checkHWAIUsage())&&(b.match(/^javascript:/)==null)&&(b.match(/\.exe/)!=null)){var a=b.lastIndexOf("&");if(a==-1){a=b.length}b=b.slice(0,a)+"&HWAI=JS!ajax=yes!&"+b.slice(a+1)}if((typeof(curFontSize)=="number")&&(b)){if(b.indexOf("query.exe")>=0){b+="&HWAI=FONT!size="+curFontSize+"!&"}else{if(b.indexOf("javascript:")==-1){b+="&font-size="+curFontSize+"&"}}}if((typeof(forceGlobalApplication)=="string")&&(b)){var a=b.lastIndexOf("&");if(a==-1){a=b.length-1}b=b.slice(0,a)+"&HWAI=GLOBALAPPLICATION!id=GlobalApplication!HwaiGlobalApplication="+forceGlobalApplication+"!&"+b.slice(a+1)}if((b)&&(currentSequence!=-1)&&(c.id!="returnCloseLink")){var e=myHafasWAI.replaceSequence(b);c.setAttribute("href",e)}if((c.className.match(/(^|\s)returnJourney(\s|$)/)!=null)&&(useHWAI)){addLayer(c,"returnJourney");Event.stop(d)}else{if(c.id=="returnCloseLink"){closeReturnLayer(c.href);Event.stop(d)}else{if((c.className.match(/(^|\s)save(\s|$)/)!=null)&&(useHWAI)){addLayer(c,"saveCon");Event.stop(d)}}}}}return true}function addLayer(d,b){var g=document.createElement("div");g.innerHTML="&nbsp;";g.id="fadeout";g.style.height=document.body.clientHeight+"px";document.body.appendChild(g);var e=document.createElement("div");e.id="returnJourneyLayer";var c=d.parentNode;var f=c.clientHeight;var a=c.clientWidth;if(c.offsetParent){do{f+=c.offsetTop;a+=c.offsetLeft}while(c=c.offsetParent)}e.style.top=f+"px";document.body.appendChild(e);e.style.left=((a-e.clientWidth)>0)?(a-e.clientWidth)+"px":"0px";updateContent("returnJourneyLayer",d.href+"&ajax=1",false);if(b=="saveCon"){timeoutClose=window.setTimeout("$('fadeout').remove();$('returnJourneyLayer').remove();",10000)}else{if(b=="returnJourney"){window.setTimeout("returnLayerObserveEvents(true);",200)}}}function returnLayerObserveEvents(g){if($("retForm")){if($("viaSOI_1_1")){inputFields=new Array($("viaSOI_1_1"),$("viaSOI_1_2"),$("locREQ1JourneyStops1"),$("locREQ1JourneyStops2"));for(var d=0;d<inputFields.length;d++){var a=inputFields[d];if(g){Event.observe(a,"focus",delDefaultValue.bind(a));Event.observe(a,"blur",setDefaultValue.bind(a));setDefaultValue.bind(a)(null)}else{Event.stopObserving(a,"focus",delDefaultValue.bind(a));Event.stopObserving(a,"blur",setDefaultValue.bind(a))}}if($("retForm")){$("retForm").onsubmit=function(){delDefaultValue.bind(inputFields[2])();delDefaultValue.bind(inputFields[3])()}}}if(g){var c=document.getElementById("returnJourneyLayer");if(navigator.userAgent.indexOf("MSIE")>-1){var j="<script type=text/javascript>"}else{var j='<script type="text/javascript">'}var b=0;var f;var h="";while(c.innerHTML.toLowerCase().indexOf(j,b)>=0){f=c.innerHTML.toLowerCase().indexOf(j,b);var e=c.innerHTML.toLowerCase().indexOf("<\/script>",f);h+="\n"+c.innerHTML.slice(f+j.length,e);b=f+1}if(h!=""){var k=document.createElement("script");k.type="text/javascript";k.text=h;document.getElementsByTagName("head")[0].appendChild(k)}}}else{window.setTimeout("returnLayerObserveEvents(true);",200)}}function closeReturnLayer(a){if($("calendarcallink1")){if($("calendarcallink1").parentNode.nodeName=="BODY"){document.body.removeChild($("calendarcallink1"));if($("calendariframecallink1")){document.body.removeChild($("calendariframecallink1"))}}delete calman.calcons.callink1}returnLayerObserveEvents(false);updateContent("returnJourneyLayer",a+"&ajax=1&noContent=1",false);$("fadeout").remove();interval=window.setInterval("deleteReturnLayer()",100)}function deleteReturnLayer(){if($("returnJourneyLayer").innerHTML.match(/^\s*$/)!=null){$("returnJourneyLayer").remove();window.clearInterval(interval)}}function form2ajax(c){if(c==null){return}var b=$(c);if(b==null){return}var a=b.action.split("#")[0]+"&"+b.serialize()+"&ajax=1";updateContent("updateemailLink",a,true)}function hideDetailContainer(b,a){if(($("details"+b))&&(a!="more")){$("details"+b).addClassName("hide")}if($("update"+b)){$("update"+b).addClassName("hide")}if($("text"+b)){$("text"+b).addClassName("hide")}if((a=="detail")&&($("more"+b))){$("more"+b).innerHTML="";$("mapView"+b).removeClassName("selected");$("linkMap"+b).removeClassName("hideImp");$("moreClose"+b).addClassName("hideImp")}}function toggleAdditionalInformation(a){if($("additionalContent"+a).hasClassName("hideAdditionalContent")){$("additionalContent"+a).removeClassName("hideAdditionalContent");$("additionalContent"+a).addClassName("showAdditionalContent");$("hideIntermediateStops"+a).removeClassName("hide");$("showIntermediateStops"+a).addClassName("hide")}else{$("additionalContent"+a).removeClassName("showAdditionalContent");$("additionalContent"+a).addClassName("hideAdditionalContent");$("showIntermediateStops"+a).removeClassName("hide");$("hideIntermediateStops"+a).addClassName("hide")}}function checkHWAIUsage(){var c=true;try{new XMLHttpRequest()}catch(d){try{new ActiveXObject("Msxml2.XMLHTTP")}catch(a){try{new ActiveXObject("Microsoft.XMLHTTP")}catch(b){c=false}}}return c};