/*! jQuery UI - v1.12.1 - 2017-02-02
* http://jqueryui.com
* Includes: widget.js, position.js, keycode.js, unique-id.js, widgets/autocomplete.js, widgets/datepicker.js, widgets/menu.js, widgets/mouse.js, widgets/slider.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e,i;t.length&&t[0]!==document;){if(e=t.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}function i(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=s(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function s(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,n)}function n(){t.datepicker._isDisabledDatepicker(l.inline?l.dpDiv.parent()[0]:l.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function o(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}t.ui=t.ui||{},t.ui.version="1.12.1";var a=0,r=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0];e=e.split(".")[1];var h=l+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][h.toLowerCase()]=function(e){return!!t.data(e,h)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,s,n=r.call(arguments,1),o=0,a=n.length;a>o;o++)for(i in n[o])s=n[o][i],n[o].hasOwnProperty(i)&&void 0!==s&&(e[i]=t.isPlainObject(s)?t.isPlainObject(e[i])?t.widget.extend({},e[i],s):t.widget.extend({},s):s);return e},t.widget.bridge=function(e,i){var s=i.prototype.widgetFullName||e;t.fn[e]=function(n){var o="string"==typeof n,a=r.call(arguments,1),l=this;return o?this.length||"instance"!==n?this.each(function(){var i,o=t.data(this,s);return"instance"===n?(l=o,!1):o?t.isFunction(o[n])&&"_"!==n.charAt(0)?(i=o[n].apply(o,a),i!==o&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+n+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+n+"'")}):l=void 0:(a.length&&(n=t.widget.extend.apply(null,[n].concat(a))),this.each(function(){var e=t.data(this,s);e?(e.option(n||{}),e._init&&e._init()):t.data(this,s,new i(n,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,i){i=t(i||this.defaultElement||this)[0],this.element=t(i),this.uuid=a++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},i!==this&&(t.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===i&&this.destroy()}}),this.document=t(i.style?i.ownerDocument:i.document||i),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,l=/top|center|bottom/,h=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,g,m,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),k={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,g=_.offset,m=t.extend({},g),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):l.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=l.test(i[1])?i[1]:"center",t=h.exec(i[0]),e=h.exec(i[1]),k[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?m.left+=p:"center"===n.at[0]&&(m.left+=p/2),"bottom"===n.at[1]?m.top+=f:"center"===n.at[1]&&(m.top+=f/2),u=e(k.at,p,f),m.left+=u[0],m.top+=u[1],this.each(function(){var s,r,l=t(this),h=l.outerWidth(),c=l.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),x=h+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},m),T=e(k.my,l.outerWidth(),l.outerHeight());"right"===n.my[0]?D.left-=h:"center"===n.my[0]&&(D.left-=h/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:h,elemHeight:c,collisionPosition:s,collisionWidth:x,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:l})}),n.using&&(r=function(t){var e=g.left-D.left,i=e+p-h,s=g.top-D.top,r=s+f-c,u={target:{element:v,left:g.left,top:g.top,width:p,height:f},element:{element:l,left:D.left,top:D.top,width:h,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};h>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),l.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-r-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-r-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,l=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=l.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=l.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)},_filterMenuItems:function(e){var i=e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(t.trim(t(this).children(".ui-menu-item-wrapper").text()))})}}),t.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return t.proxy(function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")},this)},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({},e,{label:e.label||e.value,value:e.value||e.label})})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<div>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("<div>").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete,t.extend(t.ui,{datepicker:{version:"1.12.1"}});var l;t.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return o(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,o;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),o=this._newInst(t(e),n),o.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,o):n&&this._inlineDatepicker(e,o)},_newInst:function(e,i){var n=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:n,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?s(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),t.data(e,"datepicker",i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,o,a=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),a&&(i.append=t("<span class='"+this._appendClass+"'>"+a+"</span>"),e[r?"before":"after"](i.append)),e.off("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.on("focus",this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),o=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:o,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(o?t("<img/>").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,a){var r,l,h,c,u,d=this._dialogInst;return d||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+r+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),d=this._dialogInst=this._newInst(this._dialogInput,!1),d.settings={},t.data(this._dialogInput[0],"datepicker",d)),o(d.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=a?a.length?a:[a.pageX,a.pageY]:null,this._pos||(l=document.documentElement.clientWidth,h=document.documentElement.clientHeight,c=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+c,h/2-150+u]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),l===n&&(l=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,i,s){var n,a,r,l,h=this._getInst(e);return 2===arguments.length&&"string"==typeof i?"defaults"===i?t.extend({},t.datepicker._defaults):h?"all"===i?t.extend({},h.settings):this._get(h,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),h&&(this._curInst===h&&this._hideDatepicker(),a=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(h,"min"),l=this._getMinMaxDate(h,"max"),o(h.settings,n),null!==r&&void 0!==n.dateFormat&&void 0===n.minDate&&(h.settings.minDate=this._formatDate(h,r)),null!==l&&void 0!==n.dateFormat&&void 0===n.maxDate&&(h.settings.maxDate=this._formatDate(h,l)),"disabled"in n&&(n.disabled?this._disableDatepicker(e):this._enableDatepicker(e)),this._attachments(t(e),h),this._autoSize(h),this._setDate(h,a),this._updateAlternate(h),this._updateDatepicker(h)),void 0)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var i,s,n=t.datepicker._getInst(e.target);return t.datepicker._get(n,"constrainInput")?(i=t.datepicker._possibleChars(t.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),e.ctrlKey||e.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(i){if(i=i.target||i,"input"!==i.nodeName.toLowerCase()&&(i=t("input",i.parentNode)[0]),!t.datepicker._isDisabledDatepicker(i)&&t.datepicker._lastInput!==i){var s,n,a,r,l,h,c;s=t.datepicker._getInst(i),t.datepicker._curInst&&t.datepicker._curInst!==s&&(t.datepicker._curInst.dpDiv.stop(!0,!0),s&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),n=t.datepicker._get(s,"beforeShow"),a=n?n.apply(i,[i,s]):{},a!==!1&&(o(s.settings,a),s.lastVal=null,t.datepicker._lastInput=i,t.datepicker._setDateFromField(s),t.datepicker._inDialog&&(i.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(i),t.datepicker._pos[1]+=i.offsetHeight),r=!1,t(i).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),l={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,s.dpDiv.empty(),s.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(s),l=t.datepicker._checkOffset(s,l,r),s.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:l.left+"px",top:l.top+"px"}),s.inline||(h=t.datepicker._get(s,"showAnim"),c=t.datepicker._get(s,"duration"),s.dpDiv.css("z-index",e(t(i))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[h]?s.dpDiv.show(h,t.datepicker._get(s,"showOptions"),c):s.dpDiv[h||"show"](h?c:null),t.datepicker._shouldFocusInput(s)&&s.input.trigger("focus"),t.datepicker._curInst=s))}},_updateDatepicker:function(e){this.maxRows=4,l=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),o=s[1],a=17,r=e.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&n.apply(r.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),o>1&&e.dpDiv.addClass("ui-datepicker-multi-"+o).css("width",a*o+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,l=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),h=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>l&&l>n?Math.abs(i.left+n-l):0),i.top-=Math.min(i.top,i.top+o>h&&h>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(a,"onClose"),o&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,o,a,r,l=0,h=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof h?h:(new Date).getFullYear()%100+parseInt(h,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=e.length>n+1&&e.charAt(n+1)===t;return i&&n++,i},w=function(t){var e=y(t),s="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n="y"===t?s:1,o=RegExp("^\\d{"+n+","+s+"}"),a=i.substring(l).match(o);if(!a)throw"Missing number at position "+l;return l+=a[0].length,parseInt(a[0],10)},k=function(e,s,n){var o=-1,a=t.map(y(e)?n:s,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(a,function(t,e){var s=e[1];return i.substr(l,s.length).toLowerCase()===s.toLowerCase()?(o=e[0],l+=s.length,!1):void 0}),-1!==o)return o+1;throw"Unknown name at position "+l},x=function(){if(i.charAt(l)!==e.charAt(n))throw"Unexpected literal at position "+l;l++};for(n=0;e.length>n;n++)if(b)"'"!==e.charAt(n)||y("'")?x():b=!1;else switch(e.charAt(n)){case"d":_=w("d");break;case"D":k("D",u,d);break;case"o":v=w("o");break;case"m":m=w("m");break;case"M":m=k("M",p,f);break;case"y":g=w("y");break;case"@":r=new Date(w("@")),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"!":r=new Date((w("!")-this._ticksTo1970)/1e4),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"'":y("'")?x():b=!0;break;default:x()}if(i.length>l&&(a=i.substr(l),!/^\s+/.test(a)))throw"Extra/unparsed characters found in date: "+a;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c>=g?0:-100)),v>-1)for(m=1,_=v;;){if(o=this._getDaysInMonth(g,m-1),o>=_)break;m++,_-=o}if(r=this._daylightSavingAdjust(new Date(g,m-1,_)),r.getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,l=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},h=function(t,e,i){var s=""+e;if(l(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return l(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||l("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=h("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=h("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=h("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=l("y")?e.getFullYear():(10>e.getFullYear()%100?"0":"")+e.getFullYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":l("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,e){return void 0!==t.settings[e]?t.settings[e]:this._defaults[e]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),l=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,h=l.exec(i);h;){switch(h[2]||"d"){case"d":case"D":r+=parseInt(h[1],10);break;case"w":case"W":r+=7*parseInt(h[1],10);break;case"m":case"M":a+=parseInt(h[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(h[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}h=l.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,l,h,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,T,I,M,P,S,N,H,z,A,O,E,W,F,L,R=new Date,Y=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),B=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),X=this._get(t,"stepMonths"),$=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),J=this._getMinMaxDate(t,"min"),Q=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),Q)for(e=this._daylightSavingAdjust(new Date(Q.getFullYear(),Q.getMonth()-U[0]*U[1]+1,Q.getDate())),e=J&&J>e?J:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-X,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(B?"e":"w")+"'>"+i+"</span></a>":q?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(B?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+X,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(B?"w":"e")+"'>"+n+"</span></a>":q?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(B?"w":"e")+"'>"+n+"</span></a>",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:Y,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,l=t.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(t,"closeText")+"</button>",h=j?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(B?l:"")+(this._isInRange(t,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+a+"</button>":"")+(B?"":l)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,C=0;U[1]>C;C++){if(D=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),T=" ui-corner-all",I="",$){if(I+="<div class='ui-datepicker-group",U[1]>1)switch(C){case 0:I+=" ui-datepicker-group-first",T=" ui-corner-"+(B?"right":"left");break;case U[1]-1:I+=" ui-datepicker-group-last",T=" ui-corner-"+(B?"left":"right");break;default:I+=" ui-datepicker-group-middle",T=""}I+="'>"}for(I+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+T+"'>"+(/all|left/.test(T)&&0===k?B?o:s:"")+(/all|right/.test(T)&&0===k?B?s:o:"")+this._generateMonthYearHeader(t,Z,te,J,Q,k>0||C>0,f,g)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",M=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",w=0;7>w;w++)P=(w+c)%7,M+="<th scope='col'"+((w+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[P]+"'>"+p[P]+"</span></th>";for(I+=M+"</tr></thead><tbody>",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),N=(this._getFirstDayOfMonth(te,Z)-c+7)%7,H=Math.ceil((N+S)/7),z=$?this.maxRows>H?this.maxRows:H:H,this.maxRows=z,A=this._daylightSavingAdjust(new Date(te,Z,1-N)),O=0;z>O;O++){for(I+="<tr>",E=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(A)+"</td>":"",w=0;7>w;w++)W=m?m.apply(t.input?t.input[0]:null,[A]):[!0,""],F=A.getMonth()!==Z,L=F&&!v||!W[0]||J&&J>A||Q&&A>Q,E+="<td class='"+((w+c+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(A.getTime()===D.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===A.getTime()&&b.getTime()===D.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!_?"":" "+W[1]+(A.getTime()===G.getTime()?" "+this._currentClass:"")+(A.getTime()===Y.getTime()?" ui-datepicker-today":""))+"'"+(F&&!_||!W[2]?"":" title='"+W[2].replace(/'/g,"&#39;")+"'")+(L?"":" data-handler='selectDay' data-event='click' data-month='"+A.getMonth()+"' data-year='"+A.getFullYear()+"'")+">"+(F&&!_?"&#xa0;":L?"<span class='ui-state-default'>"+A.getDate()+"</span>":"<a class='ui-state-default"+(A.getTime()===Y.getTime()?" ui-state-highlight":"")+(A.getTime()===G.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+"' href='#'>"+A.getDate()+"</a>")+"</td>",A.setDate(A.getDate()+1),A=this._daylightSavingAdjust(A);I+=E+"</tr>"}Z++,Z>11&&(Z=0,te++),I+="</tbody></table>"+($?"</div>"+(U[0]>0&&C===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=I}y+=x}return y+=h,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var l,h,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(o||!m)y+="<span class='ui-datepicker-month'>"+a[e]+"</span>";else{for(l=s&&s.getFullYear()===i,h=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!l||c>=s.getMonth())&&(!h||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+r[c]+"</option>");y+="</select>"}if(v||(b+=y+(!o&&m&&_?"":"&#xa0;")),!t.yearshtml)if(t.yearshtml="",o||!_)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";g>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":"&#xa0;")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,l=this._get(t,"yearRange");return l&&(i=l.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new i,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1",t.datepicker,t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var h=!1;t(document).on("mouseup",function(){h=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!h){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),h=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,h=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.widget("ui.slider",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle"),o="<span tabindex='0'></span>",a=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)a.push(o);this.handles=n.add(t(a.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),("min"===e.range||"max"===e.range)&&this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,l,h,c=this,u=this.options;return u.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-c.values(e));(n>i||n===i&&(e===c._lastChangedValue||c.values(e)===u.min))&&(n=i,o=t(this),a=e)}),r=this._start(e,a),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=a,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),l=o.offset(),h=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=h?{left:0,top:0}:{left:e.pageX-l.left-o.width()/2,top:e.pageY-l.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_uiHash:function(t,e,i){var s={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==e?e:this.values(t),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var s,n,o=this.value(),a=this.values();this._hasMultipleValues()&&(n=this.values(e?0:1),o=this.values(e),2===this.options.values.length&&this.options.range===!0&&(i=0===e?Math.min(n,i):Math.max(n,i)),a[e]=i),i!==o&&(s=this._trigger("slide",t,this._uiHash(e,i,a)),s!==!1&&(this._hasMultipleValues()?this.values(e,i):this.value(i)))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),void 0;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this._hasMultipleValues()?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;s.length>o;o+=1)s[o]=this._trimAlignValue(n[o]),this._change(null,o);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),this._super(e,i),e){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(i),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=n-1;s>=0;s--)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step,s=Math.round((t-e)/i)*i;t=s+e,t>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,l=this,h=this._animateOff?!1:r.animate,c={};this._hasMultipleValues()?this.handles.each(function(s){i=100*((l.values(s)-l._valueMin())/(l._valueMax()-l._valueMin())),c["horizontal"===l.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[h?"animate":"css"](c,r.animate),l.options.range===!0&&("horizontal"===l.orientation?(0===s&&l.range.stop(1,1)[h?"animate":"css"]({left:i+"%"},r.animate),1===s&&l.range[h?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&l.range.stop(1,1)[h?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&l.range[h?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?100*((s-n)/(o-n)):0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[h?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({width:100-i+"%"},r.animate),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({height:100-i+"%"},r.animate))},_handleEvents:{keydown:function(e){var i,s,n,o,a=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),i=this._start(e,a),i===!1))return}switch(o=this.options.step,s=n=this._hasMultipleValues()?this.values(a):this.value(),e.keyCode){case t.ui.keyCode.HOME:n=this._valueMin();break;case t.ui.keyCode.END:n=this._valueMax();break;case t.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-o)}this._slide(e,a,n)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}})});/*!
* jQuery UI Touch Punch 0.2.3
*
* Copyright 2011�2014, Dave Furfero
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* Depends:
* jquery.ui.widget.js
* jquery.ui.mouse.js
*/!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);$.ajaxPrefilter(function(options,originalOptions,jqXHR){try{var qs='';var urlComparable=options.url.toString().substring(0,(options.url.toString().indexOf('?')>1)?options.url.toString().indexOf('?'):options.url.toString().lenght);if(JSON.stringify(window.aa.salesJourneyApp.constants.api).indexOf(urlComparable)>1){var clientSessionKey=sessionStorage.getItem('clientSessionKey');if(!clientSessionKey){clientSessionKey="396e0c46-09e4-4b19-97db-bd423774a4b3";}
(options.url.indexOf('?')==-1)?qs='?':qs='&'
options.url=options.url+qs+'ClientIdentifier='+clientSessionKey+'&TabIdentifier='+window.name.slice(0,100);}}catch(ex){}});window.aa||(window.aa={});window.aa.salesJourneyApp||(window.aa.salesJourneyApp={application:{},config:{viewRegistry:['PostcodePicker','AppHeader','ProgressBar','OneVrnModal','MultipleVrnModal','OfferModal','NotFoundVrnModal','UnknownDimensionsVrn','NotEligibleVrn','VrnDetails','ErrorModal','HelpMeChooseQuestion','OneVrnLookup','MultipleVrnLookup','PricingSummaryPromoMessage','OptionsPromoMessage','EligibilityPromoBanner','PaymentOptionsPromoMessage','PaymentOptionPrice','StartAgainModal','DirectDebitPayment','AdditionalVrn','VrnSearchCoverDetails','SmartBreakdownOneVrnModal','SmartBreakdownVehicleListItem'],partsAndGarageProductCode:'',basicCoverProductCode:'PRD_UK_0020',redirectionUrl:''},constants:{api:{VerifyClientSession:'/cms/ajax/api/SalesJourney/VerifyClientSession',HtmlTemplateHandlerUtility:'/cms/ajax/api/SalesJourney/GetHtmlTemplate',GetJourneyHeader:'/cms/ajax/api/SalesJourney/GetHeader',GetStepViewModel:'/cms/ajax/api/SalesJourney/GetStepViewModel',GetCurrentStepViewModel:'/cms/ajax/api/SalesJourney/GetCurrentStep',GetNextStepViewModel:'/cms/ajax/api/SalesJourney/GetNextStep',GetPreviousStepViewModel:'/cms/ajax/api/SalesJourney/GetPreviousStep',GetTaggingDataLayer:'/cms/ajax/api/SalesJourney/GetTaggingDataLayer',SaveCoverTypes:'/cms/ajax/api/SalesJourney/SaveCoverType',GetEligibleOffer:'/cms/ajax/api/SalesJourney/GetEligibleOffer',SaveOfferTypes:'/cms/ajax/api/SalesJourney/SaveOfferTypes',SaveCoverOptions:'/cms/ajax/api/SalesJourney/SaveCoverOptions',SaveCoverDetails:'/cms/ajax/api/SalesJourney/SaveCoverageDetails',SaveContactDetails:'/cms/ajax/api/SalesJourney/SaveContactDetails',SavePersonalDetails:'/cms/ajax/api/SalesJourney/SavePersonalDetails',SaveAdditionalMemberDetails:'/cms/ajax/api/SalesJourney/SaveAdditionalMemberDetails',SaveAdditionalDetails:'/cms/ajax/api/SalesJourney/SaveAdditionalDetails',SavePaymentFrequency:'/cms/ajax/api/SalesJourney/SavePaymentFrequency',SavePaymentOptions:'/cms/ajax/api/SalesJourney/SavePaymentOptions',SaveDirectDebitDetails:'/cms/ajax/api/SalesJourney/SaveDirectDebitDetails',SaveDirectDebitWithSignatureDetails:'/cms/ajax/api/SalesJourney/SaveDirectDebitWithSignatureDetails',SaveProceedPayment:'/cms/ajax/api/SalesJourney/SaveProceedPayment',SaveProceedWithSignaturePayment:'/cms/ajax/api/SalesJourney/SaveProceedPaymentWithSignature',SaveSurveyQuestion:'/cms/ajax/api/SalesJourney/SaveSurveyQuestion',SaveVehiclesList:'/cms/ajax/api/SalesJourney/SaveVehiclesList',SaveNeedsAssessment:'/cms/ajax/api/SalesJourney/SaveNeedsAssessment',SavePromotionalQuestion:'/cms/ajax/api/SalesJourney/SavePromotionalQuestion',SaveProductRecommendation:'/cms/ajax/api/SalesJourney/SaveProductRecommendation',FindVehicleDetails:'/cms/ajax/api/SalesJourney/FindVehicle',GetIndicativePrice:'/cms/ajax/api/SalesJourney/GetIndicativePrice',GetAllMakesAndModels:'/cms/ajax/api/SalesJourney/GetAllMakesAndModels',GetAddress:'/cms/ajax/api/SalesJourney/GetAddress',GetVrnBlockDisplayState:'/cms/ajax/api/SalesJourney/GetVrnLightboxDisplayState',StartAgain:'/cms/ajax/api/SalesJourney/StartAgain',CloseSession:'/cms/ajax/api/SalesJourney/CloseSession',GetTermAndCondition:'/cms/ajax/api/SalesJourney/GetTermAndCondition',SetAgentLocation:'/cms/ajax/api/SalesJourney/SetAgentLocation',SetCancelSale:'/cms/ajax/api/SalesJourney/SetCancelSale',saveMarketingPreferences:'/cms/ajax/api/SalesJourney/SaveMarketingPreferences',SaveSmartCoverOptions:'/cms/ajax/api/SalesJourney/SaveSmartCoverOptions',CheckCompatibility:'/cms/ajax/api/SalesJourney/CheckCompatibility',GetPatrolDetails:'/cms/ajax/api/SalesJourney/GetPatrolDetails',GetVehicleModelDiP:'/cms/ajax/api/SalesJourney/GetDIPModel',GetDipVehicleDetails:'/cms/ajax/api/SalesJourney/GetDipVehicleDetails',SavePaymentStatus:'/cms/ajax/api/SalesJourney/SavePaymentStatus',PollForMembershipNumber:'/cms/ajax/api/SalesJourney/PollForMembership'},regex:{alphanumeric:new RegExp(/^[a-zA-Z0-9\s]+$/),numeric:new RegExp(/^[0-9]*$/),numericWithDashes:new RegExp(/^[0-9-]*$/),numericWithCommas:new RegExp(/^[0-9,]*$/),days:new RegExp(/^([1-9]|[12][0-9]|3[01])$/),months:new RegExp(/^(1[0-2]|[1-9])$/),dobyear:new RegExp(/^\d{4}$/),years:new RegExp(/(19|20)\d\d$/),postCode:new RegExp(/^[A-Z]{1,2}[0-9R][0-9A-Z]?[0-9][ABD-HJLNP-UW-Z]{2}|[A-Z]{1,2}[0-9R][0-9A-Z]?[0-9][ABD-HJLNP-UW-Z]{2}|[a-z]{1,2}[0-9r][0-9a-z]?[0-9][abd-hjlnp-uw-z]{2}|[a-z]{1,2}[0-9r][0-9a-z]?[0-9][abd-hjlnp-uw-z]{2}|[a-z]{1,2}[0-9r][0-9a-z]?[0-9][abd-hjlnp-uw-z]{2}|[aA-zZ]{1,2}[0-9rR][0-9aA-zZ]?[0-9][aAbBdD-hHjJlLnNpP-uUwW-zZ]{2}$|[aA-zZ]{1,2}[0-9rR][0-9aA-zZ]? [0-9][aAbBdD-hHjJlLnNpP-uUwW-zZ]/),registrationNumber:new RegExp(/^(([A-Za-z]{1,2}[ ]?[0-9]{1,4})|([A-Za-z]{3}[ ]?[0-9]{1,3})|([0-9]{1,3}[ ]?[A-Za-z]{3})|([0-9]{1,4}[ ]?[A-Za-z]{1,2})|([A-Za-z]{3}[ ]?[0-9]{1,3}[ ]?[A-Za-z])|([A-Za-z][ ]?[0-9]{1,3}[ ]?[A-Za-z]{3})|([A-Za-z]{2}[ ]?[0-9]{2}[ ]?[A-Za-z]{3})|([A-Za-z]{3}[ ]?[0-9]{4}))$/),telephoneNumber:new RegExp(/^(?!\s)[0-9()]+$/),telephoneNumberRegister:new RegExp(/^(?!\s)[0-9+]+$/),postcodeRegister:new RegExp(/^(?!\s)[0-9a-zA-Z0-9]*$/)}},cache:(new function(){this.$main=window.aa.helpers.cache.cachedElements.$main,this.$blocks=this.$main.find('#blocks');this.$loader=this.$main.find('#loader');this.$modalScreen=this.$main.find('#modal-app-screen');this.$modalContentPlaceholder=this.$modalScreen.find('#modal-app-placeholder');this.$accordionItems=this.$main.find('div.accordion script[type="text/mustache"]');this.$accordionPlaceholder=this.$accordionItems.first().parentsUntil(this.$main,'div.row');this.scrollPosition=0;this.currentStep=0;this.activeStep=0;this.allowNextStepNavigation=false;this.yearlyByCardPaymentOption=false;this.saveBlockInProgress=false;this.savingCompleted=false;this.currentStepLoaded=false;this.partAndGarageIsSet=false;this.formsData=[];this.activeVrnFields=[];this.serviceError=false;this.hidePricingLoader=false;this.serviceRequest={};this.flag=false;this.getResponseFromPrice=false;this.PriceingService=undefined;}()),cachedViewModels:[],loadedScripts:[],modules:{},models:{},views:{},helpers:{}});aa.salesJourneyApp.Application=function(){var _self=window.aa.salesJourneyApp,$main=_self.cache.$main,$header=$main.find('#sales-journey-header'),$loader=_self.cache.$loader,helpers,retrieveMarkup=false;boot.config.salesJourneyApp='/Assets/scripts/roads/modules/';boot.config.salesJourneyBundle='/Assets/scripts/roads-modules/';function loadModuleScripts(callback){var total=$main.find('[data-scripts-loaded="false"]').length,count=0;function tryExecuteCallback(){count+=1;if(count===total){if(typeof callback==='function'){callback();}}}
$main.find('[data-scripts-loaded="false"]').each(function(){var allModuleBundleScriptsMap=JSON.parse($('#moduleScriptPath').val());var $module=$(this),scriptName=$module.data('scripts'),script=(JSON.stringify(allModuleBundleScriptsMap).length>2)?allModuleBundleScriptsMap[scriptName]:scriptName+".js"+getCacheBusterStringForModules();$module.attr('data-scripts-loaded','true');if($.inArray(scriptName,_self.loadedScripts)===-1){_self.loadedScripts.push(scriptName);var bootLoaderConfiguration=(JSON.stringify(allModuleBundleScriptsMap).length>2)?'salesJourneyBundle':'salesJourneyApp';boot.loadScript(script,bootLoaderConfiguration,function(){tryExecuteCallback();});}else{tryExecuteCallback();}});};function getCacheBusterStringForModules(){try{getCacheBusterStringForModules.foundStr=getCacheBusterStringForModules.foundStr==undefined?null:getCacheBusterStringForModules.foundStr
if(getCacheBusterStringForModules.foundStr!=null)return getCacheBusterStringForModules.foundStr;var scriptSrc="";var cacheBusterStr="";var pageScripts=document.getElementsByTagName("script")
for(var p=0;p<pageScripts.length;p++){if(pageScripts[p].src.indexOf("roads-bundle")!=-1){scriptSrc=pageScripts[p].src
break;}}
if(scriptSrc!=""&&scriptSrc.indexOf("?")!=-1){cacheBusterStr=scriptSrc.split("?")[1]
getCacheBusterStringForModules.foundStr="?"+cacheBusterStr
return getCacheBusterStringForModules.foundStr}else{getCacheBusterStringForModules.foundStr="";return getCacheBusterStringForModules.foundStr}}catch(ex){return "";}}
function progressLoading(){$main.addClass('loading');$loader.stop().fadeIn(500);if($('#businessCoverLine')){if(window.aa.salesJourneyApp.cache.activeStep==0){$("#businessCoverLine").show();}else{$("#businessCoverLine").hide();}}}
function setCheckedStatePayment(){var pay=_self.cache.$blocks.find('.payment-options');if(pay){var $fieldGroup=$(pay);$fieldGroup.find('input[type="radio"]').each(function(){var $closestRadioField=$(this).closest('.radio-field').find('label');if($closestRadioField){$closestRadioField.removeClass('checked');}
if($(this).is(':checked')){if($closestRadioField){$closestRadioField.addClass('checked');}}});}}
function progressLoaded(){window.aa.helpers.cache.cachedElements.$html.add(window.aa.helpers.cache.cachedElements.$body).animate({scrollTop:window.aa.helpers.cache.cachedElements.$body.offset().top},100,function(){$loader.stop().fadeOut(500);$main.removeClass('loading');});}
function initBlocksEvents(){_self.cache.$main.find('.blocks-visible [data-namespace]').add(_self.cache.$main.find('.progress-bar')).each(function(){var namespaceId=$(this).data('namespace'),modules=window.aa.salesJourneyApp.modules[namespaceId];if(window.aa.salesJourneyApp.helpers.isDefined(modules)){if(window.aa.salesJourneyApp.helpers.isDefined(modules.init)){modules.init();}}});stylishForms.update();};function setVisibleBlocks($blocks){$blocks.removeClass('blocks-visible');$main.find('[data-current-step="'+$main.find('#app-progress-bar .step').filter('.active').data('id')+'"]').addClass('blocks-visible');window.aa.salesJourneyApp.helpers.hideShowBlocks();if(!$('.pricing-summary.bottom-pricing-summary.form-module .price').find('span.discount-txt').length&&window.aa.helpers.cache.cachedElements.$window.width()>window.aa.helpers.cache.constants.MOBILE_BREAKPOINT){$('.pricing-summary.bottom-pricing-summary.form-module .form-section').find('.form-field').css({"display":"inline-block","margin-left":"24px"});}}
function getCurrentStepBlocks(endpointId,callback){var currentStepGuid=_self.models.StepGuids[_self.cache.activeStep];if(currentStepGuid){retrieveMarkup=true;}
function currentStepBlocks(response){if(response.CurrentStep.HideBreakdownContactDetails==true){$('.dispalyOnlyForSetSteps').hide();}
else{$('.dispalyOnlyForSetSteps').show();}
if(response.CurrentStep.HideCallCentreContactDetails==true){$('.ContactCentereVirtual').hide();}
else{$('.ContactCentereVirtual').show();}
var $templateContainer=window.aa.salesJourneyApp.cache.$blocks;if(helpers.isDefined(response.CurrentStep)){$templateContainer.append('<div class="sales-journey-blocks cf" />');_self.config.redirectionUrl=response.Error.RedirectionUrl;for(var i=0;i<response.CurrentStep.Blocks.length;i+=1){$templateContainer.children('.sales-journey-blocks').eq(_self.cache.activeStep).append(Mustache.render(response.CurrentStep.ClientSideComponent[response.CurrentStep.Blocks[i].ClientSideComponentName],response.CurrentStep.Blocks[i])).attr('data-current-step',response.CurrentStep.Id).addClass(response.CurrentStep.Name.toLowerCase().replace(/\s+/g,'-'));}
$('.sales-journey-blocks.cf.details').attr('data-di-form-track','').attr('data-di-form-id',"Cathie: Details-Step 3");var pgcCode=_self.cache.$blocks.find('.vrn-capture-box');var lowerSummaryOptions=$('.bottom-pricing-summary .cover-options').clone();if((_self.cache.activeStep==0)&&(pgcCode.length>0)){console.log("work done");_self.cache.$blocks.find('.detailed-pricing-summary .cover-type').append(lowerSummaryOptions[0]);}
setVisibleBlocks(_self.cache.$main.find('.sales-journey-blocks'));stylishForms.update();initValidation();$('.equal-height').each(window.aa.helpers.panelHeight);loadModuleScripts();progressLoaded();}}
function delay(n){var tNow=Date.now();var dateDiff=0;do{dateDiff=Date.now()-tNow;}while(dateDiff<n);}
let poll=function(){var count=1;var pollingResponse="";var pollingFrequency=window.aa.salesJourneyApp.models.AppHeader.pollingFrequency;var pollingInterval=window.aa.salesJourneyApp.models.AppHeader.pollingInterval;var pollingCount=pollingInterval/pollingFrequency;while(count<=pollingCount){$.ajax({method:'POST',url:aa.salesJourneyApp.constants.api.PollForMembershipNumber,async:false}).done(function(response){pollingResponse=response;});if((pollingResponse.indexOf('-')<0&&pollingResponse.length<32)||(pollingResponse=="NoPolling")){break;}
delay(pollingFrequency);count=count+1;}}
if(typeof aa.salesJourneyApp.cache.serviceRequest['getCurrentStepBlocks'+endpointId]!=='undefined'){aa.salesJourneyApp.cache.serviceRequest['getCurrentStepBlocks'+endpointId].abort();}
var $finalStep=_self.cache.$main.find('div.journey-steps li.step:last-child');if($finalStep.hasClass('active')&&window.aa.salesJourneyApp.models.AppHeader.isStoreAndForward){poll();}
aa.salesJourneyApp.cache.serviceRequest['getCurrentStepBlocks'+endpointId]=$.ajax({method:'POST',url:aa.salesJourneyApp.constants.api[endpointId]+'?includeMarkup='+retrieveMarkup}).done(function(response){if(_self.helpers.isDefined(response.CurrentStep.Blocks)&&!response.Error.Error){updateBlockModels(response.CurrentStep.Blocks);updateBlockModels(response.CurrentStep.Lightboxes);updateBlockModels(response.CurrentStep.ErrorLightbox);currentStepBlocks(response);_self.helpers.updateTealiumTags();initBlocksEvents();_self.helpers.pushDataToHistory('step',_self.cache.currentStep);if(typeof callback==='function'){callback();}}else{_self.helpers.checkErrorsResponse(response);}}).fail(function(ajaxCall){if(ajaxCall.status===500){window.location.href=aa.salesJourneyApp.config.redirectionUrl;}
if(ajaxCall.statusText!=='abort'){_self.helpers.checkErrorsResponse(ajaxCall);}});}
function saveFormData(){var $form=$(this),$inputs=$form.find('input[type="text"]').add($form.find('input[type="tel"]')).add($form.find('input[type="email"]')),$inputButtons=$form.find('input[type="radio"]').add($form.find('input[type="checkBox"]')),formData={};$inputs.each(function(){var $input=$(this);if($input.val().length){formData[$input.attr('id')]=$input.val();}});$inputButtons.each(function(){var $input=$(this);if($input.is(':checked')){formData[$input.attr('id')]='true';}});if($inputs.val().length||$inputButtons.is(':checked')){_self.cache.formsData.push(formData);}}
function renderCurrentStepBlocks(){var $journeySteps=$main.find('.journey-steps'),$progressBarSteps=$main.find('#app-progress-bar .step'),$stepNavigationDropdown=$main.find('#step-navigation .step'),isDeepLinked=_self.models.DeepLinking.indexOf(true),completedSteps;if(isDeepLinked!==-1){_self.cache.activeStep=isDeepLinked;_self.cache.allowNextStepNavigation=false;$journeySteps.each(function(){$(this).find('.step').removeClass('active').eq(_self.cache.activeStep).addClass('active').prevAll().addClass('completed');});if(_self.cache.activeStep>0){completedSteps=$('#app-progress-bar').find('.completed').length;$('#step-navigation').find('#current-step').text(completedSteps+1);for(var i=0;i<completedSteps;i+=1){$('#blocks').prepend('<div class="sales-journey-blocks cf" />');}}}else{_self.cache.activeStep=0;$header.data('active-step',_self.cache.activeStep);}
function applicationNavigationEvents(){var hasLastStep=$stepNavigationDropdown.find('.step').length;function goToPrevStep($step){var $journeySteps=$main.find('.journey-steps'),$progressBarSteps=$main.find('#app-progress-bar .step'),$registeredVehicles=_self.cache.$blocks.find('.registered-vehicles li'),$journeyBlocks=$('.sales-journey-blocks'),$paymentsBlock=$journeyBlocks.filter('.payment'),$nextStep;var $SBCOptionBlock=$('article.smart-breakdown');var $checkboxes=$SBCOptionBlock.find('.checkbox-field');var $SBCCaptureOption=$checkboxes.find('input[type="checkbox"]');var $IsSbcSelected=$SBCCaptureOption.length>0?$SBCCaptureOption.prop('checked'):false;aa.salesJourneyApp.cache.coverOptionsChanged=true;window.aa.salesJourneyApp.cache.flag=true;function loadNextStep(callback){if($('[id="'+_self.cache.$blocks.find('.cover-type-options').data('default-cover')+'"]').closest('.radio-field').hasClass('highlighted')&&$registeredVehicles.length&&($progressBarSteps.eq(0).is('.completed')&&$progressBarSteps.eq(1).is('.active'))&&!$IsSbcSelected){$.ajax({method:'POST',url:_self.constants.api.FindVehicleDetails+'?vehicleNumber='+$registeredVehicles.first().find('.vrn-label').html()}).done(function(data){if(_self.helpers.isDefined(data.ViewModelData)&&!data.HasError){_self.helpers.saveBlockData('SaveVehiclesList',_self.models.CaptureVrnLightbox.Id,{Vehicles:[data.ViewModelData]},function(){if(typeof callback==='function'){callback();}});}else{_self.helpers.checkErrorsResponse(data);}}).fail(function(ajaxCall){if(ajaxCall.statusText!=='abort'){_self.helpers.checkErrorsResponse(ajaxCall);}});}else{if(typeof callback==='function'){callback();}}}
prevActiveStep=_self.cache.activeStep;if(typeof $step==='undefined'||$step===null){_self.cache.activeStep-=1;}else{_self.cache.activeStep=$step.index();}
var stepToGo=_self.models.StepGuids[_self.cache.activeStep];var urlString=window.location.href.toLowerCase();if(_self.cache.activeStep==0&&window.history.state&&(urlString.indexOf("uk-hmc")>=0||window.location.href.indexOf("uk-fst")>=0||window.location.href.indexOf("uk-fst-temp-dashboard")>=0)){stepToGo=$(window.aa.salesJourneyApp.models.AppHeader.NavigationItems.Cover).last().prop("Id");}
$('#current-step').text(_self.cache.activeStep+1);_self.cache.allowNextStepNavigation=true;$nextStep=$journeyBlocks.eq(_self.cache.activeStep+1).prev();$header.data('active-step',_self.cache.activeStep);$journeySteps.each(function(){$(this).find('.step').removeClass('completed').removeClass('completed-no-pointer-bg').removeClass('active').eq(_self.cache.activeStep).addClass('active').prevAll().addClass('completed');});_self.modules.progressBar.init();_self.cache.formsData=[];$main.find('.blocks-visible .personal-details').add($main.find('.blocks-visible .additional-member-details')).add($main.find('.blocks-visible .contact-details')).each(saveFormData);progressLoading();if($("#confirmation")&&($("#confirmation").prop("checked")==true||$("#confirmation").prop("checked")=="checked")){$("#confirmation").removeAttr("checked");$("#confirmation").parent().find('span').removeClass();}
_self.helpers.updatePromoMessages();$journeyBlocks.eq(_self.cache.activeStep).nextAll().hide();if($paymentsBlock.is('.blocks-visible')){$paymentsBlock.remove();}
$journeyBlocks.eq(_self.cache.activeStep-1).hide(function(){_self.cache.currentStep=_self.cache.activeStep+1;$nextStep.show(function(){loadNextStep(function(){_self.helpers.getStepViewmodel('GetPreviousStepViewModel',stepToGo,function(){_self.helpers.replaceDataToHistory('step',_self.cache.currentStep);progressLoaded();_self.helpers.restoreFormData();setCheckedStatePayment();});});});});setVisibleBlocks(_self.cache.$main.find('.sales-journey-blocks'));aa.salesJourneyApp.helpers.updateAccordion();aa.salesJourneyApp.helpers.getIndicativePrice();var isEvo2Enabled=($('#button-cover-agree').length>0);if(isEvo2Enabled){hideInlineVrnCaptureblock();}
function hideInlineVrnCaptureblock(){var $singleVrnCaptureBlock=_self.cache.$main.find('.div-vrn-capture-inline'),$singleVrnDetailsBlock=$singleVrnCaptureBlock.find('.vrn-details-block'),$optionDescriptionDesktop=$singleVrnCaptureBlock.parent().find('.desktop-description'),$optionDescriptionMobile=$singleVrnCaptureBlock.parent().find('.mobile-description');$singleVrnCaptureBlock.hide();$singleVrnDetailsBlock.hide();$('.vrn-capture-option').parent().parent().show();$('.up-arrow-show-hide').hide();if(window.aa.helpers.cache.cachedElements.$window.width()>window.aa.helpers.cache.constants.MOBILE_BREAKPOINT){$optionDescriptionDesktop.show();}
else{$optionDescriptionMobile.show();}}}
function setStepsProgressState(){var $step=$(this);if($step.filter('active').data('id')===_self.models.StepGuids[isDeepLinked]){$step.addClass('active').removeClass('completed').removeClass('completed-no-pointer-bg');}
_self.modules.progressBar.init();}
$main.off('keypress').on('keypress','.next-step',function(e){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();});$main.off('keydown').on('keydown','.next-step',function(e){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();});$main.off('keyup').on('keyup','.next-step',function(e){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();});$main.off('click').on('click','.next-step',function(e){progressLoading();var $visibleBlocks=_self.cache.$blocks.find('.blocks-visible'),$form=$visibleBlocks.filter('.payment').length?$visibleBlocks.find('[data-save-on-blur]').eq(0):$visibleBlocks.find('[data-save-on-blur]').eq(-2),$formInputs=$form.find('input, select');e.preventDefault();if($(this).closest('.sales-journey-blocks').find('.errors').length){$loader.stop().fadeOut(500);$main.removeClass('loading');}
if(_self.cache.$blocks.find('.sales-journey-blocks').eq(0).is('.blocks-visible:not(.details)')){window.aa.salesJourneyApp.cache.saveBlockInProgress=false;}
if(!window.aa.salesJourneyApp.cache.saveBlockInProgress&&!$visibleBlocks.filter('.payment').length){if(!$(this).closest('.sales-journey-blocks').find('.errors').length&&!$visibleBlocks.find('.terms-not-accepted').length){if($formInputs.length){$formInputs.change();}
window.aa.helpers.cache.cachedElements.$body.addClass('load-step');if(!aa.salesJourneyApp.cache.currentStepLoaded){aa.salesJourneyApp.cache.currentStepLoaded=true;setTimeout(function(){window.aa.salesJourneyApp.application.goToNextStep();},500);}}}});if(isDeepLinked===2||_self.cache.activeStep===hasLastStep-1){$progressBarSteps.add($stepNavigationDropdown).each(setStepsProgressState);$journeySteps.find('.step').addClass('step-disabled');return;}
$main.on('click','.completed',function(){if($progressBarSteps.last().hasClass('active')){return;}
goToPrevStep($(this));});window.aa.helpers.cache.cachedElements.$window.on('popstate',function(e){var $nextStepButton=$main.find('.full-submit');if(_self.helpers.isDefined(e.currentTarget.history.state)&&window.location.pathname===window.aa.helpers.cache.cachedElements.url){if(_self.cache.activeStep>0||_self.cache.$blocks.find('.cover-type-playback:visible').length===1){_self.helpers.pushDataToHistory('step',_self.cache.activeStep);}
else if(_self.helpers.isDefined(window.history.state.title)&&window.history.state.title.indexOf("question")>=0){_self.helpers.pushDataToHistory('question',window.aa.salesJourneyApp.cache.currentStep);}
if(_self.cache.$main.find('.blocks-visible .start-again').length){_self.helpers.pushDataToHistory('step',_self.cache.currentStep);setTimeout(function(){if(_self.cache.$main.find('.blocks-visible .start-again').length){_self.helpers.startAgainModal();}},1000);return;}
if(_self.cache.activeStep===1&&_self.cache.$main.find('.basic-cover').length&&_self.cache.$main.find('.journey-steps').find('.step').filter('.disabled').length){return;}
if(_self.helpers.isDefined(window.aa.salesJourneyApp.cache.currentStep)){if(_self.cache.activeStep>0&&isDeepLinked!==2){if(_self.cache.currentStep>=e.currentTarget.history.state.data&&!_self.cache.$main.find('#app-progress-bar .step').filter(':last').is('.active')){if(window.aa.salesJourneyApp.cache.currentStep>0)
window.aa.salesJourneyApp.cache.currentStep--;goToPrevStep();return;}}}
if(!_self.cache.$main.find('.cover-options').length&&_self.helpers.isDefined(e.currentTarget.history.state)){if(_self.helpers.isDefined(window.history.state.title)&&window.history.state.title.indexOf("step")>=0){_self.helpers.initpopStateEvents(e.currentTarget.history.state.data);}
else if(_self.helpers.isDefined(window.history.state.title)&&window.history.state.title.indexOf("question")>=0){if(!_self.cache.$blocks.find('.vrn-lookup').length&&!_self.cache.$blocks.find('.promotional-question').is('.current-question')&&!_self.cache.$blocks.find('.product-recommendation').is('.current-question')){if(e.currentTarget.history.state.data>=2){window.aa.salesJourneyApp.modules.needsAssessment.prevQuestion();}}}}}});}
getCurrentStepBlocks('GetCurrentStepViewModel');applicationNavigationEvents();};function updateBlockModels(models){for(var model in models){_self.models[models[model].ClientSideComponentName.replace(/\s/g,'')]=models[model];}};function getModels(done){_self.models.journeyId=window.salesJourneyAppData.journeyId;if(typeof aa.salesJourneyApp.cache.serviceRequest['GetJourneyHeader']!=='undefined'){aa.salesJourneyApp.cache.serviceRequest['GetJourneyHeader'].abort();}
var headerJSON=$('#getHeader');if(headerJSON.length&&headerJSON.html().trim().length){_self.models.AppHeader=JSON.parse(headerJSON.html().trim());if(typeof done==='function'){done();}}else{aa.salesJourneyApp.cache.serviceRequest['GetJourneyHeader']=$.ajax({url:_self.constants.api.GetJourneyHeader+'?journeyId='+_self.models.journeyId}).done(function(response){_self.models.AppHeader=response;if(typeof done==='function'){done();}});}};function initValidation(){var pgcCode=$main.find('.vrn-capture').data('product-code');_self.config.partsAndGarageProductCode=pgcCode?pgcCode:'PRD_UK_0018';if(_self.helpers.isDefined(FormValidation)){FormValidation.Manifest.ExtensionPath='/Assets/scripts/roads/';FormValidation.Manifest.Externals.register('CustomValidationRules','custom-validation-rules.js');formValidation.init();}};function asyncStart(){renderCurrentStepBlocks();};function startup(){window.aa.salesJourneyApp.helpers
window.aa.salesJourneyApp.helpers.registerViews(_self.config.viewRegistry,function(){getModels(function(){_self.models.StepGuids=[];_self.models.AppHeader.NavItems=[];_self.models.DeepLinking=[];for(var stepGuid in _self.models.AppHeader.NavigationItems){if(_self.models.AppHeader.NavigationItems.hasOwnProperty(stepGuid)&&stepGuid!==''){_self.models.StepGuids.push(_self.models.AppHeader.NavigationItems[stepGuid][0].Id);_self.models.AppHeader.NavItems.push({Name:_self.models.AppHeader.NavigationItems[stepGuid][0].Name,Id:_self.models.AppHeader.NavigationItems[stepGuid][0].Id,IsStepHidden:_self.models.AppHeader.NavigationItems[stepGuid][0].IsStepHidden});_self.models.DeepLinking.push(_self.models.AppHeader.NavigationItems[stepGuid][0].IsDeepLinked);}}
loadModuleScripts(asyncStart);});});};function startupFirst(){window.aa.salesJourneyApp.helpers
window.aa.salesJourneyApp.helpers.registerViews(_self.config.viewRegistry,function(){getModels(function(){_self.models.StepGuids=[];_self.models.AppHeader.NavItems=[];_self.models.DeepLinking=[];stepToGo=$(window.aa.salesJourneyApp.models.AppHeader.NavigationItems.Cover).first().prop("Id");if(_self.models.AppHeader.NavigationItems.hasOwnProperty(stepToGo)&&stepToGo!==''){_self.models.StepGuids.push(_self.models.AppHeader.NavigationItems[stepToGo][0].Id);_self.models.AppHeader.NavItems.push({Name:_self.models.AppHeader.NavigationItems[stepToGo][0].Name,Id:_self.models.AppHeader.NavigationItems[stepToGo][0].Id,IsStepHidden:_self.models.AppHeader.NavigationItems[stepToGo][0].IsStepHidden});_self.models.DeepLinking.push(_self.models.AppHeader.NavigationItems[stepToGo][0].IsDeepLinked);}
loadModuleScripts(asyncStart);});});};function setInitialIndicativePrice(callback){if(typeof aa.salesJourneyApp.cache.serviceRequest['GetIndicativePrice']!=='undefined'){aa.salesJourneyApp.cache.serviceRequest['GetIndicativePrice'].abort();}
aa.salesJourneyApp.cache.getResponseFromPrice=false;$('.full-submit').addClass('disabled processing').attr('disabled',true);aa.salesJourneyApp.cache.serviceRequest['GetIndicativePrice']=$.ajax({method:'POST',timeout:15000,url:window.aa.salesJourneyApp.constants.api.GetIndicativePrice}).done(function(){if(typeof callback==='function'){callback();}
aa.salesJourneyApp.cache.getResponseFromPrice=true;$('.full-submit').removeClass('disabled processing').attr('disabled',false);}).error(function(jqXHR,textStatus,errorThrown){if(textStatus==="timeout"){aa.salesJourneyApp.cache.serviceError=false;aa.salesJourneyApp.helpers.serviceErrorModal();}});};this.init=function(){var ClientIPAddress;helpers=window.aa.salesJourneyApp.helpers;$.ajax({method:'POST',url:_self.constants.api.VerifyClientSession+'?JourneyID='+window.salesJourneyAppData.journeyId}).done(function(response){if(response!=sessionStorage.getItem('clientSessionKey')){sessionStorage.setItem('clientSessionKey',response);}
startup();initValidation();helpers.saveAllBlockData();});};this.goToNextStep=function(){progressLoading();var $journeySteps=$main.find('.journey-steps'),$progressBarSteps=$main.find('#app-progress-bar .step'),$registeredVehicles=_self.cache.$blocks.find('.registered-vehicles li'),$journeyBlocks=$('.sales-journey-blocks'),$nextStep;function loadNextStep(callback){if(_self.models.CaptureVrnLightbox.Id&&typeof callback==='function'){callback();return;}
if($('[id="'+_self.cache.$blocks.find('.cover-type-options').data('default-cover')+'"]').closest('.radio-field').hasClass('highlighted')&&$registeredVehicles.length&&($progressBarSteps.eq(0).is('.completed')&&$progressBarSteps.eq(1).is('.active'))){$.ajax({method:'POST',url:_self.constants.api.FindVehicleDetails+'?vehicleNumber='+$registeredVehicles.first().find('.vrn-label').html()}).done(function(data){if(_self.helpers.isDefined(data.ViewModelData)&&!data.HasError){_self.helpers.saveBlockData('SaveVehiclesList',_self.models.CaptureVrnLightbox.Id,{Vehicles:[data.ViewModelData]},function(){if(typeof callback==='function'){callback();}});}else{_self.helpers.checkErrorsResponse(data);}}).fail(function(ajaxCall){if(ajaxCall.statusText!=='abort'){_self.helpers.checkErrorsResponse(ajaxCall);}});}else{if(typeof callback==='function'){callback();}}}
_self.cache.allowNextStepNavigation=true;_self.cache.activeStep+=1;$nextStep=$journeyBlocks.eq(_self.cache.activeStep-1).next();$header.data('active-step',_self.cache.activeStep);$journeySteps.each(function(){$(this).find('.step').removeClass('active').removeClass('completed-no-pointer-bg').eq(_self.cache.activeStep).addClass('active').prev().addClass('completed');if($(this).is("#step-navigation")&&$(this).find('.step').eq(_self.cache.activeStep).attr("data-IsStepHidden")){$(this).find('.step').eq(_self.cache.activeStep).prev().addClass('hidden-step-active');}else{if($(this).find('.step').eq(_self.cache.activeStep).attr("data-IsStepHidden")){$(this).find('.step').eq(_self.cache.activeStep).prev().addClass('completed-no-pointer-bg')}}});_self.modules.progressBar.init();_self.cache.formsData=[];$main.find('.blocks-visible .personal-details').add($main.find('.blocks-visible .additional-member-details')).add($main.find('.blocks-visible .contact-details')).each(saveFormData);progressLoading();if(!$nextStep.length&&!$nextStep.data('current-step')){$journeyBlocks.eq(_self.cache.activeStep-1).hide(function(){loadNextStep(function(){window.aa.helpers.cache.cachedElements.$body.removeClass('load-step');_self.cache.currentStep+=1;getCurrentStepBlocks('GetNextStepViewModel',_self.helpers.restoreFormData);});});}else{$journeyBlocks.eq(_self.cache.activeStep-1).hide(function(){$nextStep.show(function(){loadNextStep(function(){_self.helpers.getStepViewmodel('GetNextStepViewModel',null,function(){_self.helpers.replaceDataToHistory('step',_self.cache.currentStep);progressLoaded();initBlocksEvents();_self.helpers.restoreFormData();setCheckedStatePayment();});});});});progressLoading();}
var transitioningToStep=_self.cache.activeStep+1;var totalHdnSteps=0;$('#step-navigation').find('.step').each(function(itr,item){if((itr<=transitioningToStep)&&$(item).attr('data-IsStepHidden')){totalHdnSteps=totalHdnSteps+1;}});$('#current-step').text(((_self.cache.activeStep+1)-totalHdnSteps));setVisibleBlocks($journeyBlocks);aa.salesJourneyApp.helpers.updateAccordion();aa.salesJourneyApp.application.loadModuleScripts();};this.loadModuleScripts=function(callback){loadModuleScripts(callback);};this.initBlockEvents=function(){initBlocksEvents();};this.initValidation=function(){initValidation();};if(window.history&&window.history.pushState){$(window).on('popstate',function(e){if(window.location.href.lastIndexOf('#')>0){return false;}
if(aa.salesJourneyApp.helpers.isDefined($("#modal-app-placeholder"))&&aa.salesJourneyApp.helpers.isDefined($(".modal-close"))&&aa.salesJourneyApp.helpers.isDefined($("#modal-app-placeholder").html())&&$("#modal-app-placeholder").html().length>0){$(".modal-close").trigger("click");window.aa.salesJourneyApp.helpers.pushDataToHistory('step',window.aa.salesJourneyApp.cache.currentStep);e.preventDefault();e.stopImmediatePropagation();return;}
var urlString=window.location.href;if(!window.aa.salesJourneyApp.helpers.isDefined(window.history.state)){if(window.aa.salesJourneyApp.cache.activeStep>0&&window.aa.salesJourneyApp.cache.currentStep>0){window.aa.salesJourneyApp.helpers.pushDataToHistory('step',window.aa.salesJourneyApp.cache.currentStep);return;}
if(urlString.indexOf("/breakdown-cover/uk")>0){if((document.referrer.indexOf(".do")>0)&&(window.location.href.indexOf("breakdown-cover/uk")>=0))
{history.state=null;this.window.history.back();}
else if(window.aa.salesJourneyApp.helpers.isDefined(history)&&window.aa.salesJourneyApp.helpers.isDefined(history.state)&&window.aa.salesJourneyApp.helpers.isDefined(history.state.step)&&history.state.step=="step-0"){this.window.history.back();}
else if(window.aa.salesJourneyApp.helpers.isDefined(history)&&(window.aa.salesJourneyApp.helpers.isDefined(history.state)==false||window.aa.salesJourneyApp.helpers.isDefined(history.state.step)==false||history.state.step=="step-0")){history.state=null;this.window.history.back();}}}
else if(window.aa.salesJourneyApp.helpers.isDefined(history)&&window.aa.salesJourneyApp.helpers.isDefined(history.state)&&window.aa.salesJourneyApp.helpers.isDefined(history.state.step)&&history.state.step=="step-0"&&urlString.indexOf("/breakdown-cover/uk")>0&&window.aa.salesJourneyApp.cache.activeStep==0){history.state=null;this.window.history.back();}});}
$(window).on('keyup',function(e){if(_self.helpers.isDefined($("#modal-app-placeholder"))&&_self.helpers.isDefined($(".modal-close"))&&_self.helpers.isDefined($("#modal-app-placeholder").html())&&$("#modal-app-placeholder").html().length==0){if($(e)[0]&&$(e)[0].target){if(_self.helpers.isDefined($(e)[0].target)&&_self.helpers.isDefined($(e)[0].target.id)&&$(e)[0].target.id.length>0){window.aa.salesJourneyApp.cache.scrollPositionKeyId=$(e)[0].target.id;window.aa.salesJourneyApp.cache.scrollPosition=window.aa.helpers.cache.cachedElements.$window.scrollTop();}
else if(_self.helpers.isDefined($(e)[0].target)&&_self.helpers.isDefined($($(e)[0].target).parent())&&_self.helpers.isDefined($($(e)[0].target).parent().parent())&&_self.helpers.isDefined($($(e)[0].target).parent().parent().find('input'))&&$($(e)[0].target).parent().parent().find('input').length>0&&_self.helpers.isDefined($($(e)[0].target).parent().parent().find('input')[0])&&_self.helpers.isDefined($($(e)[0].target).parent().parent().find('input')[0].id)&&$($(e)[0].target).parent().parent().find('input')[0].id.length>0){window.aa.salesJourneyApp.cache.scrollPositionKeyId=$($(e)[0].target).parent().parent().find('input')[0].id;window.aa.salesJourneyApp.cache.scrollPosition=window.aa.helpers.cache.cachedElements.$window.scrollTop();}}}});$(window).on('mouseup',function(e){if(_self.helpers.isDefined($("#modal-app-placeholder"))&&_self.helpers.isDefined($(".modal-close"))&&_self.helpers.isDefined($("#modal-app-placeholder").html())&&$("#modal-app-placeholder").html().length==0){if($(e)[0]&&$(e)[0].target){if(_self.helpers.isDefined($(e)[0].target)&&_self.helpers.isDefined($(e)[0].target.id)&&$(e)[0].target.id.length>0){window.aa.salesJourneyApp.cache.scrollPositionKeyId=$(e)[0].target.id;window.aa.salesJourneyApp.cache.scrollPosition=window.aa.helpers.cache.cachedElements.$window.scrollTop();}
else if($($(e)[0].target).is(":hidden")==false&&$($(e)[0].target).is(":button")==false&&_self.helpers.isDefined($(e)[0].target)&&_self.helpers.isDefined($($(e)[0].target).parent())&&_self.helpers.isDefined($($(e)[0].target).parent().parent())&&_self.helpers.isDefined($($(e)[0].target).parent().parent().find('input'))&&$($(e)[0].target).parent().parent().find('input').length>0&&_self.helpers.isDefined($($(e)[0].target).parent().parent().find('input')[0])&&_self.helpers.isDefined($($(e)[0].target).parent().parent().find('input')[0].id)&&$($(e)[0].target).parent().parent().find('input')[0].id.length>0){window.aa.salesJourneyApp.cache.scrollPositionKeyId=$($(e)[0].target).parent().parent().find('input')[0].id;window.aa.salesJourneyApp.cache.scrollPosition=window.aa.helpers.cache.cachedElements.$window.scrollTop();}}}});};window.aa.salesJourneyApp.application=new window.aa.salesJourneyApp.Application();window.FormValidation.Manifest.CustomValidationRules=function(){var _emailPattern=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;function DateOfBirth($form){var $input=$form.find('.dob-input'),day=parseInt($input.filter('.day-number').val(),10),month=parseInt($input.filter('.month-number').val(),10),year=parseInt($input.filter('.year-number').val()=="0"?"10"+$input.filter('.year-number').val():$input.filter('.year-number').val()=="00"?"1"+$input.filter('.year-number').val():$input.filter('.year-number').val().length==2?$input.filter('.year-number').val()+"0":$input.filter('.year-number').val().length==1?$input.filter('.year-number').val()+"00":$input.filter('.year-number').val(),10),date=new Date(year,month-1,day),currentDate=new Date();this.isFutureDate=function(){return date>currentDate;};this.isValidLeapYear=function(){return date.getFullYear()===year&&date.getMonth()+1===month&&date.getDate()===day;};if((!isNaN(day)&&!isNaN(month)&&!isNaN(year))&&isNaN(this.isFutureDate)){this.fullDateOfBirth=$form.find('input[name="DateOfBirth"]').map(function(){return this.value;}).get().join('/');this.isValid=function(){return this.isValidLeapYear()&&!this.isFutureDate();};}
else{this.isValid=function(){return true;};}
$form.find('.date-of-birth').val(this.fullDateOfBirth);}
function AccountName(){var acNameField=$('.account-holder').val();var acNameRegex=/^[a-zA-Z\x2C\x2D\x2E\x27\x20\x92\xC0-\xD6\xD8-\xF6\xF8-\xFF\u2019]*$/;var key=String.fromCharCode(!event.charCode?event.which:event.charCode);this.isValid=function(){if(acNameRegex.test(acNameField)==false){return false;}else{return true;}}}
function ValidFirstName(){var firstNameField=$('.first-name').val();var acNameRegex=/^[a-zA-Z\x2C\x2D\x2E\x27\x20\x92\xC0-\xD6\xD8-\xF6\xF8-\xFF\u2019]*$/;this.isValid=function(){if(acNameRegex.test(firstNameField)==false){return false;}else{return true;}}}
function ValidPhoneNumber(){var phoneNumberField=$('.telephone-only').val();var phNumRegex=/^(07[\d]{9}|9[\d]{2}|1[\d]{2}|01[\d]{5,9}|02[\d]{5,9}|03[\d]{5,9}|05[\d]{5,9}|08[\d]{5,9}|09[\d]{5,9})$/;this.isValid=function(){if(phNumRegex.test(phoneNumberField)==false){return false;}else{return true;}}}
function ValidLastName(){var lastNameField=$('.last-name').val();var acNameRegex=/^[a-zA-Z\x2C\x2D\x2E\x27\x20\x92\xC0-\xD6\xD8-\xF6\xF8-\xFF\u2019]*$/;this.isValid=function(){if(acNameRegex.test(lastNameField)==false){return false;}else{return true;}}}
function ValidFirstName1(){var firstNameField1=$('.memberFirst1').val();var acNameRegex=/^[a-zA-Z\x2C\x2D\x2E\x27\x20\x92\xC0-\xD6\xD8-\xF6\xF8-\xFF\u2019]*$/;this.isValid=function(){if(acNameRegex.test(firstNameField1)==false){return false;}else{return true;}}}
function ValidFirstName2(){var firstNameField2=$('.memberFirst2').val();var acNameRegex=/^[a-zA-Z\x2C\x2D\x2E\x27\x20\x92\xC0-\xD6\xD8-\xF6\xF8-\xFF\u2019]*$/;this.isValid=function(){if(acNameRegex.test(firstNameField2)==false){return false;}else{return true;}}}
function ValidFirstName3(){var firstNameField3=$('.memberFirst3').val();var acNameRegex=/^[a-zA-Z\x2C\x2D\x2E\x27\x20\x92\xC0-\xD6\xD8-\xF6\xF8-\xFF\u2019]*$/;this.isValid=function(){if(acNameRegex.test(firstNameField3)==false){return false;}else{return true;}}}
function ValidLastName1(){var lastNameField1=$('.memberLast1').val();var acNameRegex=/^[a-zA-Z\x2C\x2D\x2E\x27\x20\x92\xC0-\xD6\xD8-\xF6\xF8-\xFF\u2019]*$/;this.isValid=function(){if(acNameRegex.test(lastNameField1)==false){return false;}else{return true;}}}
function ValidLastName2(){var lastNameField2=$('.memberLast2').val();var acNameRegex=/^[a-zA-Z\x2C\x2D\x2E\x27\x20\x92\xC0-\xD6\xD8-\xF6\xF8-\xFF\u2019]*$/;this.isValid=function(){if(acNameRegex.test(lastNameField2)==false){return false;}else{return true;}}}
function ValidLastName3(){var lastNameField3=$('.memberLast3').val();var acNameRegex=/^[a-zA-Z\x2C\x2D\x2E\x27\x20\x92\xC0-\xD6\xD8-\xF6\xF8-\xFF\u2019]*$/;this.isValid=function(){if(acNameRegex.test(lastNameField3)==false){return false;}else{return true;}}}
function uAFirstName(){var firstNameField=$('.first-name').val();var acNameRegex=/^[a-zA-Z\x2D\x27\x20\x92\xC0-\xD6\xD8-\xF6\xF8-\xFF\u2019]*$/;this.isValid=function(){if(acNameRegex.test(firstNameField)==false){return false;}else{return true;}}}
function uALastName(){var lastNameField=$('.last-name').val();var acNameRegex=/^[a-zA-Z\x2D\x27\x20\x92\xC0-\xD6\xD8-\xF6\xF8-\xFF\u2019]*$/;this.isValid=function(){if(acNameRegex.test(lastNameField)==false){return false;}else{return true;}}}
var createAccountPostcode;$(document).on('change','.postCode',function(e){createAccountPostcode=$(this).val();});function ValidPostcode(){var acNameRegex=/^([a-zA-Z](([0-9][0-9]?)|([a-zA-Z][0-9][0-9]?)|([a-z]?[0-9][a-zA-Z])) ?[0-9][ABD-HJLNP-UW-Zabd-hjlnp-uw-z]{2})$/;this.isValid=function(){if(acNameRegex.test(createAccountPostcode)==false){return false;}else{return true;}}}
function CheckDuplicateMember(CurrentIndexPosition){var noDuplicate=true;var mainMemberFirstName=document.getElementById("First name").value.trim().toLowerCase();var mainMemberLastName=document.getElementById("Last name").value.trim().toLowerCase();var mainMemberDOB=new Date(document.getElementById('Date of birth-year').value.trim(),document.getElementById('Date of birth-month').value.trim()-1,document.getElementById('Date of birth-day').value.trim());var currentMemberDOB=new Date(document.getElementById('Date of birth'+(CurrentIndexPosition).toString()+'-year').value.trim(),document.getElementById('Date of birth'+(CurrentIndexPosition).toString()+'-month').value.trim()-1,document.getElementById('Date of birth'+(CurrentIndexPosition).toString()+'-day').value.trim());var $moduleBocks=$.find('.blocks-visible .additional-member-details');if(($('.memberFirst'+(CurrentIndexPosition).toString()).val().trim().toLowerCase()==mainMemberFirstName)&&($('.memberLast'+(CurrentIndexPosition).toString()).val().trim().toLowerCase()==mainMemberLastName)&&(Number(mainMemberDOB)==Number(currentMemberDOB))){noDuplicate=false;}
for(i=1;i<=$moduleBocks.length;i++){if(i!==CurrentIndexPosition){var loopedMemberDOB=new Date(document.getElementById('Date of birth'+(i).toString()+'-year').value,document.getElementById('Date of birth'+(i).toString()+'-month').value-1,document.getElementById('Date of birth'+(i).toString()+'-day').value);if((($('.memberFirst'+(i).toString()).val().trim().toLowerCase()==$('.memberFirst'+(CurrentIndexPosition).toString()).val().trim().toLowerCase())&&($('.memberLast'+(i).toString()).val().trim().toLowerCase()==$('.memberLast'+(CurrentIndexPosition).toString()).val().trim().toLowerCase())&&(Number(currentMemberDOB)==Number(loopedMemberDOB)))&&(($('.memberFirst'+(i).toString()).val()!==""&&$('.memberFirst'+(CurrentIndexPosition).toString()).val()!="")&&($('.memberLast'+(i).toString()).val()!==""&&$('.memberLast'+(CurrentIndexPosition).toString()).val()!=""))){noDuplicate=false;}}}
this.isValid=function(){return noDuplicate;}}
function Bankfields(){var sortcodeValue=$('.uasort-code:visible').val().replace(/\s/g,'');var sortcodeInitials=sortcodeValue.slice(0,2);this.isValid=function(){if(parseInt(sortcodeInitials)===11||parseInt(sortcodeInitials)===12||parseInt(sortcodeInitials)===30||parseInt(sortcodeInitials)===77||parseInt(sortcodeInitials)===80||parseInt(sortcodeInitials)===87){return true;}
return false;};}
function CheckPolicyNumber(){var policyNumber=$('.member-number1:visible').val();regexnumber=/^(?=.*[0-9])([a-zA-Z0-9 \/]+)$/;this.isValid=function(){if(regexnumber.test(policyNumber)){return true;}else{return false;}};}
function CheckSumnumber(){this.isValid=function(){$("#membership").on({keydown:function(e){if(e.which===32)
return false;},change:function(){this.value=this.value.replace(/\s/g,"");}});var memshipValue=$('.member-number:visible').val().replace(/\s/g,'');var mand_digit=memshipValue.slice(0,6);var manDigitCheck=635601;if(parseInt(mand_digit)===parseInt(manDigitCheck)){if(memshipValue.length>16){return false;}
var area_code=memshipValue.slice(6,8);var leading_zero_check=memshipValue.slice(8,15).replace(/^0+/,'');var new_remaining_digit=area_code+""+leading_zero_check;var reverse_digit=new_remaining_digit.split("").reverse().join("");var products_sum=[((parseInt(reverse_digit[0])?parseInt(reverse_digit[0]):0)*7)+((parseInt(reverse_digit[1])?parseInt(reverse_digit[1]):0)*3)+
((parseInt(reverse_digit[2])?parseInt(reverse_digit[2]):0)*1)+((parseInt(reverse_digit[3])?parseInt(reverse_digit[3]):0)*7)+
((parseInt(reverse_digit[4])?parseInt(reverse_digit[4]):0)*3)+((parseInt(reverse_digit[5])?parseInt(reverse_digit[5]):0)*1)+
((parseInt(reverse_digit[6])?parseInt(reverse_digit[6]):0)*7)+((parseInt(reverse_digit[7])?parseInt(reverse_digit[7]):0)*3)+
((parseInt(reverse_digit[8])?parseInt(reverse_digit[8]):0)*1)];var product_sum_length=products_sum.toString().length;var unit_digit=products_sum.toString().slice(product_sum_length-1,product_sum_length);var last_digit=memshipValue.slice(15,16);var check_digit=10-unit_digit;if(check_digit===10){check_digit=0;}
if(check_digit.toString()===last_digit){return true;}else{return false;}}
return false;};}
function comparePassword($form){var password1=$form.find('.pass-one').val();var confirmPassword=$form.find('.pass-two').val();this.isValid=function(){if(password1!=confirmPassword){return false;}else{return true;}}}
function PassCriteriaNum($form){var passwordField=$form.find('.pass-one').val();regexnumber=/[0-9]+/g;this.isValid=function(){if(regexnumber.test(passwordField)){return true;}else{return false;}}}
function PassCriteriaUpper($form){var passwordField=$form.find('.pass-one').val();regexnumber=/[A-Z]+/g;this.isValid=function(){if(regexnumber.test(passwordField)){return true;}else{return false;}}}
function PassCriteriaAll($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&cap.test(passwordField)==false&&(passwordField.length<10)){return false;}else{return true;}}}
function PassCriteriaAllWithUnique($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&cap.test(passwordField)==false&&(passwordField.length<10)&&check){return false;}else{return true;}}}
function PassCriteriaAllWithUniqueConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&cap.test(passwordField)==false&&(passwordField.length<10)&&check){return false;}else{return true;}}}
function PasswordCriteriaCapitalAndMinLen($form){var passwordField=$form.find('.pass-one').val();var cap=/[A-Z]+/g;this.isValid=function(){if(cap.test(passwordField)==false&&passwordField.length<10){return false;}else{return true;}}}
function PasswordCriteriaCapitalMinLenAndUnique($form){var passwordField=$form.find('.pass-one').val();var cap=/[A-Z]+/g;this.isValid=function(){var check=check_password(passwordField);if(cap.test(passwordField)==false&&passwordField.length<10&&check){return false;}else{return true;}}}
function PasswordCriteriaCapitalMinLenAndUniqueConfirm($form){var passwordField=$form.find('.pass-two').val();var cap=/[A-Z]+/g;this.isValid=function(){var check=check_password(passwordField);if(cap.test(passwordField)==false&&passwordField.length<10&&check){return false;}else{return true;}}}
function PasswordCriteriaCapitalAndUnique($form){var passwordField=$form.find('.pass-one').val();var cap=/[A-Z]+/g;this.isValid=function(){var check=check_password(passwordField);if(cap.test(passwordField)==false&&check){return false;}else{return true;}}}
function PasswordCriteriaCapitalAndUniqueConfirm($form){var passwordField=$form.find('.pass-two').val();var cap=/[A-Z]+/g;this.isValid=function(){var check=check_password(passwordField);if(cap.test(passwordField)==false&&check){return false;}else{return true;}}}
function PasswordCriteriaNumAndUnique($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&check){return false;}else{return true;}}}
function PasswordCriteriaNumAndUniqueConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&check){return false;}else{return true;}}}
function PasswordCriteriaMinLenAndUnique($form){var passwordField=$form.find('.pass-one').val();this.isValid=function(){var check=check_password(passwordField);if(passwordField.length<10&&check){return false;}else{return true;}}}
function PasswordCriteriaMinLenAndUniqueConfirm($form){var passwordField=$form.find('.pass-two').val();this.isValid=function(){var check=check_password(passwordField);if(passwordField.length<10&&check){return false;}else{return true;}}}
function PasswordCriteriaNumberAndMinLen($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&passwordField.length<10&&check==false){return false;}else{return true;}}}
function PasswordCriteriaNumberMinLenAndUnique($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&passwordField.length<10&&check){return false;}else{return true;}}}
function PasswordCriteriaNumberMinLenAndUniqueConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&passwordField.length<10&&check){return false;}else{return true;}}}
function PasswordCriteriaUniquePassword($form){var passwordField=$form.find('.pass-one').val();this.isValid=function(){var check=check_password(passwordField);if(check===false&&passwordField!=''){return true;}else{return false;}}}
function PasswordCriteriaUniquePasswordConfirm($form){var passwordField=$form.find('.pass-two').val();this.isValid=function(){var check=check_password(passwordField);if(check===false&&passwordField!=''){return true;}else{return false;}}}
function PasswordCriteriaCapitalAndNumber($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;this.isValid=function(){if(num.test(passwordField)==false&&cap.test(passwordField)==false){return false;}else{return true;}}}
function PasswordCriteriaCapitalNumberAndUnique($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&cap.test(passwordField)==false&&check){return false;}else{return true;}}}
function PasswordCriteriaCapitalNumberAndUniqueConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&cap.test(passwordField)==false&&check){return false;}else{return true;}}}
function PassCriteriaNumConfirm($form){var passwordField=$form.find('.pass-two').val();regexnumber=/[0-9]+/g;this.isValid=function(){if(regexnumber.test(passwordField)){return true;}else{return false;}}}
function PassCriteriaUpperConfirm($form){var passwordField=$form.find('.pass-two').val();regexnumber=/[A-Z]+/g;this.isValid=function(){if(regexnumber.test(passwordField)){return true;}else{return false;}}}
function PassCriteriaAllConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;this.isValid=function(){if(num.test(passwordField)==false&&cap.test(passwordField)==false&&(passwordField.length<10)){return false;}else{return true;}}}
function PasswordCriteriaCapitalAndMinLenConfirm($form){var passwordField=$form.find('.pass-two').val();var cap=/[A-Z]+/g;this.isValid=function(){if(cap.test(passwordField)==false&&passwordField.length<10){return false;}else{return true;}}}
function PasswordCriteriaNumberAndMinLenConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;this.isValid=function(){if(num.test(passwordField)==false&&passwordField.length<10){return false;}else{return true;}}}
function PasswordCriteriaCapitalAndNumberConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;this.isValid=function(){if(num.test(passwordField)==false&&cap.test(passwordField)==false){return false;}else{return true;}}}
function RecaptchaSuccessfull($form){var reCaptchaResponse=$('#g-recaptcha-response');var response=grecaptcha.getResponse();this.isValid=function(){if(response.length!=0){return true;}else{return false;}}}
function check_password(val){var checkCommonCount;var passwordField=val.toLowerCase();if(password_check.indexOf(passwordField)>-1){return true}else{return false;}}
function optionalEmailByPost($form,$formField){this.isValid=function(){if($form.find('input:radio[name=docPrefChannel]:checked').val().toLowerCase()==="post"){var $emailControl=$formField.find('input[type=email]');var $emailControlValue=$($emailControl).val();if(!$emailControlValue==""){if(_emailPattern.test($emailControlValue)){return true;}
else{return false;}}
if($form.find('.emailReasonBlock').length){$form.find('.emailReasonBlock').find('input:radio[name="EmailReason"]').each(function(){if($(this).prop("checked",true)){return true;}else{return false;}});}
return false;}else{var $emailControl=$formField.find('input[type=email]');var $emailVal=$emailControl.val();if($form.find("#emailReason").length){return true;}
if($emailVal==""){return false;}else{if(_emailPattern.test($emailVal)){return true;}}}
return false;};}
function PasswordCriteriaAllWithLower($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&cap.test(passwordField)==false&&low.test(passwordField)==false&&(passwordField.length<10)&&check){return false;}else{return true;}}}
function PasswordCriteriaCapMinUniAndLower($form){var passwordField=$form.find('.pass-one').val();var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(cap.test(passwordField)==false&&low.test(passwordField)==false&&(passwordField.length<10)&&check){return false;}else{return true;}}}
function PasswordCriteriaMinUniqueAndLower($form){var passwordField=$form.find('.pass-one').val();var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(low.test(passwordField)==false&&(passwordField.length<10)&&check){return false;}else{return true;}}}
function PasswordCriteriaCapitalUniAndLower($form){var passwordField=$form.find('.pass-one').val();var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(cap.test(passwordField)==false&&low.test(passwordField)==false&&check){return false;}else{return true;}}}
function PasswordCriteriaCapitalMinAndLower($form){var passwordField=$form.find('.pass-one').val();var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(cap.test(passwordField)==false&&low.test(passwordField)==false&&(passwordField.length<10)){return false;}else{return true;}}}
function PasswordCriteriaUniAndLower($form){var passwordField=$form.find('.pass-one').val();var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(low.test(passwordField)==false&&check){return false;}else{return true;}}}
function PasswordCriteriaMinAndLower($form){var passwordField=$form.find('.pass-one').val();var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(low.test(passwordField)==false&&(passwordField.length<10)){return false;}else{return true;}}}
function PasswordCriteriaCapitalAndLower($form){var passwordField=$form.find('.pass-one').val();var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(cap.test(passwordField)==false&&low.test(passwordField)==false){return false;}else{return true;}}}
function PasswordCriteriaLower($form){var passwordField=$form.find('.pass-one').val();var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(low.test(passwordField)==false){return false;}else{return true;}}}
function PasswordCriteriaNumAndLower($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&low.test(passwordField)==false){return false;}else{return true;}}}
function PasswordCriteriaNumCapitalAndLower($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&cap.test(passwordField)==false&&low.test(passwordField)==false){return false;}else{return true;}}}
function PasswordCriteriaNumMinAndLower($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&low.test(passwordField)==false&&(passwordField.length<10)){return false;}else{return true;}}}
function PasswordCriteriaNumUniqueAndLower($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&low.test(passwordField)==false&&check){return false;}else{return true;}}}
function PasswordCriteriaNumCapitalMinAndLower($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&cap.test(passwordField)==false&&low.test(passwordField)==false&&(passwordField.length<10)){return false;}else{return true;}}}
function PasswordCriteriaNumCapitalUniAndLower($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&cap.test(passwordField)==false&&low.test(passwordField)==false&&check){return false;}else{return true;}}}
function PasswordCriteriaNumUniMinAndLower($form){var passwordField=$form.find('.pass-one').val();var num=/[0-9]+/;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&low.test(passwordField)==false&&(passwordField.length<10)&&check){return false;}else{return true;}}}
function PasswordCriteriaAllWithLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&cap.test(passwordField)==false&&low.test(passwordField)==false&&(passwordField.length<10)&&check){return false;}else{return true;}}}
function PasswordCriteriaCapMinUniAndLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(cap.test(passwordField)==false&&low.test(passwordField)==false&&(passwordField.length<10)&&check){return false;}else{return true;}}}
function PasswordCriteriaMinUniqueAndLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(low.test(passwordField)==false&&(passwordField.length<10)&&check){return false;}else{return true;}}}
function PasswordCriteriaCapitalUniAndLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(cap.test(passwordField)==false&&low.test(passwordField)==false&&check){return false;}else{return true;}}}
function PasswordCriteriaCapitalMinAndLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(cap.test(passwordField)==false&&low.test(passwordField)==false&&(passwordField.length<10)){return false;}else{return true;}}}
function PasswordCriteriaUniAndLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(low.test(passwordField)==false&&check){return false;}else{return true;}}}
function PasswordCriteriaMinAndLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(low.test(passwordField)==false&&(passwordField.length<10)){return false;}else{return true;}}}
function PasswordCriteriaCapitalAndLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(cap.test(passwordField)==false&&low.test(passwordField)==false){return false;}else{return true;}}}
function PasswordCriteriaLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(low.test(passwordField)==false){return false;}else{return true;}}}
function PasswordCriteriaNumAndLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&low.test(passwordField)==false){return false;}else{return true;}}}
function PasswordCriteriaNumCapitalAndLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&cap.test(passwordField)==false&&low.test(passwordField)==false){return false;}else{return true;}}}
function PasswordCriteriaNumMinAndLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&low.test(passwordField)==false&&(passwordField.length<10)){return false;}else{return true;}}}
function PasswordCriteriaNumUniqueAndLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&low.test(passwordField)==false&&check){return false;}else{return true;}}}
function PasswordCriteriaNumCapitalMinAndLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&cap.test(passwordField)==false&&low.test(passwordField)==false&&(passwordField.length<10)){return false;}else{return true;}}}
function PasswordCriteriaNumCapitalUniAndLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;var cap=/[A-Z]+/g;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&cap.test(passwordField)==false&&low.test(passwordField)==false&&check){return false;}else{return true;}}}
function PasswordCriteriaNumUniMinAndLowerConfirm($form){var passwordField=$form.find('.pass-two').val();var num=/[0-9]+/;var low=/[a-z]+/g;this.isValid=function(){var check=check_password(passwordField);if(num.test(passwordField)==false&&low.test(passwordField)==false&&(passwordField.length<10)&&check){return false;}else{return true;}}}/*!*
* extensionMethod
*
* @public
*
* @param arguments {Object} value | rule as json
* @returns {Boolean} passed or failed
*/
this.isValidDateOfBirth=function(){var $form=arguments[2].closest('.date-of-birth-group');return new DateOfBirth($form).isValid();}
this.isValidYear=function(){return window.aa.salesJourneyApp.constants.regex.years.test(parseInt(arguments[2].closest('.date-of-birth-group').find('.dob-input').filter('.year-number').val(),10));}
this.isValidDay=function(){return window.aa.salesJourneyApp.constants.regex.days.test(parseInt(arguments[2].closest('.date-of-birth-group').find('.dob-input').filter('.day-number').val(),10));}
this.isValidMonth=function(){return window.aa.salesJourneyApp.constants.regex.months.test(parseInt(arguments[2].closest('.date-of-birth-group').find('.dob-input').filter('.month-number').val(),10));}
this.isConfirmPassword=function(){var $form=arguments[2].closest('.password-group');return new comparePassword($form).isValid();}
this.isCheckSumnumber=function(){var $form=arguments[2].closest('.memshipNumber');return new CheckSumnumber($form).isValid();}
this.isCheckPolicyNumber=function(){var $form=arguments[2].closest('.memberNumber');return new CheckPolicyNumber($form).isValid();}
this.isBankfields=function(){var $form=arguments[2].closest('.uasort-code');return new Bankfields($form).isValid();}
this.isUniquePassword=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaUniquePassword($form).isValid();}
this.isUniquePasswordConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaUniquePasswordConfirm($form).isValid();}
this.isPasswordCriteriaNum=function(){var $form=arguments[2].closest('.password-group');return new PassCriteriaNum($form).isValid();}
this.isPasswordCriteriaUpper=function(){var $form=arguments[2].closest('.password-group');return new PassCriteriaUpper($form).isValid();}
this.isPasswordCriteriaMinLenAndUnique=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaMinLenAndUnique($form).isValid();}
this.isPasswordCriteriaMinLenAndUniqueConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaMinLenAndUniqueConfirm($form).isValid();}
this.isPassCriteriaAllWithUnique=function(){var $form=arguments[2].closest('.password-group');return new PassCriteriaAllWithUnique($form).isValid();}
this.isPassCriteriaAllWithUniqueConfirm=function(){var $form=arguments[2].closest('.password-group');return new PassCriteriaAllWithUniqueConfirm($form).isValid();}
this.isPasswordCriteriaCapitalAndUnique=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalAndUnique($form).isValid();}
this.isPasswordCriteriaCapitalAndUniqueConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalAndUniqueConfirm($form).isValid();}
this.isPasswordCriteriaNumAndUnique=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumAndUnique($form).isValid();}
this.isPasswordCriteriaNumAndUniqueConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumAndUniqueConfirm($form).isValid();}
this.isPasswordCriteriaAll=function(){var $form=arguments[2].closest('.password-group');return new PassCriteriaAll($form).isValid();}
this.isPasswordCriteriaCapitalAndNumber=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalAndNumber($form).isValid();}
this.isPasswordCriteriaCapitalNumberAndUnique=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalNumberAndUnique($form).isValid();}
this.isPasswordCriteriaCapitalNumberAndUniqueConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalNumberAndUniqueConfirm($form).isValid();}
this.isPasswordCriteriaNumberAndMinLen=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumberAndMinLen($form).isValid();}
this.isPasswordCriteriaNumberMinLenAndUnique=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumberMinLenAndUnique($form).isValid();}
this.isPasswordCriteriaNumberMinLenAndUniqueConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumberMinLenAndUniqueConfirm($form).isValid();}
this.isPasswordCriteriaCapitalAndMinLen=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalAndMinLen($form).isValid();}
this.isPasswordCriteriaCapitalMinLenAndUnique=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalMinLenAndUnique($form).isValid();}
this.isPasswordCriteriaCapitalMinLenAndUniqueConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalMinLenAndUniqueConfirm($form).isValid();}
this.isRecaptchaSuccessfull=function(){var $form=arguments[2].closest('.Recaptcha-group');return new RecaptchaSuccessfull($form).isValid();}
this.isPasswordCriteriaNumConfirm=function(){var $form=arguments[2].closest('.password-group');return new PassCriteriaNumConfirm($form).isValid();}
this.isPasswordCriteriaUpperConfirm=function(){var $form=arguments[2].closest('.password-group');return new PassCriteriaUpperConfirm($form).isValid();}
this.isPasswordCriteriaAllConfirm=function(){var $form=arguments[2].closest('.password-group');return new PassCriteriaAllConfirm($form).isValid();}
this.isPasswordCriteriaCapitalAndNumberConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalAndNumberConfirm($form).isValid();}
this.isPasswordCriteriaNumberAndMinLenConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumberAndMinLenConfirm($form).isValid();}
this.isPasswordCriteriaCapitalAndMinLenConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalAndMinLenConfirm($form).isValid();}
this.isPasswordCriteriaAllWithLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaAllWithLower($form).isValid();}
this.isPasswordCriteriaCapMinUniAndLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapMinUniAndLower($form).isValid();}
this.isPasswordCriteriaMinUniqueAndLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaMinUniqueAndLower($form).isValid();}
this.isPasswordCriteriaCapitalUniAndLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalUniAndLower($form).isValid();}
this.isPasswordCriteriaCapitalMinAndLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalMinAndLower($form).isValid();}
this.isPasswordCriteriaUniAndLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaUniAndLower($form).isValid();}
this.isPasswordCriteriaMinAndLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaMinAndLower($form).isValid();}
this.isPasswordCriteriaCapitalAndLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalAndLower($form).isValid();}
this.isPasswordCriteriaLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaLower($form).isValid();}
this.isPasswordCriteriaNumAndLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumAndLower($form).isValid();}
this.isPasswordCriteriaNumCapitalAndLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumCapitalAndLower($form).isValid();}
this.isPasswordCriteriaNumMinAndLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumMinAndLower($form).isValid();}
this.isPasswordCriteriaNumUniqueAndLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumUniqueAndLower($form).isValid();}
this.isPasswordCriteriaNumCapitalMinAndLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumCapitalMinAndLower($form).isValid();}
this.isPasswordCriteriaNumCapitalUniAndLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumCapitalUniAndLower($form).isValid();}
this.isPasswordCriteriaNumUniMinAndLower=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumUniMinAndLower($form).isValid();}
this.isPasswordCriteriaAllWithLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaAllWithLowerConfirm($form).isValid();}
this.isPasswordCriteriaCapMinUniAndLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapMinUniAndLowerConfirm($form).isValid();}
this.isPasswordCriteriaMinUniqueAndLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaMinUniqueAndLowerConfirm($form).isValid();}
this.isPasswordCriteriaCapitalUniAndLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalUniAndLowerConfirm($form).isValid();}
this.isPasswordCriteriaCapitalMinAndLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalMinAndLowerConfirm($form).isValid();}
this.isPasswordCriteriaUniAndLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaUniAndLowerConfirm($form).isValid();}
this.isPasswordCriteriaMinAndLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaMinAndLowerConfirm($form).isValid();}
this.isPasswordCriteriaCapitalAndLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaCapitalAndLowerConfirm($form).isValid();}
this.isPasswordCriteriaLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaLowerConfirm($form).isValid();}
this.isPasswordCriteriaNumAndLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumAndLowerConfirm($form).isValid();}
this.isPasswordCriteriaNumCapitalAndLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumCapitalAndLowerConfirm($form).isValid();}
this.isPasswordCriteriaNumMinAndLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumMinAndLowerConfirm($form).isValid();}
this.isPasswordCriteriaNumUniqueAndLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumUniqueAndLowerConfirm($form).isValid();}
this.isPasswordCriteriaNumCapitalMinAndLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumCapitalMinAndLowerConfirm($form).isValid();}
this.isPasswordCriteriaNumCapitalUniAndLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumCapitalUniAndLowerConfirm($form).isValid();}
this.isPasswordCriteriaNumUniMinAndLowerConfirm=function(){var $form=arguments[2].closest('.password-group');return new PasswordCriteriaNumUniMinAndLowerConfirm($form).isValid();}
this.byPostOptionalEmail=function(){var $form=arguments[2].closest('.contact-details');return new optionalEmailByPost($form,arguments[2]).isValid();}
this.isAccountName=function(){var $form=arguments[2].closest('.account-holder');return new AccountName($form).isValid();}
this.isValidFirstName=function(){var $form=arguments[2].closest('.first-name-group');return new ValidFirstName($form).isValid();}
this.isValidPhoneNumber=function(){var $form=arguments[2].closest('.contact-details');return new ValidPhoneNumber($form).isValid();}
this.isValidLastName=function(){var $form=arguments[2].closest('.last-name-group');return new ValidLastName($form).isValid();}
this.isValidFirstName1=function(){var $form=arguments[2].closest('.memberFirst1');return new ValidFirstName1($form).isValid();}
this.isValidFirstName2=function(){var $form=arguments[2].closest('.memberFirst2');return new ValidFirstName2($form).isValid();}
this.isValidFirstName3=function(){var $form=arguments[2].closest('.memberFirst3');return new ValidFirstName3($form).isValid();}
this.isValidLastName1=function(){var $form=arguments[2].closest('.memberLast1');return new ValidLastName1($form).isValid();}
this.isValidLastName2=function(){var $form=arguments[2].closest('.memberLast2');return new ValidLastName2($form).isValid();}
this.isValidLastName3=function(){var $form=arguments[2].closest('.memberLast3');return new ValidLastName3($form).isValid();}
this.isValidPostcode=function(){var $form=arguments[2].closest('.createAccountPostcode');return new ValidPostcode($form).isValid();}
this.isDuplicate1=function(){var $form=1;return new CheckDuplicateMember($form).isValid();}
this.isDuplicate2=function(){var $form=2;return new CheckDuplicateMember($form).isValid();}
this.isDuplicate3=function(){var $form=3;return new CheckDuplicateMember($form).isValid();}
this.isValidUaFirstName=function(){var $form=arguments[2].closest('.firstName');return new uAFirstName($form).isValid();}
this.isValidUaLastName=function(){var $form=arguments[2].closest('.lastName');return new uALastName($form).isValid();}};window.aa||(window.aa={});window.aa.salesJourneyApp.helpers={registerViews:function(templateNames,callback){var _self=aa.salesJourneyApp,templatePath='/Views/TheAA/SalesJourney/Partials/',total=templateNames.length-1;var templates=[];var missingTemplates=[];for(var tn=0;tn<templateNames.length;tn++){var templateContentFromPage=$("div[id="+"'HtmlTemplateHandlerUtility."+templateNames[tn]+"']").html();if(templateContentFromPage&&templateContentFromPage.trim().length){templates.push({HtmlString:templateContentFromPage,FileName:templateNames[tn]})}else{missingTemplates.push(templateNames[tn]);}}
if(missingTemplates.length){if(typeof _self.cache.serviceRequest['HtmlTemplateHandlerUtility']!=='undefined'){_self.cache.serviceRequest['HtmlTemplateHandlerUtility'].abort();}
_self.cache.serviceRequest['HtmlTemplateHandlerUtility']=$.ajax({method:'POST',url:_self.constants.api.HtmlTemplateHandlerUtility,data:{FileNames:missingTemplates,FilePath:templatePath,JourneyID:window.salesJourneyAppData.journeyId}}).done(function(response){var mergedTemplates=response.concat(templates);_parseResponse(mergedTemplates);});}else{_parseResponse(templates);}
function _parseResponse(response){for(var v=0;v<response.length;v+=1){_self.views[response[v].FileName]=response[v].HtmlString;if(v===total){if(typeof callback==='function'){callback();}}}}},initInputMasking:function(inputsSelector,regex){$(inputsSelector).each(function(){var $input=$(this),$dobInput=$input.filter('.dob-input'),$yearInput=$input.filter('.year-number'),inputValue;$input.off('input blur').on({input:function(e){var formattedValue;inputValue=$input.is('.postcode-field')?$input.val():$input.val().toUpperCase();formattedValue=inputValue.split('-').join('');$input.removeClass('masked');if(e.which===37||e.which===38||e.which===39||e.which===40||e.which===9||e.which===13||e.which===16||e.which===46||e.which===32||e.which===8||(e.which===17&&e.which===86)||(e.which===17&&e.which===65)){return;}
if(inputValue===''||!regex.test(inputValue)){$input.addClass('masked');if($dobInput.length&&($dobInput.val().charAt(0)==='0'&&!$yearInput.length)&&($dobInput.val()!=='00'||$yearInput.val()>0)){if($dobInput.val().length>1&&!regex.test(inputValue.charAt(inputValue.length-1))){inputValue=inputValue.slice(0,-1);}
$input.val(inputValue).removeClass('masked').focus();return;}
if($dobInput.length&&!regex.test(inputValue)){$input.val(inputValue.slice(0,-1)).removeClass('masked').focus();return;}else{for(var i=0;i<inputValue.length;i+=1){if(!regex.test(inputValue[i])){inputValue=inputValue.replace(inputValue[i],'');}}}
$input.val(inputValue).removeClass('masked').focus();}else if($input.is('.sort-code')&&regex.test(inputValue)){if(formattedValue.length>=6){var formattedValueTemp=formattedValue.replace(/-/g,"").substring(0,6);formattedValue=formattedValue.match(new RegExp('.{1,2}','g')).join('-');$input.val(formattedValueTemp);sessionStorage.setItem("formattedValue",formattedValue);setTimeout("$('.sort-code').val(sessionStorage.getItem('formattedValue').substring(0, 8));",100);}}},blur:function(){$input.val($input.val().trim());var inputVal=$input.val();}});});},hideShowBlocks:function(){var $main=window.aa.helpers.cache.cachedElements.$main;if(window.aa.salesJourneyApp.helpers.isDefined($main.find('.questions-block'))&&$main.find('.questions-block').is(":visible")===true){if(window.aa.salesJourneyApp.helpers.isDefined($main.find('.service'))&&window.aa.salesJourneyApp.helpers.isDefined($main.find('.service').parents(".row"))){$main.find('.service').parents(".row").hide();}
if(window.aa.salesJourneyApp.helpers.isDefined($main.find('.accordion.cf'))){$main.find('.accordion.cf').hide();}
if(window.aa.salesJourneyApp.helpers.isDefined($main.find('.contact-wrapper'))&&window.aa.salesJourneyApp.helpers.isDefined($main.find('.contact-wrapper').parents(".row"))){$main.find('.contact-wrapper').parents(".row").hide();}}
else if(window.aa.salesJourneyApp.helpers.isDefined($main.find('.questions-block'))&&$main.find('.questions-block').is(":visible")===false){if(window.aa.salesJourneyApp.helpers.isDefined($main.find('.service'))&&window.aa.salesJourneyApp.helpers.isDefined($main.find('.service').parents(".row"))){$main.find('.service').parents(".row").show();}
if(window.aa.salesJourneyApp.helpers.isDefined($main.find('.accordion.cf'))){$main.find('.accordion.cf').show();}
if(window.aa.salesJourneyApp.helpers.isDefined($main.find('.contact-wrapper'))&&window.aa.salesJourneyApp.helpers.isDefined($main.find('.contact-wrapper').parents(".row"))){$main.find('.contact-wrapper').parents(".row").show();}}},isDefined:function(el){return(typeof el!=='undefined'&&el!==null);},ifVehicleSpec:function(separator,vehicleVrn){if(aa.salesJourneyApp.helpers.isDefined(vehicleVrn)){return(separator||'')+(vehicleVrn||'');}
return '';},isDuplicate:function(inputsSelector){$(inputsSelector).on('blur',function(e){var $target=$(this),$main=aa.salesJourneyApp.cache.$main,$infoError=$target.closest('.vrn-details').find('.duplicate-field-error'),currentValue=$target.val().toUpperCase().replace(/\s+/g,'');$target.attr('value',currentValue);if(($(".cover-type")==null||$(".cover-type").html()==null||$(".cover-type").html().indexOf("Vehicle cover")<0)&&$main.find('.registration[value="'+currentValue+'"]').not($(this)).length>0&&currentValue.length>=2){if($main.find('.duplicate-field-error').is(':visible')){return;}
$target.focus();$infoError.show();e.stopImmediatePropagation();}else{$infoError.hide();}});},checkRegistrationNumber:function($inputField,callback){var $vrnField=$inputField.closest('.vehicle-reg'),$additionalVrn=$inputField.closest('.additional-vrn'),$optionalField=$inputField.closest('.optional.active'),$minLengthError=$additionalVrn.length?$additionalVrn.find('[data-validation="minLength"]'):$inputField.closest('.vrn-details').find('[data-validation="minLength"]'),$regexValidationError=$additionalVrn.length?$additionalVrn.find('[data-validation="regex"]'):$inputField.closest('.vrn-details').find('[data-validation="regex"]'),$requiredError=$vrnField.find('[data-mandatory]'),$coverDetailsModule=$inputField.closest('.cover-details-module'),$form=$coverDetailsModule.length?$inputField.closest('.vrn-search'):$inputField.closest('.vrn-form'),$formModule=$inputField.closest('.form-module'),$formField=$inputField.closest('.form-field');function validate(){if($inputField.val().length===0||$inputField.val().length===1||!aa.salesJourneyApp.constants.regex.registrationNumber.test($inputField.val().replace(/ /g,""))||($coverDetailsModule.length&&$coverDetailsModule.find('#vehicle-reg').length&&$coverDetailsModule.find('.your-vehicles td').length===0)){if($additionalVrn.length){$additionalVrn.add($formModule).addClass('errors');}else{$form.add($formModule).addClass('errors');}
$formField.addClass('error');if($inputField.val().length&&!aa.salesJourneyApp.constants.regex.registrationNumber.test($inputField.val())){$regexValidationError.show();}}
switch($inputField.val().length){case 0:$requiredError.show();break;case 1:$minLengthError.show();break;default:if(!$regexValidationError.is(':visible')){if($coverDetailsModule.length&&$coverDetailsModule.find('#vehicle-reg').length&&!$coverDetailsModule.find('.your-vehicles td').length){return;}
if(aa.salesJourneyApp.helpers.isDefined($additionalVrn)&&$additionalVrn.length){$additionalVrn.add($formModule).removeClass('errors');}else{$form.add($formModule).removeClass('errors');}
$formField.removeClass('error');}
break;}
if(typeof callback==='function'){callback();}}
$requiredError.add($minLengthError).add($regexValidationError).hide();$formField.removeClass('error');if(aa.salesJourneyApp.helpers.isDefined($additionalVrn)&&$additionalVrn.length){$additionalVrn.add($formModule).removeClass('errors');}else{$form.add($formModule).removeClass('errors');}
if($vrnField.hasClass('mandatory')||($optionalField.length&&$optionalField.find('input.registration').val().length)||($additionalVrn.length&&$inputField.closest('.additional-vrn').find('.registration-number').val().length)){validate();}},radioCheckboxLabels:function($input){function updateInputClasses(){var $target=$(this),$labelParent=$target.closest('.radio-field, .checkbox-field'),$label=$labelParent.find('label'),$targetLabel=$labelParent.siblings().find('label');if($targetLabel.length){$labelParent.siblings().find('label').removeClass('checked');}else{$label.removeClass('checked');}
if($label){$label.removeClass('checked');if($target.is(':checked')){$label.addClass('checked');}}
if($label){if($target.is(':checked')){$label.addClass('checked');$targetLabel.removeClass('checked');}else{$label.removeClass('checked');}}}
$input.each(updateInputClasses);$input.on('change',updateInputClasses);},allowOnlyNumbers:function(inputsSelector,regex){$(inputsSelector).each(function(){var $input=$(this),$inputField=$input.closest('.form-field'),$invalidMessage=$inputField.find('[data-invalid]'),$minLengthMessage=$inputField.find('[data-minLength]');function clearFieldError(){$inputField.removeClass('error');$minLengthMessage.add($invalidMessage).hide();}
$input.on('change',function(){var inputValue=$(this).val();if(regex.test(inputValue)&&inputValue.length<4){if(!inputValue.length){clearFieldError();return;}
$inputField.addClass('error');$input.focus();$invalidMessage.hide();$minLengthMessage.show();}else if(!regex.test(inputValue)){$inputField.addClass('error');$input.focus();$minLengthMessage.hide();$invalidMessage.show();}else if(inputValue.length===4&&regex.test(inputValue)){clearFieldError();}});});},validatePostcodeField:function(inputSelector,regex){$(inputSelector).each(function(){var $input=$(this),$inputField=$input.closest('.form-field'),$invalidPostcodeMessage=$inputField.find('[data-postcode-invalid]'),$requiredPostcodeMessage=$inputField.find('[data-validation="required"]');function checkInput(inputValue){$requiredPostcodeMessage.toggle(!inputValue.length);}
$input.on('change',function(){var inputValue=$(this).val();checkInput(inputValue);if(!regex.test(inputValue)){$inputField.addClass('error');$input.focus();$invalidPostcodeMessage.show();}else{$inputField.removeClass('error');$invalidPostcodeMessage.hide();}});});},getIndicativePrice:function(callback){var $blocks=aa.salesJourneyApp.cache.$blocks;function addLeadingZero(str,max){str=str.toString();return str.length<max?addLeadingZero('0'+str,max):str;}
function displayPrice($largePrice,$smallPrice,start,end,showDecimal){var $loader=$largePrice.siblings('.loading'),oldPrice=$largePrice.add($smallPrice).text(),newPrice=aa.salesJourneyApp.helpers.isDefined(end)?start+'.'+end:start;$largePrice.add($smallPrice).hide();if(oldPrice!==newPrice&&!aa.salesJourneyApp.cache.hidePricingLoader){$loader.stop().show();}
if(showDecimal){$largePrice.text(start+'.');$smallPrice.show().text(addLeadingZero(end,2));$largePrice.add($smallPrice).removeAttr('style');}else{$largePrice.text(start+'');$smallPrice.text('').hide();$largePrice.add($smallPrice).removeAttr('style');}
aa.salesJourneyApp.cache.hidePricingLoader=false;}
function setPrices(response,callback){var $price=$blocks.find('.blocks-visible .price'),$chosenOptions=$price.siblings('.chosen-options'),$chosenPaymentFrequency=$price.siblings('.chosen-payment-frequency'),$secondaryChosenOptions=$chosenPaymentFrequency.siblings('.chosen-options'),$secondaryChosenOptionsList=$chosenOptions.find('.cover-options').find('.chosen'),$AvgQuotedPrice=$blocks.find('.info').find('.pricing-summary-information-content1').find(".AvgQuotedPrice"),$DeltaAmount=$blocks.find('.info').find('.pricing-summary-information-content1').find(".DeltaAmount"),$SmartPrice=$blocks.find('.info').find('.pricing-summary-information-content1').find(".SmartPrice"),$SmartPriceValue=$blocks.find('.info').find('.pricing-summary-information-content1').find(".SmartPriceValue"),viewModelData=response.ViewModelData,$vrnOption,$SBCVrnOption,$pgVehicleQuote,$SBCVehicleQuote,optionSelected,isOption;if($secondaryChosenOptionsList.length){for(var i=0;i<viewModelData.CoverageOptions.length;i+=1){isOption=viewModelData.CoverageOptions[i];optionSelected=isOption===$blocks.find('.vrn-capture').find('input').val();if(optionSelected){$secondaryChosenOptionsList.filter(':contains('+isOption+')').addClass('vrn').html(isOption+' <span />');}}
if(viewModelData.SmartVehicles&&viewModelData.SmartVehicles.length){var sbcCoverTitle=aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.SmartBreakdownCoverTitle;for(var s=0;s<viewModelData.SmartVehicles.length;s++){if(viewModelData.SmartVehicles[s].isSmartSelected){$secondaryChosenOptionsList.filter(':contains('+sbcCoverTitle+')').addClass('smart-vrn').html(sbcCoverTitle+' <span />');break;}}}}
if(viewModelData&&(!viewModelData.SmartVehicles||!viewModelData.SmartVehicles.length)&&$('.smart-vrn').length){$('.smart-vrn').remove();}
$vrnOption=aa.salesJourneyApp.cache.$main.find('.vrn').find('span');$SBCVrnOption=aa.salesJourneyApp.cache.$main.find('.smart-vrn').find('span');$pgVehicleQuote=aa.salesJourneyApp.cache.$main.find('.pg-vehicles > .vehicle-quote span');$SBCVehicleQuote=aa.salesJourneyApp.cache.$main.find('.smart-vehicles > .vehicle-quote span');$price.each(function(){var $blocks=aa.salesJourneyApp.cache.$blocks,$eachPrice=$(this),$largePrice=$eachPrice.find('.large'),$smallPrice=$eachPrice.find('.small'),vrnQuoteText="of your quote",SBCvrnQuoteText="of your quote",paymentFrequency=$blocks.find('input[type="radio"]:checked').data('payment-frequency'),AvgQuotedPrice=$blocks.find('.info').find('.pricing-summary-information-content1').find(".AvgQuotedPrice"),DeltaAmount=$blocks.find('.info').find('.pricing-summary-information-content1').find(".DeltaAmount"),SmartPrice=$blocks.find('.info').find('.pricing-summary-information-content1').find(".SmartPrice"),price,monthlyFrequency,yearlyFrequency;if(aa.salesJourneyApp.helpers.isDefined(viewModelData)&&aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.models.PricingSummaryBlock)){monthlyFrequency=aa.salesJourneyApp.models.PricingSummaryBlock.MonthlyPaymentFrequency;yearlyFrequency=aa.salesJourneyApp.models.PricingSummaryBlock.YearlyPaymentFrequency;aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary=viewModelData;if(aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.PaymentOptions.Monthly)){monthlyAvgQuoted=aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.PaymentOptions.Monthly.AvgQuotedPrice;monthlyDeltaAmount=aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.PaymentOptions.Monthly.DeltaAmount*-1;}
if(aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.PaymentOptions.YearlyFromAccount)){yearlyAvgQuoted=aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.PaymentOptions.YearlyFromAccount.AvgQuotedPrice;yearlyDeltaAmount=aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.PaymentOptions.YearlyFromAccount.DeltaAmount*-1;}
function parseAmount(amount){if(!amount)return '';var splitAmt=amount.split('.');if(splitAmt[1]&&(parseInt(splitAmt[1])>0)){return parseFloat(amount).toFixed(2);}else{return parseFloat(amount)}}
function monthlyPayment(){var isSmartBreakdownCover=viewModelData.PaymentOptions.Monthly.IsSmartBreakdownCover;if(isSmartBreakdownCover){price=viewModelData.PaymentOptions.Monthly.TotalWithSBC.split('.');$SmartPriceValue.text(parseFloat(aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.PaymentOptions.Monthly.MonthlyPrice));$SmartPrice.show();}else{price=viewModelData.PaymentOptions.Monthly.Total.split('.');$SmartPrice.hide();}
AvgQuotedPrice=viewModelData.PaymentOptions.Monthly.AvgQuotedPrice;if($chosenPaymentFrequency.length&&monthlyFrequency){$chosenPaymentFrequency.text(monthlyFrequency.Text);}
var parsedAvgQuotedAmount='';if($AvgQuotedPrice.length&&monthlyFrequency){aa.salesJourneyApp.models.PricingSummaryBlock.DynamicContent.MonthlyFromAccount=true;parsedAvgQuotedAmount=parseFloat(monthlyAvgQuoted);$AvgQuotedPrice.text(parsedAvgQuotedAmount);var index=$AvgQuotedPrice.text().indexOf(".");if(index>-1){parsedAvgQuotedAmount=parseFloat(monthlyAvgQuoted).toFixed(2);$AvgQuotedPrice.text(parsedAvgQuotedAmount).text();}}
var parsedDeltaAmount='';if($DeltaAmount.length&&monthlyFrequency){aa.salesJourneyApp.models.PricingSummaryBlock.DynamicContent.MonthlyFromAccount=true;parsedDeltaAmount=parseFloat(monthlyDeltaAmount);$DeltaAmount.text(parsedDeltaAmount);var index=$DeltaAmount.text().indexOf(".");if(index>-1){parsedDeltaAmount=parseFloat(monthlyDeltaAmount).toFixed(2);$DeltaAmount.text(parsedDeltaAmount).text();}}
if(!isNaN(viewModelData.PaymentOptions.Monthly.PriceBreakdown.PRD_UK_0018)){$vrnOption.html('(&pound;'+parseFloat(viewModelData.PaymentOptions.Monthly.PriceBreakdown.PRD_UK_0018).toFixed(2)+' '+vrnQuoteText+')');$pgVehicleQuote.html('(&pound;'+parseFloat(viewModelData.PaymentOptions.Monthly.PriceBreakdown.PRD_UK_0018).toFixed(2)+' '+vrnQuoteText+')');}
$SBCVrnOption.html('(&pound;'+parseAmount(viewModelData.PaymentOptions.Monthly.MonthlyPrice)+' '+SBCvrnQuoteText+')');$SBCVehicleQuote.html('(&pound;'+parseAmount(viewModelData.PaymentOptions.Monthly.MonthlyPrice)+' '+SBCvrnQuoteText+')');var _model=aa.salesJourneyApp.models;var smartVehicles=_model.PricingSummaryBlock.PricingSummary.SmartVehicles;_model.PricingSummaryBlock.DynamicContent.IsSmartBreakdownCover=false;if(smartVehicles&&smartVehicles.length>0){for(var s=0;s<smartVehicles.length;s++){if(smartVehicles[s].isSmartSelected){_model.PricingSummaryBlock.DynamicContent.IsSmartBreakdownCover=true;break;}}}
_model.PricingSummaryBlock.DynamicContent.AnnualPrice=viewModelData.PaymentOptions.YearlyFromAccount.AnnualPrice;_model.PricingSummaryBlock.DynamicContent.MonthlyPrice=viewModelData.PaymentOptions.Monthly.MonthlyPrice;_model.PricingSummaryBlock.DynamicContent.AvgQuotedPrice=parsedAvgQuotedAmount;_model.PricingSummaryBlock.DynamicContent.DeltaAmount=parsedDeltaAmount;$block=aa.salesJourneyApp.cache.$blocks.find('.blocks-visible .pricing-summary');infotext=_model.PricingSummaryBlock.CaveatText;$cavetTextblock=aa.salesJourneyApp.cache.$blocks.find('.pricing-summary-information-content1');aa.salesJourneyApp.helpers.renderDynamicMarkup(_model,infotext,$cavetTextblock);if(monthlyDeltaAmount<=0){}else{if(!isSmartBreakdownCover){}}}
function yearlyPayment(){var isSmartBreakdownCover=viewModelData.PaymentOptions.YearlyFromAccount.IsSmartBreakdownCover;if(isSmartBreakdownCover){price=viewModelData.PaymentOptions.YearlyFromAccount.TotalWithSBC.split('.');$SmartPriceValue.text(parseFloat(aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.PaymentOptions.YearlyFromAccount.AnnualPrice));$SmartPrice.show();}else{price=viewModelData.PaymentOptions.YearlyFromAccount.Total.split('.');$SmartPrice.hide();}
AvgQuotedPrice=viewModelData.PaymentOptions.YearlyFromAccount.AvgQuotedPrice;if($chosenPaymentFrequency.length&&yearlyFrequency){$chosenPaymentFrequency.text(yearlyFrequency.Text);}
var parsedAvgQuotedAmount='';if($AvgQuotedPrice.length&&yearlyFrequency){aa.salesJourneyApp.models.PricingSummaryBlock.DynamicContent.MonthlyFromAccount=false;parsedAvgQuotedAmount=parseFloat(yearlyAvgQuoted);$AvgQuotedPrice.text(parsedAvgQuotedAmount);var index=$AvgQuotedPrice.text().indexOf(".");if(index>-1){parsedAvgQuotedAmount=parseFloat(yearlyAvgQuoted).toFixed(2);$AvgQuotedPrice.text(parsedAvgQuotedAmount).text();}}
var parsedDeltaAmount='';if($DeltaAmount.length&&yearlyFrequency){aa.salesJourneyApp.models.PricingSummaryBlock.DynamicContent.MonthlyFromAccount=false;parsedDeltaAmount=parseFloat(yearlyDeltaAmount);$DeltaAmount.text(parsedDeltaAmount);var index=$DeltaAmount.text().indexOf(".");if(index>-1){parsedDeltaAmount=parseFloat(yearlyDeltaAmount).toFixed(2);$DeltaAmount.text(parsedDeltaAmount).text();}}
if(!isNaN(viewModelData.PaymentOptions.Monthly.PriceBreakdown.PRD_UK_0018)){$vrnOption.html('(&pound;'+parseFloat(viewModelData.PaymentOptions.YearlyFromAccount.PriceBreakdown.PRD_UK_0018).toFixed(2)+' '+vrnQuoteText+')');$pgVehicleQuote.html('(&pound;'+parseFloat(viewModelData.PaymentOptions.YearlyFromAccount.PriceBreakdown.PRD_UK_0018).toFixed(2)+' '+vrnQuoteText+')');}
$SBCVrnOption.html('(&pound;'+parseAmount(viewModelData.PaymentOptions.YearlyFromAccount.AnnualPrice)+' '+SBCvrnQuoteText+')');$SBCVehicleQuote.html('(&pound;'+parseAmount(viewModelData.PaymentOptions.YearlyFromAccount.AnnualPrice)+' '+SBCvrnQuoteText+')');var _model=aa.salesJourneyApp.models;var smartVehicles=_model.PricingSummaryBlock.PricingSummary.SmartVehicles;_model.PricingSummaryBlock.DynamicContent.IsSmartBreakdownCover=false;if(smartVehicles&&smartVehicles.length>0){for(var s=0;s<smartVehicles.length;s++){if(smartVehicles[s].isSmartSelected){_model.PricingSummaryBlock.DynamicContent.IsSmartBreakdownCover=true;break;}}}
_model.PricingSummaryBlock.DynamicContent.AnnualPrice=viewModelData.PaymentOptions.YearlyFromAccount.AnnualPrice;_model.PricingSummaryBlock.DynamicContent.AvgQuotedPrice=parsedAvgQuotedAmount;_model.PricingSummaryBlock.DynamicContent.DeltaAmount=parsedDeltaAmount;if(aa.salesJourneyApp.helpers.isDefined(viewModelData.PaymentOptions.Monthly)){_model.PricingSummaryBlock.DynamicContent.MonthlyPrice=viewModelData.PaymentOptions.Monthly.MonthlyPrice;}
$block=aa.salesJourneyApp.cache.$blocks.find('.blocks-visible .pricing-summary');infotext=_model.PricingSummaryBlock.CaveatText;$cavetTextblock=aa.salesJourneyApp.cache.$blocks.find('.pricing-summary-information-content1');aa.salesJourneyApp.helpers.renderDynamicMarkup(_model,infotext,$cavetTextblock);if(yearlyDeltaAmount<=0){}
else{if(!isSmartBreakdownCover){}}}
if((aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.PaymentOptions.Monthly)||aa.salesJourneyApp.helpers.isDefined(viewModelData.PaymentOptions.Monthly))&&((paymentFrequency==='Monthly')&&aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.PaymentOptions.Monthly.Selected||viewModelData.PaymentOptions.Monthly.Selected)){monthlyPayment();}else if(((aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.PaymentOptions.YearlyFromAccount)||aa.salesJourneyApp.helpers.isDefined(viewModelData.PaymentOptions.YearlyFromAccount))&&(paymentFrequency==='Yearly')&&aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.PaymentOptions.YearlyFromAccount.Selected||viewModelData.PaymentOptions.YearlyFromAccount.Selected)||((aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.PaymentOptions.YearlyFromCard)||aa.salesJourneyApp.helpers.isDefined(viewModelData.PaymentOptions.YearlyFromCard))&&(paymentFrequency==='Yearly')&&aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.PaymentOptions.YearlyFromCard.Selected||viewModelData.PaymentOptions.YearlyFromCard.Selected)){yearlyPayment();}
if(aa.salesJourneyApp.helpers.isDefined(price[1])&&parseInt(price[1])>0){displayPrice($largePrice,$smallPrice,price[0],price[1],true);}else{displayPrice($largePrice,$smallPrice,price[0],price[1],false);}}});if(typeof callback==='function'){callback();}}
function retrieveVrnSelection(vehiclesData){var urlString=window.location.href.toLowerCase();if((urlString.indexOf("uk-hmc")!=-1)||(urlString.indexOf("uk-fst")!=-1)){setTimeout(_retrieveVrnSelection,700)}else{_retrieveVrnSelection()}
function _retrieveVrnSelection(){var $savedVehicleList=$blocks.find('.detailed-pricing-summary').find('.pg-vehicles').find('.registered-vehicles'),$savedVehicleBlock=$blocks.find('.detailed-pricing-summary').find('.pg-vehicles'),$vrnCapture=$blocks.find('.vrn-capture input[type="checkbox"]').is(':checked'),$savedSBCVehicleBlock=$blocks.find('.detailed-pricing-summary').find('.smart-vehicles'),$savedSBCVehicleList=$blocks.find('.detailed-pricing-summary').find('.smart-vehicles').find('.registered-vehicles'),vehicleDetails,vehicleMarkup=[];$vrnCapture=$blocks.find('.vrn-capture input[type="checkbox"]').is(':checked')
if(aa.salesJourneyApp.helpers.isDefined(vehiclesData)){for(var i=0;i<vehiclesData.Vehicles.length;i+=1){vehicleDetails=vehiclesData.Vehicles[i];for(var j=i+1;j<vehiclesData.Vehicles.length;j+=1){if(vehiclesData.Vehicles[i].Vrn===vehiclesData.Vehicles[j].Vrn){vehiclesData.Vehicles.splice(vehiclesData.Vehicles[i],1);}}
if(aa.salesJourneyApp.helpers.isDefined(vehicleDetails.Vrn)){vehicleMarkup.push('<li><span class="vrn-label" data-vrn-field="vrn-'+i+'">'+aa.salesJourneyApp.helpers.ifVehicleSpec('',vehicleDetails.Vrn)+'</span><span>'+aa.salesJourneyApp.helpers.ifVehicleSpec('',vehicleDetails.Make)+aa.salesJourneyApp.helpers.ifVehicleSpec(' ',vehicleDetails.Model)+'</span></li>');$savedVehicleBlock.show();$savedVehicleList.closest('.vehicle-list').show();$savedVehicleList.empty();$savedVehicleList.show().append(vehicleMarkup.join(''));var isEvo2Enabled=($('#button-cover-agree').length>0);if(!isEvo2Enabled){if(!aa.salesJourneyApp.models.PricingSummaryBlock.PricingSummary.IsPartsAndGarageSelected){aa.salesJourneyApp.cache.$main.find('.pg-vehicles > .vehicles-list').hide();aa.salesJourneyApp.cache.$main.find('.pg-vehicles').hide();$savedVehicleList.closest('.vehicle-list').hide();$savedVehicleList.empty();}}}}
var smartVehicles=vehiclesData.SmartVehicles;}
$savedSBCVehicleList.empty();$savedSBCVehicleList.hide();$savedSBCVehicleBlock.hide();if(smartVehicles&&smartVehicles.length>0){for(var s=0;s<smartVehicles.length;s++){if(smartVehicles[s].isSmartSelected){renderSBCVehicle(smartVehicles[s]);break;}}}
function renderSBCVehicle(smartVehicleDetails){var markup='<li><span class="vrn-label">'+aa.salesJourneyApp.helpers.ifVehicleSpec('',smartVehicleDetails.Vrn)+'</span><span>'+
aa.salesJourneyApp.helpers.ifVehicleSpec('',smartVehicleDetails.Make)+
aa.salesJourneyApp.helpers.ifVehicleSpec(' ',smartVehicleDetails.Model)+'</span></li>';$savedSBCVehicleBlock.show();$savedSBCVehicleList.show().append(markup);$savedSBCVehicleList.closest('.vehicle-list').show();}}}
function displayErrorMessage(response){if(response.HasError&&response.ErrorAction==='Lightbox'){aa.salesJourneyApp.helpers.serviceErrorModal();}
if(response.HasError&&response.ErrorAction==='Redirection'){window.location.href=aa.salesJourneyApp.config.redirectionUrl;}}
if(aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.cache.fromSavePaymentFrequency)&&aa.salesJourneyApp.cache.fromSavePaymentFrequency===true&&aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.cache.PriceingService)){var response=aa.salesJourneyApp.cache.PriceingService;if(aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.cache.isYearly)&&aa.salesJourneyApp.cache.isYearly===true){if(aa.salesJourneyApp.helpers.isDefined(response.ViewModelData.PaymentOptions.Monthly)){response.ViewModelData.PaymentOptions.Monthly.Selected=false;}
if(aa.salesJourneyApp.helpers.isDefined(response.ViewModelData.PaymentOptions.YearlyFromAccount)){response.ViewModelData.PaymentOptions.YearlyFromAccount.Selected=true;}}
else if(aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.cache.isMonthly)&&aa.salesJourneyApp.cache.isMonthly===true){response.ViewModelData.PaymentOptions.Monthly.Selected=true;response.ViewModelData.PaymentOptions.YearlyFromAccount.Selected=false;}
aa.salesJourneyApp.cache.PriceingService=response;response=aa.salesJourneyApp.cache.PriceingService;setPrices(response,retrieveVrnSelection(response.ViewModelData));aa.salesJourneyApp.helpers.updateAccordion(response.ViewModelData);aa.salesJourneyApp.cache.getResponseFromPrice=true;$('.full-submit').removeClass('disabled processing').attr('disabled',false);if(typeof callback==='function'){callback(response);}
aa.salesJourneyApp.cache.fromSavePaymentFrequency=null;if(aa.salesJourneyApp.helpers.isDefined($("span.large"))&&aa.salesJourneyApp.helpers.isDefined($("span.large").siblings('.loading'))){$("span.large").siblings('.loading').stop().hide();}
return;}
aa.salesJourneyApp.cache.getResponseFromPrice=false;$('.full-submit').addClass('disabled processing').attr('disabled',true);aa.salesJourneyApp.cache.serviceRequest['GetIndicativePrice']=$.ajax({method:'POST',timeout:15000,url:aa.salesJourneyApp.constants.api.GetIndicativePrice+"?math="+new Date().getTime()}).done(function(response){if(aa.salesJourneyApp.helpers.isDefined(response)){aa.salesJourneyApp.cache.PriceingService=response;setPrices(response,retrieveVrnSelection(response.ViewModelData));aa.salesJourneyApp.helpers.updateAccordion(response.ViewModelData);aa.salesJourneyApp.cache.getResponseFromPrice=true;$('.full-submit').removeClass('disabled processing').attr('disabled',false);if(typeof callback==='function'){callback(response);}}}).error(function(jqXHR,textStatus,errorThrown){if(textStatus==="timeout"){aa.salesJourneyApp.cache.serviceError=false;aa.salesJourneyApp.helpers.serviceErrorModal();}}).fail(displayErrorMessage).complete(function(){if(aa.salesJourneyApp.helpers.isDefined($("span.large"))&&aa.salesJourneyApp.helpers.isDefined($("span.large").siblings('.loading'))){$("span.large").siblings('.loading').stop().hide();}});},getVrnBlockState:function(checkVrnBlockStateCallback){var $vrnLookup=aa.salesJourneyApp.cache.$blocks.find('.vrn-lookup'),pgcEditMode=aa.salesJourneyApp.cache.$blocks.find('.vrn-capture .option, .question').data('is-editing');if(aa.salesJourneyApp.cache.currentStep==1){pgcEditMode=true;}
if($vrnLookup.length){pgcEditMode=$vrnLookup.data('is-editing');}
if(typeof aa.salesJourneyApp.cache.serviceRequest['GetVrnBlockDisplayState']!=='undefined'){aa.salesJourneyApp.cache.serviceRequest['GetVrnBlockDisplayState'].abort();}
aa.salesJourneyApp.cache.serviceRequest['GetVrnBlockDisplayState']=$.ajax({method:'GET',url:aa.salesJourneyApp.constants.api.GetVrnBlockDisplayState,data:{isEditing:pgcEditMode}}).done(function(response){if(aa.salesJourneyApp.helpers.isDefined(response)){checkVrnBlockStateCallback(response);}});},getMakesAndModels:function(checkMakesAndModelsCallback){if($.inArray('MakesAndModelsList',aa.salesJourneyApp.cachedViewModels)===-1){aa.salesJourneyApp.cachedViewModels.push('MakesAndModelsList');aa.salesJourneyApp.models.MakesAndModelsList={};function updateMakesAndModelsList(vehicleMakeViewModels){$.each(vehicleMakeViewModels,function(i){var vehicleName=vehicleMakeViewModels[i].value.toUpperCase();aa.salesJourneyApp.models.MakesAndModelsList[vehicleName]=vehicleName;});}
aa.salesJourneyApp.cache.serviceRequest['GetAllMakesAndModels']=$.ajax({method:'POST',url:aa.salesJourneyApp.constants.api.GetAllMakesAndModels}).done(function(response){if(aa.salesJourneyApp.helpers.isDefined(response)&&!response.HasError){updateMakesAndModelsList(response.ViewModelData);if(aa.salesJourneyApp.helpers.isDefined(checkMakesAndModelsCallback)){checkMakesAndModelsCallback();}
aa.salesJourneyApp.cache.$loader.stop().fadeOut(1000);}else{aa.salesJourneyApp.helpers.checkErrorsResponse(response);aa.salesJourneyApp.cache.$loader.stop().fadeOut(1000);}}).fail(function(ajaxCall){if(ajaxCall.statusText!=='abort'){aa.salesJourneyApp.helpers.checkErrorsResponse(ajaxCall);}
aa.salesJourneyApp.cache.$loader.stop().fadeOut(1000);});}else{if(aa.salesJourneyApp.helpers.isDefined(checkMakesAndModelsCallback)){checkMakesAndModelsCallback();}
window.aa.salesJourneyApp.cache.$loader.stop().fadeOut(5000);}},openModal:function(e){aa.salesJourneyApp.cache.scrollPosition=aa.helpers.cache.cachedElements.$window.scrollTop();if($(e)[0]&&$(e)[0].target){if(aa.salesJourneyApp.helpers.isDefined($("#modal-app-placeholder"))&&aa.salesJourneyApp.helpers.isDefined($(".modal-close"))&&aa.salesJourneyApp.helpers.isDefined($("#modal-app-placeholder").html())&&$("#modal-app-placeholder").html().length==0){if($(e)[0]&&$(e)[0].target){if(aa.salesJourneyApp.helpers.isDefined($(e)[0].target)&&aa.salesJourneyApp.helpers.isDefined($(e)[0].target.id)&&$(e)[0].target.id.length>0){window.aa.salesJourneyApp.cache.scrollPositionKeyId=$(e)[0].target.id;}}}}
aa.helpers.cache.cachedElements.$html.addClass('modal-active');aa.salesJourneyApp.cache.$modalScreen.addClass('modal-open').focus();var isEvo2Enabled=($('#button-cover-agree').length>0);if(window.aa.helpers.cache.cachedElements.$window.width()>window.aa.helpers.cache.constants.MOBILE_BREAKPOINT&&window.aa.helpers.cache.cachedElements.$window.width()>window.aa.helpers.cache.constants.TABLET_BREAKPOINT){var modalLeftPos=$('#modal-app-placeholder aside > div:first-child').offset().left;var modalWidth=$('#modal-app-placeholder aside > div:first-child').width();totalWidth=modalLeftPos+modalWidth;$('.modal-window .modal-close').css('left',totalWidth-53)}
if(isEvo2Enabled){if(window.aa.helpers.cache.cachedElements.$window.width()>window.aa.helpers.cache.constants.MOBILE_BREAKPOINT&&window.aa.helpers.cache.cachedElements.$window.width()>window.aa.helpers.cache.constants.TABLET_BREAKPOINT){setTimeout(function(){var modalLeftPos=$('#modal-app-placeholder aside > div:first-child').offset().left;var modalTopPos=$('#modal-app-placeholder aside > div:first-child').offset().top;var modalWidth=$('#modal-app-placeholder aside > div:first-child').width();totalWidth=modalLeftPos+modalWidth;$('.modal-window .modal-close').css({'left':totalWidth-53,'top':modalTopPos});},500);}
stickyCloseBtn();}
function stickyCloseBtn(){var $modalAppScreen=$('#modal-app-screen')
$modalAppScreen.on({scroll:function(){var modalLeftPos=$('#modal-app-placeholder aside > div:first-child').offset().left;var modalTopPos=$('#modal-app-placeholder aside > div:first-child').offset().top;var modalWidth=$('#modal-app-placeholder aside > div:first-child').width();totalWidth=modalLeftPos+modalWidth;$('.modal-window .modal-close').css({'left':totalWidth-53,'top':220});},resize:function(){var modalLeftPos=$('#modal-app-placeholder aside > div:first-child').offset().left;var modalTopPos=$('#modal-app-placeholder aside > div:first-child').offset().top;var modalWidth=$('#modal-app-placeholder aside > div:first-child').width();totalWidth=modalLeftPos+modalWidth;$('.modal-window .modal-close').css({'left':totalWidth-53,'top':220});}});}
setTimeout(function(){aa.salesJourneyApp.cache.$modalScreen.addClass('no-transition');},650);if(client.IE9){aa.salesJourneyApp.cache.$modalScreen.stop().fadeIn().css({bottom:'-100%'}).stop().animate({bottom:0},550);}
aa.helpers.cache.cachedElements.$document.on('keyup',function(e){if($(e)[0]&&$(e)[0].target){if($("#modal-app-placeholder")&&$(".modal-close")&&$("#modal-app-placeholder").html().length==0){if($(e)[0]&&$(e)[0].target){if(aa.salesJourneyApp.helpers.isDefined($(e)[0].target)&&aa.salesJourneyApp.helpers.isDefined($(e)[0].target.id)&&$(e)[0].target.id.length>0){window.aa.salesJourneyApp.cache.scrollPositionKeyId=$(e)[0].target.id;}
else if($($(e)[0].target).is(":hidden")==false&&$($(e)[0].target).is(":button")==false&&aa.salesJourneyApp.helpers.isDefined($(e)[0].target)&&aa.salesJourneyApp.helpers.isDefined($($(e)[0].target).parent())&&aa.salesJourneyApp.helpers.isDefined($($(e)[0].target).parent().parent())&&aa.salesJourneyApp.helpers.isDefined($($(e)[0].target).parent().parent().find('input'))&&$($(e)[0].target).parent().parent().find('input').length>0&&aa.salesJourneyApp.helpers.isDefined($($(e)[0].target).parent().parent().find('input')[0])&&aa.salesJourneyApp.helpers.isDefined($($(e)[0].target).parent().parent().find('input')[0].id)&&$($(e)[0].target).parent().parent().find('input')[0].id.length>0){window.aa.salesJourneyApp.cache.scrollPositionKeyId=$($(e)[0].target).parent().parent().find('input')[0].id;}}}}
if(e.which===27&&aa.salesJourneyApp.cache.$modalScreen.find('.unknown-dimensions').length===0&&aa.salesJourneyApp.cache.$modalScreen.find('.not-eligible').length===0){aa.salesJourneyApp.helpers.destroyModal();}});},destroyModal:function(){function removeContent(){aa.helpers.cache.cachedElements.$html.removeClass('modal-active');setTimeout(function(){window.aa.helpers.cache.cachedElements.$window.scrollTop(window.aa.salesJourneyApp.cache.scrollPosition);},500);aa.salesJourneyApp.cache.$modalScreen.removeClass('modal-open no-transition');aa.salesJourneyApp.cache.$modalContentPlaceholder.empty();}
function closeModal(){if(client.IE9){aa.salesJourneyApp.cache.$modalScreen.fadeOut().css({bottom:0}).stop().animate({bottom:'-100%'},650,removeContent);}else{removeContent();}}
closeModal();},tooltip:function($module){function closeTooltip($moreInformation){$moreInformation.stop().slideUp(200,function(){$(this).removeClass('active');});}
function openTooltip($moreInformation){$moreInformation.stop().slideDown(200,function(){$(this).addClass('active');});}
function onClickEvent(e){var $icon=$(this),$moreInformation=$icon.closest('.more-information').add($icon.closest('.header').find('.more-information')).add($icon.parent().find('.more-information'));e.preventDefault();e.stopPropagation();if(!$moreInformation.hasClass('active')){openTooltip($moreInformation);if($moreInformation.hasClass("help-text-label")){$moreInformation.parent().find('span').addClass('infoUp');}}else{closeTooltip($moreInformation);if($moreInformation.hasClass("help-text-label")){$moreInformation.parent().find('span').removeClass('infoUp');}}}
$module.find('.more-information .ico.close, .ico.info, .tooltip-label, .ico.infoaro').on({keydown:function(e){var key=e.which;if(key==9)return;if(key==13||key==32){e.preventDefault();onClickEvent.bind(this)(e);}},click:onClickEvent});},saveAllBlockData:function(){var blockSaved=[];var keyStopper=false;function saveBlocksKeyDown(e){var keyCode=e.keyCode||e.which;e.preventDefault();if(keyStopper){return keyCode;}
keyStopper=true;if(keyCode===13||keyCode===32){var $input=$(this);$input.trigger("click");$input.addClass('disabled processing').attr('disabled',true);}
return keyCode;}
function saveBlocksKeyUp(e){e.preventDefault();keyStopper=false;}
function saveBlocksKeyPress(e){e.preventDefault();return false;}
function saveBlocks(e){e.preventDefault();var $submit=$(this),$visibleBlock=$submit.closest('.blocks-visible'),$formModule=$visibleBlock.find('.form-module').not('.question'),$fourthMemberDetails=$formModule.filter('.additional-member-details').eq(2),$coverDetailsModule=$formModule.filter('.cover-details-module'),$addressLookupFields=aa.helpers.cache.cachedElements.$body.find('.address-lookup-fields'),$vrnInput=$coverDetailsModule.find('#vehicle-reg'),$additionalVrn=$visibleBlock.find('.additional-vrn .registration-number'),$marketingPrefereceModule=$formModule.filter('#marketing-preferences-block'),$blockError,$firstBlockError;function filterVisibleErrors($selector){$selector.each(function(){var $target=$(this);if(!$target.parent().is('.hidden')){$firstBlockError=$target;return false;}else{$firstBlockError=$target.parent().siblings('.form-section').find('input').eq(0);}});}
function scrollToError(){$blockError=$submit.closest('.sales-journey-blocks').find('.errors').find('.error');filterVisibleErrors($blockError);if(!aa.salesJourneyApp.helpers.isDefined($firstBlockError)){$firstBlockError=$blockError.first();}
if($addressLookupFields.find('.full-address-fields').find('.error').length){$addressLookupFields.find('#checkYourAddress').show();$("#checkYourAddress").show();$addressLookupFields.find('.find-address-trigger').addClass('err-msg-visible');}
else{$addressLookupFields.find('#checkYourAddress').hide();$("#checkYourAddress").hide();}
if(!$addressLookupFields.find('.confirm-address-trigger').is('.hidden')){$addressLookupFields.find('.confirm-your-address-err').show();$(".confirm-your-address-err").show();}
var scrollUp=0;if($firstBlockError.hasClass('year')||$firstBlockError.hasClass('month')||$firstBlockError.hasClass('day')){scrollUp=$firstBlockError.parents('.date-of-birth-group').offset().top-$('#sales-journey-header').outerHeight()-parseFloat($blockError.css('margin-bottom'))}
else{scrollUp=$firstBlockError.offset().top-$('#sales-journey-header').outerHeight()-parseFloat($blockError.css('margin-bottom'))}
aa.helpers.cache.cachedElements.$html.add(aa.helpers.cache.cachedElements.$body).animate({scrollTop:scrollUp},100,function(){aa.salesJourneyApp.cache.$blocks.find('.error').eq(0).find('input').first().focus();});}
function checkEmail(a){return /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(a);}
aa.salesJourneyApp.cache.coverOptionsChanged=false;$submit.addClass('disabled processing');setTimeout(function(){});if($visibleBlock.filter('.payment').length){$submit.removeClass('disabled processing').attr('disabled',false);return;}
aa.salesJourneyApp.cache.$blocks.find('.blocks-visible .mod-form').each(function(){var $form=$(this);if($form.is($fourthMemberDetails)&&(!$fourthMemberDetails.find('input[type="text"]').val().length&&!$fourthMemberDetails.find('input[type="radio"]').is(':checked')&&!$fourthMemberDetails.find('input[type="checkbox"]').is(':checked'))){return;}
if($form.is('.cover-details-module')){if($vrnInput.length&&$coverDetailsModule.find('.your-vehicles td').length===0){aa.salesJourneyApp.helpers.checkRegistrationNumber($vrnInput);}
if(!$('#checkYourAddress').is('.hidden')){$('.dynamic-address-fields').addClass('error');}
else{$('.dynamic-address-fields').removeClass('error');$('#checkYourAddress').hide();}
return;}else if($form.is('.additional-details')&&$form.find('.additional-vrn').length){if($form.find('.additional-vrn').val().length){aa.salesJourneyApp.helpers.checkRegistrationNumber($form.find('.additional-vrn').val());}
return;}
formValidation.api[$form.data('id')].validateForm();if($form.is('.contact-details')&&$('.emailReasonBlock').length){var emailId=$('*[data-transfer-model="Email"]'),emailIdOpt=$('*[data-transfer-model="DocChannelPref"]'),emailParentFormField=$(emailId).closest('.form-field'),isReasonChecked=false;emailId.on("input",function(){$('input[name="EmailReason"]').prop('checked',function(){return this.getAttribute('checked')=='checked';});$('input[name="EmailReason"]').each(function(e,i){$(this).parent().find('span').removeClass('checked');$(this).parent().parent().find('label').removeClass('checked');});$('#emailReason').hide();});$('input[name="EmailReason"]').change(function(){if($("input[name='EmailReason']:checked").length>0){$("#EmailReasonErr").hide();}else{$("#EmailReasonErr").show();}});if(emailId.val().length==0){$("input[name^='EmailReason']:radio").each(function(e,v){if($(':radio[name="'+$(this).attr('name')+'"]:checked').length){isReasonChecked=true;}});if(!isReasonChecked){$('#emailReason').show();$("#EmailReasonErr").show();$('#emailError').hide();$('#emailError>div').css("display","none");$form.addClass('errors');emailId.addClass('error');$form.find("form").addClass('errors');aa.helpers.cache.cachedElements.$html.add(aa.helpers.cache.cachedElements.$body).animate({scrollTop:$("input[type='email']").offset().top},100);}else{$("#EmailReasonErr").hide();$form.removeClass('errors');emailId.removeClass('error');$form.find("form").removeClass('errors');}}else{if(emailId.val().length&&checkEmail(emailId.val())==false){$('#emailError').show();$('#emailError>div').css("display","block");$form.addClass('errors');emailId.addClass('error');$form.find("form").addClass('errors');aa.helpers.cache.cachedElements.$html.add(aa.helpers.cache.cachedElements.$body).animate({scrollTop:$("input[type='email']").offset().top},100);}}}});$blockError=$submit.closest('.sales-journey-blocks').find('.errors');$formModule.each(function(){var blockNameSpace=$(this).data('namespace');if(!$blockError.length&&aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.modules[blockNameSpace])){if($.inArray(blockNameSpace,blockSaved)===-1){blockSaved.push(blockNameSpace);}}});if($blockError.length){scrollToError();setTimeout(function(){$submit.removeClass('disabled processing').attr('disabled',false);$submit.on('click');});$formModule.find('input').on('change',function(){var $formContainer=$(this).closest('.mod-form');if($formContainer.length&&!($formContainer.hasClass('personal-details'))&&!($formContainer.hasClass('contact-details'))){formValidation.api[$formContainer.data('id')].validateForm();}});$submit.off('click');return false;}else if(aa.salesJourneyApp.cache.$blocks.find('.blocks-visible .terms-not-accepted').length){return false;}else{for(var i=0;i<blockSaved.length;i+=1){if(aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.modules[blockSaved[i]].saveAction)&&typeof aa.salesJourneyApp.modules[blockSaved[i]].saveAction==='function'){aa.salesJourneyApp.modules[blockSaved[i]].saveAction();aa.salesJourneyApp.cache.savingCompleted=false;}}
$(document).ajaxStop(function(){if(!aa.salesJourneyApp.cache.savingCompleted&&!aa.salesJourneyApp.cache.coverOptionsChanged){aa.salesJourneyApp.cache.savingCompleted=true;aa.salesJourneyApp.cache.$main.find('.blocks-visible').find('.next-step').attr('disabled',false);aa.salesJourneyApp.cache.saveBlockInProgress=false;if(!aa.salesJourneyApp.cache.currentStepLoaded){window.aa.salesJourneyApp.application.goToNextStep();aa.salesJourneyApp.cache.currentStepLoaded=true;}}else{aa.salesJourneyApp.cache.currentStepLoaded=false;$submit.removeClass('disabled processing').attr('disabled',false);}
$submit.removeClass('disabled processing').attr('disabled',false);});}}
aa.salesJourneyApp.cache.$blocks.off('click',saveBlocks).on('click','.full-submit',saveBlocks);aa.salesJourneyApp.cache.$blocks.off('keypress',saveBlocksKeyPress).on('keypress','.full-submit',saveBlocksKeyPress);aa.salesJourneyApp.cache.$blocks.off('keyup',saveBlocksKeyUp).on('keyup','.full-submit',saveBlocksKeyUp);aa.salesJourneyApp.cache.$blocks.off('keydown',saveBlocksKeyDown).on('keydown','.full-submit',saveBlocksKeyDown);},validateForm:function($field){var $form=$field.closest('.mod-form');if($form.hasClass('errors')){formValidation.api[$form.data('id')].validateForm();}},showloader:function(){if(window.aa.salesJourneyApp.helpers.isDefined($("span.large"))&&window.aa.salesJourneyApp.helpers.isDefined($("span.large").siblings('.loading'))){$("span.large").siblings('.loading').show();}},hideloader:function(){if(window.aa.salesJourneyApp.helpers.isDefined($("span.large"))&&window.aa.salesJourneyApp.helpers.isDefined($("span.large").siblings('.loading'))){$("span.large").siblings('.loading').fadeOut(100);}},saveBlockData:function(endpointId,blockId,dto,callback){aa.salesJourneyApp.cache.saveBlockInProgress=true;if(endpointId!=='SaveAdditionalMemberDetails'&&typeof aa.salesJourneyApp.cache.serviceRequest['saveBlockData'+endpointId]!=='undefined'){aa.salesJourneyApp.cache.serviceRequest['saveBlockData'+endpointId].abort();}
if(aa.salesJourneyApp.cache.saveBlockInProgress){aa.salesJourneyApp.cache.serviceRequest['saveBlockData'+endpointId]=$.ajax({method:'POST',url:aa.salesJourneyApp.constants.api[endpointId],data:JSON.stringify({BlockId:blockId,Data:dto}),contentType:'application/json',dataType:'json'}).done(function(response){if(response.HasError){setTimeout(function(){if($("#loader")){$("#loader").stop().fadeOut(500);window.aa.salesJourneyApp.cache.$main.removeClass('loading');}},500);aa.salesJourneyApp.helpers.checkErrorsResponse(response);return;}
aa.salesJourneyApp.cache.saveBlockInProgress=false;if(typeof callback==='function'&&!aa.salesJourneyApp.cache.saveBlockInProgress){callback(response);}}).fail(function(ajaxCall){if(ajaxCall.statusText!=='abort'){setTimeout(function(){if($("#loader")){$("#loader").stop().fadeOut(500);window.aa.salesJourneyApp.cache.$main.removeClass('loading');}},500);aa.salesJourneyApp.helpers.checkErrorsResponse(ajaxCall);}
if(ajaxCall.status===500){return;}});}
else{}},saveProceedBlockData:function(endpointId,blockId,dto,callback){if(typeof aa.salesJourneyApp.cache.serviceRequest['saveProceedBlockData'+endpointId]!=='undefined'){aa.salesJourneyApp.cache.serviceRequest['saveProceedBlockData'+endpointId].abort();}
var $proceedPayment=aa.salesJourneyApp.cache.$main.find('#card-payment');aa.salesJourneyApp.cache.serviceRequest['saveProceedBlockData'+endpointId]=$.ajax({method:'POST',url:aa.salesJourneyApp.constants.api[endpointId],data:JSON.stringify({BlockId:blockId,Data:dto}),contentType:'application/json',dataType:'json',async:false}).done(function(response){if(response.HasError&&response.ErrorAction==='NoAction'){$proceedPayment.addClass('show-error-msg');aa.helpers.cache.cachedElements.$html.add(aa.helpers.cache.cachedElements.$body).animate({scrollTop:$proceedPayment.offset().top-100},250);}else if(typeof callback==='function'&&!response.HasError){callback();}else{aa.salesJourneyApp.helpers.checkErrorsResponse(response);}}).fail(function(ajaxCall){aa.salesJourneyApp.helpers.checkErrorsResponse(ajaxCall)});},saveProceedSignatureBlockData:function(url,blockId,dto,callback){if($("#loader"))
$("#loader").show();url=aa.salesJourneyApp.constants.api[url];var $proceedPayment=aa.salesJourneyApp.cache.$main.find('#proceed-payment-signature');if($proceedPayment.length){$.ajax({method:'POST',url:url,data:JSON.stringify({BlockId:blockId,Data:dto}),contentType:'application/json',dataType:'json',async:false}).done(function(response){if(response.HasError&&response.ErrorAction!=='Redirection'){$proceedPayment.addClass('show-error-msg');aa.helpers.cache.cachedElements.$html.add(aa.helpers.cache.cachedElements.$body).animate({scrollTop:$proceedPayment.offset().top-100},250);}else if(typeof callback==='function'&&!response.HasError){callback();}else{aa.salesJourneyApp.helpers.checkErrorsResponse(response);}}).fail(function(ajaxCall){aa.salesJourneyApp.helpers.checkErrorsResponse(ajaxCall)});}},renderDynamicMarkup:function(model,view,$container,callback){if(aa.salesJourneyApp.helpers.isDefined(model)){$container.html(Mustache.render(view,model));if(typeof callback==='function'){callback();}}},appendDynamicMarkup:function(model,view,$container,callback){if(aa.salesJourneyApp.helpers.isDefined(model)){$container.append(Mustache.render(view,model));}
if(typeof callback==='function'){callback();}},getStepViewmodel:function(endpointId,stepId,callback){var stepEndpoint=(aa.salesJourneyApp.helpers.isDefined(stepId)?aa.salesJourneyApp.constants.api[endpointId]+'?id='+stepId+'&includeMarkup=true':aa.salesJourneyApp.constants.api[endpointId]+'?includeMarkup=true');function updateBlockModels(models){for(var model in models){aa.salesJourneyApp.models[models[model].ClientSideComponentName.replace(/\s/g,'')]=models[model];}}
aa.salesJourneyApp.cache.serviceRequest['getStepViewmodel'+endpointId]=$.ajax({method:'POST',url:stepEndpoint}).done(function(response){if(aa.salesJourneyApp.helpers.isDefined(response.CurrentStep)&&!response.CurrentStep.ShouldRedirectToServiceNotAvailableUrl){updateBlockModels(response.CurrentStep.Blocks);updateBlockModels(response.CurrentStep.Lightboxes);updateBlockModels(response.CurrentStep.ErrorLightbox);if(typeof callback==='function'){callback(response);aa.salesJourneyApp.cache.$loader.stop().fadeOut(1000);}}else{window.location.href=response.ServiceNotAvailableUrl;}}).fail(function(ajaxCall){if(ajaxCall.statusText!=='abort'){aa.salesJourneyApp.helpers.checkErrorsResponse(ajaxCall);}
aa.salesJourneyApp.cache.$loader.stop().fadeOut(1000);});},checkErrorsResponse:function(response){var $directDebitForm,$sortCode,errorResponse=aa.salesJourneyApp.helpers.isDefined(response.responseJSON)?(aa.salesJourneyApp.helpers.isDefined(response.responseJSON.CurrentStep)?response.responseJSON.CurrentStep:response.responseJSON.Error):response;if(!aa.salesJourneyApp.helpers.isDefined(errorResponse)){aa.salesJourneyApp.cache.$main.find('.full-submit').removeClass('disabled processing').attr('disabled',false);return;}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.RedirectionUrl)){aa.salesJourneyApp.config.redirectionUrl=errorResponse.RedirectionUrl;}else if(aa.salesJourneyApp.config.redirectionUrl===''){aa.salesJourneyApp.config.redirectionUrl='/';}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors)&&errorResponse.Errors["General"]!=undefined){if(errorResponse.Errors["General"].length){if(errorResponse.Errors["General"][0]==="InvalidAccountDetails"){$directDebitForm=aa.salesJourneyApp.cache.$blocks.find('.mod-form').filter('.direct-debit-payment');$accountNumber=$directDebitForm.find('input').filter('.account-number');$directDebitForm.add($directDebitForm.find('.form-section')).addClass('errors');$accountNumber.closest('.form-field').addClass('error').find('[data-validation="minLength"]').show();$directDebitForm.siblings('#proceed-payment').find('.full-submit').prop('disabled',false);aa.helpers.cache.cachedElements.$body.add(aa.helpers.cache.cachedElements.$html).animate({scrollTop:$accountNumber.offset().top-(aa.helpers.cache.cachedElements.$body.find('#sales-journey-header').height()*2)},150);return;}}}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors)&&errorResponse.Errors["General"]!=undefined){if(errorResponse.Errors["General"].length){if(errorResponse.Errors["General"][0]==="InvalidSortCode"){$directDebitForm=aa.salesJourneyApp.cache.$blocks.find('.mod-form').filter('.direct-debit-payment');$sortCode=$directDebitForm.find('input').filter('.sort-code');$directDebitForm.add($directDebitForm.find('.form-section')).addClass('errors');$sortCode.closest('.form-field').addClass('error').find('[data-validation="minLength"]').show();$directDebitForm.siblings('#proceed-payment').find('.full-submit').prop('disabled',false);aa.helpers.cache.cachedElements.$body.add(aa.helpers.cache.cachedElements.$html).animate({scrollTop:$sortCode.offset().top-(aa.helpers.cache.cachedElements.$body.find('#sales-journey-header').height()*2)},150);return;}}}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors)){if(errorResponse.Errors["General"]!=undefined){if(errorResponse.Errors["General"].length){if(errorResponse.Errors["General"][0]==="InvalidTitle"){generalError('.personal-details','.radio-buttons-group')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(errorResponse.Errors["General"][0]==="InvalidFirstName"){generalError('.personal-details','.first-name')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(errorResponse.Errors["General"][0]==="InvalidLastName"){generalError('.personal-details','.last-name')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(errorResponse.Errors["General"][0]==="InvalidDateOfBirth"){generalError('.personal-details','.year-number')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(errorResponse.Errors["General"][0]==="InvalidFirstLine"){generalError('.personal-details','#Address line 1')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(errorResponse.Errors["General"][0]==="InvalidSecondLine"){generalError('.personal-details','#Address line 2')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(errorResponse.Errors["General"][0]==="InvalidPostCode"){generalError('.personal-details','.postcode-field')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(errorResponse.Errors["General"][0]==="InvalidPhoneNumber"){generalError('.personal-details','.telephone-only')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(errorResponse.Errors["General"][0]==="InvalidEmailId"){generalError('.personal-details','#Email')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(errorResponse.Errors["General"][0]==="InvalidReason"){generalError('.personal-details','#emailReason')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}}}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors['saveRequest.Data.Prefix'])){generalError('.personal-details','.radio-buttons-group')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors['saveRequest.Data.FirstName'])){generalError('.personal-details','.first-name')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors['saveRequest.Data.LastName'])){generalError('.personal-details','.last-name')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors['saveRequest.Data.DateOfBirth'])){generalError('.personal-details','.year-number')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors['saveRequest.Data.FirstLine'])){generalError('.personal-details','#Address line 1')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors['saveRequest.Data.SecondLine'])){generalError('.personal-details','#Address line 2')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors['saveRequest.Data.PostCode'])){generalError('.personal-details','.postcode-field')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors['saveRequest.Data.Phone'])){generalError('.personal-details','.telephone-only')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors['saveRequest.Data.Email'])){generalError('.personal-details','#Email')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors['saveRequest.Data.ReasonForNotProvidingEmail'])){generalError('.personal-details','#emailReason')
aa.salesJourneyApp.cache.currentStepLoaded=true;return;}}
function generalError(className,inputFieldClassName){aa.salesJourneyApp.cache.$blocks.find('.mod-form').filter(className).find('input').filter(inputFieldClassName).closest('.form-field').addClass('error').find('[data-validation="minLength"]').show();if($(document).find('.sales-journey-blocks').find(className).offset()!=undefined){aa.helpers.cache.cachedElements.$body.add(aa.helpers.cache.cachedElements.$html).animate({scrollTop:$(document).find('.sales-journey-blocks').find(inputFieldClassName).offset().top-50},150,function(){$(document).find('.sales-journey-blocks').find('.year-number').focus()});}
else{window.location.href=aa.salesJourneyApp.config.redirectionUrl;}}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors)&&(aa.salesJourneyApp.helpers.isDefined(errorResponse.Errors['saveRequest.Data.SortCode'])&&errorResponse.Errors['saveRequest.Data.SortCode'].length)){$directDebitForm=aa.salesJourneyApp.cache.$blocks.find('.mod-form').filter('.direct-debit-payment');$sortCode=$directDebitForm.find('input').filter('.sort-code');$directDebitForm.add($directDebitForm.find('.form-section')).addClass('errors');$sortCode.closest('.form-field').addClass('error').find('[data-validation="minLength"]').show();$directDebitForm.siblings('#proceed-payment').find('.full-submit').prop('disabled',false);aa.helpers.cache.cachedElements.$body.add(aa.helpers.cache.cachedElements.$html).animate({scrollTop:$sortCode.offset().top-(aa.helpers.cache.cachedElements.$body.find('#sales-journey-header').height()*2)},150);return;}
if(aa.salesJourneyApp.helpers.isDefined(response.responseJSON)){if(aa.salesJourneyApp.helpers.isDefined(response.responseJSON.CurrentStep)&&response.responseJSON.Error.Error==true&&response.responseJSON.Error.ErrorAction==='Redirection'){window.location.href=aa.salesJourneyApp.config.redirectionUrl;}
if(aa.salesJourneyApp.helpers.isDefined(response.responseJSON.CurrentStep)&&response.responseJSON.CurrentStep.HasError==true&&response.responseJSON.CurrentStep.ErrorAction==='Redirection'){window.location.href=aa.salesJourneyApp.config.redirectionUrl;}}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.ErrorAction)&&errorResponse.ErrorAction==='NoAction'){return;}
if(aa.salesJourneyApp.helpers.isDefined(errorResponse.ErrorAction)&&(errorResponse.HasError||errorResponse.Error)&&errorResponse.ErrorAction==='Lightbox'){aa.salesJourneyApp.cache.serviceError=false;aa.salesJourneyApp.cache.currentStepLoaded=true;return;}else if(aa.salesJourneyApp.helpers.isDefined(errorResponse.ErrorAction)&&(errorResponse.HasError||errorResponse.Error)&&errorResponse.ErrorAction==='Redirection'){try{var breakDownCoverUrl='breakdown-cover';var _redirectUrl=aa.salesJourneyApp.config.redirectionUrl.replace(breakDownCoverUrl,'').replace('//','');window.location.href=window.location.href.split(breakDownCoverUrl)[0]+breakDownCoverUrl+'/'+_redirectUrl;}catch(ex){window.location.href=aa.salesJourneyApp.config.redirectionUrl;}}else if(aa.salesJourneyApp.helpers.isDefined(errorResponse.ErrorAction)){(aa.salesJourneyApp.helpers.isDefined(errorResponse.ErrorAction)&&(errorResponse.HasError||errorResponse.Error)&&(errorResponse.ErrorAction!=='Lightbox'||errorResponse.ErrorAction!=='Redirection'))
{var breakDownCoverUrl='breakdown-cover';window.location.href=window.location.href.split(breakDownCoverUrl)[0]+breakDownCoverUrl+'/uk-error?ukberr=1001';}}
else{var breakDownCoverUrl='breakdown-cover';window.location.href=window.location.href.split(breakDownCoverUrl)[0]+breakDownCoverUrl+'/uk-error?ukberr=1002';}
aa.salesJourneyApp.cache.$main.find('.full-submit').removeClass('disabled processing').attr('disabled',false);},updatePromoMessages:function(){function renderView(partialView,viewModel,viewModelProperty,$selector){var view=Mustache.render(partialView,viewModel);if(aa.salesJourneyApp.helpers.isDefined(viewModelProperty)){$(view).insertAfter($selector);}}
function renderPriceOption(partialView,viewModel,$selector){var view=Mustache.render(partialView,viewModel);if(aa.salesJourneyApp.helpers.isDefined(viewModel)){$selector.html(view);}}
if(typeof aa.salesJourneyApp.cache.serviceRequest['updatePromoMessages']!=='undefined'){aa.salesJourneyApp.cache.serviceRequest['updatePromoMessages'].abort();}
aa.salesJourneyApp.cache.serviceRequest['updatePromoMessages']=$.ajax({method:'POST',url:aa.salesJourneyApp.constants.api.GetCurrentStepViewModel+'?includeMarkup=true'}).done(function(response){var $coverOptions=aa.salesJourneyApp.cache.$blocks.find('article.cover-options'),$pricingSummary=aa.salesJourneyApp.cache.$blocks.find('.pricing-summary:visible').not('.detailed-pricing-summary'),$detailedPricingSummary=aa.salesJourneyApp.cache.$blocks.find('.pricing-summary:visible').not('.bottom-pricing-summary'),$eligibilityPromoBanner=aa.salesJourneyApp.cache.$blocks.find('#eligibility-promotion-message'),$paymentOptions=aa.salesJourneyApp.cache.$blocks.find('.payment-options'),$contactDetails=aa.salesJourneyApp.cache.$blocks.find('article.contact-details');if(aa.salesJourneyApp.helpers.isDefined(response.CurrentStep.Blocks)&&!response.CurrentStep.ShouldRedirectToServiceNotAvailableUrl){var displayEligibilityPromoBanner=false;for(var i=0;i<response.CurrentStep.Blocks.length;i+=1){if($eligibilityPromoBanner.length){if(displayEligibilityPromoBanner==false){$eligibilityPromoBanner.hide();}}
switch(response.CurrentStep.Blocks[i].ClientSideComponentName){case $coverOptions.data('component-name'):$coverOptions.find('.inline-promo:visible').stop().fadeOut(250).remove();for(var j=0;j<response.CurrentStep.Blocks[i].Options.length;j+=1){if(aa.helpers.cache.cachedElements.$html.add(aa.helpers.cache.cachedElements.$body).find('.online-sales-journey').length){renderView(aa.salesJourneyApp.views.OptionsPromoMessage,response.CurrentStep.Blocks[i].Options[j],response.CurrentStep.Blocks[i].Options[j].PromoMessage,$('[data-option-id='+response.CurrentStep.Blocks[i].Options[j].Id+'] .mobile-description'));}
else{renderView(aa.salesJourneyApp.views.OptionsPromoMessage,response.CurrentStep.Blocks[i].Options[j],response.CurrentStep.Blocks[i].Options[j].PromoMessage,$('[data-option-id='+response.CurrentStep.Blocks[i].Options[j].Id+'] .option-details'));}}
break;case $pricingSummary.data('component-name'):if(aa.salesJourneyApp.helpers.isDefined(response.CurrentStep.Blocks[i].PricingSummary)){$pricingSummary.find('.inline-promo').stop().fadeOut(250).remove();renderView(aa.salesJourneyApp.views.PricingSummaryPromoMessage,response.CurrentStep.Blocks[i].PricingSummary,response.CurrentStep.Blocks[i].PricingSummary.PromoMessage,$pricingSummary.find('.chosen-options'));$detailedPricingSummary.find('.inline-promo').stop().fadeOut(250).remove();renderView(aa.salesJourneyApp.views.PricingSummaryPromoMessage,response.CurrentStep.Blocks[i].PricingSummary,response.CurrentStep.Blocks[i].PricingSummary.PromoMessage,$detailedPricingSummary.find('.chosen-options'));}
break;case $eligibilityPromoBanner.data('component-name'):$eligibilityPromoBanner.show();displayEligibilityPromoBanner=true;if(aa.salesJourneyApp.helpers.isDefined(response.CurrentStep.Blocks[i].PromoMessage)){Mustache.render(aa.salesJourneyApp.views.EligibilityPromoBanner,response.CurrentStep.Blocks[i]);}
break;case $paymentOptions.data('component-name'):if(aa.salesJourneyApp.helpers.isDefined(response.CurrentStep.Blocks[i].MonthlyOption)){renderPriceOption(aa.salesJourneyApp.views.PaymentOptionPrice,response.CurrentStep.Blocks[i].MonthlyOption,$paymentOptions.find('[data-monthly]').closest('.radio-field').find('.table-col').find('.freq-label'));}
if(aa.salesJourneyApp.helpers.isDefined(response.CurrentStep.Blocks[i].YearlyFromCard)){renderPriceOption(aa.salesJourneyApp.views.PaymentOptionPrice,response.CurrentStep.Blocks[i].YearlyFromCard,$paymentOptions.find('[data-yearly-by-card]').closest('.radio-field').find('.table-col').find('.freq-label'));}
if(aa.salesJourneyApp.helpers.isDefined(response.CurrentStep.Blocks[i].YearlyFromAccount)){renderPriceOption(aa.salesJourneyApp.views.PaymentOptionPrice,response.CurrentStep.Blocks[i].YearlyFromAccount,$paymentOptions.find('[data-yearly-from-account]').closest('.radio-field').find('.table-col').find('.freq-label'));}
if(aa.salesJourneyApp.helpers.isDefined(response.CurrentStep.Blocks[i].PromoMessage)){$paymentOptions.find('aside.notes').stop().fadeOut(250).remove();renderView(aa.salesJourneyApp.views.PaymentOptionsPromoMessage,response.CurrentStep.Blocks[i],response.CurrentStep.Blocks[i].PromoMessage,$paymentOptions.find('.form-section'));}
break;}}
if(aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.modules.detailedPricing)){if(aa.helpers.cache.cachedElements.$window.width()>aa.helpers.cache.constants.TABLET_LANDSCAPE&&aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.modules.detailedPricing.scrollingRightRail)){aa.salesJourneyApp.modules.detailedPricing.scrollingRightRail(aa.helpers.cache.cachedElements.$window.scrollTop());}}}else{window.location.href=response.ServiceNotAvailableUrl;}}).fail(function(ajaxCall){if(ajaxCall.statusText!=='abort'){aa.salesJourneyApp.helpers.checkErrorsResponse(ajaxCall);}});},renderNextHelpMeChooseStep:function(name,activeStep,callback){aa.salesJourneyApp.cache.$loader.stop().fadeIn(500);aa.salesJourneyApp.helpers.getStepViewmodel('GetNextStepViewModel',null,function(data){var $questionsBlock=aa.salesJourneyApp.cache.$main.find('.questions-block'),view;if(aa.salesJourneyApp.helpers.isDefined(data.CurrentStep.ClientSideComponent)&&!data.CurrentStep.ShouldRedirectToServiceNotAvailableUrl){for(var i=0;i<data.CurrentStep.Blocks.length;i+=1){view=Mustache.render(data.CurrentStep.ClientSideComponent[data.CurrentStep.Blocks[i].ClientSideComponentName],data.CurrentStep.Blocks[i]);$questionsBlock.hide().append(view);aa.salesJourneyApp.cache.$main.find('.current-question').removeClass('current-question');}
aa.salesJourneyApp.cache.$loader.stop().fadeOut(500);aa.helpers.cache.cachedElements.$html.add(aa.helpers.cache.cachedElements.$body).animate({scrollTop:aa.helpers.cache.cachedElements.$body.offset().top},100);if(aa.salesJourneyApp.helpers.isDefined(activeStep)){aa.salesJourneyApp.helpers.replaceDataToHistory(name,activeStep);}else{aa.salesJourneyApp.helpers.pushDataToHistory(activeStep);}
aa.salesJourneyApp.helpers.getIndicativePrice();aa.salesJourneyApp.application.loadModuleScripts();aa.salesJourneyApp.application.initBlockEvents();$questionsBlock.stop().fadeIn(250);$('.equal-height').each(aa.helpers.panelHeight);if(typeof callback==='function'){callback();}}
else{window.location.href=data.ServiceNotAvailableUrl;}});},getQuestionsBlock:function(blockData){for(var i=0;i<blockData.length;i+=1){if(aa.salesJourneyApp.helpers.isDefined(blockData[i].Answers)){return blockData[i];}}},initpopStateEvents:function(stateData){var $nextQuestionButton=aa.salesJourneyApp.cache.$main.find('.questions-steps .next-question');function goToStep(goBackCallback,goForwardCallback){if(aa.salesJourneyApp.cache.currentStep>stateData){if(typeof goBackCallback==='function'){goBackCallback();}}else if(typeof goForwardCallback==='function'){goForwardCallback();}}
if(aa.salesJourneyApp.cache.$main.find('.vrn-lookup').length&&aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.modules.vrnLookup)){if(aa.salesJourneyApp.helpers.isDefined(stateData)){goToStep(aa.salesJourneyApp.modules.vrnLookup.prevStep);}else{aa.salesJourneyApp.modules.vrnLookup.prevStep();}
return;}
if(aa.salesJourneyApp.cache.$main.find('.promotional-question.current-question').length&&aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.modules.promotionalQuestion)){if(aa.salesJourneyApp.helpers.isDefined(stateData)){goToStep(aa.salesJourneyApp.modules.promotionalQuestion.prevStep,function(){aa.salesJourneyApp.helpers.replaceDataToHistory('question',aa.salesJourneyApp.cache.currentStep);});}else{aa.salesJourneyApp.modules.promotionalQuestion.prevStep();}
return;}
if(aa.salesJourneyApp.cache.$main.find('.product-recommendation.current-question').length&&aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.modules.productRecommendation)){if(aa.salesJourneyApp.helpers.isDefined(stateData)){goToStep(aa.salesJourneyApp.modules.productRecommendation.prevStep,function(){aa.salesJourneyApp.helpers.replaceDataToHistory('question',aa.salesJourneyApp.cache.currentStep);});}else{aa.salesJourneyApp.modules.productRecommendation.prevStep();}
return;}
if(!aa.salesJourneyApp.cache.$main.find('.vrn-lookup').length&&!aa.salesJourneyApp.cache.$main.find('.start-again').hasClass('visible')&&aa.salesJourneyApp.helpers.isDefined(aa.salesJourneyApp.modules.needsAssessment)){if(aa.salesJourneyApp.helpers.isDefined(stateData)){goToStep(function(){if(!aa.salesJourneyApp.cache.$blocks.find('.question').filter(':first').hasClass('current-question')){aa.salesJourneyApp.modules.needsAssessment.prevQuestion();}},function(){if($nextQuestionButton.length){$nextQuestionButton.trigger('click');}});}else if(!aa.salesJourneyApp.cache.$blocks.find('.question').filter(':first').hasClass('current-question')){aa.salesJourneyApp.modules.needsAssessment.prevQuestion();}
return;}},updateAccordion:function(viewmodel){var _self=aa.salesJourneyApp,priceSummary=_self.helpers.isDefined(viewmodel)?viewmodel:_self.models.PricingSummaryBlock.PricingSummary;function doesAccordionExist(){return _self.cache.$accordionItems.length>0;}
function isCurrentStepConfirmationPage(){var $finalStep=_self.cache.$main.find('div.journey-steps li.step:last-child');return $finalStep.hasClass('active');}
function runTextReplacement(){function getViewModel(){var selectedPaymentPlan=getSelectedPaymentPlan(priceSummary);function getSelectedPaymentPlan(priceSummary){var selectedOption;if(_self.helpers.isDefined(priceSummary)){if(_self.helpers.isDefined(priceSummary.PaymentOptions)){for(var optionName in priceSummary.PaymentOptions){if(priceSummary.PaymentOptions[optionName]['Selected']){selectedOption=priceSummary.PaymentOptions[optionName];}}}}
return selectedOption;}
function AccordionViewModel(paymentPlan){this.isMonthlyPayment=0;this.isBasicCover=_self.helpers.isDefined(paymentPlan.PriceBreakdown[_self.config.basicCoverProductCode]);this.isFstJourney=paymentPlan['IsFstJourney'];this.isPartsAndGarageCover=_self.helpers.isDefined(paymentPlan.PriceBreakdown[_self.config.partsAndGarageProductCode]);this.arrangementAndAdministrationFee=paymentPlan['ArrangementFeeTotal'];this.pgcArrangementAndAdministrationFee=paymentPlan['ArrangementFee'];this.partsAndGarageCoverFeeTotal=paymentPlan['PriceBreakdown'][_self.config.partsAndGarageProductCode];this.partsAndGarageCoverFee=this.isPartsAndGarageCover?(this.partsAndGarageCoverFeeTotal-this.pgcArrangementAndAdministrationFee).toFixed(2):null;this.insurancePremiumFee=paymentPlan['InsurancePremium'];this.AnnualPrice=paymentPlan['AnnualPrice'];this.MonthlyPrice=paymentPlan['MonthlyPrice'];this.IsSmartBreakdownCover=paymentPlan['IsSmartBreakdownCover'];this.BaseCoverArrangementFeeTotal=paymentPlan['BaseCoverArrangementFeeTotal'];this.PartsAndGarrageAAFee=paymentPlan['PartsAndGarrageAAFee'];this.AvgQuotedPriceStartDate=paymentPlan['AvgQuotedPriceStartDateString'];this.AvgQuotedPriceEndDate=paymentPlan['AvgQuotedPriceEndDateString'];}
if(_self.helpers.isDefined(selectedPaymentPlan)){return new AccordionViewModel(selectedPaymentPlan);}
return null;}
_self.cache.$accordionItems.each(function(){var $viewElement=$(this);_self.helpers.renderDynamicMarkup(getViewModel(),$viewElement.html(),$viewElement.next());});}
if(doesAccordionExist()){if(isCurrentStepConfirmationPage()&&aa.salesJourneyApp.cache.$main.find('.payment.blocks-visible').length===0){_self.cache.$accordionPlaceholder.hide();return;}
_self.cache.$accordionPlaceholder.show();runTextReplacement();}},serviceErrorModal:function(){var _self=aa.salesJourneyApp,view=_self.views.ErrorModal,viewModel=_self.models.ErrorLightbox;function errorFound(){if(_self.helpers.isDefined(view)===false||_self.helpers.isDefined(viewModel)===false||_self.helpers.isDefined(viewModel.Id)===false){}
else{_self.cache.$modalScreen.find('#modal-app-placeholder').html(Mustache.render(view,viewModel));_self.helpers.openModal();}
aa.salesJourneyApp.cache.$loader.stop().fadeOut(500);aa.salesJourneyApp.cache.serviceError=true;}
if(_self.helpers.isDefined(viewModel)){errorFound();}
$('#modal-app-screen').find('.modal-close').on('click',_self.helpers.destroyModal);$('#blocks').find('.next-step').off('keypress').on('keypress','.next-step',function(e){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();});$('#blocks').find('.next-step').off('keydown').on('keydown','.next-step',function(e){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();});$('#blocks').find('.next-step').off('keyup').on('keyup','.next-step',function(e){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();});$('#blocks').find('.next-step').on('click',function(e){e.preventDefault();if(!_self.cache.serviceError){errorFound();aa.salesJourneyApp.cache.serviceError=false;return false;}});},startAgainModal:function(){var _self=aa.salesJourneyApp,$modalAppScreen=_self.cache.$modalScreen,$module=_self.cache.$main.find('.start-again'),view=_self.views.StartAgainModal,viewTemplate=_self.models[$module.data('model')];_self.cache.$modalScreen.find('#modal-app-placeholder').html(Mustache.render(view,viewTemplate));_self.helpers.openModal();$modalAppScreen.off('click').on('click','.accept',function(e){e.preventDefault();_self.helpers.saveBlockData('StartAgain',$module.data('block-id'),{},function(data){if(_self.helpers.isDefined(data)){window.location.reload();}});});$modalAppScreen.find('.modal-close').add($modalAppScreen.find('.cancel')).on('click',_self.helpers.destroyModal);},pushDataToHistory:function(title,data){var currentState=title+'-'+data;if(!isNaN(parseInt(data))){aa.salesJourneyApp.cache.currentStep=data;}
if(aa.salesJourneyApp.helpers.isDefined(history.pushState)){history.pushState({title:title,data:data,step:currentState},null,window.location.pathname);}},replaceDataToHistory:function(title,data){var currentState=title+'-'+data;if(!isNaN(parseInt(data))){aa.salesJourneyApp.cache.currentStep=data;}
if(aa.salesJourneyApp.helpers.isDefined(history.replaceState)){history.replaceState({title:title,data:data,step:currentState},null,window.location.pathname);}},setActiveRadioField:function($selector){var $closestRadioField=$selector.closest('.radio-field'),$radioFields=$closestRadioField.siblings('.radio-field');$radioFields.removeClass('highlighted');if($selector.is(':checked')){$closestRadioField.addClass('highlighted');}},focusFormElement:function($selector,action){$selector.on({focus:function(){$(this).removeClass('focused');if(!$(this).find("input").is(":checked")){$(this).addClass('focused');}},blur:function(){$(this).removeClass('focused');},keypress:function(e){var $input=$(this).find('input'),keyCode=e.keyCode||e.which;e.stopPropagation();if((keyCode===13||keyCode===32)&&(e.target.id!='input-vrn-registration')){$(this).removeClass('focused');if((keyCode===32)&&(e.target.id!='registration')){e.preventDefault();$input.trigger(action);}}},click:function(e){$(this).removeClass('focused');}});},updateTealiumTags:function(blockid,payment_stage){var $helpMeChooseJourney=aa.salesJourneyApp.cache.$blocks.find('.blocks-visible > .help-me-choose'),url=$helpMeChooseJourney.length&&!$helpMeChooseJourney.find('.last-question').length?aa.salesJourneyApp.constants.api.GetTaggingDataLayer+'?blockId='+$helpMeChooseJourney.data('block-id'):aa.salesJourneyApp.constants.api.GetTaggingDataLayer;if(aa.salesJourneyApp.helpers.isDefined(window.utag)){if(typeof aa.salesJourneyApp.cache.serviceRequest['GetTaggingDataLayer']!=='undefined'){aa.salesJourneyApp.cache.serviceRequest['GetTaggingDataLayer'].abort();}
aa.salesJourneyApp.cache.serviceRequest['GetTaggingDataLayer']=$.ajax({url:url}).done(function(data){window.utag.view(data.DataLayer);});}},restoreFormData:function(){var $selector;if(aa.salesJourneyApp.cache.formsData.length){for(var i=0;i<aa.salesJourneyApp.cache.formsData.length;i+=1){for(var key in aa.salesJourneyApp.cache.formsData[i]){$selector=$('[id="'+key+'"]');if(aa.salesJourneyApp.cache.formsData[i][key]==='true'){$selector.prop('checked',true).parent().find('span').addClass('checked');}else{$selector.val(aa.salesJourneyApp.cache.formsData[i][key]);}}}}},validateNotFoundVrnForm:function($form){var $registrationYearField=$form.find('.registration-year').closest('.form-field'),$registrationYearLengthError=$form.find('[data-minlength]'),$registrationYearInvalidError=$form.find('[data-invalid]'),$makeField=$form.find('.make-select').closest('.form-field'),$makeFieldError=$form.find('.select-make-group [data-required]'),$modelField=$form.find('.model-select').closest('.form-field'),$modelFieldError=$form.find('.select-model-group [data-required]'),$fuelTypeField=$form.find('.fuelType-select').closest('.form-field'),$fuelTypeFieldError=$form.find('.select-fuelType-group [data-required]'),yearOfRegistration=$form.find('.registration-year').val(),make=$form.find('.make-select').val(),model=$form.find('.model-select').val(),fuelType=$form.find('.fuelType-select').val(),year=parseInt(yearOfRegistration,10),currentYear=new Date().getFullYear(),$errorField;var monthField=$('.not-found-vrn-select-month .selected .text')[0].innerText;var currentMonthNumber=new Date().getMonth();var yearField=$('.registration-year').val();var currentYear=new Date().getFullYear();function getMonthFromString(month){return new Date(Date.parse(month+" 1, "+currentYear)).getMonth()};var monthFieldNumber=getMonthFromString(monthField);if(yearOfRegistration.length===4&&make!=='-1'&&model!=='-1'&&(aa.salesJourneyApp.constants.regex.years.test(year)&&year<currentYear)&&($fuelTypeField&&fuelType!=='-1')){$form.removeClass('errors');$form.find('.error').removeClass('error');$form.find('.err-msgs div').hide();return;}
$form.addClass('errors');if(yearOfRegistration.length<4){$registrationYearField.addClass('error');$registrationYearLengthError.show();}else{$registrationYearField.removeClass('error');$registrationYearLengthError.hide();}
if(yearOfRegistration.length!==0&&!aa.salesJourneyApp.constants.regex.years.test(year)||(year>currentYear)||(((year==currentYear)&&(monthFieldNumber>currentMonthNumber)))){$registrationYearField.addClass('error');$registrationYearInvalidError.show();}else{$registrationYearField.removeClass('error');$registrationYearInvalidError.hide();$form.find('.err-msgs div').hide();}
if(make==='-1'){$makeField.addClass('error');$makeFieldError.show();}else{$makeField.removeClass('error');$makeFieldError.hide();}
if(model==='-1'){$modelField.addClass('error');$modelFieldError.show();}else{$modelField.removeClass('error');$modelFieldError.hide();}
if($fuelTypeField){if(fuelType==='-1'){$fuelTypeField.addClass('error');$fuelTypeFieldError.show();}else{$fuelTypeField.removeClass('error');$fuelTypeFieldError.hide();}}
if($form.find('.error').length==0){$form.find('.error').removeClass('error');$form.removeClass('errors');}
$errorField=aa.salesJourneyApp.cache.$main.find('.error');if($errorField.length){aa.helpers.cache.cachedElements.$html.add(aa.helpers.cache.cachedElements.$body).add(aa.salesJourneyApp.cache.$modalScreen).animate({scrollTop:$errorField.eq(0).offset().top-$('#sales-journey-header').outerHeight()-parseFloat($form.find('.form-field').css('margin-bottom'))},100,function(){$errorField.eq(0).find('input').focus();});}},checkNotFoundVrnFormField:function(){var $form=aa.salesJourneyApp.cache.$main.find('.vrn-detailed-search.vrn-not-found');$form.find('input, select').on('change',function(){if($form.filter('.errors').length){aa.salesJourneyApp.helpers.validateNotFoundVrnForm($(this).closest('.vrn-detailed-search'));}});},closeSession:function(){if(typeof aa.salesJourneyApp.cache.serviceRequest['CloseSession']!=='undefined'){aa.salesJourneyApp.cache.serviceRequest['CloseSession'].abort();}
aa.salesJourneyApp.cache.serviceRequest['CloseSession']=$.ajax({method:'POST',url:aa.salesJourneyApp.constants.api.CloseSession}).done(function(data){if(!data.Success){aa.salesJourneyApp.helpers.serviceErrorModal();}}).fail(aa.salesJourneyApp.helpers.serviceErrorModal);},restorePersonalDetails:function($block){var $dateGroup=$block.find('.date-of-birth-group'),$membertitle=$block.find('.radio-buttons-group'),$firstNameGroup=$block.find('.first-name-group'),$lastNameGroup=$block.find('.last-name-group'),$blueDadge=$block.find('.checkbox-field').filter('.information'),birthDate=$dateGroup.data('selected-birth-date'),birthDateValues=birthDate.split('-').reverse();if((!$membertitle)||$membertitle.length==0){$membertitle=$block.find('.radio-buttons-group')}
function setCheckedState(data,$selector){if(aa.salesJourneyApp.helpers.isDefined(data)&&data==='checked'){$selector.prop('checked',true).parent().find('span').addClass('checked');$selector.find('label').addClass('checked');}else if(aa.salesJourneyApp.helpers.isDefined(data)){$selector.eq(data).prop('checked',true).parent().find('span').addClass('checked');$selector.find('label').addClass('checked');}}
$dateGroup.each(function(){if(birthDate&&birthDate!=='0001-01-01T00:00:00'){birthDateValues[0]=birthDateValues[0].replace('T00:00:00','');for(var i=0;i<birthDateValues.length;i+=1){$dateGroup.find('.dob-input').eq(i).val(birthDateValues[i]);}}});$blueDadge.each(function(){var $fieldGroup=$(this);setCheckedState($fieldGroup.data('blue-badge'),$fieldGroup.find('input[type="checkbox"]'));});if($firstNameGroup.length>0&&($firstNameGroup.find('input[type="text"]').val()!=""||$lastNameGroup.find('input[type="text"]').val()!="")){$membertitle.each(function(){var $fieldGroup=$(this);$fieldGroup.find('input[type="radio"]').each(function(){$(this).prop('checked',false);})
$fieldGroup.find('input[type="radio"]').each(function(){if($(this).not(":checked")){$(this).parent().find('span').removeClass("checked");}})
setCheckedState($fieldGroup.data('selected-prefix'),$fieldGroup.find('input[type="radio"]'));});}},genericAjax:function(method,url,data,cb){var reqData=(method=="GET")?$.param(data):data;$.ajax({method:method,url:url,data:reqData,contentType:'application/json',dataType:'json'}).done(function(response){cb(response);}).fail(function(ajaxCall){console.error("Helper: genericAjax failed. Request:"+method+":"+url);})}};