function changeWizardPage(b,a,c){if(c.nodeType=="1"){c.blur()}currentPageElement=document.getElementById(b);newPageElement=document.getElementById(a);currentPageElement.style.display="none";newPageElement.style.display=""}function selectTo(b){if(bulletinBoardPreview==false){for(var a=0;a<document.itinerary.to.options.length;++a){if(document.itinerary.to.options[a].value==b){document.itinerary.to.selectedIndex=a;isShowSortBy("divSortBy");return}}}return}function gotoGlobalDealsPage(a){var b=a;departureAirport=b.value;if(departureAirport!=""){document.dealsFormBean.submit()}else{alert("Please select a Global Deals departure location.")}}var prevOpen=new Array();var currOpen=new Array();var navlink="";function foldupRow(d,a,b,c,f){arrayStep=0;selectTo(b);currOpen=new Array();counter=1;while(counter<a){rowId=c+"-"+d+"-"+counter;currOpen[arrayStep]=rowId;arrayStep++;rowElement=document.getElementById(rowId);if(rowElement.style.display=="none"){rowElement.style.display="";f.className="globalDealsDestinationOpen";f.style.visibility="visible"}else{rowElement.style.display="none";f.className="globalDealsDestinationExpand"}counter++}if(prevOpen[0]!=null){for(var e=0;e<prevOpen.length;e++){if(prevOpen[e]!=currOpen[e]){myElement=document.getElementById(prevOpen[e]);myElement.style.display="none"}}}prevOpen=currOpen;if(navlink!=""&&navlink!=f.id){mylink=document.getElementById(navlink);mylink.className="globalDealsDestinationExpand"}navlink=f.id}function Deal(b,a,h,g,f,i,d,c,e){this.fareValue=b;this.currencyCode=a;this.currencySymbol=h;this.fromDate=this.parseFromDate(g);this.toDate=this.parseToDate(f);this.saleName=i;this.saleType=d;this.fareFamilyCode=c;this.saleEndDate=e}Deal.prototype.parseDate=function(b){var a=b.split("/");return new Date(a[2],(parseInt(a[1],10)-1),parseInt(a[0],10))};Deal.prototype.parseFromDate=function(a){return this.parseDate(a)};Deal.prototype.parseToDate=function(b){var a=this.parseDate(b);a.setHours(23);a.setMinutes(59);a.setSeconds(23);return a};function Destination(b,a){this.cityCode=b;this.cityName=a;this.deals=new Array()}Destination.prototype.addDeal=function(b,a,h,g,f,i,d,c,e){this.deals[this.deals.length]=new Deal(b,a,h,g,f,i,d,c,e)};function submitForm(){globalDealsValidator.setSelectionDetailsCke();globalDealsValidator.validateAndSubmit(true)}function submitFormValidateOnly(){globalDealsValidator.setSelectionDetailsCke();if(globalDealsValidator.validateAndSubmit(false)){return true}else{return false}}function GlobalDeals(d,c,b,e,a,f){this.id=d;this.region=c;this.departureCityCode=b;this.departureCityName=e;this.destinations=a;this.destinationsR=f;this.tableId_cityNameSorted=this.id+"_cityNameSorted";this.tableId_cityNameReturn=this.id+"_cityNameReturn";this.tableId_fareValueSorted=this.id+"_fareValueSorted";this.tableId_fareValueSortedReturn=this.id+"_fareValueSortedReturn"}GlobalDeals.prototype.sortByDestinationNames=function(){this.destinations.sort(new Function("dest1","dest2","return (dest1.cityName<dest2.cityName?-1:(dest1.cityName>dest2.cityName?1:0));"))};function helperComparatorByTravelDate(b,a){return b.fromDate.getTime()-a.fromDate.getTime()}GlobalDeals.prototype.comparatorDestinationBlocksByCityNameThenFareValue=function(b,a){var d=b.fareValue;var c=a.fareValue;var e=d-c;return((d<c)?e:((d>c)?e:helperComparatorByTravelDate(b,a)))};GlobalDeals.prototype.comparatorDestinationBlocksByLowestFareValue=function(a,c){var b=a.deals[0].fareValue-c.deals[0].fareValue;return(b==0?(a.cityName<c.cityName?-1:(a.cityName>c.cityName?1:0)):b)};GlobalDeals.prototype.sortDestinationsBlocksByCityNameThenFareValue=function(b){if(b=="oneway"){for(var a=0;a<destinations.length;++a){this.destinations[a].deals.sort(this.comparatorDestinationBlocksByCityNameThenFareValue)}}else{for(var a=0;a<destinationsR.length;++a){this.destinationsR[a].deals.sort(this.comparatorDestinationBlocksByCityNameThenFareValue)}}};GlobalDeals.prototype.sortDestinationsBlocksByLowestFareValue=function(a){this.sortDestinationsBlocksByCityNameThenFareValue(a);this.destinations.sort(this.comparatorDestinationBlocksByLowestFareValue);if(a=="oneway"){this.destinations.sort(this.comparatorDestinationBlocksByLowestFareValue)}else{this.destinationsR.sort(this.comparatorDestinationBlocksByLowestFareValue)}};function updateRooPosition(){var a=(navigator.appVersion.indexOf("Mac")!=-1);var f=(window.navigator.userAgent.toLowerCase().indexOf("msie")!=-1);if(!(a&&f)){var d=document.getElementById("specialsLine");var b=document.getElementById("imageOnly");var e=650;var c=16;b.style.top=findPosY(d)-c;b.style.left=findPosX(d)+e}}function addSale(e){var b="saleTypesContainer";var c=document.getElementById(b);if(c==null){return true}var d=c.innerHTML;var a="sale"+e;if(d.indexOf(a)==-1){addHtml='<a class="'+a+'" href="javascript:void(null)" onClick="javascript:window.open(\'/deals/do/dyn/specials/spotsaledetail?spotSaleCode='+spotSaleCode[e-1]+"&dealBundleId="+dealBundleId+"','NewWin','width=640,height=490,status=yes,scrollbars=yes,resizable=yes')\">&nbsp;<img src=\""+spotSaleIcon[e-1]+'" border="0" hspace="5" vspace="0">&nbsp;'+spotSaleText[e-1]+"</a>";c.innerHTML=addHtml+d}}GlobalDeals.prototype.writeTable=function(k,p,q,b){var l=window.document;var a=this.region;var t=0;var h=0;var f=0;var c=0;var u=new Array();l.write('\n<table class="results" id="'+k+'" cellspacing="0" '+(p?"":'style="display:none;"')+">");l.write('\n<colgroup><col class="first"><col class="second"><col class="third"><col class="fourth"><col class="fifth"></colgroup>');l.write("\n\t<tr>");if(q.indexOf("oneway")>-1){if(this.destinations.length==1){l.write("\n\t\t<th><strong>"+this.departureCityName+"</strong> to </th>")}else{if(b==1){l.write('\n\t\t<th><a class="sortByOn" href="javascript://void" onclick="javascript:changeWizardPage(\''+this.tableId_fareValueSorted+"','"+this.tableId_cityNameSorted+'\',this)" title="sort by city"><strong>'+this.departureCityName+" to</strong></a></th>")}else{l.write('\n\t\t<th><a class="sortByOff" href="javascript://void" onclick="javascript:changeWizardPage(\''+this.tableId_fareValueSorted+"','"+this.tableId_cityNameSorted+'\',this)" title="sort by city">'+this.departureCityName+" to</a></th>")}}}else{if(this.destinationsR.length==1){l.write("\n\t\t<th><strong>"+this.departureCityName+"</strong> to </th>")}else{if(b==1){l.write('\n\t\t<th><a class="sortByOn" href="javascript://void" onclick="javascript:changeWizardPage(\''+this.tableId_fareValueSortedReturn+"','"+this.tableId_cityNameReturn+'\',this)" title="sort by city"><strong>'+this.departureCityName+" to</strong></a></th>")}else{l.write('\n\t\t<th><a class="sortByOff" href="javascript://void" onclick="javascript:changeWizardPage(\''+this.tableId_fareValueSortedReturn+"','"+this.tableId_cityNameReturn+'\',this)" title="sort by city">'+this.departureCityName+" to</a></th>")}}}l.write('\n\t\t<th colspan="2">');if(q.indexOf("oneway")>-1){if(this.destinations.length==1){l.write("One-way fare from </th>")}else{if(b==1){if(a=="au"){l.write('<a class="sortByOff" href="javascript://void" onclick="javascript:changeWizardPage(\''+this.tableId_cityNameSorted+"','"+this.tableId_fareValueSorted+"',this)\">One-way fare from</a></th>")}else{l.write('<a class="sortByOff" href="javascript://void" onclick="javascript:changeWizardPage(\''+this.tableId_cityNameSorted+"','"+this.tableId_fareValueSorted+"',this)\">One-way fare from</a></th>")}}else{if(a=="au"){l.write('<a class="sortByOn" href="javascript://void" onclick="javascript:changeWizardPage(\''+this.tableId_cityNameSorted+"','"+this.tableId_fareValueSorted+"',this)\"><strong>One-way fare from</strong></a></th>")}else{l.write('<a class="sortByOn" href="javascript://void" onclick="javascript:changeWizardPage(\''+this.tableId_cityNameSorted+"','"+this.tableId_fareValueSorted+"',this)\"><strong>One-way fare</strong> from</a></th>")}}}}else{if(this.destinationsR.length==1){l.write("Return fare from </th>")}else{if(b==1){l.write('<a class="sortByOff" href="javascript://void" onclick="javascript:changeWizardPage(\''+this.tableId_cityNameReturn+"','"+this.tableId_fareValueSortedReturn+"',this)\">Return fare from</a></th>")}else{l.write('<a class="sortByOn" href="javascript://void" onclick="javascript:changeWizardPage(\''+this.tableId_cityNameReturn+"','"+this.tableId_fareValueSortedReturn+"',this)\"><strong>Return fare from</strong></a></th>")}}}if(q.indexOf("oneway")>-1){l.write('\n\t\t<th class="travelBetween">Travel between</th>')}else{l.write('\n\t\t<th class="travelBetween">Depart between</th>')}l.write('\n\t\t<th class="conditions">Conditions</th>');l.write("\n\t</tr>");if(q.indexOf("oneway")>-1){u=destinations}else{u=destinationsR}var n=null;var v=null;var o=null;var g=null;for(var s=0;s<u.length;++s){n=u[s];o=n.deals;v=o.length-1;for(var r=0;r<o.length;++r){g=o[r];l.write('<tr id="'+q+"-"+s+"-"+r+'"');if(s%2==0){l.write(' class="header"')}if(r>0){l.write(' style="display:none;"')}l.write(">");if(r>0){l.write("<td>&nbsp;</td>")}else{if(r==0&&o.length>1){l.write('<td><a id="'+q+"A-"+s+"-"+r+'" class="globalDealsDestinationExpand" href="javascript://void" onClick="javascript:foldupRow('+s+","+o.length+",'"+n.cityCode+"','"+q+"', this);\">"+n.cityName+"</a></td>")}else{l.write('<td><a class="globalDealsDestination" href="javascript://void" onClick="javascript:selectTo(\''+n.cityCode+"');\">"+n.cityName+"</a></td>")}}l.write("<td ");if(g.saleType=="1"){l.write('class="globalDealsPriceSale1" ');t=1}if(g.saleType=="2"){l.write('class="globalDealsPriceSale2" ');h=1}if(g.saleType=="3"){l.write('class="globalDealsPriceSale3" ');f=1}if(g.saleType=="4"){l.write('class="globalDealsPriceSale4" ');c=1}if(g.saleType!="1"&&g.SaleType!="2"&&g.SaleType!="3"&&g.SaleType!="4"){l.write('class="globalDealsPrice" ')}l.write(">"+g.currencySymbol+g.fareValue+"</td>");l.write('<td class="saleIcon">');if(g.saleType=="1"){l.write('<img src="'+spotSaleIcon[0]+'" alt="'+spotSaleText[0]+'">')}else{if(g.saleType=="2"){l.write('<img src="'+spotSaleIcon[1]+'" alt="'+spotSaleText[1]+'">')}else{if(g.saleType=="3"){l.write('<img src="'+spotSaleIcon[2]+'" alt="'+spotSaleText[2]+'">')}else{if(g.saleType=="4"){l.write('<img src="'+spotSaleIcon[3]+'" alt="'+spotSaleText[3]+'">')}else{l.write("&nbsp;")}}}}l.write("</td>");var m=g.toDate.padded(g.fromDate.getDate())+" "+g.fromDate.getShortMonth()+" "+g.fromDate.getFullYear().toString().substring(2,4);var e=g.toDate.padded(g.toDate.getDate())+" "+g.toDate.getShortMonth()+" "+g.toDate.getFullYear().toString().substring(2,4);if(m!=e){l.write('<td class="travelDates">'+m+" - "+e+"</td>")}else{l.write('<td class="travelDates">'+m+" only</td>")}if(r>0&&g.saleName==o[r-1].saleName){l.write("<td>&nbsp;</td>")}else{l.write('<td class="globalDealsConditions"><a class="globalDealsConditions" href="javascript:void(null)" onClick="javascript:window.open(\'http://'+serverName+"/regions/amadeus/minirules/"+g.fareFamilyCode+"/index.html?ffcText="+fareFamilyDisplayText+"&saleEndDate="+g.saleEndDate+"','NewWin','width=640,height=550,status=yes,scrollbars=yes,resizable=yes')\">"+g.saleName+"</a></td>")}l.write("</tr>")}}l.write("</tbody></table>");if(t==1){addSale(1)}if(h==1){addSale(2)}if(f==1){addSale(3)}if(c==1){addSale(4)}};GlobalDeals.prototype.writeGlobalDealsTable=function(a){window.document.write('\n<div id="'+this.id+'">');this.sortDestinationsBlocksByCityNameThenFareValue(a);if(a=="oneway"){this.writeTable(this.tableId_cityNameSorted,true,a+"City",1)}else{this.writeTable(this.tableId_cityNameReturn,true,a+"CityReturn",1)}this.sortDestinationsBlocksByLowestFareValue(a);if(a=="oneway"){this.writeTable(this.tableId_fareValueSorted,false,a+"Fare",2)}else{this.writeTable(this.tableId_fareValueSortedReturn,false,a+"FareReturn",2)}window.document.write("\n</div>")};function GlobalDealsValidator(f,c,d,e,b,a){this.earliestBookingDate=f;this.globalDeals=c;this.formId=d;this.departCalendar=e;this.returnCalendar=b;this.isFFLoggedIn=a;this.region=c.region;this.depCityName=c.departureCityName;this.destCityName=null;this.destination=null;this.form=null;this.deal=null;this.depTs=null;this.depY=null;this.depM=null;this.depD=null;this.depDoW=null;this.retTs=null;this.retY=null;this.retM=null;this.retD=null;this.retDoW=null}GlobalDealsValidator.prototype.isReturn=function(){for(var a=0;a<this.form.tripType.length;++a){if(this.form.tripType[a].value=="R"&&this.form.tripType[a].checked){return true}}return false};GlobalDealsValidator.prototype.isFlexibleDate=function(){if(this.form.flexibleDate.checked){return true}return false};GlobalDealsValidator.prototype.validateDestination=function(a){var d=null;var c=null;var e=false;for(var b=0;b<a.length;++b){d=a[b];if(d.cityCode==this.form.to.value){e=true;break}}if(e==false){alert("Please select an arrival location.");this.form.to.focus();return false}return true};GlobalDealsValidator.prototype.validateDates=function(){var a=new Date(this.earliestBookingDate.getFullYear(),this.earliestBookingDate.getMonth(),this.earliestBookingDate.getDate());if(departCalendar.displayDate.getTime()<a.getTime()){alert("Departure date cannot be before "+this.earliestBookingDate.format("DDDD D mmmm YYYY")+".");this.form.dep_d.focus();return false}if((returnCalendar.displayDate.getTime()<departCalendar.displayDate.getTime())&&this.isReturn()){alert("Returning date cannot be before departure date.");return false}return true};GlobalDealsValidator.prototype.validatePax=function(){var b=parseInt(this.form.adt.value);var e=parseInt(this.form.chd.value);var c=parseInt(this.form.infant.value);var a=b+e+c;var d=9;if(a>d){alert("Only "+d+" passengers can be booked at a time.");this.form.adt.focus();return false}if(c>b){alert("Only 1 infant can be booked for every 1 adult.");this.form.infant.focus();return false}return true};GlobalDealsValidator.prototype.setFormProperties=function(){};GlobalDealsValidator.prototype.isProduction=function(){return(window.location.host.indexOf("www.qantas")==0||window.location.host.indexOf("qantas")==0)};GlobalDealsValidator.prototype.validateAndSubmit=function(b){this.form=document.getElementById(this.formId);var c=this.departCalendar.displayDate;this.depTs=c.getTime();this.depY=c.getFullYear();this.depM=c.getMonth()+1;this.depD=c.getDate();this.depDoW=c.getDay();c=this.returnCalendar.displayDate;this.retTs=c.getTime();this.retY=c.getFullYear();this.retM=c.getMonth()+1;this.retD=c.getDate();this.retDoW=c.getDay();var d=new Array().concat(this.globalDeals.destinations,this.globalDeals.destinationsR);if(!this.validateDestination(d)){return false}if(!this.validateDates()){return false}if(!this.validatePax()){return false}if(b){var a=this.createQueryString();if(!this.isProduction()){alert(a)}document.location=a}else{this.setFormProperties()}return true};var tzRegionCode;function sendDataforValidtor(a){tzRegionCode=a}GlobalDealsValidator.prototype.setSelectionDetailsCke=function(){var a="Y";var c="";var d="";if("undefined"!=typeof(document.itinerary.flexibleDate)&&null!=document.itinerary.flexibleDate){if(document.itinerary.flexibleDate.checked){a="Y"}else{a="N"}}if(this.region=="au"||this.region=="sp"||this.region=="as"||this.region=="eu"||this.region=="af"||this.region=="am"){c="|TRIP:"+(document.itinerary.tripType[0].checked?"R":"O");if("undefined"!=typeof(document.itinerary.arrangeBy)&&null!=document.itinerary.arrangeBy){d="|SORTBY:"+document.itinerary.arrangeBy.value}}var b="selectionsGlobal"+tzRegionCode+"=DATES:"+this.departCalendar.serialize()+","+this.returnCalendar.serialize()+"|TO:"+document.itinerary.to.value+"|PSGRS:"+document.itinerary.adt.value+","+document.itinerary.chd.value+","+document.itinerary.infant.value+c+d+"|FLEX:"+a+"|REGION:"+this.region;document.cookie=b+";"};GlobalDealsValidator.prototype.setSelections=function(){if((document.cookie.indexOf("selectionsGlobal"+tzRegionCode+"="))!=-1){var n=getCookieValue("selectionsGlobal"+tzRegionCode);var a=n.indexOf("DATES:");var m=n.indexOf("TO:");var j=n.indexOf("PSGRS:");var r=n.indexOf("FLEX:");var e=n.indexOf("TRIP:");var o=n.indexOf("SORTBY:");var h=n.substring(a+6,m-1);var l=h.split(",");var c=l[0];var d=l[1];var i=n.substring(j+6,j+7);var f=n.substring(j+8,j+9);var p=n.substring(j+10,j+11);var b=n.substring(m+3,m+6);var k=n.substring(r+5,r+6);var g=n.substring(e+5,e+6);var q=n.substring(o+7,o+8);if("undefined"!=typeof(document.itinerary.flexibleDate)&&null!=document.itinerary.flexibleDate){if(k=="Y"){document.itinerary.flexibleDate.checked=true;if(window.navigator.userAgent.toLowerCase().indexOf("msie 5.5")==-1){document.getElementById("arrangeBy").selectedIndex=1}}}if("undefined"!=typeof(document.itinerary.arrangeBy)&&null!=document.itinerary.arrangeBy&&o!=-1){document.itinerary.arrangeBy.value=(q=="|")?"":q}if("undefined"!=typeof(document.itinerary.tripType)&&null!=document.itinerary.tripType){if(g=="R"){document.itinerary.tripType[0].checked=true;returnCalendar.setEnabled(true)}else{document.itinerary.tripType[1].checked=true;returnCalendar.setEnabled(false)}}this.set(document.itinerary.adt,i);this.set(document.itinerary.chd,f);this.set(document.itinerary.infant,p);departCalendar.deserialize(c);returnCalendar.deserialize(d)}};GlobalDealsValidator.prototype.set=function(b,a){if(a){for(var c=0;c<b.length;c++){if(b.options[c].value==a){b.options[c].selected=true;break}}}};function isShowSortBy(a){var b=isTransTasmanTrip(this.region,this.globalDeals.departureCityCode,document.getElementById("selectDestinationCity").value);if(b){if(document.getElementById(a)!=null){document.getElementById(a).style.display="block"}}else{if(document.getElementById(a)!=null){document.getElementById(a).style.display="none"}}};
