function JourneyPlanningData(B,E){this.allServicesReceived={"O":{"E":false,"L":false},"R":{"E":false,"L":false}};this.data=B;this.timetableOnly=E;this.farePanel=new Object();this.servicePanel=new Object();this.SetFareGroupIds(this.data.outwardFareGroups);this.SetFareGroupIds(this.data.inwardFareGroups);this.SetServiceIds(this.data.outwardServices,"O");this.SetServiceIds(this.data.inwardServices,"R");this.OrderFares();this.flexibility=3;this.bShowStandard=true;this.bShowFirst=true;this.isPromo=false;this.bShowITSOSmartcardFares=false;this._selectedFareGroup=new Object();this._selectedFareGroup[outward]=new Object();this._selectedFareGroup[inward]=new Object();this._selectedService=new Object();this._selectedService[outward]=new Object();this._selectedService[inward]=new Object();this.SetServiceArrays();this.SetAvailability();if(this.data.fares!=undefined&&this.data.fares[1]!=undefined){var A=YAHOO.util.Dom.getElementsByClassName("FirstItem");var C=document.getElementById("ctl00_leftColumnPlaceHolder_ctl13");for(i=0;i<A.length;i++){var D=A[i].href;if(D=="javascript:helpPanels.ShowAllHelp(this);"){if(C.style.display=="block"){A[i].style.display="none"}else{A[i].style.display="block"}}}}}JourneyPlanningData.prototype.SetPostbackControls=function(A,D,B,C){this.fareGroupPostbackControl=new Object();this.servicePostbackControl=new Object();this.fareGroupPostbackControl[outward]=A;this.fareGroupPostbackControl[inward]=D;this.servicePostbackControl[outward]=B;this.servicePostbackControl[inward]=C};JourneyPlanningData.prototype.SetServicePanel=function(A){this.servicePanel[A.direction]=A;A.AddEventListener(this,this.OnServicePanelChanged);var B;if(A.direction==outward){B=this.allServicesReceived["O"]["E"]&&this.allServicesReceived["O"]["L"]}else{B=this.allServicesReceived["R"]["E"]&&this.allServicesReceived["R"]["L"]}A.ShowServices(this.data[A.panelDataName],B)};JourneyPlanningData.prototype.SetFarePanel=function(A){this.farePanel[A.direction]=A;A.AddEventListener(this,this.OnFarePanelChanged);A.AddRolloverListener(this)};JourneyPlanningData.prototype.SetTotalCostPanel=function(A){this.totalCostPanel=A;this.totalCostPanel.SetInitialData(this);this.totalCostPanel.SetVisibility(true)};JourneyPlanningData.prototype.SetChoicePanel=function(A){if(this.choicePanel==undefined){this.choicePanel=new Object()}this.choicePanel[A.direction]=A;A.SetTotalCostPanel(this.totalCostPanel);A.SetJourneyData(this);if(A.direction==inward&&!this.data.isReturn){if(!this.data.isChangeOfJourney){this.choicePanel[inward].ShowAddReturnJourneyButton()}else{this.choicePanel[inward].HideChosenInwardDetails()}}else{if(A.direction==inward&&this.data.isReturn&&!this.data.returnDate){this.choicePanel[inward].SetAsOpenReturn()}}A.SetVisibility(true)};JourneyPlanningData.prototype.SetFitlerPanel=function(A){this.filterPanel=A;this.filterPanel.SetRoutes(this.data.routes);this.filterPanel.SetIsPromotion(this.data.isPromo)};JourneyPlanningData.prototype.UpdateChooseFare=function(A,B){if(A==inward){this.choicePanel[outward].UpdateChooseFare(B);this.choicePanel[inward].UpdateChooseFare(false)}else{this.choicePanel[outward].UpdateChooseFare(false);this.choicePanel[inward].UpdateChooseFare(B)}this.choicePanel[outward].UpdateChooseService(B);this.choicePanel[inward].UpdateChooseService(B)};JourneyPlanningData.prototype.UpdateChooseService=function(A,B){if(A==inward){this.choicePanel[outward].UpdateChooseService(B);this.choicePanel[inward].UpdateChooseService(false)}else{this.choicePanel[outward].UpdateChooseService(false);this.choicePanel[inward].UpdateChooseService(B)}this.choicePanel[outward].UpdateChooseFare(B);this.choicePanel[inward].UpdateChooseFare(B)};JourneyPlanningData.prototype.OnServicePanelChanged=function(E,B){var D=B[0];var A=B[1];var C=A?A.selected:false;this.SelectService(D,A,C);if(this.timetableOnly){return }this.farePanel[outward].SetAvailableFares(this._selectedService[outward].service,this._selectedService[inward].service);if(D==outward){this.choicePanel[outward].UpdateDisplay();if(this.choicePanel[inward]){this.choicePanel[inward].UpdateDisplay()}}else{this.farePanel[inward].SetAvailableFares(this._selectedService[inward].service);this.choicePanel[outward].UpdateDisplay();if(this.choicePanel[inward]){this.choicePanel[inward].UpdateDisplay()}}var F=(A!=null&&!C);this.UpdateChooseService(D,F);mixingDeck.CheckKeepAliveTimeout()};JourneyPlanningData.prototype.OnFarePanelChanged=function(E,G){var I=G[0];var B=G[1];var C=G[2];var F=this._selectedFareGroup[outward].fareGroup&&this._selectedFareGroup[outward].fareGroup.isReturn;var H=this._selectedFareGroup[outward].fareGroup&&this._selectedFareGroup[outward].fareGroup.isSingleBidirectional;this.SelectFareGroup(I,B,B?C:false);var A=this._selectedFareGroup[outward].selected?this._selectedFareGroup[outward].fareGroup:null;var D=this._selectedFareGroup[inward].selected?this._selectedFareGroup[inward].fareGroup:null;if(A){this.fareGroupPostbackControl[outward].value=A.fareGroupId}else{this.fareGroupPostbackControl[outward].value=""}if(D&&(A==null||!A.isReturn)){this.fareGroupPostbackControl[inward].value=D.fareGroupId}else{this.fareGroupPostbackControl[inward].value=""}this.servicePanel[I].SetAvailableServices(B);this.choicePanel[I].UpdateDisplay();if(I==outward&&B!=null&&B.isReturn){this.choicePanel[inward].UpdateDisplay();if(this.farePanel[inward]){this.farePanel[inward].DisableAllFares(true);this.servicePanel[inward].SetAvailableServices(B)}}else{if(this.data.isReturn&&(F||H)){this.choicePanel[inward].UpdateDisplay();if(this.data.returnDate){this.farePanel[inward].DisableAllFares(false);this.servicePanel[inward].SetAvailableServices(this._selectedFareGroup[inward])}}}var J=(this.farePanel[I].inRollOver&&!C);this.UpdateChooseFare(I,J);mixingDeck.CheckKeepAliveTimeout()};JourneyPlanningData.prototype.OnShowCheaperFares=function(A){this.farePanel[A].OnShowCheaperFares();this.farePanel[A].SetAvailableFares(this._selectedService[A].service)};JourneyPlanningData.prototype.OnShowMoreExpensiveFares=function(A){this.farePanel[A].OnShowMoreExpensiveFares();this.farePanel[A].SetAvailableFares(this._selectedService[A].service)};JourneyPlanningData.prototype.SetFareGroupIds=function(B){for(var A in B){B[A].fareGroupId=A;B[A].selected=false}};JourneyPlanningData.prototype.SetServiceIds=function(B,C,D){var E=0;for(var A in B){B[A].serviceId=A;if(B[A].firstInDay){this.allServicesReceived[C]["E"]=true}if(B[A].lastInDay){this.allServicesReceived[C]["L"]=true}E++}if(E==0){if(D){this.allServicesReceived[C][D]=true}else{this.allServicesReceived[C]["E"]=true;this.allServicesReceived[C]["L"]=true}}};JourneyPlanningData.prototype.OrderFares=function(){this.orderedFares=new Object();this.orderedFares.outward=new Object();this.orderedFares.outward.singles=new Array();this.orderedFares.outward.returns=new Array();for(var A in this.data.outwardFareGroups){if(this.data.outwardFareGroups[A].isReturn&&!this.data.outwardFareGroups[A].isSingleBidirectional){this.orderedFares.outward.returns[this.orderedFares.outward.returns.length]=this.data.outwardFareGroups[A]}else{this.orderedFares.outward.singles[this.orderedFares.outward.singles.length]=this.data.outwardFareGroups[A]}}this.orderedFares.inward=new Object();this.orderedFares.inward.singles=new Array();for(A in this.data.inwardFareGroups){this.orderedFares.inward.singles[this.orderedFares.inward.singles.length]=this.data.inwardFareGroups[A]}this.orderedFares.outward.singles.sort(this.CompareFares);this.orderedFares.outward.returns.sort(this.CompareFares);this.orderedFares.inward.singles.sort(this.CompareFares)};JourneyPlanningData.prototype.AddFTAEnquiryExtensionData=function(D,C,B){var A;this.SetFareGroupIds(D.outwardFareGroups);this.SetFareGroupIds(D.inwardFareGroups);this.AddElements(D,"fares");this.AddElements(D,"locations");this.AddElements(D,"tocs");if(C==outward){this.SetServiceIds(D.outwardServices,"O",B);this.AddElements(D,"outwardServices")}else{this.SetServiceIds(D.inwardServices,"R",B);this.AddElements(D,"inwardServices")}if(!this.timetableOnly&&(D.outwardFareGroups!=undefined||D.inwardFareGroups!=undefined)){this.AddFareGroupElements(D,"outwardFareGroups");this.AddFareGroupElements(D,"inwardFareGroups");this.OrderFares()}this.SetServiceArrays();this.SetAvailability();if(C==outward){A=this.allServicesReceived["O"]["E"]&&this.allServicesReceived["O"]["L"];this.servicePanel[outward].AddServices(D.outwardServices,B=="E",A)}else{A=this.allServicesReceived["R"]["E"]&&this.allServicesReceived["R"]["L"];this.servicePanel[inward].AddServices(D.inwardServices,B=="E",A)}if(!this.timetableOnly&&(D.outwardFareGroups!=undefined||D.inwardFareGroups!=undefined)){this.SetFlexibility()}};JourneyPlanningData.prototype.AddElements=function(B,A){for(var C in B[A]){if(!this.data[A][C]){this.data[A][C]=B[A][C]}}};JourneyPlanningData.prototype.AddFareGroupElements=function(B,A){for(var C in B[A]){if(!this.data[A][C]){this.data[A][C]=B[A][C]}else{this.data[A][C].isDisabled=B[A][C].isDisabled;this.data[A][C].isDiscounted=B[A][C].isDiscounted;this.data[A][C].minFare=B[A][C].minFare;this.data[A][C].maxFare=B[A][C].maxFare}}};JourneyPlanningData.prototype.AddStoppingPoints=function(A){if(this.data.outwardServices[A.sId]!=undefined){this.data.outwardServices[A.sId].stoppingPoints=A}else{if(this.data.inwardServices[A.sId]!=undefined){this.data.inwardServices[A.sId].stoppingPoints=A}}};JourneyPlanningData.prototype.AllDataReceived=function(B,A){return this.allServicesReceived[B][A]};JourneyPlanningData.prototype.SetFlexibility=function(B,C,H,E){if(B!=undefined){this.flexibility=B}if(C!=undefined){this.bShowStandard=C}if(H!=undefined){this.bShowFirst=H}if(E!=undefined){this.bShowITSOSmartcardFares=E}var F;this.isPromo=false;switch(this.flexibility){case 0:this.isPromo=true;break;case 1:F="N";break;case 2:F="NP";break}var A=this.FilterTickets(outward,this.orderedFares.outward.singles,F,this.bShowStandard,this.bShowFirst,this.isPromo,this.bShowITSOSmartcardFares);var G=this.FilterTickets(outward,this.orderedFares.outward.returns,F,this.bShowStandard,this.bShowFirst,this.isPromo,this.bShowITSOSmartcardFares);var D=this.FilterTickets(inward,this.orderedFares.inward.singles,F,this.bShowStandard,this.bShowFirst,this.isPromo,this.bShowITSOSmartcardFares);this.SetFarePanelData(this.farePanel[outward],A,G);this.farePanel[outward].SetAvailableFares(this._selectedService[outward].service,this._selectedService[inward].service);if(this.data.isReturn&&this.data.returnDate){this.SetFarePanelData(this.farePanel[inward],D);this.farePanel[inward].SetAvailableFares(this._selectedService[inward].service)}};JourneyPlanningData.prototype.FilterTickets=function(F,A,J,G,D,H,B){var I=new Array();for(var E in A){var C=false;if(H){if(A[E].isPromo){C=true}}else{if(J==undefined){C=true}else{if(J.indexOf(A[E].flex)!=-1){C=true}}}if(A[E].fClass=="S"&&!G){C=false}if(A[E].fClass=="1"&&!D){C=false}if((!(A[E].isSmartcardFare)&&B)){C=false}if(C){I.push(A[E])}else{if(A[E].selected){A[E].selected=false;this.OnFarePanelChanged(null,[F,null])}}}return I};JourneyPlanningData.prototype.SetFarePanelData=function(A,B,C){if(A.direction==outward){if(this.data.isReturn){if(this.data.returnDate==undefined){A.SetData(C,new Array(),this.data.routes)}else{A.SetData(B,C,this.data.routes)}}else{A.SetData(B,new Array(),this.data.routes)}}else{A.SetData(B,new Array(),this.data.routes)}A.UpdateDisplay()};JourneyPlanningData.prototype.SetSelectedData=function(){this.SetSelectedServicesAndFares(this.GetSelectedFareGroup(this.data.outwardFareGroups),this.GetSelectedFareGroup(this.data.inwardFareGroups),this.GetSelectedService(this.data.outwardServices),this.GetSelectedService(this.data.inwardServices))};JourneyPlanningData.prototype.SetSelectedServicesAndFares=function(A,D,B,C){this._selectedFareGroup[outward].fareGroup=A;this._selectedFareGroup[outward].selected=(A!=null);this._selectedFareGroup[inward].fareGroup=D;this._selectedFareGroup[inward].selected=(D!=null);this._selectedService[outward].service=B;this._selectedService[outward].selected=(B!=null);this._selectedService[inward].service=C;this._selectedService[inward].selected=(C!=null);this.SetAvailability();if(this.filterPanel){if(A){this.filterPanel.SetClassAndFlexibility(A.fClass,A.flex)}if(D){this.filterPanel.SetClassAndFlexibility(D.fClass,D.flex)}}if(this.farePanel[outward]){if(A){this.farePanel[outward].SelectFare(A);this.servicePanel[outward].SetAvailableServices(A)}else{this.farePanel[outward].ClearSelection();this.servicePanel[outward].SetAvailableServices(null)}}if(this.farePanel[inward]){if(D){this.farePanel[inward].DisableAllFares(this._selectedFareGroup[inward].fareGroup&&this._selectedFareGroup[inward].fareGroup.isReturn);this.farePanel[inward].SelectFare(D);this.servicePanel[inward].SetAvailableServices(D)}else{this.farePanel[inward].ClearSelection();this.servicePanel[inward].SetAvailableServices(null)}}if(B){this.servicePanel[outward].SelectService(B)}else{this.servicePanel[outward].ClearSelection();if(mixingDeck.outwardDateTime){this.servicePanel[outward].ScrollToShowTime(mixingDeck.outwardDateTime,mixingDeck.outwardDepartAfter)}}if(this.servicePanel[inward]){if(C){this.servicePanel[inward].SelectService(C)}else{this.servicePanel[inward].ClearSelection();if(mixingDeck.returnDateTime){this.servicePanel[inward].ScrollToShowTime(mixingDeck.returnDateTime,mixingDeck.returnDepartAfter)}}}if(this.choicePanel&&this.choicePanel[outward]){this.choicePanel[outward].UpdateDisplay();this.choicePanel[outward].UpdateChooseFare(false);this.choicePanel[outward].UpdateChooseService(false)}if(this.choicePanel&&this.choicePanel[inward]){this.choicePanel[inward].UpdateDisplay();this.choicePanel[inward].UpdateChooseFare(false);this.choicePanel[inward].UpdateChooseService(false)}this.SetPostbackDetails()};JourneyPlanningData.prototype.GetLoyaltyPoints=function(A){if(A==undefined){return null}else{return this.data.fares[A.repFareId].loyaltyPoints}};JourneyPlanningData.prototype.GetSelectedService=function(B){for(var A in B){if(B[A].isSel){return B[A]}}return null};JourneyPlanningData.prototype.GetSelectedFareGroup=function(B){for(var A in B){if(B[A].isSel){return B[A]}}return null};JourneyPlanningData.prototype.SetServiceArrays=function(){this.outwardServiceArray=new Array();for(var A in this.data.outwardServices){this.outwardServiceArray.push(this.data.outwardServices[A])}this.inwardServiceArray=new Array();for(A in this.data.inwardServices){this.inwardServiceArray.push(this.data.inwardServices[A])}};JourneyPlanningData.prototype.SetServicesOrder=function(){this.outwardServiceArray=new Array();for(var A in this.data.outwardServices){this.outwardServiceArray.push(this.data.outwardServices[A])}this.outwardServiceArray.sort(this.CompareDepartureTimes);this.inwardServiceArray=new Array();for(A in this.data.inwardServices){this.inwardServiceArray.push(this.data.inwardServices[A])}this.inwardServiceArray.sort(this.CompareDepartureTimes)};JourneyPlanningData.prototype.CompareDepartureTimes=function(B,A){if(B.dTime>A.dTime){return 1}else{if(B.dTime<A.dTime){return -1}else{return 0}}};JourneyPlanningData.prototype.CompareFares=function(B,A){if(B.minFare>A.minFare){return 1}if(B.minFare<A.minFare){return -1}else{if(B.maxFare>A.maxFare){return 1}}if(B.maxFare<A.maxFare){return -1}else{return 0}};JourneyPlanningData.prototype.SelectFareGroup=function(B,C,A){if(A){this._selectedFareGroup[B].fareGroup=C;this._selectedFareGroup[B].selected=true;this.SetAvailability()}else{if(!this._selectedFareGroup[B].selected){this._selectedFareGroup[B].fareGroup=C;this._selectedFareGroup[B].selected=false;this.SetAvailability()}else{if(this._selectedFareGroup[B].fareGroup==C){this._selectedFareGroup[B].fareGroup=C;this._selectedFareGroup[B].selected=false;this.SetAvailability()}}}this.SetPostbackDetails()};JourneyPlanningData.prototype.SelectService=function(C,A,B){if(B){this._selectedService[C].service=A;this._selectedService[C].selected=true}else{if(!this._selectedService[C].selected||this._selectedService[C].service==A){this._selectedService[C].service=A;this._selectedService[C].selected=false}}this.SetAvailability();this.SetPostbackDetails()};JourneyPlanningData.prototype.SetAvailability=function(){var C;var A;for(A in this.outwardServiceArray){if(this._selectedFareGroup[outward].fareGroup){C=this.GetServiceFare(this._selectedFareGroup[outward].fareGroup.fareGroupId,this.outwardServiceArray[A]);this.outwardServiceArray[A]._available=(C!=null);this.outwardServiceArray[A]._serviceFare=(C!=null)?C.totFare:undefined;this.outwardServiceArray[A].isDiscounted=this.IsDiscounted(C);if(mixingDeck.firstclassrestrictedservices==1){this.outwardServiceArray[A]._fClassAvailableOnAnyLeg=this.ReturnfClassServiceLegs(this._selectedFareGroup[outward].fareGroup,this.outwardServiceArray[A])}}else{this.outwardServiceArray[A]._available=true;this.outwardServiceArray[A].isDiscounted=false;if(mixingDeck.firstclassrestrictedservices==1){this.outwardServiceArray[A]._fClassAvailableOnAnyLeg="allLegs"}}}for(A in this.inwardServiceArray){if(this._selectedFareGroup[outward].fareGroup&&this._selectedFareGroup[outward].fareGroup.isReturn){C=this.GetServiceFare(this._selectedFareGroup[outward].fareGroup.fareGroupId,this.inwardServiceArray[A]);this.inwardServiceArray[A]._available=(C!=null);this.inwardServiceArray[A]._serviceFare=undefined;this.inwardServiceArray[A].isDiscounted=this.IsDiscounted(C);if(mixingDeck.firstclassrestrictedservices==1){this.inwardServiceArray[A]._fClassAvailableOnAnyLeg=this.ReturnfClassServiceLegs(this._selectedFareGroup[outward].fareGroup,this.inwardServiceArray[A])}}else{if(this._selectedFareGroup[inward].fareGroup){C=this.GetServiceFare(this._selectedFareGroup[inward].fareGroup.fareGroupId,this.inwardServiceArray[A]);this.inwardServiceArray[A]._available=(C!=null);this.inwardServiceArray[A]._serviceFare=(C!=null)?C.totFare:undefined;this.inwardServiceArray[A].isDiscounted=this.IsDiscounted(C);if(mixingDeck.firstclassrestrictedservices==1){this.inwardServiceArray[A]._fClassAvailableOnAnyLeg=this.ReturnfClassServiceLegs(this._selectedFareGroup[inward].fareGroup,this.inwardServiceArray[A])}}else{this.inwardServiceArray[A]._available=true;this.inwardServiceArray[A]._serviceFare=undefined;this.inwardServiceArray[A].isDiscounted=false;if(mixingDeck.firstclassrestrictedservices==1){this.inwardServiceArray[A]._fClassAvailableOnAnyLeg="allLegs"}}}}var E;for(E in this.orderedFares.outward.singles){if(this._selectedService[outward].service){C=this.GetServiceFare(this.orderedFares.outward.singles[E].fareGroupId,this._selectedService[outward].service);this.orderedFares.outward.singles[E]._available=(C!=null);if(mixingDeck.firstclassrestrictedservices==1){this.orderedFares.outward.singles[E]._fClassAvailableOnAnyLeg=this.ReturnfClassServiceLegs(this.orderedFares.outward.singles[E],this._selectedService[outward].service)}}else{this.orderedFares.outward.singles[E]._available=true;if(mixingDeck.firstclassrestrictedservices==1){this.orderedFares.outward.singles[E]._fClassAvailableOnAnyLeg="allLegs"}}}for(E in this.orderedFares.outward.returns){var D=true;var B="allLegs";if(this._selectedService[outward].service){C=this.GetServiceFare(this.orderedFares.outward.returns[E].fareGroupId,this._selectedService[outward].service);D=(C!=null);if(mixingDeck.firstclassrestrictedservices==1){B=this.ReturnfClassServiceLegs(this.orderedFares.outward.returns[E],this._selectedService[outward].service)}}if(this._selectedService[inward].service&&D){C=this.GetServiceFare(this.orderedFares.outward.returns[E].fareGroupId,this._selectedService[inward].service);D=(C!=null);if(mixingDeck.firstclassrestrictedservices==1){B=this.ReturnfClassServiceLegs(this.orderedFares.outward.returns[E],this._selectedService[inward].service)}}this.orderedFares.outward.returns[E]._available=D;if(mixingDeck.firstclassrestrictedservices==1){this.orderedFares.outward.returns[E]._fClassAvailableOnAnyLeg=B}}for(E in this.orderedFares.inward.singles){if(this._selectedFareGroup[outward].fareGroup&&this._selectedFareGroup[outward].fareGroup.isReturn){this.orderedFares.inward.singles[E]._available=false}else{if(this._selectedService[inward].service){C=this.GetServiceFare(this.orderedFares.inward.singles[E].fareGroupId,this._selectedService[inward].service);this.orderedFares.inward.singles[E]._available=(C!=null);if(mixingDeck.firstclassrestrictedservices==1){this.orderedFares.inward.singles[E]._fClassAvailableOnAnyLeg=this.ReturnfClassServiceLegs(this.orderedFares.inward.singles[E],this._selectedService[inward].service)}}else{this.orderedFares.inward.singles[E]._available=true;if(mixingDeck.firstclassrestrictedservices==1){this.orderedFares.inward.singles[E]._fClassAvailableOnAnyLeg="allLegs"}}}}if(this._selectedService[inward].service&&this._selectedService[inward].service.selected&&!this._selectedService[inward].service._available){this._selectedFareGroup[inward].fareGroup.selected=false;this._selectedFareGroup[inward].selected=false;this.OnFarePanelChanged(null,[inward,null,false])}};JourneyPlanningData.prototype.GetServiceFare=function(C,A){for(var B in A.serviceFares){if(A.serviceFares[B].fgId==C){return A.serviceFares[B]}}return null};JourneyPlanningData.prototype.ReturnfClassServiceLegs=function(E,A){if(E.fClass=="1"){var B=0;var C=0;if(A.serviceLegs!=undefined){for(var D in A.serviceLegs){if(A.serviceLegs[D].modeType!="_"){continue}B++;if((A.serviceLegs[D].sClass=="F")||(A.serviceLegs[D].sClass=="B")){C++}}if(C==0){return"noLegs"}else{if(C>0&&C<B){return"anyLegs"}else{if(C>0&&C==B){return"allLegs"}}}}else{return"allLegs"}}return"allLegs"};JourneyPlanningData.prototype.IsDiscounted=function(B){if(!B){return false}if(B.isDiscounted==undefined){B.isDiscounted=false;for(var A in B.fareIds){if(this.data.fares[B.fareIds[A]].isDiscounted){B.isDiscounted=true;break}}}return B.isDiscounted};JourneyPlanningData.prototype.IsSelected=function(D,F){this.UpdateUpgradePanel(F);var E=document.getElementById("FirstClassUpgradeControl");var B=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,E);if(this._selectedFareGroup[outward].selected&&outwardUpgradeID>0&&this._selectedFareGroup[outward].fareGroup.isReturn==false){if(this._selectedService[outward].service!=null){var C=this.GetServiceFare(this._selectedFareGroup[outward].fareGroup.fareGroupId,this._selectedService[outward].service);document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeOfferedMixingDeckOutward").value=this.data.fares[C.fareIds[0]].ttCode}else{document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeOfferedMixingDeckOutward").value=this.data.fares[this._selectedFareGroup[outward].fareGroup.repFareId].ttCode}var A=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,B[0]);if(A[0].innerHTML!=mixingDeck.resourceStrings.FirstClassUpgradedConfirmedText){document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeCostOfUpgradeOutward").value=A[0].innerHTML}}if(this._selectedFareGroup[outward].selected&&returnUpgradeID>0&&this._selectedFareGroup[outward].fareGroup.isReturn==true){if(this._selectedService[outward].service!=null){var C=this.GetServiceFare(this._selectedFareGroup[outward].fareGroup.fareGroupId,this._selectedService[outward].service);document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeOfferedMixingDeckOutward").value=this.data.fares[C.fareIds[0]].ttCode}else{document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeOfferedMixingDeckOutward").value=this.data.fares[this._selectedFareGroup[outward].fareGroup.repFareId].ttCode}var A=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,B[1]);if(A[0].innerHTML!=mixingDeck.resourceStrings.FirstClassUpgradedConfirmedText){document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeCostOfUpgradeOutward").value=A[0].innerHTML}document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeOfferedMixingDeckReturn").value="";document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeCostOfUpgradeReturn").value=""}if(this._selectedFareGroup[outward].selected&&isOutwardUpgradeTaken==false&&returnUpgradeID==0&&this._selectedFareGroup[outward].fareGroup.isReturn==true){document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeOfferedMixingDeckOutward").value="";document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeCostOfUpgradeOutward").value="";document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeOfferedMixingDeckReturn").value="";document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeCostOfUpgradeReturn").value=""}if(returnUpgradeID>0&&this._selectedFareGroup[inward].selected&&this._selectedFareGroup[outward].selected&&this._selectedFareGroup[outward].fareGroup.isReturn==false){if(this._selectedService[inward].service!=null){var C=this.GetServiceFare(this._selectedFareGroup[inward].fareGroup.fareGroupId,this._selectedService[inward].service);document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeOfferedMixingDeckReturn").value=this.data.fares[C.fareIds[0]].ttCode}else{document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeOfferedMixingDeckReturn").value=this.data.fares[this._selectedFareGroup[inward].fareGroup.repFareId].ttCode}var A=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,B[1]);if(A[0].innerHTML!=mixingDeck.resourceStrings.FirstClassUpgradedConfirmedText){document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeCostOfUpgradeReturn").value=A[0].innerHTML}}if(this._selectedFareGroup[outward].selected&&isOutwardUpgradeTaken==false&&outwardUpgradeID==0&&this._selectedFareGroup[outward].fareGroup.isReturn==false){document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeOfferedMixingDeckOutward").value="";document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeCostOfUpgradeOutward").value=""}if(this._selectedFareGroup[inward].selected&&isReturnUpgradeTaken==false&&returnUpgradeID==0){document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeOfferedMixingDeckReturn").value="";document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeCostOfUpgradeReturn").value=""}if(this._selectedFareGroup[outward].selected&&isReturnUpgradeTaken==false&&this._selectedFareGroup[outward].fareGroup.isReturn==true&&returnUpgradeID==0){document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeOfferedMixingDeckReturn").value="";document.getElementById("ctl00_mainContentPlaceHolder_hdnFirstClassUpgradeCostOfUpgradeReturn").value=""}if(this._selectedFareGroup[D].fareGroup==F){return this._selectedFareGroup[D].selected}else{return false}};JourneyPlanningData.prototype.UpdateUpgradePanel=function(M){if(this._selectedFareGroup[outward].selected&&this._selectedFareGroup[inward].selected&&this._selectedFareGroup[outward].fareGroup.isReturn==false){var A=this._selectedFareGroup[outward].selected;if(A&&this._selectedFareGroup[outward].fareGroup.upgradeFareGroupId>0){if((this._selectedFareGroup[outward].fareGroup.mandRes=="Y"&&this._selectedService[outward].service!=null)||(this._selectedFareGroup[outward].fareGroup.mandRes=="N"&&this._selectedService[outward].service!=null)){var S=this.GetServiceFare(this._selectedFareGroup[outward].fareGroup.fareGroupId,this._selectedService[outward].service);var P=this.GetServiceFare(S.upgradeFareGroupId,this._selectedService[outward].service);if(P!=null){var C=this.data.outwardFareGroups[S.upgradeFareGroupId];var K=this.ReturnfClassServiceLegs(C,this._selectedService[outward].service);if((mixingDeck.firstclassrestrictedservices==1&&(K=="allLegs"||K=="anyLegs"))||mixingDeck.firstclassrestrictedservices!=1){ShowElement(document.getElementById("FirstClassUpgradeControl"),true);var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],true);YAHOO.util.Dom.removeClass(E[0],"MDUpgraded");var Q=YAHOO.util.Dom.getElementsByClassName("UpgradeDirection",undefined,E[0]);Q[0].innerHTML=mixingDeck.resourceStrings.FirstClassOutward;var F=YAHOO.util.Dom.getElementsByClassName("UpgradeDescription",undefined,E[0]);F[0].innerHTML=mixingDeck.resourceStrings.FirstClassUpgradeText;var N=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,E[0]);var I=mixingDeck.resourceStrings.FirstClassUpgradedPriceDifference;I=I.replace("{0}",((P.totFare/100)-(S.totFare/100)).toFixed(2));N[0].innerHTML=I;outwardUpgradeID=S.upgradeFareGroupId}else{var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],false);outwardUpgradeID=0}}else{var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],false);outwardUpgradeID=0}}else{if((this._selectedFareGroup[outward].fareGroup.mandRes=="N"&&this._selectedService[outward].service==null)){ShowElement(document.getElementById("FirstClassUpgradeControl"),true);var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],true);YAHOO.util.Dom.removeClass(E[0],"MDUpgraded");var Q=YAHOO.util.Dom.getElementsByClassName("UpgradeDirection",undefined,E[0]);Q[0].innerHTML=mixingDeck.resourceStrings.FirstClassOutward;var F=YAHOO.util.Dom.getElementsByClassName("UpgradeDescription",undefined,E[0]);F[0].innerHTML=mixingDeck.resourceStrings.FirstClassUpgradeText;var N=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,E[0]);var L=this._selectedFareGroup[outward].fareGroup;var C=this.data.outwardFareGroups[L.upgradeFareGroupId];outwardUpgradeID=L.upgradeFareGroupId;if(C!=null){var I=mixingDeck.resourceStrings.FirstClassUpgradedPriceDifference;I=I.replace("{0}",((C.maxFare/100)-(L.maxFare/100)).toFixed(2));N[0].innerHTML=I}}else{var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],false);outwardUpgradeID=0}}}if(A&&this._selectedFareGroup[outward].fareGroup.upgradeFareGroupId<=0&&!isOutwardUpgradeTaken){var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],false);outwardUpgradeID=0}if(A&&this._selectedFareGroup[outward].fareGroup.upgradeFareGroupId<=0&&isOutwardUpgradeTaken){var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],true);outwardUpgradeID=0}var B=this._selectedFareGroup[inward].selected;if(B!=null&&this._selectedFareGroup[inward].fareGroup.upgradeFareGroupId>0){if((this._selectedFareGroup[inward].fareGroup.mandRes=="Y"&&this._selectedService[inward].service!=null)||(this._selectedFareGroup[inward].fareGroup.mandRes=="N"&&this._selectedService[inward].service!=null)){var D=this.GetServiceFare(this._selectedFareGroup[inward].fareGroup.fareGroupId,this._selectedService[inward].service);var G=this.GetServiceFare(D.upgradeFareGroupId,this._selectedService[inward].service);if(G!=null){var C=this.data.inwardFareGroups[D.upgradeFareGroupId];var K=this.ReturnfClassServiceLegs(C,this._selectedService[inward].service);if((mixingDeck.firstclassrestrictedservices==1&&(K=="allLegs"||K=="anyLegs"))||mixingDeck.firstclassrestrictedservices!=1){ShowElement(document.getElementById("FirstClassUpgradeControl"),true);var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[1],true);YAHOO.util.Dom.removeClass(E[1],"MDUpgraded");var Q=YAHOO.util.Dom.getElementsByClassName("UpgradeDirection",undefined,E[1]);Q[0].innerHTML=mixingDeck.resourceStrings.FirstClassReturn;var F=YAHOO.util.Dom.getElementsByClassName("UpgradeDescription",undefined,E[1]);F[0].innerHTML=mixingDeck.resourceStrings.FirstClassUpgradeText;var N=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,E[1]);var I=mixingDeck.resourceStrings.FirstClassUpgradedPriceDifference;I=I.replace("{0}",((G.totFare/100)-(D.totFare/100)).toFixed(2));N[0].innerHTML=I;returnUpgradeID=D.upgradeFareGroupId}else{var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[1],false);returnUpgradeID=0}}else{var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[1],false);returnUpgradeID=0}}else{if((this._selectedFareGroup[inward].fareGroup.mandRes=="N"&&this._selectedService[inward].service==null)){ShowElement(document.getElementById("FirstClassUpgradeControl"),true);var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[1],true);YAHOO.util.Dom.removeClass(E[1],"MDUpgraded");var Q=YAHOO.util.Dom.getElementsByClassName("UpgradeDirection",undefined,E[1]);Q[0].innerHTML=mixingDeck.resourceStrings.FirstClassReturn;var F=YAHOO.util.Dom.getElementsByClassName("UpgradeDescription",undefined,E[1]);F[0].innerHTML=mixingDeck.resourceStrings.FirstClassUpgradeText;var N=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,E[1]);var O=this._selectedFareGroup[inward].fareGroup;var C=this.data.inwardFareGroups[O.upgradeFareGroupId];returnUpgradeID=O.upgradeFareGroupId;if(C!=null){var I=mixingDeck.resourceStrings.FirstClassUpgradedPriceDifference;I=I.replace("{0}",((C.maxFare/100)-(O.maxFare/100)).toFixed(2));N[0].innerHTML=I}}else{var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[1],false);returnUpgradeID=0}}}if(B&&this._selectedFareGroup[inward].fareGroup.upgradeFareGroupId<=0&&!isReturnUpgradeTaken){var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[1],false)}if(B&&this._selectedFareGroup[inward].fareGroup.upgradeFareGroupId<=0&&isReturnUpgradeTaken){var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[1],true);returnUpgradeID=0}}if((this._selectedFareGroup[outward].selected&&!this._selectedFareGroup[inward].selected)||(this._selectedFareGroup[outward].selected&&this._selectedFareGroup[inward].selected&&this._selectedFareGroup[outward].fareGroup.isReturn==true)){var A=this._selectedFareGroup[outward].selected;if(A&&this._selectedFareGroup[outward].fareGroup.upgradeFareGroupId>0&&this._selectedFareGroup[outward].fareGroup.isReturn==false){if((this._selectedFareGroup[outward].fareGroup.mandRes=="Y"&&this._selectedService[outward].service!=null)||(this._selectedFareGroup[outward].fareGroup.mandRes=="N"&&this._selectedService[outward].service!=null)){var S=this.GetServiceFare(this._selectedFareGroup[outward].fareGroup.fareGroupId,this._selectedService[outward].service);var P=this.GetServiceFare(S.upgradeFareGroupId,this._selectedService[outward].service);if(P!=null){var C=this.data.outwardFareGroups[S.upgradeFareGroupId];var K=this.ReturnfClassServiceLegs(C,this._selectedService[outward].service);if((mixingDeck.firstclassrestrictedservices==1&&(K=="allLegs"||K=="anyLegs"))||mixingDeck.firstclassrestrictedservices!=1){ShowElement(document.getElementById("FirstClassUpgradeControl"),true);var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],true);ShowElement(E[1],false);YAHOO.util.Dom.removeClass(E[0],"MDUpgraded");var Q=YAHOO.util.Dom.getElementsByClassName("UpgradeDirection",undefined,E[0]);Q[0].innerHTML=mixingDeck.resourceStrings.FirstClassOutward;var F=YAHOO.util.Dom.getElementsByClassName("UpgradeDescription",undefined,E[0]);F[0].innerHTML=mixingDeck.resourceStrings.FirstClassUpgradeText;var N=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,E[0]);var I=mixingDeck.resourceStrings.FirstClassUpgradedPriceDifference;I=I.replace("{0}",((P.totFare/100)-(S.totFare/100)).toFixed(2));N[0].innerHTML=I;outwardUpgradeID=S.upgradeFareGroupId}else{ShowElement(document.getElementById("FirstClassUpgradeControl"),false);outwardUpgradeID=0}}else{ShowElement(document.getElementById("FirstClassUpgradeControl"),false);outwardUpgradeID=0}}else{if((this._selectedFareGroup[outward].fareGroup.mandRes=="N"&&this._selectedService[outward].service==null)){ShowElement(document.getElementById("FirstClassUpgradeControl"),true);var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],true);ShowElement(E[1],false);YAHOO.util.Dom.removeClass(E[0],"MDUpgraded");var Q=YAHOO.util.Dom.getElementsByClassName("UpgradeDirection",undefined,E[0]);Q[0].innerHTML=mixingDeck.resourceStrings.FirstClassOutward;var F=YAHOO.util.Dom.getElementsByClassName("UpgradeDescription",undefined,E[0]);F[0].innerHTML=mixingDeck.resourceStrings.FirstClassUpgradeText;var N=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,E[0]);var L=this._selectedFareGroup[outward].fareGroup;var C=this.data.outwardFareGroups[L.upgradeFareGroupId];outwardUpgradeID=L.upgradeFareGroupId;if(C!=null){var I=mixingDeck.resourceStrings.FirstClassUpgradedPriceDifference;I=I=I.replace("{0}",((C.maxFare/100)-(L.maxFare/100)).toFixed(2));N[0].innerHTML=I}}else{ShowElement(document.getElementById("FirstClassUpgradeControl"),false);outwardUpgradeID=0}}}else{if(A&&this._selectedFareGroup[outward].fareGroup.upgradeFareGroupId>0&&this._selectedFareGroup[outward].fareGroup.isReturn==true){if((this._selectedFareGroup[outward].fareGroup.mandRes=="Y"||this._selectedFareGroup[outward].fareGroup.mandRes=="N"||this._selectedFareGroup[outward].fareGroup.mandRes=="O")&&(this._selectedService[outward].service!=null&&this._selectedService[inward].service!=null)){var P;var H;var S=this.GetServiceFare(this._selectedFareGroup[outward].fareGroup.fareGroupId,this._selectedService[outward].service);var D=this.GetServiceFare(this._selectedFareGroup[outward].fareGroup.fareGroupId,this._selectedService[inward].service);if(S!=null){P=this.GetServiceFare(S.upgradeFareGroupId,this._selectedService[outward].service);H=this.GetServiceFare(S.upgradeFareGroupId,this._selectedService[inward].service)}if(P!=null&&H!=null){var C=this.data.outwardFareGroups[S.upgradeFareGroupId];var K=this.ReturnfClassServiceLegs(C,this._selectedService[outward].service);var R=this.ReturnfClassServiceLegs(C,this._selectedService[inward].service);if((mixingDeck.firstclassrestrictedservices==1&&(K=="allLegs"||K=="anyLegs")&&(R=="allLegs"||R=="anyLegs"))||mixingDeck.firstclassrestrictedservices!=1){ShowElement(document.getElementById("FirstClassUpgradeControl"),true);var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],false);ShowElement(E[1],true);YAHOO.util.Dom.removeClass(E[1],"MDUpgraded");var Q=YAHOO.util.Dom.getElementsByClassName("UpgradeDirection",undefined,E[1]);Q[0].innerHTML=mixingDeck.resourceStrings.FirstClassReturn;var F=YAHOO.util.Dom.getElementsByClassName("UpgradeDescription",undefined,E[1]);F[0].innerHTML=mixingDeck.resourceStrings.FirstClassUpgradeText;var N=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,E[1]);var I=mixingDeck.resourceStrings.FirstClassUpgradedPriceDifference;I=I.replace("{0}",((P.totFare/100)-(S.totFare/100)).toFixed(2));N[0].innerHTML=I;returnUpgradeID=S.upgradeFareGroupId}else{ShowElement(document.getElementById("FirstClassUpgradeControl"),false);returnUpgradeID=0}}else{ShowElement(document.getElementById("FirstClassUpgradeControl"),false);returnUpgradeID=0}}else{if(((this._selectedFareGroup[outward].fareGroup.mandRes=="N")||(this._selectedFareGroup[outward].fareGroup.mandRes=="O"))&&(this._selectedService[outward].service!=null&&this._selectedService[inward].service==null)){var P;var S=this.GetServiceFare(this._selectedFareGroup[outward].fareGroup.fareGroupId,this._selectedService[outward].service);if(S!=null){P=this.GetServiceFare(S.upgradeFareGroupId,this._selectedService[outward].service)}if(P!=null){var C=this.data.outwardFareGroups[S.upgradeFareGroupId];var K=this.ReturnfClassServiceLegs(C,this._selectedService[outward].service);if((mixingDeck.firstclassrestrictedservices==1&&(K=="allLegs"||K=="anyLegs"))||mixingDeck.firstclassrestrictedservices!=1){ShowElement(document.getElementById("FirstClassUpgradeControl"),true);var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],false);ShowElement(E[1],true);YAHOO.util.Dom.removeClass(E[1],"MDUpgraded");var Q=YAHOO.util.Dom.getElementsByClassName("UpgradeDirection",undefined,E[1]);Q[0].innerHTML=mixingDeck.resourceStrings.FirstClassReturn;var F=YAHOO.util.Dom.getElementsByClassName("UpgradeDescription",undefined,E[1]);F[0].innerHTML=mixingDeck.resourceStrings.FirstClassUpgradeText;var N=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,E[1]);var I=mixingDeck.resourceStrings.FirstClassUpgradedPriceDifference;I=I.replace("{0}",((P.totFare/100)-(S.totFare/100)).toFixed(2));N[0].innerHTML=I;returnUpgradeID=S.upgradeFareGroupId}else{ShowElement(document.getElementById("FirstClassUpgradeControl"),false);returnUpgradeID=0}}else{ShowElement(document.getElementById("FirstClassUpgradeControl"),false);returnUpgradeID=0}}else{if(this._selectedFareGroup[outward].fareGroup.mandRes=="N"&&(this._selectedService[outward].service==null&&this._selectedService[inward].service!=null)){var H;var D=this.GetServiceFare(this._selectedFareGroup[outward].fareGroup.fareGroupId,this._selectedService[inward].service);if(D!=null){H=this.GetServiceFare(D.upgradeFareGroupId,this._selectedService[inward].service)}if(H!=null){var C=this.data.outwardFareGroups[D.upgradeFareGroupId];var K=this.ReturnfClassServiceLegs(C,this._selectedService[inward].service);if((mixingDeck.firstclassrestrictedservices==1&&(K=="allLegs"||K=="anyLegs"))||mixingDeck.firstclassrestrictedservices!=1){ShowElement(document.getElementById("FirstClassUpgradeControl"),true);var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],false);ShowElement(E[1],true);YAHOO.util.Dom.removeClass(E[1],"MDUpgraded");var Q=YAHOO.util.Dom.getElementsByClassName("UpgradeDirection",undefined,E[1]);Q[0].innerHTML=mixingDeck.resourceStrings.FirstClassReturn;var F=YAHOO.util.Dom.getElementsByClassName("UpgradeDescription",undefined,E[1]);F[0].innerHTML=mixingDeck.resourceStrings.FirstClassUpgradeText;var N=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,E[1]);var I=mixingDeck.resourceStrings.FirstClassUpgradedPriceDifference;I=I.replace("{0}",((H.totFare/100)-(D.totFare/100)).toFixed(2));N[0].innerHTML=I;returnUpgradeID=D.upgradeFareGroupId}else{ShowElement(document.getElementById("FirstClassUpgradeControl"),false);returnUpgradeID=0}}else{ShowElement(document.getElementById("FirstClassUpgradeControl"),false);returnUpgradeID=0}}else{if(this._selectedFareGroup[outward].fareGroup.mandRes=="N"&&(this._selectedService[outward].service==null&&this._selectedService[inward].service==null)){ShowElement(document.getElementById("FirstClassUpgradeControl"),true);var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],false);ShowElement(E[1],true);YAHOO.util.Dom.removeClass(E[1],"MDUpgraded");var Q=YAHOO.util.Dom.getElementsByClassName("UpgradeDirection",undefined,E[1]);Q[0].innerHTML=mixingDeck.resourceStrings.FirstClassReturn;var F=YAHOO.util.Dom.getElementsByClassName("UpgradeDescription",undefined,E[1]);F[0].innerHTML=mixingDeck.resourceStrings.FirstClassUpgradeText;var N=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,E[1]);var L=this._selectedFareGroup[outward].fareGroup;var C=this.data.outwardFareGroups[L.upgradeFareGroupId];if(C!=null){var I=mixingDeck.resourceStrings.FirstClassUpgradedPriceDifference;I=I.replace("{0}",((C.maxFare/100)-(L.maxFare/100)).toFixed(2));N[0].innerHTML=I}returnUpgradeID=L.upgradeFareGroupId}else{ShowElement(document.getElementById("FirstClassUpgradeControl"),false);returnUpgradeID=0}}}}}}if(A&&this._selectedFareGroup[outward].fareGroup.upgradeFareGroupId<=0&&!isOutwardUpgradeTaken&&this._selectedFareGroup[outward].fareGroup.isReturn==false){ShowElement(document.getElementById("FirstClassUpgradeControl"),false);outwardUpgradeID=0}if(A&&this._selectedFareGroup[outward].fareGroup.upgradeFareGroupId<=0&&!isOutwardUpgradeTaken&&this._selectedFareGroup[outward].fareGroup.isReturn==true){ShowElement(document.getElementById("FirstClassUpgradeControl"),false);returnUpgradeID=0}if(A&&this._selectedFareGroup[outward].fareGroup.upgradeFareGroupId<=0&&isOutwardUpgradeTaken&&this._selectedFareGroup[outward].fareGroup.isReturn==false){var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],true);outwardUpgradeID=0}else{if(A&&this._selectedFareGroup[outward].fareGroup.upgradeFareGroupId<=0&&isOutwardUpgradeTaken&&this._selectedFareGroup[outward].fareGroup.isReturn==true){var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[0],false);ShowElement(E[1],true);returnUpgradeID=0}}}if(!this._selectedFareGroup[outward].selected&&this._selectedFareGroup[inward].selected){var B=this._selectedFareGroup[inward].selected;if(B&&this._selectedFareGroup[inward].fareGroup.upgradeFareGroupId>0){if((this._selectedFareGroup[inward].fareGroup.mandRes=="Y"&&this._selectedService[inward].service!=null)||(this._selectedFareGroup[inward].fareGroup.mandRes=="N"&&this._selectedService[inward].service!=null)){var D=this.GetServiceFare(this._selectedFareGroup[inward].fareGroup.fareGroupId,this._selectedService[inward].service);var G=this.GetServiceFare(D.upgradeFareGroupId,this._selectedService[inward].service);if(G!=null){var C=this.data.inwardFareGroups[D.upgradeFareGroupId];var K=this.ReturnfClassServiceLegs(C,this._selectedService[inward].service);if((mixingDeck.firstclassrestrictedservices==1&&(K=="allLegs"||K=="anyLegs"))||mixingDeck.firstclassrestrictedservices!=1){ShowElement(document.getElementById("FirstClassUpgradeControl"),true);var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[1],true);ShowElement(E[0],false);YAHOO.util.Dom.removeClass(E[1],"MDUpgraded");var Q=YAHOO.util.Dom.getElementsByClassName("UpgradeDirection",undefined,E[1]);Q[0].innerHTML=mixingDeck.resourceStrings.FirstClassReturn;var F=YAHOO.util.Dom.getElementsByClassName("UpgradeDescription",undefined,E[1]);F[0].innerHTML=mixingDeck.resourceStrings.FirstClassUpgradeText;var N=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,E[1]);var I=mixingDeck.resourceStrings.FirstClassUpgradedPriceDifference;I=I.replace("{0}",((G.totFare/100)-(D.totFare/100)).toFixed(2));N[0].innerHTML=I;returnUpgradeID=D.upgradeFareGroupId}else{ShowElement(document.getElementById("FirstClassUpgradeControl"),false);returnUpgradeID=0}}else{ShowElement(document.getElementById("FirstClassUpgradeControl"),false);returnUpgradeID=0}}else{if((this._selectedFareGroup[inward].fareGroup.mandRes=="N"&&this._selectedService[inward].service==null)){ShowElement(document.getElementById("FirstClassUpgradeControl"),true);var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[1],true);ShowElement(E[0],false);YAHOO.util.Dom.removeClass(E[1],"MDUpgraded");var Q=YAHOO.util.Dom.getElementsByClassName("UpgradeDirection",undefined,E[1]);Q[0].innerHTML=mixingDeck.resourceStrings.FirstClassReturn;var F=YAHOO.util.Dom.getElementsByClassName("UpgradeDescription",undefined,E[1]);F[0].innerHTML=mixingDeck.resourceStrings.FirstClassUpgradeText;var N=YAHOO.util.Dom.getElementsByClassName("UpgradeCost",undefined,E[1]);var O=this._selectedFareGroup[inward].fareGroup;var C=this.data.inwardFareGroups[O.upgradeFareGroupId];if(C!=null){var I=mixingDeck.resourceStrings.FirstClassUpgradedPriceDifference;I=I.replace("{0}",((C.maxFare/100)-(O.maxFare/100)).toFixed(2));N[0].innerHTML=I}returnUpgradeID=O.upgradeFareGroupId}else{ShowElement(document.getElementById("FirstClassUpgradeControl"),false);returnUpgradeID=0}}}if(B&&this._selectedFareGroup[inward].fareGroup.upgradeFareGroupId<=0&&!isReturnUpgradeTaken){ShowElement(document.getElementById("FirstClassUpgradeControl"),false);returnUpgradeID=0}if(B&&this._selectedFareGroup[inward].fareGroup.upgradeFareGroupId<=0&&isReturnUpgradeTaken){var J=document.getElementById("FirstClassUpgradeControl");var E=YAHOO.util.Dom.getElementsByClassName("FirstClassUpgradeControl",undefined,J);ShowElement(E[1],true)}}if(!this._selectedFareGroup[outward].selected&&!this._selectedFareGroup[inward].selected){ShowElement(document.getElementById("FirstClassUpgradeControl"),false);returnUpgradeID=0;outwardUpgradeID=0}this.totalCostPanel.ShowFirstClassUpgrade()};JourneyPlanningData.prototype.SetPostbackDetails=function(){if(this.fareGroupPostbackControl&&this.fareGroupPostbackControl[outward]){if(this._selectedFareGroup[outward].selected){this.fareGroupPostbackControl[outward].value=this._selectedFareGroup[outward].fareGroup.fareGroupId}else{this.fareGroupPostbackControl[outward].value=""}}if(this.fareGroupPostbackControl&&this.fareGroupPostbackControl[inward]){if(!this._selectedFareGroup[outward].selected||!this._selectedFareGroup[outward].fareGroup.isReturn){if(this._selectedFareGroup[inward].selected){this.fareGroupPostbackControl[inward].value=this._selectedFareGroup[inward].fareGroup.fareGroupId}else{this.fareGroupPostbackControl[inward].value=""}}else{this.fareGroupPostbackControl[inward].value=""}}this.SetPostbackService(outward);this.SetPostbackService(inward)};JourneyPlanningData.prototype.SetPostbackService=function(A){if(!this._selectedService[A].selected){this.servicePostbackControl[A].value=""}else{this.servicePostbackControl[A].value=this._selectedService[A].service.serviceId}}
