
var flight_search_form={init:function(){$("#fare_params_passengers").change(function(){$('input[fare_param=passengers]').val($(this).val());});$("#fare_params_adults").change(function(){$('input[fare_param=adults]').val($(this).val());});$("#fare_params_children").change(function(){$('input[fare_param=children]').val($(this).val());});$("#fare_params_infants").change(function(){$('input[fare_param=infants]').val($(this).val());});$("#fare_params_cabin").change(function(){$('input[fare_param=cabin]').val($(this).val());});$("#fare_params_currency").change(function(){$('input[fare_param=currency]').val($(this).val());});$("#fare_params_prefere_non_stop").change(function(){$('input[fare_param=prefere_non_stop]').val($(this).is(':checked')?'on':'');});$('input#arrival_airport').keyup(function(e){if(e.which!=13)$(this).attr('hotel_city_id','');$(this).change();}).change(function(){if($(this).attr('hotel_city_id')!=''){$('#search-hotels').show().find('input').attr('checked',false);}else{$('#search-hotels').hide().find('input').attr('checked',false);}});$('input[id*=airport]').result(function(event,data,formatted){$('#'+$(this).attr('mode')+'_iata'+($(this).attr('index')?('_'+$(this).attr('index')):'')).val(data[1]);if($(this).attr('id')=='arrival_airport'){$(this).attr('hotel_city_id',data[2]);}
$(this).change();}).focus(function(){if($(this).attr('index')&&$(this).attr('mode')=='departure'&&$(this).val().length==0){var index=parseInt($(this).attr('index'))-1;if($('#arrival_airport_'+index).length>0){$(this).val($('#arrival_airport_'+index).val());$('#departure_iata_'+$(this).attr('index')).val($('#arrival_iata_'+index).val());}}}).autocomplete(locale_prefix+'/flights/airports',{minChars:3,delay:500,cacheLength:128,matchContains:true,mustMatch:false,multiple:false,max:10,scroll:false,multipleSeparator:'---',formatItem:flight_search_form.format_item,notSearch:/(.*),(.*)-(.*)\(.{3}\)/,loadingClass:'flight-form-text-loading',resultsClass:'flight-form-results',width:'auto'});$('input[id^=departure_date]').each(function(){YAHOO.voyages.calendar.open_by('calendar-departure-button-'+$(this).attr('index')+($(this).hasClass('simple-trip')?'-':''),{input:$(this).attr('id')});})
$('input[fare_type]').click(function(){if($(this).attr('fare_type')!='multi_city'){$('#simple_trip_holder').show();$('#multicity_trip_holder').hide();if(($(this).attr('fare_type')=='one_way'&&$('#return_date').is(':visible'))||($(this).attr('fare_type')=='round_trip'&&$('#return_date').is(':hidden'))){$('#return_date').slideToggle();$('#return_time').slideToggle();}
$('#simple_trip_type').val($(this).val());}else{$('#simple_trip_holder').hide();$('#multicity_trip_holder').show();}});flight_search_form.prepare();},prepare:function(){if(arguments.length>0){var params=arguments[0];for(var id in params){if(id=='itineraries'){for(var i=0;i<params['itineraries'].length;i++){for(var it_id in params['itineraries'][i]){$('[itinerary_param=itinerary_'+i+'_'+it_id+']').val(params['itineraries'][i][it_id]);}}}else{$('input[fare_param='+id+']').val(params[id]);$('#fare_params_'+id).val(params[id]);}
$('#'+params['trip_type']+'-radio').attr('checked',true);$('#fare_params_prefere_non_stop').attr('checked',params['prefere_non_stop']);}}
switch($('input[type=radio][name*=trip_type]:checked').val()){case'one-way':$('#return_date').hide();$('#return_time').hide();break;case'multi-city':$('#simple_trip_holder').hide();$('#multicity_trip_holder').show();break;}},format_item:function(data,i,total){return data[0].replace(/ - (.*)/i," - <span>$1</span>");}}
function searchingAirlines(){$('#searching_airline').css('color','#6E6E6E');if(airlines.length>1){var index=Math.floor(Math.random()*airlines.length);composeAirline(airlines[index],'',index);}}
function composeAirline(to_airline,from_airline,index){if(to_airline==from_airline){return true;}
var new_airline_name='';for(var i=0;i<to_airline.length;i++){if(to_airline[i]==from_airline[i]){new_airline_name+=to_airline[i];}else{if(typeof(from_airline[i])=='undefined'){new_airline_name+=String.fromCharCode(97+Math.round(Math.random()*25));}else{var char_code_from=from_airline.charCodeAt(i);var char_code_to=to_airline.charCodeAt(i);if(char_code_from<char_code_to){char_code_from+=1;}else{char_code_from-=1;if(char_code_from==96){char_code_from=46;}}
new_airline_name+=String.fromCharCode(char_code_from);}}}
$('#searching_airline').html(new_airline_name);setTimeout(function(){if(composeAirline(to_airline,new_airline_name)){$('#searching_airline').css('color','black').html(to_airline);airlines.splice(index,1);setTimeout(searchingAirlines,500);}},100);return false;}