function MultiSearchValidator(a,d,b,c){this.departCalendar=new Array();this.maxFlightLines=maxRows;this.earliestBookingDate=a;this.formId=d;this.dataContainer=c;for(i=0;i<this.maxFlightLines;i++){this.departCalendar[i]=b[i]}this.invalidLocationOptions=["","select a city","Select a City","selectacity","separator"];this.depCity=new Array();this.arrCity=new Array();this.depDate=new Array()}MultiSearchValidator.prototype.set=function(a,c){for(var b=0;b<a.length;b++){if(a.options[b].value==c){a.options[b].selected=true;break}}};MultiSearchValidator.prototype.validateDates=function(){for(i=1;i<this.userFlights;i++){if(this.departCalendar[i].getDate().getTime()<this.departCalendar[i-1].getDate().getTime()){alert(this.dataContainer.errorMsgs["bookingForm.error.orderFlights"]);this.departCalendar[i].monthYearField.focus();return false}}return true};MultiSearchValidator.prototype.validateLocations=function(){var e=-1;for(var d=0;d<this.maxFlightLines;++d){var b=true;for(var c=0;c<this.invalidLocationOptions.length;++c){if(this.depCity[d].value==this.invalidLocationOptions[c]){for(var a=0;a<this.invalidLocationOptions.length;++a){if(this.arrCity[d].value==this.invalidLocationOptions[a]){b=false;break}}}}if(b){e=d}}if(e==-1){alert(this.dataContainer.errorMsgs["bookingForm.error.mustSelect"]);this.depCity[0].focus();this.userFlights=0;return false}this.userFlights=e+1;for(var f=0;f<=e;++f){for(var d=0;d<this.invalidLocationOptions.length;++d){if(this.depCity[f].value==this.invalidLocationOptions[d]){alert(this.dataContainer.errorMsgs["bookingForm.error.departurelocation"]);this.depCity[f].focus();return false}}for(var d=0;d<this.invalidLocationOptions.length;++d){if(this.arrCity[f].value==this.invalidLocationOptions[d]){alert(this.dataContainer.errorMsgs["bookingForm.error.arrivallocation"]);this.arrCity[f].focus();return false}}if(this.depCity[f].value==this.arrCity[f].value){alert(this.dataContainer.errorMsgs["bookingForm.error.departurearrivallocation"]);this.arrCity[f].focus();return false}}return true};MultiSearchValidator.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=9;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}return true};MultiSearchValidator.prototype.isSearchByBestPrice=function(){for(var a=0;a<this.searchOption.length;++a){if((this.searchOption[a].value=="B"||this.searchOption[a].value=="mustTravel")&&this.searchOption[a].checked){return true}}return false};MultiSearchValidator.prototype.setSelectionDetailsCke=function(g){var h="|DEPDATES:";var d="|DEPCITY:";var l="|ARRCITY:";var m=0;for(i=0;i<this.maxFlightLines;i++){d+=","+this.depCity[i].value;l+=","+this.arrCity[i].value;h+=","+this.departCalendar[i].serialize();if(this.arrCity[i].value!=""){m++}}var e;var a=document.getElementById("isDomestic").value;var b="|FLEXWITHDATES:N";var c;var k=document.getElementById("fmfMode").value;if(k!=""&&k=="Yes"){c=(document.getElementById("intFlexiDatesCheckBox").checked)?"F":"M";if(c!=""&&c=="M"){b="|FLEXWITHDATES:M"}else{b="|FLEXWITHDATES:F"}}if(this.isSearchByBestPrice()){if(a=="true"){e="|SRCHBY:F"}else{e="|SRCHBY:B"}}else{if(a=="true"){e="|SRCHBY:T"}else{e="|SRCHBY:S"}}var f="selections=FLIGHTS:"+m+"|FARE:"+this.cabin.value+h+d+l+"|PSGRS:"+this.adults.value+","+this.children.value+","+this.infants.value+e+b;document.cookie=f+";path=/travel"};MultiSearchValidator.prototype.intMultiCityInitialise=function(){var a=document.getElementById(this.formId);for(i=0;i<this.maxFlightLines;i++){this.depCity[i]=document.getElementById("depCity["+i+"]");this.arrCity[i]=document.getElementById("arrCity["+i+"]");this.depDate[i]=document.getElementById("depDate["+i+"]")}this.adults=a.adults;this.children=a.children;this.infants=a.infants;this.cabin=a.cabin;this.searchOption=a.searchOption;this.region=a.region;this.validateRoute=a.validateRoute};MultiSearchValidator.prototype.intMultiCityValidateAndSubmit=function(){this.intMultiCityInitialise();if(!this.validateLocations()){return false}if(!this.validateDates()){return false}if(!this.validatePax()){return false}this.setSelectionDetailsCke();return true};MultiSearchValidator.prototype.setCommonFields=function(c,e,a,g,b,l,k,f,d){this.set(this.adults,g);this.set(this.children,b);this.set(this.infants,l);populatetravelClass(f);for(i=0;i<this.maxFlightLines;i++){this.set(this.depCity[i],c[i]);this.set(this.arrCity[i],e[i]);this.departCalendar[i].deserialize(a[i])}if(k=="B"||k=="F"){this.searchOption[0].checked=true}else{this.searchOption[1].checked=true}var h=document.getElementById("fmfMode").value;if(h!=""&&h=="Yes"){if(d=="F"){document.getElementById("intFlexiDatesCheckBox").checked=true}else{document.getElementById("intFlexiDatesCheckBox").checked=false}}};MultiSearchValidator.prototype.setSelections=function(){if((document.cookie.indexOf("selections="))!=-1){var t=getCookieValue("selections");var h=t.indexOf("FARE:");var d=t.indexOf("PSGRS:");var s=t.indexOf("SRCHBY:");var c=t.indexOf("DEPDATES:,");var e=t.indexOf("DEPCITY:,");var a=t.indexOf("ARRCITY:,");var f=t.indexOf("FLEXWITHDATES:");var q=t.substring(c+10,e-1);var g=q.split(",");q=t.substring(e+9,a-1);var o=q.split(",");q=t.substring(a+9,d-1);var p=q.split(",");var l=t.substring(h+5,h+8);var m=t.substring(s+7,s+8);var n=t.substring(d+6,d+7);var b=t.substring(d+8,d+9);var k=t.substring(d+10,d+11);var r=t.substring(f+14,f+15);this.intMultiCityInitialise();this.setCommonFields(o,p,g,n,b,k,m,l,r)}};MultiSearchValidator.prototype.setMultiCitySelectionFlash=function(q){var e="|DEPDATES:";var c="|DEPCITY:";var s="|ARRCITY:";var u=0;var d=0;var k=0;var w="|SRCHBY:";var b="|FARE:";var t=0;var x=new Array();var v=q.split("&");for(i=0;i<v.length;i++){var f=v[i].split("=");var l=f[0].split("[");if(l[0]=="depCity"){t++;c+=","+f[1]}else{if(l[0]=="arrCity"){s+=","+f[1]}else{if(l[0]=="depDate"){var y=f[1].substring(0,4);var A=new Number(f[1].substring(4,6));var h=f[1].substring(6,8);var m=i+1;x[i]=new Calendar("calendarSet["+i+"]","intDep"+m,"intDep"+m,intDateRanges,"intDepart"+m,true,true,false,true,null,null);x[i].setDefaultHour(0);x[i].update(new Date(y,A-1,h,0,0,0,0));e+=","+x[i].serialize()}else{if(f[0]=="adults"){u=f[1]}else{if(f[0]=="children"){d=f[1]}else{if(f[0]=="infants"){k=f[1]}else{if(f[0]=="searchOption"){w+=f[1]}else{if(f[0]=="cabin"){b+=f[1]}}}}}}}}}for(j=t;j<12;j++){c+=",";s+=",";e+=","}document.cookie="setMultiSelections=true;path=/";var g="selections=FLIGHTS:"+t+b+e+c+s+"|PSGRS:"+u+","+d+","+k+w;document.cookie=g+";path=/travel";if(document.cookie.indexOf("setInitializeSelection=")==-1){var o=document.getElementById("maxMultiCityFlightLinesVar").value;var B=document.getElementById("flightLinesVisibleVar").value;var r=document.getElementById("minFlightLinesVisibleVar").value;document.cookie="setInitializeSelection=MAXFL:"+o+"|FLVISIBLE:"+B+"|MINFL:"+r+";path=/"}};var visibleRow;var minRows;var maxRows;var multiStopTable;var currentDelLink;var previousDelLink;var domesticMinRows;var domesticMaxRows;var internationalMinRows;var internationalMaxRows;function addRowToTable(l,c){var a=document.getElementById("addFlt");var h=document.getElementById("fmfMode").value;var d=document.getElementById("searchOptions");var m=document.getElementById("flightOptions");if(l){if(visibleRow<maxRows){visibleRow++;var k=document.getElementById("flight"+visibleRow);var f=document.getElementById("delLink"+(visibleRow-1));f.style.visibility="hidden";var b=document.getElementById("delLink"+(visibleRow));b.style.visibility="visible";$j(k).children().show();if(visibleRow==maxRows){a.style.visibility="hidden"}if(h!=""&&h=="Yes"){if(c&&visibleRow>=7){populatetravelClassforFMF(false);d.style.display="none";m.style.display="none"}else{populatetravelClassforFMF(true);d.style.display="block";m.style.display="block"}}else{populatetravelClassforFMF(false)}}}else{if(visibleRow>minRows){var k=document.getElementById("flight"+visibleRow);document.getElementById("depCity["+(visibleRow-1)+"]").value="";document.getElementById("arrCity["+(visibleRow-1)+"]").value="";$j(k).children().hide();var g=parseInt(minRows)+1;if(visibleRow!=g){var f=document.getElementById("delLink"+(visibleRow-1));f.style.visibility="visible"}a.style.visibility="visible";visibleRow--}else{if(c&&visibleRow==minRows&&minRows>3){var e=document.getElementById("delLink"+(visibleRow));e.style.visibility="visible"}}if(h!=""&&h=="Yes"){if(c&&visibleRow>=7){populatetravelClassforFMF(false);d.style.display="none";m.style.display="none"}else{populatetravelClassforFMF(true);d.style.display="block";m.style.display="block"}}else{populatetravelClassforFMF(false)}}}function hideShowSelectIE(c,b){var a=b+1;if(!c){document.getElementById("depCity["+b+"]").className="hidden";document.getElementById("arrCity["+b+"]").className="hidden";document.getElementById("intDep"+a+"MonthYear").className="hidden";document.getElementById("intDep"+a+"Day").className="hidden"}else{document.getElementById("depCity["+b+"]").className="";document.getElementById("arrCity["+b+"]").className="";document.getElementById("intDep"+a+"MonthYear").className="";document.getElementById("intDep"+a+"Day").className=""}}function init(a){multiStopTable=document.getElementById("multiStopsTable");minRows=minFlightLinesVisible;maxRows=multiStopTable.rows.length-1;visibleRow=a;domesticMinRows=domMinRows;domesticMaxRows=domMaxRows;internationalMinRows=intMinRows;internationalMaxRows=intMaxRows}function updateCitiesForDomestic(){var b=document.getElementById("flightOptions");if(b!=null){b.style.display="none";b.style.visibility="hidden"}var e=document.getElementById("travelClass");if(e!=null){e.style.display="none"}footerData(false);searchOption(false);maxRows=domesticMaxRows;for(i=domesticMinRows;i<domesticMaxRows;i++){var c=document.getElementById("depCity["+i+"]").value;var a=document.getElementById("arrCity["+i+"]").value;if(c!=""||a!=""){minRows=i+1}}for(i=0;i<maxRows;i++){if(i<maxRows){addRowToTable(false,false)}}maxRows=domesticMaxRows;minRows=domesticMinRows;if(visibleRow>=maxRows&&visibleRow>minRows){var d=document.getElementById("addFlt");d.style.visibility="hidden"}}function updateCitiesForInternational(){var e=document.getElementById("travelClass");e.style.display="block";var b=document.getElementById("flightOptions");var f=document.getElementById("fmfMode").value;if(f!=""&&f=="Yes"){b.style.display="block";b.style.visibility="visible";populatetravelClassforFMF(true)}footerData(true);searchOption(true);for(i=internationalMinRows;i<internationalMaxRows;i++){var c=document.getElementById("depCity["+i+"]").value;var a=document.getElementById("arrCity["+i+"]").value;if(c!=""||a!=""){minRows=i+1}}for(i=0;i<maxRows;i++){if(i<maxRows){addRowToTable(false,true)}}maxRows=internationalMaxRows;minRows=internationalMinRows;if(visibleRow<maxRows&&visibleRow>minRows){var d=document.getElementById("addFlt");d.style.visibility="visible"}}function updateVisibleSegments(a){if(a){updateCitiesForInternational()}else{updateCitiesForDomestic()}};
