
Form.focus_first_input=function(form_id){var elements=Form.getElements($(form_id));for(var i=0;i<elements.length;i++){var e=elements[i];if(e.nodeName.toLowerCase()=='input'&&e.type=='text'){e.focus();break;}}};var Cursor={wait_all:function(tagnames){for(var i=0;i<tagnames.length;i++){elements=document.getElementsByTagName(tagnames[i]);for(var j=0;j<elements.length;j++){Cursor.set_wait_cursor(elements[j]);}}},nowait_all:function(tagnames){for(var i=0;i<tagnames.length;i++){elements=document.getElementsByTagName(tagnames[i]);for(var j=0;j<elements.length;j++){Cursor.unset_wait_cursor(elements[j]);}}},set_wait_cursor_recursive:function(element){Cursor.set_wait_cursor(element);if(element.hasChildNodes()){for(var i=0;i<element.childNodes.length;i++){if(element.childNodes[i].nodeType==1){Cursor.set_wait_cursor_recursive(element.childNodes[i]);}}}},set_wait_cursor:function(element){if(element.style.cursor!='wait'){element.setAttribute('old_cursor',element.style.cursor);element.style.cursor='wait';}},unset_wait_cursor:function(element){if(element.getAttributeNode('old_cursor')!=null){element.style.cursor=element.getAttribute('old_cursor');element.removeAttributeNode(element.getAttributeNode('old_cursor'));}else{element.style.cursor='';}}};var Spinner={show:function(){var element=$('skiplinks')||$('content');if(element){var act=document.createElement('div');act.id='ajaxloading';act.styleClass='loading';act.style.display='none';var txt=document.createTextNode(i18n('bitte_warten')+'...');act.appendChild(txt);element.parentNode.insertBefore(act,element);Effect.Appear('ajaxloading',{duration:0.5,queue:'end'});}},hide:function(){Effect.Fade('ajaxloading',{duration:0.5,queue:'end',afterFinish:function(effect){Element.remove(effect.element);}});}}
Ajax.Responders.register({onCreate:function(){if(Ajax.activeRequestCount>0){Cursor.wait_all(new Array('body','div','span','p','area','img','a','label','legend','input'));Spinner.show();}},onComplete:function(){if($('ajaxloading')&&Ajax.activeRequestCount==0){Cursor.nowait_all(new Array('body','div','span','p','area','img','a','label','legend','input'));Spinner.hide();}}});Array.prototype.inArray=function(value){var i;for(i=0;i<this.length;i++){if(this[i]===value){return true;}}
return false;};var sweetTitles={xCord:0,yCord:0,tipElements:['img','label'],obj:Object,tip:Object,active:0,init:function(){if(!document.getElementById||!document.createElement||!document.getElementsByTagName){return;}
var i,j;this.tip=document.createElement('div');this.tip.id='tooltip';if($('wrapper')){$('wrapper').appendChild(this.tip);}else{document.getElementsByTagName('body')[0].appendChild(this.tip);}
this.tip.style.top='0';this.tip.style.visibility='hidden';},updateXY:function(e){if(document.captureEvents){sweetTitles.xCord=e.pageX;sweetTitles.yCord=e.pageY;}else if(window.event.clientX){sweetTitles.xCord=window.event.clientX+document.documentElement.scrollLeft;sweetTitles.yCord=window.event.clientY+document.documentElement.scrollTop;}},tipOut:function(){if(window.tID){clearTimeout(tID);}
if(window.opacityID){clearTimeout(opacityID);}
sweetTitles.tip.style.visibility='hidden';},checkNode:function(){var trueObj=this.obj;if(this.tipElements.inArray(trueObj.nodeName.toLowerCase())){return trueObj;}else{return trueObj.parentNode;}},tipOver:function(e){sweetTitles.obj=this;tID=window.setTimeout("sweetTitles.tipShow()",300);sweetTitles.updateXY(e);},tipShow:function(){var scrX=Number(this.xCord);var scrY=Number(this.yCord);var tp=parseInt(scrY+15);var lt=parseInt(scrX+10);var anch=this.checkNode();var addy='';var access='';addy=anch.parentNode.getAttribute('tiphead');if(addy==''||addy==null)addy=anch.parentNode.firstChild.nodeValue;this.tip.innerHTML="<p><em>"+addy+"</em>"+anch.getAttribute('tip')+"</p>";if(parseInt(document.documentElement.clientWidth+document.documentElement.scrollLeft)<parseInt(this.tip.offsetWidth+lt)){this.tip.style.left=parseInt(lt-(this.tip.offsetWidth+10))+'px';}else{this.tip.style.left=lt+'px';}
if(parseInt(document.documentElement.clientHeight+document.documentElement.scrollTop)<parseInt(this.tip.offsetHeight+tp)){this.tip.style.top=parseInt(tp-(this.tip.offsetHeight+10))+'px';}else{this.tip.style.top=tp+'px';}
this.tip.style.visibility='visible';this.tip.style.opacity='.1';this.tipFade(10);},tipFade:function(opac){var passed=parseInt(opac);var newOpac=parseInt(passed+15);if(newOpac<90){this.tip.style.opacity='.'+newOpac;this.tip.style.filter="alpha(opacity:"+newOpac+")";opacityID=window.setTimeout("sweetTitles.tipFade('"+newOpac+"')",20);}
else{this.tip.style.opacity='.90';this.tip.style.filter="alpha(opacity:90)";}}};var Abfahrtsmonitor={select_all_lines:function(){if(this.checked==true){$A(document.getElementsByTagName("input")).each(Abfahrtsmonitor.check_checkbox);}else{$A(document.getElementsByTagName("input")).each(Abfahrtsmonitor.uncheck_checkbox);}},uncheck_checkbox:function(element){if(element.type=='checkbox')
element.checked=false;},check_checkbox:function(element){if(element.type=='checkbox')
element.checked=true;}};var Calendar=Class.create();Calendar.prototype={initialize:function(name,containerId,target_id,language){this.selfname=name;this.language=language;this.now=new Date();this.config={day_of_week:new Array(I18N.t('mon'),I18N.t('tue'),I18N.t('wed'),I18N.t('thu'),I18N.t('fri'),I18N.t('sat'),I18N.t('sun')),month_of_year:new Array(I18N.t('jan'),I18N.t('feb'),I18N.t('mar'),I18N.t('apr'),I18N.t('may'),I18N.t('jun'),I18N.t('jul'),I18N.t('aug'),I18N.t('sep'),I18N.t('oct'),I18N.t('nov'),I18N.t('dec')),DAYS_OF_WEEK:7,DAYS_OF_MONTH:31,TR_start:'<tr>',TR_end:'</tr>',highlight_start:'<td width="30"><table cellspacing="0" border="1" bgcolor="#dedeff" bordercolor="#cccccc"><tr><td width="20"><b><center>',highlight_end:'</center></td></tr></table></b>',TD_start:'<td width="30"><center>',TD_end:'</center></td>'};this.initCalendar();this.target=$(target_id);this.container=$(containerId);},initCalendar:function(date){if(date==null)
this.cal=new Date();else
this.cal=date;this.year=this.cal.getFullYear();this.month=this.cal.getMonth();this.today=this.cal.getDate();this.cal.setDate(1);},nextMonth:function(){this.cal.setMonth(this.month+1);this.initCalendar(this.cal);this.printCalendar();},previousMonth:function(){this.cal.setMonth(this.month-1);this.initCalendar(this.cal);this.printCalendar();},padNumber:function(value,length){value=''+value;while(value.length<2)value='0'+value;return value;},formatDate:function(date){var d=date.getDate();return(this.padNumber(date.getDate())+'.'+this.padNumber(date.getMonth()+1)+'.'+date.getFullYear());},selectDay:function(day){this.cal.setDate(day);this.target.value=this.formatDate(this.cal);this.cal.setDate(1);this.close();},close:function(){Effect.Fade(this.container,{duration:0.8});},weekDay:function(day){day=day-1;if(day<0)day=6;return day;},printCalendar:function(event){var html='<table class="calendar"><caption>';html+='<a href="#" title="'+I18N.t('prevmonth')+'" onclick="'+this.selfname+'.previousMonth(); return false;"><img src="/images/design/arrow_on_black_9_9_left.gif" alt="'+I18N.t('prevmonth')+'" /></a> <span>';html+=this.config.month_of_year[this.month]+' '+this.year;html+='</span> <a title="'+I18N.t('nextmonth')+'" href="#" onclick="'+this.selfname+'.nextMonth(); return false;"><img src="/images/design/arrow_on_black_9_9_right.gif" alt="'+I18N.t('nextmonth')+'" /></a>';html+=' <a title="'+I18N.t('close')+'" href="#" onclick="'+this.selfname+'.close(); return false;"><img src="/images/design/close_window.gif" alt="'+I18N.t('close')+'" /></a>';html+='</caption><thead><tr>';for(index=0;index<this.config.DAYS_OF_WEEK;index++){html+='<th>'+this.config.day_of_week[index]+'</th>';}
html+='</tr></thead><tbody><tr>';for(index=0;index<this.weekDay(this.cal.getDay());index++)
html+='<td>&nbsp;</td>';var month=this.cal.getMonth();var year=this.cal.getFullYear();for(index=0;this.cal.getMonth()==month;index++){var week_day=this.weekDay(this.cal.getDay());if(week_day==0)
html+='<tr>';if(week_day!=this.config.DAYS_OF_WEEK){var day=this.cal.getDate();var daylink='<a href="#" onclick="'+this.selfname+'.selectDay('+day+'); return false;">'+day+'</a>';if(this.now.getDate()==this.cal.getDate()&&this.now.getMonth()==this.cal.getMonth()&&this.now.getFullYear()==this.cal.getFullYear())
html+='<td class="today"><strong>'+daylink+'</strong></td>';else
html+='<td>'+daylink+'</td>';}
if(week_day==this.config.DAYS_OF_WEEK)
html+='</tr>';this.cal.setDate(this.cal.getDate()+1);}
if(week_day!=this.config.DAYS_OF_WEEK){for(i=1;i<this.config.DAYS_OF_WEEK-week_day;i++)
html+='<td>&nbsp;</td>';html+='</tr>';}
this.cal.setDate(1);this.cal.setMonth(month);this.cal.setFullYear(year);html+='</tbody></table>';this.container.innerHTML=html;Effect.Appear(this.container,{duration:0.8});if(event)Event.stop(event);return false;}};var Karte=Class.create();Karte.prototype={disableMapImage:function(){$('map_image').onclick=function(){return false;};},initialize:function(language,takestop_action,takeaddress_action,redisplay_action){this.language=language;this.takestop_action=takestop_action;this.takeaddress_action=takeaddress_action;this.redisplay_action=redisplay_action;this.directLinks=false;this.params=new Array();this.params["current_visible_map"]="none";},calculateClickOffsets:function(obj,evt){var x=(window.event)?window.event.offsetX:evt.pageX;var y=(window.event)?window.event.offsetY:evt.pageY;if(window.event){}else{x-=obj.offsetLeft;y-=obj.offsetTop;var ele=obj.offsetParent;while(ele){x-=ele.offsetLeft;y-=ele.offsetTop;ele=ele.offsetParent;}}
return{x:x,y:y};},insert_area:function(){if($('imgmapl3')){var big_area=document.createElement('area');big_area.href='#';big_area.shape='rect';big_area.coords="0,0,443,332";$('imgmapl3').appendChild(big_area);}},imgClick:function(obj,evt){if(this.type!='stadtplan')this.type=this.params['current_visible_map'];this.insert_area();var coords=this.calculateClickOffsets(obj,evt);new Ajax.Updater('kartenbild','/'+this.language+'/Fahrplan/karte/imgclick.do',{asynchronous:true,onComplete:function(request){document.karte.updateKartenmittelpunkt();document.karte.updateZoomstufen();Behaviour.apply();},parameters:'x='+coords.x+'&y='+coords.y});},closeOpenMaps:function(type){var oldType=this.params["current_visible_map"];if(oldType!="none"&&oldType!=type)
this.showInline(this.takeaddress_action+'?type='+oldType,this.params["key"]+'_'+oldType+'v_name',oldType,this.params["form_id"]);},showInline:function(url,nameSelectId,type,form_id){var oldType=this.type;this.type=type;if($(nameSelectId)!=null){url+=('?selectedIndex='+$(nameSelectId).selectedIndex);}
this.type=type;new Ajax.Updater(type+'_karte',url,{asynchronous:true,evalScripts:true,parameters:this.form_data(form_id),onComplete:function(request){if(form_id=='va_form'||form_id=='am_form'||form_id=='fb_form'||form_id=='hf_form'||form_id=='hl_form')Element.show(type+'_fieldset');else Element.hide(type+'_fieldset');Element.show(type+'_karte');Behaviour.apply();}});},show:function(url,type){this.type=type;this.stadtplanMode=true;new Ajax.Updater(type+'_karte',url,{asynchronous:true,evalScripts:true,onComplete:function(request){Element.show(type+'_karte');Behaviour.apply();}});},form_data:function(form_id){if(form_id!='')
{var queryComponents=new Array();$A(Form.getElements($(form_id))).each(function(element){var tagName=element.tagName.toLowerCase();if(tagName!='input'||(element.type!='submit'&&element.type!='button')){var queryComponent=Form.Element.serialize(element);if(queryComponent)
queryComponents.push(queryComponent);}});return queryComponents.join('&');}
return'';},updateZoomstufen:function(){if($('zoomstufen')){new Ajax.Updater('zoomstufen','/'+this.language+'/Fahrplan/karte/zoomstufen.do',{asynchronous:true});}},updateKartenmittelpunkt:function(){if($('kartenmittelpunkt')){new Ajax.Updater('kartenmittelpunkt','/'+this.language+'/Fahrplan/karte/mittelpunkt.do',{asynchronous:true});}},selectHaltestelle:function(vvoId,x,y){if(this.type=="stadtplan")return;this.insert_area();new Ajax.Updater('kartenbild','/'+this.language+'/Fahrplan/karte/centerreal.do',{asynchronous:true,onComplete:function(request){document.karte.updateKartenmittelpunkt();document.karte.updateZoomstufen();Behaviour.apply();},parameters:'&x='+x+'&y='+y+'&zoom=5'});if($('haltepunkt')){new Ajax.Updater('haltepunkt','/'+this.language+'/Fahrplan/karte/haltepunkt.do',{asynchronous:true,parameters:'vvoId='+vvoId+'&x='+x+'&y='+y});};},selectLevel1:function(id){if(this.type!='stadtplan')this.type=this.params['current_visible_map'];new Ajax.Updater(this.type+'_karte','/'+this.language+'/Fahrplan/karte/verbundkarte1.do/'+id,{asynchronous:true,onComplete:function(request){Behaviour.apply();}});},zoomLevel1:function(obj,evt){var coords=this.calculateClickOffsets(obj,evt);if(this.type!='stadtplan')this.type=this.params['current_visible_map'];new Ajax.Updater(this.type+'_karte','/'+this.language+'/Fahrplan/karte/zoomin.do/',{asynchronous:true,parameters:'x='+coords.x+'&y='+coords.y,onComplete:function(request){Behaviour.apply();}});},zoom:function(stufe){this.insert_area();if(this.type!='stadtplan')this.type=this.params['current_visible_map'];new Ajax.Updater(this.type+'_karte','/'+this.language+'/Fahrplan/karte/zoom.do/'+stufe,{asynchronous:true,onComplete:function(request){Behaviour.apply();}});},zoomIn:function(){this.insert_area();if(this.type!='stadtplan')this.type=this.params['current_visible_map'];new Ajax.Updater(this.type+'_karte','/'+this.language+'/Fahrplan/karte/zoomin.do/',{asynchronous:true,onComplete:function(request){Behaviour.apply();}});},zoomOut:function(){this.insert_area();if(this.type!='stadtplan')this.type=this.params['current_visible_map'];new Ajax.Updater(this.type+'_karte','/'+this.language+'/Fahrplan/karte/zoomout.do/',{asynchronous:true,onComplete:function(request){Behaviour.apply();}});},showKartenHaltepunkte:function(){Element.hide('hpsuche');Element.show('kartenhaltepunkte');},showHaltepunktSuche:function(){Element.hide('kartenhaltepunkte');Element.show('hpsuche');},uebernehmeHaltestelle:function(vvoId){this.params["current_visible_map"]="none";this.insert_area();var url=this.takestop_action+'?id='+vvoId;if(this.type!=null){url+=('&type='+this.type);}
if(this.directLinks)
location.href=url;else
Ortsangabeauswahl.reload_fieldset(url,this.type);},uebernehmeMittelpunkt:function(){if(this.type!='stadtplan')this.type=this.params['current_visible_map'];var url=this.takeaddress_action+'?type='+this.type;if(this.directLinks)
location.href=url;else
this.showInline(url+'&current_visible_map='+this.params["current_visible_map"],this.params["key"]+'_'+this.type+'v_name',this.type,this.params["form_id"]);},kartenpunktAendern:function(type){this.closeOpenMaps(type);if(document.getElementById(type+'karte_error'))document.getElementById(type+'karte_error').innerHTML='';if(document.getElementById(type+'favorit_error'))document.getElementById(type+'favorit_error').innerHTML='';this.showInline(this.redisplay_action+'/'+type,this.params["key"]+"_"+type+'v_name',type,this.params["form_id"]);},close:function(type){var name=type+'_karte';if($(name)&&$(name).childNodes.length>0){$(name).innerHTML='';Element.hide(name);Element.show(type+'_fieldset');}},hide:function(){if($(this.type+'_karte')&&!this.stadtplanMode){Element.hide(this.type+'_karte');Element.show(this.type+'_fieldset');this.type='none';}}};var UmgebungsKarte={hide:function(name){kartediv=name+'_karte';Element.hide(kartediv+'_hidelink');Effect.Appear(kartediv+'_link');Element.hide(kartediv);},show:function(name,remote_action){kartediv=name+'_karte';new Ajax.Updater(kartediv,remote_action,{asynchronous:true,onLoading:function(request){Element.hide(kartediv+'_link');},onComplete:function(request){Element.show(kartediv);Effect.Appear(kartediv+'_hidelink');}});}}
var FahrplanAenderungen={show:function(id){Element.toggle($('details_'+id));},showDetail:function(){Element.hide($('aenderungen'));$('aenderung').innerHTML='';Element.show($('aenderung'));},showList:function(){Element.hide($('aenderung'));Element.show($('aenderungen'));}};var Fahrplanbuch={showUmgebungskartenlink:function(url){new Ajax.Updater('ort_karte_link_dd',url,{asynchronous:true,onComplete:function(request){Effect.Appear('ort_karte_link_dd');}});}};var Ortsangabeauswahl={favoritenauswahl:function(url,prefix,form_id){if(form_id!=''){new Ajax.Updater(prefix+'_container',url,{asynchronous:true,evalScripts:true,parameters:this.form_data(form_id),onComplete:function(request)
{Behaviour.apply();}});}
else{new Ajax.Updater(prefix+'_container',url,{asynchronous:true,onComplete:function(request)
{Behaviour.apply();}});}},alsfavorit:function(url,prefix){new Ajax.Updater(prefix+'_container',url,{asynchronous:true,evalScripts:true,onComplete:function(request)
{Behaviour.apply();}});},aendern:function(type){reload_fieldset('',type);},reload_fieldset:function(url,type){new Ajax.Updater(type,url,{asynchronous:true,onComplete:function(request){Behaviour.apply();}});},form_data:function(form_id){var queryComponents=new Array();$A(Form.getElements($(form_id))).each(function(element){var tagName=element.tagName.toLowerCase();if(tagName!='input'||(element.type!='submit'&&element.type!='button')){var queryComponent=Form.Element.serialize(element);if(queryComponent)
queryComponents.push(queryComponent);}});return queryComponents.join('&');},deselect_tabs:function(form_id,name_prefix){$A(Form.getElements($(form_id),'input')).each(function(element){if((element.type=='submit'||element.type=='button')&&(element.name=='karte'||new RegExp(name_prefix).test(element.name))){Element.removeClassName(element,'selected');}});}};var FahrplanaenderungenAbo={linienholen:function(div_id,url,form_id)
{new Ajax.Updater(div_id,url,{asynchronous:true,evalScripts:true,parameters:this.formvalues(form_id),onComplete:function(request)
{Behaviour.apply();}});},vuauswahl:function()
{return vu;},formvalues:function(form_id)
{var queryComponents=new Array();$A(Form.getElements($(form_id))).each(function(element){var tagName=element.tagName.toLowerCase();if(tagName!='input'||(element.type!='submit'&&element.type!='button')){var queryComponent=Form.Element.serialize(element);if(queryComponent)
queryComponents.push(queryComponent);}});return queryComponents.join('&');}};var Verbindungsauskunft={selectDefaultStop:function(id){if(id.match(/(.+)-defaults/)){var name_id=RegExp.$1;$(name_id).value=$(id).options[$(id).selectedIndex].value;}},selectDefaultStopLink:function(name_id,val){$(name_id).value=val;},showProfile:function(idx){if(idx>0){Element.show('notice_mobilitaet');Element.removeClassName('mobilitaet_div','disabled');Element.addClassName('mobilitaet_div','enabled');}
else{Element.hide('notice_mobilitaet');Element.removeClassName('mobilitaet_div','enabled');Element.addClassName('mobilitaet_div','disabled');}
if(idx<3)
Element.hide('options_mobilitaet');else
Element.show('options_mobilitaet');}};if(!(BO["ie5"]||BO["ie4"])){var myrules={'#gallery a':function(element){if(element.href.match(/\?id=(\d+)/)){var id=RegExp.$1;element.onclick=function(){document.galerie.select_image(id);return false;};}},'#imgmapl3 area':function(element){element.onclick=function(){if(this.id.match(/([^_]+)_([^_]+)_([^_]+)/)){document.karte.disableMapImage();document.karte.selectHaltestelle(RegExp.$1,RegExp.$2,RegExp.$3);}
return false;};},'#imgmapl0 area':function(element){element.onclick=function(){document.karte.selectLevel1(this.id);return false;};},'#va_toggle_optionen':function(element){element.onclick=Verbindungsauskunft.toggleOptions;},'#pf_toggle_optionen':function(element){element.onclick=PersoenlicherFahrplan.toggleOptions;},'#abfmon_alle_linien_ausw':function(element){element.onclick=Abfahrtsmonitor.select_all_lines;},'body':function(element){sweetTitles.init();},'.tooltip':function(element){if(element.lastChild.nodeType!=1||element.lastChild.tagName.toLowerCase()!='img'){var txt=document.createTextNode(' ');element.appendChild(txt);var img=document.createElement('img');img.src='/images/design/fragezeichen.gif';element.appendChild(img);img.onmouseover=sweetTitles.tipOver;img.onmouseout=sweetTitles.tipOut;img.setAttribute('tip',element.title);img.setAttribute('alt','?');element.removeAttribute('title');}},'textarea':function(element){Formidable.init_element(element);},'fieldset input':function(element){if(!element.className.match(/button/)&&element.type=='text')
Formidable.init_element(element);},'#content fieldset ul.autocomplete li':function(element){Formidable.init_element(element);},'#content p.tabs input':function(element){element.onfocus=function(){Element.addClassName(this,'focus');return false;}
element.onblur=function(){this.className=this.className.replace(/\s?focus/,"");return false;}},'label.dynamic':function(element){var objField=$(element.htmlFor);if(objField){Formidable.addEvent(objField,"focus",Formidable.focusDynamicLabel);Formidable.addEvent(objField,"blur",Formidable.blurDynamicLabel);objField._labelText=element.firstChild.nodeValue;objField.value=objField._labelText;}},'form':function(element){Formidable.addEvent(element,"submit",Formidable.resetLabels);},'#va_myhp_textlink':function(element){element.onclick=MyHomepageLink.selectAll;},'#va_myhp_imglink':function(element){element.onclick=MyHomepageLink.selectAll;},'#meta1':function(element){if($('layout'))return;var lang=$('lang');var html=StyleSwitcher.switcherHtml();if(lang!=null){new Insertion.Before(lang,html);}else{new Insertion.Bottom(element,html);}}};Behaviour.register(myrules);}