bmi={isIE:0,notIE:false,maxSearchDate:new Date(2011,3-1,27),setup:function(){$("body").addClass("js").removeClass("nojs");
/*@cc_onbmi.isIE = @_jscript_version@*/
bmi.notIE=$("body.standards").length>0;bmi.popularTabs()},dropDown:function(e,b){if(e.length>0){var c=null;var j=null;var b=b||e.width();if(e.attr("id")=="preset"){b+=5}else{if(e.parents(".passengers")&&$.browser.safari){b-=10}else{b-=5}}if(b>0){c=$('<div class="dropdown-list"></div>').appendTo("body");var d=function(){c.fadeOut("fast",function(){$(".ui-slider-handle").css("opacity",1)})};if($("body").hasClass("standards")){c.addClass("rnd-5")}var g=0;$('<div class="section"></div>').appendTo(c);var f=c.find("div.section").eq(g);var h=$('<a href="#" class="dropdown"><span class="pulldown"></span></a>').css("width",b).insertAfter(e).click(function(){bmi.setDropdownPos(h,c);$(".ui-slider-handle").css("opacity",0);c.fadeIn("fast");j=setTimeout(d,3000);return false});c.mouseenter(function(){clearTimeout(j)}).mouseleave(function(){d()});var a=$('<span class="dropdown-selected"></span>').appendTo(h);e.change(function(){a.text($(this).find("option:selected").text())}).hide().each(function(){f=c.find("div.section").eq(g++);$('<p class="m"><nobr></nobr></p>').appendTo(f);$(this).find("option").each(function(){var l=($(this).attr("title")||$(this).text()).split(/\(/);l=l.join("<br />(");l=l.split("-");l=l.join("<br />");var k=$('<a href="#"></a>').data("val",$(this).val()).html(l).appendTo(f).mouseover(function(){$(this).siblings(".list-selected").removeClass("list-selected")}).click(function(){e.val($(this).data("val")).change();if(e.hasClass("language")){bmi.updateLanguageFlag(e.parents(".icon"),$(this).data("val"))}c.fadeOut("fast",function(){$(".ui-slider-handle").css("opacity",1)});return false});if($(this).attr("selected")){k.addClass("list-selected")}if(k.width()<b){k.width(b)}}).change();$('<div class="clear"></div>').appendTo(f)})}}},setDropdownPos:function(c,b){var a=c.offset();b.css({top:a.top+26,left:a.left})},removeDropDown:function(a){a.next().remove()},updateLanguageFlag:function(a,c){var b=-5;switch(c){case"nl":b=-200;break}a.css("background-position",b+"px -798px")},popularTabs:function(){$("div.popular").each(function(){var d=$(this).find("dl");var c=d.find("dd").css({position:"relative",top:26});var b=d.find("dt");var a=0;b.each(function(){$(this).appendTo(d).css({position:"absolute",top:0,left:a});a+=$(this).width()});b.each(function(e){$(this).data("val",e)}).click(function(){var e=$(this).data("val");c.hide().eq(e).show();b.removeClass("active").eq(e).addClass("active")}).eq(0).click()})},getQuerystring:function(b,d){b=b.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var c=new RegExp("[\\?&]"+b+"=([^&#]*)");var a=c.exec(window.location.href);if(a==null){return""}else{return a[1]}}};var mvcPath="/mvc";var dataPaths={hotelDataUrl:mvcPath+"/hotelXml",rSDestUrlFormat:mvcPath+"/RouteSummary/Destinations/{origin}",rSAirportRoutesUrl:mvcPath+"/RouteSummary/AirportRoutes",rSAirportsUrl:mvcPath+"/RouteSummary/Airports/",rSRouteUrlFormat:mvcPath+"/RouteSummary/Route/{origin}/{destination}",searchUrl:mvcPath+"/Search",flightSearch:mvcPath+"/Search/Metadata/Flight/{origin}/",flightSearchMetadata:mvcPath+"/Search/Metadata/Flight/",holidaySearch:mvcPath+"/Search/Metadata/Holiday/{origin}/",routeMap:mvcPath+"/RouteMap/{locale}/"};$(document).ready(function(){var b=(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)==4&&navigator.appVersion.indexOf("MSIE 5.5")!=-1);var a=(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)==4&&navigator.appVersion.indexOf("MSIE 6.0")!=-1);if(jQuery.browser.msie&&(b||a)){$('div[id$="advertContainer"]').pngFix();$("span.icon").pngFix();$("div.featureRight").pngFix();$("div.baby, li.s").pngFix()}});(function(a){a.validationErrors=function(b,c){if(c.length>0){var d="Please fix the following "+(c.length==1?"error":"errors")+":\n\n";jQuery.each(c,function(e,f){d+=f.message+"\n"});alert(d)}}})(jQuery);filter={numberOfNights:2,destinationCodes:"",departureAirport:"",travelMonthSpecified:false,travelMonth:"",numberAdults:2,setTravelDates:function(a,b){filter.travelMonth=b;filter.travelMonthSpecified=a},setDestinationCodes:function(a){$.each(a,function(b,c){filter.destinationCodes+=","+c.code});filter.destinationCodes=filter.destinationCodes.substring(1)},formatQueryString:function(){var a="?departureAirport="+filter.departureAirport;a+="&destination="+filter.destinationCodes;a+="&numberOfNights="+filter.numberOfNights;a+="&numberAdults="+filter.numberAdults;if(filter.travelMonthSpecified==true){a+="&monthOfTravel="+filter.travelMonth}return a},buildUrl:function(){return dataPaths.hotelDataUrl+filter.formatQueryString()},getAdverts:function(){var a=filter.buildUrl();$.getJSON(a,null,function(e){for(var c=0;c<e.packages.length;c++){var h=e.packages[c];var g=$("div[id$=advertContainer]:eq("+c+")");var f=g.find("a:eq(0)");var d=g.find("a:eq(1)");g.find("a").each(function(k,j){$(j).attr("href","http://hotels.bmibaby.com"+h.relativeUrl);$(j).nextAll("span.nsCustomTags:first").text(h.counterTags)});var b=bmi.strings.replaceText(copy.hotelAdvert[c],"cityName",h.destination.city);g.find("a:eq(0) img").attr("src","../assets/destinations/"+h.destination.code+"/129x80.png").attr("title",h.destination.city).attr("alt",h.destination.city);g.find("a:eq(1)").attr("title",b).text(b);g.find("span.red").html(h.pricing.displayPrice)}})}};bmi.destinations={onDatePickerUpdate:function(a,b){if(a){$(bmi.destinations.startDaySelector).val(b.asString("dd"));$(bmi.destinations.startMonthSelector).val(b.asString("yyyy-mm"))}else{$(bmi.destinations.endDaySelector).val(b.asString("dd"));$(bmi.destinations.endMonthSelector).val(b.asString("yyyy-mm"))}},setup:function(){var a,j,d,b,e,g,f,c;$(".filter").hide();$("select[name=origin]").change(function(){bmi.destinations.showRefine();bmi.destinations.showResults()});$("select[name=month]").change(function(){$("input#date-any").removeAttr("checked");bmi.destinations.getResults()});$("input.refine").click(function(){bmi.destinations.getResults()});$("input#date-any").click(function(){bmi.destinations.getResults();if($(this).attr("checked")){$("select[name=month]").val("");$("select[name=month]").resetSelectedText()}});e=$('input[name="budget"]');f=$('input[name="duration"]');g=e.parent();c=f.parent();a=parseInt(g.find("span.min").text());j=parseInt(g.find("span.max").text());b=parseInt(c.find("span.min").text());d=parseInt(c.find("span.max").text());e.live("change",function(k){bmi.destinations.inputValidate($(k.target),a,j);bmi.destinations.getResults()});e.live("keyup",function(l){var k=$(l.target);if((e.attr("id")==k.attr("id"))&&k.val()!=""){if(bmi.destinations.inputValidate(k,0,j)){bmi.destinations.getResults()}}});f.live("change",function(k){bmi.destinations.inputValidate($(k.target),b,d);bmi.destinations.getResults()});f.live("keyup",function(l){var k=$(l.target);if((f.attr("id")==k.attr("id"))&&k.val()!=""){if(bmi.destinations.inputValidate(k,0,d)){bmi.destinations.getResults()}}});var h=bmi.getQuerystring("origin");if(h.length>0){$("select[name=origin]").val(h).change()}},inputValidate:function(b,c,a){if(isNaN(b.val())){b.val("");return false}if(b.val()>a){b.attr("value",a)}else{if(b.val()<c){b.attr("value",c)}}return true},showRefine:function(){var a=$(".place-picker");a.removeClass("bdr-3-dblue");$("p.tiny").slideUp("fast",function(){$(".search-results").slideDown("fast",function(){$(".promotion h2").click();if(a.find(".filter").css("display")=="none"){a.find(".filter").slideDown("fast",function(){bmi.slider($(".budget-slide"),null,bmi.destinations.getResults);bmi.slider($(".time-slide"),null,bmi.destinations.getResults);bmi.slider($(".temp-slide"),function(){$(".temp-slide span").text(copy.minTemp+copy.tempRange[$(this).val()]);$(this).next().slider("value",$(this).val())},bmi.destinations.getResults)})}})})},showResults:function(){var a=$("select[name=origin] option:selected").val();if(a!=""){$(".search-results h2 span").text($("select[name=origin] option:selected").text());bmi.destinations.getDestinations(a)}else{$(".search-results").slideUp("fast")}},getDestinations:function(a,c){var b=bmi.strings.replaceText(dataPaths.rSDestUrlFormat,"origin",a);$.getJSON(b,function(e){var f,d;f=$(".featured-results:first");f.empty();d=$(".all-results:first");d.empty();$.each(e.cities,function(h,n){var g,m,j,l,k;g=n.cityName;if(n.region!=null&&n.region.length>0){g+=", "+n.region}m=$("<div></div>").addClass(n.filters).appendTo(f);j=n.cityName.replace(" ","_");l=bmi.strings.replaceText(copy.destUrl,"cityName",j);$('<a href="'+l+'" title="'+g+'"></a>').html('<img src="../assets/destinations/'+n.code+'/129x80.png" title="'+n.cityName+'" alt="" />').appendTo(m);$('<span class="duration new_off"></span>').text(n.duration).appendTo(m);$('<span class="budget new_off"></span>').text(n.price).appendTo(m);$('<span class="temp new_off"></span>').data("weather",n.weather).appendTo(m);$('<span class="operations new_off"></span>').data("operations",n.operations).appendTo(m);$('<span class="blue"></span>').text(g).appendTo(m);$('<span class="s"></span>').text("("+n.country+")").appendTo(m);k=$('<a href="'+l+'" class="'+n.filters+'" title="'+g+'"></a>').text(g).appendTo(d);$('<span class="s"></span>').text(n.country).appendTo(k);$('<span class="duration new_off"></span>').text(n.duration).appendTo(k);$('<span class="budget new_off"></span>').text(n.price).appendTo(k);$('<span class="operations new_off"></span>').data("operations",n.operations).appendTo(k);$('<span class="temp new_off"></span>').data("weather",n.weather).appendTo(k)});for(i=0;i<4;i++){$('<div class="no-result">&nbsp;</div>').appendTo(f)}$(".featured-results:first div:gt(3)").addClass("new_off");filter.setDestinationCodes(e.cities);filter.departureAirport=a;bmi.destinations.getResults();filter.getAdverts()})},getResults:function(){bmi.destinations.setFilterData();bmi.destinations.getFeaturedResults();bmi.destinations.getAllResults()},getFeaturedResults:function(){var a=0;$(".featured-results div").each(function(){if(bmi.destinations.getActive($(this))&&a<4){a++;var b=$(this).css("display")=="none";$(this).show()}else{$(this).hide()}});$(".featured-results div.no-result:lt("+(4-a)+")").show()},getAllResults:function(){$(".all-results a").each(function(){if(bmi.destinations.getActive($(this))){$(this).fadeTo("slow",1)}else{$(this).fadeTo("slow",0.2)}})},getActive:function(e){var b=true;if(e.find("span.duration").text()==undefined||e.find("span.budget").text()==undefined||e.find("span.temp").data("weather")==undefined){return false}if(parseInt(e.find("span.duration").text())>parseInt($('input[name="duration"]').val())*60){return false}if(parseInt(e.find("span.budget").text())>parseInt($('input[name="budget"]').val())){return false}if(filter.travelMonthSpecified){var d=e.find("span.operations").data("operations");if(d!=null&&d.length>0){b=d[filter.travelMonth]}if(!b){return false}}var c=bmi.destinations.parseWeatherData(e.find("span.temp").data("weather"));var f=(filter.travelMonthSpecified)?1:2;var a=parseFloat($('input[name="temp"]').val())/f;if(c<parseFloat(a)){return false}$("input.refine:checkbox").each(function(){if($(this).attr("checked")){if(!e.hasClass($(this).attr("name"))){b=false}}});return b},onDatePickerUpdate:function(b,a,c,d){if(b){$(bmi.destinations.startDaySelector).val(a);$(bmi.destinations.startMonthSelector).val(d+"-"+c)}else{$(bmi.destinations.endDaySelector).val(a);$(bmi.destinations.endMonthSelector).val(d+"-"+c)}},setFilterData:function(){var a=false;var b;b=$('select[name="month"]').val();a=!$("input[name=date-any]").attr("checked")&&(b.length>0);filter.setTravelDates(a,b)},parseWeatherData:function(f){if(f.length==0){return 0}var d=0;var c=0;var b=function(g){if(g!=undefined){d=d+g.tempIndex;c++}};if(filter.travelMonthSpecified){b(f[filter.travelMonth])}else{var e=(f.length<12)?f.length:12;for(var a=0;a<e;a++){b(f[a])}}if(c==0){return 0}return d/c}};(function(a){a.fn.dateRangeSelector=function(c){var b;this.each(function(){b=a.data(this,"dateRangeSelector");if(b){return false}new a.dateRangeSelector(this,c)})};a.dateRangeSelector=function(f,b){var h,e,c,j,d;h={};e=a.extend({},h,b);c=a(f);j=c.find("div.date-selector").eq(0).dateSelector({labelText:"Departing",itemText:"Departing on ",wrapContainerDiv:false});d=c.find("div.date-selector").eq(1);d.dateSelector({labelText:"Returning",itemText:"Returning on ",wrapContainerDiv:false});var g=function(k){a(this).toggleReturnDate()};c.find('input[name$="IsOneWay"]').bind("click",g);c.data("dateRangeSelector",this)};a.fn.toggleReturnDate=function(){var b=a(this).parents("div.date-pick");var c=b.find("div.dropdownContainer").eq(1);if(a(this).attr("checked")){c.hide("slow")}else{c.show("slow")}}})(jQuery);(function(a){a.fn.dateSelector=function(c){var d,b,e;d=arguments;return this.each(function(){if(typeof c!="string"){e=new a.dateSelector(this,c);a(this).data("dateSelector",e)}else{b=a(this).data("dateSelector");b[c].apply(b,a.makeArray(d).slice(1))}})};a.dateSelector=function(c,b){var e;e={defaultText:"",defaultWidth:80,width:190,itemText:"",wrapperClass:"",wrapContainerDiv:true,onPickerSelected:function(h,f,g){},onHighlightTravelPeriod:function(){return null},hasCloseButton:true,closeButtonCss:{"float":"right"},anchorCssClass:"dropdownDateRangeControl",panelCssClass:"travelDatesSelector",forceLabelText:true};var d=a.extend({},e,b);this._dayNames=copy.days;this._monthNames=copy.months;this._maxSearchDate=bmi.maxSearchDate;a.extend(true,this,new a.popupPanel(c,d));this._initialise(c)};a.extend(a.dateSelector.prototype,{_version:2,_$daySelect:null,_$yearMonthSelect:null,_$picker:null,_daySelection:null,_initialise:function(b){this._init(b);this._$daySelect=this._$el.find('select[name$="Day"]');this._$yearMonthSelect=this._$el.find('select[name$="YearMonth"]');this._setDropdownInput();this._createDatePicker()},_postWrapElement:function(){if(this._settings.wrapContainerDiv){this._$container.wrap(a("<p></p>").addClass(this._settings.wrapperClass))}},_renderPanelContent:function(){a("<dl><dt>"+this._settings.itemText+'<span class="outboundDateText">&#171;select date&#187;</span></dt><dd><span class="dateRangeStart"></span></dd></dl><div class="clear"></div>').appendTo(this._$panel)},_setDropdownInput:function(){this._$dropdownInput=this._$container.find("span.dropdownInput");this._$dropdownInput.data("jqDropdownPanel",this._$panel);this._$dropdownInput.html("Select date")},_createDatePicker:function(){var c=this;var b=function(k,g,j){var f,l,h;c._$daySelect.val(k.substr(0,2));c._$yearMonthSelect.val(k.substr(6,4)+"-"+k.substr(3,2));f=g.getDay();l=g.getMonth();h=""+c._dayNames[f]+" "+g.getDate()+" "+c._monthNames[l]+" "+g.getFullYear();c._$panel.find("span.outboundDateText").html(h);c._$dropdownInput.html(h);c._$panel.fadeOut("slow")};var d=function(h){var f=true;if(c._daySelection!=null){var k=h.getFullYear();var j;a.each(c._daySelection,function(n,o){if(o.year==k){j=o;return false}});if(j!=null){f=false;var g=new Date(k,0,1);var m=Math.ceil((h.getTime()-g.getTime())/86400000)+1;if(m>=j.fDay&&m<=j.lDay){var l=j.days[m-j.fDay];f=(j.nullCode=="T")?((l=="")?true:false):((l=="")?false:true)}}else{f=false}}return[f,"",""]};var e={showOn:"both",autoSize:true,rangeSelect:false,numberOfMonths:3,yearRange:"+0:+1",mandatory:true,hideIfNoPrevNext:true,minDate:0,maxDate:this._maxSearchDate,showStatus:false,dateFormat:"dd/mm/yy",firstDay:1,goToCurrent:true,changeMonth:false,changeYear:false,beforeShowDay:d,onSelect:b,stepMonths:3};this._$picker=this._$panel.find("span.dateRangeStart");this._$picker.datepick(e)},setDaySelection:function(c){var b=new Date();this._daySelection=c;if(c!=null){b=new Date(parseInt(c[0].fDateAvail.replace("/Date(","").replace(")/",""),10))}this._$picker.datepick("option","minDate",b);this._$picker.datepick("setDate",b);this._$picker.datepick("refresh")}})})(jQuery);(function(a){a.dropdown=function(c,b){var d=a.extend({},a.fn.dropdown.defaults,b);a.extend(true,this,new a.popupPanel(c,d));this._init(a(c))};a.fn.dropdown=function(b){var c=arguments;return this.each(function(){if(typeof b!="string"){var e=new a.dropdown(this,b);a(this).data("dropdown",e)}else{var d=a(this).data("dropdown");d[b].apply(d,a.makeArray(c).slice(1))}})};a.fn.dropdown.defaults={cols:"8",rows:"12",defaultWidth:"80"};a.extend(a.dropdown.prototype,{_version:3,_isGrouped:false,_newColumn:function(b){return a("<div/>").addClass("dropdownPanelColumn").appendTo(b)},_renderOpts:function(d,f){var e,c,b;e=1;c=this._newColumn(d);b=(this._settings.rows*e)-1;var g=this;f.each(function(j,k){if(j>b){c=g._newColumn(d);e++;b=(g._settings.rows*e)-1}var h=a("<a/>").html(k.title?k.title:a(k).text());if(g._isSelect){h.attr("id",a(k).val())}if(!k.disabled){h.attr("href",(g._isSelect?"#":a(k).children("a:first").attr("href")))}if(k.selected&&!k.disabled){h.addClass("selected")}h.appendTo(c)});c.after('<div style="clear: both;"/>')},_renderPanelContent:function(){this._isGrouped=(this._isSelect&&this._$el.find("optgroup").length>0);if(this._isGrouped){var b=a('<ul class="dropdownTabList"/>').appendTo(this._$panel);var c=this;this._$el.find("optgroup").each(function(f,h){var g=a(h);var e=g.attr("id")+"_tab";var d;if(g.find("option").length>0){var j=a("<li/>").addClass("dropdownTab");if(f==0){j.addClass("selected_tab")}j.append(a("<a/>").attr("href","#"+e).text(g.attr("label")));j.appendTo(b);d=a("<div/>").attr("id",e).addClass("dropdownTabContent");if(f!=0){d.css("display","none")}c._$panel.append(d);c._renderOpts(d,g.find('option[value!=""]'))}else{a("<li/>").append(a("<span/>").text(g.attr("label"))).appendTo(b)}});b.idTabs(function(g,d,f){var e=a("a",f).removeClass("selected").filter("[href='"+g+"']",f).addClass("selected").parent();a("li",f).removeClass("selected_tab");e.addClass("selected_tab");for(i in d){a(d[i]).hide()}a(g).fadeIn();return false})}else{this._renderOpts(this._$panel,this._$el.find((this._isSelect?'option[value!=""]':"li")))}},_postAppendPanel:function(){if(this._isGrouped){this._$panel.find("div.dropdownTabContent:first").css("width",(this._$panel.width()));this._$panel.css({backgroundColor:"#74AEEA"})}},setSelectableItems:function(b){this._$panel.find(b).removeClass("differentlyAbled");this._$panel.find("div.dropdownPanelColumn a:not("+b+")").addClass("differentlyAbled");this._resetSelectedText()}});a(document).ready(function(){a(".jqDropdown").dropdown()})})(jQuery);(function(a){a.fn.emailSignup=function(c){var b;this.each(function(){b=a.data(this,"emailSignup");if(b){return false}new a.emailSignup(this,c)})};a.emailSignup=function(d,b){var c,e;c=a(d);if(!c.is("form")){return}e=a.extend({},a.fn.emailSignup.defaults,b);c.validate({debug:false,focusInvalid:false,onkeyup:false,onfocusout:false,onclick:false,rules:{"email-offers":{required:true,email:true}},messages:{"email-offers":{required:e.emailRequiredMessage,email:e.emailInvalidMessage}},submitHandler:function(f){e.successFunction(f);f.submit()},showErrors:function(f,g){e.errorFunction(f,g)}});c.data("emailSignup",this)};a.fn.doNedstatAction=function(b){a(b).find("button").nedstatItem()};a.fn.emailSignup.defaults={successFunction:a.fn.doNedstatAction,errorFunction:jQuery.validationErrors,emailRequiredMessage:"email address required",emailInvalidMessage:"email format invalid"};a(document).ready(function(){a("form#emailForm").emailSignup()})})(jQuery);document.write('<script language="javascript" src="'+dataPaths.flightSearchMetadata+'"><\/script>');bmi.flightSearch={defaultProvider:"WW",maxPax:15,isSetup:false,setup:function(){var b,a,e;if(bmi.flightSearch.isSetup){return}b=$("form#flightSearchForm");b.find("div.date-pick").dateRangeSelector();var d=b.find("select#FlightSearchParams\\.Origin\\.Code");e=b.find("select#FlightSearchParams\\.Destination\\.Code");if(e.length>0){e.bind("change",bmi.flightSearch.destinationClick);d.change(function(){bmi.flightSearch.filterDestinations(d.find("option:selected").val())})}else{d.change(function(){bmi.flightSearch.setRouteMetadata(d.find("option:selected").val(),$("input#FlightSearchParams\\.Destination\\.Code").val())})}var f={width:190,margin:"0 0 5px 0",rows:"14"};if(d.hasClass("originSelectScroll")){d.scrollPanel(f);var c=new Array();$.each(flightMetadata.routes,function(g,h){if(h!=null&&h.comment!=null){c.push({code:g,comment:h.comment})}});d.scrollPanel("setAdditionalText",c)}else{d.dropdown(f)}(e.hasClass("destinationSelectScroll"))?e.scrollPanel(f):e.dropdown(f);b.find("select[name*='CustomerGroupList']").each(function(h,g){bmi.dropDown($(g),36)});$.validator.addMethod("occupancyInfantRatio",function(j,g){var h,k;k=$(g).parents("p");h=bmi.numbers.parseInteger(k.find("select[name*='AllGroups[0]']").val());return this.optional(g)||(h>=j)},"The number of infants may not exceed the number of adults");$.validator.addMethod("occupancyTotal",function(k,h){var g,m,j,l;l=$(h).parents("p");g=bmi.numbers.parseInteger(l.find("select[name*='AllGroups[1]']").val());m=bmi.numbers.parseInteger(l.find("select[name*='AllGroups[2]']").val());j=bmi.numbers.parseInteger(k)+g+m;return j<=bmi.flightSearch.maxPax},"The total number of passengers may not exceed "+bmi.flightSearch.maxPax);$.validator.addMethod("occupancyChildRatio",function(l,j){var k,h,m,g;h=bmi.numbers.parseInteger(l);m=$(j).parents("p");g=bmi.numbers.parseInteger(m.find("select[name*='AllGroups[0]']").val());k=h/g;return(k<=8)},"No more than eight children may travel with one adult");$.validator.addMethod("dateSelected",function(h,g){var k,j;k=$(g).parents("div.dropdownContainer");if(k.css("display")=="none"){return true}j=Date.parse(k.find(".dropdownInput").text());return(!isNaN(j))},"Please select a date");$.validator.addMethod("dateRange",function(h,g){var j,l,k;j=$(g).parents('div.date-pick"');if(j.find("input[name$='IsOneWay']").attr("checked")){return true}l=Date.parse(j.find(".dropdownInput:eq(0)").text());k=Date.parse(j.find(".dropdownInput:eq(1)").text());if(isNaN(l)||isNaN(k)){return true}return(new Date(l)<=new Date(k))},"Return date must be after departure date");b.validate({debug:true,focusInvalid:false,onkeyup:false,onfocusout:false,onclick:false,rules:{"FlightSearchParams.Origin.Code":"required","FlightSearchParams.Destination.Code":"required","FlightSearchParams.Occupancy.CustomerGroupList[0].AllGroups[0].Total":{occupancyTotal:true},"FlightSearchParams.Occupancy.CustomerGroupList[0].AllGroups[2].Total":{occupancyInfantRatio:true},"FlightSearchParams.Occupancy.CustomerGroupList[0].AllGroups[1].Total":{occupancyChildRatio:true},"FlightSearchParams.DateRange.StartYearMonthDay.Day":{dateSelected:true},"FlightSearchParams.DateRange.EndYearMonthDay.Day":{dateSelected:true,dateRange:true}},messages:{"FlightSearchParams.Origin.Code":"Flying from required","FlightSearchParams.Destination.Code":"Flying to required","FlightSearchParams.DateRange.StartYearMonthDay.Day":{dateSelected:"Departure date required"},"FlightSearchParams.DateRange.EndYearMonthDay.Day":{dateSelected:"Return date required (or select one way)"}},submitHandler:function(g){g.submit()},showErrors:function(g,h){if(h.length>0){var j="Please fix the following errors:\n\n";jQuery.each(h,function(k,l){j+=l.message+"\n"});alert(j)}}});b.find("input[name$='IsOneWay']").toggleReturnDate();bmi.flightSearch.isSetup=true},filterDestinations:function(originCode){if(originCode.length>0){var isMatch,value,$destSelect,destinationObj,selectorArr,commentArr;$destSelect=$("#FlightSearchParams\\.Destination\\.Code");$destSelect.unbind("change",bmi.flightSearch.destinationClick);destinationObj=eval("flightMetadata.routes."+originCode);selectorArr=new Array();commentArr=new Array();$.each(destinationObj,function(airport,destData){selectorArr.push("#"+airport);if(destData!=null&&destData.comment!=null){commentArr.push({code:airport,comment:destData.comment})}});var origin=(destinationObj.isBase)?originCode:null;if($destSelect.hasClass("destinationSelectScroll")){$destSelect.scrollPanel("setSelectableItems",selectorArr.toString(),commentArr,origin)}else{$destSelect.dropdown("setSelectableItems",selectorArr.toString())}$destSelect.bind("change",bmi.flightSearch.destinationClick)}},getOccupacyValidation:function(originCode,destinationCode){var airline,lastSelection,validation,select,$theForm;if(originCode.length>0&&destinationCode.length>0){$theForm=$("#flightSearchForm");airline=eval("flightMetadata.routes."+originCode+"."+destinationCode+".carrier");lastSelection=$theForm.data("selectedAirline");if(lastSelection==null){lastSelection=bmi.flightSearch.defaultProvider;$theForm.data("selectedAirline",lastSelection)}if(lastSelection!=airline){var validationObj=eval("flightMetadata.validation."+airline);bmi.flightSearch.maxPax=validationObj.maxPax;validation=validationObj.paxLimits;jQuery.each(validation,function(i,item){select=$theForm.find('"input[value="'+item.key+'"]').prevAll("select").empty();for(var i=item.min;i<=item.max;i++){select.append($("<option>").text(i.toString()).val(i.toString()))}select.nextAll("span.s").each(function(i,span){$(span).text(item.descList[i])})});$theForm.data("selectedAirline",airline)}}},destinationClick:function(){bmi.flightSearch.getOccupacyValidation($("#FlightSearchParams\\.Origin\\.Code option:selected").val(),$("#FlightSearchParams\\.Destination\\.Code option:selected").val());bmi.flightSearch.setRouteMetadata($("#FlightSearchParams\\.Origin\\.Code option:selected").val(),$("#FlightSearchParams\\.Destination\\.Code option:selected").val())},getSelectedProvider:function(){return $("#flightSearchForm").data("selectedAirline")},setRouteMetadata:function(origin,destination){if(origin.length==0||destination.length==0){return}var routeMetadata=eval("flightMetadata.routes."+origin+"."+destination);if(routeMetadata!=null){$("#flightSearchForm").find("div.date-selector").dateSelector("setDaySelection",routeMetadata.operations)}}};bmi.holidaySearch={defaultProvider:"WW",maxPax:15,isSetup:false,filterDestinations:function(originCode){if(originCode.length>0){var isMatch,value,$destSelect;$destSelect=$("#HolidaySearchParams\\.Destination\\.Code");var destinationArray=eval("flightMetadata.routes."+originCode);var selectorArr=new Array();$.each(destinationArray,function(airport,data){selectorArr.push("#"+airport)});$destSelect.dropdown("setSelectableItems",selectorArr.toString())}},setRouteMetadata:function(origin,destination){if(origin.length==0||destination.length==0){return}var routeMetadata=eval("flightMetadata.routes."+origin+"."+destination);if(routeMetadata!=null){$("#holidaySearchForm").find("div.date-selector").dateSelector("setDaySelection",routeMetadata.operations)}},setup:function(){var a,b,c,d;if(bmi.holidaySearch.isSetup){return}b=$("#holidaySearchForm");b.find("div.date-pick").dateRangeSelector();b.find("select[name$=Code]").each(function(f,e){$(e).dropdown({width:190,margin:"0 0 5px 0",rows:15,panelDelayMillis:1000})});b.find("select[name*=CustomerGroupList]").each(function(f,e){bmi.dropDown($(e),36)});a=b.find("select[name$=RoomsRequired]");bmi.dropDown(a,36);a.change(function(){bmi.holidaySearch.toggleRooms(this)});b.find("'div.room:gt("+(a.val()-1)+")'").css("display","none");d=b.find("select#HolidaySearchParams\\.Origin\\.Code");c=b.find("select#HolidaySearchParams\\.Destination\\.Code");if(c.length>0){d.change(function(){bmi.holidaySearch.filterDestinations(d.find("option:selected").val())});c.bind("change",bmi.holidaySearch.destinationClick);c.change(function(){bmi.holidaySearch.setRouteMetadata(d.find("option:selected").val(),c.find("option:selected").val())})}else{d.change(function(){bmi.holidaySearch.setRouteMetadata(d.find("option:selected").val(),$("input#HolidaySearchParams\\.Destination\\.Code").val())})}b.validate({debug:true,focusInvalid:false,onkeyup:false,onfocusout:false,onclick:false,rules:{"HolidaySearchParams.Origin.Code":"required","HolidaySearchParams.Destination.Code":"required","HolidaySearchParams.DateRange.StartYearMonthDay.Day":{dateSelected:true},"HolidaySearchParams.DateRange.EndYearMonthDay.Day":{dateSelected:true,dateRange:true}},messages:{"HolidaySearchParams.Origin.Code":"Flying from required","HolidaySearchParams.Destination.Code":"Flying to required","HolidaySearchParams.DateRange.StartYearMonthDay.Day":{dateSelected:"Departure date required"},"HolidaySearchParams.DateRange.EndYearMonthDay.Day":{dateSelected:"Return date required"}},submitHandler:function(e){e.submit()},showErrors:function(e,f){if(f.length>0){var g="Please fix the following errors:\n\n";jQuery.each(f,function(h,j){g+=j.message+"\n"});alert(g)}}});bmi.holidaySearch.isSetup=true},toggleRooms:function(a){var b=$(a).find("option:selected").val();var c=b-1;$("#holidaySearchForm").find("'div.room:gt("+c+")'").hide("slow");$("#holidaySearchForm").find("'div.room:lt("+b+")'").show("slow")},destinationClick:function(){bmi.holidaySearch.setRouteMetadata($("#HolidaySearchParams\\.Origin\\.Code option:selected").val(),$("#HolidaySearchParams\\.Destination\\.Code option:selected").val())}};bmi.hotel={isSetup:false,setup:function(){var b,c;if(bmi.hotel.isSetup){return}c=$("#hotelSearchForm");var a=c.find("div.date-selector");var d=a.find("label:first").text();a.dateSelector({margin:"0 0 5px 0",labelText:d});b=c.find("select[name$=RoomsRequired]");bmi.dropDown(b,36);bmi.dropDown($("select[name$=Duration]"),46);$("select[name$=Duration]").dropdown({rows:1});c.find("select[name*=CustomerGroupList]").each(function(f,e){bmi.dropDown($(e),36)});b.change(function(){bmi.hotel.toggleRooms(this)});$("#hotelSearchForm").find("'div.room:gt("+(b.val()-1)+")'").css("display","none");bmi.hotel.toggleRooms(b);c.validate({debug:true,focusInvalid:false,onkeyup:false,onfocusout:false,onclick:false,rules:{"HotelSearchParams.Destination.ShortName":"required","HotelSearchParams.DepartureDate.Day":{dateSelected:true}},messages:{"HotelSearchParams.Destination.ShortName":"Destination required","HotelSearchParams.DepartureDate.Day":{dateSelected:"Check-in date required"}},submitHandler:function(e){e.submit()},showErrors:function(e,f){if(f.length>0){var g="Please fix the following errors:\n\n";jQuery.each(f,function(h,j){g+=j.message+"\n"});alert(g)}}});bmi.hotel.isSetup=true},toggleRooms:function(a){var b=$(a).find("option:selected").val();var c=b-1;$("#hotelSearchForm").find("'div.room:gt("+c+")'").hide("slow");$("#hotelSearchForm").find("'div.room:lt("+b+")'").show("slow")}};(function(a){a.fn.nedstatItem=function(b){return this.each(function(){var d,c,e,g,f;d=a(this);c=d.nextAll("span.nsCounterItem:first").text();e=d.nextAll("span.nsCustomTags:first").text();g=d.nextAll("span.nsClickType:first").text();f=d.nextAll("span.nsDomain:first").text();ns_onclick(this,"",c+e,g,f)})};a(".nedstatItem").live("click",function(b){a(this).nedstatItem()})})(jQuery);(function(a){a.popupPanel=function(c,b){var d={defaultText:"Select location",useDynamicPanelWidth:true,panelWidth:400,labelText:"",hasCloseButton:false,closeButtonCss:null,width:"",margin:"",panelDelayMillis:4000,panelCssClass:"dropdownPanel",anchorCssClass:"dropdownControl",handleElementChange:true,forceLabelText:false,has:false};this._settings=a.extend({},d,b)};a.extend(a.popupPanel.prototype,{_popupPanelVersion:1,_$el:null,_$container:null,_$dropdownInput:null,_$panel:null,_$anchor:null,_$closeButton:null,_isSelect:false,_init:function(b){this._$el=a(b);this._$el.hide();this._isSelect=this._$el.is("select");this._wrapElement();if(this._postWrapElement!=null){this._postWrapElement()}if(this._isSelect&&this._settings.handleElementChange){this._$el.addClass("dropdownFormControl");this._$el.change(function(c){$select=a(this);$dropdownPanel=$select.closest(".dropdownContainer").find(".dropdownPanel");$dropdownPanel.find("a").removeClass("selected");selectVal=$select.val();if(selectVal.length>0){$dropdownPanel.find("a."+selectVal).addClass("selected")}$select.closest(".dropdownContainer").find(".dropdownInput").text(a(c.target).find(":selected").text())})}this._createDropdownControl();this._createPanel()},_wrapElement:function(){this._$container=(this._$el.parent().is("label")?this._$el.parent():this._$el).wrap('<div class="dropdownContainer" />').closest(".dropdownContainer");if(this._$el.parent().is("label")){this._$el.parent().hide()}},_createDropdownControl:function(){var d=(this._settings.forceLabelText)?this._settings.labelText:(this._$el.parent().is("label")||this._settings.labelText.length>0)?this._$el.parent().children().not("select, option, optgroup, a").text():this._settings.labelText;if(d){this._$container.append('<span class="dropdownLabel">'+d+"</span>")}var g=this._isSelect?this._$el.find("option:selected").text():this._settings.defaultText;var c=((this._$el.width()>0&&this._isSelect)?this._$el.width():(g.length>0?g.length*8:Number(this._settings.panelWidth)))+40;this._$anchor=a('<a class="'+this._settings.anchorCssClass+'"></a>').css("width",(this._settings.width?this._settings.width:c)+"px").css("margin",(this._settings.margin?this._settings.margin:0)).append('<span class="dropdownInput">'+g+'</span><span class="dropdownButton"></span>').appendTo(this._$container);this._$dropdownInput=this._$anchor.find("span.dropdownInput");var f=this;var b=this._settings.panelDelayMillis;var e=function(k){var h,j,m;f._toggle();var l=function(){f._$panel.fadeOut("slow")};h=setTimeout(l,b);f._$panel.bind("mouseleave",function(){j=setTimeout(l,b)});f._$panel.bind("mouseenter",function(){clearTimeout(h);clearTimeout(j)})};this._$anchor.click(e)},_toggle:function(){if(this._$panel.css("display")!="none"){this._$panel.fadeOut("slow");return}this._$panel.css({left:this._$anchor.offset().left+"px",top:this._$anchor.offset().top+this._$anchor.outerHeight()+"px"}).fadeIn("slow")},_createPanel:function(){this._$panel=a('<div class="'+this._settings.panelCssClass+'" style="display:none;"></div>');if(this._settings.hasCloseButton){this._$closeButton=a('<span class="dateRangeSelectorClose">close</span>');this._$closeButton.css(this._settings.closeButtonCss);this._$closeButton.appendTo(this._$panel);var b=this._$panel;this._$closeButton.click(function(){b.fadeOut("slow")})}this._$panel.data("dropdownOrigElement",this._$el);this._$panel.bgIframe();if(this._renderPanelContent!=null){this._renderPanelContent()}a("body").append(this._$panel);if(this._settings.hasCloseButton){this._$closeButton.corner("round tl tr bl br 5px")}if(this._postAppendPanel!=null){this._postAppendPanel()}((this._settings.useDynamicPanelWidth)?this._$panel.width():this._settings.panelWidth);this._$panel.css("width",((this._settings.useDynamicPanelWidth)?this._$panel.width():this._settings.panelWidth))},_resetSelectedText:function(){this._$panel.find(".selected").removeClass("selected");var b=this._$el.children(":first").text();this._$dropdownInput.text(b)},_createInpireMeLink:function(b){return a('<a class="inspireMeLink" href="../inspire_me/place_picker.aspx?origin='+b+'">Not sure where to go.  Let us inspire you.</a>')},_updateInspireMeLink:function(b,d){var c=a(b);c.attr("href",c.attr("href").split("?")[0]+"?origin="+d)}});a(".dropdownPanel a").live("click",function(b){if(a(this).attr("id").length==0){return}if(!a(this).hasClass("differentlyAbled")){var d=a(this).attr("id");var c=a(b.target).parents("div.dropdownPanel");c.data("dropdownOrigElement").val(d).change();c.fadeOut("slow");a(this).parents(".dropdownPanel").find(".selected").removeClass("selected");c.find("a#"+d).addClass("selected")}b.preventDefault()})})(jQuery);(function(a){a.scrollPanel=function(c,b){var d=a.extend({},a.fn.scrollPanel.defaults,b);a.extend(true,this,new a.popupPanel(c,d));this._initialise(a(c))};a.fn.scrollPanel=function(b){var c=arguments;return this.each(function(){if(typeof b!="string"){var e=new a.scrollPanel(this,b);a(this).data("scrollPanel",e)}else{var d=a(this).data("scrollPanel");d[b].apply(d,a.makeArray(c).slice(1))}})};a.fn.scrollPanel.defaults={panelHeight:300,useDynamicPanelWidth:false,hasCloseButton:true,closeButtonCss:{backgroundColor:"#CA1C26","float":"right",paddingLeft:"5px",cursor:"pointer",marginRight:0},anchorCssClass:"dropdownControl scrollPanelControl",hasInspireMeLink:false};a.extend(a.scrollPanel.prototype,{_version:1,_$panelDataContainer:null,_perItemHeight:0,_itemWidth:0,_textWidth:0,_commentWidth:0,_$inspireMeLink:null,_initialise:function(b){this._itemWidth=this._settings.panelWidth-30;this._textWidth=Math.floor(this._itemWidth*0.4);this._commentWidth=this._itemWidth-this._textWidth-20;this._init(b)},_renderOptions:function(d,b){var c=this;b.each(function(g,h){var f=a('<a style="width:'+c._itemWidth+'px"/>');var e=a('<div style="width:'+c._itemWidth+'px;cursor:pointer"/>');e.appendTo(f);e.append('<span class="elementText" style="width:'+c._textWidth+'px">'+(h.title?h.title:a(h).text())+"</span>");e.append('<span class="elementComment" style="width:'+c._commentWidth+'px"/>');e.append('<div style="clear:both;"/>');f.attr("id",a(h).val());if(!h.disabled){f.attr("href","#")}if(h.selected&&!h.disabled){f.addClass("selected")}f.appendTo(d)})},_setContainerHeight:function(b){this._$panelDataContainer.css("height",(b<this._settings.panelHeight?b:this._settings.panelHeight))},_renderPanelContent:function(){this._$panelDataContainer=a('<div class="scrollPanel" style="width:'+this._settings.panelWidth+'px" />');this._$panelDataContainer.appendTo(this._$panel);var d=a("<div/>").addClass("dropdownPanelColumn").appendTo(this._$panelDataContainer);var c=this._$el.find("optgroup").length>0;if(c){var b=this;this._$el.find("optgroup").each(function(e,g){var f=a(g);d.append('<div class="dropdownOptGroupHeader">'+f.attr("label")+"</div>");b._renderOptions(d,f.find('option[value!=""]'))})}else{this._renderOptions(d,this._$el.find('option[value!=""]'))}d.after('<div style="clear: both;"/>')},_postAppendPanel:function(){this._perItemHeight=Math.floor(this._$panel.outerHeight()/this._$panelDataContainer.find("a").length);this._setContainerHeight(this._settings.panelHeight)},setSelectableItems:function(b,f,d){var e;e=this._$panelDataContainer.find(b);e.css("display","block");this._$panelDataContainer.find("div.dropdownPanelColumn a:not("+b+")").css("display","none");this._resetSelectedText();this.setAdditionalText(f);if(this._settings.hasInspireMeLink){this._setInspireMeLink(d)}var c=(this._settings.hasInspireMeLink&&this._$inspireMeLink.css("display")!="none")?e.length+1:e.length;this._setContainerHeight(c*this._perItemHeight)},setAdditionalText:function(c){this._$panelDataContainer.find("span.elementComment").empty();var b=this._$panelDataContainer;if(c!=null){a.each(c,function(d,e){b.find("#"+e.code+" > div span.elementComment").text(e.comment)})}},_setInspireMeLink:function(b){if(this._$inspireMeLink==null&&!b){return}if(this._$inspireMeLink==null&&b){this._$inspireMeLink=this._createInpireMeLink(b);this._$inspireMeLink.css("width",this._itemWidth+"px");this._$panelDataContainer.append(this._$inspireMeLink)}else{if(b){this._updateInspireMeLink(this._$inspireMeLink,b);this._$inspireMeLink.show()}else{this._$inspireMeLink.hide()}}}})})(jQuery);bmi.lightbox={setup:function(){return{overlay:$('<div class="overlay"></div>').appendTo("body").css({width:document.body.scrollWidth+50+"px",height:document.body.scrollHeight+50+"px"}).click(function(){$(".overlay,.lbox").hide();$(".overlay,.lbox").fadeOut();if($(".lbox-content").length>0){$(".lbox-content").empty()}else{$(".lbox").empty()}$(window).resize(function(){$(".overlay").css(bmi.lightbox.full())});return false}),lightbox:$('<div class="lbox"></div>').appendTo("body")}}};function getPageDimensions(){var a=document.getElementsByTagName("body")[0];var d=0;var b=0;var c=0;var f=0;var e=[0,0];if(typeof document.documentElement!="undefined"&&typeof document.documentElement.scrollWidth!="undefined"){e[0]=document.documentElement.scrollWidth;e[1]=document.documentElement.scrollHeight}d=a.offsetWidth;b=a.offsetHeight;c=a.scrollWidth;f=a.scrollHeight;if(d>e[0]){e[0]=d}if(b>e[1]){e[1]=b}if(c>e[0]){e[0]=c}if(f>e[1]){e[1]=f}return e}bmi.lightbox.full=function(){var c=getPageDimensions();var b=c[0];var a=c[1];return{width:b,height:a}};bmi.numbers={roundFloat:function(a){return Math.round(a*100)/100},lastRange:function(c,b){var a=Math.floor(c/b)-1;if(a>0){a*=b}else{a=0}return a},parseInteger:function(b){var a,c;a=Number(b);c=isNaN(a)?0:a;return c}};bmi.widgets={collapsers:function(){$(".collapser").each(function(){var a=$(this);if(a.hasClass("closed")){a.find(".inner").hide()}a.find("h2").click(function(){a.toggleClass("closed");a.find(".inner > *").css("opacity",0);a.find(".inner").slideToggle("fast",function(){a.find(".inner > *").css("opacity",1)});if(a.hasClass("closed")){a.find("a.replace").hide()}else{a.find("a.replace").show();a.find(".pressed").hide()}})})},accordions:function(){$(".accordion h3").click(function(){bmi.widgets.accordion($(this))});$(".info h3").click()},accordion:function(c,b){var a=c.parents(".accordion");var d=a.siblings(".info").removeClass("info");var e=a.addClass("info");if(bmi.isIE){if(bmi.isIE<5.7){d.find("h3").css({"background-position":"10px -430px","border-top":"solid 1px #d1d1d1",padding:"17px 0 17px 42px"});c.css({"background-position":"100% 100%","border-top":"none",padding:0})}if(b==true){d.find(".collapse").hide();e.find(".collapse").show();return false}}d.find(".collapse").slideUp();e.find(".collapse").slideDown()},switcheroos:function(a){$(".switcheroo").each(function(){var b=$(this);var c=$(this).find("h2");c.find("a").attr("href","#");bmi.widgets.switchRound(c,a);var d=$(this).find("div.sw");c.each(function(f){var e=f;$(this).click(function(){d.fadeOut();c.removeClass("active");$(this).addClass("active");$(this).slideUp("normal",function(){$(this).insertBefore(d.eq(0)).slideDown("normal",function(){d.eq(e).fadeIn()});bmi.widgets.switchRound($(".switcheroo h2"),a)})})});d.eq(2).fadeIn();d.appendTo(b)})},switchRound:function(a,b){a.each(function(c){if($(this).hasClass("active")){$(this).removeClass("topSWHeader secondarySWHeader");$(this).addClass("activeSWHeader")}else{$(this).removeClass("activeSWHeader topSWHeader secondarySWHeader");$(this).addClass((c==0?"topSWHeader":"secondarySWHeader"))}})}};bmi.strings={replaceText:function(c,a,b){return c.replace(new RegExp("\\{"+a+"\\}","g"),b)}};bmi.text={pageSections:function(){var a=$(".main-section");a.find("div.page-section:not(:first)").each(function(){$(this).hide()})}};