;(function($){var $scrollTo=$.scrollTo=function(target,duration,settings){$(window).scrollTo(target,duration,settings);};$scrollTo.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1};$scrollTo.window=function(scope){return $(window)._scrollable();};$.fn._scrollable=function(){return this.map(function(){var elem=this,isWin=!elem.nodeName||$.inArray(elem.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)
return elem;var doc=(elem.contentWindow||elem).document||elem.ownerDocument||elem;return $.browser.safari||doc.compatMode=='BackCompat'?doc.body:doc.documentElement;});};$.fn.scrollTo=function(target,duration,settings){if(typeof duration=='object'){settings=duration;duration=0;}
if(typeof settings=='function')
settings={onAfter:settings};if(target=='max')
target=9e9;settings=$.extend({},$scrollTo.defaults,settings);duration=duration||settings.speed||settings.duration;settings.queue=settings.queue&&settings.axis.length>1;if(settings.queue)
duration/=2;settings.offset=both(settings.offset);settings.over=both(settings.over);return this._scrollable().each(function(){var elem=this,$elem=$(elem),targ=target,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break;}
targ=$(targ,this);case'object':if(targ.is||targ.style)
toff=(targ=$(targ)).offset();}
$.each(settings.axis.split(''),function(i,axis){var Pos=axis=='x'?'Left':'Top',pos=Pos.toLowerCase(),key='scroll'+Pos,old=elem[key],max=$scrollTo.max(elem,axis);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(settings.margin){attr[key]-=parseInt(targ.css('margin'+Pos))||0;attr[key]-=parseInt(targ.css('border'+Pos+'Width'))||0;}
attr[key]+=settings.offset[pos]||0;if(settings.over[pos])
attr[key]+=targ[axis=='x'?'width':'height']()*settings.over[pos];}else{var val=targ[pos];attr[key]=val.slice&&val.slice(-1)=='%'?parseFloat(val)/100*max:val;}
if(/^\d+$/.test(attr[key]))
attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&settings.queue){if(old!=attr[key])
animate(settings.onAfterFirst);delete attr[key];}});animate(settings.onAfter);function animate(callback){$elem.animate(attr,duration,settings.easing,callback&&function(){callback.call(this,target,settings);});};}).end();};$scrollTo.max=function(elem,axis){var Dim=axis=='x'?'Width':'Height',scroll='scroll'+Dim;if(!$(elem).is('html,body'))
return elem[scroll]-$(elem)[Dim.toLowerCase()]();var size='client'+Dim,html=elem.ownerDocument.documentElement,body=elem.ownerDocument.body;return Math.max(html[scroll],body[scroll])
-Math.min(html[size],body[size]);};function both(val){return typeof val=='object'?val:{top:val,left:val};};})(jQuery);(function($){$.formatDate=function(date,pattern){var result=[];while(pattern.length>0){$.formatDate.patternParts.lastIndex=0;var matched=$.formatDate.patternParts.exec(pattern);if(matched){result.push($.formatDate.patternValue[matched[0]].call(this,date));pattern=pattern.slice(matched[0].length);}
else{result.push(pattern.charAt(0));pattern=pattern.slice(1);}}
return result.join('');};$.formatDate.patternParts=/^(yy(yy)?|M(M(M(M)?)?)?|d(d)?|EEE(E)?|a|H(H)?|h(h)?|m(m)?|s(s)?|S)/;$.formatDate.monthNames=['January','February','March','April','May','June','July','August','September','October','November','December'];$.formatDate.dayNames=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];$.formatDate.dayNamesAbbr=['So','Mo','Di','Mi','Do','Fr','Sa'];$.formatDate.patternValue={yy:function(date){return $.toFixedWidth(date.getFullYear(),2);},yyyy:function(date){return date.getFullYear().toString();},MMMM:function(date){return $.formatDate.monthNames[date.getMonth()];},MMM:function(date){return $.formatDate.monthNames[date.getMonth()].substr(0,3);},MM:function(date){return $.toFixedWidth(date.getMonth()+1,2);},M:function(date){return date.getMonth()+1;},dd:function(date){return $.toFixedWidth(date.getDate(),2);},d:function(date){return date.getDate();},EEEE:function(date){return $.formatDate.dayNames[date.getDay()];},EEE:function(date){return $.formatDate.dayNamesAbbr[date.getDay()];},HH:function(date){return $.toFixedWidth(date.getHours(),2);},H:function(date){return date.getHours();},hh:function(date){var hours=date.getHours();return $.toFixedWidth(hours>12?hours-12:hours,2);},h:function(date){return date.getHours()%12;},mm:function(date){return $.toFixedWidth(date.getMinutes(),2);},m:function(date){return date.getMinutes();},ss:function(date){return $.toFixedWidth(date.getSeconds(),2);},s:function(date){return date.getSeconds();},S:function(date){return $.toFixedWidth(date.getMilliseconds(),3);},a:function(date){return date.getHours()<12?'AM':'PM';}};$.toFixedWidth=function(value,length,fill){if(!fill)fill='0';var result=value.toString();var padding=length-result.length;if(padding<0){result=result.substr(-padding);}
else{for(var n=0;n<padding;n++)result=fill+result;}
return result;};})(jQuery);(function($){$.vmv_config=function(){$.vmv_config={origin:$("input:#vmv_search_job_raw_origin"),destination:$("input:#vmv_search_job_raw_destination"),stop_inputs:$("input:#vmv_search_job_raw_destination, input:#vmv_search_job_raw_origin"),suggest:"#vmv_suggest",date:$("#vmv_search_job_raw_journey_date_date"),date_copy:$("#vmv_search_job_raw_journey_date_date_copy"),time:$("#vmv_search_job_raw_journey_date_time"),locale:"de",search_form:$("#vmv_new_search_job"),active:$("#vmv_new_search_job"),return_date:$("#vmv_search_job_return_trip_date_date"),dates:$("#vmv_search_job_return_trip_date_date, #vmv_search_job_raw_journey_date_date"),return_time:$("#vmv_search_job_return_trip_date_time"),times:$("#vmv_search_job_return_trip_date_time, #vmv_search_job_raw_journey_date_time"),travelers:[$("#vmv_traveler_0"),$("#vmv_traveler_1"),$("#vmv_traveler_2"),$("#vmv_traveler_3")]};};$.vmv_suggest_url="";$.vmv_search_job="";$.vmv_traveler_count=1;$.vmv_defaults={origin:"Adresse, Ort, Flughafen oder Bahnhof",destination:"Adresse, Ort, Flughafen oder Bahnhof",date_offset:3};$.vmv_i18n={times:['','0:00 bis 11:00 Uhr','11:00 bis 16:00 Uhr','16:00 bis 24:00 Uhr','0:00 bis 24:00 Uhr'],origin_empty:"Bitte wählen Sie einen Startort",destination_empty:"Bitte wählen Sie ein Ziel",warn_today:"Ihre Zeitangabe ist sehr kurzfristig, bzw. liegt ggf. schon in der Vergangenheit, daher erhalten Sie unter Umständen keine Preisangabe.",warn_date:"Bitte wählen Sie für Ihre Rückfahrt ein Datum, das nach dem Datum der Hinfahrt liegt",warn_three_month:"Bahnpreise sind nur für die nächsten 3 Monate verfügbar",datepicker:{closeText:'schließen',prevText:'&#x3c;zurück',nextText:'Vor&#x3e;',currentText:'heute',monthNames:['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],monthNamesShort:['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'],dayNames:['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],dayNamesShort:['So','Mo','Di','Mi','Do','Fr','Sa'],dayNamesMin:['So','Mo','Di','Mi','Do','Fr','Sa'],dateFormat:'dd.mm.yy',firstDay:1,isRTL:false}};})(jQuery);(function($){$.vmv_search={init:function(){$.vmv_stop_inputs.init();$.vmv_suggest.init();$.vmv_datepicker.init();$(document).mousedown(function(event){var target=$(event.target);if(target.parents($.vmv_config.suggest).size()===0&&!target.is($.vmv_config.suggest)){$($.vmv_config.suggest+":visible").remove_list();}});$.vmv_config.search_form.submit(function(){return($.vmv_stop_inputs.check()&&$.vmv_datepicker.check());});}};$.vmv_stop_inputs={init:function(){var stop_inputs=$.vmv_config.stop_inputs;stop_inputs.bind("blur focus keydown keyup",$.vmv_stop_inputs.handler);stop_inputs.trigger("blur");stop_inputs.attr("autocomplete","off");},handler:function(event){var input=$(this);var type=input.is("[id*=origin]")?'origin':'destination';var default_val=$.vmv_defaults[type];switch(event.type){case"blur":$.vmv_stop_inputs.blur(input,type,default_val);break;case"focus":$.vmv_stop_inputs.focus(input,type,default_val);break;case"keyup":$.vmv_stop_inputs.keyup(input,type,event);break;case"keydown":$.vmv_stop_inputs.keydown(input,type,event);break;}
if(input.val()!=default_val){input.removeClass("default");}},blur:function(input,type,default_val){$.vmv_config.active=$.vmv_config.search_form;if(input.val()===""){input.val(default_val);input.addClass("default");}},focus:function(input,type,default_val){$.vmv_config.active=input;if(input.val()==default_val){input.val("");input.removeClass("default");}},keyup:function(input,type,event){input.removeClass("accepted failed");switch(event.keyCode){case 13:$.vmv_suggest.enter(input,event);break;case 40:$.vmv_suggest.go(1);break;case 38:$.vmv_suggest.go(-1);break;case 27:$($.vmv_config.suggest).remove_list();break;case 9:case 17:case 16:case 20:case 0:case 37:case 39:break;default:$("#pin_"+type).remove();$.vmv_config.active=input;if(input.val().length>1){$.vmv_suggest.start(input,type);}}},keydown:function(input,type,event){switch(event.keyCode){case 13:event.preventDefault();break;case 9:if(input.is("[id*=origin]")||input.is("[id*=destination]")){if($($.vmv_config.suggest).size()===0){return true;}
if($.vmv_suggest.set_value($("li.selected:first"))){$($.vmv_config.suggest).remove_list();}}
event.preventDefault();break;}
return false;},check:function(){var errors=[];if($.vmv_config.origin.val()==$.vmv_defaults.origin){errors.push($.vmv_i18n.origin_empty);$.vmv_config.origin.addClass("failed");}
if($.vmv_config.destination.val()==$.vmv_defaults.destination){errors.push($.vmv_i18n.destination_empty);$.vmv_config.destination.addClass("failed");}
return(errors.length===0)?true:$.vmv_dialog("Hinweis","Folgende Fehler sind aufgetreten:",errors,null);}};$.vmv_suggest={timeout:0,last_start:0,last_try:"",response:null,current:"",start:function(input,type){input.addClass("loading");$("#vmv_log_selected_"+type).val("");var now=(new Date()).valueOf();if((now-this.last_start)>300){$.vmv_suggest.get(input,type);this.last_start=now;}else{if(this.timeout){window.clearTimeout(this.timeout);}
this.timeout=window.setTimeout(function(){$.vmv_suggest.start(input,type);},50);}},get:function(input,type){var address=input.val();var geocoder=new google.maps.Geocoder();geocoder.geocode({'address':address},function(results,status){$.vmv_suggest.current=address;var data="input="+encodeURIComponent(address)+"&type="+type;if(status==google.maps.GeocoderStatus.OK){for(var i=0;i<results.length;i++){data+="&g_results["+i+"][name]="+encodeURIComponent(results[i].formatted_address);data+="&g_results["+i+"][lat]="+results[i].geometry.location.b;data+="&g_results["+i+"][lon]="+results[i].geometry.location.c;data+="&g_results["+i+"][type]="+results[i].geometry.location_type;if(results[i].geometry.bounds){data+="&g_results["+i+"][ne]="+results[i].geometry.bounds.getNorthEast().b+'_'+results[i].geometry.bounds.getNorthEast().c;data+="&g_results["+i+"][sw]="+results[i].geometry.bounds.getSouthWest().b+'_'+results[i].geometry.bounds.getSouthWest().c;}
if(results[i].address_components.size>1){data+="&g_results["+i+"][country]="+results[i].address_components['1'].short_name+"&g_results["+i+"][area]="+results[i].address_components['1'].long_name;}}}
$.vmv_suggest.response=jQuery.ajax({url:$.vmv_suggest_url+"?callback=?",dataType:'json',contentType:"application/json; charset=utf-8",method:"GET",data:data,success:handle_response});});function handle_response(response,textStatus,xhr){if($.vmv_suggest.current!=response.input){return false;}
if(input.hasClass("loading")&&response!==null){input.removeClass("loading");if(input.attr('id')==$.vmv_config.active.attr('id')){input.siblings($.vmv_config.suggest).remove_list();$("#vmv_suggest").remove();$(document.body).append(response.content);var suggest=$("#vmv_suggest");if(jQuery.browser.msie&&jQuery.browser.version=="6.0"){$.vmv_config.time.hide();$.vmv_config.return_time.hide();}
var offset=input.offset();suggest.css("left",offset.left);suggest.css("top",offset.top+input.outerHeight()-1);suggest.css("width",input.outerWidth(true)-2);suggest.find("li:first").addClass("selected");}}}},go:function(step){var list=$($.vmv_config.suggest+" li");var selected=$("li.selected");var index=list.index(selected);if(index<0){list.first().addClass("selected");}else{var li=list.eq(index+step).addClass("selected");li.closest("div").scrollTo(li,0,{offset:-200});selected.removeClass("selected");}},init:function(){$($.vmv_config.suggest+" li").live("click",function(event){$.vmv_suggest.set_value($(this));});},enter:function(input,event){var li=$("li.selected");if(li.html()!==null){$.vmv_suggest.set_value(li);}
event.preventDefault();return false;},set_value:function(li){if(li.size()==1){var suggest=$($.vmv_config.suggest);var type=suggest.attr("suggest_for");var input=$.vmv_config[type];if(li.attr("xcoord")!=1||li.attr("ycoord")!=1){if($('#pin_'+type).size()===0){$('#map').append('<div id="pin_'+type+'"></div>');}
$('#pin_'+type).css({left:li.attr("xcoord")+'px',top:li.attr("ycoord")+'px'});}
$("#vmv_log_selected_"+type).val(input.val()+"||"+li.attr("stop_name"));input.val(li.attr("stop_name")).addClass("accepted").next_focus();suggest.remove_list();return true;}
return false;}};$.vmv_datepicker={init:function(){$.datepicker.setDefaults($.vmv_i18n["datepicker"]);$.vmv_config.dates.datepicker({minDate:new Date(),maxDate:"+6m",defaultDate:$.vmv_defaults.date_offset,beforeShow:function(input){$(".ui-datepicker").addClass("verkehrsmittelvergleich_de_datepicker");}});$.vmv_config.dates.change(function(){var date_field=$(this);var date=date_field.datepicker('getDate');var short_date=$.formatDate(date,"dd.MM.yy");var today=$.formatDate(new Date(),"dd.MM.yy");if(short_date==today){$.vmv_dialog("Hinweis",$.vmv_i18n.warn_today,null,null);}
date_field.val(short_date);date_field.siblings(":hidden").val($.formatDate(date,"dd.MM.yyyy"));date_field.siblings("small").html($.formatDate(date,"EEE, dd.MM.yyyy"));if(/_(raw_journey)/.test(date_field.attr("id"))){$.vmv_config.return_date.datepicker("setDate",new Date(Number(date)+86400000));$.vmv_config.return_date.trigger("change");}
if(date>jQuery.vmv_datepicker.add_days(92,new Date())){$.vmv_dialog("Hinweis",$.vmv_i18n.warn_three_month,null,null);}
$.vmv_datepicker.check();});$.vmv_config.times.change(function(){var time_selection=$(this);time_selection.siblings("small").html($.vmv_i18n.times[time_selection.val()]);$.vmv_datepicker.check();});},check:function(){var trip_date=$.vmv_config.date.datepicker('getDate');var return_date=$.vmv_config.return_date.datepicker('getDate');if($("#vmv_return_trip").is(":checked")&&return_date<=trip_date){if($.formatDate(trip_date,"dd.MM.yyyy")==$.formatDate(return_date,"dd.MM.yyyy")){if($.vmv_config.time.val()>$.vmv_config.return_time.val()){$.vmv_dialog("Fehler",$.vmv_i18n.warn_date,null,null);return false;}}else{$.vmv_dialog("Fehler",$.vmv_i18n.warn_date,null,null);return false;}}
return true;},fixed_width:function(number,length){var result=number.toString();var padding=length-result.length;if(padding<0){result=result.substr(-padding);}else{for(var n=0;n<padding;n++){result="0"+result;}}
return result;},increase_month:function(amount,date){if(date.getMonth()+amount>11){date.setMonth(date.getMonth()+amount-11);date.setYear(date.getYear()+1);}else{date.setMonth(date.getMonth()+amount);}
return date;},add_days:function(days,date){var m=[31,28,31,30,31,30,31,31,30,31,30,31,31,28,31,30,31,30,31,31,30,31,30,31];var new_date=new Date();days-=m[date.getMonth()];days-=m[date.getMonth()+1];days-=m[date.getMonth()+2];days+=date.getDate();if(days>=1){new_date=jQuery.vmv_datepicker.increase_month(3,new_date);new_date.setDate(days);}else{new_date=jQuery.vmv_datepicker.increase_month(2,new_date);new_date.setDate(m[date.getMonth()+2]-days);}
return new_date;}};$.vmv_dialog=function(title,msg,list,buttons){jQuery(".ui-dialog").remove();var container="<div class='vmv_dialog' >";if(msg!==null&&msg.constructor===String){container+=("<p>"+msg+"</p>");}
if(list!==null&&typeof list=="object"&&list.length){container+="<ul>";jQuery.each(list,function(){container+="<li>"+this+"</li>";});container+="</ul>";}
var width=300;var position='';if(jQuery("#page_wrapper").size()==1){position=[jQuery("#vmv_search_form").offset().left+220,140];}else{var widget_offset=jQuery("#verkehrsmittelvergleich_de_widget_wrapper").offset();var widget_width=jQuery("#verkehrsmittelvergleich_de_widget_wrapper").width();var left_offset=20;if(jQuery("#vmv_return_trip:visible").size()===1){left_offset=150;}
position=[widget_offset.left+left_offset,widget_offset.top-jQuery("html,body").scrollTop()+20];}
if(buttons===null){buttons={};buttons['Ok']=function(){jQuery(this).dialog('close');};}else if(buttons=="alternative"){buttons={};buttons['Ja']=function(){jQuery("#vmv_search_job_submit").trigger("click");jQuery(this).dialog('close');return false;};buttons['Nein']=function(){if(jQuery(this).text().match(/Zielpunkt/)){jQuery.vmv_config.destination.val("").focus().removeClass("accepted");}
if(jQuery(this).text().match(/Startpunk/)){jQuery.vmv_config.destination.blur();jQuery.vmv_config.origin.val("").focus().removeClass("accepted");}
jQuery(this).dialog('close');};}
jQuery(container).appendTo('body').dialog({title:title,resizable:false,width:width,position:position,buttons:buttons});return false;};$.vmv_news={current:0,data:[],change:function(){var current=$.vmv_news.current;var data=$.vmv_news.data;$("#news").html(data[current]);if(data.length>1){setTimeout($.vmv_news.change,5000);if(current>=data.length-1){$.vmv_news.current=0;}else{$.vmv_news.current++;}}}};$.vmv_popup=function(msg,element,title,buttons,height){element=$(element);if(!title){title="Suche fortsetzen?";}
if(!height){height=140;}
if(!buttons){buttons={"Fortsetzen":function(){$(this).dialog('close');window.location=element.attr("href");},"Abbrechen":function(){$(this).dialog('close');return false;}};}
$("#vmv_popup").dialog("destroy");$("#vmv_popup").html(msg);$("#vmv_popup").dialog({resizable:false,height:height,modal:true,position:[element.offset().left-120,element.offset().top-25-jQuery(window).scrollTop()],title:title,buttons:buttons});};$.fn.covers=function(element){var left=this.offset().left;var top=this.offset().top;var height=this.children().first().height();if(left<element.offset().left&&(left+this.width())>element.offset().left){if(top<element.offset().top&&top+height>element.offset().top){return true;}}
return false;};$.fn.remove_list=function(){$.vmv_config.time.show();$.vmv_config.return_time.show();this.remove();};$.fn.next_focus=function(){$(":input[tabindex="+(parseInt(this.attr("tabindex"))+1)+"]").focus();};})(jQuery);jQuery(document).ready(function(){jQuery.vmv_config();jQuery.vmv_search.init();if(typeof vmv_set_widget_configs=='function'){vmv_set_widget_configs();}else{jQuery(".advanced_search a").bind("click",function(){$("#vmv_searching_ext").toggle();jQuery(".advanced_search a").toggleClass("open");return false;});jQuery("#europe_stops_link").bind("click",function(){jQuery("#europe_stops").slideToggle();return false;});jQuery("#europe_stops li").bind("click",function(){jQuery.vmv_config.destination.removeClass("default").addClass("accepted").val($(this).html());jQuery("#europe_stops").slideToggle();return false;});jQuery("#new_profile_submit").live("click",function(){jQuery.ajax({type:'POST',url:"/settings?"+jQuery("#vmv_new_search_job").serialize()+"&profile_name="+jQuery("#profile_name").val(),success:function(response){jQuery("#user_settings").replaceWith(response);},error:function(response){jQuery.vmv_dialog("Fehler",response.responseText,null);}});});jQuery("#toggle_user_settings").click(function(){jQuery('#user_settings_inner').toggle('blind');jQuery('#user_settings').toggleClass("closed");return false;});}
jQuery.fn.toggle_attr=function(attribute){element=jQuery(this);if(element.attr(attribute)){element.removeAttr(attribute);}else{element.attr(attribute,attribute);}
return element;};jQuery("#vmv_return_trip").removeAttr("checked");jQuery("#vmv_return_trip:not([checked])").live("change",function(){jQuery("#vmv_block_return_trip").addClass("disabled");});jQuery("#vmv_block_return_trip.disabled").live("click",function(event){jQuery("#vmv_block_return_trip").removeClass("disabled");if(!jQuery(event.target).is("#vmv_return_trip,label")){jQuery("#vmv_return_trip").attr("checked","checked");}});if(jQuery("#feedback_wrapper").size()==1){jQuery("#feedback_button").click(function(){jQuery("#feedback_wrapper").animate({right:jQuery("#feedback_wrapper").css("right")=='27px'?420:27});});jQuery("#new_feedback").submit(function(){jQuery("#feedback_url").val(window.location.href);jQuery.post(jQuery("#new_feedback").attr("action"),jQuery("#new_feedback").serialize(),null,"script");window.setTimeout(function(){jQuery("#feedback_button").trigger("click");},4000);jQuery("#feedback_content").html("<h2>Feedback</h2>Vielen Dank für Ihr Feedback!");return false;});}
jQuery("#vmv_search_job_submit").removeAttr("disabled");jQuery("#vmv_search_job_submit").live("click",function(){jQuery(this).attr("disabled","disabled");window.setTimeout(function(){jQuery("#vmv_search_job_submit").removeAttr("disabled");},3000);jQuery("#vmv_new_search_job").trigger("submit");return false;});jQuery(".ajax_link").live("click",function(){jQuery.getScript(this.href);return false;});jQuery('a.tooltip').live("mouseover mouseout",function(){$(this).next('div.tooltip').toggle();});jQuery("#vmv_search_setting_traveler_number").live("change",function(){var visibles=jQuery.vmv_config.travelers.slice(0,jQuery(this).val());var hiddens=jQuery.vmv_config.travelers.slice(jQuery(this).val());jQuery.each(visibles,function(index,element){element.show();});jQuery.each(hiddens,function(index,element){element.hide();});});});(function($){$.vmv_result={is_widget:$("#verkehrsmittelvergleich_de_widget").size()>0,way_type:"",propagation_stop:false,init:function(){this.init_form();this.capture_sorting_events();this.capture_pagination_events();this.capture_toggle_details_events();this.capture_return_journey_link();this.capture_alter_search();},init_form:function(){if(jQuery.browser.msie&&jQuery.browser.version=="6.0"){jQuery.globalEval=function(){};}
jQuery("#filter_form").bind("submit",function(){jQuery('#trip_list_header .ajax_status').show();jQuery.ajax({type:"GET",url:jQuery("#filter_form").attr('action'),data:jQuery("#filter_form").serialize(),dataType:'script',success:function(response){jQuery('#trip_list_header .ajax_status').hide();jQuery('#trip_list').html(response);},error:function(xhr,ajaxOptions,thrownError){jQuery('#trip_list_header .ajax_status').hide();jQuery('#trip_list').html(xhr.responseText);}});return false;});},init_slider:function(selector,min_value,max_value,value){$(selector).slider({range:"min",min:min_value,max:max_value,value:value});},init_range_slider:function(selector,min_value,max_value,first_value,last_value){$(selector).slider({range:true,min:min_value,max:max_value,values:[first_value,last_value]});$(selector+" a:first").addClass("first");},duration:function(seconds){var h=parseInt(seconds/3600);var m=parseInt((seconds-(h*3600))/60);return h+":"+this.add_leading_zero(m);},add_leading_zero:function(value){return String(value).length<2?"0"+value:value;},get_formated_time:function(date){return this.add_leading_zero(date.getUTCHours())+":"+this.add_leading_zero(date.getUTCMinutes());},to_utc:function(date){return Date.UTC(date.getFullYear(),date.getMonth(),date.getDate(),date.getHours(),date.getMinutes(),date.getSeconds());},bind_slide_events:function(){$('.ui-slider').bind('slidechange',function(event,ui){var type=/slider_([a-z]*)(_at)?/.exec($(this).attr("id"))[1];$.vmv_result.perform_action(type,ui);$("#filter_page").attr("value",1);$("#filter_form").submit();});$('.ui-slider').bind('slide',function(event,ui){var type=/slider_([a-z]*)(_at)?/.exec($(this).attr("id"))[1];$.vmv_result.perform_action(type,ui);});},perform_action:function(type,ui){switch(type){case"duration":$("#filter_duration_max").val(ui.value);$("#duration_end").val(this.duration(ui.value));break;case"price":$("#price_end").val(Math.round(ui.value));break;case"transfer":$("#transfer_end").val(ui.value);break;case"co":$("#filter_co2_max").val(ui.value);break;case"departure":this.slider_changes_date(type,ui.values[0],ui.values[1]);break;case"arrival":this.slider_changes_date(type,ui.values[0],ui.values[1]);$("#arrival_day_min").html($.formatDate(new Date(ui.values[0]*1000),"EEE"));$("#arrival_day_max").html($.formatDate(new Date(ui.values[1]*1000),"EEE"));break;}},slider_changes_date:function(key,time_min,time_max){var min_date=new Date(time_min*1000);var max_date=new Date(time_max*1000);$("#filter_"+key+"_at_min").val(time_min);$("#filter_"+key+"_at_max").val(time_max);$("#"+key+"_time_start").val(this.get_formated_time(min_date));$("#"+key+"_time_end").val(this.get_formated_time(max_date));},capture_sorting_events:function(){$("a.sort_link").live("click",function(){$("#filter_sort").attr("name",$(this).attr("name"));$("#filter_sort").attr("value",$(this).attr("value"));$("#filter_page").attr("value",1);$("#filter_form").submit();return false;});},capture_pagination_events:function(){$(".pagination a").live("click",function(){$("#filter_page").attr("value",$(this).attr("value"));$("#filter_form").submit();return false;});},capture_toggle_details_events:function(){$(".information td.toggle, .information td.toggle a, .information td.departure_at, .information td.arrival_at, .information td.description, .information td.duration, .information td.changes, .information a.toggle_details").live("click",function(){var row=$(this).closest('tr');row.toggleClass('opened').siblings().toggle();return false;});jQuery(".information td.select input").live("change",function(){jQuery(".trip.selected").removeClass("selected").find("input").removeAttr("checked");var input=$(this);if(input.attr("checked")){var trip=input.closest(".trip").toggleClass("selected");jQuery("#selected_"+$.vmv_result.way_type).val(trip.attr("id"));var selected_trip=jQuery("#selected_trip").val();var selected_return_trip=jQuery("#selected_return_trip").val();$.ajax({url:"/trips/select?selected_trip="+selected_trip+"&selected_return_trip="+selected_return_trip+"&identifier="+jQuery.vmv_search_job,success:function(response){jQuery("#selected_trips").replaceWith(response).show();if(jQuery("#selected_trip_container .price, #selected_return_trip_container .price").size()==2){jQuery("#trip_navigation").addClass("booking");}}});}
return false;});jQuery(".information td.select").live("click",function(event){if($(this).closest(".trip").hasClass("selected")){return false;}
if(event.target==this){$(this).find("input").attr("checked","checked").trigger("change");return false;}});jQuery("#return_journey_link").live("click",function(){var settings=$("#filter_form").serialize().replace(/\&/g,"AND").replace(/\=/g,"EQL");jQuery("#filter_settings").val(settings);jQuery("#return_trip_form").submit();return false;});jQuery("#remove_selected_trip").live("click",function(){var trip_id=jQuery("#selected_trip").val();jQuery("#"+trip_id).removeClass("selected").find("input").removeAttr("checked");jQuery("#selected_trip").val("");jQuery("#trip_navigation").removeClass("booking");$.ajax({url:"/trips/select?selected_trip=&selected_return_trip="+jQuery("#selected_return_trip").val()+"&identifier="+jQuery.vmv_search_job,success:function(response){jQuery("#selected_trips").replaceWith(response).show();}});return false;});jQuery("#remove_selected_return_trip").live("click",function(){var trip_id=jQuery("#selected_return_trip").val();jQuery("#"+trip_id).removeClass("selected").find("input").removeAttr("checked");jQuery("#selected_return_trip").val("");jQuery("#trip_navigation").removeClass("booking");$.ajax({url:"/trips/select?selected_return_trip=&selected_trip="+jQuery("#selected_trip").val()+"&identifier="+jQuery.vmv_search_job,success:function(response){jQuery("#selected_trips").replaceWith(response).show();}});return false;});$(".book_trips").click(function(){$.vmv_result.show_booking_dialog();return false;});$("#selected_trips a.price").live("click",function(){$.vmv_result.show_booking_dialog();return false;});$("#link_to_connected").live("click",function(){$("#return_journey_link").trigger("click");return false;});$("#vmv_book .book a").live("click",function(){$(this).parent().next().html("<span></span>");});jQuery(".single_person_booking").live("click",function(){jQuery(this).append("<div class='booking_clicked'></div>");});},get_search_job_variables:function(){var opened=[];jQuery.each($('.trip:has(tr.stop:visible)'),function(){opened.push($(this).attr('id'));});var selected_trips="&selected_trip="+jQuery("#selected_trip").val()+"&selected_return_trip="+jQuery("#selected_return_trip").val();return $('#filter_form').serialize()+"&opened="+opened.join(",")+selected_trips;},show_booking_dialog:function(){$("#alter_time").hide();$("#vmv_book").dialog({modal:true,height:500,width:700,resizable:false,title:"Hin- und Rückreise buchen",open:function(){$.ajax({url:"/trips/select?selected_trip="+jQuery("#selected_trip").val()+"&selected_return_trip="+jQuery("#selected_return_trip").val()+"&book=true&identifier="+jQuery.vmv_search_job,success:function(response){jQuery("#vmv_book").html(response);}});},close:function(){$("#alter_time").show();},buttons:{Ok:function(){$(this).dialog('close');$("#alter_time").show();}}});$("#vmv_book").dialog("open");},capture_return_journey_link:function(){jQuery("#return_journey_link").live("click",function(){var settings=$("#filter_form").serialize().replace(/\&/g,"AND").replace(/\=/g,"EQL");jQuery("#filter_settings").val(settings);jQuery("#return_trip_form").submit();return false;});$("#vmv_book").dialog("open");},capture_alter_search:function(){if($.browser.msie){jQuery("#alter_time").live("change_ie",function(event){if(!$.vmv_result.propagation_stop){var link=jQuery("#alter_time_link");var value=jQuery("#alter_time").val();link.attr("href",link.attr("href")+"&time="+value);jQuery.vmv_popup("Neue Suche mit dieser Zeit ausführen?",link);$.vmv_result.propagation_stop=true;}else{$.vmv_result.propagation_stop=false;}
return false;});}else{jQuery("#alter_time").live("change",function(event){var link=jQuery("#alter_time_link");link.attr("href",link.attr("href")+"&time="+jQuery("#alter_time").val());jQuery.vmv_popup("Neue Suche mit dieser Zeit ausführen?",link);return false;});}
jQuery(".alter_search").live("click",function(event){jQuery.vmv_popup(jQuery(this).attr("title"),this);event.preventDefault();return false;});jQuery(".passengers_not_considered").live("click",function(event){var link=jQuery(this).attr("href");var content="<p>Diese Buchung muss für jede Person einzeln durchgeführt werden.</p>";for(var i=0;i<jQuery.vmv_traveler_count;i++){content+="<a href='"+link+"' class='single_person_booking' target='_blank'>"+(i+1)+". Person Buchen</a>";}
var heights=[200,220,240,280,320];jQuery.vmv_popup(content,this,"Buchen",{"Ok":function(){$(this).dialog('close');return false;}},heights[jQuery.vmv_traveler_count-1]);event.preventDefault();return false;});}};})(jQuery);(function($){$.vmv_progress={timeout_intervall:70,redirection_path:"path",query_state_path:"",failed_redirection_path:"/",state_request_counter:0,redirection_status:false,progressbar_increase_value:1,state_check_intervall:2,step_content_values:[[],[],[]],current_step:0,current_step_value:0,search_job_id:0,debug:false,start:function(){$('#progress_bar').progressbar({value:1});$.vmv_progress.update_progress();$.vmv_progress.update_step_content();setTimeout($.vmv_progress.search_job_failed,110*1000);},watch_search_job_state:function(){$.ajax({type:'get',url:$.vmv_progress.query_state_path,dataType:'script',cache:false,success:function(data,textStatus){$.vmv_progress.redirection_status=true;$.vmv_progress.speedup_progress();},error:function(XMLHttpRequest,textStatus,errorThrown){setTimeout($.vmv_progress.watch_search_job_state,($.vmv_progress.state_check_intervall*1000));}});},speedup_progress:function(){$.vmv_progress.timeout_intervall=6;$.vmv_progress.progressbar_increase_value=3;},update_progress:function(){var progress=parseInt($('#progress_bar').attr('aria-valuenow'));if(progress<100){$("#progress_bar").progressbar("value",progress+$.vmv_progress.progressbar_increase_value);var step=1;if(progress<40){step=1;}else if(progress<70){step=2;}else if(progress<85){step=3;}else{step=4;}
if(step!=$.vmv_progress.current_step){$.vmv_progress.current_step=step;$.vmv_progress.stop_progress_step($.vmv_progress.current_step-1);$.vmv_progress.start_progress_step($.vmv_progress.current_step);}
setTimeout($.vmv_progress.update_progress,$.vmv_progress.timeout_intervall*10);}else{if($.vmv_progress.redirection_status){$.vmv_progress.stop_progress_step($.vmv_progress.current_step);window.location.replace($.vmv_progress.redirection_path);}else{setTimeout($.vmv_progress.update_progress,1000);}}},start_progress_step:function(number){$('#progress_step'+number).addClass('on');$('#progress_step'+number).removeClass('off');},stop_progress_step:function(number){$.vmv_progress.current_step_value=0;$('#progress_step'+number).addClass("done");$("#step"+number+"_content").html("");},update_step_content:function(){var current=$.vmv_progress.current_step;var content_key=current-1;var content=$.vmv_progress.step_content_values[content_key];var content_value=$.vmv_progress.current_step_value;var current_length=2.5;if(current==2){current_length=3.1;}
if(current<3){setTimeout($.vmv_progress.update_step_content,$.vmv_progress.timeout_intervall/(current_length*content.length)*1000);if(typeof content[content_value]!=='undefined'){$("#step"+current+"_content").html(content[content_value]['name']);$("#step"+current+"_content").css('color',content[content_value]['color']);if(current==1){if(content[content_value]['class']===""){$("#agency_logo_overlay").hide();}else{$("#agency_logo_overlay").show().html("<span class='"+content[content_value]['class']+"'></span>");}}else{$("#agency_logo_overlay").hide();}}
$.vmv_progress.current_step_value++;}},search_job_failed:function(){if($.vmv_progress.redirection_status){window.location.replace($.vmv_progress.redirection_path);$.ajax({type:'get',url:$.vmv_progress.search_job_id+'/failed?code=redirect',dataType:'html'});}else{$.ajax({type:'get',url:$.vmv_progress.search_job_id+'/failed?code=failed',dataType:'html'});window.location.replace($.vmv_progress.failed_redirection_path+"?e=redirect");}}};$.extend($.vmv_progress);})(jQuery);