function SeasonChoicePanel(A,B){this.choicePanelId=A;this.direction=B}SeasonChoicePanel.prototype.SetTotalCostPanel=function(A){this.totalCostPanel=A};SeasonChoicePanel.prototype.SetJourneyData=function(A){this.journeyPlanningData=A;this.origin=A.data.requestedOrigin;this.destination=A.data.requestedDestination;this.multiplePassengers=A.data.multiplePassengers;this.originalFareGroup=null;this.startDate=A.data.outwardDate;this.fares=A.data.fares;this.locations=A.data.locations;this.UpdateDisplay()};SeasonChoicePanel.prototype.SetVisibility=function(A){this.Initialise();ShowElement(this.choicePanel,A)};SeasonChoicePanel.prototype.UpdateDisplay=function(){var A;this.Initialise();if(this.GetFareGroup()!=null){this.origin=nlcCodes[this.GetFareGroup().oNlc][0];this.destination=nlcCodes[this.GetFareGroup().dNlc][0]}else{this.origin=this.journeyPlanningData.data.requestedOrigin;this.destination=this.journeyPlanningData.data.requestedDestination}this.CalculateSpecificFare();if(!this.IsDisplayingReturn()){this.ShowReturnDetails(false);this.ShowReturnBackground(false)}else{this.ShowReturnDetails(true)}SetVisibility(this.chooseOnlineDiscountLine,this.IsFareDiscounted());this.SetFareGroupDetails();this.SetServiceDetails();if(this.IsSelected(this.GetFareGroup())&&this.fare==undefined){this.fare=this.fares[this.GetFareGroup().repFareId];this.serviceFare=undefined}if(this.GetFareGroup()!=null){if(this.CanWeBuyThisTicket()){YAHOO.util.Dom.addClass(this.chooseOnlineDiscountLine,"OnlineDiscountLineChosen");if(this.GetFareGroup().isReturn){YAHOO.util.Dom.addClass(this.chooseChosenTicket,"ReturnTicketSelected");YAHOO.util.Dom.removeClass(this.chooseChosenTicket,"TicketSelected");SetVisibility(this.chooseFarePriceIcon,true);this.ShowReturnBackground(true)}else{YAHOO.util.Dom.addClass(this.chooseChosenTicket,"TicketSelected");YAHOO.util.Dom.removeClass(this.chooseChosenTicket,"ReturnTicketSelected");SetVisibility(this.chooseFarePriceIcon,true)}if(this.direction==outward){A=document.getElementById("outwardTicketInformationIFrame")}else{A=document.getElementById("inwardTicketInformationIFrame")}A.deferedSrc=this.fare.ttcUrl;if(this.IsDisplayingReturn()&&this.direction==inward){this.totalCostPanel.SetData(this.direction,null,null)}else{this.totalCostPanel.SetData(this.direction,this.GetFareGroup(),this.serviceFare)}}else{YAHOO.util.Dom.removeClass(this.chooseOnlineDiscountLine,"OnlineDiscountLineChosen");YAHOO.util.Dom.removeClass(this.chooseChosenTicket,"TicketSelected");YAHOO.util.Dom.removeClass(this.chooseChosenTicket,"ReturnTicketSelected");SetVisibility(this.chooseFarePriceIcon,false);this.ShowReturnBackground(false);this.totalCostPanel.SetData(this.direction,undefined,undefined)}}else{this.totalCostPanel.SetData(this.direction,undefined,undefined)}if(this.GetFareGroup()!=null&&this.GetFareGroup().isReturn){this.ShowReturnDetails(true)}};SeasonChoicePanel.prototype.Initialise=function(){if(this.chooseFare==undefined){this.choicePanel=document.getElementById(this.choicePanelId);this.chooseFare=YAHOO.util.Dom.getElementsByClassName("ChooseFare",undefined,this.choicePanel)[0];this.chooseService=YAHOO.util.Dom.getElementsByClassName("ChooseService",undefined,this.choicePanelId)[0];this.chooseInfo=YAHOO.util.Dom.getElementsByClassName("ChooseInfo",undefined,this.choicePanelId)[0];this.choosePOVInfoLine=YAHOO.util.Dom.getElementsByClassName("ChoosePOVInfoLine",undefined,this.choicePanelId);this.chooseInfoLines=YAHOO.util.Dom.getElementsByClassName("ChooseInfoLine",undefined,this.choicePanelId);this.chooseInfoDetails=YAHOO.util.Dom.getElementsByClassName("ChooseInfoDetails",undefined,this.choicePanelId);this.chooseInfoDateAdditional=YAHOO.util.Dom.getElementsByClassName("ChooseInfoDateAdditional",undefined,this.choicePanelId)[0];this.chooseInfoNote=YAHOO.util.Dom.getElementsByClassName("ChooseInfoNote",undefined,this.choicePanelId)[0];this.chooseInfoReserve=YAHOO.util.Dom.getElementsByClassName("ChooseInfoReserve",undefined,this.choicePanelId)[0];this.chooseInfoReserveOriginalText=this.chooseInfoReserve.innerHTML;this.chooseChosenTicket=YAHOO.util.Dom.getElementsByClassName("ChosenTicket",undefined,this.choicePanelId)[0];if(this.direction==outward){this.chooseChosenReturnTicket=YAHOO.util.Dom.getElementsByClassName("ChosenReturnTicket",undefined,this.choicePanelId)[0]}this.chooseOnlineDiscountLine=YAHOO.util.Dom.getElementsByClassName("OnlineDiscountLine",undefined,this.choicePanelId)[0];this.chooseFareDescription=YAHOO.util.Dom.getElementsByClassName("ChooseInfoTicket",undefined,this.choicePanelId)[0];this.chooseFarePrice=YAHOO.util.Dom.getElementsByClassName("ChooseInfoPrice",undefined,this.choicePanelId)[0];this.chooseFarePriceText=YAHOO.util.Dom.getElementsByClassName("ChooseInfoPriceText",undefined,this.choicePanelId)[0];this.chooseFarePriceIcon=GetNextElement(this.chooseFarePriceText,"IMG");var A=YAHOO.util.Event.addListener(this.chooseFarePriceIcon,"mouseover",this.ShowRolledOverInfoImage,this,true);A=YAHOO.util.Event.addListener(this.chooseFarePriceIcon,"mouseout",this.ShowNormalInfoImage,this,true)}};SeasonChoicePanel.prototype.ShowRolledOverInfoImage=function(){var A=ImagePath+"TotalSelectedInfoIconRollover.gif";if(!this.normalInfoImage){this.normalInfoImage=this.chooseFarePriceIcon.src}if(this.chooseFarePriceIcon.src!=A){this.chooseFarePriceIcon.src=A}};SeasonChoicePanel.prototype.ShowNormalInfoImage=function(){if(this.chooseFarePriceIcon.src!=this.normalInfoImage){this.chooseFarePriceIcon.src=this.normalInfoImage}};SeasonChoicePanel.prototype.GetService=function(){return this.GetSelectedService(this.direction)};SeasonChoicePanel.prototype.SetServiceDetails=function(){var A=this.GetService();if(A==null){if(this.direction==outward){this.chooseInfoDetails[0].innerHTML=this.origin;this.chooseInfoDetails[1].innerHTML=this.destination}else{this.chooseInfoDetails[0].innerHTML=this.destination;this.chooseInfoDetails[1].innerHTML=this.origin}this.chooseInfoDetails[2].innerHTML=this.startDate;ShowElement(this.chooseInfoDateAdditional,false)}else{this.chooseInfoDetails[0].innerHTML=this.locations[A.oNlc].desc+", "+FormatTime(A.dTime);this.chooseInfoDetails[1].innerHTML=this.locations[A.dNlc].desc+", "+FormatTime(A.aTime);this.chooseInfoDetails[2].innerHTML=FormatDate(A.dTime);this.chooseInfoDetails[3].innerHTML=A.nChgs;this.chooseInfoDetails[4].innerHTML=FormatDuration(A.dur*1)+"hrs";ShowElement(this.chooseInfoDateAdditional,true);ShowElement(this.chooseService,false)}};SeasonChoicePanel.prototype.CalculateSpecificFare=function(){this.fare=undefined;if(this.GetFareGroup()){var A;if(!this.GetFareGroup().isReturn){A=this.GetService()}else{A=this.GetSelectedService(outward);if(!A){A=this.GetSelectedService(inward)}}if(A){for(var B in A.serviceFares){if(A.serviceFares[B].fgId==this.GetFareGroup().fareGroupId){this.serviceFare=A.serviceFares[B];this.fare=this.fares[this.serviceFare.fareIds[0]];this.SetFareDescription(this.fare.desc);this.chooseFarePriceText.innerHTML=FormatPrice(this.serviceFare.totFare);break}}}}};SeasonChoicePanel.prototype.SetFareGroupDetails=function(){if(this.GetFareGroup()!=null){this.chooseInfoNote.innerHTML=this.TruncateInfoNote(this.GetFareGroup().briefTsAndCs);this.endDate=this.GetFareGroup().endDate;if(this.fare==undefined){this.SetFareDescription(this.GetFareGroup().desc);this.chooseFarePriceText.innerHTML=this.GetFareGroup().farePrice;SetVisibility(this.chooseFarePrice,true);if(this.endDate){this.chooseInfoDetails[5].innerHTML=this.endDate}var A="";if(this.GetFareGroup().isWeekly){A=mixingDeck.resourceStrings.weeklyTicket}else{if(this.GetFareGroup().isMonthly){A=mixingDeck.resourceStrings.monthlyTicket}else{if(this.GetFareGroup().isAnnual){A=mixingDeck.resourceStrings.annualTicket}else{A=mixingDeck.resourceStrings.customTicket}}}this.choosePOVInfoLine[0].innerHTML=A.charAt(0).toUpperCase()+A.substr(1)+" season"}}else{this.SetFareDescription("&nbsp;");this.chooseFarePriceText.innerHTML="&nbsp;";this.chooseInfoNote.innerHTML="&nbsp;";SetVisibility(this.chooseFarePrice,false);this.chooseInfoDetails[5].innerHTML="";this.choosePOVInfoLine[0].innerHTML="";YAHOO.util.Dom.removeClass(this.chooseChosenTicket,"TicketSelected")}};SeasonChoicePanel.prototype.ShowReturnDetails=function(A){SetVisibility(this.chooseFarePrice,true);SetVisibility(this.chooseFareDescription,true);if(!this.isOpenReturn){SetVisibility(this.chooseInfoLines[1],true);SetVisibility(this.chooseInfoLines[2],true);SetVisibility(this.chooseInfoLines[3],true)}};SeasonChoicePanel.prototype.ShowReturnBackground=function(A){if(this.chooseChosenReturnTicket!=undefined){SetVisibility(this.chooseChosenReturnTicket,A)}};SeasonChoicePanel.prototype.CanWeBuyThisTicket=function(){if(!this.IsSelected(this.GetFareGroup())){return false}if(!this.GetFareGroup().isReturn){var A=(this.GetFareGroup().mandRes=="Y");return(!A)}else{return true}return false};SeasonChoicePanel.prototype.TruncateInfoNote=function(A){return A};SeasonChoicePanel.prototype.IsSelected=function(A){if(this.IsDisplayingReturn()){return mixingDeck.journeyPlanningData.IsSelected(outward,A)}else{return mixingDeck.journeyPlanningData.IsSelected(this.direction,A)}};SeasonChoicePanel.prototype.GetSelectedService=function(A){return mixingDeck.journeyPlanningData._selectedService[A].service};SeasonChoicePanel.prototype.IsDisplayingReturn=function(A){return mixingDeck.journeyPlanningData._selectedFareGroup[outward].fareGroup&&mixingDeck.journeyPlanningData._selectedFareGroup[outward].fareGroup.isReturn};SeasonChoicePanel.prototype.GetFareGroup=function(A){if(this.IsDisplayingReturn()){return mixingDeck.journeyPlanningData._selectedFareGroup[outward].fareGroup}else{return mixingDeck.journeyPlanningData._selectedFareGroup[this.direction].fareGroup}};SeasonChoicePanel.prototype.SetFareDescription=function(A){this.chooseFareDescription.innerHTML=A;if(this.chooseFareDescription.scrollHeight>20){this.chooseFareDescription.style.lineHeight="12px"}else{this.chooseFareDescription.style.lineHeight=""}};SeasonChoicePanel.prototype.UpdateChooseFare=function(A){if(mixingDeck.journeyPlanningData._selectedFareGroup[this.direction].selected||this.isOpenReturn){SetVisibility(this.chooseFare,false)}else{if(this.direction==inward&&mixingDeck.journeyPlanningData._selectedFareGroup[outward].selected&&mixingDeck.journeyPlanningData._selectedFareGroup[outward].fareGroup.isReturn){SetVisibility(this.chooseFare,false)}else{if(A){YAHOO.util.Dom.addClass(this.chooseFare,"TransparentChoose")}else{YAHOO.util.Dom.removeClass(this.chooseFare,"TransparentChoose")}SetVisibility(this.chooseFare,true)}}};SeasonChoicePanel.prototype.IsFareDiscounted=function(){var A=this.GetFareGroup();if(A){if(mixingDeck.journeyPlanningData._selectedService[this.direction].service){return mixingDeck.journeyPlanningData._selectedService[this.direction].service.isDiscounted}else{return A.isDiscounted}}else{return false}}