"use strict";var DriveAwayCommon={onReady:function(){console.log("Welcome to DriveAway Holidays!");$("#productInfoModal, #tModal, #mainModal, #paynowModal, #tModalEmailQuote").on("hidden.bs.modal",function(){$(this).children("div.modal-content").empty().html('<div class="loading"><p>Loading...<\/p><div class="spinner"><\/div><button class="btn" data-dismiss="modal" aria-hidden="true">Cancel <span class="glyphicon glyphicon-remove"><\/span><\/button><\/div>');$(this).removeData("bs.modal")});$("#cancelModal").on("hidden.bs.modal",function(){$(this).children("div.modal-content").empty().html('<div class="loading-modal-content"><div class="loading"><p>Loading...<\/p><div class="spinner"><\/div><button class="btn" data-dismiss="modal" aria-hidden="true">Cancel <span class="glyphicon glyphicon-remove"><\/span><\/button><\/div><\/div>');$(this).removeData("bs.modal")});$("#confirmModal").on("hidden.bs.modal",function(){$(this).children("#confirmMsg, div.modal-content").empty();$(this).removeData("bs.modal")});$(".modal-backdrop").on("click",function(){console.log("modal-backdrop");$(this).hide();$("#modal").hide();$("#modal").removeData("modal")});$("#searchTabList a").on("shown.bs.tab, click",function(){$("#searchTabList a input").removeAttr("checked").removeProp("checked");$(this).find("input").attr("checked","checked").prop("checked","checked")});$("#reloadPageButton").click(DriveAwayCommon.reloadPage);$("#ClearAttachment").click(DriveAwayCommon.clearAttachment);$("#MotorhomeBeatRateForm").length&&DriveAwayCommon.motorhomeBeatRateIncludes();$("#AffiliatePage").length&&(DriveAwayCommon.affiliatePage(),$("#IsTravelAgent").change(DriveAwayCommon.affiliatePage));$(".search-form-main button").prop("disabled");var n,i,t=function(t,i){var r=t.children("div.menu-contents");n=setTimeout(function(){r.addClass("show")},i)};$(".menu .menu-item .menu-text").click(function(n){DriveAwayCommon.isTouch()&&(n.preventDefault(),t($(this),0))});$(".menu .menu-item").on("mouseenter",function(){t($(this),350)}).on("mouseleave",function(){clearTimeout(n);var t=$(this);i=setTimeout(function(){t.is(":hover")||t.children("div.menu-contents").removeClass("show")},200)});$("#readMoreIntro").click(function(){$(".read-more").show();$(this).hide()});$("#hideIntro").click(function(){$(".read-more").hide();$("#readMoreIntro").show()});$(".read-more-btn").click(function(){$(this).next(".read-more").show();$(this).hide()});$(".hide-intro").click(function(){console.log($(this).parent());$(this).parent().hide();$(this).parent().prev(".read-more-btn").show()})},isTouch:function(){return"ontouchstart"in document.documentElement},affiliatePage:function(){var n=document.getElementById("termsFrame"),t=$("#IsTravelAgent").val();t=="true"?n.src="/html/terms-agent.htm":t=="false"&&(n.src="/html/terms-direct.htm")},clearAttachment:function(){var n=$("#UploadFile");n.val("").replaceWith(n.clone(!0))},motorhomeBeatRateIncludes:function(){$("input[name=chkRI]").click(function(){var n="";$("input[name=chkRI]").each(function(){$(this).is(":checked")&&(n+=$(this).val()+";")});$("#RateIncludes").val(n)})},reloadPage:function(){location.reload()},FilterWhere:function(n,t){for(var i=0;i<t.length;i++)if(t[i]===n)return!0;return!1}},KEY,carApp;$(document).ready(DriveAwayCommon.onReady);DriveAwayCommon.newOption=function(n,t){return t==null?"<option>"+n+"<\/option>":'<option value="'+t+'">'+n+"<\/option>"};DriveAwayCommon.isIE=function(){var n=navigator.userAgent.toLowerCase();return n.indexOf("msie")!=-1?parseInt(n.split("msie")[1]):!1};DriveAwayCommon.isInternetExplorer=function(){return navigator.appName=="Microsoft Internet Explorer"||navigator.appName=="Netscape"&&new RegExp("Trident/.*rv:([0-9]{1,}[.0-9]{0,})").exec(navigator.userAgent)!=null};DriveAwayCommon.isIOSDevice=function(){var n=window.navigator.userAgent;return n.match(/iPad/i)||n.match(/iPhone/i)};DriveAwayCommon.isSafari=function(){return navigator.userAgent.indexOf("Safari")!=-1&&navigator.userAgent.indexOf("Chrome")==-1};jQuery.validator.addMethod("mustbetrue",function(n,t){return t.checked});jQuery.validator.unobtrusive.adapters.addBool("mustbetrue");KEY={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,COMMAND:91,isControl:function(n){var t=n.which;switch(t){case KEY.COMMAND:case KEY.SHIFT:case KEY.CTRL:case KEY.ALT:return!0}return n.metaKey?!0:!1},isFunctionKey:function(n){return n=n.which?n.which:n,n>=112&&n<=123},isVerticalMovement:function(n){return~[KEY.UP,KEY.DOWN].indexOf(n)},isHorizontalMovement:function(n){return~[KEY.LEFT,KEY.RIGHT,KEY.BACKSPACE,KEY.DELETE].indexOf(n)}},function(){if($("#SelectPageSearchResults").length){DriveAwayCommon.SelectLocations=function(){return{onReady:n.onReady}};var n={onReady:function(){$("#logoImage").error(n.logoImageError);$("#selectCarLocForm #s").val($("#selectCarForm #s").val());$("#selectCarLocForm #dtime").val($("#selectCarForm #dtime").val());$('[data-toggle="popover"]').popover(n.popover);$('input[name="Pickup"]').change(n.pickupChange);$('input[name="Dropoff"]').change(n.dropoffChange);$("#tablist a").click(n.tabListClick)},logoImageError:function(){$(this).attr("src","//cdn.travel-mediaserver.com/driveaway/images/localsupplier.png")},popover:{placement:"left",trigger:"focus",html:!0},pickupChange:function(){var t=$(this),i=t.data("loc-type"),r=t.data("price");$("#pt").val(i);$("input[id=pt]").val(i);$("#pid").val(t.val());$("#vehiclePrice").text()!=r&&$("#vehiclePrice").fadeOut(function(){t.text(r)}).fadeIn();$("#SelectedPickupInfo").fadeOut(function(){$("#selectedPName").text(t.data("name"));$("#selectedPA1").text(t.data("add")+" "+t.data("sub"))}).fadeIn();$("#did").val()!==""?n.checkOneWay():$("#SubmitForm").attr("disabled","disabled");$("#Dloc").click();$("#Dropofftab").fadeOut().fadeIn()},dropoffChange:function(){var t=$(this),i=t.data("loc-type");$("#dt").val(i);$("input[id=dt]").val(i);$("#did").val(t.val());$("#SelectedDropoffInfo").fadeOut(function(){$("#selectedDName").text(t.data("name"));$("#selectedDA1").text(t.data("add")+" "+t.data("sub"))}).fadeIn();$("#pid").val()!==""?n.checkOneWay():$("#SubmitForm").attr("disabled","disabled")},checkOneWay:function(){var t=$("#dropFeeInfo"),n=$("#SubmitForm");$("#did").val()!=$("#pid").val()&&$("#s").val()!="L"?(t.removeClass("label-danger").removeClass("label-success").removeClass("ng-hide").addClass("label-primary").text("CHECKING ONE WAY FEE...").fadeOut().fadeIn().fadeOut().fadeIn(),n.html('Please Wait...  <span class="glyphicon glyphicon-hourglass"><\/span>').attr("disabled",""),$.getJSON("/services/locations/info?quoteid="+$("#q").val()+"&pid="+$("#pid").val()+"&did="+$("#did").val()+"&sipp="+$("#sipp").val(),function(i){t.text(i.msg).addClass(i.cls).removeClass("label-primary").fadeOut().fadeIn();i.det!="0"?(i.p.length>0&&$("#vehiclePrice").text(i.p),$("#selectCarLocForm #det").val(i.det),n.html('Continue <span class="glyphicon glyphicon-ok"><\/span>').show().removeProp("disabled")):($("#CancelButton").html('Close <span class="glyphicon glyphicon-remove"><\/span>'),n.hide())})):(t.addClass("ng-hide"),$("#selectCarLocForm #det").val($("#q").val()),$("#CancelButton").html('Cancel <span class="glyphicon glyphicon-remove"><\/span>'),n.html('Continue <span class="glyphicon glyphicon-ok"><\/span>').removeProp("disabled").show())},tabListClick:function(n){n.preventDefault();$(this).tab("show")}}}}(),function(){if($("#SelectPageSearchResults").length){DriveAwayCommon.EmailQuote=function(){return{onReady:n.onReady}};var n={onReady:function(t){n.loadPackages(n.getCar(t));$("#submitEmailQuote").click(n.createSendData(t,""))},getCar:function(n){for(var t=0;t<searchResults.products.length;t++)if(searchResults.products[t].id===n)return searchResults.products[t]},loadPackages:function(n){var i=n.items,u=i.length,r,t;if(u===1)$("#selectPackageDiv").hide(),$("#emailAddressLabel").hide();else for(r=$("#package"),t=0;t<i.length;t++)r.append('<option value="'+i[t].id+'">$'+i[t].price+" - "+i[t].desc+"<\/option>")},createSendData:function(t,i){var r=n.getCar(t),u=r.items[$("#package").val()],f={quoteid:searchResults.qid,carid:u.id,currency:searchResults.currency,days:searchResults.days,sipp:u.code,plocid:u.plocid,dlocid:i,carname:r.name,supplier:r.op}}}}}(),function(){if($("#initPaymentForm").length){DriveAwayCommon.PaymentForm=function(){return{onReady:n.onReady}};var n={onReady:function(){n.init();$("#Book_Country").on("change",function(){n.init();n.loadStates()});$("#Validation").hide();$("#CardNumber").payment("formatCardNumber");$("#CardExpiry").payment("formatCardExpiry");$("#Cvc").payment("formatCardCVC");$("#CardNumber").keyup(n.cardNumberKeyUp);$("#paymentForm input[type=text], #paymentForm input[type=tel]").focus(function(){$(this).toggleInputError(!1)});$("#Book_Insurance").change(n.displayFee);$("#CardName").focusout(function(){$(this).toggleInputError($(this).val().length===0)});$("#CardNumber").focusout(n.cardNumberFocusOut);$("#CardExpiry").focusout(function(){$(this).toggleInputError(!$.payment.validateCardExpiry($(this).payment("cardExpiryVal")))});$("#Cvc").focusout(function(){var n=$.payment.cardType($("#CardNumber").val());$(this).toggleInputError(!$.payment.validateCardCVC($(this).val(),n))});$.fn.toggleInputError=function(n){return this.parent(".form-input").toggleClass("has-error",n),this};$("#paymentForm").submit(n.paymentFormSubmit);$("#submitBookingForm").click(n.submitBookingFormClick)},init:function(){$("#Book_Country").val()!=="AU"&&$("#Book_Country").val()!=="US"?$("#postCode").hide():$("#postCode").show();$("#Book_HomeState").val()!=null?$("#stateField").show():$("#stateField").hide()},creditCardFees:function(n){if($("#CCSite").val()==="AU")switch(n){case"mastercard":return.012;case"visa":return.012;case"amex":return.018;default:return 0}else return.02},loadStates:function(){var n=$("#Book_HomeState");n.empty().append(DriveAwayCommon.newOption("Loading State/Province...",""));$.getJSON("/services/locations/states",{c:$("#Book_Country").val()},function(t){n.empty();t.length>0?($("#stateField").show(),$.each(t,function(t,i){n.append(DriveAwayCommon.newOption(i.Text,i.Value))})):$("#stateField").hide()})},cardNumberKeyUp:function(){var r=$(this).val(),t=$.payment.cardType(r),i=$("#CardIcon");i.removeAttr("class");t!=null?(i.addClass(t+"-icon"),$("#CardType").val(t)):$("#CardType").val("");n.displayFee()},cardNumberFocusOut:function(){$(this).toggleInputError(!$.payment.validateCardNumber($(this).val()));var i=n.acceptedCards(),t=$.payment.cardType($(this).val());i.indexOf(t)==-1&&t!==null?($(this).toggleInputError(!0),$(this).val(""),$("#CardIcon").removeAttr("class"),$("#CardValidation").text("Card Not Accepted")):$("#CardValidation").text("Invalid")},acceptedCards:function(){return $("#searchquery").val().indexOf("co.nz")>-1?["visa","mastercard"]:["visa","mastercard","amex"]},calculateFee:function(t,i){return(i*n.creditCardFees(t)).toFixed(2)*1},displayFee:function(){var t=$("#mainPrice").text()*1,i=$("#CardType").val(),u=$("#costDetails"),f=$("#totalCost"),r;i!=null&&i!=""?($("#CCFeeInfo").slideDown(),r=n.calculateFee(i,t*1),u.text("A credit card fee of $"+r.toFixed(2)+" has been added to the amount ($"+t.toFixed(2)+")."),f.val((r+t).toFixed(2))):($("#CCFeeInfo").slideUp(),u.text(""),f.val(t))},paymentFormSubmit:function(n){var i,t,r;n.preventDefault();i=$.payment.cardType($("#CardNumber").val());$("#CardName").toggleInputError($("#CardName").val().length===0);$("#CardNumber").toggleInputError(!$.payment.validateCardNumber($("#CardNumber").val()));$("#CardExpiry").toggleInputError(!$.payment.validateCardExpiry($("#CardExpiry").payment("cardExpiryVal")));$("#Cvc").toggleInputError(!$.payment.validateCardCVC($("#Cvc").val(),i));i!=null&&$("#CardType").val(i);$(".has-error").length||(t=$("#submitPayment"),t.attr("disabled",""),t.text("Processing Your Payment, Please wait..."),r={__RequestVerificationToken:$("[name=__RequestVerificationToken]").val(),CardName:$("#CardName").val(),CardNumber:$("#CardNumber").val(),CardExpiry:$("#CardExpiry").val(),Cvc:$("#Cvc").val(),Voucher:$("#Voucher").val(),CardType:$("#CardType").val(),ClientName:$("#ClientName").val()},$.ajax({url:"/manage/bookings/paynow",type:"POST",context:document.body,data:r,success:function(n){n.success?($("#Validation").hide(),$("#confirmTitle").text("Voucher Paid"),$("#confirmMsg").html("Your credit card payment was successful for Reference #"+r.Voucher+" for the amount of "+$("#totalCost").val()+"."),$("#paynowModal").modal("hide"),$("#paycompleteModal").modal("show")):($("#Validation").show(),$("#ValidationMessage").text("Error: "+n.comment),t.removeAttr("disabled"),t.text("Pay Now"))},error:function(){t.removeAttr("disabled");t.text("Pay Now")}}))},submitBookingFormClick:function(n){var i,t;if($("#BookCar").valid()){if(i=function(){if($("#Book_Terms").is(":checked"))$("#BookCar").submit(),$("#loadingModal").modal("show");else return n.preventDefault(),alert("To continue, please accept the terms and conditions."),!1},$("#Book_PaymentMethod_CC").is(":checked"))return n.preventDefault(),$(window).scrollTop($("#CardName").offset().top-200),$("#CardName").focus(),t=$.payment.cardType($("#CardNumber").val()),$("#CardName").toggleInputError($("#CardName").val().length===0),$("#CardNumber").toggleInputError(!$.payment.validateCardNumber($("#CardNumber").val())),$("#CardExpiry").toggleInputError(!$.payment.validateCardExpiry($("#CardExpiry").payment("cardExpiryVal"))),$("#Cvc").toggleInputError(!$.payment.validateCardCVC($("#Cvc").val(),t)),t!=null&&$("#CardType").val(t),$(".has-error").length||i(),!1;i()}else $(".input-validation-error:first").get(0).focus(),$(window).scrollTop($("#ValidationSummary").offset().top-80);return n.preventDefault(),!1}};$(document).ready(DriveAwayCommon.PaymentForm().onReady)}}(),function(){if($("#MotorhomesQuoteForm").length){DriveAwayCommon.MotorhomesQuoteForm=function(){return{onReady:n.onReady}};var n={onReady:function(){var t=$("#emailForm");t[0].reset();$("#PickupCountry").change(n.pcountryChange);$("#DropoffCountry").change(n.loadDropoffCity);$("#PickupCity").change(n.pickupCityChange);$("#DropoffCity").change(n.dropoffCityChange);$("#VehicleType").change(n.vehicleChange);n.pcountryChange()},pcountryChange:function(){var t=$("#PickupCity"),r=$("#VehicleType"),u=$("#PickupCountry").val(),i=$(locs).filter(function(){return this.code==u});t.empty();$.each(i[0].cities,function(){t.append(DriveAwayCommon.newOption(this))});i[0].hasother&&t.append(DriveAwayCommon.newOption("Other"));n.loadDropoffCountry(i[0]);$.getJSON("/services/motorhome/vehicletypes",{c:u},function(n){r.empty();$.each(n,function(n,t){r.append(DriveAwayCommon.newOption(t,n))})})},loadDropoffCountry:function(t){var i=$("#DropoffCountry"),r;i.empty();r=$(locs).filter(function(){return this.region==t.region});$.each(r,function(){i.append(DriveAwayCommon.newOption(this.name,this.code))});i.val(t.code);n.loadDropoffCity()},loadDropoffCity:function(){var n=$("#DropoffCity"),i,t;n.empty();i=$("#DropoffCountry").val();t=$(locs).filter(function(){return this.code===i});$.each(t[0].cities,function(){n.append(DriveAwayCommon.newOption(this))});t[0].hasother&&n.append(DriveAwayCommon.newOption("Other"))},pickupCityChange:function(){$("#PickupCity").val()=="Other"?$("#PickupOtherBox").show():$("#PickupOtherBox").hide()},dropoffCityChange:function(){$("#DropoffCity").val()=="Other"?$("#DropoffOtherBox").show():$("#DropoffOtherBox").hide()},vehicleChange:function(){var n=$("#Vehicle option:selected");$("#VehicleTypeName").val(n.text())}};$(document).ready(DriveAwayCommon.MotorhomesQuoteForm().onReady)}}(),function(){$.fn.notification=function(n,t){var i={msg:{},cookieName:"",onReady:function(n,t,r){i.cookieName=r;document.cookie.indexOf(i.cookieName)===-1&&(i.msg=n,i.msg.hide().load(t,i.load).slideDown(1e3))},load:function(){var t=i.msg.find(".close-button"),n;t.bind("click",i.close);n=i.msg.find(".close-forever");n.bind("click",i.closeForever)},close:function(){i.msg.fadeOut("slow",i.destroy)},closeForever:function(){var n=new Date,t;n.setTime(n.getTime()+12096e5);t="; expires="+n.toGMTString();document.cookie=i.cookieName+"=true;"+t},destroy:function(){i.msg.remove()}};i.onReady($(this),n,t)}}(),function(){function n(n){n.when("/",{templateUrl:"/partials/manage-bookings/voucher-list.html",controller:"ManageBookingsListCtrl"}).when("/modify/:voucherId",{templateUrl:"/partials/manage-bookings/modify.html",controller:"ManageBookingsModifyCtrl"}).when("/cancel/:voucherId",{templateUrl:"/partials/manage-bookings/cancel.html?abc",controller:"ManageBookingsCancelCtrl"}).otherwise({redirectTo:"/"})}carApp=angular.module("CarBookings",["ngRoute","ManageBookingsControllers"]).config(["$routeProvider",n])}(),function(){function n(){return function(n,t){if(t.pickup)return n;var i=[];return angular.forEach(n,function(n){t.search.pg===n.g&&i.push(n)}),i}}angular.module("CarBookings").filter("matchCountryGroup",n)}();$(function(){$(window).resize(function(){if($(window).width()<700){$("#homeheader > .header-wrap > .responsive-show").css("display","inline-block");$("#homeheader > .header-wrap > .main-menu > .responsive-hide").css("display","none");return}$("#homeheader > .header-wrap > .responsive-show").css("display","none");$("#homeheader > .header-wrap > .main-menu > .responsive-hide").css("display","inline-block");$(window).width()<930;$(window).width()>1180?($("#homeheader > .header-wrap > .responsive-show").css("display","inline-block"),$("#homeheader > .header-wrap > .main-menu > .responsive-hide").css("display","none")):($("#homeheader > .header-wrap > .responsive-show").css("display","none"),$("#homeheader > .header-wrap > .main-menu > .responsive-hide").css("display","inline-block"))}).resize()}),function(){function n(n){n.func={};n.showSearchForm=!1;n.travelEast="N";n.func.modifyForm=function(){n.showSearchForm=n.showSearchForm?!1:!0};n.showLink=!0;n.func.supplierImage=function(n){return n=="PEUGEOT"?"/images/peugeot-supplier-logo.png":"https://www.globalmediaserver.com/img/suppLogo/"+n+".png"}}angular.module("CarBookings").controller("BookController",["$scope",n])}(),function(){function n(n){n.func={};n.showSearchForm=!1;n.view={};n.func.modifyForm=function(){n.showSearchForm=n.showSearchForm?!1:!0};n.func.IsAgent=function(t){alert(t);n.view.IsAgent=t==""?"":t}}angular.module("CarBookings").controller("EmailFormController",["$scope",n])}(),function(){function n(){function i(){return n.search.fname===""||n.search.lname===""||n.search.voucher===""?!0:!1}function t(n){return unescape(window.location.search.replace(new RegExp("^(?:.*[&\\?]"+escape(n).replace(/[\.\+\*]/g,"\\$&")+"(?:\\=([^&]*))?)?.*$","i"),"$1"))}var n=this;n.search={fname:t("fname"),lname:t("lname"),voucher:t("voucher")};n.disableSearchButton=i}angular.module("CarBookings").controller("LookupBookingsController",["$scope",n])}(),function(){function n(){var n=this;n.search=manageBookingsViewModel}angular.module("CarBookings").controller("ManageBookingsController",["$scope",n])}(),function(){function n(){function r(){n.mc.plocation=i(n.mc.search.ploc);n.mc.plocation&&(t(),n.mc.dlocation=i(n.mc.search.dloc))}function t(){n.mc.dlocations=[];for(var t=0;t<n.mc.locations.length;t++)n.mc.locations[t].Country===n.mc.plocation.Country&&n.mc.dlocations.push(n.mc.locations[t])}function i(t){var i;return $.map(n.mc.locations,function(n){n.Value===t&&(i=n)}),i}var n=this;n.mc={func:{},search:motorcycleSearchForm.viewModel,locations:motorcycleSearchForm.locations,dlocations:[]};n.mc.search.ptype="D";n.mc.search.dtype="D";n.mc.search.s="mc";n.mc.func.disableSearchButton=function(){return n.mc.dlocation==null||n.mc.plocation==null?!0:!1};n.mc.func.pickupChanged=function(){t();n.mc.dlocation=n.mc.plocation};n.mc.func.submit=function(){n.mc.search.pcity=n.mc.plocation.Text;n.mc.search.dcity=n.mc.dlocation.Text;n.mc.search.ploc=n.mc.plocation.Value;n.mc.search.dloc=n.mc.dlocation.Value};r()}angular.module("CarBookings").controller("MotorcycleSearchController",["$scope",n])}(),function(){function n(n,t){n.mform={};n.mtemp={};n.mddl={};n.mfunc={};n.msearch={};n.msearch=mviewModel;n.mfreetypeView={};n.countrylist=mcountries;n.showNoResults=!1;n.token="";n.mval={age:!0,pax:!0};n.noResultsMsgs=[];n.msearch.plocation=unescape(mpickup);n.msearch.dlocation=unescape(mdropoff);n.msearch.s=psearchType;t.get("/services/motorhome/session").success(function(t){n.token=t});n.mfunc.disableSearchButton=function(){return n.msearch.dloc==null||n.msearch.dloc.length==0?!0:!1};n.mfunc.preCheck=function(n){n+="&check=true"};n.mfunc.submit=function(i,r){var c=n.msearch.pdate.split("-").join(" "),l=n.msearch.ddate.split("-").join(" "),f=new Date(c),e=new Date(l),a=f.getFullYear()+"-"+(f.getMonth()+1)+"-"+f.getDate(),v=e.getFullYear()+"-"+(e.getMonth()+1)+"-"+e.getDate(),y=n.msearch.license==="aunz"?"&domestic=true":"",o="?locale=en"+y+"&pickUpCity="+n.msearch.ploc+"&dropOffCity="+n.msearch.dloc+"&pickUpDate="+a+"&dropOffDate="+v+"&driverAge="+n.msearch.age+"&passengers="+n.msearch.pax,s,h,u;if(r>0&&(o+="&agencyCode="+r),s=i=="au"?".com.au":".co.nz",h="http://motorhomes.driveaway"+s+"/quotes"+o,n.mval.age=n.msearch.age==null||n.msearch.age.length===0||n.msearch.age.length>2||n.msearch.age<18&&n.msearch.age>80?!1:!0,n.mval.pax=n.msearch.pax==null||n.msearch.pax.length===0||n.msearch.pax.length>2||n.msearch.pax>12?!1:!0,n.mval.age==!1||n.mval.pax==!1)return!1;u=$("#loadingModal");u.modal("show");t({method:"GET",url:"//api.book-my-ride.com/v1/quotes"+o+"&check=true&token="+n.token}).success(function(t){if(console.log(t),t.results===0)return u.modal("hide"),n.showNoResults=!0,n.noResultsMsgs=t.tips,!1;window.location.href=h}).error(function(t){return console.log(t),u.modal("hide"),n.showNoResults=!0,!1})}}angular.module("CarBookings").controller("MotorhomeSearchController",["$scope","$http",n])}(),function(){function n(n){n.pform={};n.ptemp={};n.pddl={};n.pfunc={};n.psearch={};n.psearch=pviewModel;n.pfreetypeView={};n.countrylist=pcountries;n.psearch.plocation=unescape(ppickup);n.psearch.dlocation=unescape(pdropoff);n.psearch.s=psearchType;n.pfunc.disableSearchButton=function(){return n.psearch.dloc==null||n.psearch.dloc.length==0?!0:!1}}angular.module("CarBookings").controller("PeugeotSearchController",["$scope",n])}(),function(){function n(n){n.lform={};n.ltemp={};n.lddl={};n.lfunc={};n.lsearch={};n.lsearch=lviewModel;n.lfreetypeView={};n.lcountrylist=lcountries;n.lsearch.plocation=unescape(lpickup);n.lsearch.s=lsearchType;n.lfunc.disableSearchButton=function(){return n.lsearch.dloc==null||n.lsearch.dloc.length==0?!0:!1}}angular.module("CarBookings").controller("PrestigeSearchController",["$scope",n])}(),function(){function n(n){n.form={};n.temp={};n.ddl={};n.func={};n.search={};n.search=viewModel;n.freetypeView={};n.countrylist=countries;n.search.plocation=unescape(pickup);n.search.dlocation=unescape(dropoff);n.search.s=searchType;n.func.disableSearchButton=function(){return n.search.dloc==null||n.search.dloc.length==0?!0:!1}}angular.module("CarBookings").controller("SearchController",["$scope","$http","$q",n])}(),function(){function n(n,t,i,r,u){n.func={};n.filter={};n.mc={};n.mc.search={};n.search={};pviewModel!==null?n.search=pviewModel:motorcycleSearchForm?(n.search=motorcycleSearchForm.viewModel,n.mc.search=motorcycleSearchForm.viewModel):n.search=viewModel;n.viewModel={};n.viewModel.searchResults=searchResults;n.viewModel.displayResults=[];n.viewModel.viewScroll=0;n.viewModel.error=ErrorInfo;n.selectedcar=0;n.viewModel.desc=[];n.showSearchForm=showSearch;n.searchType=psearchType!=null?psearchType:motorcycleSearchForm?motorcycleSearchForm.viewModel.ptype:searchType;var f=0;n.func.modifyForm=function(){n.showSearchForm=n.showSearchForm?!1:!0};n.func.isError=function(){return n.viewModel.error==null?!1:!0};n.func.trustHtml=function(n){return u.trustAsHtml(n)};n.showMoreProducts=function(t){if(t-n.viewModel.viewScroll>=0&&console.log("300 diff"),f<=n.viewModel.searchResults.products.length){for(var i=f;i<f+2;i++)n.viewModel.searchResults.products[i]!=null&&n.viewModel.displayResults.push(n.viewModel.searchResults.products[i]);f+=2}};n.func.getErrorInclude=function(n,t){return n?"/partials/noresults.html":t?"/partials/zeroresultsforfilter.html":""};n.func.replaceWith=function(n,t){return n.replace(/[\s]/g,t)};n.func.supplierImage=function(t){return n.searchType=="p"?"//cdn.travel-mediaserver.com/driveaway/images/"+t.toLowerCase()+"-supplier-logo.png":"//www.globalmediaserver.com/img/suppLogo/"+t+".png"};n.func.vehicleImage=function(n){return"//www.globalmediaserver.com/images/cars/"+n+"?site=AU"};n.viewModel.filterProducts=r("filter")(n.filter.cls,n.filter.trans);n.loading=!1;n.func.applyFilter=function(n,t){return n==t?"":t};n.func.loadDescription=function(i,r){n.loadingDesc=!0;t.get("/services/car/sippdesc?code="+i).success(function(t){n.viewModel.desc[r]=t;n.loadingDesc=!1})}}angular.module("CarBookings").controller("SelectController",["$scope","$http","$document","$filter","$sce",n])}(),function(){angular.module("ManageBookingsControllers",[])}(),function(){function n(){function n(n){if(typeof n!="undefined"&&n.length>0)return"//cdn.travel-mediaserver.com/driveaway/images/flags/"+n.toLowerCase()+".png"}function t(n){if(typeof n!="undefined"&&n.length!=0)return"//www.globalmediaserver.com/img/supplogo/"+n+".png"}function i(n,t){return n.replace(/[\s]/g,t)}function r(n){return Date.parse(n)}function u(n){return n==="fee1"?"Prepaid items are included in this price":n==="fee2"?"Excess Insurance is included in this price":void 0}function f(n){return unescape(window.location.search.replace(new RegExp("^(?:.*[&\\?]"+escape(n).replace(/[\.\+\*]/g,"\\$&")+"(?:\\=([^&]*))?)?.*$","i"),"$1"))}return{loadFlagImg:n,supplierImage:t,replaceWith:i,convertDate:r,oneWayMessage:u,getQueryString:f}}angular.module("ManageBookingsControllers").factory("sharedFunc",[n])}(),function(){function n(n,t,i,r){n.model={};n.model.showform=!1;n.model.confirm=!1;n.model.complete=!1;n.model.error=!1;n.model.loading=!0;var u=function(){$("body, html").animate({scrollTop:0},300)};n.booking=i("filter")(searchResults,{v:t.voucherId})[0];n.lookup={voucher:t.voucherId,fname:n.booking.fname,lname:n.booking.lname};n.submitted=!1;n.view={};n.cancel={};n.phone=phone;n.errorView=function(){u();n.model.error=!0;n.model.showform=!1;n.model.confirm=!1;n.model.loading=!1;n.model.complete=!1};n.formView=function(){u();n.model.showform=!0;n.model.confirm=!1;n.model.loading=!1;n.model.complete=!1;n.model.error=!1};n.confirm=function(){n.submitted=!0;n.form.$valid&&(u(),n.model.confirm=!0,n.model.loading=!1,n.model.showform=!1,n.model.complete=!1,n.model.error=!1)};n.loadBooking=function(){n.model.loading=!0;r.post("/manage/bookings/view",n.lookup).success(function(t){n.view=t;var i=t.email==""?n.booking.email:t.email;n.model.loading=!1;n.model.showform=!0;n.cancel.voucher=angular.copy(n.lookup.voucher);n.cancel.dname=angular.copy(n.lookup.clientName);n.cancel.email=i})};n.loadBooking();n.complete=function(){u();n.model.loading=!0;n.model.complete=!1;n.model.showform=!1;n.model.confirm=!1;n.model.error=!1;r.post("/manage/bookings/cancel",n.cancel).error(function(){n.model.loading=!1;n.model.error=!0}).success(function(){n.model.complete=!0;n.model.loading=!1})}}angular.module("ManageBookingsControllers").controller("ManageBookingsCancelCtrl",["$scope","$routeParams","$filter","$http",n])}(),function(){function n(n,t,i,r,u){var f="";n.searchResults=searchResults;n.resultCount=n.searchResults.length;n.viewUrl="";n.viewClosed=!0;n.phone=phone;n.currentPage=currentPage;n.view={};n.func={loadFlagImg:u.loadFlagImg,supplierImage:u.supplierImage,replaceWith:u.replaceWith,convertDate:u.convertDate,oneWayMessage:u.oneWayMessage};n.include={};n.expandIndex=-1;n.func.expandVoucher=function(t,i){n.expandIndex=t===n.expandIndex?-1:t;n.expandIndex!==-1?n.func.loadView(i):n.include.view=null};n.func.loadView=function(u){n.include.view="/partials/manage-bookings/view.html";n.loading=!0;n.booking=t("filter")(searchResults,{v:u})[0];n.lookup={voucher:u,fname:n.booking.fname,lname:n.booking.lname};n.view={};n.loadBooking=function(){n.loading=!0;f&&f.resolve();f=r.defer();i.post("/manage/bookings/view",n.lookup,{timeout:f.promise}).success(function(t){n.view=t;n.loading=!1})};n.loadBooking()};n.closeView=function(){n.viewUrl=null;n.viewClosed=!0};n.func.OrderByMultiple=function(t,i){var r=t,u;n.orderBy instanceof Array&&(r=n.orderBy[0]);n.func.OrderBy(r);u=[n.orderBy,i];n.orderBy=u};n.func.OrderBy=function(t){n.expandIndex=-1;n.include.view=null;n.orderBy=n.orderBy.indexOf(t)>-1?t.indexOf("+")>-1?"-"+t.replace("+","").replace("-",""):"+"+t.replace("+","").replace("-",""):"-"+t.replace("+","").replace("-","")};n.func.OrderByClass=function(t){var i=n.orderBy;return n.orderBy instanceof Array&&(i=n.orderBy[0]),{glyphicon:!0,"glyphicon-triangle-bottom":i=="-"+t,"glyphicon-triangle-top":i=="+"+t}}}angular.module("ManageBookingsControllers").controller("ManageBookingsListCtrl",["$scope","$filter","$http","$q","sharedFunc",n])}(),function(){function n(n,t,i){n.currentPage=currentPage;n.search={fname:i.getQueryString("fname"),lname:i.getQueryString("lname"),voucher:i.getQueryString("voucher")};n.view=voucherData;n.func={loadFlagImg:i.loadFlagImg,supplierImage:i.supplierImage,replaceWith:i.replaceWith,convertDate:i.convertDate,oneWayMessage:i.oneWayMessage};n.include={};n.direct=direct}angular.module("ManageBookingsControllers").controller("LookupViewCtrl",["$scope","$http","sharedFunc",n])}(),function(){function n(n,t,i,r){n.model={};n.model.showform=!1;n.model.confirm=!1;n.model.complete=!1;n.model.error=!1;n.model.loading=!0;var u=function(){$("body, html").animate({scrollTop:0},300)};n.booking=i("filter")(searchResults,{v:t.voucherId})[0];n.lookup={voucher:t.voucherId,fname:n.booking.fname,lname:n.booking.lname};n.view={};n.originalForm={};n.modify={};n.phone=phone;n.loadBooking=function(){n.model.loading=!0;n.model.showform=!1;n.model.complete=!1;n.model.confirm=!1;r.post("/manage/bookings/view",n.lookup).success(function(t){n.view=t;n.initForm(t);n.model.loading=!1;n.model.showform=!0})};n.boolToStr=function(n){return n?"Yes":"No"};n.loadBooking();n.initForm=function(t){n.originalForm.voucher=angular.copy(n.lookup.voucher);n.originalForm.oname=angular.copy(n.booking.fname+" "+n.booking.lname);n.originalForm.dname=angular.copy(n.booking.fname+" "+n.booking.lname);n.originalForm.sipp=t.sipp;n.originalForm.cname=angular.copy(n.booking.cname);n.originalForm.bdate=t.bdate;n.originalForm.pdate=t.pdate;n.originalForm.ptime=t.ptime;n.originalForm.pcity=t.pcity;n.originalForm.ploc=t.ploc;n.originalForm.pcountry=t.pcountry;n.originalForm.ddate=t.ddate;n.originalForm.dtime=t.dtime;n.originalForm.dcity=t.dcity;n.originalForm.dloc=t.dloc;n.originalForm.dcountry=t.dcountry;n.originalForm.duration=t.duration;n.originalForm.flight=t.flight;n.originalForm.email=t.email;n.originalForm.comment="";n.originalForm.insurance=t.insurance;n.originalForm.traveleast=t.traveleast;n.originalForm.othercountries="";n.modify=angular.copy(n.originalForm)};n.formHasNotChanged=function(){return angular.equals(n.modify,n.originalForm)?(n.modify.$setPristine(),!0):!1};n.submitForm=function(){n.formReset=!1;n.showValidation=function(){return n.form.$invalid};n.form.$valid?(n.json=angular.toJson(n.modify),console.log(n.json)):($(".ng-invalid-required:first").get(0).focus(),$(window).scrollTop($(".ng-invalid-required:first").offset().top-80),console.log("error"))};n.modifyform=function(){u();n.model.showform=!0;n.model.confirm=!1;n.model.loading=!1;n.model.complete=!1};n.confirm=function(){n.formHasNotChanged();n.form.$valid?(u(),n.model.confirm=!0,n.model.loading=!1,n.model.showform=!1,n.model.complete=!1):($("textarea.ng-invalid-required:first, input.ng-invalid-required:first").get(0).focus(),$(window).scrollTop($("textarea.ng-invalid-required:first, input.ng-invalid-required:first").offset().top-80))};n.complete=function(){u();n.model.loading=!0;n.model.complete=!1;n.model.showform=!1;n.model.confirm=!1;r.post("/manage/bookings/modify",n.modify).error(function(){n.model.loading=!1;n.model.error=!0}).success(function(){n.model.complete=!0;n.model.loading=!1})}}angular.module("ManageBookingsControllers").controller("ManageBookingsModifyCtrl",["$scope","$routeParams","$filter","$http",n])}(),function(){function n(){function n(){var n=$("<a>",{id:"back-to-top",href:"#top",text:"Top "}),i=$("<i>",{"class":"glyphicon glyphicon-chevron-up"}),t=$("<div>",{"class":"red-bar-scroll"});n.appendTo("body");i.appendTo(n);t.appendTo("body");n.hide();t.hide();$(window).scroll(function(){$(this).scrollTop()>150?(n.fadeIn(),t.show()):(n.fadeOut(),t.hide())});n.click(function(n){n.preventDefault();$("body, html").animate({scrollTop:0},600)})}return{link:n,restrict:"EA"}}angular.module("CarBookings").directive("backToTop",n)}(),function(){function n(){function n(n,t){$(t).error(function(){$(this).attr("src","//cdn.travel-mediaserver.com/driveaway/images/nocarimage.gif")})}return{restrict:"EAC",link:n}}angular.module("CarBookings").directive("carImage",[n])}(),function(){function n(){function n(n){var t={disableDefaultUI:!1,zoomControl:!0,scaleControl:!0,draggable:!0},i,r,u;n.lat.length>0&&n.lng.length>0&&(i={lat:parseFloat(n.lat),lng:parseFloat(n.lng)},t.center=i,t.zoom=parseInt(n.zoom),r=new google.maps.Map(document.getElementById("googleMap"),t),u=new google.maps.Marker({position:i,map:r}))}return{link:n,scope:{lat:"@",lng:"@",zoom:"@"},restrict:"A"}}angular.module("CarBookings").directive("dahGoogleMap",n)}(),function(){function n(){function n(n,t){t.tooltip()}return{link:n,restrict:"A"}}angular.module("CarBookings").directive("dahTooltip",[n])}(),function(){function n(n){function t(t){n.get("//api.wunderground.com/api/8e6d8f53617bf257/forecast/q/"+t.country.split(" ").join("_")+"/"+t.city.split(" ").join("_")+".json").then(function(n){var i=n.data.forecast.simpleforecast,r;for(t.forecastImg="//cdn.travel-mediaserver.com/driveaway/images/weather/"+i.forecastday[0].icon+".png",t.currentTemp=i.forecastday[0].high.celsius,t.conditions=i.forecastday[0].conditions,t.high=i.forecastday[0].high.celsius,t.low=i.forecastday[0].low.celsius,t.locationName=t.city,t.week={days:[]},r=1;r<i.forecastday.length;r++)t.week.days.push({name:i.forecastday[r].date.weekday_short,high:i.forecastday[r].high.celsius,low:i.forecastday[r].low.celsius})})}return{restrict:"A",scope:{lat:"@",lng:"@",city:"@",country:"@"},templateUrl:"/partials/weather-preview.html",link:t}}angular.module("CarBookings").directive("dahWeatherPreview",["$http",n])}(),function(){function n(){function n(n,t,i){var e=14,r="d";r=n.lead!=null?n.lead+r:"2d";var u="",o="+0:+2",f=2;$(window).resize(function(){f=$(window).width()<700?1:2}).resize();i.search=="p"?r=n.lead!=null?n.lead+"d":e+"d":i.search=="x"&&(r="-1y",o="-1:+2");i.nextDate!=null&&(u=i.nextDate);$(t).datepicker({dateFormat:"dd-M-yy",showOtherMonths:!0,selectOtherMonths:!0,changeMonth:!0,changeYear:!0,yearRange:o,minDate:r,buttonText:"Pick-up Date",numberOfMonths:f,onSelect:function(r){var v=i.id,l=v.replace("pdate","#ddate"),h,c,a;u!=""&&(l=u);var o=$(l),s=1,f=new Date(t.datepicker("getDate"));i.search=="p"?(s=e,h=new Date(t.datepicker("getDate")),h.setDate(f.getDate()+174),o.datepicker("option","maxDate",h),f.setDate(f.getDate()+s),o.datepicker("option","minDate",f)):(c=f.getDate(),f.setDate(c+s),a=new Date,a.setDate(c),o.datepicker("option","minDate",r),o.datepicker("setDate",f));n.ngModel=r;n.to=o.val();n.$apply();setTimeout(function(){o.datepicker("show")},16)}});$("#ui-datepicker-div").wrap('<div style="position:absolute;top:0px;"><\/div>')}return{restrict:"A",scope:{ngModel:"=",to:"=",lead:"="},link:n}}angular.module("CarBookings").directive("dateFrom",n)}(),function(){function n(){function n(n,t,i){var u=2,r,f;$(window).resize(function(){u=$(window).width()<700?1:2}).resize();n.minDate!=null&&(r=new Date(n.minDate));i.search=="p"&&r.setDate(r.getDate()+14);f={dateFormat:"dd-M-yy",showOtherMonths:!0,selectOtherMonths:!0,yearRange:"+0:+3",minDate:r,buttonText:"Drop-off Date",numberOfMonths:u,onSelect:function(t){n.ngModel=t;n.$apply()}};$(t).datepicker(f);$("#ui-datepicker-div").wrap('<div style="position:absolute;top:0px;"><\/div>')}return{restrict:"A",scope:{ngModel:"=",minDate:"="},link:n}}angular.module("CarBookings").directive("dateTo",n)}(),function(){function n(){function n(n,t,i){t.click(function(){i.$observe("dateId",function(n){$(n).datepicker("show")})})}return{restrict:"A",scope:{dateId:"@"},link:n}}angular.module("CarBookings").directive("dateTrigger",[n]);n.$inject=["$observe"]}(),function(){function n(){function n(n,t,i){$(i.ddlScrollElement).hide();$(t).scroll(function(){$(this).scrollTop()>30?$(i.ddlScrollElement).show():$(i.ddlScrollElement).hide()})}return{restrict:"A",link:n}}angular.module("CarBookings").directive("ddlScrollToTop",[n])}(),function(){function n(){function n(n,t){var i="";i=n.text=="man"?"Manual Transmission":n.text=="auto"?"Automatic Transmission":n.text=="confirmed"?"Download Voucher":n.text;t.tooltip({placement:"top",html:!1,title:i})}return{link:n,scope:{text:"="},restrict:"A"}}angular.module("CarBookings").directive("dynamicTooltip",[n])}(),function(){function t(){function t(n){n.viewBooking=function(){}}return{restrict:"A",replace:!0,controller:n,link:t}}function n(n,t,i){n.viewBooking=function(r){alert(r);n.view={};n.func={};n.loading=!0;n.booking=i("filter")(searchResults,{v:r})[0];n.lookup={voucher:r,clientName:n.client};n.viewClosed=!1;n.viewUrl="/partials/manage-bookings/view.html";n.func.supplierImage=function(n){return"//www.globalmediaserver.com/img/suppLogo/"+n.replace(" ","")+".png"};n.func.vehicleImage=function(n){return"//www.globalmediaserver.com/images/cars/"+n+"?site=AU"};n.func.replaceWith=function(n,t){return n.replace(/[\s]/g,t)};t.post("/manage/bookings/view",n.lookup).success(function(t){n.view=t;n.loading=!1})}}angular.module("CarBookings").directive("expandVoucherList",[t]);n.$inject=["$scope","$http","$filter"]}(),function(){function n(){function n(n,t){t.change(function(){this.checked?($("#mainPrice").html(n.ins),$("#totalCost").val(n.ins)):($("#mainPrice").html(n.price),$("#totalCost").val(n.price))}).change()}return{restrict:"A",scope:{price:"@",ins:"@"},link:n}}angular.module("CarBookings").directive("insuranceSelect",[n])}(),function(){function n(){function n(){var n=!1;angular.element(".location-input").find("input").focus(function(){n=!0;alert("infocus")});angular.element(".location-input").find("input").blur(function(){n=!1});n||$("body, html").keypress(function(n){var t=n||window.event,i=t.keyCode||t.which,r=String.fromCharCode(i).toLowerCase(),u=function(){$("body, html").animate({scrollTop:0},300)}})}return{restrict:"A",link:n}}angular.module("CarBookings").directive("listenerModify",[n])}(),function(){function n(){function n(n,t){t.click(function(t){t.preventDefault();$(n.target).modal({remote:n.href,show:!0})})}return{restrict:"A",scope:{href:"@",target:"@"},link:n}}angular.module("CarBookings").directive("loadModal",[n])}(),function(){function t(){function t(n,t){t.find("input").on("focus",function(){$(this).one("mouseup",function(){return $(this).select(),!1}).select()});t.find("input").bind("keydown",function(t){var r=t||window.event,i=r.keyCode||r.which,f=function(n,t){var i=$("#dropdownBody:visible"),u=$("#"+t+" .highlight"),r;return typeof u.offset()=="undefined"?!1:(r=u.position().top,n==="down"&&r>150)?(i.animate({scrollTop:i.scrollTop()+170},80),!1):n==="up"&&r<100?(i.animate({scrollTop:i.scrollTop()-170},80),!1):!0},u=function(u,e){var o=u.length;r=t||window.event;i=r.keyCode||r.which;n.selectedIndex>o&&(n.selectedIndex=-1);i===KEY.DOWN?(t.preventDefault(),n.selectedIndex+1!==o&&(n.selectedIndex++,e=="freetype"&&u[n.selectedIndex].t!=="l"&&n.selectedIndex++,f("down",e)),n.ddl.showDropdown||n.func.dropdown()):i===KEY.UP?(t.preventDefault(),n.selectedIndex-1!=0&&(n.selectedIndex--,e=="freetype"&&u[n.selectedIndex].t!=="l"&&n.selectedIndex--,f("up",e))):i===KEY.ENTER?(t.preventDefault(),n.func.selectItem(u[n.selectedIndex])):i===KEY.ESC&&(t.preventDefault(),n.ddl.showDropdown=!1)};n.ddl.freetype&&n.freetypeView!=null?(u(n.freetypeView,"freetype"),n.$apply()):(n.ddl.showDropdown||i===KEY.DOWN&&n.func.dropdown(),n.search.plocation.length===0&&i===KEY.BACKSPACE&&n.func.goBack(),n.ddl.showCountry?(u(n.viewModel.countries,"Countries"),n.$apply()):n.ddl.showCity?(u(n.viewModel.cities,"Cities"),n.$apply()):n.ddl.showDepot&&(u(n.viewModel.locations,"Depots"),n.$apply()))});n.func.dropdown=function(){if(n.type==="m")return!1;n.func.disableDropoff()||(n.ddl.showDropdown?n.ddl.showDropdown=!1:(n.func.queryLocations(n.ngModel),n.ddl.showDropdown=!0));t.find("input").focus()};n.setFocus=function(){t.find("input").focus()};n.func.scrollTop=function(){$("#dropdownBody").animate({scrollTop:0});n.setFocus()}}return{restrict:"A",scope:{label:"@",ngModel:"=",ddl:"&",search:"=",pickup:"@",tabindex:"@",countrylist:"=",type:"@",app:"@"},require:"ngModel",controller:n,templateUrl:"/partials/locationdropdown.html",link:t,bindToController:!0}}function n(n,t,i){var r,u,f;n.func={};n.temp={};n.viewModel={};n.viewModel.countries=n.countrylist;n.ddl.showDropdown=!1;n.selectedIndex=-1;n.parentIndex=-1;r="";n.app!=null&&n.app!=""&&(r="/"+n.app);n.func.disableDropoff=function(){if(!n.pickup&&(n.search.ploc==null||n.search.ploc==""))return!0};n.reset=function(){n.ngModel="";n.pickup?(n.search.plocation="",n.search.ploc="",n.search.dlocation="",n.search.dloc=""):(n.search.dlocation="",n.search.dloc="");n.ddl.showDropdown=!1;n.ddl.freetype=!1;n.ddl.showCity=!1;n.ddl.showDepot=!1;n.ddl.showCountry=!0;n.ddl.loading=!1;n.setFocus()};n.startsWith=function(n,t){var i=(n+"").toLowerCase();return i.indexOf(t.toLowerCase())===0};n.func.queryLocations=function(f){if(n.focusIndex=0,f.length==0&&(f=n.ngModel),f.length==0&&n.reset(),f.length<=2)n.ddl.showCountry&&(n.keyPressed=f),n.ddl.showCity&&(n.cityFilter=f),n.ddl.freetype=!1,n.ddl.loading=!1,n.type==="m"&&(n.ddl.showDropdown=!1),u&&u.resolve();else if(f.length>2){n.ddl.showDropdown=!0;n.ddl.freetype=!0;n.ddl.loading=!0;n.ddl.noresults=!1;n.ddl.noview=!0;u&&u.resolve();u=i.defer();var e="";e=n.type==="m"?n.pickup?r+"/services/motorhome/search?searchstring="+f:r+"/services/motorhome/search?searchstring="+f+"&pickup="+n.search.ploc:n.pickup?r+"/services/car/searchlocation?search="+f+"&type="+n.type:r+"/services/car/searchlocation?search="+f+"&dropoff=true&g="+n.search.pg+"&type="+n.type;t.get(e,{timeout:u.promise}).error(function(){f.length<=2&&(u&&u.resolve(),n.ddl.showCountry=!0,n.ddl.freetype=!1,n.selectedIndex=-1)}).success(function(t){n.freetypeView=[];n.freetypeViewCount=0;$.each(t,function(t,i){n.freetypeView.push({city:i.city,country:i.c,cc:i.cc,t:i.city==""?"cl":"ci"});i.locs!=undefined&&$.each(i.locs,function(t,i){i.t!=="ci"&&(n.freetypeView.push(i),n.freetypeViewCount++)})});n.ddl.loading=!1;n.ddl.noview=!0;n.selectedIndex=-1;t.length==0?n.ddl.noresults=!0:n.ddl.noview=!1})}};n.func.selectCountry=function(t){if(t.c=="")return!1;n.keyPressed="";n.ngModel="";n.ddl.loading=!0;n.ddl.showCity=!1;n.func.getCities(t.c,!0);n.temp.country=t;n.setFocus()};n.func.getCities=function(i,u){t.get(r+"/services/cities?search="+i+"&type="+n.type).success(function(t){n.func.scrollTop();n.viewModel.cities=t;n.ddl.showCity=u;n.ddl.showCountry=!1;n.ddl.loading=!1;n.ddl.freetype=!1;n.selectedIndex=-1});n.setFocus()};n.func.selectCity=function(t,i,r,u){n.ddl.showCountry=!1;n.ddl.loading=!0;n.temp.country={};n.temp.country.n=r;n.temp.country.c=i;n.temp.cityName=t;n.func.getLocations(t,i);u&&n.func.getCities(i,!1);n.func.scrollTop();n.setFocus()};n.func.getLocations=function(i,u){n.ddl.loading=!0;t.get(r+"/services/locations?city="+i+"&country="+u+"&type="+n.type).success(function(t){n.func.scrollTop();n.viewModel.locations=t;n.ddl.showDepot=!0;n.ddl.showCountry=!1;n.ddl.showCity=!1;n.ddl.loading=!1;n.ddl.freetype=!1;n.selectedIndex=-1});n.setFocus()};n.func.selectDepot=function(t){n.pickup?(n.search.plocation=t.loc,n.search.ploc=t.code,n.search.ptype=t.ltype,n.search.pg=t.g,n.search.pcity=t.city,f(t)):f(t);n.ddl.showDropdown=!1};f=function(t){n.search.dlocation=t.loc;n.search.dloc=t.code;n.search.dtype=t.ltype;n.search.dcity=t.city};n.func.selectItem=function(t,i){var r=t.countrycode;t.cc!=null&&(r=t.cc);n.ddl.freetype?t.t==="l"?n.func.selectDepot(t):t.t!=="ci"||i?t.t!=="c"||i||n.func.selectCountry({c:r,n:t.country}):n.func.selectCity(t.city,r,t.country,!1):n.ddl.showCountry?n.func.selectCountry(t):n.ddl.showDepot?n.func.selectDepot(t):n.ddl.showCity&&n.func.selectCity(t,n.temp.country.c,n.temp.country.n,!1)};n.func.goBack=function(){n.ddl.freetype||(n.ddl.showDepot?n.func.showCity():n.ddl.showCity&&n.func.showCountry())};n.func.showCountry=function(){n.ddl.showDepot=!1;n.ddl.showCity=!1;n.ddl.showCountry=!0};n.func.showCity=function(){n.ddl.showDepot=!1;n.ddl.showCity=!0;n.ddl.showCountry=!1}}angular.module("CarBookings").directive("locationSearch",[t]);n.$inject=["$scope","$http","$q"]}(),function(){function n(){function n(n,t){function r(t){var u,f,i,r;$(".ui-datepicker a").removeAttr("href");u=$(this).datepicker("getDate");f=i=new Date(u);f.setDate(u.getDate()+1);i.setDate(u.getDate()+60);r=$("#toDate");r.datepicker("setDate",i);r.datepicker("option","minDate",u);r.datepicker("option","maxDate",new Date(i.getFullYear(),i.getMonth(),i.getDate()));n.ngModel=t;n.to=r.val();n.$apply();setTimeout(function(){r.datepicker("show")},16)}var i={dateFormat:"dd-M-yy",showOtherMonths:!0,selectOtherMonths:!0,changeMonth:!0,changeYear:!0,yearRange:"-1:+5",buttonText:"From",numberOfMonths:2,onSelect:r};$(t).datepicker(i);$("#ui-datepicker-div").wrap('<div style="position:absolute;top:0px;"><\/div>')}return{restrict:"A",scope:{ngModel:"=",to:"="},link:n}}angular.module("CarBookings").directive("manageBookingsDateFrom",[n])}(),function(){function n(){function n(n,t){function r(t){$(".ui-datepicker a").removeAttr("href");n.ngModel=t;n.$apply()}var i={dateFormat:"dd-M-yy",showOtherMonths:!0,selectOtherMonths:!0,yearRange:"-1:+5",buttonText:"To",numberOfMonths:2,minDate:n.mindate,maxDate:n.ngModel,onSelect:r};$(t).datepicker(i);$("#ui-datepicker-div").wrap('<div style="position:absolute;top:0px;"><\/div>')}return{restrict:"A",scope:{ngModel:"=",mindate:"="},link:n}}angular.module("CarBookings").directive("manageBookingsDateTo",[n])}(),function(){function n(){function n(n,t){$(t).error(function(){$(this).attr("src")!=="//cdn.travel-mediaserver.com/driveaway/images/carnotavailable.gif"&&$(this).attr("src","//cdn.travel-mediaserver.com/driveaway/images/carnotavailable.gif")})}return{restrict:"A",link:n}}angular.module("CarBookings").directive("noCarImage",[n])}(),function(){function n(){function n(n,t){$(t).keypress(function(n){var t=n||window.event,i=t.keyCode||t.which,r=[37,38,39,40,46,8,9],u=String.fromCharCode(i),f=$.inArray(i,r),e=/[0-9]|\./;e.test(u)||f!=-1||(t.returnValue=!1,t.preventDefault&&t.preventDefault())})}return{restrict:"C",scope:{maxlength:"@"},link:n}}angular.module("CarBookings").directive("numberOnly",[n])}(),function(){function n(){function n(n,t){t.popover()}return{link:n,restrict:"A"}}function t(){function n(n,t){t.popover({trigger:"hover",html:!0,delay:{show:50,hide:500}})}return{link:n,restrict:"EA"}}function i(){function n(n,t){t.popover({trigger:"hover",placement:"bottom",html:!0,delay:{show:50,hide:500}})}return{restrict:"A",link:n}}function r(){function n(n,t){n.show=="true"&&t.popover({trigger:"hover",html:!0,delay:{show:50,hide:500},placement:"top",title:"Rate Not Available",template:'<div class="popover" role="tooltip"><h3 class="popover-title"><\/h3><div class="popover-content"><\/div><\/div>'})}return{restrict:"A",scope:{show:"@showPopover",text:"@popoverText"},link:n}}function u(){function n(n,t){t.popover({trigger:"focus hover"})}return{restrict:"A",link:n}}angular.module("CarBookings").directive("popover",[n]).directive("dahPopover",[t]).directive("dahPopoverBottom",[i]).directive("customPopover",[r]).directive("dahFormInfoPopover",[u])}(),function(){function n(){function n(n,t,i){var u=i.id,r=$("#"+u+" > .scrollable-wrapper"),o=r.outerWidth(!0),f=$("#"+u+" > .left"),e=$("#"+u+" > .right");r.animate({scrollLeft:0},400);f.click(function(){var n=r.scrollLeft();r.animate({scrollLeft:n-200},400);n<=100&&f.fadeOut();e.fadeIn()});e.click(function(){var n=r.scrollLeft();r.animate({scrollLeft:n+200},400);n>=400&&e.fadeOut();f.fadeIn()})}return{restrict:"A",link:n}}angular.module("CarBookings").directive("scrollable",[n])}(),function(){function n(n){function t(t){n.bind("scroll",function(){var n=Math.max(document.documentElement.clientHeight,window.innerHeight||0);t.$apply("showMoreProducts("+$(document).scrollTop()+")")})}return{link:t,restrict:"A"}}angular.module("CarBookings").directive("scroller",["$document",n])}(),function(){function n(){function n(n,t){DriveAwayCommon.isInternetExplorer()||DriveAwayCommon.isIOSDevice()||DriveAwayCommon.isSafari()||t.attr("placeholder","Enter a Location or Airport code")}return{restrict:"A",link:n}}angular.module("CarBookings").directive("searchPlaceholder",[n])}(),function(){function n(){function n(n,t){n.carLocations>1?t.html("Show <br> Locations"):t.html("Continue");t.click(function(){$("#c").val(n.carId);n.carLocations>1?($("#tModal > .modal-content").load("/bookings/selectlocation?q="+n.quote+"&car="+n.carId+"&pkg="+n.pkg+"&pt="+n.type),$("#tModal").modal({keyboard:!0,show:!0})):($("#selectCarForm").submit(),$("#loadingModal").modal("show"))})}return{restrict:"A",scope:{carId:"@",carLocations:"@",quote:"@",pkg:"@",type:"@"},link:n}}angular.module("CarBookings").directive("selectCar",[n])}(),function(){function n(){function n(){setTimeout(function(){document.getElementById("tModalSessionWarning")&&$("#tModalSessionWarning").hide();$("#tModalSessionTimeout").modal({show:!0})},18e5);document.getElementById("tModalSessionWarning")&&setTimeout(function(){$("#tModalSessionWarning").modal({show:!0})},15e5)}return{restrict:"EAC",link:n}}angular.module("CarBookings").directive("sessionTimeout",[n])}(),function(){function n(){function n(n,t){if($(window).width()>900){var i=$(t).offset().top-parseFloat($(t).css("marginTop").replace(/auto/,0));$(window).scroll(function(){var n=$(this).scrollTop();n>=i?$(t).addClass("fixed-position"):$(t).removeClass("fixed-position")})}}return{link:n}}angular.module("CarBookings").directive("staticPosition",n)}(),function(){function n(){function n(n,t){$(t).error(function(){$(this).attr("src","//cdn.travel-mediaserver.com/driveaway/images/localsupplier.png")})}return{restrict:"A",link:n}}angular.module("CarBookings").directive("supplierImage",[n])}(),function(){function n(){function n(n,t){t.click(function(t){t.preventDefault();$(n.target).modal({remote:n.href,show:!0})})}return{restrict:"A",scope:{href:"@",target:"@"},link:n}}angular.module("CarBookings").directive("termsModal",[n])}(),function(){function n(){function n(n,t){t.click(function(){$("body, html").animate({scrollTop:0},200)})}return{restrict:"A",link:n}}angular.module("CarBookings").directive("toTop",[n])}()