var useBSNns;var _bsn;var bsn;var ajaxErrorReporting=false;if(useBSNns){if(typeof(bsn)=="undefined"){bsn={}}_bsn=bsn}else{_bsn=this} if(typeof(_bsn.Autosuggest)=="undefined"){_bsn.Autosuggest={}} _bsn.AutoSuggest=function(C,B){if(!document.getElementById){return false}this.fld=_bsn.DOM.getElement(C);this.id=C;if(!this.fld){return false}this.sInput="";this.nInputChars=0;this.aSuggestions=[];this.iHighlighted=0;this.oP=(B)?B:{};this.idAs="as_"+this.fld.id;if(!this.oP.minchars){this.oP.minchars=1}if(!this.oP.method){this.oP.meth="get"}if(!this.oP.varname){this.oP.varname="input"}if(!this.oP.className){this.oP.className="autosuggest"}if(!this.oP.timeout){this.oP.timeout=2500}if(!this.oP.delay){this.oP.delay=500}if(!this.oP.offsety){this.oP.offsety=-5}if(!this.oP.shownoresults){this.oP.shownoresults=true}if(!this.oP.noresults){this.oP.noresults="No results!"}if(!this.oP.maxheight&&this.oP.maxheight!==0){this.oP.maxheight=250}if(!this.oP.cache&&this.oP.cache!==false){this.oP.cache=true}var A=this;this.fld.onkeypress=function(D){return A.onKeyPress(D)};this.fld.onkeyup=function(D){return A.onKeyUp(D)};this.fld.onkeydown=function(D){return A.onKeyDown(D)};this.fld.onfocus=function(D){return A.onFocus(A)};var F=_bsn.DOM.getPos(this.fld);if(document.getElementById(this.idAs)==null){this.createdDiv=_bsn.DOM.createElement("div",{id:this.idAs,className:this.oP.className});if(this.oP.position=="absolute"){this.createdDiv.style.position="absolute";var style=this.fld.currentStyle||window.getComputedStyle(this.fld);this.createdDiv.style.top=style.height+"px";this.createdDiv.style.left=F.x+"px";this.fld.parentNode.style.position="relative";}else{this.createdDiv.style.position="relative";this.createdDiv.style.top="0px";if(this.oP.dir==='rtl'){this.createdDiv.style.right="0px";}else{this.createdDiv.style.left="0px";}} this.createdDiv.style.minWidth=this.fld.offsetWidth+"px";this.createdDiv.style.float=(this.oP.dir==='rtl'?'right':'left');this.createdDiv.style.visibility="hidden";this.createdDiv.style.display="none";this.createdDiv.style.zIndex=200;this.fld.parentNode.insertBefore(this.createdDiv,this.fld.nextSibling);} this.fld.setAttribute("autocomplete","off")};_bsn.AutoSuggest.prototype.onKeyPress=function(E){var D=(window.event)?window.event.keyCode:E.keyCode;if(typeof(event)!="undefined"){D=event.keyCode} var C=13,B=9,F=27,A=true;switch(D){case 13:if(this.createdDiv.style.display!=='none'){A=false;} this.setHighlightedValue();break;case 27:this.clearSuggestions();break} return A};_bsn.AutoSuggest.prototype.onFocus=function(E){if(typeof(rwd_isWidth)=="function"&&rwd_isWidth(460)){setTimeout(function(){E.scrollTo();},0);}} _bsn.AutoSuggest.prototype.scrollTo=function(E){rwd_saveScroll(this.fld);} _bsn.AutoSuggest.prototype.onKeyDown=function(B){var A=(window.event)?window.event.keyCode:B.keyCode;if(A==9){if(document.getElementById(this.idAs)!==null){if(!this.iHighlighted&&this.aSuggestions.length){this.iHighlighted=1}this.setHighlightedValue();this.removeStuff(this.idAs);this.resetTimeout();bubble=false}}};_bsn.AutoSuggest.prototype.onKeyUp=function(E){var C=(window.event)?window.event.keyCode:E.keyCode;var B=38;var D=40;var A=true;switch(C){case B:this.changeHighlight(C);A=false;break;case D:this.changeHighlight(C);A=false;break;default:this.getSuggestions(this.fld.value)}return A};_bsn.AutoSuggest.prototype.getSuggestions=function(D){if(D==this.sInput){return false}if(D.lengththis.nInputChars&&this.aSuggestions.length&&this.oP.cache){var A=[];for(var B=0;B"+Y.substring(0,N)+""+Y.substring(N,N+this.sInput.length)+""+Y.substring(N+this.sInput.length)+"";var R=_bsn.DOM.createElement("span",{},I,true);if(A[T].info!==""){var W=_bsn.DOM.createElement("br",{});R.appendChild(W);var sL='';if(A[T].parentname&&A[T].parentname!=A[T].info)sL+=A[T].parentname+', ';if(A[T].state&&A[T].parenttype!="State")sL+=A[T].state+', ';if(A[T].type=="Country"){sL=sL.substring(0,sL.length-2);}else{sL+=A[T].info;};var H=_bsn.DOM.createElement("small",{});H.innerHTML=sL;R.appendChild(H)}var V=_bsn.DOM.createElement("a",{href:"#",tabIndex:"-1"});var E=_bsn.DOM.createElement("span",{className:"tl"}," ");var B=_bsn.DOM.createElement("span",{className:"tr"}," ");V.appendChild(E);V.appendChild(B);V.appendChild(R);V.name=T+1;V.onclick=function(){O.setHighlightedValue();return false};V.onmouseover=function(){O.setHighlight(this.name)};J=_bsn.DOM.createElement("li",{},V);K.appendChild(J)}if(A.length===0){J=_bsn.DOM.createElement("li",{className:"as_warning"},this.oP.noresults);K.appendChild(J)}_bsn.DOM.getElement(this.idAs).appendChild(K);var U=_bsn.DOM.createElement("div",{className:"as_corner"});var X=_bsn.DOM.createElement("div",{className:"as_bar"});var M=_bsn.DOM.createElement("div",{className:"as_footer"});M.appendChild(U);M.appendChild(X);_bsn.DOM.getElement(this.idAs).appendChild(M);var F=_bsn.DOM.getPos(this.fld);this.iHighlighted=0;O=this;this.toID=setTimeout(function(){O.clearSuggestions()},this.oP.timeout) _bsn.DOM.getElement(this.idAs).style.display="block";_bsn.DOM.getElement(this.idAs).style.visibility="visible";if(_bsn.DOM.getElement(this.idAs).filters){try{_bsn.DOM.getElement(this.idAs).filters.item("DXImageTransform.Microsoft.Alpha").opacity=100}catch(B){_bsn.DOM.getElement(this.idAs).style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=100)"}}else{_bsn.DOM.getElement(this.idAs).style.opacity=1.0} createdDiv.style.marginBottom=-createdDiv.offsetHeight+"px";};_bsn.AutoSuggest.prototype.changeHighlight=function(A){var B=_bsn.DOM.getElement("as_ul");if(!B){return false}var C;if(A==40){C=this.iHighlighted+1}else{if(A==38){C=this.iHighlighted-1}}if(C>B.childNodes.length){C=B.childNodes.length}if(C<1){C=1}this.setHighlight(C)};_bsn.AutoSuggest.prototype.setHighlight=function(B){var A=_bsn.DOM.getElement("as_ul");if(!A){return false}if(this.iHighlighted>0){this.clearHighlight()}this.iHighlighted=Number(B);A.childNodes[this.iHighlighted-1].className="as_highlight";this.killTimeout()};_bsn.AutoSuggest.prototype.clearHighlight=function(){var A=_bsn.DOM.getElement("as_ul");if(!A){return false}if(this.iHighlighted>0){A.childNodes[this.iHighlighted-1].className="";this.iHighlighted=0}};_bsn.AutoSuggest.prototype.setHighlightedValue=function(){if(this.iHighlighted){this.sInput=this.fld.value=this.aSuggestions[this.iHighlighted-1].value;if(typeof $=='function'){$(this.fld).trigger('change');} this.fld.focus();if(this.fld.selectionStart){this.fld.setSelectionRange(this.sInput.length,this.sInput.length)}this.clearSuggestions();if(typeof(this.oP.callback)=="function"){this.oP.callback(this.aSuggestions[this.iHighlighted-1],this.fld)}}};_bsn.AutoSuggest.prototype.killTimeout=function(){clearTimeout(this.toID)};_bsn.AutoSuggest.prototype.resetTimeout=function(){clearTimeout(this.toID);var A=this;this.toID=setTimeout(function(){A.clearSuggestions()},1000)};_bsn.AutoSuggest.prototype.clearSuggestions=function(){this.killTimeout();var A=_bsn.DOM.getElement(this.idAs);var C=this;if(A){var B=new _bsn.Fader(A,1,0,250,this.removeStuff(C.idAs))}};if(typeof(_bsn.Ajax)=="undefined"){_bsn.Ajax={}}_bsn.Ajax=function(){this.req={};this.isIE=false};_bsn.Ajax.prototype.makeRequest=function(C,B,A,D){if(B!="POST"){B="GET"}this.onComplete=A;this.onError=D;var E=this;if(window.XMLHttpRequest){this.req=new XMLHttpRequest();this.req.onreadystatechange=function(){E.processReqChange()};this.req.open("GET.html",C,true);this.req.send(null)}else{if(window.ActiveXObject){this.req=new ActiveXObject("Microsoft.XMLHTTP");if(this.req){this.req.onreadystatechange=function(){E.processReqChange()};this.req.open(B,C,true);this.req.send()}}}};_bsn.Ajax.prototype.processReqChange=function(){if(this.req.readyState==4){if(this.req.status==200){this.onComplete(this.req)}else{this.onError(this.req.status)}}};if(typeof(_bsn.DOM)=="undefined"){_bsn.DOM={}}_bsn.DOM.createElement=function(E,B,A,D){var F=document.createElement(E);if(!F){return false}for(var C in B){F[C]=B[C]}if(typeof(A)=="string"&&!D){F.appendChild(document.createTextNode(A))}else{if(typeof(A)=="string"&&D){F.innerHTML=A}else{if(typeof(A)=="object"){F.appendChild(A)}}}return F};_bsn.DOM.clearElement=function(B){var A=this.getElement(B);if(!A){return false}while(A.childNodes.length){A.removeChild(A.childNodes[0])}return true};_bsn.AutoSuggest.prototype.removeStuff=function(F){var E=[];var D=0;for(D=0;D0;i--){F.removeChild(F.childNodes[i-1]);} F.style.visibility="hidden";F.style.display="none";}else{_bsn.DOM.removeElement(F)};} _bsn.DOM.removeElement=function(A){var B=this.getElement(A);if(!B){return false}else{if(B.parentNode.removeChild(B)){return true}else{return false}}};_bsn.DOM.replaceContent=function(D,A,B){var C=this.getElement(D);if(!C){return false}this.clearElement(C);if(typeof(A)=="string"&&!B){C.appendChild(document.createTextNode(A))}else{if(typeof(A)=="string"&&B){C.innerHTML=A}else{if(typeof(A)=="object"){C.appendChild(A)}}}};_bsn.DOM.getElement=function(B){if(typeof(B)=="undefined"){return false}else{if(typeof(B)=="string"){var A=document.getElementById(B);if(!A){return false}else{if(typeof(A.appendChild)!="undefined"){return A}else{return false}}}else{if(typeof(B.appendChild)!="undefined"){return B}else{return false}}}};_bsn.DOM.appendChildren=function(E,B){var D=this.getElement(E);if(!D){return false}if(typeof(B)!="object"){return false}for(var C=0;C');$(window).on("resize",function(){nbf_responsive();});nbf_responsive();$(document).on("click","div.nbf_printbox",function(){$content=$("#nbf_lightbox_container").clone();$content.find("#nbf_lightbox_close").remove();$content.find("div.nbf_printbox").remove();$content.find("button.nbf_button").remove();$content.find("#nbf_legmap").remove();$content.find("span.nbf_iolog").remove();$content.find("div.nbf_advdata").remove();nbf_printcontent("Flight Details",$content.html());});$(document).on("click","div.nbf_addprod_moreopts",function(){$(this).parent().find("div.hidden").css({'display':'none'}).removeClass('hidden').addClass('nbf_hideable').slideDown(200,function(){$(this).parent().find("div.hidden").removeClass('hidden').addClass('nbf_hideable').show();});$(this).hide();$(this).parent().find("div.nbf_addprod_hideopts").css({"display":"inline-block"});$(document).trigger('showmore.nbf');});$(document).on("click","div.nbf_addprod_hideopts",function(){$(this).parent().find("div.nbf_hideable").slideUp(200,function(){$(this).parent().find("div.nbf_hideable").removeClass('nbf_hideable').addClass('hidden').hide();});$(this).hide();$(this).parent().find("div.nbf_addprod_moreopts").css({"display":"inline-block"});$('body').animate({scrollTop:$(this).parent().offset().top});$('#nbf_resultsright').height('auto');$(document).trigger('hidemore.nbf');});if(typeof bf_showsection_handler==="undefined"){var bf_showsection_handler=function(e){e.preventDefault();var sectiontoshow=$('#'+$(this).attr('data-sectiontoshow'));if(sectiontoshow.length){sectiontoshow.removeClass('nbf_hidden');$(this).addClass('nbf_hidden');}};$(document).on('click','.js-bf_showsection',bf_showsection_handler);} $(document).on('click',".nbf_showmore,div.nbf_addprod_hotelcontainer div.nbf_addprod_moreopts",function(){var elem=$(this),hid=elem.attr("data-hid");elem.hide().attr('aria-hidden','true');$(".nbf_hidemore[data-hid='"+hid+"'],div.nbf_addprod_hideopts[data-hid='"+hid+"']").css({"display":"inline-block","*display":"inline","zoom":1}).attr('aria-hidden','false');$("div.nbf_hotelresult[data-hid='"+hid+"'] div.nbf_roomprices .nbf_roomrow").not('.selected').css({'display':'none'}).removeClass('hidden').slideDown(300);$(document).trigger('showmore.nbf',[elem]);});$(document).on('click',".nbf_hidemore,div.nbf_addprod_hotelcontainer div.nbf_addprod_hideopts",function(){var elem=$(this),hid=elem.attr("data-hid");elem.hide().attr('aria-hidden','true');if(!$("div.nbf_hotelresult[data-hid='"+hid+"'] div.nbf_roomprices .nbf_roomrow.selected").length){$("div.nbf_hotelresult[data-hid='"+hid+"'] div.nbf_roomprices .nbf_roomrow:not(:first)").slideUp(100,function(){$(this).addClass('hidden');});}else{$("div.nbf_hotelresult[data-hid='"+hid+"'] div.nbf_roomprices .nbf_roomrow").not('.selected').slideUp(100,function(){$(this).addClass('hidden');});} $(".nbf_showmore[data-hid='"+hid+"'],div.nbf_addprod_moreopts[data-hid='"+hid+"']").css({"display":"inline-block","*display":"inline","zoom":1}).attr('aria-hidden','false');$(document).trigger('hidemore.nbf',[elem]);});$('.nbf_hotelresult').each(function(){$(this).children('.nbf_directions').css('min-height',$(this).find('.nbf_resultspriceelements').height()+10);});$('.nbf_flightresult').each(function(){$(this).children('.nbf_directions').css('min-height',$(this).find('.nbf_resultspriceelements').height()+10);});$('.nbf_ferryresult').each(function(){$(this).children('.nbf_directions').css('min-height',$(this).find('.nbf_resultspriceelements').height()+10);});$(document).on("change simclick",".nbf_hotelroomsarea input.nbf_roomopt",function(e){var thisroom=$(this);var roomstable=thisroom.parents("div.nbf_roomprices");var roomNum=roomstable.attr('data-roomnum');var travelrequestid=roomstable.attr("data-tid");var hotelhash=roomstable.attr("data-hid");var hotelroomcostdata=nbf_hotelcostings[travelrequestid][hotelhash];var travelresultid=thisroom.val();var thisroomcostdata=$.extend(true,{},hotelroomcostdata[travelresultid]);thisroomcostdata.cost=thisroomcostdata.cost[roomNum];thisroomcostdata.discount=thisroomcostdata.discount[roomNum];thisroomcostdata.points=thisroomcostdata.points[roomNum];thisroomcostdata.pointsvalue=thisroomcostdata.pointsvalue[roomNum];var noHighlight=thisroom.parents('.nbf_roomrow').hasClass('noHighlight');if(!noHighlight){roomstable.parents("div.nbf_hotelresult").find("div.nbf_hotel_avgprpn").html("");roomstable.parents("div.nbf_hotelresult").find("div.nbf_hotel_avgpp").html("");roomstable.parents("div.nbf_hotelresult").find("div.nbf_product_discount").html("");roomstable.parents("div.nbf_hotelresult").find("div.nbf_hotel_hotelonly_cost").html("");roomstable.parents("div.nbf_hotelresult").find("div.nbf_product_total").html("");roomstable.find('.nbf_roomrow').removeClass("selected");thisroom.parents('.nbf_roomrow').addClass("selected");roomstable.find(".nbf_roomoption_price").each(function(index,elem){var currroom=$(elem).parent().find("input.nbf_roomopt");if(currroom.length){if(currroom.attr("id")===thisroom.attr("id")){$(elem).html(trjs_selected);}else{var currroompricedata=$.extend(true,{},hotelroomcostdata[currroom.val()]);currroompricedata.cost=currroompricedata.cost[roomNum];currroompricedata.discount=currroompricedata.discount[roomNum];currroompricedata.points=currroompricedata.points[roomNum];currroompricedata.pointsvalue=currroompricedata.pointsvalue[roomNum];$(elem).html(RewardPoints.displayDifference(thisroomcostdata,currroompricedata));}}});var hotelcost=0.0;var hoteldiscount=0.0;var hotelpoints=0;var hotelpointsvalue=0.0;var assoccost=null;var assocdiscount=null;var assocpoints=null;var assocpointsvalue=null;var allselectedroomoptions=roomstable.parents("div.nbf_hotelresult").find(".selected input.nbf_roomopt");allselectedroomoptions.each(function(){var travelresultid=$(this).val();var thisRoomNum=parseInt($(this).parents('.nbf_roomprices').attr('data-roomnum'),10);var thisroomcostdata=$.extend(true,{},hotelroomcostdata[travelresultid]);hotelcost+=parseFloat(thisroomcostdata.cost[thisRoomNum]);hoteldiscount+=parseFloat(thisroomcostdata.discount[thisRoomNum]);hotelpoints+=parseFloat(thisroomcostdata.points[thisRoomNum]);hotelpointsvalue+=parseFloat(thisroomcostdata.pointsvalue[thisRoomNum]);});var firstroom=allselectedroomoptions.get(0);var firstroomcostdata=hotelroomcostdata[$(firstroom).val()];if(!firstroomcostdata.opaque){if(assoccost===null){assoccost=parseFloat(firstroomcostdata.assoccost);} if(assocdiscount===null){assocdiscount=parseFloat(firstroomcostdata.assocdiscount);} if(assocpoints===null){assocpoints=parseFloat(firstroomcostdata.assocpoints);} if(assocpointsvalue===null){assocpointsvalue=parseFloat(firstroomcostdata.assocpointsvalue);}} var hotelarea=roomstable.parents('.nbf_hotelroomsarea');clearTimeout(hotelarea.data('hotelcosthtmlbuffer'));hotelarea.data('hotelcosthtmlbuffer',setTimeout(function(){if(hotelroomcostdata.selected.cost===0){var attr={"a":"nbf","type":"hotelcosthtml","discount":hoteldiscount?(hotelcost+hoteldiscount+(assoccost+assocdiscount)):0,"total":hotelcost,"points":hotelpoints,"pointsvalue":hotelpointsvalue,"numrooms":nbf_numrooms,"numnights":nbf_numnights,"numpeople":nbf_numpeople,"assoccost":assoccost,"assocdiscount":assocdiscount,"assocpoints":assocpoints,"assocpointsvalue":assocpointsvalue};$.getJSON("ajax.php",attr,function(data){roomstable.parents("div.nbf_hotelresult").find("div.nbf_hotel_avgprpn").html(data.prpncost);roomstable.parents("div.nbf_hotelresult").find("div.nbf_hotel_avgpp").html(data.ppcost);if(data.discount){roomstable.parents("div.nbf_hotelresult").find("div.nbf_product_discountline").show() roomstable.parents("div.nbf_hotelresult").find("div.nbf_product_discount").html(data.discount).show();roomstable.parents("div.nbf_hotelresult").find("div.nbf_product_discounted").show() roomstable.parents("div.nbf_hotelresult").find("div.nbf_product_not_discounted").hide()}else{roomstable.parents("div.nbf_hotelresult").find("div.nbf_product_discountline").hide();roomstable.parents("div.nbf_hotelresult").find("div.nbf_product_discount").hide();roomstable.parents("div.nbf_hotelresult").find("div.nbf_product_discounted").hide() roomstable.parents("div.nbf_hotelresult").find("div.nbf_product_not_discounted").show()} roomstable.parents("div.nbf_hotelresult").find("div.nbf_product_total").html(data.total);roomstable.parents("div.nbf_hotelresult").find("div.nbf_hotel_hotelonly_cost").html(data.hotelonlycost);if($('.nbf_product_monthly').length){roomstable.parents("div.nbf_hotelresult").find("div.nbf_product_monthly").html(data.monthly);}});}else{var attr={};var diff=(hotelcost-hotelroomcostdata.selected.cost);attr.a="nbf";attr.type="hoteldiffhtml";attr.selectedhotel=hotelroomcostdata.selected;attr.discount=(hotelcost+hoteldiscount);attr.total=hotelcost;attr.points=hotelpoints;attr.pointsvalue=hotelpointsvalue;attr.numpeople=nbf_numpeople;$.getJSON("ajax.php",attr,function(data){roomstable.parents("div.nbf_hotelresult").find("div.nbf_product_total").html(data.total);roomstable.parents("div.nbf_hotelresult").find("div.nbf_fancy_product_results_ppcost").html(data.diffpp);if(diff===0){roomstable.parents("div.nbf_hotelresult").find("div.nbf_hotel_avgpp_text").html("");}else{roomstable.parents("div.nbf_hotelresult").find("div.nbf_hotel_avgpp_text").html(trjs_avgppp);}});}},100));} if(e.type!=='simclick'){$(document).trigger('selectroom.nbf',[thisroom,roomstable]);}});$(document).on('click','.nbf_resultsareasorting_tab [data-sorttype]',function(e){e.preventDefault();$('#nbf_sortby').val($(this).attr('data-sorttype')).trigger('updatesorttabs');if($('#nbf_container.flight').length)nbf_flight_applyfilters(1);if($('#nbf_container.hotel').length)nbf_hotel_applyfilters(1);if($('#nbf_container.ferry').length)nbf_ferry_applyfilters(1);});$(document).on('updatesorttabs','#nbf_sortby',function(e){var resultsareasorting=$('#nbf_resultsareasorting');resultsareasorting.find('.nbf_resultsareasorting_tabselected').removeClass('nbf_resultsareasorting_tabselected');resultsareasorting.find('a[data-sorttype="'+$(this).val()+'"]').parents('.nbf_resultsareasorting_tab').first().addClass('nbf_resultsareasorting_tabselected');$('.nbf_resultsarea_sortingdescription').addClass('hidden');$('.nbf_resultsarea_sortingdescription[data-sorttype="'+$(this).val()+'"]').removeClass('hidden');});$(document).on("click","img.nbf_hotelimg_mediumsquare",function(){var newSrc=$(this).attr("data-img");var image=new Image();image.src=newSrc;image.onload=function(){$("div.nbf_hotelmainimg_default img").attr("src",newSrc).fadeIn(200);};$("div.nbf_hotelmainimg_default img").fadeOut(100);});$(document).on("click","div.nbf_hoteltab, div.nbf_flighttab",function(){$(this).siblings("div.nbf_hoteltab, div.nbf_flighttab").removeClass("nbf_tabactive");$(this).addClass("nbf_tabactive");$elem=$("#"+$(this).attr("rel"));var tabpanes=$("div.nbf_tabcontents");var visibletabpanes=tabpanes.filter(":visible");if(!visibletabpanes.length){visibletabpanes=tabpanes;} visibletabpanes.fadeOut(200,function(){$elem.fadeIn(300);});});$(document).on("click","div.nbf_flightinfo_icon,div.nbf_flightupgrade_moreinfo",function(){var e=$(this);$.get("ajax.php",{"a":"nbf","type":"flightdetails","tr":$(this).attr("data-tr"),"out":$(this).attr("data-out"),"ret":$(this).attr("data-ret")},function(data){nbf_productdetail_lightbox(data,e);});});$(document).on('click',"div.nbf_hotelinfo_icon",function(){nbf_lightbox("",$(this));$.get("ajax.php",{"a":"nbf","tr":$(this).attr("data-tr"),"type":"hoteldetails","hotelid":$(this).attr("data-hid")},function(data){$("div#nbf_lightbox_content").html(data);});return false;});$(document).on('click','.nbf_addprod_hotelinfo_icon',function(){nbf_lightbox("",$(this));$.get("ajax.php",{"a":"nbf","tr":"NONE","type":"hoteldetails","hotelid":$(this).attr("data-hid")},function(data){$("div#nbf_lightbox_content").html(data);});return false;});$(document).on('click',"div.nbf_hotelimgarea,div.nbf_hoteldetailsarea,div.nbf_hotelmainimg img,div.nbf_hotelsubimgs img,a.nbf_moredetails,div.nbf_hotelresult div.nbf_hotelname",function(e){var targetElem=$(e.target);if(targetElem.prop('tagName')==='A'){if(!targetElem.hasClass('nbf_moredetails')){return true;}} var containerElem=targetElem.parents('div').first();var boards=[];$("#nbf_filters_boards input:checked").each(function(){boards[boards.length]=$(this).val();});if(boards.length===0){boards[0]="NONE";} nbf_lightbox("
",$(this));var attr={"a":"nbf","type":"hoteldetails","tr":$(this).parents("div.nbf_hotelresult").attr("data-tr"),"hotelid":$(this).parents("div.nbf_hotelresult").attr("data-hid"),"filter_board":boards,"defaultimage":$(this).attr("data-img"),"selectedtab":containerElem.attr('data-selectedtab')};if($(this).parents("div.nbf_hotelresult.nbf_addprod_hotelopt").length>0){attr.tr="NONE";} $.get("ajax.php",attr,function(data){$("div#nbf_lightbox_content").html(data);});return false;});var paneSearchAgain=$('#pane-searchagain').on("click",function(e){var elem=$(e.target);if(elem.is('.btn-close')){e.preventDefault();nbf_toggle_changesearch(null,null,$(this));return;} return;});$('#nbf_container').on("click",function(e){var elem=$(e.target),changesearchelem=elem.closest('.nbf_button_changesearch');if(changesearchelem.length>0){e.preventDefault();if(typeof nbf_changelink!='undefined'){if(typeof nbf_changelink_postfields!='undefined'){var html="
";$.each(nbf_changelink_postfields,function(k,v){html+=""});html+="
";var form=$(html);$('body').append(form);form.submit();}else{document.location.href=nbf_changelink;}}else{var forcechangesearch=(changesearchelem.attr('data-forcechangesearch')!=='false');nbf_toggle_changesearch(forcechangesearch);} return;} if(elem.is('.nbf_button_filters')||elem.parent().is('.nbf_button_filters')){e.preventDefault();nbf_show_filters();return;} if(elem.is('.nbf_button_basket')||elem.parent().is('.nbf_button_basket')){e.preventDefault();nbf_show_basket();return;} return;});$(document).on("change","#nbf_insurance_sort",function(){if(nbf_applyfilters_timeout!=null){clearTimeout(nbf_applyfilters_timeout);} if(parseInt($('.responsive_state').css("zIndex"),10)<=0)nbf_applyfilters_timeout=window.setTimeout(function(){nbf_insurance_applyfilters(1);},1500);});$(document).on("change","#nbf_filtersection.nbf_flightfilters input,#nbf_filtersection.nbf_flightfilters select",function(){if(nbf_lastResponsiveMode=="mobile")return;if(nbf_applyfilters_timeout!=null){clearTimeout(nbf_applyfilters_timeout);} if(parseInt($('.responsive_state').css("zIndex"),10)<=0)nbf_applyfilters_timeout=window.setTimeout(function(){nbf_flight_applyfilters(1);},1500);});$('#nbf_filtersection').on('change','#nbf_filters_airlines :input[type=checkbox]',function(){$("#filter_deeplinkedresults").prop("checked",false);});$(document).on("change","#nbf_filtersection.nbf_ferryfilters input,#nbf_filtersection.nbf_ferryfilters select",function(){if(nbf_lastResponsiveMode=="mobile")return;if(nbf_applyfilters_timeout!=null){clearTimeout(nbf_applyfilters_timeout);} if(parseInt($('.responsive_state').css("zIndex"),10)<=0)nbf_applyfilters_timeout=window.setTimeout(function(){nbf_ferry_applyfilters(1);},1500);});$(document).on("click","#nbf_filters_boards,#nbf_filters_rate_type,#nbf_filters_ratings,#nbf_filters_tags,#nbf_filter_offer",function(){if(nbf_applyfilters_timeout!=null){clearTimeout(nbf_applyfilters_timeout);} if(parseInt($('.responsive_state').css("zIndex"),10)<=0)nbf_applyfilters_timeout=window.setTimeout(function(){nbf_hotel_applyfilters(1);},1500);});$(document).on("change","#nbf_filter_hotelsupplier,#nbf_hotel_sort,#nbf_filter_location,#nbf_filter_hotel_chain",function(){if(nbf_applyfilters_timeout!=null){clearTimeout(nbf_applyfilters_timeout);} if(parseInt($('.responsive_state').css("zIndex"),10)<=0)nbf_applyfilters_timeout=window.setTimeout(function(){nbf_hotel_applyfilters(1);},1500);});$(document).on("keyup","#nbf_filter_hotelname",function(e){if(e.keyCode>0&&nbf_applyfilters_timeout!=null){clearTimeout(nbf_applyfilters_timeout);} if(parseInt($('.responsive_state').css("zIndex"),10)<=0)nbf_applyfilters_timeout=window.setTimeout(function(){nbf_hotel_applyfilters(1);},1500);});$(document).on("click","#nbf_cheapflights_showmore",function(){$("#nbf_cheapflights_tbl tr:hidden").not('.nbf_otherDay').show();$(this).hide();});$(document).on("click","div.nbf_dateschange_opt",function(){$("div.nbf_dateschange_container div.nbf_dateschange_opt").removeClass("selected").removeClass('nbf_dateschange_prev').removeClass('nbf_dateschange_next');$(this).addClass("selected");$(this).prev().addClass('nbf_dateschange_prev');$(this).next().addClass('nbf_dateschange_next');nbf_flight_applyfilters(1);});$("#nbf_filters_showmap div.nbf_image_hotel_minimap").click(function(){nbf_hotelresultsmap();});$("#nbf_close_map").click(function(){$("#nbf_hotelresultsmapcntr").hide();$("#nbf_hotelresultsmap").html("");$("#nbf_hotelresultsmap_container").html("");});$(document).on('click','div.nbf_roomprices div.nbf_roomrow',function(e){if($(e.target).prop('tagName')!=='INPUT'){$(this).find("input[type=radio]").click();}});$(document).on("click",".nbf_attractionoptionarea label",function(){$(this).parent().find("label").removeClass("selected");$(this).addClass("selected");$(this).closest(".nbf_attraction_result").find('.nbf_attraction_avgpp').html(IBE_NumberFormatter.formatCurrency($(this).attr("data-ppcost")));$(this).closest(".nbf_attraction_result").find('.nbf_product_total > div').html(IBE_NumberFormatter.formatCurrency($(this).attr("data-totalcost")));});$(document).on("click","div.nbf_showmore_attractions",function(){$(this).hide();$("div.nbf_hidemore_attractions[data-hid='"+$(this).attr("data-hid")+"']").css({"display":"inline-block","*display":"inline","zoom":1});$("div.nbf_attraction_result[data-hid='"+$(this).attr("data-hid")+"'] label.nbf_attractionoptionrow.hidden").css({"display":"block","*display":"inline","zoom":1});;});$(document).on("click","div.nbf_hidemore_attractions",function(){$(this).hide();$("div.nbf_attraction_result[data-hid="+$(this).attr("data-hid")+"] label.nbf_attractionoptionrow.hidden").fadeOut(100);$("div.nbf_showmore_attractions[data-hid="+$(this).attr("data-hid")+"],div.nbf_addprod_moreopts[data-hid="+$(this).attr("data-hid")+"]").css({"display":"inline-block","*display":"inline","zoom":1});});$(document).on("click",".nbf_attractionimgarea, nbf_attractiondescarea, a.nbf_attraction_moredetails",function(){nbf_lightbox("",$(this));attr={a:"nbf",type:"attractiondetails",tr:travelrequestid,hash:$(this).parents("div.nbf_attraction_result").attr("data-hid")};$.get("ajax.php",attr,function(data){$("div#nbf_lightbox_content").html(data);});return false;});$(document).on("click",".nbf_lightbox img.nbf_attractionimg_mediumsquare",function(){var newSrc=$(this).attr("data-img");var image=new Image();image.src=newSrc;image.onload=function(){$(".nbf_lightbox div.nbf_attractionmainimg img").attr("src",newSrc).fadeIn(200);};$(".nbf_lightbox div.nbf_attractionmainimg img").fadeOut(200);});if($("#nbf_hotelresultsmapcntr").is(":visible")){nbf_hotelresultsmap();} var favBtn=null;$(document).on('click','.nbf_journey_favourite.add',function(){favBtn=this;var treq=$(favBtn).attr('data-treq');var hotelhash=$(favBtn).attr('data-hotelhash');$.get("ajax1478.html?a=nbf&type=favourite_journey&treq="+treq+"&hotelhash="+hotelhash,function(html){nbf_lightbox(html);});});$(document).on('click','.nbf_journey_favourite.remove',function(){var btn=this;var treq=$(btn).attr('data-treq');var hotelhash=$(btn).attr('data-hotelhash');$.get("ajaxfe64.html?a=nbf&type=favourite_journey_remove&treq="+treq+"&hotelhash="+hotelhash,function(html){$(btn).parent().find('.nbf_journey_favourite, .bf_favourite').toggle();});});$(document).on('submit','#nbf_lightbox_container #nbf_favourite_journey_form',function(e){e.preventDefault();$('#nbf_lightbox_content .errors').remove();var treq=$('input[name="treq"]',this).val();var name=$('input[name="favourite"]',this).val();var hotelhash=$('input[name="hotelhash"]',this).val();if(hotelhash==='undefined'){hotelhash="";} var who=$('input[name="who"]',this).filter(':checked').val();var profileuserid=$('input[name="profileuserid"]',this).val();$.getJSON("ajax.php",{a:'nbf',type:"favourite_journey_submit",treq:treq,name:name,hotelhash:hotelhash,who:who,profileuserid:profileuserid},function(data){if(data.status===1){$('#nbf_lightbox_content').html(data.html);$(favBtn).parent().find('.nbf_journey_favourite, .bf_favourite').toggle();}else{$('#nbf_lightbox_content h2').after(data.html);}});});$(document).on('click','.contentboxcollapser > h3',function(e){if($(this).parent().hasClass("collapsed")){$(this).parent().removeClass("collapsed").addClass("expanded");}else{$(this).parent().removeClass("expanded").addClass("collapsed");}});});$(function(){var tooltips=$('.tooltip');if(typeof tooltips.tooltip==='function'){tooltips.tooltip();}});function nbf_insurancePolicy(id){$.get("insuranceinfod41d.html?"+id+"&brief=1",function(content){nbf_lightbox(content);});} function nbf_insuranceProductDocument(id){$.get("insuranceinfod41d.html?"+id+"&ipd=1",function(content){nbf_lightbox(content);});} function nbf_attraction_applyfilters(page,force){if(!force&&nbf_applyfilters_timeout!=null){clearTimeout(nbf_applyfilters_timeout);} if(!force){nbf_applyfilters_timeout=window.setTimeout(function(){nbf_attraction_applyfilters(page,true);},1500);return;} var filter_name=$('#nbf_filter_name').val();var filter_sort=$('#nbf_filter_sort').val();var filter_supp=$('#nbf_filter_supplier').val();var filter_quote=$('#nbf_filter_quote').val();var filter_lowprice=$('#lowestfilterprice').html();var filter_highprice=$('#highestfilterprice').html();var filter_date=[];$("input[name='filter_date']:checked").each(function(){filter_date[filter_date.length]=$(this).val();});attr={a:"nbf",type:"attractionresults",filter_name:filter_name,filter_date:filter_date,filter_sort:filter_sort,filter_supp:filter_supp,filter_quote:filter_quote,filter_lowprice:filter_lowprice,filter_highprice:filter_highprice,tr:travelrequestid,page:page};$("#nbf_filters_loading").show();$("#nbf_resultscontainer").hide();if(typeof(Storage)!=undefined){try{sessionStorage.setItem(travelrequest_id+"-filters",JSON.stringify(attr));}catch(domException){}} $.get("ajax.php",attr,function(response){$("#nbf_resultscontainer").html(response);$("#nbf_filters_loading").hide();$("#nbf_resultscontainer").show();});} function nbf_attraction_clearfilters(page){$('#nbf_filter_name').val("");$('#nbf_filter_sort').val("");$('#nbf_filter_supplier').val("");$('#nbf_filter_quote').val("");$("input[name='filter_date']:checked").click();if($('#nbf_filter_price').length){$('#nbf_filter_price').val([nbf_init_lowestCost,nbf_init_highestCost]);} if(nbf_applyfilters_timeout!=null){clearTimeout(nbf_applyfilters_timeout);} nbf_attraction_applyfilters(page,true);} function nbf_rail_applyfilters(single,first,all){attr={a:"nbf",type:"railresults",filter_single:(single?1:0),filter_first:(first?1:0),filter_all:(all?1:0),tr:travelrequestid};$("#nbf_filters_loading").show();$("#nbf_resultscontainer").hide();if(typeof(Storage)!=undefined){try{sessionStorage.setItem(travelrequest_id+"-filters",JSON.stringify(attr));}catch(domException){}} $.get("ajax.php",attr,function(response){$("#nbf_resultscontainer").html(response);$("#nbf_filters_loading").hide();$("#nbf_resultscontainer").show();});nbf_show_main();} function nbf_hotelresultsmap(travelrequestid){if(typeof travelrequestid==='undefined'&&typeof travelrequest_id!=='undefined'){travelrequestid=travelrequest_id;} boards=[];$("#nbf_filters_boards input:checked").each(function(){boards[boards.length]=$(this).val();});if(boards.length==0)boards[0]="NONE";ratings=[];$("#nbf_filters_ratings input:checked").each(function(){ratings[ratings.length]=$(this).val();});if(ratings.length==0)ratings[0]="NONE";tags=[];$("#nbf_filters_tags input.nbf_hotel_tag:checked").each(function(){tags[tags.length]=$(this).val();});if(tags.length==0)tags[0]="NONE";if($("#nbf_filter_offer").is(":checked")){filter_offer=1;} else{filter_offer=0;} attr={"a":"nbf","type":"hotelresultsmap","tr":travelrequestid,"filter_board":boards,"filter_rating":ratings,"filter_tags":tags,"filter_specialoffers":$("#nbf_filter_specialoffers:checked").val(),"filter_location":$("#nbf_filter_location").val(),"filter_name":$("#nbf_filter_hotelname").val(),"filter_offers":filter_offer,"filter_hotelnames":$("#nbf_filter_hotelnames").val(),"filter_hotelsupplier":$("#nbf_filter_hotelsupplier").val(),"filter_mincost":nbf_lowestCost,"filter_maxcost":nbf_highestCost,"sort":$("#nbf_hotel_sort").val(),"currpage":nbf_currpage};if(parseInt($('.responsive_state').css("zIndex"),10)>0){nbf_hotel_applyfilters(1);} $("#nbf_hotelresultsmapcntr").hide();$("#nbf_hotelresultsmap").html("");$("#nbf_hotelresultsmap_container").html("");$("#nbf_map_loading").show();$("#nbf_hotelresultsmapcntr,#nbf_hotelresultsmap").show();$.get("ajax.php",attr,function(response){$("#nbf_hotelresultsmap_container").html(response);$("#nbf_map_loading").hide();});if(parseInt($('.responsive_state').css("zIndex"),10)>0){$(document).scrollTop($("#nbf_hotelresultsmapcntr").offset().top);}} function nbf_hotel_applyfilters(page,attr){if(typeof attr=='undefined')attr={};nbf_currpage=page;$(window).scrollTop(0);boards=[];$("#nbf_filters_boards input:checked").each(function(){boards[boards.length]=$(this).val();});if(boards.length==0)boards[0]="NONE";ratetypes=[];$("#nbf_filters_rate_type input:checked").each(function(){ratetypes[ratetypes.length]=$(this).val();});if(ratetypes.length==0)ratetypes[0]="NONE";ratings=[];$("#nbf_filters_ratings input:checked").each(function(){ratings[ratings.length]=$(this).val();});if(ratings.length==0)ratings[0]="NONE";tags=[];$("#nbf_filters_tags input.nbf_hotel_tag:checked").each(function(){tags[tags.length]=$(this).val();});if(tags.length==0)tags[0]="NONE";if($("#nbf_filter_offer").is(":checked")){filter_offer=1;} else{filter_offer=0;} attr["a"]="nbf";attr["type"]="hotelresults";attr["tr"]=travelrequest_id;attr["filter_board"]=boards;attr["filter_ratetype"]=ratetypes;attr["filter_rating"]=ratings;attr["filter_tags"]=tags;attr['filter_specialoffers']=$("#nbf_filter_specialoffers:checked").val();attr["filter_location"]=$("#nbf_filter_location").val();attr["filter_name"]=$("#nbf_filter_hotelname").val();attr["filter_offers"]=filter_offer;attr["filter_hotelnames"]=$("#nbf_filter_hotelnames").val();attr["filter_hotelsupplier"]=$("#nbf_filter_hotelsupplier").val();attr["filter_mincost"]=nbf_lowestCost;attr["filter_maxcost"]=nbf_highestCost;attr["filter_roomcode"]=$("#nbf_filter_roomcode").val();attr["filter_hotelchain"]=$("#nbf_filter_hotel_chain").val();attr["sort"]=$("#nbf_hotel_sort").val();attr["page"]=page;$("#nbf_resultsarea").html('
');$("#nbf_filters_loading").show();if(typeof(Storage)!=undefined){try{sessionStorage.setItem(travelrequest_id+"-filters",JSON.stringify(attr));}catch(domException){}} $.get("ajax.php",attr,function(response){$("#nbf_resultscontainer").html(response);window.setTimeout(function(){$('.nbf_hotelresult').each(function(){$(this).children('.nbf_directions').css('min-height',$(this).find('.nbf_resultspriceelements').height()+10);});},500);$('.preselectedroom').click();nbf_responsive(true);$(document).trigger('applyfiltersfinished.nbf',[page,attr]);});if($("#nbf_hotelresultsmapcntr").is(":visible")){nbf_hotelresultsmap();} nbf_show_main();} function nbf_hotel_clearfilters(page){$("#nbf_filters_boards input:checked").click();$("#nbf_filters_rate_type input:checked").click();$("#nbf_filters_ratings input:checked").click();$("#nbf_filters_tags input.nbf_hotel_tag:checked").click();$("#nbf_filter_offer:checked").click();$("#nbf_filter_hotelname").val("");$("#nbf_filter_specialoffers:checked").val("");$("#nbf_filter_location").val();$("#nbf_filter_hotelsupplier").val("");$("#nbf_filter_hotel_chain").val("");$("#nbf_hotel_sort").val("");if(nbf_applyfilters_timeout!=null){clearTimeout(nbf_applyfilters_timeout);} nbf_hotel_applyfilters(page);} function nbf_flight_applyfilters(page){if(typeof travelrequest_id=='undefined')return;airlines=[];$("#nbf_filters_airlines input:checked").each(function(){airlines[airlines.length]=$(this).val();});if(airlines.length==0)airlines[0]="NONE";depairports=[];$("#nbf_filter_depairport input:checked").each(function(){depairports[depairports.length]=$(this).val();});destairports=[];$("#nbf_filter_destairport input:checked").each(function(){destairports[destairports.length]=$(this).val();});if(destairports.length==0)destairports[0]="NONE";retairports=[];$("#nbf_filter_retairport input:checked").each(function(){retairports[retairports.length]=$(this).val();});if(retairports.length==0)retairports[0]="NONE";cnxairports=[];$("#nbf_filter_cnxairport input:checked").each(function(){cnxairports[cnxairports.length]=$(this).val();});if(cnxairports.length==0)cnxairports[0]="NONE";connections=[];$("#nbf_filter_connections input:checked").each(function(){connections[connections.length]=$(this).val();});if(connections.length==0)connections[0]="NONE";fareclasses=[];$("#nbf_filter_fareclasses input:checked").each(function(){fareclasses[fareclasses.length]=$(this).val();});if(fareclasses.length==0)fareclasses[0]="NONE";faretypes=[];$("#nbf_filter_faretypes input:checked").each(function(){faretypes[faretypes.length]=$(this).val();});if(faretypes.length==0)faretypes[0]="NONE";baggage=[];$("#nbf_filter_baggage input:checked").each(function(){baggage[baggage.length]=$(this).val();});if(baggage.length==0)baggage[0]="NONE";faregroups=[];$("#nbf_filter_faregroups input:checked").each(function(){faregroups[faregroups.length]=$(this).val();});if(faregroups.length==0)faregroups[0]="NONE";var attr={"a":"nbf","type":"flightresults","tr":travelrequest_id,"filter_airlines":airlines,"filter_depairport":depairports,"filter_destairport":destairports,"filter_cnxairport":cnxairports,"filter_retairport":retairports,"filter_connections":connections,"filter_outboundhour_from":parseInt(nbf_lowestoutboundhour,10),"filter_outboundhour_to":parseInt(nbf_highestoutboundhour,10),"filter_returnhour_from":parseInt(nbf_lowestreturnhour,10),"filter_returnhour_to":parseInt(nbf_highestreturnhour,10),"filter_mincost":nbf_lowestCost,"filter_maxcost":nbf_highestCost,"filter_minfarecost":nbf_lowestfare,"filter_maxfarecost":nbf_highestfare,"filter_mintaxcost":nbf_lowesttax,"filter_maxtaxcost":nbf_highesttax,"filter_minduration":parseInt(nbf_lowestduration,10),"filter_maxduration":parseInt(nbf_highestduration,10),"filter_mincnxtime":parseInt(nbf_lowestcnxtime,10),"filter_maxcnxtime":parseInt(nbf_highestcnxtime,10),"filter_faretypes":faretypes,"filter_baggage":baggage,"filter_fareclasses":fareclasses,"filter_faregroups":faregroups,"filter_flightsupplier":$("#filter_flightsupplier").val(),"filter_dateout_override":$('#filter_dateout_override').val(),"filter_dateret_override":$('#filter_dateret_override').val(),"filter_deeplinkedresults":$('#filter_deeplinkedresults:checked').length,"filter_quote":$('#filter_quote:checked').val(),"sort":$("#nbf_sortby").val(),"page":page};if($("div.nbf_dateschange_opt.selected").attr("data-out")>0){attr.filter_dateout_override=$("div.nbf_dateschange_opt.selected").attr("data-out");} if($("div.nbf_dateschange_opt.selected").attr("data-ret")>0){attr.filter_dateret_override=$("div.nbf_dateschange_opt.selected").attr("data-ret");} $("#nbf_resultsarea").html('
');$("#nbf_filters_loading").show();if(typeof(Storage)!=undefined){try{sessionStorage.setItem(travelrequest_id+"-filters",JSON.stringify(attr));}catch(domException){}} $.get("ajax.php",attr,function(response){$("#nbf_resultscontainer").html(response);window.setTimeout(function(){$('.nbf_flightresult').each(function(){$(this).children('.nbf_directions').css('min-height',$(this).find('.nbf_resultspriceelements').height()+10);});},500);$(document).trigger('applyfiltersfinished.nbf',[page,attr]);});nbf_show_main();} function nbf_flight_clearfilters(page){if(typeof travelrequest_id=='undefined')return;$("#nbf_filters_airlines input:checked").click();$("#nbf_filter_depairport input:checked").click();$("#nbf_filter_destairport input:checked").click();$("#nbf_filter_retairport input:checked").click();$("#nbf_filter_cnxairport input:checked").click();$("#nbf_filter_connections input:checked").click();$("#nbf_filter_fareclasses input:checked").click();$("#nbf_filter_faretypes input:checked").click();$("#nbf_filter_baggage input:checked").click();$("#nbf_filter_faregroups input:checked").click();$("#nbf_filter_quote input:checked").click();if($("#nbf_filter_supplier select").length){$("#nbf_filter_supplier select > option").first().prop("selected",true);} if($("#nbf_filter_sortby select").length){$("#nbf_filter_sortby select > option").first().prop("selected",true);} if($('#nbf_filter_outboundhour_range').length){$('#nbf_filter_outboundhour_range').val([0,24]);} if($('#nbf_filter_returnhour_range').length){$('#nbf_filter_returnhour_range').val([0,24]);} if($('#nbf_filter_fare_range').length){$('#nbf_filter_fare_range').val([nbf_init_lowestfare,nbf_init_highestfare]);} if($('#nbf_filter_tax_range').length){$('#nbf_filter_tax_range').val([nbf_init_lowesttax,nbf_init_highesttax]);} if($('#nbf_filter_duration_range').length){$('#nbf_filter_duration_range').val([nbf_init_lowestduration,nbf_init_highestduration]);} if($('#nbf_filter_cnxtime_range').length){$('#nbf_filter_cnxtime_range').val([nbf_init_lowestcnxtime,nbf_init_highestcnxtime]);} if($('#nbf_filter_price_range').length){$('#nbf_filter_price_range').val([nbf_init_lowestCost,nbf_init_highestCost]);} if(nbf_applyfilters_timeout!=null){clearTimeout(nbf_applyfilters_timeout);} nbf_flight_applyfilters(page,true);} function nbf_transfer_applyfilters(page){$(window).scrollTop(0);var attr={"a":"nbf","type":"transferresults","tr":travelrequest_id,"page":page};if(typeof(Storage)!=undefined){try{sessionStorage.setItem(travelrequest_id+"-filters",JSON.stringify(attr));}catch(domException){}} $("#nbf_resultsarea").hide();$("#nbf_filters_loading").show();$.get("ajax.php",attr,function(response){$("#nbf_resultscontainer").html(response);$(document).trigger('applyfiltersfinished.nbf',[page,attr]);});nbf_show_main();} function nbf_transfer_clearfilters(){} function nbf_carparking_applyfilters(page){$(window).scrollTop(0);var attr={"a":"nbf","type":"carparkingresults","tr":travelrequest_id,"page":page};if(typeof(Storage)!=undefined){try{sessionStorage.setItem(travelrequest_id+"-filters",JSON.stringify(attr));}catch(domException){}} $("#nbf_resultsarea").hide();$("#nbf_filters_loading").show();$.get("ajax.php",attr,function(response){$("#nbf_resultscontainer").html(response);$(document).trigger('applyfiltersfinished.nbf',[page,attr]);});nbf_show_main();} function nbf_ferry_applyfilters(page){if(typeof travelrequest_id==='undefined')return;var depairports=[];$("#nbf_filter_depairport input:checked").each(function(){depairports[depairports.length]=$(this).val();});var destairports=[];$("#nbf_filter_destairport input:checked").each(function(){destairports[destairports.length]=$(this).val();});if(destairports.length===0)destairports[0]="NONE";var retdepports=[];$("#nbf_filter_retdepport input:checked").each(function(){retdepports[retdepports.length]=$(this).val();});if(retdepports.length===0)retdepports[0]="NONE";var retdestports=[];$("#nbf_filter_retdestport input:checked").each(function(){retdestports[retdestports.length]=$(this).val();});if(retdestports.length===0)retdestports[0]="NONE";var attr={"a":"nbf","type":"ferryresults","tr":travelrequest_id,"filter_depairport":depairports,"filter_destairport":destairports,"filter_retdepport":retdepports,"filter_retdestport":retdestports,"filter_outboundhour_from":parseInt(nbf_lowestoutboundhour,10),"filter_outboundhour_to":parseInt(nbf_highestoutboundhour,10),"filter_returnhour_from":parseInt(nbf_lowestreturnhour,10),"filter_returnhour_to":parseInt(nbf_highestreturnhour,10),"filter_mincost":nbf_lowestCost,"filter_maxcost":nbf_highestCost,"filter_ferrysupplier":$("#filter_ferrysupplier").val(),"filter_dateout_override":$('#filter_dateout_override').val(),"filter_dateret_override":$('#filter_dateret_override').val(),"filter_bysearchedroute":nbf_filterBySearchedRoute,"sort":$("#nbf_sortby").val(),"page":page};if($("div.nbf_dateschange_opt.selected").attr("data-out")>0){attr.filter_dateout_override=$("div.nbf_dateschange_opt.selected").attr("data-out");} if($("div.nbf_dateschange_opt.selected").attr("data-ret")>0){attr.filter_dateret_override=$("div.nbf_dateschange_opt.selected").attr("data-ret");} $("#nbf_resultsarea").html('
');$("#nbf_filters_loading").show();if(typeof(Storage)!=undefined){try{sessionStorage.setItem(travelrequest_id+"-filters",JSON.stringify(attr));}catch(domException){}} $.get("ajax.php",attr,function(response){$("#nbf_resultscontainer").html(response);window.setTimeout(function(){$('.nbf_ferryresult').each(function(){$(this).children('.nbf_directions').css('min-height',$(this).find('.nbf_resultspriceelements').height()+10);});},500);$(document).trigger('applyfiltersfinished.nbf',[page,attr]);if(!nbf_filterBySearchedRoute){$('#nbf_showaltroutes_clearfilters').hide();} nbf_filterBySearchedRoute=false;});nbf_show_main();} function nbf_ferry_clearfilters(page){if(typeof travelrequest_id=='undefined')return;$("#nbf_filter_depairport input:checked").click();$("#nbf_filter_destairport input:checked").click();$("#nbf_filter_retdepport input:checked").click();$("#nbf_filter_retdestport input:checked").click();if($("#filter_ferrysupplier select").length){$("#filter_ferrysupplier select > option").first().prop("selected",true);} if($("#nbf_filter_sortby select").length){$("#nbf_filter_sortby select > option").first().prop("selected",true);} if($('#nbf_filter_outboundhour_range').length){$('#nbf_filter_outboundhour_range').val([0,24]);} if($('#nbf_filter_returnhour_range').length){$('#nbf_filter_returnhour_range').val([0,24]);} if($('#nbf_filter_price_range').length){$('#nbf_filter_price_range').val([nbf_init_lowestCost,nbf_init_highestCost]);} if(nbf_applyfilters_timeout!=null){clearTimeout(nbf_applyfilters_timeout);} nbf_ferry_applyfilters(page,true);} function nbf_printcontent(title,content){$('#printingiframe').remove();$("body").prepend('');var printframe=window.frames["printingiframe"];var printdoc=printframe.document;linkstyles=$("
").append($("link[type=text\\/css][rel=stylesheet]").clone());pagestyles=$("
").append($("style").clone());printdoc.open();printdoc.write(''+title+'');printdoc.write(linkstyles.html());printdoc.write(pagestyles.html());printdoc.write(content);printdoc.write('');printdoc.close();} function nbf_mobile_closelightbox(){$(document).trigger('lightboxclose:nbf',[$('#nbf_lightbox_mobile_container')]);$("#nbf_lightbox_mobile_container").remove();$('#nbf_pagepanes_main').show();nbf_restoreScroll();$(document).trigger('NBF_Lightbox_Close');} function nbf_closelightbox(callback){if(parseInt($('.responsive_state').css("zIndex"),10)>0){nbf_mobile_closelightbox();}else{$('#nbf_lightbox_container').stop().fadeOut(200,function(){$('#nbf_lightbox_bg').stop().fadeOut(200,function(){$(document).trigger('lightboxclose:nbf',[$('#nbf_lightbox_container')]);$("#nbf_lightbox_container,#nbf_lightbox_bg").remove();if(typeof callback=='function'){callback.call(this);}});});$(document).trigger('NBF_Lightbox_Close');}} function nbf_lightbox_switch_plain(){$bl=$("td.nbf_lightbox.nbf_cost_bl");$b=$("td.nbf_lightbox.nbf_cost_b");$br=$("td.nbf_lightbox.nbf_cost_br");$bl.addClass("nbf_bl");$bl.removeClass("nbf_cost_bl");$b.addClass("nbf_b");$b.removeClass("nbf_cost_b");$br.addClass("nbf_br");$br.removeClass("nbf_cost_br");} function nbf_lightbox_switch_productdetail(){$bl=$("td.nbf_lightbox.nbf_bl");$b=$("td.nbf_lightbox.nbf_b");$br=$("td.nbf_lightbox.nbf_br");$bl.addClass("nbf_cost_bl");$bl.removeClass("nbf_bl");$b.addClass("nbf_cost_b");$b.removeClass("nbf_b");$br.addClass("nbf_cost_br");$br.removeClass("nbf_br");} function nbf_modal_box(content){if($("div#nbf_lightbox_container:visible").length!=0){nbf_closelightbox();} $("body").prepend('
');$("body").prepend('
'+content+'
');var win=$(window);var lightboxcontainer=$('#nbf_lightbox_container');lightboxcontainer.css({"top":(win.scrollTop()+100),"left":((win.width()-lightboxcontainer.outerWidth())/2),"padding-bottom":100});$('#nbf_lightbox_bg').fadeIn(100,function(){$('#nbf_lightbox_bg').css({"-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)","filter":"alpha(opacity=50)"});lightboxcontainer.fadeIn(200);});lightboxcontainer.on('click','#nbf_lightbox_close, #nbf_lightbox_bg, .nbfjs_lightbox_close',function(){nbf_closelightbox();});$(document).trigger('NBF_Lightbox_Open',[lightboxcontainer]);} function nbf_lightbox(content,element,fullwidth){if(content==null){content='
';} if(parseInt($('.responsive_state').css("zIndex"),10)>0){if($("div#nbf_lightbox_mobile_container").length==0){nbf_wrapBody();nbf_saveScroll();$('.nbf_pagepanes').hide();if(typeof content==='object'){$("body").prepend('
');$('#nbf_lightbox_content').append(content);}else{$("body").prepend('
'+content+'
');} $('#nbf_lightbox_mobile_container').on('click','#nbf_lightbox_close, .nbfjs_lightbox_close',function(e){e.stopPropagation();nbf_mobile_closelightbox();});$(document).trigger('NBF_Lightbox_Open',[$('#nbf_lightbox_mobile_container')]);}}else{if($("div#nbf_lightbox_container:visible").length==0){$("body").prepend('
');if(fullwidth===true){if(typeof content==='object'){$("body").prepend('
');$('#nbf_lightbox_content').append(content);}else{$("body").prepend('
'+content+'
');}} else{if(typeof content==='object'){$("body").prepend('
');$('#nbf_lightbox_content').append(content);}else{$("body").prepend('
'+content+'
');}} var win=$(window);var lightboxcontainer=$('#nbf_lightbox_container');if(window!=window.top&&typeof element!='undefined'){lightboxcontainer.css({"top":(element.offset().top),"left":((win.width()-lightboxcontainer.outerWidth(false))/2),"padding-bottom":100});}else{lightboxcontainer.css({"top":(win.scrollTop()+100),"left":((win.width()-lightboxcontainer.outerWidth(false))/2),"padding-bottom":100});} $('#nbf_lightbox_bg').fadeIn(200,function(){$('#nbf_lightbox_bg').css({"-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)","filter":"alpha(opacity=50)"});lightboxcontainer.fadeIn(400);});lightboxcontainer.on('click','#nbf_lightbox_close, #nbf_lightbox_bg, .nbfjs_lightbox_close',function(e){e.stopPropagation();nbf_closelightbox();});$(document).trigger('NBF_Lightbox_Open',[lightboxcontainer]);}}} function nbf_updatelightbox(content) {$('#nbf_lightbox_content').html(content);var win=$(window);var lightboxcontainer=$('#nbf_lightbox_container');if(window!=window.top&&typeof element!='undefined'){lightboxcontainer.css({"top":(element.offset().top),"left":((win.width()-lightboxcontainer.outerWidth(false))/2),"padding-bottom":100});}else{lightboxcontainer.css({"top":(win.scrollTop()+100),"left":((win.width()-lightboxcontainer.outerWidth(false))/2),"padding-bottom":100});} $(document).trigger('NBF_Lightbox_UpdateContent');} function nbf_lightbox_isopen() {return($('#nbf_lightbox_content').length>0);} function openCMSLightbox(name,additionalinfo){if(typeof additionalinfo==='undefined'){additionalinfo={};} nbf_lightbox(null);$.ajax({url:"cms.php",data:{a:"ajax",mode:"content",name:name,additionalinfo:additionalinfo},dataType:"json",success:function(html){$('#nbf_lightbox_content').html(html.content);},});} function nbf_productdetail_lightbox(content,element){if(content==null){content='
';} if(parseInt($('.responsive_state').css("zIndex"),10)>0){if($("div#nbf_lightbox_mobile_container").length==0){nbf_wrapBody();nbf_saveScroll();$('.nbf_pagepanes').hide();$("body").prepend('
'+content+'
');$('#nbf_lightbox_close').on("click",function(e){e.stopPropagation();nbf_mobile_closelightbox();});if(element&&element.length){var showtab=element.attr('data-showtab');if(showtab){$('#nbf_lightbox_container').find('.nbf_hoteltab, .nbf_flighttab').filter('[rel="'+showtab+'"]').trigger('click');}}}}else{if($("div#nbf_lightbox_container:visible").length==0){$("body").prepend('
');$("body").prepend('
'+content+'
');if(window!=window.top&&typeof element!='undefined'){$('#nbf_lightbox_container').css({"top":(element.offset().top),"left":(($(window).width()-$('#nbf_lightbox_container').outerWidth(false))/2),"padding-bottom":100});}else{$('#nbf_lightbox_container').css({"top":($(window).scrollTop()+100),"left":(($(window).width()-$('#nbf_lightbox_container').outerWidth(false))/2),"padding-bottom":100});} $('#nbf_lightbox_bg').fadeIn(200,function(){$('#nbf_lightbox_bg').css({"-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)","filter":"alpha(opacity=50)"});$('#nbf_lightbox_container').fadeIn(400);});$('#nbf_lightbox_close,#nbf_lightbox_bg').on("click",function(e){e.stopPropagation();nbf_closelightbox();});}} if(element&&element.length){var showtab=element.attr('data-showtab');if(showtab){$('#nbf_lightbox_container').promise().done(function(){$('#nbf_lightbox_container').find('.nbf_hoteltab, .nbf_flighttab').filter('[rel="'+showtab+'"]').trigger('click');});}}} function number_format(number,decimals,dec_point,thousands_sep){var n=!isFinite(+number)?0:+number,prec=!isFinite(+decimals)?0:Math.abs(decimals),sep=(typeof thousands_sep==='undefined')?',':thousands_sep,dec=(typeof dec_point==='undefined')?'.':dec_point,s='',toFixedFix=function(n,prec){var k=Math.pow(10,prec);return''+Math.round(n*k)/k;};s=(prec?toFixedFix(n,prec):''+Math.round(n)).split('.');if(s[0].length>3){s[0]=s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g,sep);} if((s[1]||'').length0){rwd_carhireShowImpInfo(id);return;} document.getElementById('show-'+id).style.display='none';document.getElementById('hide-'+id).style.display='block';document.getElementById('info-'+id).style.display='block';} function carhireHideImpInfo(id){document.getElementById('show-'+id).style.display='block';document.getElementById('hide-'+id).style.display='none';document.getElementById('info-'+id).style.display='none';} function rwd_carhireShowImpInfo(reqid){nbf_saveScroll();if($('#nbf_pagepanes_impinfo').length){$('#nbf_pagepanes_impcont').html($('#info-'+reqid).html());$('.nbf_pagepanes').hide();$('#nbf_pagepanes_impinfo').show();}else{nbf_wrapBody();$('body').append('
');$('#nbf_impinfo_close').on("click",function(){nbf_close_lightbox_mobile();});$('#nbf_pagepanes_impcont').html($('#info-'+reqid).html());$('.nbf_pagepanes').hide();$('#nbf_pagepanes_impinfo').show();}} function parkingShowImpInfo(id){document.getElementById('show-'+id).style.display='none';document.getElementById('hide-'+id).style.display='block';document.getElementById('info-'+id).style.display='block';} function parkingHideImpInfo(id){document.getElementById('show-'+id).style.display='block';document.getElementById('hide-'+id).style.display='none';document.getElementById('info-'+id).style.display='none';} function insuranceUpdatePrice(id,objectId){if(typeof insuranceDisabledFields=='undefined'){insuranceDisabledFields=new Array();} var selects=document.getElementsByTagName('select');var inputs=document.getElementsByTagName('input');var i;var params='objectId='+objectId+'|';var oldIndex='';for(i=0;i-1){params+=selects[i].name+'='+selects[i].options[selects[i].selectedIndex].value+'|';selects[i].disabled=true;insuranceDisabledFields[insuranceDisabledFields.length]=selects[i];if(selects[i].id==objectId){oldIndex=document.getElementById('hidden_'+objectId).value;document.getElementById('hidden_'+objectId).value=selects[i].selectedIndex;}}} for(i=0;i-1){if(inputs[i].checked){params+=inputs[i].name+'='+inputs[i].value+'|';} inputs[i].disabled=true;insuranceDisabledFields[insuranceDisabledFields.length]=inputs[i];}}} $('#loading_'+id).show();$.ajax({url:'travelreq.php',method:'POST',dataType:'json',data:{a:'ajax_updateInsurance',id:id,params:params,objectId:objectId,oldIndex:oldIndex}}).done(insuranceDataFetched);} function insuranceDataFetched(text){if(Array.isArray(text)){data=text;}else{data=$.parseJSON(text);} var id=data[0];var price=data[1];$('#loading_'+id).hide();for(var i=0;i0){nbf_close_lightbox_mobile();}else{changesearchsection.slideUp('slow',complete);}}}else{if(parseInt($('.responsive_state').css("zIndex"),10)>0){nbf_open_changesearch_mobile();}else{changesearchsection.slideDown('slow',complete);}}} function nbf_close_lightbox_mobile(){$('.nbf_pagepanes').hide();$('#nbf_pagepanes_main').show();nbf_restoreScroll();$(document).trigger('NBF_Lightbox_Close');} function nbf_show_main(){$('.nbf_pagepanes').hide();$('#nbf_pagepanes_main').show();nbf_restoreScroll();} function nbf_open_changesearch_mobile(){nbf_saveScroll();if($('#nbf_pagepanes_sb2').length){$('.nbf_pagepanes').hide();$('#nbf_pagepanes_sb2').show();}else{nbf_wrapBody();$('body').append('
');$('.nbf_pagepanes').hide();$('#nbf_pagepanes_sb2').show();$('#pane-searchagain .btn-close').replaceWith('
');$('#nbf_searchagain_close').on("click",function(){nbf_show_main();});$('#pane-searchagain').css('height','100%').appendTo('#nbf_pagepanes_sb2').show();}} function nbf_show_filters(){nbf_saveScroll();if($('#nbf_pagepanes_filters').length){$('.nbf_pagepanes').hide();$('#nbf_pagepanes_filters').show();}else{nbf_wrapBody();$('body').append('
');$('#nbf_filters_close, .nbf_mobile_apply_filters').on("click",function(){if($('#nbf_container.flight').length)nbf_flight_applyfilters(1);if($('#nbf_container.hotel').length)nbf_hotel_applyfilters(1);if($('#nbf_container.carhire').length)nbf_carhire_applyfilters(1);if($('#nbf_container.rail').length)nbf_show_main();if($('#nbf_container.ferry').length)nbf_ferry_applyfilters(1);});$('#nbf_filters').appendTo($('#nbf_pagepanes_filters'));$('.nbf_pagepanes').hide();$('#nbf_pagepanes_filters').show();}} function nbf_show_basket(){if(typeof hideInterval!='undefined'){clearInterval(hideInterval);} nbf_saveScroll();if($('#nbf_pagepanes_basket').length){$('.nbf_pagepanes').hide();$('#nbf_pagepanes_basket').show();}else{nbf_wrapBody();$('body').append('
');$('#nbf_basket_close').on("click",function(){nbf_show_main();});$('#nbf_cheapestflightscontainer').appendTo($('#nbf_pagepanes_basket'));$('#nbf_basket').appendTo($('#nbf_pagepanes_basket'));$('.nbf_pagepanes').hide();$('#nbf_pagepanes_basket').show();}} jQuery.fn.sort=function(){return this.pushStack([].sort.apply(this,arguments),[]);};function nbf_sortOrder(a,b){return a.getAttribute('data-sort')>b.getAttribute('data-sort')?1:-1;};function nbf_wrapBody(){if(!$('#nbf_pagepanes_main').length){$('body').find("script").remove().end().wrapInner('
');$('#ui-datepicker-div').appendTo($('body'));}} function nbf_saveScroll(){$('body').attr('data-nbf_scroll',$(window).scrollTop());$(window).scrollTop(0);} function nbf_restoreScroll(){$(window).scrollTop($('body').attr('data-nbf_scroll'));} function nbf_register_responsive_callback(callback){if($.inArray(callback,nbf_responsive_callbacks)==-1){nbf_responsive_callbacks[nbf_responsive_callbacks.length]=callback;}} var nbf_lastResponsiveMode=false;function nbf_responsive(force){var responsiveMode='desktop';if(parseInt($('.responsive_state').css('zIndex'),10)>0)responsiveMode='mobile';if((responsiveMode!=nbf_lastResponsiveMode)||force){if(responsiveMode=='mobile'){$('.nbf_hotelsubimgs img').each(function(){this.src=this.src.replace('nbf=squaresmall','nbf=fullsmall');});$('.nbf_hotelsubimgs').addClass('mobile');$("#nbf_cheapflights_tbl tr:hidden").show();$("#nbf_cheapflights_tbl .nbf_otherDay").hide();$('#nbf_cheapflights_showmore').hide();$('body').addClass("mobile");}else{$('.nbf_hotelsubimgs img').each(function(){this.src=this.src.replace('nbf=fullsmall','nbf=squaresmall');});$('.nbf_hotelsubimgs').removeClass('mobile');$('body').removeClass("mobile");} nbf_lastResponsiveMode=responsiveMode;$.each(nbf_responsive_callbacks,function(i,callback){var fn=window[callback];if(typeof fn==='function')fn(responsiveMode);});}} function nbf_sb2_replace_select(){} function nbf_insurance_applyfilters(page){$(window).scrollTop(0);attr={"a":"nbf","type":"insuranceresults","filter_mincost":nbf_lowestCost,"filter_maxcost":nbf_highestCost,"tr":travelrequest_id,"page":page};if(typeof(Storage)!=undefined){try{sessionStorage.setItem(travelrequest_id+"-filters",JSON.stringify(attr));}catch(domException){}} $("#nbf_resultsarea").hide();$("#nbf_filters_loading").show();$.get("ajax.php",attr,function(response){$("#nbf_resultscontainer").html(response);});nbf_show_main();} function nbf_insurance_clearfilters(){} function nbf_airlinesearch(airline){var searchform=$('#frm-flight, .sb3_flight_form');if(!searchform.length){searchform=$('#frm-flightopenjaw, .sb3_flightopenjaw_form');} if(!searchform.length){searchform=$('#frm-flighthotel, .sb3_flighthotel_form');} if(searchform.length){$('.sb2_airlines:gt(1), .sb3_airline_field_js:gt(1)').remove();if($('.sb2_airlines:last, .sb3_airline_field_js:last').length){$('.sb2_airlines:last, .sb3_airline_field_js:last').val('');$('.sb2_airlines:first, .sb3_airline_field_js:first').val(airline);}else{searchform.append("");} searchform.submit();}} function nbf_airlinefilter(airline,cnx,ignoreApply){var days=$('#nbf_airlinelogo-'+airline).attr('data-days');if(typeof days=="string"){var validDays=days.split(',');var selDay=$('.nbf_dateschange_opt.selected').attr('data-out');if(selDay&&validDays.length>0){var match=false;for(var i in validDays)if(validDays[i]==selDay)match=true;if(!match){$('.nbf_otherDay').css('display','none');$('#nbf_otherDay_'+airline+'_both').css('display','table-row');return;}}} $('.nbf_otherDay').css('display','none');$("#filter_deeplinkedresults").prop("checked",false);$("#nbf_filters_airlines input").prop("checked",false);$("#nbf_filters_airlines input[value="+airline+"]").prop("checked",true);$("#nbf_filter_connections input").prop("checked",false);if(cnx=="direct"){$("#nbf_filter_connections input[value=0]").prop("checked",true);}else if(cnx=="indirect"){$("#nbf_filter_connections input").prop("checked",true);$("#nbf_filter_connections input[value=0]").prop("checked",false);} if(!ignoreApply)nbf_flight_applyfilters(1);} var stopover={selectnights:function(i){var stopoverOption=$('#stopover-'+i);var nights=$('[name="stopoverNights"]',stopoverOption).val();$('.stopover_step1',stopoverOption).hide();$('.stopover_step2',stopoverOption).show();$('.added_nights',stopoverOption).html(nights);},goback:function(i){var stopoverOption=$('#stopover-'+i);$('.stopover_step1',stopoverOption).show();$('.stopover_step2',stopoverOption).hide();}};function fetchHotelGuests(id){var nRooms=$('#sb2_product_rooms').val();$('#resultform'+id).append("");for(var i=1;i<=nRooms;i++){var nAdults=$('#sb2_product_numadults'+i).val();var nChildren=$('#sb2_product_numchildren'+i).val();var nInfants=$('#sb2_product_numinfants'+i).val();if(typeof nAdults!='undefined')$('#resultform'+id).append("");if(typeof nChildren!='undefined')$('#resultform'+id).append("");if(typeof nInfants!='undefined')$('#resultform'+id).append("");} return false;} function changeNumberOfRooms(roomid){var num=$('#numRooms-'+roomid).val();$('#rooms-'+roomid).fadeOut();var room=$('.nbf_roomrow[data-optionid='+roomid+']');var hotel=room.parents('.nbf_hotelresult');updateHotelCosting(hotel);$('#rooms-'+roomid).promise().done(function(){var room=$('.nbf_roomrow[data-optionid='+roomid+']');var hotel=room.parents('.nbf_hotelresult');$('#rooms-'+roomid+' .nbf_roomselection_pax').hide();var pax={'adult':'Adults','child':'Children','infant':'Infants'};var occupancy=[];var paxAlreadyAssignedToRooms=0;$.each(pax,function(k,v){if(typeof occupancy[$('#rooms-'+roomid+' select.num'+v+'Selector').attr('data-roomNum')]=='undefined')occupancy[$('#rooms-'+roomid+' select.num'+v+'Selector').attr('data-roomNum')]={};occupancy[$('#rooms-'+roomid+' select.num'+v+'Selector').attr('data-roomNum')][$('#rooms-'+roomid+' select.num'+v+'Selector').attr('data-paxType')]=$('#rooms-'+roomid+' select.num'+v+'Selector').val();if(typeof $('#rooms-'+roomid+' select.num'+v+'Selector').val()!=='undefined'){paxAlreadyAssignedToRooms+=parseInt($('#rooms-'+roomid+' select.num'+v+'Selector').val());}});if(num!=0){if(!paxAlreadyAssignedToRooms){$.each(pax,function(k,v){var numPax=parseInt(hotel.find(':input[name=num'+v+']').val());var roomNum=1;while(numPax>0){if(typeof occupancy[roomNum]=='undefined')occupancy[roomNum]={};if(typeof occupancy[roomNum][v]=='undefined')occupancy[roomNum][v]=0;if(occupancy[roomNum][v]room.attr('data-maxquantity')||roomNum>num){roomNum=1;}}});} for(var i=1;i<=num;i++){$.each(pax,function(k,v){if(typeof occupancy[i]!='undefined'&&typeof occupancy[i][v]!='undefined'){$('#rooms-'+roomid+'-'+i+' select.num'+v+'Selector').val(occupancy[i][v]);}});$('#rooms-'+roomid+'-'+i).show();} room.addClass('selected');$('#rooms-'+roomid).fadeIn();}else{room.removeClass('selected');} updateHotelCosting(hotel);});} function updateHotelCosting(hotel){if(typeof hotel!='object'){hotel=$('.nbf_hotelresult[data-hid='+hotel+']');} var costing=0;var totalNumPax=0;var pax={'adult':'Adults','child':'Children','infant':'Infants'};hotel.find(".nbf_roomrow").each(function(){var numRooms=$(this).find(':input[class=roomSelector]').first().val();if(numRooms){var room=$(this);var hiddenRoom=$('.nbf_hiddenroomrow[data-optionid='+room.attr('data-optionid')+']');if(typeof room.attr('data-basePrice')!='undefined'){costing+=parseFloat(room.attr('data-basePrice'))*numRooms;} $.each(pax,function(k,v){var numPax=hiddenRoom.find(':input[class=num'+v+'Selector]');if(numPax.length){numPax.each(function(){totalNumPax+=parseInt($(this).val());if(typeof room.attr('data-per'+k)!='undefined'){costing+=parseFloat(room.attr('data-per'+k))*$(this).val();}});}});}});if(totalNumPax){var pp=hotel.find('.nbf_hotel_avgpp .nbf_fancy_product_results_ppcost');if(pp.length){hotel.find('.nbf_hotel_avgprice').show();var cost=parseFloat(costing)/parseFloat(totalNumPax);pp.html(IBE_NumberFormatter.formatCurrency(cost));} var pp=hotel.find('.nbf_product_total .nbf_fancy_product_results_totalcost');if(pp.length){hotel.find('.nbf_product_totalprice').show();var cost=parseFloat(costing);pp.html(IBE_NumberFormatter.formatCurrency(cost));}}else{hotel.find('.nbf_hotel_avgprice').hide();hotel.find('.nbf_product_totalprice').hide();}} function selectRoomsInFlow(hotelcode){var totalRoomsSelected=0;var hotel=$('.nbf_hotelresult[data-hid='+hotelcode+']');var totalAdults=0;var totalChildren=0;var totalInfants=0;var totalNumOccupants=0;var requiredOccupancy=0;var numAdults=parseInt(hotel.find(':input[name=numAdults]').val());var numChildren=parseInt(hotel.find(':input[name=numChildren]').val());var numInfants=parseInt(hotel.find(':input[name=numInfants]').val());requiredOccupancy+=numAdults;requiredOccupancy+=numChildren;fail=false;hotel.find('.nbf_roomrow').each(function(){var numRooms=$(this).find('.roomSelector').val();if(!numRooms)return;totalRoomsSelected+=numRooms;var roomNum=1;var room=$(this);$('#rooms-'+$(this).attr('data-optionid')+' div').each(function(){if(roomNum>numRooms)return;var roomTotal=0;elem=$(this).find(':input.numAdultsSelector').first();if(elem.length){totalAdults+=parseInt(elem.val());roomTotal+=parseInt(elem.val());totalNumOccupants+=parseInt(elem.val());} elem=$(this).find(':input.numChildrenSelector').first();if(elem.length){totalChildren+=parseInt(elem.val());if(room.attr('data-includeChildren')){roomTotal+=parseInt(elem.val());totalNumOccupants+=parseInt(elem.val());}else{if(parseInt(elem.val())>room.attr('data-maxExtraChildren')){alert("You have selected too many children for "+room.find('.nbf_roomname').html()+", room "+roomNum+" ("+parseInt(elem.val())+" selected). The maximum is "+room.attr('data-maxExtraChildren')+".");fail=true;}}} elem=$(this).find(':input.numInfantsSelector').first();if(elem.length){totalInfants+=parseInt(elem.val());} if(roomTotal>room.attr('data-maxOccupancy')){alert("You have selected too many occupants for "+room.find('.nbf_roomname').html()+", room "+roomNum+" ("+roomTotal+" selected). The maximum is "+room.attr('data-maxoccupancy')+".");fail=true;}else if(roomTotal&&roomTotalrequiredOccupancy){alert("You have selected enough accommodation for "+totalNumOccupants+" but have "+requiredOccupancy+" travelling. Please check your room selection.");return false;}else if(totalAdults!=numAdults){alert("You have selected accommodation for "+totalAdults+" adults, but have "+numAdults+" adults travelling. Please check your room selection.");return false;}else if(totalChildren!=numChildren){alert("You have selected accommodation for "+totalChildren+" children, but have "+numChildren+" children travelling. Please check your room selection.");return false;}else if(totalInfants!=numInfants){alert("You have selected accommodation for "+totalInfants+" infants, but have "+numInfants+" infants travelling. Please check your room selection.");return false;}else if(fail){return false;}else{return true;} return false;} function nbf_callback(type,elem){var element=$('#'+elem);var values={};$('#'+elem+' :input').each(function(){if($(this).attr('type')=='radio'){if($(this).prop('checked')){values[$(this).attr('name')]=$(this).val();}}else{values[$(this).attr('name')]=$(this).val();}});var results=[];if(type==='flight'){if(values['outFlight'])results[results.length]=values['outFlight'];if(values['retFlight'])results[results.length]=values['retFlight'];}else if(type==='hotel'){if(values['hotelChoiceRoom1'])results[results.length]=values['hotelChoiceRoom1'];if(values['hotelChoiceRoom2'])results[results.length]=values['hotelChoiceRoom2'];if(values['hotelChoiceRoom3'])results[results.length]=values['hotelChoiceRoom3'];} $.ajax({url:"ajax.php",data:{a:"nbf_callback_form",request:values['travelrequestid'],results:results,tracking_name:type},dataType:"text",success:function(html){nbf_lightbox(html,element);}});} function nbf_submit_callback_form(element){var values={};$.each($(element).serializeArray(),function(i,field){values[field.name]=field.value;});errors=0;if($(element).find("input[name=callback_name].required").length>0&&!values['callback_name']){alert('Please enter your name');errors++;} if($(element).find("input[name=callback_email].required").length>0&&!values['callback_email'].match(/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/)){alert('Please enter a valid email address');errors++;} if($(element).find("input[name=callback_telephone].required").length>0&&!values['callback_telephone']){alert('Please enter your telephone number');errors++;} consentneeded=false;$("input[data-ftype='consent'][data-required='1']").each(function(i,item){if(!$(item).prop("checked")){errors++;consentneeded=true;}});if(consentneeded){alert("All required data processing consents have not been provided.");} if(!errors){$.ajax({url:"ajax.php",data:{a:"nbf_submit_callback_form",values:values},dataType:"text",success:function(html){$('#nbf_callback_form').html(html);}});} return false;} function nbf_getResultsFromGroup(group,type){var selected=[];if(type==="Flight"){var out=$('form#nbf_flightset_'+group+' input[name="outFlight"]').filter(':checked');if(out.length){selected.push($(out[0]).val());} var ret=$('form#nbf_flightset_'+group+' input[name="retFlight"]').filter(':checked');if(ret.length){selected.push($(ret[0]).val());}} else if(type==="Hotel"){var room1=$('form#'+group+' input[name="hotelChoiceRoom1"]').filter(':checked');if(room1.length){selected.push($(room1[0]).val());} var room2=$('form#'+group+' input[name="hotelChoiceRoom2"]').filter(':checked');if(room2.length){selected.push($(room2[0]).val());} var room3=$('form#'+group+' input[name="hotelChoiceRoom3"]').filter(':checked');if(room3.length){selected.push($(room3[0]).val());}} else if(type==="CarHire"){var inputs=$('form#'+group+' input[name="selectedCarHire"]');if(inputs.length===1){var car=$('form#'+group+' input[name="selectedCarHire"]');}else{var car=$('form#'+group+' input[name="selectedCarHire"]').filter(':checked');} if(car.length){selected.push($(car[0]).val());}} else if(type==="Transfer"){var transfer=$('form#'+group+' input[name="selectedTransfer"]');if(transfer.length){selected.push($(transfer[0]).val());}} else if(type==="CarParking"){var parking=$('form#'+group+' input[name="selectedCarParking"]');if(parking.length){selected.push($(parking[0]).val());}} else if(type==="Insurance"){var insurance=$('form#'+group+' input[name="selectedInsurance"]');if(insurance.length){selected.push($(insurance[0]).val());}} else if(type==="Ferry"){var out=$('form#nbf_ferryset_'+group+' input[name="outFerry"]');if(out.length){selected.push($(out[0]).val());} var ret=$('form#nbf_ferryset_'+group+' input[name="retFerry"]');if(ret.length){selected.push($(ret[0]).val());}} else if(type==="Attraction"){var attraction=$('form#'+group+' input[name="attraction"]').filter(':checked');if(attraction.length){selected.push($(attraction[0]).val());}} else if(type==="Rail"){var out=$('form#'+group+' input[name="out"]').filter(':checked');if(out.length){selected.push($(out[0]).val());} var ret=$('form#'+group+' input[name="ret"]').filter(':checked');if(ret.length){selected.push($(ret[0]).val());}} return selected;} var quotelbtimer=undefined;$(function(){$('html body').on('click','.nbf_tpl_pagesection_lightbox, .nbf_tpl_pagesection_lightbox_norwd',function(){var isembedded=$(this).attr("data-lightbox-embedded");if(isembedded){var embeddedcontent=$(this).find('.'+$(this).attr("data-lightbox-embedded-content")).detach().data('lightbox_originalcontainer',$(this));nbf_lightbox(embeddedcontent.css('display','block'));if($(this).attr("data-classes")){$("#nbf_lightbox_container").addClass($(this).attr("data-classes"));}}else{var component=$(this).attr("data-lightbox-component");var hash=$(this).attr("data-lightbox-component-hash");var self=$(this);if(component){$.ajax({url:"ajax.php",data:{a:"nbf",type:'nbf_tpl_lightbox',component:component,hash:hash},dataType:"text",crossDomain:true,success:function(html){nbf_lightbox(html);if(self.attr("data-classes")){$("#nbf_lightbox_container").addClass(self.attr("data-classes"));}}});}}});$(document).on('lightboxclose:nbf',function(e,lightboxcontainer){var embeddedcontent=$('#nbf_lightbox_content').children().first();var originalcontainer=embeddedcontent.data('lightbox_originalcontainer');if(originalcontainer){originalcontainer.append(embeddedcontent.detach().hide());}});$('html body').on('click','.nbf_toggles_quote',function(){var group=$(this).attr('data-group');var type=$(this).attr('data-type');var selected=nbf_getResultsFromGroup(group,type);if(quotelbtimer!==undefined){clearTimeout(quotelbtimer);quotelbtimer=undefined;} nbf_lightbox();$.ajax({url:"ajax.php",data:{a:'nbf_email_quote_load',results:selected},dataType:"text",success:function(html){$('div#nbf_lightbox_content').html(html);}});});});function nbf_validateInsuranceResult(resultid){var field=$('[name='+"prodInsurance-disclaimer-"+resultid+']');if(field.length&&!field[0].checked){alert(tr_js_insuranceDisclaimerErrorText);return false;} return true;} function nbf_quote_fetchCustomFields(posterid){if(posterid>0){$("#emailquote div.postertitle,#emailquote .posterdownload").show();$("#emailquote div.customfields").html('');$.ajax({url:"ajax.php",data:{"a":"poster_customfields","posterid":posterid},success:function(html){$("#emailquote div.customfields").html(html);}});} else{$("#emailquote div.postertitle,#emailquote .posterdownload").hide();$("#emailquote div.customfields").empty()}} function nbf_quote_performPosterDownload(){if($("#emailquote select[name='poster_id']").val()>0){var newform=$('
');$(newform).append('');$(newform).append('');$(newform).append('');$(newform).append('');$(newform).append('');$("#emailquote input.poster_customfield").each(function(i,item){$(newform).append('');});if($("#emailquote input[name='posterpreview']").is(":checked")){$(newform).append('');} $(newform).css("display","none");$("body").append($(newform));$("body form#renderposter").trigger("submit");$(".status",$("#emailquote")).prepend('
Poster Generated
');if(quotelbtimer!==undefined){clearTimeout(quotelbtimer);} quotelbtimer=setTimeout(function(){nbf_closelightbox();quotelbtimer=undefined;},10000);} return false;} function nbf_email_quote_load(){nbf_lightbox();$.ajax({url:"ajax.php",data:{a:"nbf_email_quote_load",requests:emailquote_requests,bookingfees:emailquote_bookingfees},dataType:"text",success:function(html){$('div#nbf_lightbox_content').html(html);}});} function nbf_crossposter_load(mainreq,xreq,xresults){if(xresults===undefined){alert("You must select a room before generating a poster for this hotel result");return false;} if(xresults.constructor!==Array){tmp=xresults;xresults=[];xresults.push(tmp);} nbf_lightbox();postdata={a:"poster_selection",format:"html",type:"bookingflow",travelrequestid:mainreq,xreq:xreq,xresults:xresults,};$.ajax({url:"ajax.php",data:postdata,dataType:"text",success:function(html){$('div#nbf_lightbox_content').html(html);}});} function nbf_poster_load(treq,group,type){nbf_lightbox();postdata={a:"poster_selection",format:"html",type:"bookingflow",travelrequestid:treq,};if(group&&type){results=nbf_getResultsFromGroup(group,type);postdata.results=results;} $.ajax({url:"ajax.php",data:postdata,dataType:"text",success:function(html){$('div#nbf_lightbox_content').html(html);}});} function nbf_poster_fetchCustomFields(posterid){if(posterid>0){$("div.customfields").html('');$.getJSON("ajax.php",{"a":"poster_customfields","type":"json","posterid":posterid},function(data){html="";if(data){$.each(data,function(k,v){html+='
';});} $("div.nbf_lightbox div.customfields").html(html);});} else{$("div.nbf_lightbox div.customfields").empty()}} function nbf_email_quote_submit(btn,addmoreoptions){var quotefrm=$(btn).closest('form');var marketing=0;$('.bigerror, .bignotice',quotefrm).remove();var emailAddress=$('[name=quoteemail]',quotefrm).val();if(!emailAddress.match(/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/)){$(".status",quotefrm).prepend('
'+IBETranslate.translate('emailquote_invalidData')+'
');return false;} if($('[name=marketing]',quotefrm).is(':radio')){if(!$('[name=marketing]',quotefrm).is(':checked')){$(".status",quotefrm).prepend('
'+IBETranslate.translate('emailquote_marketingIncomplete')+'
');return false;}else{marketing=$('[name=marketing]:checked',quotefrm).val();}}else{marketing=$('[name=marketing]',quotefrm).is(':checked')?1:0;} formdata={requests:$('[name=requests]',quotefrm).val(),bookingfees:$('[name=bookingfees]',quotefrm).val(),quoteemail:emailAddress,quotepauseemail:$('[name=quotepauseemail]:checked',quotefrm).val(),csrftoken:$('[name=csrftoken]',quotefrm).val(),marketing:marketing,preventretrieve:$('[name=preventretrieve]',quotefrm).is(':checked')?1:0,hideprice:$('input.hideprice',quotefrm).map(function(){return $(this).is(':checked')?$(this).val():'';}).get().filter(function(val){return val;}).join(','),addmoreoptions:addmoreoptions?1:0};if($("[name='quotename']",quotefrm)){formdata.quotename=$("[name='quotename']",quotefrm).val();formdata.quotephone=$("[name='quotephone']",quotefrm).val();} if($("[name='quotebcc']",quotefrm)){formdata.quotebcc=$("[name='quotebcc']",quotefrm).val();} if($("[name='quotemessage']",quotefrm)){formdata.quotemessage=$("[name='quotemessage']",quotefrm).val();} if($("select[name='poster_id']",quotefrm)){formdata.poster_title=$("input[name='poster_title']").val();formdata.poster_id=$("select[name='poster_id']").val();formdata.poster_customfield=[];$("input.poster_customfield").each(function(i,item){formdata.poster_customfield.push({"name":$(item).attr("data-name"),"value":$(item).val()});});} if($("input[data-ftype='consent']",quotefrm)){$("input[data-ftype='consent']:checked").each(function(i,item){formdata[$(item).attr("name")]=$(item).val();});} $.ajax({type:"POST",url:"ajax.php?a=nbf_email_quote_submit",dataType:'json',data:formdata,success:function(response){if(response.status==="success"&&addmoreoptions){if((typeof bf_shareSlidepanel)=="object"){bf_shareSlidepanel.destroy();}else{nbf_closelightbox();}}else if(response.status==="success"){$(".status",quotefrm).prepend('
'+response.content+'
');$('[name=emailaddress]',quotefrm).val("");if(quotelbtimer!==undefined){clearTimeout(quotelbtimer);}}else{$(response.errors).each(function(key,error){$(".status",quotefrm).prepend('
'+error+'
');});}}});return false;} function nbf_email_quote_clear(){$.ajax({type:"POST",url:"ajax.php?a=nbf_email_quote_clear",dataType:'json',data:{},success:function(response){if((typeof bf_shareSlidepanel)=="object"){bf_shareSlidepanel.destroy();}else{nbf_closelightbox();}}});} function nbf_hournumbertotimestring(hournumber){return parseInt(hournumber,10);} function nbf_showCheapestPolicyOption(req,type,profile,status){nbf_lightbox();$.ajax({url:"ajax.php",data:{a:"nbf_showCheapestPolicyOption","req":req,"type":type,"profile":profile,"status":status},dataType:"text",success:function(html){$('div#nbf_lightbox_content').html(html);}});} function nbf_fetchmodulecontent(type,tresults){nbf_lightbox();$.ajax({url:"ajax.php",data:{a:"nbf_getModuleContent","type":type,"results":tresults},dataType:"text",success:function(html){$('body > div.nbf_lightbox div#nbf_lightbox_content').html(html);}});};(function($){if(typeof nbf_lightbox!='function'){function nbf_lightbox(content,element,fullwidth) {if(content==null){content='
';} if(parseInt($('.responsive_state').css("zIndex"),10)>0){if($("div#nbf_lightbox_mobile_container").length==0){nbf_wrapBody();nbf_saveScroll();$('.nbf_pagepanes').hide();if(typeof content==='object'){$("body").prepend('
');$('#nbf_lightbox_content').append(content);}else{$("body").prepend('
'+content+'
');} $('#nbf_lightbox_mobile_container').on('click','#nbf_lightbox_close, .nbfjs_lightbox_close',function(e){e.stopPropagation();nbf_mobile_closelightbox();});$(document).trigger('NBF_Lightbox_Open',[$('#nbf_lightbox_mobile_container')]);}}else{if($("div#nbf_lightbox_container:visible").length==0){$("body").prepend('
');if(fullwidth===true){if(typeof content==='object'){$("body").prepend('
');$('#nbf_lightbox_content').append(content);}else{$("body").prepend('
'+content+'
');}} else{if(typeof content==='object'){$("body").prepend('
');$('#nbf_lightbox_content').append(content);}else{$("body").prepend('
'+content+'
');}} var win=$(window);var lightboxcontainer=$('#nbf_lightbox_container');if(window!=window.top&&typeof element!='undefined'){lightboxcontainer.css({"top":(element.offset().top),"left":((win.width()-lightboxcontainer.outerWidth(false))/2),"padding-bottom":100});}else{lightboxcontainer.css({"top":(win.scrollTop()+100),"left":((win.width()-lightboxcontainer.outerWidth(false))/2),"padding-bottom":100});} $('#nbf_lightbox_bg').fadeIn(200,function(){$('#nbf_lightbox_bg').css({"-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)","filter":"alpha(opacity=50)"});lightboxcontainer.fadeIn(400);});lightboxcontainer.on('click','#nbf_lightbox_close, #nbf_lightbox_bg, .nbfjs_lightbox_close',function(e){e.stopPropagation();nbf_closelightbox();});$(document).trigger('NBF_Lightbox_Open',[lightboxcontainer]);}}}} if(typeof nbf_modal_box!='function'){function nbf_modal_box(content){if($("div#nbf_lightbox_container:visible").length!=0){nbf_closelightbox();} $("body").prepend('
');$("body").prepend('
'+content+'
');var win=$(window);var lightboxcontainer=$('#nbf_lightbox_container');lightboxcontainer.css({"top":(win.scrollTop()+100),"left":((win.width()-lightboxcontainer.outerWidth())/2),"padding-bottom":100});$('#nbf_lightbox_bg').fadeIn(100,function(){$('#nbf_lightbox_bg').css({"-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)","filter":"alpha(opacity=50)"});lightboxcontainer.fadeIn(200);});lightboxcontainer.on('click','#nbf_lightbox_close, #nbf_lightbox_bg, .nbfjs_lightbox_close',function(){nbf_closelightbox();});$(document).trigger('NBF_Lightbox_Open',[lightboxcontainer]);}} if(typeof nbf_updatelightbox!='function'){function nbf_updatelightbox(content) {$('#nbf_lightbox_content').html(content);var win=$(window);var lightboxcontainer=$('#nbf_lightbox_container');if(window!=window.top&&typeof element!='undefined'){lightboxcontainer.css({"top":(element.offset().top),"left":((win.width()-lightboxcontainer.outerWidth(false))/2),"padding-bottom":100});}else{lightboxcontainer.css({"top":(win.scrollTop()+100),"left":((win.width()-lightboxcontainer.outerWidth(false))/2),"padding-bottom":100});} $(document).trigger('NBF_Lightbox_UpdateContent');}} if(typeof nbf_lightbox_isopen!='function'){function nbf_lightbox_isopen() {return($('#nbf_lightbox_content').length>0);}} if(typeof nbf_mobile_closelightbox!='function'){function nbf_mobile_closelightbox(){$(document).trigger('lightboxclose:nbf',[$('#nbf_lightbox_mobile_container')]);$("#nbf_lightbox_mobile_container").remove();$('#nbf_pagepanes_main').show();nbf_restoreScroll();$(document).trigger('NBF_Lightbox_Close');}} if(typeof nbf_close_lightbox_mobile!='function'){function nbf_close_lightbox_mobile(){$('.nbf_pagepanes').hide();$('#nbf_pagepanes_main').show();nbf_restoreScroll();$(document).trigger('NBF_Lightbox_Close');}} if(typeof nbf_closelightbox!='function'){function nbf_closelightbox(callback){if(parseInt($('.responsive_state').css("zIndex"),10)>0){nbf_mobile_closelightbox();}else{$('#nbf_lightbox_container').stop().fadeOut(200,function(){$('#nbf_lightbox_bg').stop().fadeOut(200,function(){$(document).trigger('lightboxclose:nbf',[$('#nbf_lightbox_container')]);$("#nbf_lightbox_container,#nbf_lightbox_bg").remove();if(typeof callback=='function'){callback.call(this);}});});$(document).trigger('NBF_Lightbox_Close');}}} if(typeof nbf_lightbox_switch_plain!='function'){function nbf_lightbox_switch_plain(){$bl=$("td.nbf_lightbox.nbf_cost_bl");$b=$("td.nbf_lightbox.nbf_cost_b");$br=$("td.nbf_lightbox.nbf_cost_br");$bl.addClass("nbf_bl");$bl.removeClass("nbf_cost_bl");$b.addClass("nbf_b");$b.removeClass("nbf_cost_b");$br.addClass("nbf_br");$br.removeClass("nbf_cost_br");}} if(typeof nbf_lightbox_switch_productdetail!='function'){function nbf_lightbox_switch_productdetail(){$bl=$("td.nbf_lightbox.nbf_bl");$b=$("td.nbf_lightbox.nbf_b");$br=$("td.nbf_lightbox.nbf_br");$bl.addClass("nbf_cost_bl");$bl.removeClass("nbf_bl");$b.addClass("nbf_cost_b");$b.removeClass("nbf_b");$br.addClass("nbf_cost_br");$br.removeClass("nbf_br");}} if(typeof nbf_productdetail_lightbox!='function'){function nbf_productdetail_lightbox(content,element){if(content==null){content='
';} if(parseInt($('.responsive_state').css("zIndex"),10)>0){if($("div#nbf_lightbox_mobile_container").length==0){nbf_wrapBody();nbf_saveScroll();$('.nbf_pagepanes').hide();$("body").prepend('
'+content+'
');$('#nbf_lightbox_close').click(function(){nbf_mobile_closelightbox();});}}else{if($("div#nbf_lightbox_container:visible").length==0){$("body").prepend('
');$("body").prepend('
'+content+'
');if(window!=window.top&&typeof element!='undefined'){$('#nbf_lightbox_container').css({"top":(element.offset().top),"left":(($(window).width()-$('#nbf_lightbox_container').outerWidth(false))/2),"padding-bottom":100});}else{$('#nbf_lightbox_container').css({"top":($(window).scrollTop()+100),"left":(($(window).width()-$('#nbf_lightbox_container').outerWidth(false))/2),"padding-bottom":100});} $('#nbf_lightbox_bg').fadeIn(200,function(){$('#nbf_lightbox_bg').css({"-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)","filter":"alpha(opacity=50)"});$('#nbf_lightbox_container').fadeIn(400);});$('#nbf_lightbox_close,#nbf_lightbox_bg').click(function(){nbf_closelightbox();});}}}} if(typeof nbf_wrapBody!='function'){function nbf_wrapBody(){if(!$('#nbf_pagepanes_main').length){$('body').find("script").remove().end().wrapInner('
');$('#ui-datepicker-div').appendTo($('body'));}}} if(typeof nbf_saveScroll!='function'){function nbf_saveScroll(){$('body').attr('data-nbf_scroll',$(window).scrollTop());$(window).scrollTop(0);}} if(typeof nbf_restoreScroll!='function'){function nbf_restoreScroll(){$(window).scrollTop($('body').attr('data-nbf_scroll'));}}})(jQuery);;if(pb===undefined){var pb={init:{},config:{},instances:{}};} function pb_init(){$("script.pb_data[type='application/json']").each(function(i,item){dtype=$(item).attr("data-type");configtext=$(item).text();if(configtext===""){configtext=item.text;} config=JSON.parse(configtext);if(pb.config[dtype]===undefined){pb.config[dtype]=[];} found=false;$(pb.config[dtype]).each(function(i,item){if(item.id===config.id){found=true;}});if(found===false){pb.config[dtype].push(config);if(typeof pb.init[dtype]==="function"){pb.init[dtype](config);}}});} function pb_instance(config,instance){if(config.id&&pb.instances[config.id]===undefined&&instance instanceof Object){pb.instances[config.id]=instance;}} $(function(){pb_init();});$(document).on('click','.pbcpt-copy',function(){var container=$(this).parents('#nbf_pagebuilder_editcomponent');var settingsArr={};$('input[type=text],input[type=radio],input[type=checkbox],select,textarea',container).each(function(index,elem){elem=$(elem);if(elem.attr('name')!==''){if(elem.attr('type')==='radio'){if(elem.is(':checked')){settingsArr[elem.attr('name')]=elem.val();}}else if(elem.attr('type')==='checkbox'){settingsArr[elem.attr('name')]=(elem.is(':checked')?true:false);}else{settingsArr[elem.attr('name')]=elem.val();}}});var text=JSON.stringify(settingsArr);container.find('.pbcpt-copy-results').show().find('textarea').html(text).select();});$(document).on('click','.pbcpt-paste',function(){var elem=$(this);var container=$(this).parents('#nbf_pagebuilder_editcomponent');if(elem.html()!=='Import Settings'){container.find('.pbcpt-paste-results').show();$(this).html('Import Settings');}else{try{$.each(JSON.parse(container.find('.pbcpt-paste-results').find('textarea').val()),function(key,val){var elem=$('[name="'+key+'"]');if(elem.length){if(elem.prop('tagName')==='SELECT'){elem.val(val);}else if(elem.prop('tagName')==='INPUT'){if(elem.attr('type')==='radio'){elem.filter('[value="'+val+'"]').click();}else if(elem.attr('type')==='checkbox'){if(val===true){if(!elem.is(':checked'))elem.click();}else if(val===false){if(elem.is(':checked'))elem.click();}}else{elem.val(val);}}else if(elem.prop('tagName')==='TEXTAREA'){if(typeof CKEDITOR!=='undefined'&&CKEDITOR!==undefined&&typeof CKEDITOR.instances[elem.attr('id')]!==undefined&&CKEDITOR.instances[elem.attr('id')]!==undefined){CKEDITOR.instances[elem.attr('id')].setData(val);}else{elem.html(val);}}}});}catch(e){alert('Invalid JSON string provided. Did you copy it all?');}}});function pb_selectText(node){if(document.body.createTextRange){const range=document.body.createTextRange();range.moveToElementText(node);range.select();}else if(window.getSelection){const selection=window.getSelection();const range=document.createRange();range.selectNodeContents(node);selection.removeAllRanges();selection.addRange(range);}else{console.warn("Could not select text in node: Unsupported browser.");}} $(document).on('click','.selectable',function(){pb_selectText(this);}); ;/*! Waypoints - 4.0.0 Copyright © 2011-2015 Caleb Troughton Licensed under the MIT license. https://github.com/imakewebthings/waypoints/blog/master/licenses.txt */ !function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.invokeAll("enable")},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical);t&&e&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s],l=o.oldScroll=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=y+l-f,h=w=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],right:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.$element=e(t)}var e=window.jQuery,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.$element[i].apply(this.$element,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;window.jQuery&&(window.jQuery.fn.waypoint=t(window.jQuery)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); ;/*! Waypoints Sticky Element Shortcut - 4.0.0 Copyright © 2011-2015 Caleb Troughton Licensed under the MIT license. https://github.com/imakewebthings/waypoints/blog/master/licenses.txt */ !function(){"use strict";function t(s){this.options=e.extend({},i.defaults,t.defaults,s),this.element=this.options.element,this.$element=e(this.element),this.createWrapper(),this.createWaypoint()}var e=window.jQuery,i=window.Waypoint;t.prototype.createWaypoint=function(){var t=this.options.handler;this.waypoint=new i(e.extend({},this.options,{element:this.wrapper,handler:e.proxy(function(e){var i=this.options.direction.indexOf(e)>-1,s=i?this.$element.outerHeight(!0):"";this.$wrapper.height(s),this.$element.toggleClass(this.options.stuckClass,i),t&&t.call(this,e)},this)}))},t.prototype.createWrapper=function(){this.options.wrapper&&this.$element.wrap(this.options.wrapper),this.$wrapper=this.$element.parent(),this.wrapper=this.$wrapper[0]},t.prototype.destroy=function(){this.$element.parent()[0]===this.wrapper&&(this.waypoint.destroy(),this.$element.removeClass(this.options.stuckClass),this.options.wrapper&&this.$element.unwrap())},t.defaults={wrapper:'
',stuckClass:"stuck",direction:"down right"},i.Sticky=t}(); ;(function($){$.fn.nbfmenu=function(options){var hasTouch=false;if(("ontouchstart"in window)){hasTouch=true;} return this.each(function(){var menuElem=$(this);var thismenuoptions=options;if(menuElem.attr('data-options')){thismenuoptions=JSON.parse(menuElem.attr('data-options'));} var opts=$.extend({},$.fn.nbfmenu.defaults,thismenuoptions);menuElem.data('opts',opts);menuElem.data('timer',-1);menuElem.data('visiblesubmenu','');function showmenu(menuElem,item){var opts=menuElem.data('opts');item=$(item);if(menuElem.data('visiblesubmenu')===item.attr('rel')){return;} menuElem.data('visiblesubmenu',item.attr('rel'));$("li[rel='"+item.attr("rel")+"'] ",menuElem).addClass("hovered");var submenu=$("div.submenu_item[rel='"+item.attr('rel')+"']",menuElem);if(opts.direction==='horizontal'&&opts.submenu_type==='vertical'){submenu.css("left",Math.min($(document).width()-submenu.width(),item.find("a").position().left));submenu.css("top",item.find("a").position().top+item.outerHeight(true));}else if(opts.direction==='horizontal'&&opts.submenu_type==='horizontal'){submenu.css("left",0);}else if(opts.direction==='vertical'&&opts.submenu_type==='horizontal'){submenu.css("left",item.find("a").position().left+item.find("a").outerWidth(true));submenu.css("top",item.position().top);}else if(opts.direction==='vertical'&&opts.submenu_type==='vertical'){submenu.css("left",item.find("a").position().left+item.find("a").outerWidth(true));submenu.css("top",0);} if(opts.submenu_animstyle==='fadein'){submenu.fadeIn(opts.animduration);}else if(opts.submenu_animstyle==='slideout'){submenu.slideDown(opts.animduration);}else if(opts.submenu_animstyle==='css3transition'){submenu.removeClass('hidden').addClass('visible');}else{submenu.show();}} function hidemenu(menuElem){var opts=menuElem.data('opts');var submenu=$("div.submenu_item",menuElem);if(opts.submenu_animstyle==='css3transition'){submenu.addClass('hidden').removeClass('visible');}else{submenu.hide();} menu_clearTimer(menuElem);$("li",menuElem).removeClass('hovered');menuElem.data('visiblesubmenu','');} function menu_clearTimer(menuElem){var timer=menuElem.data('timer');clearTimeout(timer);menuElem.data('timer',-1);} if(!menuElem.data('init')){menuElem.data('init',true);var menuitems=$("li[rel]",menuElem).not($("li[rel='']",menuElem));menuitems.on('click',function(e){var menuElem=$(this).parents('.nbf_tpl_menu').first();if(menuElem.data('visiblesubmenu')!==$(this).attr('rel')){e.preventDefault();e.stopImmediatePropagation();if(hasTouch){var opts=menuElem.data('opts');var visiblesubmenuitems;if(opts.submenu_animstyle==='css3transition'){visiblesubmenuitems=$("div.submenu_item.visible[rel='"+$(this).attr('rel')+"']",menuElem);}else{visiblesubmenuitems=$("div.submenu_item[rel='"+$(this).attr('rel')+"']:visible",menuElem);} if(visiblesubmenuitems.length===0){hidemenu(menuElem);showmenu(menuElem,this);}else{menu_clearTimer(menuElem);}}}});menuitems.on('mouseenter',function(e){var menuElem=$(this).parents('.nbf_tpl_menu').first();var opts=menuElem.data('opts');var visiblesubmenuitems;if(opts.submenu_animstyle==='css3transition'){visiblesubmenuitems=$("div.submenu_item.visible[rel='"+$(this).attr('rel')+"']",menuElem);}else{visiblesubmenuitems=$("div.submenu_item[rel='"+$(this).attr('rel')+"']:visible",menuElem);} if(visiblesubmenuitems.length===0){hidemenu(menuElem);showmenu(menuElem,this);}else{menu_clearTimer(menuElem);}});menuitems.on('mouseleave',function(){var menuElem=$(this).parents('.nbf_tpl_menu').first();var opts=menuElem.data('opts');menuElem.data('timer',setTimeout(function(){hidemenu(menuElem);},Math.max(200,opts.hidedelay)));});$("div.submenu_item",menuElem).on('mouseenter',function(){var menuElem=$(this).parents('.nbf_tpl_menu').first();menu_clearTimer(menuElem);}).on('mouseleave',function(){var menuElem=$(this).parents('.nbf_tpl_menu').first();var opts=menuElem.data('opts');menuElem.data('timer',setTimeout(function(){hidemenu(menuElem);},Math.max(200,opts.hidedelay)));});}});};$.fn.nbfmenu.defaults={direction:'horizontal',submenu_type:'vertical',submenu_animstyle:'show',animduration:200,hidedelay:200};if(navigator.userAgent.match(/(iPad|iPhone|iPod)/g)){$.fn.nbfmenu.defaults.hidedelay=Math.max(350,$.fn.nbfmenu.defaults.hidedelay);} $(function(){$('.nbf_tpl_menu').nbfmenu();setTimeout(function(){$('.nbf_tpl_menu').nbfmenu();},1000);});})(jQuery);