
function FlightSearch(flightSearchFormName,inputObj){this.hasInternational=inputObj['hasInternational'];this.hasAllCarrierClasses=inputObj['hasAllCarrierClasses'];this.isReturnOnly=inputObj['isReturnOnly'];var currDate=new Date();this.defaults={src:'BLR',dest:'DEL',srcName:'Bangalore',destName:'Delhi',from_cal:{PAGES:2,selected:((currDate.getMonth()+1)+'/'+currDate.getDate()+'/'+currDate.getFullYear()),title:'Select Onward Date'},to_cal:{PAGES:2,selected:'',title:'Select Return Date'},adult:1,child:0,infant:0,is_international:false,prefAirline:'all',prefClass:'A',routingType:'A',selectSingleAirline:false};if(this.isReturnOnly){this.defaults.to_cal={PAGES:2,selected:((currDate.getMonth()+1)+'/'+currDate.getDate()+'/'+currDate.getFullYear()),title:'Select Onward Date'};}
this._getCurrValues=function(){this.currValues=new Object();this.currValues['src']=this._checkString(this.inputObj['src'])?this.inputObj['src']:this.defaults.src;this.currValues['dest']=this._checkString(this.inputObj['dest'])?this.inputObj['dest']:this.defaults.dest;this.currValues['srcName']=this._checkString(this.inputObj['srcName'])?JS_UTIL.custom_unescape(this.inputObj['srcName']):this.defaults.srcName;this.currValues['destName']=this._checkString(this.inputObj['destName'])?JS_UTIL.custom_unescape(this.inputObj['destName']):this.defaults.destName;if(YAHOO.lang.isNumber(this.inputObj['from_day'])&&YAHOO.lang.isNumber(this.inputObj['from_month'])&&YAHOO.lang.isNumber(this.inputObj['from_year'])){this.currValues['from_cal']=new Object();this.currValues['from_cal']['PAGES']=2;this.currValues['from_cal']['selected']=this.inputObj['from_month']+'/'+this.inputObj['from_day']+'/'+this.inputObj['from_year'];this.currValues['from_cal']['title']="Select Onward Date";}else{this.currValues['from_cal']=this.defaults.from_cal;}
if(YAHOO.lang.isNumber(this.inputObj['to_day'])&&YAHOO.lang.isNumber(this.inputObj['to_month'])&&YAHOO.lang.isNumber(this.inputObj['to_year'])){this.currValues['to_cal']=new Object();this.currValues['to_cal']['PAGES']=2;this.currValues['to_cal']['selected']=this.inputObj['to_month']+'/'+this.inputObj['to_day']+'/'+this.inputObj['to_year'];this.currValues['to_cal']['title']="Select Return Date";}else{this.currValues['to_cal']=this.defaults.to_cal;}
this.currValues['adult']=YAHOO.lang.isNumber(this.inputObj['adult'])?this.inputObj['adult']:this.defaults.adult;this.currValues['child']=YAHOO.lang.isNumber(this.inputObj['child'])?this.inputObj['child']:this.defaults.child;this.currValues['infant']=YAHOO.lang.isNumber(this.inputObj['infant'])?this.inputObj['infant']:this.defaults.infant;this.currValues['is_international']=YAHOO.lang.isBoolean(this.inputObj['is_international'])?this.inputObj['is_international']:this.defaults.is_international;this.currValues['prefAirline']=YAHOO.lang.isArray(this.inputObj['prefAirline'])?this.inputObj['prefAirline']:this.defaults.prefAirline;this.currValues['prefClass']=this._checkString(this.inputObj['prefClass'])?this.inputObj['prefClass']:this.defaults.prefClass;this.currValues['routingType']=this._checkString(this.inputObj['routingType'])?this.inputObj['routingType']:this.defaults.routingType;this.currValues['selectSingleAirline']=YAHOO.lang.isBoolean(this.inputObj['selectSingleAirline'])?this.inputObj['selectSingleAirline']:this.defaults.selectSingleAirline;};this.createCurrentQueryUrl=function(){var fromDate=this.cal.fromCal.getSelectedDates()[0];var toDate=this.cal.toCal.getSelectedDates()[0];var ret=this.form.source.value+'/'+this.form.destination.value+'/'+fromDate.getDate()+DATE_CONSTANTS.MONTHS_SHORT[fromDate.getMonth()];if(!YAHOO.lang.isUndefined(toDate)){ret+='/'+toDate.getDate()+DATE_CONSTANTS.MONTHS_SHORT[toDate.getMonth()];}
ret+='/'+this.form.numAdults.value;ret+='/'+this.form.numChildren.value;ret+='/'+this.form.numInfants.value;var selectedCarriers="";$jQ("#"+this.formId+" input[name='preferredCarrier']:checkbox:checked").each(function(){selectedCarriers+="-"+CARRIERS.c_byid[this.value][2];});if(selectedCarriers.length>1){selectedCarriers=selectedCarriers.substr(1);ret+='/'+selectedCarriers;}
return ret;}
this._checkString=function(inp){return(typeof(inp)=='string'&&inp!='');}
this._populateNumbers=function(selectBox,count,startindex){if(selectBox.selectedIndex>=count){selectBox.selectedIndex=count-1;}
selectBox.length=count;for(var i=0;i<count;i++){selectBox[i].text=startindex+i;selectBox[i].value=startindex+i;}}
this.setMaxPassengers=function(){var numpass=4;var isCheckBoxSelect=$jQ("#"+this.formId+" input[name='preferredCarrier']:checkbox").length>0;if(isCheckBoxSelect){var selectedCarriers=$jQ("#"+this.formId+" input[name='preferredCarrier']:checkbox:checked");if(selectedCarriers.length>0){numpass=CARRIERS.c_byid[selectedCarriers[0].value][3];$jQ.each(selectedCarriers,function(){numpass=(CARRIERS.c_byid[this.value][3]<numpass)?CARRIERS.c_byid[this.value][3]:numpass;});}}else{var selectedCarrier=$jQ("#"+this.formId+" input[name='preferredCarrier']");if(selectedCarrier.length==1){var carrier=CARRIERS.c_byid[selectedCarrier[0].value];if(!YAHOO.lang.isUndefined(carrier)&&carrier[3]>0){numpass=carrier[3];}}}
this._populateNumbers(this.form.numAdults,numpass,1);this._populateNumbers(this.form.numChildren,numpass,0);this._populateNumbers(this.form.numInfants,numpass,0);this.maxNumPass=numpass;}
this.chooseCarriers=function(){if(this.form.domesinter.value!='domestic'||(this.currValues['selectSingleAirline'])){this.form.preferredCarrier.value=this.form.prefCarrier.value;}else{var selValue=JS_UTIL.getSelectBoxValue(this.form.prefCarrier);if(selValue!='custom'){$jQ("#"+this.formId+" .fspref").removeClass("expanded_airline_list");}
if(selValue=='lcc'){$jQ("#"+this.formId+" input[name='preferredCarrier']").each(function(){this.checked=false;for(var i=0;i<CARRIERS.c_lcc.length;i++){if(CARRIERS.c_lcc[i][0]==this.value){this.checked=true;break;}}});}else if(selValue=='fsvc'){$jQ("#"+this.formId+" input[name='preferredCarrier']").each(function(){this.checked=false;var checked=true;for(var i=0;i<CARRIERS.c_lcc.length;i++){if(CARRIERS.c_lcc[i][0]==this.value){checked=false;break;}}
if(checked){this.checked=true;}});}else{$jQ("#"+this.formId+" input[name='preferredCarrier']").each(function(){this.checked=false;});if(selValue=='custom'){$jQ("#"+this.formId+" .fspref").addClass("expanded_airline_list");}}}
this.setMaxPassengers();}
this.inputObj=typeof(inputObj)!='undefined'?inputObj:new Object();this.form=document[flightSearchFormName];this.fromDateSelected=function(){var dat=this.cal.fromCal.getSelectedDates()[0];if(typeof(dat)!='undefined'){this.form.day.value=dat.getDate();this.form.month.value=dat.getMonth()+1;this.form.year.value=dat.getFullYear();}}
this.toDateSelected=function(){var dat=this.cal.toCal.getSelectedDates()[0];if(typeof(dat)!='undefined'){this.form.day2.value=dat.getDate();this.form.month2.value=dat.getMonth()+1;this.form.year2.value=dat.getFullYear();this.form.returnType.value="return";$jQ("#"+this.formId).addClass("fs_hasreturn");if(!this.isReturnOnly)
YAHOO.util.Dom.setStyle(this.oneWayDiv,"visibility","visible");}}
this.submitForLive=function(){this.form.livequote.value="livequote";this.submit();}
this.submit=function(){if(this.form.source.value==''){alert("No Source Specified, Please Select one to Proceed.");this.form.sourceA.focus();return;}
if(this.form.destination.value==''){alert("No Destination Specified, Please Select one to Proceed.");this.form.destinationA.focus();return;}
if(this.form.source.value==this.form.destination.value){alert("Please change Source/Destination, as they cannot be the same.");this.form.destinationA.focus();return;}
this.form.bsource.value=this.form.source.value;this.form.bdestination.value=this.form.destination.value;if(this.form.numInfants.value>this.form.numAdults.value){alert('Number of Infants should not be more than the number of adults travelling');this.form.numInfants.focus();return;}
if((parseInt(this.form.numAdults.value)+parseInt(this.form.numChildren.value))>this.maxNumPass){alert('You can only book a maximum of '+this.maxNumPass+' passengers (adults plus children) at a time. Select a preferred Airline to book more passengers Or for group bookings email groupdesk@viaworld.in or call 080-41431000.');this.form.numAdults.focus();return;}
var departureDate=this.form.date.value;if(!JS_UTIL.validateDateFormat(departureDate)||!this.doOnwardDateCheck(this.cal.fromCal.getSelectedDates()[0])){return;}
JS_UTIL.setDateElements(departureDate,this.form.day,this.form.month,this.form.year);this.performSearch();}
this.doOnwardDateCheck=function(dep){if(typeof(dep)=='undefined'){alert("Please enter Departure Date.");this.cal.showFromCalendar();return false;}
var today=new Date();today.setHours(0);today.setMinutes(0);today.setSeconds(0);today.setMilliseconds(0);if(dep<today){alert("Please change Departure Date, as the given date has already passed.");this.cal.showFromCalendar();return false;}
today.setDate(today.getDate())
if((dep<today)&&(this.form.domesinter.value=='international')){alert("Please change Departure Date, as International Search needs to be atleast 2 days from today.\n\nKindly call us to make your reservation within 2 days.");this.cal.showFromCalendar();return false;}
return true;}
this.displayCalendar=function(){var departureDate=this.form.date.value;if(!JS_UTIL.validateDateFormat(departureDate)||!this.doOnwardDateCheck(this.cal.fromCal.getSelectedDates()[0])){return;}
JS_UTIL.setDateElements(departureDate,this.form.day,this.form.month,this.form.year);this.form.action1.value='CAL';this.form.submit();}
this.performSearch=function(){var src;var dest;if(this.form.domesinter.value=='international'){src=this.form.sourceL.value;dest=this.form.destinationL.value;}else{src=this.form.sourceA[this.form.sourceA.selectedIndex].text;dest=this.form.destinationA[this.form.destinationA.selectedIndex].text;}
WAIT_DIV.setHeader("Searching For Flights")
var message='<h2>Onward<'+'/h2>'+src+' to '+dest+' on '+JS_UTIL.getDisplayDateLong(this.cal.fromCal.getSelectedDates()[0]);if(this.form.returnType.value=='return'){message+='<h2>Return<'+'/h2>'+dest+' to '+src+' on '+JS_UTIL.getDisplayDateLong(this.cal.toCal.getSelectedDates()[0]);}
WAIT_DIV.setMessage(message);WAIT_DIV.show();YAHOO.util.Dom.addClass(WAIT_DIV.waitDiv,'via_flt');if(this.form.validation_result.value!='null')
this.form.validation_result.value=NOMINEE_VALIDATOR.getValidity(this.form.validation_result.value,"flightraja",this.inputObj['validityStrength']);this.form.submit();}
this.populateMinifiedDiv=function(){var src;var dest;if(this.form.domesinter.value=='international'){src=this.form.sourceL.value;dest=this.form.destinationL.value;}else{src=this.form.sourceA[this.form.sourceA.selectedIndex].text;dest=this.form.destinationA[this.form.destinationA.selectedIndex].text;}
var message='Flights from '+src+' to '+dest+' departing on '+
JS_UTIL.getDisplayDate(this.cal.fromCal.getSelectedDates()[0])+' ';if(this.form.returnType.value=='return'){message+='returning on '+JS_UTIL.getDisplayDate(this.cal.toCal.getSelectedDates()[0])+' ';}
if((JS_UTIL.getSelectBoxValue(this.form.numAdults)>1)||(JS_UTIL.getSelectBoxValue(this.form.numChildren)>0)||(JS_UTIL.getSelectBoxValue(this.form.numInfants)>0)){message+='for '+JS_UTIL.getSelectBoxValue(this.form.numAdults)+' Adult(s) ';if(JS_UTIL.getSelectBoxValue(this.form.numChildren)>0){message+=', '+JS_UTIL.getSelectBoxValue(this.form.numChildren)+' Child(ren) ';}
if(JS_UTIL.getSelectBoxValue(this.form.numInfants)>0){message+=', '+JS_UTIL.getSelectBoxValue(this.form.numInfants)+' Infant(s) ';}}
if(JS_UTIL.getSelectBoxValue(this.form.flightClass)!='A'){message+='with '+this.form.flightClass[this.form.flightClass.selectedIndex].text+' Class Seats available ';}
$jQ("#"+this.formId+" .fl_minified_details").text(message);YAHOO.util.Event.addListener(YAHOO.util.Dom.getElementsByClassName('fl_minified_link','div',this.form)[0],"click",this.toggleSearchVisible,this,true);}
this.toggleSearchVisible=function(){$jQ("#"+this.formId+" .fl_minified_details").toggle();$jQ("#"+this.formId+" .flight_search").toggle();}
if(!this.isReturnOnly)
this.selectOneWayOnly=function(){YAHOO.util.Dom.setStyle(this.oneWayDiv,"visibility","hidden");this.form.day2.value="";this.form.month2.value="";this.form.year2.value="";this.form.date2.value="-Select-"
this.form.returnType.value="one-way";$jQ("#"+this.formId).removeClass("fs_hasreturn");this.cal.toCal.deselectAll();this.cal.toCal.render();}
if(this.hasInternational)
this.toggleIntl=function(){if(this.form.domesinter.value=='domestic'){this.form.domesinter.value='international';this.internationalDiv.innerHTML='Domestic Flights';$jQ("#"+this.formId+" .fsrouting").show();$jQ("#"+this.formId+" .lowest_fare").hide();YAHOO.util.Dom.setStyle(this.form.sourceA,"display","none");YAHOO.util.Dom.setStyle(this.form.sourceL,"display","");YAHOO.util.Dom.setStyle(this.form.destinationA,"display","none");YAHOO.util.Dom.setStyle(this.form.destinationL,"display","");this.form.source.value='';this.form.destination.value='';this.populateInternationalCarriers();this.setBookingClass();YAHOO.util.Dom.setStyle(this.internationalSingleMultiCityDiv,"display","");}else{this.internationalDiv.innerHTML='International Flights';this.form.domesinter.value='domestic';$jQ("#"+this.formId+" .fsrouting").hide();$jQ("#"+this.formId+" .lowest_fare").show();YAHOO.util.Dom.setStyle(this.form.sourceA,"display","");YAHOO.util.Dom.setStyle(this.form.sourceL,"display","none");YAHOO.util.Dom.setStyle(this.form.destinationA,"display","");YAHOO.util.Dom.setStyle(this.form.destinationL,"display","none");populateDomesticAirports(this.form.sourceA);populateDomesticAirports(this.form.destinationA);this.setDomesticAirports();this.populateDomesticCarriers();this.chooseCarriers();YAHOO.util.Dom.setStyle(this.internationalSingleMultiCityDiv,"display","none");}
this.setMaxPassengers();}
if(this.hasInternational)
this.initIntl=function(){var loader=new YAHOO.util.YUILoader();loader.require("connection","autocomplete");loader.skin=JS_UTIL.YUI_SKIN;loader.loadOptional=false;loader.base='/static/js/yui/2_5_1/';loader.flight_Obj=this;loader.insert({onSuccess:this.initintlAc});}
if(this.hasInternational)
this.initintlAc=function(){var oACDS=new YAHOO.widget.DS_XHR(this.flight_Obj.intlAJAXurl,["Result","name","code"]);oACDS.responseType=YAHOO.widget.DS_XHR.TYPE_XML;oACDS.scriptQueryAppend=this.flight_Obj.intlAJAXparams;var inputSrcId=YAHOO.util.Dom.generateId(YAHOO.util.Dom.getElementsByClassName('yui_ac_div','div',this.flight_Obj.form)[0],"flightSrc");this.flight_Obj.oSrcAutoComp=new YAHOO.widget.AutoComplete(this.flight_Obj.form.sourceL,inputSrcId,oACDS);this.flight_Obj.oSrcAutoComp.useIFrame=true;this.flight_Obj.oSrcAutoComp.forceSelection=true;this.flight_Obj.oSrcAutoComp.minQueryLength=3;this.flight_Obj.oSrcAutoComp.maxResultsDisplayed=50;this.flight_Obj.oSrcAutoComp.itemSelectEvent.subscribe(this.flight_Obj.setIntlSource,this.flight_Obj,true);this.flight_Obj.oSrcAutoComp.selectionEnforceEvent.subscribe(function(){this.flight_Obj.clearSource()},this.flight_Obj,true);var inputDestId=YAHOO.util.Dom.generateId(YAHOO.util.Dom.getElementsByClassName('yui_ac_div','div',this.flight_Obj.form)[0],"flightDest");this.flight_Obj.oDestAutoComp=new YAHOO.widget.AutoComplete(this.flight_Obj.form.destinationL,inputDestId,oACDS);this.flight_Obj.oDestAutoComp.useIFrame=true;this.flight_Obj.oDestAutoComp.forceSelection=true;this.flight_Obj.oDestAutoComp.minQueryLength=3;this.flight_Obj.oDestAutoComp.maxResultsDisplayed=50;this.flight_Obj.oDestAutoComp.itemSelectEvent.subscribe(this.flight_Obj.setIntlDestination,this.flight_Obj,true);this.flight_Obj.oDestAutoComp.selectionEnforceEvent.subscribe(function(){this.flight_Obj.clearDestination()},this.flight_Obj,true);}
this.setBookingClass=function(){var field=this.form.flightClass;field.length=0;if(this.form.domesinter.value=='domestic'){JS_UTIL.addValueToSelectBox(field,'A','ALL');JS_UTIL.addValueToSelectBox(field,'E','Economy');JS_UTIL.addValueToSelectBox(field,'R','Refundable Economy');JS_UTIL.addValueToSelectBox(field,'F','Full-Fare Economy');JS_UTIL.addValueToSelectBox(field,'B','Business');if(this.hasAllCarrierClasses){if($jQ("#"+this.formId+" input[name='preferredCarrier']:checked").length==1){var addlCl=CARRIERS.c_byid[$jQ("#"+this.formId+" input[name='preferredCarrier']:checked")[0].value][4];for(cl in addlCl)
JS_UTIL.addValueToSelectBox(field,'S_'+addlCl[cl],addlCl[cl]);}}}else{JS_UTIL.addValueToSelectBox(field,'A','ALL');JS_UTIL.addValueToSelectBox(field,'E','Economy');JS_UTIL.addValueToSelectBox(field,'R','Refundable Economy');JS_UTIL.addValueToSelectBox(field,'B','Business');JS_UTIL.addValueToSelectBox(field,'C','First');}
field.selectedIndex=0;}
this.setDomesticAirports=function(){this.form.source.value=this.form.sourceA.value;this.form.destination.value=this.form.destinationA.value;}
this.clearSource=function(){this.form.source.value='';if(this.hasInternational){this.form.sourceL.value='';}}
this.clearDestination=function(){this.form.destination.value='';if(this.hasInternational){this.form.destinationL.value='';}}
this.setIntlSource=function(event,data,obj){this.form.source.value=data[2][1];}
this.setIntlDestination=function(event,data,obj){this.form.destination.value=data[2][1];}
this.setPreferredAirlines=function(){if(YAHOO.lang.isArray(this.currValues.prefAirline)){JS_UTIL.setSelectBoxByValue(this.form.prefCarrier,'custom');}else{JS_UTIL.setSelectBoxByValue(this.form.prefCarrier,this.currValues.prefAirline);}
this.chooseCarriers();if(YAHOO.lang.isArray(this.currValues.prefAirline)){for(var i=0;i<this.currValues.prefAirline.length;i++){$jQ("#"+this.formId+" input[name='preferredCarrier'][value='"+this.currValues.prefAirline[i]+"']").attr("checked",true);}}}
this.__setPassengersAndClasses=function(parent){parent.setMaxPassengers();if(parent.hasAllCarrierClasses){parent.setBookingClass();}}
this.populateDomesticCarriers=function(){if(!this.currValues['selectSingleAirline']){var field=this.form.prefCarrier;field.length=0;JS_UTIL.addValueToSelectBox(field,'all',' - All - ');JS_UTIL.addValueToSelectBox(field,'lcc','Low Cost Only');JS_UTIL.addValueToSelectBox(field,'fsvc','Full Svc Only');JS_UTIL.addValueToSelectBox(field,'custom','Custom Select');var htm="";for(var i=0;i<CARRIERS.c_dom.length;i++){if(CARRIERS.c_dom[i][0]!=1){htm+='<li><input type="checkbox" class="checkInput" name="preferredCarrier" value="'+CARRIERS.c_dom[i][0]+'">'+CARRIERS.c_dom[i][1]+'</li>';}}
var parent=this;$jQ("#"+this.formId+" .fspref .fspref_details").html(htm).find("input[name='preferredCarrier']").change(function(){parent.setMaxPassengers();if(parent.hasAllCarrierClasses){parent.setBookingClass();}});}else{var field=this.form.prefCarrier;field.length=0;for(car in CARRIERS.c_dom){JS_UTIL.addValueToSelectBox(field,CARRIERS.c_dom[car][0],CARRIERS.c_dom[car][1]);}
var parent=this;$jQ("#"+this.formId+" .fspref .fspref_details").html('<input type="hidden" name="preferredCarrier" value=""/>').find("input[name='preferredCarrier']").change(function(){parent.setMaxPassengers();if(parent.hasAllCarrierClasses){parent.setBookingClass();}});$jQ("#"+this.formId+" .fspref").removeClass("expanded_airline_list");}}
this.populateInternationalCarriers=function(){var field=this.form.prefCarrier;field.length=0;JS_UTIL.addValueToSelectBox(field,'0',' - All - ');for(car in CARRIERS.c_all){JS_UTIL.addValueToSelectBox(field,CARRIERS.c_all[car][0],CARRIERS.c_all[car][1]);}
$jQ("#"+this.formId+" .fspref .fspref_details").html('<input type="hidden" name="preferredCarrier" value=""/>');$jQ("#"+this.formId+" .fspref").removeClass("expanded_airline_list");}
this.init=function(){if(typeof(this.form)=='undefined'){return;}
this._getCurrValues();this.formId=YAHOO.util.Dom.generateId(this.form,"flightsearchform");this.oneWayDiv=YAHOO.util.Dom.getElementsByClassName('fl_OneWay','div',this.form)[0];if(this.hasInternational){this.intlAJAXurl=inputObj['intlAJAXurl'];this.intlAJAXparams=inputObj['intlAJAXparams'];this.internationalDiv=YAHOO.util.Dom.getElementsByClassName('fl_international','div',this.form)[0];this.internationalSingleMultiCityDiv=YAHOO.util.Dom.getElementsByClassName('singleMultiCity','div',this.form)[0];this.lowestFareDiv=YAHOO.util.Dom.getElementsByClassName('lowest_fare','div',this.form)[0];YAHOO.util.Event.addListener(this.internationalDiv,"click",this.toggleIntl,this,true);if(this.currValues.is_international){this.form.domesinter.value='domestic';this.toggleIntl();this.form.source.value=this.currValues['src'];this.form.sourceL.value=this.currValues.srcName;this.form.destination.value=this.currValues['dest'];this.form.destinationL.value=this.currValues.destName;}else{this.form.domesinter.value='international';this.toggleIntl();JS_UTIL.setSelectBoxByValue(this.form.sourceA,this.currValues.src);JS_UTIL.setSelectBoxByValue(this.form.destinationA,this.currValues.dest);}}else{populateDomesticAirports(this.form.sourceA);populateDomesticAirports(this.form.destinationA);this.setDomesticAirports();this.populateDomesticCarriers();JS_UTIL.setSelectBoxByValue(this.form.sourceA,this.currValues['src']);JS_UTIL.setSelectBoxByValue(this.form.destinationA,this.currValues['dest']);}
this.form.source.value=this.currValues['src'];this.form.destination.value=this.currValues['dest'];var fromId=YAHOO.util.Dom.generateId(YAHOO.util.Dom.getElementsByClassName('calDiv','div',this.form)[0],"flightCal");var toId=YAHOO.util.Dom.generateId(YAHOO.util.Dom.getElementsByClassName('calDiv','div',this.form)[1],"flightCal");this.cal=new to_from_calendar(this.form.date,fromId,YAHOO.util.Dom.getElementsByClassName('cal_display','a',this.form)[0],this.form.date2,toId,YAHOO.util.Dom.getElementsByClassName('cal_display','a',this.form)[1],this.currValues['from_cal'],this.currValues['to_cal'],{deferLoad:true});this.cal.initEvent.subscribe(this.initCalsExt,this,true);this.cal.init();this.form.numAdults.value=this.currValues['adult'];this.form.numChildren.value=this.currValues['child'];this.form.numInfants.value=this.currValues['infant'];YAHOO.util.Event.addListener(this.oneWayDiv,"click",this.selectOneWayOnly,this,true);YAHOO.util.Event.addListener(this.form.prefCarrier,"change",this.chooseCarriers,this,true);YAHOO.util.Event.addListener(this.form.sourceA,"change",this.setDomesticAirports,this,true);YAHOO.util.Event.addListener(this.form.destinationA,"change",this.setDomesticAirports,this,true);if(this.hasInternational){this.initIntl();YAHOO.util.Event.addListener(this.form.sourceL,"click",this.clearSource,this,true);YAHOO.util.Event.addListener(this.form.destinationL,"click",this.clearDestination,this,true);}
YAHOO.util.Event.addListener(this.form.searchFlights,"click",this.submit,this,true);if(this.form.searchLiveFlights){YAHOO.util.Event.addListener(this.form.searchLiveFlights,"click",this.submitForLive,this,true);}
if(this.hasAllCarrierClasses){JS_UTIL.setSelectBoxByValue(this.form.flightClass,this.currValues.prefClass);}
if(this.currValues.is_international){JS_UTIL.setSelectBoxByValue(this.form.routingType,this.currValues.routingType);}else{this.setPreferredAirlines();}
this.setBookingClass();}
this.initCalsExt=function(){this.fromDateSelected();this.toDateSelected();this.cal.fromCal.selectEvent.subscribe(this.fromDateSelected,this,true);this.cal.toCal.selectEvent.subscribe(this.toDateSelected,this,true);this.populateMinifiedDiv();}
this.init();}