function submitTwice(){document.intForm.submit()}function FlightSearchValidator(b,g,a,c,f,d,e){this.earliestBookingDate=b;this.formId=g;this.departCalendar=a;this.returnCalendar=c;this.region=d;this.dataContainer=f;this.invalidLocationOptions=["","select a city","Select a City","selectacity","separator"];this.intShowHideReturn=e}FlightSearchValidator.prototype.isProduction=function(){return(window.location.host.indexOf("www.qantas")==0||window.location.host.indexOf("qantas")==0)};FlightSearchValidator.prototype.bookingEngineUrl=function(){return(this.isProduction()?"http://wftc3.e-travel.com":"http://siteacceptance.wftc3.e-travel.com")};FlightSearchValidator.prototype.isReturn=function(){for(var a=0;a<this.tripType.length;++a){if((this.tripType[a].value=="R"||this.tripType[a].value=="return")&&this.tripType[a].checked){return true}}return false};FlightSearchValidator.prototype.validateLocations=function(){for(var a=0;a<this.invalidLocationOptions.length;++a){if(this.from.value==this.invalidLocationOptions[a]){alert(this.dataContainer.errorMsgs["bookingForm.error.departurelocation"]);this.from.focus();return false}}for(var a=0;a<this.invalidLocationOptions.length;++a){if(this.to.value==this.invalidLocationOptions[a]||this.toBox.value==this.invalidLocationOptions[a]){alert(this.dataContainer.errorMsgs["bookingForm.error.arrivallocation"]);this.toBox.focus();return false}}if(this.from.value==this.to.value){alert(this.dataContainer.errorMsgs["bookingForm.error.departurearrivallocation"]);this.from.focus();return false}return true};FlightSearchValidator.prototype.validateDates=function(){if(this.departCalendar.getDate().getTime()<this.earliestBookingDate.getTime()){alert(this.dataContainer.errorMsgs["bookingForm.error.startdate"]);this.departCalendar.monthYearField.focus();return false}if(this.isReturn()&&this.returnCalendar.getDate().getTime()<this.departCalendar.getDate().getTime()){alert(this.dataContainer.errorMsgs["bookingForm.error.startenddate"]);this.returnCalendar.monthYearField.focus();return false}return true};FlightSearchValidator.prototype.validatePax=function(){var d=parseInt(this.adults.value);var b=parseInt(this.children.value);var e=parseInt(this.infants.value);var c=d+b+e;var a=this.dataContainer.maxPax;if(c>a){alert(this.dataContainer.errorMsgs["bookingForm.error.maxpaxs"]);this.adults.focus();return false}if(e>d){alert(this.dataContainer.errorMsgs["bookingForm.error.infant"]);this.infants.focus();return false}if(d==0&&b==0&&e==0){alert(this.dataContainer.errorMsgs["bookingForm.error.minpaxs"]);this.adults.focus();return false}return true};FlightSearchValidator.prototype.isSearchByBestPrice=function(){return true};FlightSearchValidator.prototype.isFlexible=function(){if(this.flexiDates!=null&&this.flexiDates.value!=null){if(this.flexiDates.value.indexOf("true")>-1){return true}}return false};FlightSearchValidator.prototype.createCommonQueryString=function(){var e=null;var g="";var e="";e+="LANGUAGE=GB";e+="&TRIP_TYPE="+(this.isReturn()?"R":"O");e+="&B_LOCATION_1="+this.from.value;e+="&E_LOCATION_1="+this.to.value;e+="&B_DATE_1="+this.departCalendar.getDate().format("YYYYmmDDHH00");e+="&B_DATE_2="+this.returnCalendar.getDate().format("YYYYmmDDHH00");var b=parseInt(this.adults.value);var a=parseInt(this.children.value);var f=parseInt(this.infants.value);var d=1;for(var c=0;c<b;++c){e+="&TRAVELLER_TYPE_"+d+"=ADT";if(c<f){e+="&HAS_INFANT_"+d+"=TRUE"}++d}for(var c=0;c<a;++c){e+="&TRAVELLER_TYPE_"+d+"=CHD";++d}e+="&SEVEN_DAY_SEARCH=TRUE";e+="&CUSTOMER_TYPE=P";e+="&ARRANGE_BY=N";if(this.region=="sp"){e+="&SO_SITE_OFFICE_ID=AKLQF08AA"}e+="&PAGE_FROM=/regions/dyn/quickSearch";return e};FlightSearchValidator.prototype.createDomesticQueryString=function(a){var d=this.createCommonQueryString();if(this.region=="au"){d+="&SITE=QFD";var e="/pl/QFdomestic/en/FamilyPricerAvailabilityServlet"}else{d+="&SITE=QFN";var e="/pl/QFdomestic/en/OverrideServlet";d+="&EMBEDDED_TRANSACTION=FamilyPricerAvailabilityServlet";d+="&SO_SITE_FD_INTERNA=FALSE"}var b=new Date(2004,4,25,0,0,0);if(a){var c="RF_FFCONLY=Y";var f="RF_SERVLET="+this.bookingEngineUrl()+e;d="https://"+location.host+"/regions/dyns/routeFilter?"+d+"&"+f+"&"+c}else{d=this.bookingEngineUrl()+e+"?"+d}return d};FlightSearchValidator.prototype.createInternationalQueryString=function(a){var e=this.createCommonQueryString();var d=false;var b=FlightDataCache.getFlightDataItem(this.dataContainer,this.from.value,this.to.value);if(this.region=="au"||this.region=="sp"){d=(b.isTransTasman())}if(d){e+="&SITE=QFN";if(this.region=="au"){if(!a){e="FamilyPricerAvailabilityServlet?"+e}}else{e+="&EMBEDDED_TRANSACTION=FamilyPricerAvailabilityServlet"}}else{e+="&SITE=QFI";if(this.region=="au"||this.region=="sp"){}else{}if(this.isSearchByBestPrice()){e+="&EMBEDDED_TRANSACTION=ValuePricerServlet"}else{e+="&EMBEDDED_TRANSACTION=AirAvailabilityServlet"}if(this.region=="au"||this.region=="sp"){if(this.region=="au"){e+="&SO_SITE_PREFERRED_CARRIER=QFAO";e+="&SO_SITE_FC_INCLUDE_AIRLINES=QFAO"}}else{if(this.region=="uk"){e+="&SO_SITE_OFFICE_ID=LONQF18AA";e+="&SO_SITE_PREFERRED_CARRIER=QFBA";e+="&SO_SITE_FC_INCLUDE_AIRLINES=QFBA"}else{if(this.region=="sg"){e+="&SO_SITE_OFFICE_ID=SINQF18AA";e+="&SO_SITE_PREFERRED_CARRIER=QFBA";e+="&SO_SITE_FC_INCLUDE_AIRLINES=QFBA"}else{if(this.region=="as"){e+="&SO_SITE_OFFICE_ID=SINQF18AA";e+="&SO_SITE_PREFERRED_CARRIER=QFBA";e+="&SO_SITE_FC_INCLUDE_AIRLINES=QFBA"}else{if(this.region=="us"){e+="&SO_SITE_OFFICE_ID=LAXQF18AA"}}}}e+="&SO_QUEUE_OFFICE_ID=SYDQF2RES";e+="&SO_SITE_FP_CC_CARDHOLDERNAME=";e+="&SO_GL=%3C%3Fxml+version%3D%271.0%27+encoding%3D%27iso-8859-1%27%3F%3E%3CSO_GL%3E%3CGLOBAL_LIST%3E%3CNAME%3ESITE_CREDIT_CARD%3C%2FNAME%3E%3CLIST_ELEMENT%3E%3CCODE%3EXX%3C%2FCODE%3E%3CLIST_VALUE%3E%3C%2FLIST_VALUE%3E%3C%2FLIST_ELEMENT%3E%3C%2FGLOBAL_LIST%3E%3C%2FSO_GL%3E"}}if(a){var c="RF_FFCONLY=Y";if(this.region=="au"&&d){var f="RF_SERVLET="+this.bookingEngineUrl()+"/pl/QFinternational/en/FamilyPricerAvailabilityServlet"}else{var f="RF_SERVLET="+this.bookingEngineUrl()+"/pl/QFinternational/en/OverrideServlet"}e="https://"+location.host+"/regions/dyns/routeFilter?"+e+"&"+f+"&"+c}else{if(this.region=="au"&&d){e=this.bookingEngineUrl()+"/pl/QFinternational/en/"+e}else{e=this.bookingEngineUrl()+"/pl/QFinternational/en/OverrideServlet?"+e}}return e};FlightSearchValidator.prototype.setSelectionDetailsCke=function(b){var e="";if(this.region=="au"||this.region=="sp"){var d=""}else{var a=this.travelClass.value;var d="|SRCHBY:"+(this.isSearchByBestPrice()?"B":"S")}if((this.region=="au"&&b=="int")||(this.region=="sg")||(this.region=="uk")||(this.region=="eu")||(this.region=="us")||(this.region=="as")||(this.region=="sp"&&b=="int")){a=this.travelClass.value;d="|SRCHBY:"+(this.isFlexible()?"T":"F");if(document.getElementById("intArrangeBy")!=null){e=document.getElementById("intArrangeBy").selectedIndex;e="|SORTBY:"+e}}if(b=="dom"){d="|SRCHBY:"+(this.isFlexible()?"T":"F");e=document.getElementById("domArrangeBy").selectedIndex;e="|SORTBY:"+e}var c="selections=DATES:"+this.departCalendar.serialize()+","+this.returnCalendar.serialize()+"|PORTS:"+this.from.value+","+this.to.value+"|PSGRS:"+this.adults.value+","+this.children.value+","+this.infants.value+"|TYPE:"+b+"|TRIP:"+(this.isReturn()?"R":"O")+d+"|REGION:"+this.region+"|FARE:"+a+e;document.cookie=c+";path=/"};FlightSearchValidator.prototype.domesticInitialise=function(a){var b=document.getElementById(this.formId);this.tripType=b.domTripType;this.from=b.domFrom;this.to=b.domTo;this.adults=b.domAdults;this.children=b.domChildren;this.infants=b.domInfants;if(this.region=="au"||this.region=="sp"){this.flexiDates=b.domFlexiDates;this.sortFlightsBy=b.domArrangeBy}};FlightSearchValidator.prototype.domesticValidateAndSubmit=function(a,b){this.domesticInitialise();if(!this.validateLocations()){return false}if(!this.validateDates()){return false}if(!this.validatePax()){return false}this.setSelectionDetailsCke("dom");if(!b){var c=this.createDomesticQueryString(a);if(!this.isProduction()){alert(c)}document.location=c}else{document.domForm.submit()}return true};FlightSearchValidator.prototype.internationalInitialise=function(){var a=document.getElementById(this.formId);this.tripType=a.intTripType;this.from=a.intFrom;this.to=a.intTo;this.toBox=a.intToTextField;this.adults=a.intAdults;this.children=a.intChildren;this.infants=a.intInfants;this.travelClass=a.intTravelClass;this.flexiDates=a.intFlexiDatesCheckBox;this.sortFlightsBy=a.intArrangeBy};FlightSearchValidator.prototype.internationalValidateAndSubmit=function(a,b){this.internationalInitialise();if(!this.validateLocations()){return false}if(!this.validateDates()){return false}if(!this.validatePax()){return false}this.setSelectionDetailsCke("int");if(this.isFlexible()){document.getElementById("intFlexiDates").value="true"}else{document.getElementById("intFlexiDates").value="false"}if(!b){var c=this.createInternationalQueryString(a);if(!this.isProduction()){alert(c)}document.location=c}else{this.setIntFormProperties();if($j.browser.safari){setTimeout("submitTwice()",10)}else{if(navigator.userAgent.toLowerCase().indexOf("chrome")>-1){setTimeout("submitTwice()",10)}}document.getElementById(this.formId).submit()}addPastSearch();return true};FlightSearchValidator.prototype.setIntFormProperties=function(){document.getElementById(this.formId).intTransTasman.value="false";if(this.region=="au"||this.region=="sp"){var a=FlightDataCache.getFlightDataItem(this.dataContainer,this.from.value,this.to.value);if(a.isTransTasman()){document.getElementById(this.formId).intTransTasman.value="true"}}};FlightSearchValidator.prototype.domesticSetSelections=function(){this.setSelections(true)};FlightSearchValidator.prototype.internationalSetSelections=function(){this.setSelections(false)};FlightSearchValidator.prototype.setSelections=function(y){var p;var b;if((document.cookie.indexOf("usercontext="))!=-1){var n=getCookieValue("usercontext");var E=n.indexOf("dep#");var D=n.indexOf("arr#");p=n.substring(E+4,E+7);b=n.substring(D+4,D+7)}if(p!=null||b!=null){if((document.cookie.indexOf("selections="))!=-1){var G=readCookieValue("selections");var a=G.indexOf("REGION:");var i=G.substring(a+7,a+9);if(this.region==i){var t=G.indexOf("DATES:");var x=G.indexOf("PORTS:");var h=G.indexOf("TYPE:");var k=G.indexOf("FARE:");var j=G.indexOf("PSGRS:");var A=G.indexOf("TRIP:");var F=G.indexOf("SRCHBY:");var c=G.indexOf("SORTBY:");var g=G.substring(t+6,x-1);var m=g.split(",");var v=m[0];var e=m[1];var d=G.substring(h+5,h+8);var r;if(c!=-1){r=G.substring(k+5,c-1)}else{r=G.substring(k+5)}var l=r.split(",");var C=G.substring(j+6,j+7);var f=G.substring(j+8,j+9);var q=G.substring(j+10,j+11);var B=G.substring(A+5,A+6);var u=G.substring(F+7,F+8);var w;if(c!=-1){w=G.substring(c+7,c+8)}if(d=="dom"&&y){this.domesticInitialise();this.departCalendar.deserialize(v);this.returnCalendar.deserialize(e);this.setCommonFields(p,b,C,f,q,u,B);if(!browser.isMSIE5x){this.intShowHideReturn()}if(this.region=="au"||this.region=="sp"){this.sortFlightsBy.selectedIndex=w}this.intShowHideReturn();if(window.navigator.userAgent.toLowerCase().indexOf("msie 5.5")==-1){this.intShowHideReturn()}}else{if(d=="int"&&!y){this.internationalInitialise();this.departCalendar.deserialize(v);this.returnCalendar.deserialize(e);if(this.region=="au"||this.region=="sp"){if(w!=null&&w!=""){this.sortFlightsBy.selectedIndex=w}}if(l.length>1){this.set(this.travelClass,l[1])}else{this.set(this.travelClass,l)}this.setCommonFields(p,b,C,f,q,u,B);this.intShowHideReturn();if(window.navigator.userAgent.toLowerCase().indexOf("msie 5.5")==-1){this.intShowHideReturn()}}}}}}if(document.getElementById("divSortBy")!=null&&(window.navigator.userAgent.toLowerCase().indexOf("msie 5.5")!=-1)&&!isAfterTTReturnNfsCutover()){var o=FlightDataCache.getFlightDataItem(this.dataContainer,document.getElementById("intFrom").value,document.getElementById("intTo").value);if(o.isTransTasman()){document.getElementById("intTripTypeReturn").checked=true;if(this.sortFlightsBy!=null){this.sortFlightsBy.selectedIndex=0}checkT_Tasman()}}};FlightSearchValidator.prototype.setCommonFields=function(d,f,c,e,g,a,b){this.set(this.from,d);this.set(this.to,f);this.set(this.adults,c);this.set(this.children,e);this.set(this.infants,g);if(this.tripType){if(b=="R"){this.tripType[0].checked=true}else{this.tripType[1].checked=true}}if(this.flexiDates){if(a=="T"){if(document.getElementById("transTasmanPostThrottleDate")!=null){document.getElementById("transTasmanPostThrottleDate").style.display="block"}this.flexiDates.value=true;this.flexiDates.checked=true}else{this.flexiDates.value=false;this.flexiDates.checked=false}}};FlightSearchValidator.prototype.set=function(a,c){if(c){for(var b=0;b<a.length;b++){if(a.options[b].value==c){a.options[b].selected=true;break}}}};FlightSearchValidator.prototype.preSelectSingleOpt=function(a){if(a!=null&&a.options!=null){if(a.options.length==3){a.selectedIndex=2}}};FlightSearchValidator.prototype.flightValidateAndSubmit=function(a,b,c){this.flightInitialise();if(!this.validateLocations()){return false}if(!this.validateDates()){return false}if(!this.validatePax()){return false}if(c){this.setSelectionDetailsCke("dom")}else{this.setSelectionDetailsCke("int")}if(!b){var d=this.createFlightQueryString(a,c);if(!this.isProduction()){alert(d)}document.location=d}else{document.domForm.submit()}return true};FlightSearchValidator.prototype.flightInitialise=function(a){var b=document.getElementById(this.formId);this.tripType=b.domTripType;this.from=b.domFrom;this.to=b.domTo;this.adults=b.domAdults;this.children=b.domChildren;this.infants=b.domInfants;this.flexiDates=b.domFlexiDates;this.sortFlightsBy=b.domArrangeBy;this.travelClass=b.intTravelClass};FlightSearchValidator.prototype.createFlightQueryString=function(a,b){if(b){return createDomesticQueryString(a)}else{return createInternationalQueryString(a)}return s};$j(document).ready(function(){var i=ucG.getLastCountry();var n=ucG.getLastLocale();var k="http://www.qantas.com.au/travel/airlines/price-promise/global/en";var m="http://www.qantas.com.au/travel/airlines/points-plus-pay/global/en";var o='<div id="price-promise">Find great deals in one place at qantas.com.<br />Low online rates are guaranteed with the qantas.com Price Promise.</div>';var h='<div id="points-pay">Pay with a mixture of Frequent Flyer points and money at qantas.com. The more points used, the less money paid!</div>';var l='<a id="isPricePromise" href="'+k+'" target="_blank"><img src="/img/icons/price-promise.gif" alt="Price Promise" /></a>';if(((location.href.indexOf("/flight-search/")>-1&&location.href.indexOf("useSkin")>-1)||location.href.indexOf("/travel/airlines/home/")>-1)&&$j("span").hasClass("brand_icon")){var j=$j("span.brand_icon");if(i=="AU"){j.append(l)}$j("body").append('<div id="ppMSG"><div id="ppMSGWrap"><img src="/img/_red08/common/tool-tip.gif" alt="" id="ppTOOLTIP" />'+h+((i=="AU")?o:"")+"</div></div>");$j("a",j).bind("mouseenter",function(a){if($j(this).attr("id")=="isPricePromise"){$j("#points-pay").hide();$j("#price-promise").show()}else{$j("#points-pay").show();$j("#price-promise").hide()}var b=$j(this).offset().top-($j("#ppMSG").height()+15);var c=$j(this).offset().left;if($j.browser.version.substr(0,3)<="7.0"&&$j.browser.msie){$j("div.paxNumbers, div.travelClass").addClass("hidden")}$j("#ppMSG").css({left:c,top:b}).show()}).bind("mouseleave",function(){if($j.browser.version.substr(0,3)<="7.0"&&$j.browser.msie){$j("div.paxNumbers, div.travelClass").removeClass("hidden")}$j("#ppMSG").hide()})}else{if(location.href.indexOf("/flight-search/")>-1&&location.href.indexOf("useSkin")==-1&&$j("span").hasClass("brand_icon")){$j("span.brand_icon").hide();$j("div.contentPanel").append('<p class="clearit"><a href="'+m+'" target="_blank" class="left"><img src="/img/_red08/specific/book/book-points-plus-pay.gif" alt="Points + Pay" /></a>'+((i=="AU")?'<a href="'+k+'" target="_blank" class="left" style="margin: 0 0 0 8px"><img src="/img/_red08/specific/book/book-price-promise.gif" alt="Price Promise" /></a>':"")+"</p>")}else{if(location.href.indexOf("/international-flight-specials/")>-1||location.href.indexOf("/domestic-flight-specials/")){}}}});
