(function(){Class("VUI.Templates",{loadTemplates:function(a){a=a||{};if(a.hogan)return a=new Hogan.Template(a.hogan),this._populateTemplate.bind(this,a);var b=this;a.componentId?a=a.componentId:(a=this.$name.split("."),a=(a.join(".")+"."+a[a.length-1]).toLowerCase());b._templates=Object.map(Object.getFromPath(templates,a).hoganTemplates,function(a){return new Hogan.Template(a)});b.templates=Object.map(b._templates,function(a){return b._populateTemplate.bind(b,a)});return b.templates},_populateTemplate:function(a,
b){b?b.ctx=ctx:b={ctx:ctx};window._sourcePage&&(b._sourcePageTag="\x3cinput name\x3d'_sourcePage' type\x3d'hidden' value\x3d'"+window._sourcePage+"'/\x3e");var c=a.render(b,this._templates);return(new Element("div",{html:c})).getFirst()}});Element.implement({resolveElements:function(a){var b=this;return Object.map(a,function(a){a=b.getElements(a);switch(a.length){case 0:return null;case 1:return a[0];default:return a}})}})})();var Hogan={};
(function(n,k){function l(a){return String(null===a||void 0===a?"":a)}n.Template=function(a,b,c,e){this.r=a||this.r;this.c=c;this.options=e;this.text=b||"";this.buf=k?[]:""};n.Template.prototype={r:function(a,b,c){return""},v:function(a){a=l(a);return p.test(a)?a.replace(q,"\x26amp;").replace(r,"\x26lt;").replace(t,"\x26gt;").replace(u,"\x26#39;").replace(v,"\x26quot;"):a},t:l,render:function(a,b,c){return this.ri([a],b||{},c)},ri:function(a,b,c){return this.r(a,b,c)},rp:function(a,b,c,e){a=c[a];
if(!a)return"";this.c&&"string"==typeof a&&(a=this.c.compile(a,this.options));return a.ri(b,c,e)},rs:function(a,b,c){var e=a[a.length-1];if(m(e))for(var f=0;f<e.length;f++)a.push(e[f]),c(a,b,this),a.pop();else c(a,b,this)},s:function(a,b,c,e,f,d,g){if(m(a)&&0===a.length)return!1;"function"==typeof a&&(a=this.ls(a,b,c,e,f,d,g));c=""===a||!!a;!e&&c&&b&&b.push("object"==typeof a?a:b[b.length-1]);return c},d:function(a,b,c,e){var f=a.split("."),d=this.f(f[0],b,c,e),g=null;if("."===a&&m(b[b.length-2]))return b[b.length-
1];for(a=1;a<f.length;a++)d&&"object"==typeof d&&f[a]in d?(g=d,d=d[f[a]]):d="";if(e&&!d)return!1;e||"function"!=typeof d||(b.push(g),d=this.lv(d,b,c),b.pop());return d},f:function(a,b,c,e){for(var f=!1,d=null,g=!1,h=b.length-1;0<=h;h--)if((d=b[h])&&"object"==typeof d&&a in d){f=d[a];g=!0;break}if(!g)return e?!1:"";e||"function"!=typeof f||(f=this.lv(f,b,c));return f},ho:function(a,b,c,e,f){var d=this.c,g=this.options;g.delimiters=f;a=a.call(b,e,function(a){return d.compile(a,g).render(b,c)});this.b(d.compile(a.toString(),
g).render(b,c));return!1},b:k?function(a){this.buf.push(a)}:function(a){this.buf+=a},fl:k?function(){var a=this.buf.join("");this.buf=[];return a}:function(){var a=this.buf;this.buf="";return a},ls:function(a,b,c,e,f,d,g){b=b[b.length-1];var h=null;if(!e&&this.c&&0<a.length)return this.ho(a,b,c,this.text.substring(f,d),g);h=a.call(b);if("function"==typeof h){if(e)return!0;if(this.c)return this.ho(h,b,c,this.text.substring(f,d),g)}return h},lv:function(a,b,c){b=b[b.length-1];a=a.call(b);"function"==
typeof a&&(a=a.call(b));a=l(a);return this.c&&~a.indexOf("{\\u007B")?this.c.compile(a,this.options).render(b,c):a}};var q=/&/g,r=/</g,t=/>/g,u=/\'/g,v=/\"/g,p=/[&<>\"\']/,m=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}})("undefined"!==typeof exports?exports:Hogan);__registerModule("/nz/co/airnz/vui/common/common.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"common.spinner.updating.availability":"Updating availability","traveller.adults":"Adults","traveller.children":"Children","traveller.infants":"Infants","common.label.journey.journeytype.oneway":"One\x26#8208;way trip","common.label.journey.journeytype.return":"Return trip","common.label.journey.internationalmultistop":"International multistop","common.label.journey.domesticmultistop":"Domestic multistop",
"common.label.serviceclass":"Service class","common.label.serviceclass.economy":"Economy","common.label.serviceclass.premiumeconomy":"Premium Economy","common.label.serviceclass.business":"Business Class","common.label.serviceclass.first":"First Class","common.airpoints.label.airpointdollars":"Airpoints Dollars","common.alert.danger.icon.sronly":"Warning!","common.phone.contact.label":"Contact phone","common.phone.mobile.label":"Mobile phone","common.phone.prefix.example.contact":"9","common.phone.prefix.example.mobile":"21",
"common.phone.number.example.contact":"9 1234567","common.phone.number.example.mobile":"21 1234567"};Locale.define("en-NZ","vui",{common:b});a.default=b});(function(){Array.prototype.find||Array.implement({find:function(a,b){if(null==this)throw new TypeError("Array.prototype.find called on null or undefined");if("function"!==typeof a)throw new TypeError("predicate must be a function");for(var c=Object(this),e=c.length>>>0,d,f=0;f<e;f++)if(d=c[f],a.call(b,d,f,c))return d}});Array.prototype.findBy||Array.implement({findBy:function(a,b){if(null==this)throw new TypeError("Array.prototype.find called on null or undefined");return this.find(function(c){return c[a]===
b})}});Array.implement({sortBy:function(a){if(null==this)throw new TypeError("Array.prototype.sortBy called on null or undefined");return this.sort(function(b,c){var e=b[a],d=c[a];return e<d?-1:e>d?1:0})}});Array.prototype.move||Array.implement({move:function(a,b){if(b>=this.length)for(var c=b-this.length;c--+1;)this.push(void 0);this.splice(b,0,this.splice(a,1)[0])}})})();(function(){(function(U){var r=this||(0,eval)("this"),x=r.document,M=r.navigator,t=r.jQuery,F=r.JSON;(function(t){"function"===typeof define&&define.amd?define(["exports","require"],t):"function"===typeof require&&"object"===typeof exports&&"object"===typeof module?t(module.exports||exports):t(r.ko={})})(function(N,O){function J(a,c){return null===a||typeof a in Q?a===c:!1}function R(a,c){var d;return function(){d||(d=setTimeout(function(){d=void 0;a()},c))}}function S(a,c){var d;return function(){clearTimeout(d);
d=setTimeout(a,c)}}function K(b,c,d,e){a.bindingHandlers[b]={init:function(b,h,k,l,m){var g,u;a.computed(function(){var p=a.utils.unwrapObservable(h()),l=!d!==!p,q=!u;if(q||c||l!==g)q&&a.computedContext.getDependenciesCount()&&(u=a.utils.cloneNodes(a.virtualElements.childNodes(b),!0)),l?(q||a.virtualElements.setDomNodeChildren(b,a.utils.cloneNodes(u)),a.applyBindingsToDescendants(e?e(m,p):m,b)):a.virtualElements.emptyNode(b),g=l},null,{disposeWhenNodeIsRemoved:b});return{controlsDescendantBindings:!0}}};
a.expressionRewriting.bindingRewriteValidators[b]=!1;a.virtualElements.allowedBindings[b]=!0}var a="undefined"!==typeof N?N:{};a.exportSymbol=function(b,c){for(var d=b.split("."),e=a,f=0;f<d.length-1;f++)e=e[d[f]];e[d[d.length-1]]=c};a.exportProperty=function(a,c,d){a[c]=d};a.version="3.3.0";a.exportSymbol("version",a.version);a.utils=function(){function b(a,b){for(var d in a)a.hasOwnProperty(d)&&b(d,a[d])}function c(a,b){if(b)for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);return a}function d(a,
b){a.__proto__=b;return a}function e(b,d,c,g){var e=b[d].match(u)||[];a.utils.arrayForEach(c.match(u),function(b){a.utils.addOrRemoveItem(e,b,g)});b[d]=e.join(" ")}var f={__proto__:[]}instanceof Array,h={},k={},l=M&&/Firefox\/2/i.test(M.userAgent)?"KeyboardEvent":"UIEvents";h[l]=["keyup","keydown","keypress"];h.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" ");b(h,function(a,b){if(b.length)for(var d=0,c=b.length;d<c;d++)k[b[d]]=a});var m=
{propertychange:!0},g=x&&function(){for(var a=3,b=x.createElement("div"),d=b.getElementsByTagName("i");b.innerHTML="\x3c!--[if gt IE "+ ++a+"]\x3e\x3ci\x3e\x3c/i\x3e\x3c![endif]--\x3e",d[0];);return 4<a?a:void 0}(),u=/\S+/g;return{fieldsIncludedWithJsonPost:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],arrayForEach:function(a,b){for(var d=0,c=a.length;d<c;d++)b(a[d],d)},arrayIndexOf:function(a,b){if("function"==typeof Array.prototype.indexOf)return Array.prototype.indexOf.call(a,b);
for(var d=0,c=a.length;d<c;d++)if(a[d]===b)return d;return-1},arrayFirst:function(a,b,d){for(var c=0,g=a.length;c<g;c++)if(b.call(d,a[c],c))return a[c];return null},arrayRemoveItem:function(b,d){var c=a.utils.arrayIndexOf(b,d);0<c?b.splice(c,1):0===c&&b.shift()},arrayGetDistinctValues:function(b){b=b||[];for(var d=[],c=0,g=b.length;c<g;c++)0>a.utils.arrayIndexOf(d,b[c])&&d.push(b[c]);return d},arrayMap:function(a,b){a=a||[];for(var d=[],c=0,g=a.length;c<g;c++)d.push(b(a[c],c));return d},arrayFilter:function(a,
b){a=a||[];for(var d=[],c=0,g=a.length;c<g;c++)b(a[c],c)&&d.push(a[c]);return d},arrayPushAll:function(a,b){if(b instanceof Array)a.push.apply(a,b);else for(var d=0,c=b.length;d<c;d++)a.push(b[d]);return a},addOrRemoveItem:function(b,d,c){var g=a.utils.arrayIndexOf(a.utils.peekObservable(b),d);0>g?c&&b.push(d):c||b.splice(g,1)},canSetPrototype:f,extend:c,setPrototypeOf:d,setPrototypeOfOrExtend:f?d:c,objectForEach:b,objectMap:function(a,b){if(!a)return a;var d={},c;for(c in a)a.hasOwnProperty(c)&&
(d[c]=b(a[c],c,a));return d},emptyDomNode:function(b){for(;b.firstChild;)a.removeNode(b.firstChild)},moveCleanedNodesToContainerElement:function(b){b=a.utils.makeArray(b);for(var d=(b[0]&&b[0].ownerDocument||x).createElement("div"),c=0,g=b.length;c<g;c++)d.appendChild(a.cleanNode(b[c]));return d},cloneNodes:function(b,d){for(var c=0,g=b.length,e=[];c<g;c++){var m=b[c].cloneNode(!0);e.push(d?a.cleanNode(m):m)}return e},setDomNodeChildren:function(b,d){a.utils.emptyDomNode(b);if(d)for(var c=0,g=d.length;c<
g;c++)b.appendChild(d[c])},replaceDomNodes:function(b,d){var c=b.nodeType?[b]:b;if(0<c.length){for(var g=c[0],e=g.parentNode,m=0,l=d.length;m<l;m++)e.insertBefore(d[m],g);m=0;for(l=c.length;m<l;m++)a.removeNode(c[m])}},fixUpContinuousNodeArray:function(a,b){if(a.length){for(b=8===b.nodeType&&b.parentNode||b;a.length&&a[0].parentNode!==b;)a.splice(0,1);if(1<a.length){var d=a[0],c=a[a.length-1];for(a.length=0;d!==c;)if(a.push(d),d=d.nextSibling,!d)return;a.push(c)}}return a},setOptionNodeSelectionState:function(a,
b){7>g?a.setAttribute("selected",b):a.selected=b},stringTrim:function(a){return null===a||void 0===a?"":a.trim?a.trim():a.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},stringStartsWith:function(a,b){a=a||"";return b.length>a.length?!1:a.substring(0,b.length)===b},domNodeIsContainedBy:function(a,b){if(a===b)return!0;if(11===a.nodeType)return!1;if(b.contains)return b.contains(3===a.nodeType?a.parentNode:a);if(b.compareDocumentPosition)return 16==(b.compareDocumentPosition(a)&16);for(;a&&a!=b;)a=
a.parentNode;return!!a},domNodeIsAttachedToDocument:function(b){return a.utils.domNodeIsContainedBy(b,b.ownerDocument.documentElement)},anyDomNodeIsAttachedToDocument:function(b){return!!a.utils.arrayFirst(b,a.utils.domNodeIsAttachedToDocument)},tagNameLower:function(a){return a&&a.tagName&&a.tagName.toLowerCase()},registerEventHandler:function(b,d,c){var e=g&&m[d];if(!e&&t)t(b).bind(d,c);else if(e||"function"!=typeof b.addEventListener)if("undefined"!=typeof b.attachEvent){var l=function(a){c.call(b,
a)},f="on"+d;b.attachEvent(f,l);a.utils.domNodeDisposal.addDisposeCallback(b,function(){b.detachEvent(f,l)})}else throw Error("Browser doesn't support addEventListener or attachEvent");else b.addEventListener(d,c,!1)},triggerEvent:function(b,d){if(!b||!b.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var c;"input"===a.utils.tagNameLower(b)&&b.type?"click"!=d.toLowerCase()?c=!1:(c=b.type,c="checkbox"==c||"radio"==c):c=!1;if(t&&!c)t(b).trigger(d);else if("function"==typeof x.createEvent)if("function"==
typeof b.dispatchEvent)c=x.createEvent(k[d]||"HTMLEvents"),c.initEvent(d,!0,!0,r,0,0,0,0,0,!1,!1,!1,!1,0,b),b.dispatchEvent(c);else throw Error("The supplied element doesn't support dispatchEvent");else if(c&&b.click)b.click();else if("undefined"!=typeof b.fireEvent)b.fireEvent("on"+d);else throw Error("Browser doesn't support triggering events");},unwrapObservable:function(b){return a.isObservable(b)?b():b},wrapObservable:function(b){return a.isObservable(b)?b:a.observable(b)},peekObservable:function(b){return a.isObservable(b)?
b.peek():b},toggleDomNodeCssClass:function(b,d,c){var g;d&&("object"===typeof b.classList?(g=b.classList[c?"add":"remove"],a.utils.arrayForEach(d.match(u),function(a){g.call(b.classList,a)})):"string"===typeof b.className.baseVal?e(b.className,"baseVal",d,c):e(b,"className",d,c))},setTextContent:function(b,d){var c=a.utils.unwrapObservable(d);if(null===c||void 0===c)c="";var g=a.virtualElements.firstChild(b);!g||3!=g.nodeType||a.virtualElements.nextSibling(g)?a.virtualElements.setDomNodeChildren(b,
[b.ownerDocument.createTextNode(c)]):g.data=c;a.utils.forceRefresh(b)},setElementName:function(a,b){a.name=b;if(7>=g)try{a.mergeAttributes(x.createElement("\x3cinput name\x3d'"+a.name+"'/\x3e"),!1)}catch(c){}},forceRefresh:function(a){9<=g&&(a=1==a.nodeType?a:a.parentNode,a.style&&(a.style.zoom=a.style.zoom))},ensureSelectElementIsRenderedCorrectly:function(a){if(g){var b=a.style.width;a.style.width=0;a.style.width=b}},range:function(b,c){b=a.utils.unwrapObservable(b);c=a.utils.unwrapObservable(c);
for(var d=[],g=b;g<=c;g++)d.push(g);return d},makeArray:function(a){for(var b=[],c=0,d=a.length;c<d;c++)b.push(a[c]);return b},isIe6:6===g,isIe7:7===g,ieVersion:g,getFormFields:function(b,c){for(var d=a.utils.makeArray(b.getElementsByTagName("input")).concat(a.utils.makeArray(b.getElementsByTagName("textarea"))),g="string"==typeof c?function(a){return a.name===c}:function(a){return c.test(a.name)},e=[],m=d.length-1;0<=m;m--)g(d[m])&&e.push(d[m]);return e},parseJson:function(b){return"string"==typeof b&&
(b=a.utils.stringTrim(b))?F&&F.parse?F.parse(b):(new Function("return "+b))():null},stringifyJson:function(b,c,d){if(!F||!F.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE \x3c 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return F.stringify(a.utils.unwrapObservable(b),c,d)},postJson:function(c,d,g){g=g||{};var e=g.params||{},m=g.includeFields||this.fieldsIncludedWithJsonPost,
l=c;if("object"==typeof c&&"form"===a.utils.tagNameLower(c))for(var l=c.action,f=m.length-1;0<=f;f--)for(var h=a.utils.getFormFields(c,m[f]),u=h.length-1;0<=u;u--)e[h[u].name]=h[u].value;d=a.utils.unwrapObservable(d);var k=x.createElement("form");k.style.display="none";k.action=l;k.method="post";for(var D in d)c=x.createElement("input"),c.type="hidden",c.name=D,c.value=a.utils.stringifyJson(a.utils.unwrapObservable(d[D])),k.appendChild(c);b(e,function(a,b){var c=x.createElement("input");c.type="hidden";
c.name=a;c.value=b;k.appendChild(c)});x.body.appendChild(k);g.submitter?g.submitter(k):k.submit();setTimeout(function(){k.parentNode.removeChild(k)},0)}}}();a.exportSymbol("utils",a.utils);a.exportSymbol("utils.arrayForEach",a.utils.arrayForEach);a.exportSymbol("utils.arrayFirst",a.utils.arrayFirst);a.exportSymbol("utils.arrayFilter",a.utils.arrayFilter);a.exportSymbol("utils.arrayGetDistinctValues",a.utils.arrayGetDistinctValues);a.exportSymbol("utils.arrayIndexOf",a.utils.arrayIndexOf);a.exportSymbol("utils.arrayMap",
a.utils.arrayMap);a.exportSymbol("utils.arrayPushAll",a.utils.arrayPushAll);a.exportSymbol("utils.arrayRemoveItem",a.utils.arrayRemoveItem);a.exportSymbol("utils.extend",a.utils.extend);a.exportSymbol("utils.fieldsIncludedWithJsonPost",a.utils.fieldsIncludedWithJsonPost);a.exportSymbol("utils.getFormFields",a.utils.getFormFields);a.exportSymbol("utils.peekObservable",a.utils.peekObservable);a.exportSymbol("utils.postJson",a.utils.postJson);a.exportSymbol("utils.parseJson",a.utils.parseJson);a.exportSymbol("utils.registerEventHandler",
a.utils.registerEventHandler);a.exportSymbol("utils.stringifyJson",a.utils.stringifyJson);a.exportSymbol("utils.range",a.utils.range);a.exportSymbol("utils.toggleDomNodeCssClass",a.utils.toggleDomNodeCssClass);a.exportSymbol("utils.triggerEvent",a.utils.triggerEvent);a.exportSymbol("utils.unwrapObservable",a.utils.unwrapObservable);a.exportSymbol("utils.objectForEach",a.utils.objectForEach);a.exportSymbol("utils.addOrRemoveItem",a.utils.addOrRemoveItem);a.exportSymbol("utils.setTextContent",a.utils.setTextContent);
a.exportSymbol("unwrap",a.utils.unwrapObservable);a.exportSymbol("wrap",a.utils.wrapObservable);Function.prototype.bind||(Function.prototype.bind=function(a){var c=this;if(1===arguments.length)return function(){return c.apply(a,arguments)};var d=Array.prototype.slice.call(arguments,1);return function(){var e=d.slice(0);e.push.apply(e,arguments);return c.apply(a,e)}});a.utils.domData=new function(){function a(b,h){var k=b[d];if(!k||"null"===k||!e[k]){if(!h)return;k=b[d]="ko"+c++;e[k]={}}return e[k]}
var c=0,d="__ko__"+(new Date).getTime(),e={};return{get:function(c,d){var e=a(c,!1);return void 0===e?void 0:e[d]},set:function(c,d,e){if(void 0!==e||void 0!==a(c,!1))a(c,!0)[d]=e},clear:function(a){var b=a[d];return b?(delete e[b],a[d]=null,!0):!1},nextKey:function(){return c++ +d}}};a.exportSymbol("utils.domData",a.utils.domData);a.exportSymbol("utils.domData.clear",a.utils.domData.clear);a.utils.domNodeDisposal=new function(){function b(b,c){var e=a.utils.domData.get(b,d);void 0===e&&c&&(e=[],
a.utils.domData.set(b,d,e));return e}function c(d){var e=b(d,!1);if(e)for(var e=e.slice(0),l=0;l<e.length;l++)e[l](d);a.utils.domData.clear(d);a.utils.domNodeDisposal.cleanExternalData(d);if(f[d.nodeType])for(e=d.firstChild;d=e;)e=d.nextSibling,8===d.nodeType&&c(d)}var d=a.utils.domData.nextKey(),e={1:!0,8:!0,9:!0},f={1:!0,9:!0};return{addDisposeCallback:function(a,c){if("function"!=typeof c)throw Error("Callback must be a function");b(a,!0).push(c)},removeDisposeCallback:function(c,e){var l=b(c,
!1);l&&(a.utils.arrayRemoveItem(l,e),0==l.length&&a.utils.domData.set(c,d,void 0))},cleanNode:function(b){if(e[b.nodeType]&&(c(b),f[b.nodeType])){var d=[];a.utils.arrayPushAll(d,b.getElementsByTagName("*"));for(var l=0,m=d.length;l<m;l++)c(d[l])}return b},removeNode:function(b){a.cleanNode(b);b.parentNode&&b.parentNode.removeChild(b)},cleanExternalData:function(a){t&&"function"==typeof t.cleanData&&t.cleanData([a])}}};a.cleanNode=a.utils.domNodeDisposal.cleanNode;a.removeNode=a.utils.domNodeDisposal.removeNode;
a.exportSymbol("cleanNode",a.cleanNode);a.exportSymbol("removeNode",a.removeNode);a.exportSymbol("utils.domNodeDisposal",a.utils.domNodeDisposal);a.exportSymbol("utils.domNodeDisposal.addDisposeCallback",a.utils.domNodeDisposal.addDisposeCallback);a.exportSymbol("utils.domNodeDisposal.removeDisposeCallback",a.utils.domNodeDisposal.removeDisposeCallback);(function(){a.utils.parseHtmlFragment=function(b,c){var d;if(t)if(t.parseHTML)d=t.parseHTML(b,c)||[];else{if((d=t.clean([b],c))&&d[0]){for(var e=
d[0];e.parentNode&&11!==e.parentNode.nodeType;)e=e.parentNode;e.parentNode&&e.parentNode.removeChild(e)}}else{(e=c)||(e=x);d=e.parentWindow||e.defaultView||r;var f=a.utils.stringTrim(b).toLowerCase(),e=e.createElement("div"),f=f.match(/^<(thead|tbody|tfoot)/)&&[1,"\x3ctable\x3e","\x3c/table\x3e"]||!f.indexOf("\x3ctr")&&[2,"\x3ctable\x3e\x3ctbody\x3e","\x3c/tbody\x3e\x3c/table\x3e"]||(!f.indexOf("\x3ctd")||!f.indexOf("\x3cth"))&&[3,"\x3ctable\x3e\x3ctbody\x3e\x3ctr\x3e","\x3c/tr\x3e\x3c/tbody\x3e\x3c/table\x3e"]||
[0,"",""],h="ignored\x3cdiv\x3e"+f[1]+b+f[2]+"\x3c/div\x3e";for("function"==typeof d.innerShiv?e.appendChild(d.innerShiv(h)):e.innerHTML=h;f[0]--;)e=e.lastChild;d=a.utils.makeArray(e.lastChild.childNodes)}return d};a.utils.setHtml=function(b,c){a.utils.emptyDomNode(b);c=a.utils.unwrapObservable(c);if(null!==c&&void 0!==c)if("string"!=typeof c&&(c=c.toString()),t)t(b).html(c);else for(var d=a.utils.parseHtmlFragment(c,b.ownerDocument),e=0;e<d.length;e++)b.appendChild(d[e])}})();a.exportSymbol("utils.parseHtmlFragment",
a.utils.parseHtmlFragment);a.exportSymbol("utils.setHtml",a.utils.setHtml);a.memoization=function(){function b(c,e){if(c)if(8==c.nodeType){var f=a.memoization.parseMemoText(c.nodeValue);null!=f&&e.push({domNode:c,memoId:f})}else if(1==c.nodeType)for(var f=0,h=c.childNodes,k=h.length;f<k;f++)b(h[f],e)}var c={};return{memoize:function(a){if("function"!=typeof a)throw Error("You can only pass a function to ko.memoization.memoize()");var b=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*
(1+Math.random())|0).toString(16).substring(1);c[b]=a;return"\x3c!--[ko_memo:"+b+"]--\x3e"},unmemoize:function(a,b){var f=c[a];if(void 0===f)throw Error("Couldn't find any memo with ID "+a+". Perhaps it's already been unmemoized.");try{return f.apply(null,b||[]),!0}finally{delete c[a]}},unmemoizeDomNodeAndDescendants:function(c,e){var f=[];b(c,f);for(var h=0,k=f.length;h<k;h++){var l=f[h].domNode,m=[l];e&&a.utils.arrayPushAll(m,e);a.memoization.unmemoize(f[h].memoId,m);l.nodeValue="";l.parentNode&&
l.parentNode.removeChild(l)}},parseMemoText:function(a){return(a=a.match(/^\[ko_memo\:(.*?)\]$/))?a[1]:null}}}();a.exportSymbol("memoization",a.memoization);a.exportSymbol("memoization.memoize",a.memoization.memoize);a.exportSymbol("memoization.unmemoize",a.memoization.unmemoize);a.exportSymbol("memoization.parseMemoText",a.memoization.parseMemoText);a.exportSymbol("memoization.unmemoizeDomNodeAndDescendants",a.memoization.unmemoizeDomNodeAndDescendants);a.extenders={throttle:function(b,c){b.throttleEvaluation=
c;var d=null;return a.dependentObservable({read:b,write:function(a){clearTimeout(d);d=setTimeout(function(){b(a)},c)}})},rateLimit:function(a,c){var d,e,f;"number"==typeof c?d=c:(d=c.timeout,e=c.method);f="notifyWhenChangesStop"==e?S:R;a.limit(function(a){return f(a,d)})},notify:function(a,c){a.equalityComparer="always"==c?null:J}};var Q={undefined:1,"boolean":1,number:1,string:1};a.exportSymbol("extenders",a.extenders);a.subscription=function(b,c,d){this._target=b;this.callback=c;this.disposeCallback=
d;this.isDisposed=!1;a.exportProperty(this,"dispose",this.dispose)};a.subscription.prototype.dispose=function(){this.isDisposed=!0;this.disposeCallback()};a.subscribable=function(){a.utils.setPrototypeOfOrExtend(this,a.subscribable.fn);this._subscriptions={};this._versionNumber=1};var A={subscribe:function(b,c,d){var e=this;d=d||"change";b=c?b.bind(c):b;var f=new a.subscription(e,b,function(){a.utils.arrayRemoveItem(e._subscriptions[d],f);e.afterSubscriptionRemove&&e.afterSubscriptionRemove(d)});
e.beforeSubscriptionAdd&&e.beforeSubscriptionAdd(d);e._subscriptions[d]||(e._subscriptions[d]=[]);e._subscriptions[d].push(f);return f},subscribeNow:function(a,c,d){(c?a.bind(c):a)(this());return this.subscribe(a,c,d)},notifySubscribers:function(b,c){c=c||"change";"change"===c&&this.updateVersion();if(this.hasSubscriptionsForEvent(c))try{a.dependencyDetection.begin();for(var d=this._subscriptions[c].slice(0),e=0,f;f=d[e];++e)f.isDisposed||f.callback(b)}finally{a.dependencyDetection.end()}},getVersion:function(){return this._versionNumber},
hasChanged:function(a){return this.getVersion()!==a},updateVersion:function(){++this._versionNumber},limit:function(b){var c=this,d=a.isObservable(c),e,f,h;c._origNotifySubscribers||(c._origNotifySubscribers=c.notifySubscribers,c.notifySubscribers=function(a,b){b&&"change"!==b?"beforeChange"===b?c._rateLimitedBeforeChange(a):c._origNotifySubscribers(a,b):c._rateLimitedChange(a)});var k=b(function(){d&&h===c&&(h=c());e=!1;c.isDifferent(f,h)&&c._origNotifySubscribers(f=h)});c._rateLimitedChange=function(a){e=
!0;h=a;k()};c._rateLimitedBeforeChange=function(a){e||(f=a,c._origNotifySubscribers(a,"beforeChange"))}},hasSubscriptionsForEvent:function(a){return this._subscriptions[a]&&this._subscriptions[a].length},getSubscriptionsCount:function(b){if(b)return this._subscriptions[b]&&this._subscriptions[b].length||0;var c=0;a.utils.objectForEach(this._subscriptions,function(a,b){c+=b.length});return c},isDifferent:function(a,c){return!this.equalityComparer||!this.equalityComparer(a,c)},extend:function(b){var c=
this;b&&a.utils.objectForEach(b,function(b,e){var f=a.extenders[b];"function"==typeof f&&(c=f(c,e)||c)});return c}};a.exportProperty(A,"subscribe",A.subscribe);a.exportProperty(A,"extend",A.extend);a.exportProperty(A,"getSubscriptionsCount",A.getSubscriptionsCount);a.utils.canSetPrototype&&a.utils.setPrototypeOf(A,Function.prototype);a.subscribable.fn=A;a.isSubscribable=function(a){return null!=a&&"function"==typeof a.subscribe&&"function"==typeof a.notifySubscribers};a.exportSymbol("subscribable",
a.subscribable);a.exportSymbol("isSubscribable",a.isSubscribable);a.computedContext=a.dependencyDetection=function(){function b(a){d.push(e);e=a}function c(){e=d.pop()}var d=[],e,f=0;return{begin:b,end:c,registerDependency:function(b){if(e){if(!a.isSubscribable(b))throw Error("Only subscribable things can act as dependencies");e.callback(b,b._id||(b._id=++f))}},ignore:function(a,d,e){try{return b(),a.apply(d,e||[])}finally{c()}},getDependenciesCount:function(){if(e)return e.computed.getDependenciesCount()},
isInitial:function(){if(e)return e.isInitial}}}();a.exportSymbol("computedContext",a.computedContext);a.exportSymbol("computedContext.getDependenciesCount",a.computedContext.getDependenciesCount);a.exportSymbol("computedContext.isInitial",a.computedContext.isInitial);a.exportSymbol("computedContext.isSleeping",a.computedContext.isSleeping);a.exportSymbol("ignoreDependencies",a.ignoreDependencies=a.dependencyDetection.ignore);a.observable=function(b){function c(){if(0<arguments.length)return c.isDifferent(d,
arguments[0])&&(c.valueWillMutate(),d=arguments[0],c.valueHasMutated()),this;a.dependencyDetection.registerDependency(c);return d}var d=b;a.subscribable.call(c);a.utils.setPrototypeOfOrExtend(c,a.observable.fn);c.peek=function(){return d};c.valueHasMutated=function(){c.notifySubscribers(d)};c.valueWillMutate=function(){c.notifySubscribers(d,"beforeChange")};a.exportProperty(c,"peek",c.peek);a.exportProperty(c,"valueHasMutated",c.valueHasMutated);a.exportProperty(c,"valueWillMutate",c.valueWillMutate);
return c};a.observable.fn={equalityComparer:J};var H=a.observable.protoProperty="__ko_proto__";a.observable.fn[H]=a.observable;a.utils.canSetPrototype&&a.utils.setPrototypeOf(a.observable.fn,a.subscribable.fn);a.hasPrototype=function(b,c){return null===b||void 0===b||void 0===b[H]?!1:b[H]===c?!0:a.hasPrototype(b[H],c)};a.isObservable=function(b){return a.hasPrototype(b,a.observable)};a.isWriteableObservable=function(b){return"function"==typeof b&&b[H]===a.observable||"function"==typeof b&&b[H]===
a.dependentObservable&&b.hasWriteFunction?!0:!1};a.exportSymbol("observable",a.observable);a.exportSymbol("isObservable",a.isObservable);a.exportSymbol("isWriteableObservable",a.isWriteableObservable);a.exportSymbol("isWritableObservable",a.isWriteableObservable);a.observableArray=function(b){b=b||[];if("object"!=typeof b||!("length"in b))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");b=a.observable(b);a.utils.setPrototypeOfOrExtend(b,
a.observableArray.fn);return b.extend({trackArrayChanges:!0})};a.observableArray.fn={remove:function(b){for(var c=this.peek(),d=[],e="function"!=typeof b||a.isObservable(b)?function(a){return a===b}:b,f=0;f<c.length;f++){var h=c[f];e(h)&&(0===d.length&&this.valueWillMutate(),d.push(h),c.splice(f,1),f--)}d.length&&this.valueHasMutated();return d},removeAll:function(b){if(void 0===b){var c=this.peek(),d=c.slice(0);this.valueWillMutate();c.splice(0,c.length);this.valueHasMutated();return d}return b?
this.remove(function(c){return 0<=a.utils.arrayIndexOf(b,c)}):[]},destroy:function(b){var c=this.peek(),d="function"!=typeof b||a.isObservable(b)?function(a){return a===b}:b;this.valueWillMutate();for(var e=c.length-1;0<=e;e--)d(c[e])&&(c[e]._destroy=!0);this.valueHasMutated()},destroyAll:function(b){return void 0===b?this.destroy(function(){return!0}):b?this.destroy(function(c){return 0<=a.utils.arrayIndexOf(b,c)}):[]},indexOf:function(b){var c=this();return a.utils.arrayIndexOf(c,b)},replace:function(a,
c){var d=this.indexOf(a);0<=d&&(this.valueWillMutate(),this.peek()[d]=c,this.valueHasMutated())}};a.utils.arrayForEach("pop push reverse shift sort splice unshift".split(" "),function(b){a.observableArray.fn[b]=function(){var a=this.peek();this.valueWillMutate();this.cacheDiffForKnownOperation(a,b,arguments);a=a[b].apply(a,arguments);this.valueHasMutated();return a}});a.utils.arrayForEach(["slice"],function(b){a.observableArray.fn[b]=function(){var a=this();return a[b].apply(a,arguments)}});a.utils.canSetPrototype&&
a.utils.setPrototypeOf(a.observableArray.fn,a.observable.fn);a.exportSymbol("observableArray",a.observableArray);a.extenders.trackArrayChanges=function(b){function c(){if(!d){d=!0;var c=b.notifySubscribers;b.notifySubscribers=function(a,b){b&&"change"!==b||++h;return c.apply(this,arguments)};var g=[].concat(b.peek()||[]);e=null;f=b.subscribe(function(c){c=[].concat(c||[]);if(b.hasSubscriptionsForEvent("arrayChange")){var d;if(!e||1<h)e=a.utils.compareArrays(g,c,{sparse:!0});d=e}g=c;e=null;h=0;d&&
d.length&&b.notifySubscribers(d,"arrayChange")})}}if(!b.cacheDiffForKnownOperation){var d=!1,e=null,f,h=0,k=b.beforeSubscriptionAdd,l=b.afterSubscriptionRemove;b.beforeSubscriptionAdd=function(a){k&&k.call(b,a);"arrayChange"===a&&c()};b.afterSubscriptionRemove=function(a){l&&l.call(b,a);"arrayChange"!==a||b.hasSubscriptionsForEvent("arrayChange")||(f.dispose(),d=!1)};b.cacheDiffForKnownOperation=function(b,c,l){function f(a,b,c){return k[k.length]={status:a,value:b,index:c}}if(d&&!h){var k=[],q=b.length,
y=l.length,v=0;switch(c){case "push":v=q;case "unshift":for(c=0;c<y;c++)f("added",l[c],v+c);break;case "pop":v=q-1;case "shift":q&&f("deleted",b[v],v);break;case "splice":c=Math.min(Math.max(0,0>l[0]?q+l[0]:l[0]),q);for(var q=1===y?q:Math.min(c+(l[1]||0),q),y=c+y-2,v=Math.max(q,y),z=[],B=[],I=2;c<v;++c,++I)c<q&&B.push(f("deleted",b[c],c)),c<y&&z.push(f("added",l[I],c));a.utils.findMovesInArrayComparison(B,z);break;default:return}e=k}}}};a.computed=a.dependentObservable=function(b,c,d){function e(a,
b,c){if(I&&b===m)throw Error("A 'pure' computed must not be called recursively");C[a]=c;c._order=G++;c._version=b.getVersion()}function f(){var a,b;for(a in C)if(C.hasOwnProperty(a)&&(b=C[a],b._target.hasChanged(b._version)))return!0}function h(){!w&&C&&a.utils.objectForEach(C,function(a,b){b.dispose&&b.dispose()});C=null;G=0;z=!0;w=q=!1}function k(){var a=m.throttleEvaluation;a&&0<=a?(clearTimeout(A),A=setTimeout(function(){l(!0)},a)):m._evalRateLimited?m._evalRateLimited():l(!0)}function l(b){if(!y&&
!z){if(r&&r()){if(!v){x();return}}else v=!1;y=!0;try{var d=C,g=G,l=I?void 0:!G;a.dependencyDetection.begin({callback:function(a,b){z||(g&&d[b]?(e(b,a,d[b]),delete d[b],--g):C[b]||e(b,a,w?{_target:a}:a.subscribe(k)))},computed:m,isInitial:l});C={};G=0;try{var f=c?B.call(c):B()}finally{a.dependencyDetection.end(),g&&!w&&a.utils.objectForEach(d,function(a,b){b.dispose&&b.dispose()}),q=!1}m.isDifferent(n,f)&&(w||p(n,"beforeChange"),n=f,w?m.updateVersion():b&&p(n));l&&p(n,"awake")}finally{y=!1}G||x()}}
function m(){if(0<arguments.length){if("function"===typeof E)E.apply(c,arguments);else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return this}a.dependencyDetection.registerDependency(m);(q||w&&f())&&l();return n}function g(){(q&&!G||w&&f())&&l();return n}function u(){return q||0<G}function p(a,b){m.notifySubscribers(a,b)}var n,q=!0,y=!1,v=!1,z=!1,B=b,I=!1,w=!1;B&&"object"==typeof B?(d=
B,B=d.read):(d=d||{},B||(B=d.read));if("function"!=typeof B)throw Error("Pass a function that returns the value of the ko.computed");var E=d.write,D=d.disposeWhenNodeIsRemoved||d.disposeWhenNodeIsRemoved||null,t=d.disposeWhen||d.disposeWhen,r=t,x=h,C={},G=0,A=null;c||(c=d.owner);a.subscribable.call(m);a.utils.setPrototypeOfOrExtend(m,a.dependentObservable.fn);m.peek=g;m.getDependenciesCount=function(){return G};m.hasWriteFunction="function"===typeof E;m.dispose=function(){x()};m.isActive=u;var T=
m.limit;m.limit=function(a){T.call(m,a);m._evalRateLimited=function(){m._rateLimitedBeforeChange(n);q=!0;m._rateLimitedChange(m)}};d.pure?(w=I=!0,m.beforeSubscriptionAdd=function(b){if(!z&&w&&"change"==b){w=!1;if(q||f())C=null,G=0,q=!0,l();else{var c=[];a.utils.objectForEach(C,function(a,b){c[b._order]=a});a.utils.arrayForEach(c,function(a,b){var c=C[a],d=c._target.subscribe(k);d._order=b;d._version=c._version;C[a]=d})}z||p(n,"awake")}},m.afterSubscriptionRemove=function(b){z||"change"!=b||m.hasSubscriptionsForEvent("change")||
(a.utils.objectForEach(C,function(a,b){b.dispose&&(C[a]={_target:b._target,_order:b._order,_version:b._version},b.dispose())}),w=!0,p(void 0,"asleep"))},m._originalGetVersion=m.getVersion,m.getVersion=function(){w&&(q||f())&&l();return m._originalGetVersion()}):d.deferEvaluation&&(m.beforeSubscriptionAdd=function(a){"change"!=a&&"beforeChange"!=a||g()});a.exportProperty(m,"peek",m.peek);a.exportProperty(m,"dispose",m.dispose);a.exportProperty(m,"isActive",m.isActive);a.exportProperty(m,"getDependenciesCount",
m.getDependenciesCount);D&&(v=!0,D.nodeType&&(r=function(){return!a.utils.domNodeIsAttachedToDocument(D)||t&&t()}));w||d.deferEvaluation||l();D&&u()&&D.nodeType&&(x=function(){a.utils.domNodeDisposal.removeDisposeCallback(D,x);h()},a.utils.domNodeDisposal.addDisposeCallback(D,x));return m};a.isComputed=function(b){return a.hasPrototype(b,a.dependentObservable)};A=a.observable.protoProperty;a.dependentObservable[A]=a.observable;a.dependentObservable.fn={equalityComparer:J};a.dependentObservable.fn[A]=
a.dependentObservable;a.utils.canSetPrototype&&a.utils.setPrototypeOf(a.dependentObservable.fn,a.subscribable.fn);a.exportSymbol("dependentObservable",a.dependentObservable);a.exportSymbol("computed",a.dependentObservable);a.exportSymbol("isComputed",a.isComputed);a.pureComputed=function(b,c){if("function"===typeof b)return a.computed(b,c,{pure:!0});b=a.utils.extend({},b);b.pure=!0;return a.computed(b,c)};a.exportSymbol("pureComputed",a.pureComputed);(function(){function b(a,f,h){h=h||new d;a=f(a);
if("object"!=typeof a||null===a||void 0===a||a instanceof Date||a instanceof String||a instanceof Number||a instanceof Boolean)return a;var k=a instanceof Array?[]:{};h.save(a,k);c(a,function(c){var d=f(a[c]);switch(typeof d){case "boolean":case "number":case "string":case "function":k[c]=d;break;case "object":case "undefined":var g=h.get(d);k[c]=void 0!==g?g:b(d,f,h)}});return k}function c(a,b){if(a instanceof Array){for(var c=0;c<a.length;c++)b(c);"function"==typeof a.toJSON&&b("toJSON")}else for(c in a)b(c)}
function d(){this.keys=[];this.values=[]}a.toJS=function(c){if(0==arguments.length)throw Error("When calling ko.toJS, pass the object you want to convert.");return b(c,function(b){for(var c=0;a.isObservable(b)&&10>c;c++)b=b();return b})};a.toJSON=function(b,c,d){b=a.toJS(b);return a.utils.stringifyJson(b,c,d)};d.prototype={constructor:d,save:function(b,c){var d=a.utils.arrayIndexOf(this.keys,b);0<=d?this.values[d]=c:(this.keys.push(b),this.values.push(c))},get:function(b){b=a.utils.arrayIndexOf(this.keys,
b);return 0<=b?this.values[b]:void 0}}})();a.exportSymbol("toJS",a.toJS);a.exportSymbol("toJSON",a.toJSON);(function(){a.selectExtensions={readValue:function(b){switch(a.utils.tagNameLower(b)){case "option":return!0===b.__ko__hasDomDataOptionValue__?a.utils.domData.get(b,a.bindingHandlers.options.optionValueDomDataKey):7>=a.utils.ieVersion?b.getAttributeNode("value")&&b.getAttributeNode("value").specified?b.value:b.text:b.value;case "select":return 0<=b.selectedIndex?a.selectExtensions.readValue(b.options[b.selectedIndex]):
void 0;default:return b.value.trim()}},writeValue:function(b,c,d){switch(a.utils.tagNameLower(b)){case "option":switch(typeof c){case "string":a.utils.domData.set(b,a.bindingHandlers.options.optionValueDomDataKey,void 0);"__ko__hasDomDataOptionValue__"in b&&delete b.__ko__hasDomDataOptionValue__;b.value=c;break;default:a.utils.domData.set(b,a.bindingHandlers.options.optionValueDomDataKey,c),b.__ko__hasDomDataOptionValue__=!0,b.value="number"===typeof c?c:""}break;case "select":if(""===c||null===c)c=
void 0;for(var e=-1,f=0,h=b.options.length,k;f<h;++f)if(k=a.selectExtensions.readValue(b.options[f]),k==c||""==k&&void 0===c){e=f;break}if(d||0<=e||void 0===c&&1<b.size)b.selectedIndex=e;break;default:if(null===c||void 0===c)c="";b.value=c}}}})();a.exportSymbol("selectExtensions",a.selectExtensions);a.exportSymbol("selectExtensions.readValue",a.selectExtensions.readValue);a.exportSymbol("selectExtensions.writeValue",a.selectExtensions.writeValue);a.expressionRewriting=function(){function b(b){b=a.utils.stringTrim(b);
123===b.charCodeAt(0)&&(b=b.slice(1,-1));var c=[],d=b.match(e),u,p=[],k=0;if(d){d.push(",");for(var q=0,y;y=d[q];++q){var v=y.charCodeAt(0);if(44===v){if(0>=k){c.push(u&&p.length?{key:u,value:p.join("")}:{unknown:u||p.join("")});u=k=0;p=[];continue}}else if(58===v){if(!k&&!u&&1===p.length){u=p.pop();continue}}else 47===v&&q&&1<y.length?(v=d[q-1].match(f))&&!h[v[0]]&&(b=b.substr(b.indexOf(y)+1),d=b.match(e),d.push(","),q=-1,y="/"):40===v||123===v||91===v?++k:41===v||125===v||93===v?--k:u||p.length||
34!==v&&39!==v||(y=y.slice(1,-1));p.push(y)}}return c}var c=["true","false","null","undefined"],d=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,e=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\/(?:[^/\\]|\\.)*\/w*|[^\s:,/][^,"'{}()/:[\]]*[^\s,"'{}()/:[\]]|[^\s]/g,f=/[\])"'A-Za-z0-9_$]+$/,h={"in":1,"return":1,"typeof":1},k={};return{bindingRewriteValidators:[],twoWayBindings:k,parseObjectLiteral:b,preProcessBindings:function(e,m){function g(b,e){var m;if(!q){var l=a.getBindingHandler(b);if(l&&l.preprocess&&
!(e=l.preprocess(e,b,g)))return;if(l=k[b])m=e,0<=a.utils.arrayIndexOf(c,m)?m=!1:(l=m.match(d),m=null===l?!1:l[1]?"Object("+l[1]+")"+l[2]:m),l=m;l&&h.push("'"+b+"':function(_z){"+m+"\x3d_z}")}n&&(e="function(){return "+e+" }");f.push("'"+b+"':"+e)}m=m||{};var f=[],h=[],n=m.valueAccessors,q=m.bindingParams,y="string"===typeof e?b(e):e;a.utils.arrayForEach(y,function(a){g(a.key||a.unknown,a.value)});h.length&&g("_ko_property_writers","{"+h.join(",")+" }");return f.join(",")},keyValueArrayContainsKey:function(a,
b){for(var c=0;c<a.length;c++)if(a[c].key==b)return!0;return!1},writeValueToProperty:function(b,c,d,e,f){if(b&&a.isObservable(b))!a.isWriteableObservable(b)||f&&b.peek()===e||b(e);else if((b=c.get("_ko_property_writers"))&&b[d])b[d](e)}}}();a.exportSymbol("expressionRewriting",a.expressionRewriting);a.exportSymbol("expressionRewriting.bindingRewriteValidators",a.expressionRewriting.bindingRewriteValidators);a.exportSymbol("expressionRewriting.parseObjectLiteral",a.expressionRewriting.parseObjectLiteral);
a.exportSymbol("expressionRewriting.preProcessBindings",a.expressionRewriting.preProcessBindings);a.exportSymbol("expressionRewriting._twoWayBindings",a.expressionRewriting.twoWayBindings);a.exportSymbol("jsonExpressionRewriting",a.expressionRewriting);a.exportSymbol("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",a.expressionRewriting.preProcessBindings);(function(){function b(a){return 8==a.nodeType&&h.test(f?a.text:a.nodeValue)}function c(a){return 8==a.nodeType&&k.test(f?a.text:a.nodeValue)}
function d(a,d){for(var e=a,l=1,f=[];e=e.nextSibling;){if(c(e)&&(l--,0===l))return f;f.push(e);b(e)&&l++}if(!d)throw Error("Cannot find closing comment tag to match: "+a.nodeValue);return null}function e(a,b){var c=d(a,b);return c?0<c.length?c[c.length-1].nextSibling:a.nextSibling:null}var f=x&&"\x3c!--test--\x3e"===x.createComment("test").text,h=f?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,k=f?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,l={ul:!0,ol:!0};a.virtualElements=
{allowedBindings:{},childNodes:function(a){return b(a)?d(a):a.childNodes},emptyNode:function(c){if(b(c)){c=a.virtualElements.childNodes(c);for(var d=0,e=c.length;d<e;d++)a.removeNode(c[d])}else a.utils.emptyDomNode(c)},setDomNodeChildren:function(c,d){if(b(c)){a.virtualElements.emptyNode(c);for(var e=c.nextSibling,l=0,f=d.length;l<f;l++)e.parentNode.insertBefore(d[l],e)}else a.utils.setDomNodeChildren(c,d)},prepend:function(a,c){b(a)?a.parentNode.insertBefore(c,a.nextSibling):a.firstChild?a.insertBefore(c,
a.firstChild):a.appendChild(c)},insertAfter:function(c,d,e){e?b(c)?c.parentNode.insertBefore(d,e.nextSibling):e.nextSibling?c.insertBefore(d,e.nextSibling):c.appendChild(d):a.virtualElements.prepend(c,d)},firstChild:function(a){return b(a)?!a.nextSibling||c(a.nextSibling)?null:a.nextSibling:a.firstChild},nextSibling:function(a){b(a)&&(a=e(a));return a.nextSibling&&c(a.nextSibling)?null:a.nextSibling},hasBindingValue:b,virtualNodeBindingValue:function(a){return(a=(f?a.text:a.nodeValue).match(h))?a[1]:
null},normaliseVirtualElementDomStructure:function(d){if(l[a.utils.tagNameLower(d)]){var g=d.firstChild;if(g){do if(1===g.nodeType){var f;f=g.firstChild;var h=null;if(f){do if(h)h.push(f);else if(b(f)){var k=e(f,!0);k?f=k:h=[f]}else c(f)&&(h=[f]);while(f=f.nextSibling)}if(f=h)for(h=g.nextSibling,k=0;k<f.length;k++)h?d.insertBefore(f[k],h):d.appendChild(f[k])}while(g=g.nextSibling)}}}}})();a.exportSymbol("virtualElements",a.virtualElements);a.exportSymbol("virtualElements.allowedBindings",a.virtualElements.allowedBindings);
a.exportSymbol("virtualElements.emptyNode",a.virtualElements.emptyNode);a.exportSymbol("virtualElements.insertAfter",a.virtualElements.insertAfter);a.exportSymbol("virtualElements.prepend",a.virtualElements.prepend);a.exportSymbol("virtualElements.setDomNodeChildren",a.virtualElements.setDomNodeChildren);(function(){a.bindingProvider=function(){this.bindingCache={}};a.utils.extend(a.bindingProvider.prototype,{nodeHasBindings:function(b){switch(b.nodeType){case 1:return null!=b.getAttribute("data-bind")||
a.components.getComponentNameForNode(b);case 8:return a.virtualElements.hasBindingValue(b);default:return!1}},getBindings:function(b,c){var d=this.getBindingsString(b,c),d=d?this.parseBindingsString(d,c,b):null;return a.components.addBindingsForCustomElement(d,b,c,!1)},getBindingAccessors:function(b,c){var d=this.getBindingsString(b,c),d=d?this.parseBindingsString(d,c,b,{valueAccessors:!0}):null;return a.components.addBindingsForCustomElement(d,b,c,!0)},getBindingsString:function(b,c){switch(b.nodeType){case 1:return b.getAttribute("data-bind");
case 8:return a.virtualElements.virtualNodeBindingValue(b);default:return null}},parseBindingsString:function(b,c,d,e){try{var f=this.bindingCache,h=b+(e&&e.valueAccessors||""),k;if(!(k=f[h])){var l,m=a.expressionRewriting.preProcessBindings(b,e);l=new Function("$context","$element","with($context){with($data||{}){return{"+m+"}}}");k=f[h]=l}return k(c,d)}catch(g){throw g.message="Unable to parse bindings.\nBindings value: "+b+"\nMessage: "+g.message,g;}}});a.bindingProvider.instance=new a.bindingProvider})();
a.exportSymbol("bindingProvider",a.bindingProvider);(function(){function b(a){return function(){return a}}function c(a){return a()}function d(b){return a.utils.objectMap(a.dependencyDetection.ignore(b),function(a,c){return function(){return b()[c]}})}function e(c,e,g){return"function"===typeof c?d(c.bind(null,e,g)):a.utils.objectMap(c,b)}function f(a,b){return d(this.getBindings.bind(this,a,b))}function h(b,c,d){var e,g=a.virtualElements.firstChild(c),f=a.bindingProvider.instance,l=f.preprocessNode;
if(l){for(;e=g;)g=a.virtualElements.nextSibling(e),l.call(f,e);g=a.virtualElements.firstChild(c)}for(;e=g;)g=a.virtualElements.nextSibling(e),k(b,e,d)}function k(b,c,d){var e=!0,g=1===c.nodeType;g&&a.virtualElements.normaliseVirtualElementDomStructure(c);if(g&&d||a.bindingProvider.instance.nodeHasBindings(c))e=m(c,null,b,d).shouldBindDescendants;e&&!u[a.utils.tagNameLower(c)]&&h(b,c,!g)}function l(b){var c=[],d={},e=[];a.utils.objectForEach(b,function I(g){if(!d[g]){var f=a.getBindingHandler(g);f&&
(f.after&&(e.push(g),a.utils.arrayForEach(f.after,function(c){if(b[c]){if(-1!==a.utils.arrayIndexOf(e,c))throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+e.join(", "));I(c)}}),e.length--),c.push({key:g,handler:f}));d[g]=!0}});return c}function m(b,d,e,g){var m=a.utils.domData.get(b,p);if(!d){if(m)throw Error("You cannot apply bindings multiple times to the same element.");a.utils.domData.set(b,p,!0)}!m&&g&&a.storedBindingContextForNode(b,e);var h;if(d&&
"function"!==typeof d)h=d;else{var k=a.bindingProvider.instance,u=k.getBindingAccessors||f,n=a.dependentObservable(function(){(h=d?d(e,b):u.call(k,b,e))&&e._subscribable&&e._subscribable();return h},null,{disposeWhenNodeIsRemoved:b});h&&n.isActive()||(n=null)}var t;if(h){var r=function(){return a.utils.objectMap(n?n():h,c)},x=n?function(a){return function(){return(0,n()[a])()}}:function(a){return h[a]};r.get=function(a){return h[a]&&x(a)()};r.has=function(a){return a in h};g=l(h);a.utils.arrayForEach(g,
function(c){var d=c.handler.init,g=c.handler.update,f=c.key;if(8===b.nodeType&&!a.virtualElements.allowedBindings[f])throw Error("The binding '"+f+"' cannot be used with virtual elements");try{"function"==typeof d&&a.dependencyDetection.ignore(function(){var a=d(b,x(f),r,e.$data,e);if(a&&a.controlsDescendantBindings){if(void 0!==t)throw Error("Multiple bindings ("+t+" and "+f+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");
t=f}}),"function"==typeof g&&a.dependentObservable(function(){g(b,x(f),r,e.$data,e)},null,{disposeWhenNodeIsRemoved:b})}catch(l){throw l.message='Unable to process binding "'+f+": "+h[f]+'"\nMessage: '+l.message,l;}})}return{shouldBindDescendants:void 0===t}}function g(b){return b&&b instanceof a.bindingContext?b:new a.bindingContext(b)}a.bindingHandlers={};var u={script:!0,textarea:!0};a.getBindingHandler=function(b){return a.bindingHandlers[b]};a.bindingContext=function(b,c,d,e){var g=this,f="function"==
typeof b&&!a.isObservable(b),l,m=a.dependentObservable(function(){var l=f?b():b,h=a.utils.unwrapObservable(l);c?(c._subscribable&&c._subscribable(),a.utils.extend(g,c),m&&(g._subscribable=m)):(g.$parents=[],g.$root=h,g.ko=a);g.$rawData=l;g.$data=h;d&&(g[d]=h);e&&e(g,c,h);return g.$data},null,{disposeWhen:function(){return l&&!a.utils.anyDomNodeIsAttachedToDocument(l)},disposeWhenNodeIsRemoved:!0});m.isActive()&&(g._subscribable=m,m.equalityComparer=null,l=[],m._addNode=function(b){l.push(b);a.utils.domNodeDisposal.addDisposeCallback(b,
function(b){a.utils.arrayRemoveItem(l,b);l.length||(m.dispose(),g._subscribable=m=void 0)})})};a.bindingContext.prototype.createChildContext=function(b,c,d){return new a.bindingContext(b,this,c,function(a,b){a.$parentContext=b;a.$parent=b.$data;a.$parents=(b.$parents||[]).slice(0);a.$parents.unshift(a.$parent);d&&d(a)})};a.bindingContext.prototype.extend=function(b){return new a.bindingContext(this._subscribable||this.$data,this,null,function(c,d){c.$rawData=d.$rawData;a.utils.extend(c,"function"==
typeof b?b():b)})};var p=a.utils.domData.nextKey(),n=a.utils.domData.nextKey();a.storedBindingContextForNode=function(b,c){if(2==arguments.length)a.utils.domData.set(b,n,c),c._subscribable&&c._subscribable._addNode(b);else return a.utils.domData.get(b,n)};a.applyBindingAccessorsToNode=function(b,c,d){1===b.nodeType&&a.virtualElements.normaliseVirtualElementDomStructure(b);return m(b,c,g(d),!0)};a.applyBindingsToNode=function(b,c,d){d=g(d);return a.applyBindingAccessorsToNode(b,e(c,d,b),d)};a.applyBindingsToDescendants=
function(a,b){1!==b.nodeType&&8!==b.nodeType||h(g(a),b,!0)};a.applyBindings=function(a,b){!t&&r.jQuery&&(t=r.jQuery);if(b&&1!==b.nodeType&&8!==b.nodeType)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");b=b||r.document.body;k(g(a),b,!0)};a.contextFor=function(b){switch(b.nodeType){case 1:case 8:var c=a.storedBindingContextForNode(b);if(c)return c;if(b.parentNode)return a.contextFor(b.parentNode)}};a.dataFor=function(b){return(b=a.contextFor(b))?
b.$data:void 0};a.exportSymbol("bindingHandlers",a.bindingHandlers);a.exportSymbol("applyBindings",a.applyBindings);a.exportSymbol("applyBindingsToDescendants",a.applyBindingsToDescendants);a.exportSymbol("applyBindingAccessorsToNode",a.applyBindingAccessorsToNode);a.exportSymbol("applyBindingsToNode",a.applyBindingsToNode);a.exportSymbol("contextFor",a.contextFor);a.exportSymbol("dataFor",a.dataFor)})();(function(b){function c(a,c){return a.hasOwnProperty(c)?a[c]:b}function d(b,d){var g=c(h,b),f;
g?g.subscribe(d):(g=h[b]=new a.subscribable,g.subscribe(d),e(b,function(a,c){var d=!(!c||!c.synchronous);k[b]={definition:a,isSynchronousComponent:d};delete h[b];f||d?g.notifySubscribers(a):setTimeout(function(){g.notifySubscribers(a)},0)}),f=!0)}function e(a,b){f("getConfig",[a],function(c){c?f("loadComponent",[a,c],function(a){b(a,c)}):b(null,null)})}function f(c,d,e,h){h||(h=a.components.loaders.slice(0));var k=h.shift();if(k){var n=k[c];if(n){var q=!1;if(n.apply(k,d.concat(function(a){q?e(null):
null!==a?e(a):f(c,d,e,h)}))!==b&&(q=!0,!k.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.");}else f(c,d,e,h)}else e(null)}var h={},k={};a.components={get:function(b,e){var g=c(k,b);g?g.isSynchronousComponent?a.dependencyDetection.ignore(function(){e(g.definition)}):setTimeout(function(){e(g.definition)},0):d(b,e)},clearCachedDefinition:function(a){delete k[a]},_getFirstResultFromLoaders:f};a.components.loaders=
[];a.exportSymbol("components",a.components);a.exportSymbol("components.get",a.components.get);a.exportSymbol("components.clearCachedDefinition",a.components.clearCachedDefinition)})();(function(b){function c(b,c,d,e){var f={},l=2,k=function(){0===--l&&e(f)},z=d.template;d=d.viewModel;z?h(c,z,function(c){a.components._getFirstResultFromLoaders("loadTemplate",[b,c],function(a){f.template=a;k()})}):k();d?h(c,d,function(c){a.components._getFirstResultFromLoaders("loadViewModel",[b,c],function(a){f[m]=
a;k()})}):k()}function d(a,b,c){if("function"===typeof b)c(function(a){return new b(a)});else if("function"===typeof b[m])c(b[m]);else if("instance"in b){var e=b.instance;c(function(a,b){return e})}else"viewModel"in b?d(a,b.viewModel,c):a("Unknown viewModel value: "+b)}function e(b){switch(a.utils.tagNameLower(b)){case "script":return a.utils.parseHtmlFragment(b.text);case "textarea":return a.utils.parseHtmlFragment(b.value);case "template":if(f(b.content))return a.utils.cloneNodes(b.content.childNodes)}return a.utils.cloneNodes(b.childNodes)}
function f(a){return r.DocumentFragment?a instanceof DocumentFragment:a&&11===a.nodeType}function h(a,b,c){"string"===typeof b.require?O||r.require?(O||r.require)([b.require],c):a("Uses require, but no AMD loader is present"):c(b)}function k(a){return function(b){throw Error("Component '"+a+"': "+b);}}var l={};a.components.register=function(b,c){if(!c)throw Error("Invalid configuration for "+b);if(a.components.isRegistered(b))throw Error("Component "+b+" is already registered");l[b]=c};a.components.isRegistered=
function(a){return a in l};a.components.unregister=function(b){delete l[b];a.components.clearCachedDefinition(b)};a.components.defaultLoader={getConfig:function(a,b){var c=l.hasOwnProperty(a)?l[a]:null;b(c)},loadComponent:function(a,b,d){var e=k(a);h(e,b,function(b){c(a,e,b,d)})},loadTemplate:function(b,c,d){b=k(b);if("string"===typeof c)d(a.utils.parseHtmlFragment(c));else if(c instanceof Array)d(c);else if(f(c))d(a.utils.makeArray(c.childNodes));else if(c.element)if(c=c.element,r.HTMLElement?c instanceof
HTMLElement:c&&c.tagName&&1===c.nodeType)d(e(c));else if("string"===typeof c){var l=x.getElementById(c);l?d(e(l)):b("Cannot find element with ID "+c)}else b("Unknown element type: "+c);else b("Unknown template value: "+c)},loadViewModel:function(a,b,c){d(k(a),b,c)}};var m="createViewModel";a.exportSymbol("components.register",a.components.register);a.exportSymbol("components.isRegistered",a.components.isRegistered);a.exportSymbol("components.unregister",a.components.unregister);a.exportSymbol("components.defaultLoader",
a.components.defaultLoader);a.components.loaders.push(a.components.defaultLoader);a.components._allRegisteredComponents=l})();(function(b){function c(b,c){var h=b.getAttribute("params");if(h){var h=d.parseBindingsString(h,c,b,{valueAccessors:!0,bindingParams:!0}),h=a.utils.objectMap(h,function(c,d){return a.computed(c,null,{disposeWhenNodeIsRemoved:b})}),k=a.utils.objectMap(h,function(c,d){var g=c.peek();return c.isActive()?a.computed({read:function(){return a.utils.unwrapObservable(c())},write:a.isWriteableObservable(g)&&
function(a){c()(a)},disposeWhenNodeIsRemoved:b}):g});k.hasOwnProperty("$raw")||(k.$raw=h);return k}return{$raw:{}}}a.components.getComponentNameForNode=function(b){b=a.utils.tagNameLower(b);return a.components.isRegistered(b)&&b};a.components.addBindingsForCustomElement=function(b,d,h,k){if(1===d.nodeType){var l=a.components.getComponentNameForNode(d);if(l){b=b||{};if(b.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var m={name:l,params:c(d,h)};
b.component=k?function(){return m}:m}}return b};var d=new a.bindingProvider;9>a.utils.ieVersion&&(a.components.register=function(a){return function(b){x.createElement(b);return a.apply(this,arguments)}}(a.components.register),x.createDocumentFragment=function(b){return function(){var c=b(),d=a.components._allRegisteredComponents,k;for(k in d)d.hasOwnProperty(k)&&c.createElement(k);return c}}(x.createDocumentFragment))})();(function(b){function c(b,c,d){c=c.template;if(!c)throw Error("Component '"+
b+"' has no template");b=a.utils.cloneNodes(c);a.virtualElements.setDomNodeChildren(d,b)}function d(a,b,c,d){var e=a.createViewModel;return e?e.call(a,d,{element:b,templateNodes:c}):d}var e=0;a.bindingHandlers.component={init:function(f,h,k,l,m){var g,u,p=function(){var a=g&&g.dispose;"function"===typeof a&&a.call(g);u=null},n=a.utils.makeArray(a.virtualElements.childNodes(f));a.utils.domNodeDisposal.addDisposeCallback(f,p);a.computed(function(){var l=a.utils.unwrapObservable(h()),k,v;"string"===
typeof l?k=l:(k=a.utils.unwrapObservable(l.name),v=a.utils.unwrapObservable(l.params));if(!k)throw Error("No component name specified");var z=u=++e;a.components.get(k,function(e){if(u===z){p();if(!e)throw Error("Unknown component '"+k+"'");c(k,e,f);var l=d(e,f,n,v);e=m.createChildContext(l,b,function(a){a.$component=l;a.$componentTemplateNodes=n});g=l;a.applyBindingsToDescendants(e,f)}})},null,{disposeWhenNodeIsRemoved:f});return{controlsDescendantBindings:!0}}};a.virtualElements.allowedBindings.component=
!0})();var P={"class":"className","for":"htmlFor"};a.bindingHandlers.attr={update:function(b,c,d){c=a.utils.unwrapObservable(c())||{};a.utils.objectForEach(c,function(c,d){d=a.utils.unwrapObservable(d);var h=!1===d||null===d||void 0===d;h&&b.removeAttribute(c);8>=a.utils.ieVersion&&c in P?(c=P[c],h?b.removeAttribute(c):b[c]=d):h||b.setAttribute(c,d.toString());"name"===c&&a.utils.setElementName(b,h?"":d.toString())})}};(function(){a.bindingHandlers.checked={after:["value","attr"],init:function(b,
c,d){function e(){var e=b.checked,f=u?h():e;if(!a.computedContext.isInitial()&&(!l||e)){var k=a.dependencyDetection.ignore(c);m?g!==f?(e&&(a.utils.addOrRemoveItem(k,f,!0),a.utils.addOrRemoveItem(k,g,!1)),g=f):a.utils.addOrRemoveItem(k,f,e):a.expressionRewriting.writeValueToProperty(k,d,"checked",f,!0)}}function f(){var d=a.utils.unwrapObservable(c());b.checked=m?0<=a.utils.arrayIndexOf(d,h()):k?d:h()===d}var h=a.pureComputed(function(){return d.has("checkedValue")?a.utils.unwrapObservable(d.get("checkedValue")):
d.has("value")?a.utils.unwrapObservable(d.get("value")):b.value}),k="checkbox"==b.type,l="radio"==b.type;if(k||l){var m=k&&a.utils.unwrapObservable(c())instanceof Array,g=m?h():void 0,u=l||m;l&&!b.name&&a.bindingHandlers.uniqueName.init(b,function(){return!0});a.computed(e,null,{disposeWhenNodeIsRemoved:b});a.utils.registerEventHandler(b,"click",e);a.computed(f,null,{disposeWhenNodeIsRemoved:b})}}};a.expressionRewriting.twoWayBindings.checked=!0;a.bindingHandlers.checkedValue={update:function(b,c){b.value=
a.utils.unwrapObservable(c())}}})();a.bindingHandlers.css={update:function(b,c){var d=a.utils.unwrapObservable(c());null!==d&&"object"==typeof d?a.utils.objectForEach(d,function(c,d){d=a.utils.unwrapObservable(d);a.utils.toggleDomNodeCssClass(b,c,d)}):(d=String(d||""),a.utils.toggleDomNodeCssClass(b,b.__ko__cssValue,!1),b.__ko__cssValue=d,a.utils.toggleDomNodeCssClass(b,d,!0))}};a.bindingHandlers.enable={update:function(b,c){var d=a.utils.unwrapObservable(c());d&&b.disabled?b.removeAttribute("disabled"):
d||b.disabled||(b.disabled=!0)}};a.bindingHandlers.disable={update:function(b,c){a.bindingHandlers.enable.update(b,function(){return!a.utils.unwrapObservable(c())})}};a.bindingHandlers.event={init:function(b,c,d,e,f){var h=c()||{};a.utils.objectForEach(h,function(h){"string"==typeof h&&a.utils.registerEventHandler(b,h,function(b){var m,g=c()[h];if(g){try{var u=a.utils.makeArray(arguments);e=f.$data;u.unshift(e);m=g.apply(e,u)}finally{!0!==m&&(b.preventDefault?b.preventDefault():b.returnValue=!1)}!1===
d.get(h+"Bubble")&&(b.cancelBubble=!0,b.stopPropagation&&b.stopPropagation())}})})}};a.bindingHandlers.foreach={makeTemplateValueAccessor:function(b){return function(){var c=b(),d=a.utils.peekObservable(c);if(!d||"number"==typeof d.length)return{foreach:c,templateEngine:a.nativeTemplateEngine.instance};a.utils.unwrapObservable(c);return{foreach:d.data,as:d.as,includeDestroyed:d.includeDestroyed,afterAdd:d.afterAdd,beforeRemove:d.beforeRemove,afterRender:d.afterRender,beforeMove:d.beforeMove,afterMove:d.afterMove,
templateEngine:a.nativeTemplateEngine.instance}}},init:function(b,c,d,e,f){return a.bindingHandlers.template.init(b,a.bindingHandlers.foreach.makeTemplateValueAccessor(c))},update:function(b,c,d,e,f){return a.bindingHandlers.template.update(b,a.bindingHandlers.foreach.makeTemplateValueAccessor(c),d,e,f)}};a.expressionRewriting.bindingRewriteValidators.foreach=!1;a.virtualElements.allowedBindings.foreach=!0;a.bindingHandlers.hasfocus={init:function(b,c,d){var e=function(e){b.__ko_hasfocusUpdating=
!0;var f=b.ownerDocument;if("activeElement"in f){var l;try{l=f.activeElement}catch(m){l=f.body}e=l===b}f=c();a.expressionRewriting.writeValueToProperty(f,d,"hasfocus",e,!0);b.__ko_hasfocusLastValue=e;b.__ko_hasfocusUpdating=!1},f=e.bind(null,!0),e=e.bind(null,!1);a.utils.registerEventHandler(b,"focus",f);a.utils.registerEventHandler(b,"focusin",f);a.utils.registerEventHandler(b,"blur",e);a.utils.registerEventHandler(b,"focusout",e)},update:function(b,c){var d=!!a.utils.unwrapObservable(c());b.__ko_hasfocusUpdating||
b.__ko_hasfocusLastValue===d||(d?b.focus():b.blur(),a.dependencyDetection.ignore(a.utils.triggerEvent,null,[b,d?"focusin":"focusout"]))}};a.expressionRewriting.twoWayBindings.hasfocus=!0;a.bindingHandlers.hasFocus=a.bindingHandlers.hasfocus;a.expressionRewriting.twoWayBindings.hasFocus=!0;a.bindingHandlers.html={init:function(){return{controlsDescendantBindings:!0}},update:function(b,c){a.utils.setHtml(b,c())}};K("if");K("ifnot",!1,!0);K("with",!0,!1,function(a,c){return a.createChildContext(c)});
var L={};a.bindingHandlers.options={init:function(b){if("select"!==a.utils.tagNameLower(b))throw Error("options binding applies only to SELECT elements");for(;0<b.length;)b.remove(0);return{controlsDescendantBindings:!0}},update:function(b,c,d){function e(){return a.utils.arrayFilter(b.options,function(a){return a.selected})}function f(a,b,c){var d=typeof b;return"function"==d?b(a):"string"==d?a[b]:c}function h(c,e){if(q&&g)a.selectExtensions.writeValue(b,a.utils.unwrapObservable(d.get("value")),
!0);else if(n.length){var f=0<=a.utils.arrayIndexOf(n,a.selectExtensions.readValue(e[0]));a.utils.setOptionNodeSelectionState(e[0],f);q&&!f&&a.dependencyDetection.ignore(a.utils.triggerEvent,null,[b,"change"])}}var k=b.multiple,l=0!=b.length&&k?b.scrollTop:null,m=a.utils.unwrapObservable(c()),g=d.get("valueAllowUnset")&&d.has("value"),u=d.get("optionsIncludeDestroyed");c={};var p,n=[];g||(k?n=a.utils.arrayMap(e(),a.selectExtensions.readValue):0<=b.selectedIndex&&n.push(a.selectExtensions.readValue(b.options[b.selectedIndex])));
m&&("undefined"==typeof m.length&&(m=[m]),p=a.utils.arrayFilter(m,function(b){return u||void 0===b||null===b||!a.utils.unwrapObservable(b._destroy)}),d.has("optionsCaption")&&(m=a.utils.unwrapObservable(d.get("optionsCaption")),null!==m&&void 0!==m&&p.unshift(L)));var q=!1;c.beforeRemove=function(a){b.removeChild(a)};m=h;d.has("optionsAfterRender")&&"function"==typeof d.get("optionsAfterRender")&&(m=function(b,c){h(b,c);a.dependencyDetection.ignore(d.get("optionsAfterRender"),null,[c[0],b!==L?b:void 0])});
a.utils.setDomNodeChildrenFromArrayMapping(b,p,function(c,e,l){l.length&&(n=!g&&l[0].selected?[a.selectExtensions.readValue(l[0])]:[],q=!0);e=b.ownerDocument.createElement("option");c===L?(a.utils.setTextContent(e,d.get("optionsCaption")),a.selectExtensions.writeValue(e,void 0)):(l=f(c,d.get("optionsValue"),c),a.selectExtensions.writeValue(e,a.utils.unwrapObservable(l)),c=f(c,d.get("optionsText"),l),a.utils.setTextContent(e,c));return[e]},c,m);a.dependencyDetection.ignore(function(){g?a.selectExtensions.writeValue(b,
a.utils.unwrapObservable(d.get("value")),!0):(k?n.length&&e().length<n.length:n.length&&0<=b.selectedIndex?a.selectExtensions.readValue(b.options[b.selectedIndex])!==n[0]:n.length||0<=b.selectedIndex)&&a.utils.triggerEvent(b,"change")});a.utils.ensureSelectElementIsRenderedCorrectly(b);l&&20<Math.abs(l-b.scrollTop)&&(b.scrollTop=l)}};a.bindingHandlers.options.optionValueDomDataKey=a.utils.domData.nextKey();a.bindingHandlers.selectedOptions={after:["options","foreach"],init:function(b,c,d){a.utils.registerEventHandler(b,
"change",function(){var e=c(),f=[];a.utils.arrayForEach(b.getElementsByTagName("option"),function(b){b.selected&&f.push(a.selectExtensions.readValue(b))});a.expressionRewriting.writeValueToProperty(e,d,"selectedOptions",f)})},update:function(b,c){if("select"!=a.utils.tagNameLower(b))throw Error("values binding applies only to SELECT elements");var d=a.utils.unwrapObservable(c());d&&"number"==typeof d.length&&a.utils.arrayForEach(b.getElementsByTagName("option"),function(b){var c=0<=a.utils.arrayIndexOf(d,
a.selectExtensions.readValue(b));a.utils.setOptionNodeSelectionState(b,c)})}};a.expressionRewriting.twoWayBindings.selectedOptions=!0;a.bindingHandlers.style={update:function(b,c){var d=a.utils.unwrapObservable(c()||{});a.utils.objectForEach(d,function(c,d){d=a.utils.unwrapObservable(d);if(null===d||void 0===d||!1===d)d="";b.style[c]=d})}};a.bindingHandlers.submit={init:function(b,c,d,e,f){if("function"!=typeof c())throw Error("The value for a submit binding must be a function");a.utils.registerEventHandler(b,
"submit",function(a){var d,e=c();try{d=e.call(f.$data,b)}finally{!0!==d&&(a.preventDefault?a.preventDefault():a.returnValue=!1)}})}};a.bindingHandlers.text={init:function(){return{controlsDescendantBindings:!0}},update:function(b,c){a.utils.setTextContent(b,c())}};a.virtualElements.allowedBindings.text=!0;(function(){if(r&&r.navigator)var b=function(a){if(a)return parseFloat(a[1])},c=r.opera&&r.opera.version&&parseInt(r.opera.version()),d=r.navigator.userAgent,e=b(d.match(/^(?:(?!chrome).)*version\/([^ ]*) safari/i)),
f=b(d.match(/Firefox\/([^ ]*)/));if(10>a.utils.ieVersion)var h=a.utils.domData.nextKey(),k=a.utils.domData.nextKey(),l=function(b){var c=this.activeElement;(c=c&&a.utils.domData.get(c,k))&&c(b)},m=function(b,c){var d=b.ownerDocument;a.utils.domData.get(d,h)||(a.utils.domData.set(d,h,!0),a.utils.registerEventHandler(d,"selectionchange",l));a.utils.domData.set(b,k,c)};a.bindingHandlers.textInput={init:function(b,d,l){var h=b.value,k,y,v=function(c){clearTimeout(k);y=k=void 0;c=b.value;h!==c&&(h=c,a.expressionRewriting.writeValueToProperty(d(),
l,"textInput",c))},z=function(a){k||(y=b.value,k=setTimeout(v,4))},t=function(){var c=a.utils.unwrapObservable(d());if(null===c||void 0===c)c="";void 0!==y&&c===y?setTimeout(t,4):b.value!==c&&(h=c,b.value=c)},r=function(c,d){a.utils.registerEventHandler(b,c,d)};10>a.utils.ieVersion?(r("propertychange",function(a){"value"===a.propertyName&&v(a)}),8==a.utils.ieVersion&&(r("keyup",v),r("keydown",v)),8<=a.utils.ieVersion&&(m(b,v),r("dragend",z))):(r("input",v),5>e&&"textarea"===a.utils.tagNameLower(b)?
(r("keydown",z),r("paste",z),r("cut",z)):11>c?r("keydown",z):4>f&&(r("DOMAutoComplete",v),r("dragdrop",v),r("drop",v)));r("change",v);a.computed(t,null,{disposeWhenNodeIsRemoved:b})}};a.expressionRewriting.twoWayBindings.textInput=!0;a.bindingHandlers.textinput={preprocess:function(a,b,c){c("textInput",a)}}})();a.bindingHandlers.uniqueName={init:function(b,c){if(c()){var d="ko_unique_"+ ++a.bindingHandlers.uniqueName.currentIndex;a.utils.setElementName(b,d)}}};a.bindingHandlers.uniqueName.currentIndex=
0;a.bindingHandlers.value={after:["options","foreach"],init:function(b,c,d){if("input"!=b.tagName.toLowerCase()||"checkbox"!=b.type&&"radio"!=b.type){var e=["change"],f=d.get("valueUpdate"),h=!1,k=null;r&&r.navigator&&0<=r.navigator.userAgent.toLowerCase().indexOf("safari")&&"input"==b.tagName.toLowerCase()&&0>"hidden checkbox radio file submit button".split(" ").indexOf(b.type)&&"off"!=b.autocomplete&&(!b.form||"off"!=b.form.autocomplete)&&e.unshift("blur");f&&("string"==typeof f&&(f=[f]),a.utils.arrayPushAll(e,
f),e=a.utils.arrayGetDistinctValues(e));var l=function(){k=null;h=!1;var e=c(),f=a.selectExtensions.readValue(b);a.expressionRewriting.writeValueToProperty(e,d,"value",f)};!a.utils.ieVersion||"input"!=b.tagName.toLowerCase()||"text"!=b.type||"off"==b.autocomplete||b.form&&"off"==b.form.autocomplete||-1!=a.utils.arrayIndexOf(e,"propertychange")||(a.utils.registerEventHandler(b,"propertychange",function(){h=!0}),a.utils.registerEventHandler(b,"focus",function(){h=!1}),a.utils.registerEventHandler(b,
"blur",function(){h&&l()}));a.utils.arrayForEach(e,function(c){var d=l;a.utils.stringStartsWith(c,"after")&&(d=function(){k=a.selectExtensions.readValue(b);setTimeout(l,0)},c=c.substring(5));a.utils.registerEventHandler(b,c,d)});var m=function(){var e=a.utils.unwrapObservable(c()),f=a.selectExtensions.readValue(b);if(null!==k&&e===k)setTimeout(m,0);else if(e!==f)if("select"===a.utils.tagNameLower(b)){var l=d.get("valueAllowUnset"),f=function(){a.selectExtensions.writeValue(b,e,l)};f();l||e===a.selectExtensions.readValue(b)?
setTimeout(f,0):a.dependencyDetection.ignore(a.utils.triggerEvent,null,[b,"change"])}else a.selectExtensions.writeValue(b,e)};a.computed(m,null,{disposeWhenNodeIsRemoved:b})}else a.applyBindingAccessorsToNode(b,{checkedValue:c})},update:function(){}};a.expressionRewriting.twoWayBindings.value=!0;a.bindingHandlers.visible={update:function(b,c){var d=a.utils.unwrapObservable(c()),e="none"!=b.style.display;d&&!e?b.style.display="":!d&&e&&(b.style.display="none")}};(function(b){a.bindingHandlers[b]={init:function(c,
d,e,f,h){return a.bindingHandlers.event.init.call(this,c,function(){var a={};a[b]=d();return a},e,f,h)}}})("click");a.templateEngine=function(){};a.templateEngine.prototype.renderTemplateSource=function(a,c,d,e){throw Error("Override renderTemplateSource");};a.templateEngine.prototype.createJavaScriptEvaluatorBlock=function(a){throw Error("Override createJavaScriptEvaluatorBlock");};a.templateEngine.prototype.makeTemplateSource=function(b,c){if("string"==typeof b){c=c||x;var d=c.getElementById(b);
if(!d)throw Error("Cannot find template with ID "+b);return new a.templateSources.domElement(d)}if(1==b.nodeType||8==b.nodeType)return new a.templateSources.anonymousTemplate(b);throw Error("Unknown template type: "+b);};a.templateEngine.prototype.renderTemplate=function(a,c,d,e){a=this.makeTemplateSource(a,e);return this.renderTemplateSource(a,c,d,e)};a.templateEngine.prototype.isTemplateRewritten=function(a,c){return!1===this.allowTemplateRewriting?!0:this.makeTemplateSource(a,c).data("isRewritten")};
a.templateEngine.prototype.rewriteTemplate=function(a,c,d){a=this.makeTemplateSource(a,d);c=c(a.text());a.text(c);a.data("isRewritten",!0)};a.exportSymbol("templateEngine",a.templateEngine);a.templateRewriting=function(){function b(b,c,d,k){b=a.expressionRewriting.parseObjectLiteral(b);for(var l=a.expressionRewriting.bindingRewriteValidators,m=0;m<b.length;m++){var g=b[m].key;if(l.hasOwnProperty(g)){var u=l[g];if("function"===typeof u){if(g=u(b[m].value))throw Error(g);}else if(!u)throw Error("This template engine does not support the '"+
g+"' binding within its templates");}}d="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+a.expressionRewriting.preProcessBindings(b,{valueAccessors:!0})+" } })()},'"+d.toLowerCase()+"')";return k.createJavaScriptEvaluatorBlock(d)+c}var c=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,d=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{ensureTemplateIsRewritten:function(b,c,d){c.isTemplateRewritten(b,
d)||c.rewriteTemplate(b,function(b){return a.templateRewriting.memoizeBindingAttributeSyntax(b,c)},d)},memoizeBindingAttributeSyntax:function(a,f){return a.replace(c,function(a,c,d,e,g){return b(g,c,d,f)}).replace(d,function(a,c){return b(c,"\x3c!-- ko --\x3e","#comment",f)})},applyMemoizedBindingsToNextSibling:function(b,c){return a.memoization.memoize(function(d,k){var l=d.nextSibling;l&&l.nodeName.toLowerCase()===c&&a.applyBindingAccessorsToNode(l,b,k)})}}}();a.exportSymbol("__tr_ambtns",a.templateRewriting.applyMemoizedBindingsToNextSibling);
(function(){a.templateSources={};a.templateSources.domElement=function(a){this.domElement=a};a.templateSources.domElement.prototype.text=function(){var b=a.utils.tagNameLower(this.domElement),b="script"===b?"text":"textarea"===b?"value":"innerHTML";if(0==arguments.length)return this.domElement[b];var c=arguments[0];"innerHTML"===b?a.utils.setHtml(this.domElement,c):this.domElement[b]=c};var b=a.utils.domData.nextKey()+"_";a.templateSources.domElement.prototype.data=function(c){if(1===arguments.length)return a.utils.domData.get(this.domElement,
b+c);a.utils.domData.set(this.domElement,b+c,arguments[1])};var c=a.utils.domData.nextKey();a.templateSources.anonymousTemplate=function(a){this.domElement=a};a.templateSources.anonymousTemplate.prototype=new a.templateSources.domElement;a.templateSources.anonymousTemplate.prototype.constructor=a.templateSources.anonymousTemplate;a.templateSources.anonymousTemplate.prototype.text=function(){if(0==arguments.length){var b=a.utils.domData.get(this.domElement,c)||{};void 0===b.textData&&b.containerData&&
(b.textData=b.containerData.innerHTML);return b.textData}a.utils.domData.set(this.domElement,c,{textData:arguments[0]})};a.templateSources.domElement.prototype.nodes=function(){if(0==arguments.length)return(a.utils.domData.get(this.domElement,c)||{}).containerData;a.utils.domData.set(this.domElement,c,{containerData:arguments[0]})};a.exportSymbol("templateSources",a.templateSources);a.exportSymbol("templateSources.domElement",a.templateSources.domElement);a.exportSymbol("templateSources.anonymousTemplate",
a.templateSources.anonymousTemplate)})();(function(){function b(b,c,d){var e;for(c=a.virtualElements.nextSibling(c);b&&(e=b)!==c;)b=a.virtualElements.nextSibling(e),d(e,b)}function c(c,d){if(c.length){var e=c[0],f=c[c.length-1],h=e.parentNode,k=a.bindingProvider.instance,q=k.preprocessNode;if(q){b(e,f,function(a,b){var c=a.previousSibling,d=q.call(k,a);d&&(a===e&&(e=d[0]||b),a===f&&(f=d[d.length-1]||c))});c.length=0;if(!e)return;e===f?c.push(e):(c.push(e,f),a.utils.fixUpContinuousNodeArray(c,h))}b(e,
f,function(b){1!==b.nodeType&&8!==b.nodeType||a.applyBindings(d,b)});b(e,f,function(b){1!==b.nodeType&&8!==b.nodeType||a.memoization.unmemoizeDomNodeAndDescendants(b,[d])});a.utils.fixUpContinuousNodeArray(c,h)}}function d(a){return a.nodeType?a:0<a.length?a[0]:null}function e(b,e,f,k,p){p=p||{};var n=(b&&d(b)||f||{}).ownerDocument,q=p.templateEngine||h;a.templateRewriting.ensureTemplateIsRewritten(f,q,n);f=q.renderTemplate(f,k,p,n);if("number"!=typeof f.length||0<f.length&&"number"!=typeof f[0].nodeType)throw Error("Template engine must return an array of DOM nodes");
n=!1;switch(e){case "replaceChildren":a.virtualElements.setDomNodeChildren(b,f);n=!0;break;case "replaceNode":a.utils.replaceDomNodes(b,f);n=!0;break;case "ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+e);}n&&(c(f,k),p.afterRender&&a.dependencyDetection.ignore(p.afterRender,null,[f,k.$data]));return f}function f(b,c,d){return a.isObservable(b)?b():"function"===typeof b?b(c,d):b}var h;a.setTemplateEngine=function(b){if(void 0!=b&&!(b instanceof a.templateEngine))throw Error("templateEngine must inherit from ko.templateEngine");
h=b};a.renderTemplate=function(b,c,g,k,p){g=g||{};if(void 0==(g.templateEngine||h))throw Error("Set a template engine before calling renderTemplate");p=p||"replaceChildren";if(k){var n=d(k);return a.dependentObservable(function(){var h=c&&c instanceof a.bindingContext?c:new a.bindingContext(a.utils.unwrapObservable(c)),r=f(b,h.$data,h),h=e(k,p,r,h,g);"replaceNode"==p&&(k=h,n=d(k))},null,{disposeWhen:function(){return!n||!a.utils.domNodeIsAttachedToDocument(n)},disposeWhenNodeIsRemoved:n&&"replaceNode"==
p?n.parentNode:n})}return a.memoization.memoize(function(d){a.renderTemplate(b,c,g,d,"replaceNode")})};a.renderTemplateForEach=function(b,d,g,h,k){var n,q=function(a,c){n=k.createChildContext(a,g.as,function(a){a.$index=c});var d=f(b,a,n);return e(null,"ignoreTargetNode",d,n,g)},r=function(a,b,d){c(b,n);g.afterRender&&g.afterRender(b,a);n=null};return a.dependentObservable(function(){var b=a.utils.unwrapObservable(d)||[];"undefined"==typeof b.length&&(b=[b]);b=a.utils.arrayFilter(b,function(b){return g.includeDestroyed||
void 0===b||null===b||!a.utils.unwrapObservable(b._destroy)});a.dependencyDetection.ignore(a.utils.setDomNodeChildrenFromArrayMapping,null,[h,b,q,g,r])},null,{disposeWhenNodeIsRemoved:h})};var k=a.utils.domData.nextKey();a.bindingHandlers.template={init:function(b,c){var d=a.utils.unwrapObservable(c());if("string"==typeof d||d.name)a.virtualElements.emptyNode(b);else{if("nodes"in d){if(d=d.nodes||[],a.isObservable(d))throw Error('The "nodes" option must be a plain, non-observable array.');}else d=
a.virtualElements.childNodes(b);d=a.utils.moveCleanedNodesToContainerElement(d);(new a.templateSources.anonymousTemplate(b)).nodes(d)}return{controlsDescendantBindings:!0}},update:function(b,c,d,e,f){var h=c(),q;c=a.utils.unwrapObservable(h);d=!0;e=null;"string"==typeof c?c={}:(h=c.name,"if"in c&&(d=a.utils.unwrapObservable(c["if"])),d&&"ifnot"in c&&(d=!a.utils.unwrapObservable(c.ifnot)),q=a.utils.unwrapObservable(c.data));"foreach"in c?e=a.renderTemplateForEach(h||b,d&&c.foreach||[],c,b,f):d?(f=
"data"in c?f.createChildContext(q,c.as):f,e=a.renderTemplate(h||b,f,c,b)):a.virtualElements.emptyNode(b);f=e;(q=a.utils.domData.get(b,k))&&"function"==typeof q.dispose&&q.dispose();a.utils.domData.set(b,k,f&&f.isActive()?f:void 0)}};a.expressionRewriting.bindingRewriteValidators.template=function(b){b=a.expressionRewriting.parseObjectLiteral(b);return 1==b.length&&b[0].unknown||a.expressionRewriting.keyValueArrayContainsKey(b,"name")?null:"This template engine does not support anonymous templates nested within its templates"};
a.virtualElements.allowedBindings.template=!0})();a.exportSymbol("setTemplateEngine",a.setTemplateEngine);a.exportSymbol("renderTemplate",a.renderTemplate);a.utils.findMovesInArrayComparison=function(a,c,d){if(a.length&&c.length){var e,f,h,k,l;for(e=f=0;(!d||e<d)&&(k=a[f]);++f){for(h=0;l=c[h];++h)if(k.value===l.value){k.moved=l.index;l.moved=k.index;c.splice(h,1);e=h=0;break}e+=h}}};a.utils.compareArrays=function(){function b(b,d,e,f,h){var k=Math.min,l=Math.max,m=[],g,u=b.length,p,n=d.length,q=n-
u||1,r=u+n+1,v,t,x;for(g=0;g<=u;g++)for(t=v,m.push(v=[]),x=k(n,g+q),p=l(0,g-1);p<=x;p++)v[p]=p?g?b[g-1]===d[p-1]?t[p-1]:k(t[p]||r,v[p-1]||r)+1:p+1:g+1;k=[];l=[];q=[];g=u;for(p=n;g||p;)n=m[g][p]-1,p&&n===m[g][p-1]?l.push(k[k.length]={status:e,value:d[--p],index:p}):g&&n===m[g-1][p]?q.push(k[k.length]={status:f,value:b[--g],index:g}):(--p,--g,h.sparse||k.push({status:"retained",value:d[p]}));a.utils.findMovesInArrayComparison(l,q,10*u);return k.reverse()}return function(a,d,e){e="boolean"===typeof e?
{dontLimitMoves:e}:e||{};a=a||[];d=d||[];return a.length<=d.length?b(a,d,"added","deleted",e):b(d,a,"deleted","added",e)}}();a.exportSymbol("utils.compareArrays",a.utils.compareArrays);(function(){function b(b,c,f,h,k){var l=[],m=a.dependentObservable(function(){var g=c(f,k,a.utils.fixUpContinuousNodeArray(l,b))||[];0<l.length&&(a.utils.replaceDomNodes(l,g),h&&a.dependencyDetection.ignore(h,null,[f,g,k]));l.length=0;a.utils.arrayPushAll(l,g)},null,{disposeWhenNodeIsRemoved:b,disposeWhen:function(){return!a.utils.anyDomNodeIsAttachedToDocument(l)}});
return{mappedNodes:l,dependentObservable:m.isActive()?m:void 0}}var c=a.utils.domData.nextKey();a.utils.setDomNodeChildrenFromArrayMapping=function(d,e,f,h,k){function l(b,c){w=r[c];v!==c&&(A[b]=w);w.indexObservable(v++);a.utils.fixUpContinuousNodeArray(w.mappedNodes,d);q.push(w);B.push(w)}function m(b,c){if(b)for(var d=0,e=c.length;d<e;d++)c[d]&&a.utils.arrayForEach(c[d].mappedNodes,function(a){b(a,d,c[d].arrayEntry)})}e=e||[];h=h||{};var g=void 0===a.utils.domData.get(d,c),r=a.utils.domData.get(d,
c)||[],p=a.utils.arrayMap(r,function(a){return a.arrayEntry}),n=a.utils.compareArrays(p,e,h.dontLimitMoves),q=[],t=0,v=0,x=[],B=[];e=[];for(var A=[],p=[],w,E=0,D,F;D=n[E];E++)switch(F=D.moved,D.status){case "deleted":void 0===F&&(w=r[t],w.dependentObservable&&w.dependentObservable.dispose(),x.push.apply(x,a.utils.fixUpContinuousNodeArray(w.mappedNodes,d)),h.beforeRemove&&(e[E]=w,B.push(w)));t++;break;case "retained":l(E,t++);break;case "added":void 0!==F?l(E,F):(w={arrayEntry:D.value,indexObservable:a.observable(v++)},
q.push(w),B.push(w),g||(p[E]=w))}m(h.beforeMove,A);a.utils.arrayForEach(x,h.beforeRemove?a.cleanNode:a.removeNode);for(var E=0,g=a.virtualElements.firstChild(d),H;w=B[E];E++){w.mappedNodes||a.utils.extend(w,b(d,f,w.arrayEntry,k,w.indexObservable));for(t=0;n=w.mappedNodes[t];g=n.nextSibling,H=n,t++)n!==g&&a.virtualElements.insertAfter(d,n,H);!w.initialized&&k&&(k(w.arrayEntry,w.mappedNodes,w.indexObservable),w.initialized=!0)}m(h.beforeRemove,e);m(h.afterMove,A);m(h.afterAdd,p);a.utils.domData.set(d,
c,q)}})();a.exportSymbol("utils.setDomNodeChildrenFromArrayMapping",a.utils.setDomNodeChildrenFromArrayMapping);a.nativeTemplateEngine=function(){this.allowTemplateRewriting=!1};a.nativeTemplateEngine.prototype=new a.templateEngine;a.nativeTemplateEngine.prototype.constructor=a.nativeTemplateEngine;a.nativeTemplateEngine.prototype.renderTemplateSource=function(b,c,d,e){if(c=(9>a.utils.ieVersion?0:b.nodes)?b.nodes():null)return a.utils.makeArray(c.cloneNode(!0).childNodes);b=b.text();return a.utils.parseHtmlFragment(b,
e)};a.nativeTemplateEngine.instance=new a.nativeTemplateEngine;a.setTemplateEngine(a.nativeTemplateEngine.instance);a.exportSymbol("nativeTemplateEngine",a.nativeTemplateEngine);(function(){a.jqueryTmplTemplateEngine=function(){var a=this.jQueryTmplVersion=function(){if(!t||!t.tmpl)return 0;try{if(0<=t.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch(a){}return 1}();this.renderTemplateSource=function(b,e,f,h){h=h||x;f=f||{};if(2>a)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");
var k=b.data("precompiled");k||(k=b.text()||"",k=t.template(null,"{{ko_with $item.koBindingContext}}"+k+"{{/ko_with}}"),b.data("precompiled",k));b=[e.$data];e=t.extend({koBindingContext:e},f.templateOptions);e=t.tmpl(k,b,e);e.appendTo(h.createElement("div"));t.fragments={};return e};this.createJavaScriptEvaluatorBlock=function(a){return"{{ko_code ((function() { return "+a+" })()) }}"};this.addTemplate=function(a,b){x.write("\x3cscript type\x3d'text/html' id\x3d'"+a+"'\x3e"+b+"\x3c/script\x3e")};0<
a&&(t.tmpl.tag.ko_code={open:"__.push($1 || '');"},t.tmpl.tag.ko_with={open:"with($1) {",close:"} "})};a.jqueryTmplTemplateEngine.prototype=new a.templateEngine;a.jqueryTmplTemplateEngine.prototype.constructor=a.jqueryTmplTemplateEngine;var b=new a.jqueryTmplTemplateEngine;0<b.jQueryTmplVersion&&a.setTemplateEngine(b);a.exportSymbol("jqueryTmplTemplateEngine",a.jqueryTmplTemplateEngine)})()})})()})();(function(){ko.components.loaders.unshift({loadViewModel:function(c,a,b){"function"===typeof a?b(function(b,c){var d=new a(b);if(d.isValidatable){var e=ko.contextFor(c.element).$parents.findBy("isCompositeValidatable",!0);e&&e.registerValidatableViewModel(d)}return d}):b(null)},loadTemplate:function(c,a,b){if("string"===typeof a)return b(null);c=new VUI.Templates;a="function"===typeof a?c.loadTemplates({hogan:a})():c.loadTemplates({componentId:a.component})[a.template]();b([a])}})})();(function(a){(function(){var b=a.bindingHandlers.enable.update;a.bindingHandlers.enable.update=function(c,d){b&&b.apply(this,arguments);a.unwrap(d())?c.removeAttribute("aria-disabled"):c.setAttribute("aria-disabled",!0)}})()})(ko);(function(){window.addEvent("initComponents",function(){document.getElements("[data-autobind\x3dtrue]").each(function(a){ko.applyBindings({},a)})})})();(function(){Object.place("VUI.BindingHandlerDomUtil",{storeDomHandler:function(a,b,c){a=document.id(a);a.store(b,c);ko.utils.domNodeDisposal.addDisposeCallback(a,function(){a.retrieve(b).dispose();a.eliminate(b)})}})})();__registerModule("/nz/co/airnz/vui/referencerecorder/referencerecorder",function(h,g){function e(a,b){var d=a.indexOf(b);0<=d&&a.splice(d,1)}Object.defineProperty(g,"__esModule",{value:!0});var f=h("../injector/injector"),k=babelHelpers.interopRequireDefault(f),f=new Class("VUI.Disposable",{initialize:function(){this._recordedDisposables=[];this._recordedEventHandles=[];this._recordedTimeouts=[];this._recordedKoBoundNodes=[]},record:function(a){Array.isArray(a)?this._recordedDisposables.append(a):
a&&this._recordedDisposables.push(a);return a},disposeRecorded:function(a){Array.isArray(a)?a.forEach(this.disposeRecorded,this):(a.dispose?a.dispose():a.destroy&&a.destroy(),e(this._recordedDisposables,a))},addRecordedEvent:function(a,b,d){var c=Object.freeze({target:a,type:b,fn:d});this._recordedEventHandles.push(c);a.addEvent(b,d);return c},addRecordedEvents:function(a,b){var d=this;Object.keys(b).forEach(function(c){return d.addRecordedEvent(a,c,b[c])});return a},disposeEvent:function(a,b,d){a.removeEvent(b,
d);var c=this._recordedEventHandles.find(function(c){return c.target===a&&c.type===b&&c.fn===d});e(this._recordedEventHandles,c)},disposeRecordedEvent:function(a){this.disposeEvent(a.target,a.type,a.fn)},recordTimeout:function(a){this._recordedTimeouts.push(a)},disposeTimeout:function(a){e(this._recordedTimeouts,a)},applyRecordedBindings:function(a,b){this._recordedKoBoundNodes.push(b);return ko.applyBindings(a,b)},applyRecordedBindingsToNode:function(a,b){this._recordedKoBoundNodes.push(a);return ko.applyBindingsToNode(a,
b)},dispose:function(){k.default.disposeInjectedNonSingletons(this);this._recordedEventHandles.forEach(function(a){a.target.removeEvent(a.type,a.fn)});this._recordedDisposables.forEach(function(a){a.dispose?a.dispose():a.destroy&&a.destroy()});this._recordedTimeouts.forEach(function(a){window.clearTimeout(a)});this._recordedKoBoundNodes.forEach(function(a){ko.cleanNode(a);a.destroy()});this._recordedDisposables=[];this._recordedEventHandles=[];this._recordedTimeouts=[];this._recordedKoBoundNodes=
[]}});g.default=f});(function(){var e={xs:"(max-width: 543px)",sm:"(min-width:544px) and (max-width: 767px)",md:"(min-width:768px) and (max-width: 991px)",lg:"(min-width:992px) and (max-width: 1329px)",xl:"(min-width:1330px)"},f={portrait:"(orientation: portrait)",landscape:"(orientation: landscape)"},g={lg:"(max-width: 1329px)",xl:"(min-width:1330px)"};Class("VUI.MediaQueries",{Implements:[VUI.CatchUpEvents,VUI.Disposable],InjectAs:{name:"MediaQueries",singleton:!0},_breakpointMediaQueries:[],_orientationMediaQueries:[],
initialize:function(){var a;document.documentElement.hasClass("vui-md-disabled")?(a=g,this.breakpointMinValues={sm:"0px",md:"0px",lg:"1px",xl:1330}):(a=e,this.breakpointMinValues={sm:544,md:768,lg:992,xl:1330},this._initListeners(f,this._orientationMediaQueries,"changeOrientation"));this._initListeners(a,this._breakpointMediaQueries,"changeBreakpoint")},_initListeners:function(a,b,d){var c=this;Object.each(a,function(a,c){b.push({name:c,mql:window.matchMedia(a)})});b.each(function(a){a.mql.addListener(function(b){b.matches&&
c._publish(d,a)})});c._publish(d,c._getCurrentState(b))},_publish:function(a,b){this.fireEvent(a,b)},_getCurrentState:function(a){return a.filter(function(a){return a.mql.matches})},getCurrentBreakpointState:function(){return this._getCurrentState(this._breakpointMediaQueries)},isXsOrSm:function(){var a=this.getCurrentBreakpointState()[0];return["xs","sm"].contains(a.name)}})})();(function(){function f(c,a){var b=c.getPosition().y;c.hasClass("affix")&&(b+=a);return b}Class("Affix",{Implements:[Options,Events,VUI.Disposable],VERSION:"3.3.5",options:{offset:0,target:window},initialize:function(c,a){this.setOptions(a);this.$target=$(this.options.target);this.addRecordedEvents(this.$target,{scroll:this.checkPosition.bind(this),click:this.checkPositionWithEventLoop.bind(this)});this.$element=document.getElement(c);this.pinnedOffest=this.unpin=this.affixed=null;this.$body=document.getElement("body");
this.checkPosition()},getState:function(c,a,b,e){var d=this.$target.getScroll().y,g=f(this.$element,d),h=this.$target.getSize().y;if(null!=b&&"top"==this.affixed)return d<b?"top":!1;if("bottom"==this.affixed)return null!=b?d+this.unpin>g?"bottom":d<b?"top":!1:d+h<=c-e?!1:"bottom";var k=null==this.affixed;return null!=b&&d<b?"top":null!=e&&(k?d:g)+(k?h:a)>=c-e?"bottom":!1},getPinnedOffset:function(){if(this.pinnedOffset)return this.pinnedOffset;this.resetClasses();this.$element.addClass("affix");var c=
this.$target.getScroll().y;return this.pinnedOffset=f(this.$element,c)-c},checkPositionWithEventLoop:function(){setTimeout(this.checkPosition.bind(this),0)},checkPosition:function(){var c=this.$element.getSize().y,a=this.options.offset,b=a.top,e=a.bottom,d=Math.max(document.getScrollSize().y,this.$body.getScrollSize().y);"object"!=typeof a&&(e=b=a);"function"==typeof b&&(b=a.top(this.$element));"function"==typeof e&&(e=a.bottom(this.$element));a=this.getState(d,c,b,e);this.affixed!=a&&(null!=this.unpin&&
this.$element.setStyle("top",""),b="affix"+(a?"-"+a:""),this.affixed=a,this.unpin="bottom"==a?this.getPinnedOffset():null,this.resetClasses(),this.$element.addClass(b));"bottom"==a&&this.$element.setPosition({y:d-c-e})},resetClasses:function(){this.$element.removeClass("affix");this.$element.removeClass("affix-top");this.$element.removeClass("affix-bottom")}})})();(function(){Class("VUI.Affix",{Extends:Affix,Depends:["MediaQueries"],Implements:[VUI.Disposable,Options],Binds:"checkPosition disable enable _update updateOffset _updateStickyPosition _calculatePositionStickyBottom".split(" "),initialize:function(a,c){var b=this;b.$element=document.id(a);b.$elementWrapper=b.$element.getParent(".affix-wrapper");b.setOptions(c);b._isPositionStickySupported()&&(b.checkPosition=b.checkStickyPosition,b._update=b._updateStickyPosition,b.$stickyWrapper=b.$element.getParent(".affix-sticky"),
b.$stickyWrapperBottom=b.$element.getParent(".affix-sticky-bottom"),b._setStickyOffset());b.options.affixPosition?b.addRecordedEvent(b.MediaQueries,"changeBreakpoint:catchup",b._update):b.updateOffset({top:b._getOffsetTop(),bottom:b._getOffsetBottom()});b.parent(a,b.options);b.addRecordedEvent(window,"resize",b.checkPosition);window.setTimeout(function(){b.checkPosition()},0)},checkPosition:function(){if(!this.$element.hasClass("affix-disabled")){var a;this.options.fixedHeight&&!this._hasHeightFixed&&
(a=this.$element.getSize().y);this.parent();if(this.$elementWrapper){var c=this.$element.hasClass("affix")||this.$element.hasClass("affix-bottom");c?this.$element.setStyle("width",this.$elementWrapper.getSize().x):this.$element.setStyle("width");this.options.fixedHeight?c&&!this._hasHeightFixed&&(this.$elementWrapper.setStyle("min-height",a),this._hasHeightFixed=!0):c?this.$elementWrapper.setStyle("min-height",this.$element.getSize().y):this.$elementWrapper.setStyle("min-height");this.$elementWrapper.toggleClass("is-affixed",
c)}}},resetClasses:function(){this.parent();this.$elementWrapper.removeClass("is-affixed");this.$element.setStyle("width");this.options.fixedHeight||this.$elementWrapper.setStyle("min-height")},checkStickyPosition:function(){var a;this.options.fixedHeight&&!this._hasHeightFixed&&(a=this.$element.getSize().y);this.options.affixAfter&&this._setStickyOffset();var c=window.getScroll().y,b=this.$stickyWrapper.getParent().getPosition().y,d=parseInt(this.$stickyWrapper.getStyle("top")),c=c>=b-d;this.options.fixedHeight&&
!this._hasHeightFixed&&c&&(this.$stickyWrapper.setStyle("min-height",a),this._hasHeightFixed=!0);this.$element.toggleClass("is-affix-sticky",c);this.$stickyWrapperBottom&&(a=this.$stickyWrapperBottom.getBoundingClientRect().bottom,c=this.$stickyWrapperBottom.getParent().getBoundingClientRect().bottom,this.$stickyWrapperBottom.toggleClass("is-affix-sticky-bottom",1>Math.abs(c-a)))},_isPositionStickySupported:function(){return document.documentElement.hasClass("csspositionsticky")&&!document.documentElement.hasClass("vui-sticky-unsupported")},
_getAffixRelativeOffset:function(a){return document.getElements(a).reduce(function(a,b){return b&&!b.hasClass("affix-disabled")?a+b.getSize().y:a},0)},_getAffixTopOffset:function(){var a=0;this.options.affixAfter&&(a=this._getAffixRelativeOffset(this.options.affixAfter));return a},_setStickyOffset:function(){this.$stickyWrapper.setStyle("top",this._getAffixTopOffset())},_updateStickyPosition:function(a){a=this.options.affixPosition.bottom.contains(a.name);this.$stickyWrapperBottom?this.$stickyWrapperBottom.toggleClass("is-affix-sticky",
a):this.$stickyWrapper.addClass("is-affix-sticky",a);this.$element.toggleClass("affix-position-bottom",a)},_update:function(a){a=a.name;var c=this.options.affixPosition;this.pinnedOffset=null;if(c.bottom.contains(a)){var b=document.getElement(this.options.affixStop);this.updateOffset({top:function(a){var c=a.getSize().y;a.getParent(".affix-wrapper").setStyle("top","100%");a.setStyle("margin-top",-c);return Math.max(-1,b.getCoordinates().bottom+c-window.getSize().y)},bottom:this._getOffsetBottom()});
this.$element.removeClass("affix-position-top");this.$element.addClass("affix-position-bottom")}c.top.contains(a)&&(this.$elementWrapper.removeAttribute("style"),this.$element.setStyle("margin-top"),this.$element.removeClass("affix-position-bottom"),this.$element.addClass("affix-position-top"),this.updateOffset({top:this._getOffsetTop(),bottom:this._getOffsetBottom()}));this.checkPosition.delay(0,this)},toggle:function(a,c){this.$element.toggleClass("affix-disabled",!!a);this.$stickyWrapperBottom?
this.$stickyWrapperBottom.toggleClass("is-affix-disabled",!!a):this.$stickyWrapper&&this.$stickyWrapper.toggleClass("is-affix-disabled",!!a);this.resetClasses();this.affixed=null;c||window.scrollTo(0,0)},_getOffsetTop:function(){var a=this;return function(){var c=a._getAffixTopOffset(),b=a.$elementWrapper.getCoordinates().top-c;a.$element.getParent(".affix-wrapper").setStyle("top",c);return b}},_getOffsetBottom:function(){var a=this;return function(){if(a.options.affixWithin){var c=a.$elementWrapper.getParent(a.options.affixWithin);
return c?(c=window.getScrollSize().y-c.getCoordinates().bottom,a.options.affixBefore&&(c+=a._getAffixRelativeOffset(a.options.affixBefore)),c):0}}},updateOffset:function(a){this.options.offset=this.options.offset||{};a.top&&(this.options.offset.top=a.top);a.bottom&&(this.options.offset.bottom=a.bottom)}})})();(function(){Class("VUI.AffixController",{Implements:[VUI.Disposable],Binds:["disable","enable","updateHeight"],InjectAs:{name:"AffixController",singleton:!0},_instances:{},initialize:function(){Browser.chrome&&document.documentElement.addClass("vui-sticky-unsupported")},create:function(a,b){this._instances[b.name]||(this._instances[b.name]=this.record(new VUI.Affix(a,b)))},getInstance:function(a){return this._instances[a]},toggle:function(a,b,c){this._instances[a]&&this._instances[a].toggle(b,c)},
disposeInstance:function(a){this._instances[a].dispose();this._instances[a]=null},updateOffset:function(a,b){this._instances[a].updateOffset(b)}})})();(function(){function f(b){return function(){var a=this,c=VUI.Injector.get("JsonEventRepeater"),e=["config","state","data"];a.addRecordedEvent(c,"success-"+b+":catchup",function(b){e.each(function(d){var e="on"+d.capitalize();b[d]&&"function"===typeOf(a[e])&&a[e].call(a,b[d])})})}}Class.Mutators.ComponentDataEvents=function(b){var a=[];a.push(f(b));this.prototype.addRecordedEvent||Class.Mutators.Implements.call(this,[VUI.Disposable]);this.implement({__beforeInitialize:a,__afterInitialize:[]})};VUI.addComponentDataEvents=
function(b,a){var c=["config","state","data"];VUI.Injector.get("JsonEventRepeater").addEvent("success-"+a+":catchup",function(a){c.each(function(c){var d="on"+c.capitalize();a[c]&&"function"===typeOf(b[d])&&b[d].call(b,a[c])})})}})();__registerModule("/nz/co/airnz/vui/common/text/text.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"common.text.separated.comma":"{0}, {1}","common.text.separated.or":"{0} or {1}","common.text.separated.and":"{0} and {1}","common.text.eg":"e.g. {{example}}"};Locale.define("en-NZ","vui",{common:{text:b}});a.default=b});(function(){Class("VUI.StringUtils",{InjectAs:{name:"StringUtils",singleton:!0},getCommaSeparated:function(a){var c=Locale.get("vui.common.text")["common.text.separated.comma"],b="";a.each(function(a){b=b?c.substitute([b,a],"singleCurlies"):a});return b},getAndSeparated:function(a){return this._getCommaSeparatedWithTerminalSeparator(a,"common.text.separated.and")},getOrSeparated:function(a){return this._getCommaSeparatedWithTerminalSeparator(a,"common.text.separated.or")},_getCommaSeparatedWithTerminalSeparator:function(a,
c){var b=Locale.get("vui.common.text")[c];switch(a.length){case 0:return"";case 1:return a[0];case 2:return b.substitute(a,"singleCurlies");default:return b.substitute([this.getCommaSeparated(a.slice(0,-1)),a[a.length-1]],"singleCurlies")}},sentenceCasing:function(a,c){if(0<a.length){var b=a.substr(1);c&&(b=b.toLowerCase());return a.charAt(0).toUpperCase()+b}return""},getEg:function(a){return Locale.get("vui.common.text")["common.text.eg"].substitute({example:a})},splitCamelCase:function(a){return a.replace(/([a-z](?=[A-Z]))/g,
"$1 ").toLowerCase()}})})();__registerModule("/nz/co/airnz/vui/addcomponentdataevents/addcomponentdataevents",function(a,b){Object.defineProperty(b,"__esModule",{value:!0});var c=a("../jsoneventrepeater/jsoneventrepeater"),d=babelHelpers.interopRequireDefault(c),c=a("../referencerecorder/referencerecorder"),e=babelHelpers.interopRequireDefault(c),f=["config","state","data"];b.default=function(c,a){var b=new e.default;b.addRecordedEvent(d.default,"success-"+a+":catchup",function(b){f.each(function(a){b[a]&&"function"===typeof c[a]&&
c[a].call(c,b[a])})});return b}});__registerModule("/nz/co/airnz/vui/common/gtmtracking/js/gtm-mediaqueriestracker-datasource",function(c,b){Object.defineProperty(b,"__esModule",{value:!0});var a=c("../../../addcomponentdataevents/addcomponentdataevents"),d=babelHelpers.interopRequireDefault(a),a=function(){function a(){babelHelpers.classCallCheck(this,a);this.config=ko.observable();this._eventReferences=(0,d.default)(this,"GtmMediaQueriesTracker")}babelHelpers.createClass(a,[{key:"dispose",value:function(){this._eventReferences.dispose()}}]);
return a}();b.default=a});__registerModule("/nz/co/airnz/vui/common/gtmtracking/js/gtm-mediaqueriestracker",function(b,d){Object.defineProperty(d,"__esModule",{value:!0});var a=b("../../../injector/injector"),h=babelHelpers.interopRequireDefault(a),a=b("../../../referencerecorder/referencerecorder"),k=babelHelpers.interopRequireDefault(a),a=b("./gtm-mediaqueriestracker-datasource"),l=babelHelpers.interopRequireDefault(a),a=function(){function a(){var b=this;babelHelpers.classCallCheck(this,a);this._references=new k.default;
this._references.record(new l.default).config.subscribeNow(function(a){a&&a.isEnabled&&function(){var e=h.default.get("MediaQueries"),d=b._references.addRecordedEvent(e,"changeBreakpoint:catchup",function(a){window.dataLayer.push({"screen breakpoint":a.name});b._references.disposeRecordedEvent(d)}),f=void 0,g=void 0;b._references.addRecordedEvent(e,"changeOrientation:catchup",function(b){var c=e.getCurrentBreakpointState(),c=c&&c[0].name;f?window.dataLayer.push({event:"trackEventNoEcommerce","eventDetails.category":"change orientation",
"eventDetails.action":g+" to "+b.name,"eventDetails.label":f+" to "+c,"programme membership":a.programmeMembership}):window.dataLayer.push({"original orientation":b.name});g=b.name;f=c})}()});return Object.freeze(this)}babelHelpers.createClass(a,[{key:"dispose",value:function(){this._references.dispose()}}]);return a}();d.default=a});__registerModule("/nz/co/airnz/vui/common/gtmtracking/js/gtm-eventtracker",function(f,g){Object.defineProperty(g,"__esModule",{value:!0});var d=f("../../../injector/injector"),h=babelHelpers.interopRequireDefault(d),d=f("./gtm-mediaqueriestracker"),k=babelHelpers.interopRequireDefault(d),l=function(a){if(!a||"string"!==typeof a)return null;var b=void 0;try{b=JSON.parse(a)}catch(c){b=eval("("+a+")")}return b};VUI.tracking=VUI.tracking||{};VUI.tracking.gtmConfig={EVENT_NAME_NO_ECOMMERCE:"trackEventNoEcommerce",
EVENT_NAME_ECOMMERCE:"trackEventEcommerce",EVENT_NAME_FORM_FIELD_VALUE:"trackFormFieldValue",CATEGORY_NAME_FORM_FIELD_VALUE:"form field - value",CATEGORY_NAME_FORM_FIELD_ENTRY:"form field - entry",CATEGORY_NAME_TEXT_LINK:"text link",CATEGORY_NAME_BUTTON:"cta button",IS_ENABLED:!!window.gtmEnabled};d=new Class("VUI.tracking.GTMEventTracker",{Implements:[VUI.Disposable],Depends:["GTMEcommerceDataSource"],InjectAs:{name:"GTMEventTracker",singleton:!0},Binds:["trackAttribute","_onGTMEcommerceData"],_alreadyTrackedTrackIds:[],
initialize:function(){VUI.tracking.gtmConfig.IS_ENABLED&&(this.addRecordedEvent(document.body,"click:relay([data-gatrack])",this.trackAttribute),this.addRecordedEvent(this.GTMEcommerceDataSource,"newdata:catchup",this._onGTMEcommerceData),this.record(new k.default))},_onGTMEcommerceData:function(a){var b=this;a&&a.dataLayerData&&(Array.isArray(a.dataLayerData)?a.dataLayerData.forEach(function(a){window.dataLayer.push(b._resetEventObject(a))}):window.dataLayer.push(this._resetEventObject(a.dataLayerData)))},
_resetEventObject:function(a){return Object.merge({},{event:void 0,"eventDetails.category":void 0,"eventDetails.action":void 0,"eventDetails.label":void 0,"eventDetails.value":void 0},a)},buildEventDataLayer:function(a){if(VUI.tracking.gtmConfig.IS_ENABLED){if(!(a.category&&a.category.trim().length&&a.action&&a.action.trim().length))throw Error("category and action must be defined");if(a.value&&isNaN(a.value))throw Error("value must be an number.");var b={event:a.eventName,"eventDetails.category":a.category.toLowerCase(),
"eventDetails.action":a.action.toLowerCase(),"eventDetails.label":a.label?a.label.toLowerCase():a.label,"eventDetails.value":a.value};Object.merge(b,a.customAttributes||{});window.dataLayer.push(b)}},_getDataLayerTrackingInfo:function(){for(var a=0;a<window.dataLayer.length;a+=1)if(window.dataLayer[a].meta)return window.dataLayer[a];return null},_getApplicationInfo:function(){var a=void 0;if(VUI.tracking.gtmConfig.IS_ENABLED){a=this._getDataLayerTrackingInfo();if(!a)throw Error("dataLayer meta must be defined");
a=a.meta["Page Section"]}return a},trackAttribute:function(a,b,c){if(b=c||b.get("data-gatrack"))a=b,"string"===typeof b&&(a=l(b)),b=VUI.tracking.gtmConfig.EVENT_NAME_NO_ECOMMERCE,a.event?b=a.event:a.isEcommerce&&(b=VUI.tracking.gtmConfig.EVENT_NAME_ECOMMERCE),c=a.category?a.category:this._getApplicationInfo(),this.buildEventDataLayer({eventName:b,category:c,action:a.action||window.breadcrumbName,label:a.label,value:a.value,customAttributes:a.customAttributes})},trackEcommerceEvent:function(a,b,c,
e){this.buildEventDataLayer({eventName:VUI.tracking.gtmConfig.EVENT_NAME_ECOMMERCE,category:this._getApplicationInfo(),action:a,label:b,value:c,customAttributes:e})},trackGeneralEvent:function(a,b,c,e){this.trackNonApplicationGeneralEvent(this._getApplicationInfo(),a,b,c,e)},trackNonApplicationGeneralEvent:function(a,b,c,e,d){this.buildEventDataLayer({eventName:VUI.tracking.gtmConfig.EVENT_NAME_NO_ECOMMERCE,category:a,action:b,label:c,value:e,customAttributes:d})},trackFormFieldValueEvent:function(a,
b,c){this.buildEventDataLayer({eventName:VUI.tracking.gtmConfig.EVENT_NAME_FORM_FIELD_VALUE,category:VUI.tracking.gtmConfig.CATEGORY_NAME_FORM_FIELD_VALUE,action:a,label:b,value:void 0,customAttributes:{formFieldValue:c}})},trackFormFieldEntryEvent:function(a,b){this.trackNonApplicationGeneralEvent(VUI.tracking.gtmConfig.CATEGORY_NAME_FORM_FIELD_ENTRY,a,b)},trackEventOnce:function(a,b){this._alreadyTrackedTrackIds.contains(a)||(this.buildEventDataLayer(b),this._alreadyTrackedTrackIds.push(a))},getProductClickGTMData:function(a){this.GTMEcommerceDataSource.getProductClickGTMData(a)},
getProductGTMData:function(a){this.GTMEcommerceDataSource.getProductGTMData(a)},getVuiGtmTrackingAttributes:function(a){function b(a){if(a=a.getParent()){var d=a.retrieve("vuiGtmTrackingAttributes");d&&(c=Object.merge({},d,c));b(a)}}var c={};b(a);return c}});window.addEvent("initComponents",function(){h.default.get("GTMEventTracker")});g.default=d});(function(){Class("VUI.tracking.GTMEcommerceDataSource",{Implements:[VUI.CatchUpEvents],ComponentDataEvents:"GTMEcommerce",InjectAs:{name:"GTMEcommerceDataSource",singleton:!0},initialize:function(){},onData:function(a){this.fireEvent("newdata",a)},onConfig:function(a){var b=!this.request;this.productClickDataUrl=a.productClickDataUrl;b&&(this.request=new MtRequest.JSON({url:a.dataUrl}),this.productRequest=new MtRequest.JSON({url:a.dataUrl,link:"chain"}),a.dataUrl&&a.requestEcommerceOnLoad&&this.request.send())},
getProductClickGTMData:function(a){this.request&&(this.request.options.url=this.productClickDataUrl,this.request.post(a))},getProductGTMData:function(a){this.productRequest&&this.productRequest.post(a)}})})();(function(){var c=VUI.Injector.get("StringUtils");Object.place("VUI.tracking.GTMUtils",{sanitizeLabel:function(a,b){if("function"===typeof b)return b(a);if(b)return c.splitCamelCase(a)},sanitizeActionFromFieldName:function(a){a&&(a=a.substring(a.lastIndexOf(".")+1),a=c.splitCamelCase(a));return a}})})();(function(){var f=["airnz-ButtonBase","airnz-Link"],g=function(b){return Array.mtFrom(b.classList).some(function(c){return f.contains(c)})},h=[{tagName:"button",labelFrom:"name",event:"click"},{tagName:"a",labelFrom:"href",event:"click"}],e=["input","select"];Class("VUI.tracking.GTMContainerTracker",{Depends:["GTMEventTracker"],Implements:[VUI.Disposable],initialize:function(b,c){var a=this;a.sanitizeLabel=c.sanitizeLabel;a.useNewFormat=c.useNewFormat;var d=c.elementsToTrack||h,e=document.getElement(b);
e&&d.each(function(b){var d=Object.clone(c);a.addRecordedEvent(e,b.event+":relay("+b.tagName+")",function(c,e){g(e)||a._trackInteraction(c,e,b,d)})})},_trackInteraction:function(b,c,a,d){b=c.get("data-gatrack");d=d.eventDetails||{};b||this._skipFormFieldInteractionTracking(c)||(a.labelFrom&&(d.label=this.useNewFormat?this._sanitizeLabelNewFormat(c.get(a.labelFrom),a.tagName):this._sanitizeLabel(c.get(a.labelFrom),a.tagName),this.useNewFormat&&(d.action=this._sanitizeAction(c,a))),a.valueFrom&&(d.value=
c.get(a.valueFrom)),this.useNewFormat?e.contains(a.tagName)?d.category=VUI.tracking.gtmConfig.CATEGORY_NAME_FORM_FIELD_ENTRY:"a"===a.tagName?(d.category=VUI.tracking.gtmConfig.CATEGORY_NAME_TEXT_LINK,d=this._overrideTrackingAttributesFromParent(c,d)):"button"===a.tagName&&(d.category=VUI.tracking.gtmConfig.CATEGORY_NAME_BUTTON,d=this._overrideTrackingAttributesFromParent(c,d)):e.contains(a.tagName)&&(d.category="form field"),d.eventName=d.eventName||VUI.tracking.gtmConfig.EVENT_NAME_NO_ECOMMERCE,
this.GTMEventTracker.buildEventDataLayer(d))},_overrideTrackingAttributesFromParent:function(b,c){var a=this.GTMEventTracker.getVuiGtmTrackingAttributes(b);return Object.merge({},c,a)},_skipFormFieldInteractionTracking:function(b){return b&&b.classList.contains("vui-gtm-skip-tracking")},_sanitizeLabel:function(b,c){if(!b)return"unnamed "+c;if("a"===c){var a=b.split("/").pop(-1);return a?"link to "+a.replace(/\?.*$/,""):b}return VUI.tracking.GTMUtils.sanitizeLabel(b,this.sanitizeLabel)},_sanitizeLabelNewFormat:function(b,
c){return b?VUI.tracking.GTMUtils.sanitizeLabel(b,this.sanitizeLabel):this._unNamedTag(c)},_getActionFromUrl:function(b){var c=b.split("/"),a=c.pop(-1);return a?(a=(a=a.replace(/\?.*$/,""))?a:c.pop(-1),"link to "+a):b},_unNamedTag:function(b){return"unnamed "+b},_sanitizeAction:function(b,c){var a=c.tagName;if("a"===a)return this._getActionFromUrl(b.get(c.labelFrom));var d=b.get(c.labelFrom);return d?VUI.tracking.GTMUtils.sanitizeActionFromFieldName(d):this._unNamedTag(a)}})})();(function(){Class("VUI.tracking.GTMFormTracker",{Depends:["GTMEventTracker","StringUtils","ValidationsTracker"],Implements:[VUI.Disposable],Binds:["_onValidationErrors"],NO_LABEL:"NO_LABEL",initialize:function(a){if(VUI.tracking.gtmConfig.IS_ENABLED){this.validationOptions=a.validationOptions;this.useNewFormat=a.useNewFormat;this.validationOptions&&(this.validationOptions.eventDetails={eventName:a.eventName||VUI.tracking.gtmConfig.EVENT_NAME_NO_ECOMMERCE,action:a.action||"flight booking"});this.sanitizeLabel=
a.sanitizeLabel;var b=[{tagName:"input",labelFrom:"name",event:"focus"},{tagName:"select",labelFrom:"name",event:"focus"},{tagName:"textarea",labelFrom:"name",event:"focus"},{tagName:"button",labelFrom:"name",event:"click"},{tagName:"a",labelFrom:"href",event:"click"}];a.interactionOptions&&(a.interactionOptions.elementsToTrack=a.interactionOptions.elementsToTrack||b,a.interactionOptions.sanitizeLabel=a.sanitizeLabel,a.interactionOptions.useNewFormat=a.useNewFormat,this.containerTracker=new VUI.tracking.GTMContainerTracker(a.formId,
a.interactionOptions));this.addRecordedEvents(this.ValidationsTracker,{validationErrors:this._onValidationErrors})}},_onValidationErrors:function(a){a&&a.invalidObservables&&this.trackValidationErrors(a.invalidObservables)},trackValidationErrors:function(a){var b=this;if(b.useNewFormat){var d={},c=[];a=a.flatten();a.each(function(a){var e=a.fieldName;b.validationOptions&&("required"===a.failedRule()||"vuiRequiredCheckbox"===a.failedRule()?b._addMissedField(e,d):c.push(e))});Object.keys(d).forEach(function(a){var c=
d[a];a=a===b.NO_LABEL?void 0:a;b.GTMEventTracker.buildEventDataLayer({eventName:b.validationOptions.eventDetails.eventName,category:"form error - missed fields",action:c.join(", "),label:a})});c.length&&c.each(function(a){b.GTMEventTracker.buildEventDataLayer({eventName:b.validationOptions.eventDetails.eventName,category:"form error - invalid input",action:VUI.tracking.GTMUtils.sanitizeActionFromFieldName(a),label:VUI.tracking.GTMUtils.sanitizeLabel(a,b.sanitizeLabel)})})}else b._trackValidationErrorsOldWay(a)},
_addMissedField:function(a,b){var d=VUI.tracking.GTMUtils.sanitizeActionFromFieldName(a),c=VUI.tracking.GTMUtils.sanitizeLabel(a,this.sanitizeLabel),c=c||this.NO_LABEL;b[c]||(b[c]=[]);b[c].push(d)},_trackValidationErrorsOldWay:function(a){var b=this,d=[],c=[];a=a.flatten();a.each(function(a){var e=a.fieldName;b.validationOptions&&(e=VUI.tracking.GTMUtils.sanitizeLabel(e,b.sanitizeLabel),"required"===a.failedRule()||"vuiRequiredCheckbox"===a.failedRule()?d.push(e):c.push(e))});d.length&&b.GTMEventTracker.buildEventDataLayer({eventName:b.validationOptions.eventDetails.eventName,
category:"form error - missed fields",action:b.validationOptions.eventDetails.action,label:d.join(", ")});c.length&&c.each(function(a){b.GTMEventTracker.buildEventDataLayer({eventName:b.validationOptions.eventDetails.eventName,category:"form error - invalid input",action:b.validationOptions.eventDetails.action,label:a})})}})})();(function(){Class("VUI.tracking.GAEventTracker",{InjectAs:{name:"GAEventTracker",singleton:!0},Binds:["_trackLink","_trackButton"],_cachedEvents:[],initialize:function(){document.id("page-body").addEvents({"click:relay(a[data-track])":this._trackLink,"click:relay(button[data-track])":this._trackButton,"click:relay(input[data-track])":this._trackButton})},_trackLink:function(b,c){this.trackEvent(c.get("data-track"),c.get("href"),window.location.pathname)},_trackButton:function(b,c){var a=c.get("data-track");
a&&(a=a.split("|"),2===a.length?this.trackEvent(a[0],a[1],window.location.pathname):3===a.length&&this.trackEvent(a[0],a[1],a[2]))},trackEvent:function(b,c,a){"function"===typeof ga&&ga("send","event",{eventCategory:b,eventAction:c,eventLabel:a});"undefined"!==typeof _gaq&&(a||null!==a?_gaq.push(["_trackEvent",b,c,a]):_gaq.push(["_trackEvent",b,c]))},trackOnFirstChange:function(b,c,a,d){var e=this,f=b.subscribe(function(b){"undefined"!==typeof b&&(e.trackEvent(c,a,ko.unwrap(d)),f.dispose())});return f},
trackOnChange:function(b,c,a,d){var e=this;return b.subscribe(function(b){"undefined"!==typeof b&&e.trackEvent(c,a,ko.unwrap(d))})},cacheAndTrackCustomEvent:function(b){this._cachedEvents.push(b);this._initPolling()},_initPolling:function(){var b=this,c,a=0,d=function(){window.ga||window._gaq?(b._pushCachedEvents(),window.clearTimeout(c)):10>=a&&(c=d.delay(500),a++)};d()},_pushCachedEvents:function(){var b=this;b._cachedEvents.each(function(c){b.trackEvent(c.category,c.action,c.label)})}})})();__registerModule("/nz/co/airnz/vui/common/messages/messages.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"vui.messages.label.close":"Close","vui.messages.payment.text":"Pay now","vui.messages.selectandcontinue":"Select and continue"};Locale.define("en-NZ","vui",{common:{messages:b}});a.default=b});(function(){Class("VUI.SEARCH.SearchKey",{ComponentDataEvents:"SearchResults",InjectAs:{name:"SearchKey",singleton:!0},RELAX:"relax",_searchKey:null,initialize:function(){},onData:function(a){a.legs&&this.set(a.legs[0].searchKey)},get:function(){return this._searchKey},set:function(a){this._searchKey=a}})})();Browser.firefox&&(Asset.image=function(c,b){b||(b={});var a=new Image;["load","abort","error"].each(function(d){var e="on"+d,f="on"+d.capitalize(),c=b[e]||b[f]||function(){};delete b[f];delete b[e];a[e]=function(){a&&(c.delay(1,a,a),a.fireEvent(d,a,1))}});a.src=c;a&&a.complete&&a.onload.delay(1);return a.set(b)});(function(){Object.place("VUI.getFromPath",function(b,c){"string"===typeof c&&(c=c.split("."));for(var d=0,e=c.length;d<e;d++){var a=c[d];if(-1!==a.indexOf("]",a.length-1))if(a=a.replace("]"),a=a.split("["),b.hasOwnProperty(a[0])){var f=parseInt(a[1],0);b=b[a[0]][f]}else return null;else if(b.hasOwnProperty(a))b=b[a];else return null}return b})})();Browser.Features.Touch=function(){return"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch?!0:!1}();Browser.Features.iOSTouch=function(){var a=document.html,c=!1;if(!a.addEventListener)return!1;var b=function(){a.removeEventListener("cantouch",b,!0);c=!0};try{a.addEventListener("cantouch",b,!0);var d=document.createEvent("TouchEvent");d.initTouchEvent("cantouch");a.dispatchEvent(d);return c}catch(e){}b();return!1}();var SubtleTemplate=new Class({Implements:Options,options:{tag:"div",id:"","class":"",html:"{html}",data:{}},initialize:function(a){"element"===typeOf(a)?this.setElementOptions(a):(a&&a.html&&(a.html=a.html.replace(/%7B([^%]+)%7D/g,"{$1}")),this.setOptions(a));return this.template=new Class({Extends:SubtleTemplate.Template,options:this.options})},setElementOptions:function(a){if(!a)return this.fireEvent("error");a=document.id(a);Browser.ie?a.getElements("*").each(function(a){"abbr above accept accesskey action align alink alt archive autostart axis background balance behavior below bgcolor bgproperties border bordercolor bordercolordark bordercolorlight bottommargin cabbase cellpadding cellspacing charset checked cite class classid clear clip code codebase codetype color cols colspan compact content controls coords data datapagesize datetime declare defer delay dir direction disabled dynsrc enctype face for frame frameborder framespacing gutter headers hidden href hreflang hspace id ismap label lang language left leftmargin link longdesc loop lowsrc marginheight marginwidth maxlength mayscript media method multiple name noexternaldata noresize noshade nowrap pagex pagey pointsize readonly rel rev rightmargin rows rowspan rules runat scope scrollamount scrolldelay scrolling selected shape size span standby start style summary tabindex target title top topmargin truespeed type usemap valign value valuetype visibility vlink volume vspace wrap xmlns".split(" ").each(function(b){try{var e=
a.getProperty(b);e&&"string"===typeOf(e)&&a.setProperty(b,a.getProperty(b)+" HACKED_FOR_IE")}catch(f){}})}):Browser.firefox&&a.getElements("a").each(function(a){try{var b=a.getProperty("href");b&&"string"===typeOf(b)&&a.setProperty("href",b.replace(/%7B([^%]+)%7D/g,"{$1}"))}catch(e){}});this.setOptions({parent:a.parentNode?document.id(a.parentNode):null,tag:a.get("tag"),id:a.get("id"),"class":a.get("class"),html:a.get("html").replace(/ ?HACKED_FOR_IE/g,"").replace(/%7B([^%]+)%7D/g,"{$1}")});for(var b=
0;b<a.attributes.length;b++)0===a.attributes[b].name.toLowerCase().indexOf("data-")&&(this.options[a.attributes[b].name.toLowerCase()]=a.attributes[b].value);a.dispose();a=null;return this}});
SubtleTemplate.Template=new Class({Implements:[Options,Events],initialize:function(a,b){b&&this.setOptions(b);a&&this.setOptions({data:a});this.element=new Element(this.options.tag);this.populate();return this.fireEvent("initialize")},populate:function(a,b){b&&this.setOptions(b);a&&this.setOptions({data:a});this.element.set({html:this.bindStringData(this.options.data,this.options.html),"class":(this.options.data.html_class||this.options["class"]||"").substitute(this.options.data,"singleCurlies")});
this.options.data.html_id&&this.element.set({id:this.options.data.html_id.substitute(this.options.data,"singleCurlies")});for(var c in this.options)0===c.toLowerCase().indexOf("data-")&&this.element.set(c.toLowerCase(),this.options[c]);return this.fireEvent("populate")},bindStringData:function(a,b){return b=b.replace(/\\?\{([^{}]+)\}/g,function(b,d){if("\\"===b[0])return b.slice(1);var e=Object.getFromPath(a,d);return 0===e?e:e||""})},inject:function(a){this.element.inject(a||this.options.parent);
return this.fireEvent("inject")}});
Class("VUI.TemplateLoader",{Templates:[],container:null,loadTemplates:function(){var a;this.templates={};var b=!1;!this.container&&this.options.templatesContainerId&&(this.container=document.id(this.options.templatesContainerId));if(this.container){"SCRIPT"===this.container.tagName?(a=new Element("div",{}),b=this.container.get("html").replace(/src/g,"xxsrcxx"),a.set("html",b),b=!0):a=this.container;for(var c=0;c<this.Templates.length;c++){var d=a.getElement(".t-"+this.Templates[c]);if(d)d.removeClass("t-"+
this.Templates[c]),d.removeClass("template"),this.templates[this.Templates[c]]=b?new SubtleTemplate({parent:null,tag:d.get("tag"),id:d.get("id"),"class":d.get("class"),html:d.get("html").replace(/xxsrcxx/g,"src"),scriptTemplate:b}):new SubtleTemplate(d);else throw Error("template t-"+this.Templates[c]+" not found");}}}});Class("VUI.common",{Implements:[Events,Options],Static:{validators:{EMAIL:{regex:/[a-z0-9!#$%&'*+\/=?\^_`{|}~\-]+(?:\.[a-z0-9!#$%&'*+\/=?\^_`{|}~\-]+)*@(?:[a-z0-9](?:[a-z0-9\-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9\-]*[a-z0-9])$/i},CARDNUMBER:{regex:/^[\d\s]+$/},ALPHA:{regex:/^[a-z ._\-]+$/i},PERSON_NAME:{regex:/^[a-z \-']+$/i},ALPHANUM:{regex:/^[a-z0-9]+$/i},INTEGER:{regex:/^[\-+]?\d+$/},REAL:{regex:/^[\-+]?\d*\.?\d+$/},DATE:{regex:/^((((0[13578])|([13578])|(1[02]))[\/](([1-9])|([0-2][0-9])|(3[01])))|(((0[469])|([469])|(11))[\/](([1-9])|([0-2][0-9])|(30)))|((2|02)[\/](([1-9])|([0-2][0-9]))))[\/]\d{4}$|^\d{4}$/},
PHONE:{regex:/^[\d\s ().\-]+$/},URL:{regex:/^(http|https|ftp)\:\/\/[a-z0-9\-\.]+\.[a-z]{2,3}(:[a-z0-9]*)?\/?([a-z0-9\-\._\?\,\'\/\\\+&amp;%\$#\=~])*$/i},TRAVELCARD_COSTCENTRE:{regex:/^[0-9a-z \-\/]{3,20}$/i},POSTCODE:{regex:/^[0-9]{3,4}$/i},CSC:{regex:/^[0-9]{3,4}$/i},APLOGIN:{regex:/(^[0-9A-Za-z]+$|^[A-Za-z0-9._%+\-]+@[A-Za-z0-9.\-]+\.[A-Za-z]{2,4}$)/},TEST_TEXT_EMPTY:function(a){return""!==a.value.replace(/[ \t\r\n]+/g,"")},TEST_LENGTH_ZERO:function(a){return 0!==a.value.length}}},options:{windowTypes:{full:"toolbar\x3dyes,location\x3dyes,directories\x3dyes,status\x3dyes,menubar\x3dyes,scrollbars\x3dyes,copyhistory\x3dyes,resizable\x3dyes",
small:"width\x3d400,height\x3d400,toolbar\x3dno,location\x3dno,directories\x3dno,status\x3dno,menubar\x3dno,scrollbars\x3dyes,copyhistory\x3dyes,resizable\x3dyes",medium:"width\x3d600,height\x3d500,toolbar\x3dno,location\x3dno,directories\x3dno,status\x3dno,menubar\x3dno,scrollbars\x3dyes,copyhistory\x3dyes,resizable\x3dyes",large:"width\x3d800,height\x3d600,toolbar\x3dno,location\x3dno,directories\x3dno,status\x3dno,menubar\x3dno,scrollbars\x3dyes,copyhistory\x3dyes,resizable\x3dyes",huge:"width\x3d855,height\x3d700,toolbar\x3dno,location\x3dno,directories\x3dno,status\x3dno,menubar\x3dno,scrollbars\x3dyes,copyhistory\x3dyes,resizable\x3dyes",
wide:"width\x3d1040,height\x3d600,toolbar\x3dno,location\x3dno,directories\x3dno,status\x3dno,menubar\x3dno,scrollbars\x3dyes,copyhistory\x3dyes,resizable\x3dyes",custom:"width\x3d{width},height\x3d{height},toolbar\x3dno,location\x3dno,directories\x3dno,status\x3dno,menubar\x3dno,scrollbars\x3dno,copyhistory\x3dyes,addressbar\x3dno,resizable\x3dyes"}},initialize:function(a){var b=this;b.setOptions(a);window.addEvent("pretracking",function(){b.applyNewWindowBehaviourToLinks()})},applyNewWindowBehaviourToLinks:function(){var a=
this;document.addEvent("click:relay(a.newWindow)",function(b,c){if(!b.rightClick){b.preventDefault();var f="large",d="newWin";c.rel&&(d=c.rel);c.get("data-rel")&&(d=c.get("data-rel"));Object.each(a.options.windowTypes,function(a,b){c.hasClass("wspec_"+b)&&(f=b)});var e=a.options.windowTypes[f];if("custom"===f){var g=c.getProperty("data-width"),h=c.getProperty("data-height");g&&h?(e=a.options.windowTypes[f],e=e.substitute({width:g,height:h})):e=a.options.windowTypes.large}(d=window.open(c.href,d.replace(/-/g,
""),e))&&d.focus()}})}});VUI.COMMON=new VUI.common;var vButtonStyleFixLoaded=!1;
function vButton(a){(Browser.ie6||Browser.ie7)&&a.getElements(".vbutton").each(function(a){(new Element("div",{"class":"before"})).inject(a,"top");(new Element("div",{"class":"after"})).inject(a,"bottom");a.addClass("vbuttonie")});if(Browser.ie8){if(!vButtonStyleFixLoaded){var b=document.createElement("style");b.type="text/css";document.getElementsByTagName("head")[0].appendChild(b);b.styleSheet.cssText=".vbuttonie8activefix:active { -ms-background-position-y: 1px !important; }";vButtonStyleFixLoaded=
!0}a.getElements(".vbutton[disabled\x3d'disabled']").each(function(a){a.removeAttribute("disabled");a.removeEvents("click");a.addEvent("click",function(){return!1})});a.getElements(".vbutton").each(function(a){"auto"!==a.getStyle("top")&&a.addClass("vbuttonie8activefix")})}}function vButtonToLink(a){a.removeClass("vbutton").addClass("vlink");vButton(a.getParent())}function vButtonToButton(a){a.removeClass("vlink").addClass("vbutton");vButton(a.getParent())}
window.addEvent("domready",function(){vButton(document);VUI.Popup&&Class.refactor(VUI.Popup,{show:function(a,b){this.previous(a,b);vButton(this.toElement())}});VUI.OverlayPanel&&Class.refactor(VUI.OverlayPanel,{show:function(a,b){this.previous(a,b);vButton(this.toElement())}})});__registerModule("/nz/co/airnz/vui/formvalidation/formvalidation.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"formvalidation.error.required.fields":"Please fill out these fields","formvalidation.error.required.nominatedTraveller":"Please select one nominated traveller","formvalidation.error.valueDoesNotMatch.zipcode":"Please enter a valid numeric zip code","formvalidation.error.required":"Please fill out this field","formvalidation.error.pattern":"Please enter a valid value",
"formvalidation.error.email":"Please enter a valid email address","formvalidation.error.number":"Please enter a number","formvalidation.error.minLength":"Please enter at least {0} characters","formvalidation.error.maxLength":"Please enter no more than {0} characters","formvalidation.error.postcode":"Please enter a valid postcode","formvalidation.alert.fielderrors.singleError":'\x3cspan class\x3d"sr-only"\x3eThere is 1 problem on this page.\x3c/span\x3ePlease review and complete.',"formvalidation.alert.fielderrors.multipleErrors":'\x3cspan class\x3d"sr-only"\x3eThere are {{errorCount}} problems on this page.\x3c/span\x3ePlease review and complete.'};
Locale.define("en-NZ","vui",{formvalidation:b});a.default=b});(function(e){"function"===typeof require&&"object"===typeof exports&&"object"===typeof module?e(require("knockout"),exports):"function"===typeof define&&define.amd?define(["knockout","exports"],e):e(ko,ko.validation={})})(function(e,x){function v(a){var b="max"===a;return function(c,f){if(d.utils.isEmptyVal(c))return!0;var g,e;void 0===f.typeAttr?(e="text",g=f):(e=f.typeAttr,g=f.value);isNaN(g)||g instanceof Date||(e="number");var h;switch(e.toLowerCase()){case "week":h=/^(\d{4})-W(\d{2})$/;e=c.match(h);
if(null===e)throw Error("Invalid value for "+a+" attribute for week input.  Should look like '2000-W33' http://www.w3.org/TR/html-markup/input.week.html#input.week.attrs.min");return(g=g.match(h))?b?e[1]<g[1]||e[1]===g[1]&&e[2]<=g[2]:e[1]>g[1]||e[1]===g[1]&&e[2]>=g[2]:!1;case "month":h=/^(\d{4})-(\d{2})$/;e=c.match(h);if(null===e)throw Error("Invalid value for "+a+" attribute for month input.  Should look like '2000-03' http://www.w3.org/TR/html-markup/input.month.html#input.month.attrs.min");return(g=
g.match(h))?b?e[1]<g[1]||e[1]===g[1]&&e[2]<=g[2]:e[1]>g[1]||e[1]===g[1]&&e[2]>=g[2]:!1;case "number":case "range":return b?!isNaN(c)&&parseFloat(c)<=parseFloat(g):!isNaN(c)&&parseFloat(c)>=parseFloat(g);default:return b?c<=g:c>=g}}}function y(a,b,c){a.isValidating(!0);var f=function(f){var e=!1,h="";a.__valid__()&&(f.message?(e=f.isValid,h=f.message):e=f,e||(a.error(d.formatMessage(h||c.message||b.message,q(c.params),a)),a.__valid__(e),a.failedRule(c.rule)));a.isValidating(!1)};d.utils.async(function(){b.validator(a(),
void 0===c.params?!0:q(c.params),f)})}if("undefined"===typeof e)throw Error("Knockout is required, please ensure it is loaded before loading this validation plug-in");e.validation=x;var d=e.validation,p=e.utils,q=p.unwrapObservable,l=p.arrayForEach,n=p.extend,w={registerExtenders:!0,messagesOnModified:!0,errorsAsTitle:!0,errorsAsTitleOnModified:!1,messageTemplate:null,insertMessages:!0,parseInputAttributes:!1,writeInputAttributes:!1,decorateInputElement:!1,decorateElementOnModified:!0,errorClass:null,
errorElementClass:"validationElement",errorMessageClass:"validationMessage",allowHtmlMessages:!1,grouping:{deep:!1,observable:!0,live:!1},validate:{}},r=n({},w);r.html5Attributes=["required","pattern","min","max","step"];r.html5InputTypes=["email","number","date"];r.reset=function(){n(r,w)};d.configuration=r;d.utils=function(){var a=(new Date).getTime(),b={};return{isArray:function(a){return a.isArray||"[object Array]"===Object.prototype.toString.call(a)},isObject:function(a){return null!==a&&"object"===
typeof a},isNumber:function(a){return!isNaN(a)},isObservableArray:function(a){return!!a&&"function"===typeof a.remove&&"function"===typeof a.removeAll&&"function"===typeof a.destroy&&"function"===typeof a.destroyAll&&"function"===typeof a.indexOf&&"function"===typeof a.replace},values:function(a){var b=[];if(a.hasOwnProperty)for(var d in a)a.hasOwnProperty(d)&&b.push(a[d]);return b},getValue:function(a){return"function"===typeof a?a():a},hasAttribute:function(a,b){return null!==a.getAttribute(b)},
getAttribute:function(a,b){return a.getAttribute(b)},setAttribute:function(a,b,d){return a.setAttribute(b,d)},isValidatable:function(a){return!!(a&&a.rules&&a.isValid&&a.isModified)},insertAfter:function(a,b){a.parentNode.insertBefore(b,a.nextSibling)},newId:function(){return a+=1},getConfigOptions:function(a){return d.utils.contextFor(a)||d.configuration},setDomData:function(a,e){var g=a.__ko_validation__;g||(a.__ko_validation__=g=d.utils.newId());b[g]=e},getDomData:function(a){return(a=a.__ko_validation__)?
b[a]:void 0},contextFor:function(a){switch(a.nodeType){case 1:case 8:var b=d.utils.getDomData(a);if(b)return b;if(a.parentNode)return d.utils.contextFor(a.parentNode)}},isEmptyVal:function(a){if(void 0===a||null===a||""===a)return!0},getOriginalElementTitle:function(a){var b=d.utils.getAttribute(a,"data-orig-title"),e=a.title;return d.utils.hasAttribute(a,"data-orig-title")?b:e},async:function(a){window.setImmediate?window.setImmediate(a):window.setTimeout(a,0)},forEach:function(a,b){if(d.utils.isArray(a))return l(a,
b);for(var e in a)a.hasOwnProperty(e)&&b(a[e],e)}}}();var z=function(){function a(a){l(a.subscriptions,function(a){a.dispose()});a.subscriptions=[]}function b(b){b.options.deep&&(l(b.flagged,function(a){delete a.__kv_traversed}),b.flagged.length=0);b.options.live||a(b)}function c(d,c){c.validatables=[];a(c);f(d,c);b(c)}function f(a,b,d){var c=[],g=a.peek?a.peek():a;!0!==a.__kv_traversed&&(b.options.deep&&(a.__kv_traversed=!0,b.flagged.push(a)),d=void 0!==d?d:b.options.deep?1:-1,e.isObservable(a)&&
(a.errors||m.isValidatable(a)||a.extend({validatable:!0}),b.validatables.push(a),b.options.live&&m.isObservableArray(a)&&b.subscriptions.push(a.subscribe(function(){b.graphMonitor.valueHasMutated()}))),g&&!g._destroy&&(m.isArray(g)?c=g:m.isObject(g)&&(c=m.values(g))),0!==d&&m.forEach(c,function(a){(a?!(e.isObservable(a)||a.traversableForValidation||a.value&&e.isObservable(a.value)):1)||!a||a.nodeType||e.isComputed(a)&&!a.rules||f(a,b,d+1)}))}function g(a){var b=[];l(a,function(a){m.isValidatable(a)&&
!a.isValid()&&b.push(a.error.peek())});return b}var k=0,h=d.configuration,m=d.utils;return{init:function(a,b){0<k&&!b||(a=a||{},a.errorElementClass=a.errorElementClass||a.errorClass||h.errorElementClass,a.errorMessageClass=a.errorMessageClass||a.errorClass||h.errorMessageClass,n(h,a),h.registerExtenders&&d.registerExtenders(),k=1)},reset:d.configuration.reset,group:function(a,b){b=n(n({},h.grouping),b);var d={options:b,graphMonitor:e.observable(),flagged:[],subscriptions:[],validatables:[]},f=null,
f=b.observable?e.computed(function(){d.graphMonitor();c(a,d);return g(d.validatables)}):function(){c(a,d);return g(d.validatables)};f.showAllMessages=function(a){void 0===a&&(a=!0);f.forEach(function(b){m.isValidatable(b)&&b.isModified(a)})};f.isAnyMessageShown=function(){return!!f.find(function(a){return m.isValidatable(a)&&!a.isValid()&&a.isModified()})};f.filter=function(a){a=a||function(){return!0};f();return p.arrayFilter(d.validatables,a)};f.find=function(a){a=a||function(){return!0};f();return p.arrayFirst(d.validatables,
a)};f.forEach=function(a){a=a||function(){};f();l(d.validatables,a)};f.map=function(a){a=a||function(a){return a};f();return p.arrayMap(d.validatables,a)};f._updateState=function(e){if(!m.isObject(e))throw Error("An object is required.");a=e;if(b.observable)d.graphMonitor.valueHasMutated();else return c(e,d),g(d.validatables)};f.getInvalidObservables=function(){var a=[];if(!f().length)return[];e.utils.arrayForEach(d.validatables,function(b){b.isValid()||a.push(b)});return a};return f},formatMessage:function(a,
b,d){m.isObject(b)&&b.typeAttr&&(b=b.value);if("function"===typeof a)return a(b,d);var c=q(b);null==c&&(c=[]);m.isArray(c)||(c=[c]);return a.replace(/{(\d+)}/gi,function(a,b){return"undefined"!==typeof c[b]?c[b]:a})},addRule:function(a,b){a.extend({validatable:!0});p.arrayFirst(a.rules(),function(a){return a.rule&&a.rule===b.rule})||a.rules.push(b);return a},addAnonymousRule:function(a,b){void 0===b.message&&(b.message="Error");b.onlyIf&&(b.condition=b.onlyIf);d.addRule(a,b)},addExtender:function(a){e.extenders[a]=
function(b,c){return c&&(c.message||c.onlyIf)?d.addRule(b,{rule:a,message:c.message,params:m.isEmptyVal(c.params)?!0:c.params,condition:c.onlyIf}):d.addRule(b,{rule:a,params:c})}},registerExtenders:function(){if(h.registerExtenders)for(var a in d.rules)d.rules.hasOwnProperty(a)&&(e.extenders[a]||d.addExtender(a))},insertValidationMessage:function(a){var b=document.createElement("SPAN");b.className=m.getConfigOptions(a).errorMessageClass;m.insertAfter(a,b);return b},parseInputValidationAttributes:function(a,
b){l(d.configuration.html5Attributes,function(c){if(m.hasAttribute(a,c)){var e=a.getAttribute(c)||!0;if("min"===c||"max"===c){var f=a.getAttribute("type");"undefined"!==typeof f&&f||(f="text");e={typeAttr:f,value:e}}d.addRule(b(),{rule:c,params:e})}});var c=a.getAttribute("type");l(d.configuration.html5InputTypes,function(a){a===c&&d.addRule(b(),{rule:"date"===a?"dateISO":a,params:!0})})},writeInputValidationAttributes:function(a,b){var c=b();if(c&&c.rules){var f=c.rules();l(d.configuration.html5Attributes,
function(b){var d=p.arrayFirst(f,function(a){return a.rule&&a.rule.toLowerCase()===b.toLowerCase()});d&&e.computed({read:function(){var c=e.unwrap(d.params);"pattern"===d.rule&&c instanceof RegExp&&(c=c.source);a.setAttribute(b,c)},disposeWhenNodeIsRemoved:a})});f=null}},makeBindingHandlerValidatable:function(a){var b=e.bindingHandlers[a].init;e.bindingHandlers[a].init=function(a,c,d,f,g){b(a,c,d,f,g);return e.bindingHandlers.validationCore.init(a,c,d,f,g)}},setRules:function(a,b){var c=function(a,
b){if(a&&b)for(var f in b)if(b.hasOwnProperty(f)){var g=b[f];if(a[f]){var h=a[f],k=q(h),n={},p={},l;for(l in g)g.hasOwnProperty(l)&&(d.rules[l]?n[l]=g[l]:p[l]=g[l]);e.isObservable(h)&&h.extend(n);if(k&&m.isArray(k))for(g=0;g<k.length;g++)c(k[g],p);else c(k,p)}}};c(a,b)}}}();n(e.validation,z);d.rules={};d.rules.required={validator:function(a,b){var c;if(void 0===a||null===a)return!b;c=a;"string"===typeof a&&(c=String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,""));return b?0<(c+"").length:!0},
message:"This field is required."};d.rules.min={validator:v("min"),message:"Please enter a value greater than or equal to {0}."};d.rules.max={validator:v("max"),message:"Please enter a value less than or equal to {0}."};d.rules.minLength={validator:function(a,b){return d.utils.isEmptyVal(a)?!0:(d.utils.isNumber(a)?""+a:a).length>=b},message:"Please enter at least {0} characters."};d.rules.maxLength={validator:function(a,b){return d.utils.isEmptyVal(a)?!0:(d.utils.isNumber(a)?""+a:a).length<=b},message:"Please enter no more than {0} characters."};
d.rules.pattern={validator:function(a,b){return d.utils.isEmptyVal(a)||null!==a.toString().match(b)},message:"Please check this value."};d.rules.step={validator:function(a,b){if(d.utils.isEmptyVal(a)||"any"===b)return!0;var c=100*a%(100*b);return 1E-5>Math.abs(c)||1E-5>Math.abs(1-c)},message:"The value must increment by {0}."};d.rules.email={validator:function(a,b){return b?d.utils.isEmptyVal(a)||b&&/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(a):
!0},message:"Please enter a proper email address."};d.rules.date={validator:function(a,b){return b?d.utils.isEmptyVal(a)||b&&!/Invalid|NaN/.test(new Date(a)):!0},message:"Please enter a proper date."};d.rules.dateISO={validator:function(a,b){return b?d.utils.isEmptyVal(a)||b&&/^\d{4}[-/](?:0?[1-9]|1[012])[-/](?:0?[1-9]|[12][0-9]|3[01])$/.test(a):!0},message:"Please enter a proper date."};d.rules.number={validator:function(a,b){return b?d.utils.isEmptyVal(a)||b&&/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a):
!0},message:"Please enter a number."};d.rules.digit={validator:function(a,b){return b?d.utils.isEmptyVal(a)||b&&/^\d+$/.test(a):!0},message:"Please enter a digit."};d.rules.phoneUS={validator:function(a,b){if(!b||d.utils.isEmptyVal(a))return!0;if("string"!==typeof a)return!1;a=a.replace(/\s+/g,"");return b&&9<a.length&&a.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/)},message:"Please specify a valid phone number."};d.rules.equal={validator:function(a,b){return a===d.utils.getValue(b)},
message:"Values must equal."};d.rules.notEqual={validator:function(a,b){return a!==d.utils.getValue(b)},message:"Please choose another value."};d.rules.unique={validator:function(a,b){var c=d.utils.getValue(b.collection),f=d.utils.getValue(b.externalValue),e=0;if(!a||!c)return!0;p.arrayFilter(c,function(c){a===(b.valueAccessor?b.valueAccessor(c):c)&&e++});return e<(f?1:2)},message:"Please make sure the value is unique."};d.registerExtenders();e.bindingHandlers.validationCore=function(){return{init:function(a,
b,c,f,g){c=d.utils.getConfigOptions(a);f=b();c.parseInputAttributes&&d.utils.async(function(){d.parseInputValidationAttributes(a,b)});c.insertMessages&&d.utils.isValidatable(f)&&(g=d.insertValidationMessage(a),c.messageTemplate?e.renderTemplate(c.messageTemplate,{field:f},null,g,"replaceNode"):e.applyBindingsToNode(g,{validationMessage:f}));c.writeInputAttributes&&d.utils.isValidatable(f)&&d.writeInputValidationAttributes(a,b);c.decorateInputElement&&d.utils.isValidatable(f)&&e.applyBindingsToNode(a,
{validationElement:f})}}}();d.makeBindingHandlerValidatable("value");d.makeBindingHandlerValidatable("checked");e.bindingHandlers.textInput&&d.makeBindingHandlerValidatable("textInput");d.makeBindingHandlerValidatable("selectedOptions");e.bindingHandlers.validationMessage={update:function(a,b){var c=b(),f=d.utils.getConfigOptions(a);q(c);var g=!1,k=!1;if(null===c||"undefined"===typeof c)throw Error("Cannot bind validationMessage to undefined value. data-bind expression: "+a.getAttribute("data-bind"));
var g=c.isModified&&c.isModified(),k=c.isValid&&c.isValid(),h=null;if(!f.messagesOnModified||g)h=k?null:c.error;c=!f.messagesOnModified||g?!k:!1;g="none"!==a.style.display;f.allowHtmlMessages?p.setHtml(a,h):e.bindingHandlers.text.update(a,function(){return h});g&&!c?a.style.display="none":!g&&c&&(a.style.display="")}};e.bindingHandlers.validationElement={update:function(a,b,c){var f=b(),g=d.utils.getConfigOptions(a);q(f);var k=!1,h=!1;if(null===f||"undefined"===typeof f)throw Error("Cannot bind validationElement to undefined value. data-bind expression: "+
a.getAttribute("data-bind"));k=f.isModified&&f.isModified();h=f.isValid&&f.isValid();e.bindingHandlers.css.update(a,function(){var a={};a[g.errorElementClass]=!g.decorateElementOnModified||k?!h:!1;return a},c);g.errorsAsTitle&&e.bindingHandlers.attr.update(a,function(){var b=!g.errorsAsTitleOnModified||k,c=d.utils.getOriginalElementTitle(a);if(b&&!h)return{title:f.error,"data-orig-title":c};if(!b||h)return{title:c,"data-orig-title":null}})}};e.bindingHandlers.validationOptions=function(){return{init:function(a,
b,c,e,g){if(b=q(b()))c=n({},d.configuration),n(c,b),d.utils.setDomData(a,c)}}}();e.extenders.validation=function(a,b){l(d.utils.isArray(b)?b:[b],function(b){d.addAnonymousRule(a,b)});return a};e.extenders.validatable=function(a,b){d.utils.isObject(b)||(b={enable:b});"enable"in b||(b.enable=!0);if(b.enable&&!d.utils.isValidatable(a)){var c=d.configuration.validate||{},c={throttleEvaluation:b.throttle||c.throttle};a.error=e.observable(null);a.rules=e.observableArray();a.isValidating=e.observable(!1);
a.__valid__=e.observable(!0);a.isModified=e.observable(!1);a.failedRule=e.observable(null);a.error.subscribe(function(b){b||a.failedRule(null)});a.isValid=e.computed(a.__valid__);a.setError=function(b){var c=a.error.peek(),d=a.__valid__.peek();a.error(b);a.__valid__(!1);c===b||d||a.isValid.notifySubscribers()};a.clearError=function(){a.error(null);a.__valid__(!0);return a};var f=a.subscribe(function(){a.isModified(!0)}),g=e.computed(n({read:function(){a();a.rules();d.validateObservable(a);return!0}},
c));n(g,c);a._disposeValidation=function(){a.isValid.dispose();a.rules.removeAll();f.dispose();g.dispose();delete a.rules;delete a.error;delete a.isValid;delete a.isValidating;delete a.__valid__;delete a.isModified;delete a.setError;delete a.clearError;delete a._disposeValidation}}else!1===b.enable&&a._disposeValidation&&a._disposeValidation();return a};d.validateObservable=function(a){for(var b=0,c,e,g=a.rules(),k=g.length;b<k;b++)if(e=g[b],!e.condition||e.condition())if(c=e.rule?d.rules[e.rule]:
e,c.async||e.async)y(a,c,e);else{var h;h=a;c.validator(h(),void 0===e.params?!0:q(e.params))?h=!0:(h.setError(d.formatMessage(e.message||c.message,q(e.params),h)),h.failedRule(e.rule),h=!1);if(!h)return!1}a.clearError();return!0};var t={},u;d.defineLocale=function(a,b){return a&&b?t[a.toLowerCase()]=b:null};d.locale=function(a){if(a)if(a=a.toLowerCase(),t.hasOwnProperty(a))d.localize(t[a]),u=a;else throw Error("Localization "+a+" has not been loaded.");return u};d.localize=function(a){var b=d.rules,
c;for(c in a)b.hasOwnProperty(c)&&(b[c].message=a[c])};(function(){var a={},b=d.rules,c;for(c in b)b.hasOwnProperty(c)&&(a[c]=b[c].message);d.defineLocale("en-us",a)})();u="en-us";e.applyBindingsWithValidation=function(a,b,c){var f=document.body;b&&b.nodeType&&(f=b,b=c);d.init();b&&(b=n(n({},d.configuration),b),d.utils.setDomData(f,b));e.applyBindings(a,f)};var A=e.applyBindings;e.applyBindings=function(a,b){d.init();A(a,b)};e.validatedObservable=function(a,b){if(!b&&!d.utils.isObject(a))return e.observable(a).extend({validatable:!0});
var c=e.observable(a);c.errors=d.group(d.utils.isObject(a)?a:{},b);c.isValid=e.observable(0===c.errors().length);e.isObservable(c.errors)?c.errors.subscribe(function(a){c.isValid(0===a.length)}):e.computed(c.errors).subscribe(function(a){c.isValid(0===a.length)});c.subscribe(function(a){d.utils.isObject(a)||(a={});c.errors._updateState(a);c.isValid(0===c.errors().length)});return c}});(function(b){function t(b,c){if("checkbox"!==b.type)return!1;var d=c.rules&&c.rules();return d&&d.some(function(b){return"equal"===b.rule||"required"===b.rule})}function n(a,c,d){var g=a.nodeName,e=a.type;if(h.utils.isValidatable(c)){var f=b.computed(function(){b.utils.arrayForEach(c.rules(),function(b){"required"===b.rule&&b.params&&p.contains(g.toLowerCase())&&!k.contains(e)&&(b.condition?a.setAttribute("aria-required",!!b.condition()):a.setAttribute("aria-required",!0))})});b.utils.domNodeDisposal.addDisposeCallback(a,
function(){f.dispose()});var q=h.utils.getConfigOptions(a),r={attr:{"aria-invalid":b.pureComputed(function(){return b.unwrap(q.showAccessibleErrors)&&!c.isValid()})}},l=b.utils.tagNameLower(a),l=0<=b.utils.arrayIndexOf(p,l)?"aria-describedby":"aria-labelledby";r.attr[l]=b.pureComputed(function(){if(d&&b.unwrap(q.showAccessibleErrors)&&!c.isValid())return d+"-error"});b.applyBindingsToNode(a,r)}}function m(a){var c=b.bindingHandlers[a].init;b.bindingHandlers[a].init=function(d,a){k.contains(d.type)&&
b.applyBindingsToNode(d,{validationOptions:{insertMessages:!1}});c&&c.apply(this,arguments);var e=a(),f=e.fieldName;f&&("null"===typeOf(d.getAttribute("id"))&&(d.id=f),"null"===typeOf(d.getAttribute("name"))||0===d.name.indexOf("ko_unique_"))&&(d.name=f);k.contains(d.type)&&!t(d,e)||n(d,e,f)}}var h=b.validation,p="button input keygen meter output progress select textarea".split(" "),k=["radio","hidden","checkbox"];h.configuration.showAccessibleErrors=!0;m("value");m("checked");m("textInput");(function(a){var c=
b.bindingHandlers[a].init;b.bindingHandlers[a].init=function(b,a){c&&c.apply(this,arguments);var e=a();n(b,e,e.fieldName)}})("validationElement");(function(a){var c=b.bindingHandlers[a].init;b.bindingHandlers[a].init=function(b,a){c&&c.apply(this,arguments);var e=a().fieldName;e&&!b.id&&(b.id=e+"-error")}})("validationMessage");b.validation.accessible={addFieldNames:function(a,c,d){c=c||{};var g=[],e=function(a,c,d){!a||"object"!==typeof a||!a.hasOwnProperty||a.constructor===Array||a.constructor===
Date||a.constructor===RegExp||a._destroy||a.nodeType||a.__knockoutAccessibleValidationTraversed||(a.__knockoutAccessibleValidationTraversed=!0,g.push(a),h.utils.forEach(a,function(a,f){if(a&&0!==f.indexOf("_")&&0!==f.indexOf("$")){if(b.isObservable(a)&&!a.fieldName){var g=d+f;a.fieldName="undefined"!==typeof c[g]?c[g]:g}a instanceof Array?b.utils.arrayForEach(a,function(a,b){e(a,c,d+f+"["+b+"].")}):e(a,c,d+f+".",c)}}))};e(a,c,d||"");g.each(function(a){delete a.__knockoutAccessibleValidationTraversed})}};
b.bindingHandlers["for"]={init:function(a,c){var d=c();b.bindingHandlers.attr.update(a,function(){return{"for":d.fieldName}})}}})(ko);(function(a){a.validation.rules.vuiRequiredCheckbox={validator:a.validation.rules.equal.validator,message:a.validation.rules.required.message};a.validation.registerExtenders()})(ko);__registerModule("/nz/co/airnz/vui/common/element/fx/scroll/js/getstickyscrolloffset",function(e,c){Object.defineProperty(c,"__esModule",{value:!0});c.default=function(c){var d=c.getBoundingClientRect();return Array.mtFrom(document.querySelectorAll(".affix-sticky")).filter(function(a){if(!a.offsetParent||a.querySelector(".affix-disabled, .affix-position-bottom"))return!1;var b=a.getBoundingClientRect();if(d.left>b.right||d.right<b.left)return!1;b=a.parentNode.getBoundingClientRect();return d.top>=
b.bottom||d.bottom<=b.top||c.contains(a)?!1:!0}).reduce(function(a,b){return a+b.getSize().y},0)}});__registerModule("/nz/co/airnz/vui/common/element/fx/scroll/js/animatescrollto",function(r,g){Object.defineProperty(g,"__esModule",{value:!0});g.default=function(d,e){d instanceof window.HTMLElement&&(d=e.element&&e.element instanceof window.HTMLElement?d.getBoundingClientRect().top+e.element.scrollTop-e.element.getBoundingClientRect().top:(window.scrollY||document.documentElement.scrollTop)+d.getBoundingClientRect().top);for(var a={speed:500,minDuration:250,maxDuration:1500,cancelOnUserAction:!0,
element:window,onComplete:void 0},b=Object.keys(a),h=0;h<b.length;h+=1){var m=b[h];"undefined"!==typeof e[m]&&(a[m]=e[m])}a.isWindow=a.element===window;var k=null,b=null;a.isWindow?(k=window.scrollY||document.documentElement.scrollTop,b=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)-window.innerHeight):(k=a.element.scrollTop,b=a.element.scrollHeight-
a.element.clientHeight);d>b&&(d=b);var n=d-k;if(0===n){if(a.onComplete&&"function"===typeof a.onComplete)a.onComplete()}else{var f=Math.abs(Math.round(n/1E3*a.speed));f<a.minDuration?f=a.minDuration:f>a.maxDuration&&(f=a.maxDuration);var g=Date.now(),l=null,c=null;a.cancelOnUserAction?(c=function(){p();window.cancelAnimationFrame(l);if(a.onCancel&&"function"===typeof a.onCancel)a.onCancel()},window.addEventListener("keydown",c),window.addEventListener("mousedown",c)):(c=function(a){a.preventDefault()},
window.addEventListener("scroll",c));window.addEventListener("wheel",c);window.addEventListener("touchstart",c);var p=function(){window.removeEventListener("wheel",c);window.removeEventListener("touchstart",c);a.cancelOnUserAction?(window.removeEventListener("keydown",c),window.removeEventListener("mousedown",c)):window.removeEventListener("scroll",c)},l=window.requestAnimationFrame(function q(){var c=Date.now()-g,b=c/f-1,b=Math.round(k+n*(b*b*b+1));if(c<f&&b!==d)a.isWindow?a.element.scrollTo(0,b):
a.element.scrollTop=b,l=window.requestAnimationFrame(q);else if(a.isWindow?a.element.scrollTo(0,d):a.element.scrollTop=d,window.cancelAnimationFrame(l),p(),a.onComplete&&"function"===typeof a.onComplete)a.onComplete()})}}});__registerModule("/nz/co/airnz/vui/common/element/fx/scroll/js/element.fx.scroll",function(f,k){var e=f("./getstickyscrolloffset"),g=babelHelpers.interopRequireDefault(e),e=f("./animatescrollto"),h=babelHelpers.interopRequireDefault(e);Element.implement({vuiScrollToClearStickyElements:function(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},b=(0,g.default)(this),b=this.getPosition().y-this.getStyle("marginTop").toInt()-b;a.offset&&(b+=a.offset);var c=a.duration;a.animate&&!c&&(c=
Math.min(2*Math.abs(b-window.getScroll().y),1E3));var d=void 0;if(c)a.useNewScroll?(0,h.default)(b,{minDuration:c,maxDuration:c,onComplete:a.onComplete,cancelOnUserAction:a.cancelOnUserAction}):(d=new window.Fx.Scroll(document.body,{duration:c,transition:"quad:in:out"}),a.onComplete&&d.addEvent("complete",a.onComplete),d.start(0,b));else if(window.scrollTo(0,b),a.onComplete)a.onComplete();return d}})});(function(){ko.validation.rules.predefinedValidationError={validator:function(b,a){var d=a.validationError;return!(d&&!d.consumed)},message:function(b){b=b.validationError;var a=null;b&&(a=b.message);return a}};ko.extenders.groupRequired=function(b,a){return ko.pureComputed(function(){var a=b();a.requiredFields.forEach(function(a){a()});return a}).extend({groupRequiredValidation:a})};ko.validation.rules.groupRequiredValidation={validator:function(b){return Object.every(b.requiredFields,function(a){return!a.isValid||
a.isValid()})?Object.every(b.requiredFields,function(a){return ko.validation.rules.required.validator(ko.unwrap(a),!0)}):!0},message:function(){return Locale.get("vui.formvalidation")["formvalidation.error.required.fields"]}};ko.validation.registerExtenders();Class("VUI.ValidatableViewModel",{Depends:["ValidationsTracker"],isValidatable:!0,isValidationEnabled:!0,isValidationTrackingEnabled:!1,initValidation:function(b){var a=this;b=b||{};a.isValidationTrackingEnabled=!!a.formTracker;ko.validation.accessible.addFieldNames(a,
b.customFieldNameMappings);var d=ko.validation.group(a,{deep:!0,observable:!0,live:!0}),g=ko.observable(!1),e=ko.pureComputed(function(){return 0===d().length}),k=ko.pureComputed(function(){return g()&&!e()}).extend({notify:"always",rateLimit:0});a.validation={validationGroup:d,displayValidationErrors:g,displayValidationAlert:k,validateNow:function(){var b=[];a.isValidationTrackingEnabled&&b.push(a.validation.validationGroup.getInvalidObservables());a.isValidationTrackingEnabled&&a.formId&&a.ValidationsTracker.publishValidationErrors(a.formId,
b);d.showAllMessages();b=e();k.notifySubscribers(k.peek());return b?b:(g(!0),!1)},validationErrors:ko.observable(null)};(b=b.validationErrors)&&a.setValidationErrors(b)},toggleValidations:function(b){this.isValidationEnabled=!!b},addPreComputedValidator:function(b){b.extend({validation:{validator:function(a){return!a.validationMessage},message:function(){return b().validationMessage}}})},setValidationErrors:function(b){var a=this,d=[];a.validation.validationErrors(b);var g=function(e){e.__vuiValidatableTraversed||
(e.__vuiValidatableTraversed=!0,d.push(e),Object.each(e,function(d,h){var c=e[h];if(c&&0!==h.indexOf("_")){if(ko.isObservable(c)){var l=a._getFieldValidationError(c.fieldName||h,b);l&&(c.rules&&c.rules.remove(function(a){return"predefinedValidationError"===a.rule}),c.predefinedValidationSubscription&&(c.predefinedValidationSubscription.dispose(),c.predefinedValidationSubscription=null),c.extend({predefinedValidationError:{params:{validationError:l},onlyIf:function(){return!c.suppressExternalValidation||
!c.suppressExternalValidation()}}}),c.notifySubscribers(),c.predefinedValidationSubscription=c.subscribe(function(){l.consumed=!0;c.predefinedValidationSubscription.dispose();c.predefinedValidationSubscription=null;c.notifySubscribers()}))}var f=ko.utils.peekObservable(c);f&&"object"===typeof f&&f.hasOwnProperty&&f.constructor!==Date&&f.constructor!==RegExp&&!f._destroy&&!f.nodeType&&0!==h.indexOf("$")&&g(f)}}))};b.fields&&b.fields.length&&(g(a),d.each(function(a){delete a.__vuiValidatableTraversed}),
a.validation.validateNow())},_getFieldValidationError:function(b,a){var d=null;a.fields&&a.fields.some(function(a){if(b===a.field)return d=a,!0});return d},makeObservablesRequired:function(b,a){b.each(function(b){b.extend({required:a||function(){return!0}})})}})})();(function(){Class("VUI.CompositeValidatableViewModel",{isCompositeValidatable:!0,isValidationTrackingEnabled:!1,initValidation:function(b){var a=this;a.isValidationTrackingEnabled=!!a.formTracker;b=b||[];a.viewModels=ko.observableArray(b.filter(function(c){return c.validation}));a.validation={validationGroup:ko.pureComputed(function(){var c=[];a.viewModels().each(function(a){c.append(a.validation.validationGroup())});return c}),displayValidationErrors:ko.pureComputed(function(){return a.viewModels().some(function(a){return a.validation.displayValidationErrors()})}),
displayValidationAlert:ko.pureComputed(function(){return a.viewModels().some(function(a){return a.validation.displayValidationAlert()})}),validateNow:function(){var c=[],b=a.viewModels().map(function(b){if(b.isValidationEnabled)a.isValidationTrackingEnabled&&c.push(b.validation.validationGroup.getInvalidObservables());else return!0;return b.validation.validateNow()}).every(function(a){return a});a.isValidationTrackingEnabled&&a.formTracker.trackValidationErrors(c);return b},validationErrors:ko.pureComputed(function(){var b=
null;a.viewModels().some(function(a){if((a=a.validation.validationErrors)&&a.globalMessage)return b={globalMessage:a.globalMessage},!0});return b})}},registerValidatableViewModel:function(b){b.validation&&this.viewModels.push(b)}})})();(function(){Class("VUI.ValidationsTracker",{Implements:[VUI.CatchUpEvents],InjectAs:{name:"ValidationsTracker",singleton:!0},publishValidationErrors:function(a,b){this.fireEvent("validationErrors",{formId:a,invalidObservables:b})}})})();(function(){Class("VUI.GlobalValidationViewModel",{initGlobalValidation:function(a){this.validation={validationErrors:ko.observable(null)};(a=a&&a.validationErrors)&&this.setValidationErrors(a)},setValidationErrors:function(a){this.validation.validationErrors(a)}})})();(function(){window.addEvent("initFramework",function(){Object.each(ko.validation.rules,function(a,b){var c=Locale.get("vui.formvalidation")["formvalidation.error."+b];c&&(a.message=c)})});var g={errorElementClass:"vui-has-error",messageTemplate:"vui-validation-message-template",decorateInputElement:!0,errorsAsTitle:!1,allowHtmlMessages:!0,messagesOnModified:!1,decorateElementOnModified:!1};Class("VUI.ValidationBindingHandler",{Binds:["init"],Implements:[VUI.Templates],initialiseAll:function(){if(!this.initialised){this.loadTemplates({componentId:"vui.formvalidation.formvalidation"});
var a=this.templates.validationMessageTemplate({}),b=new Element("script",{id:"vui-validation-message-template",type:"text/html"});b.text=a.innerHTML;b.inject(document.body);this.initialised=!0}},init:function(a,b,c,e){a=$(a);var d=e.validation;if(!d)throw Error("vuiValidation bindingHandler can only be used on viewModels that extend VUI.ValidatableViewModel, have you Extended it, and called initValidation()?");a.setProperty("novalidate","");this.initialiseAll();c={showAccessibleErrors:d.displayValidationErrors};
b=ko.unwrap(b());var f=Object.merge({},ko.validation.configuration,g,c,b);ko.validation.utils.setDomData(a,f);ko.applyBindingsToNode(a,{css:{"vui-show-errors":d.displayValidationErrors}});(a=$(a.match("form")?a:a.getParent("form")))&&a.addEvent("submit",function(a){if(ko.isObservable(e.serverEvent)){var b,c=a.target.getElements('button, input[type\x3d"submit"]');c.some(function(a){return a===document.activeElement})?b=document.id(document.activeElement).getProperty("name"):1===c.length&&(b=document.id(c[0]).getProperty("name"));
e.serverEvent(b)}(b=d.validateNow())&&f.onValidSubmit&&(b=!0===f.onValidSubmit(a));b||a.preventDefault()})}});ko.bindingHandlers.vuiValidation=new VUI.ValidationBindingHandler})();(function(){Class("VUI.AlertAnnouncer",{InjectAs:{name:"AlertAnnouncer",singleton:!0},addAlert:function(d,e){var a=new Element("div",{styles:{position:"absolute",opacity:0}});a.setAttribute("tabindex","-1");a.style.clip="rect(0px,0px,0px,0px)";var b=new Element("div");b.inject(a);a.inject(d,"before");a.setAttribute("role","alert");b.empty();b.setAttribute("role","alert");a.style.clip="auto";var c;c=e?ko.unwrap(e):d.get("text");c=document.createTextNode(c);b.appendChild(c);a.focus();window.setTimeout(function(){a.style.clip=
"rect(0px,0px,0px,0px)";b.empty();a.removeAttribute("role")},1E3)}})})();(function(){Class("VUI.GlobalValidationAlertDomHandler",{Implements:[VUI.Templates,VUI.Disposable],Depends:["AlertAnnouncer"],Binds:["init"],initialize:function(a,d){var c=this;c.loadTemplates({componentId:"vui.formvalidation.formvalidation"});var b=d.validation,e=ko.pureComputed(function(){var a=b.validationErrors();return a&&a.globalMessage}).extend({notify:"always",rateLimit:0});a.addClass("vui-show-errors");var f=c.templates.alertTemplate({});a.adopt(f);c.applyRecordedBindings({displayAlert:e,
message:e},f);c.record(e.subscribeNow(function(b){b&&a.getElement(".vui-validation-alert").vuiScrollToClearStickyElements({duration:300,onComplete:function(){c.AlertAnnouncer.addAlert(a,b)}})}))}});ko.bindingHandlers.vuiGlobalValidationAlert={init:function(a,d,c,b){b=d()||b;a.store("vui.formvalidation.globalvalidationalertdomhandler",new VUI.GlobalValidationAlertDomHandler(a,b));ko.utils.domNodeDisposal.addDisposeCallback(a,function(){a.retrieve("vui.formvalidation.globalvalidationalertdomhandler").dispose()});
return{controlsDescendantBindings:!0}}}})();(function(){Class("VUI.ValidationAlertDomHandler",{Implements:[VUI.Templates,VUI.Disposable],Depends:["AlertAnnouncer"],Binds:["init"],initialize:function(a,e){var b=this;b.loadTemplates({componentId:"vui.formvalidation.formvalidation"});var c=Locale.get("vui.formvalidation"),d=e.validation,g=ko.pureComputed(function(){var a=d.validationGroup().length;return 1===a?c["formvalidation.alert.fielderrors.singleError"]:c["formvalidation.alert.fielderrors.multipleErrors"].substitute({errorCount:a})}),f=
b.templates.alertTemplate({});a.adopt(f);b.applyRecordedBindings({displayAlert:d.displayValidationAlert,message:g},f);b.record(d.displayValidationAlert.subscribe(function(){d.displayValidationAlert()&&a.getElement(".vui-validation-alert").vuiScrollToClearStickyElements({duration:300,onComplete:function(){b.AlertAnnouncer.addAlert(a)}})}))}});ko.bindingHandlers.vuiValidationAlert={init:function(a,e,b,c){a=document.id(a);c=e()||c;a.store("vui.formvalidation.validationalertdomhandler",new VUI.ValidationAlertDomHandler(a,
c));ko.utils.domNodeDisposal.addDisposeCallback(a,function(){a.retrieve("vui.formvalidation.validationalertdomhandler").dispose()});return{controlsDescendantBindings:!0}}}})();(function(){ko.bindingHandlers.vuiValidationMessage={init:function(a,c){var b=ko.validation.utils.getConfigOptions(a),d=c();if(!b.messageTemplate)throw Error("vuiValidationMessage binding handler must be used in a form that uses the vuiValidation binding handler");ko.renderTemplate(b.messageTemplate,{field:d},null,a);return{controlsDescendantBindings:!0}}}})();__registerModule("/nz/co/airnz/vui/formvalidation/html/formvalidation.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={alertTemplate:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"alert alert-error vui-alert-icon vui-validation-alert" data-bind\x3d"css: {\'vui-has-error\': displayAlert}"\x3e');this.b("\n"+a);this.b('      \x3cspan class\x3d"vui-icon-alert" aria-hidden\x3d"true"\x3e\x3c/span\x3e');this.b("\n"+
a);this.b('      \x3cdiv data-bind\x3d"html: message"\x3e');this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("  ");return this.fl()},validationMessageTemplate:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"popover bottom vui-popover-error" data-bind\x3d"css: {\'vui-has-error\': !field.isValid()}"\x3e');this.b("\n"+a);this.b('      \x3cdiv class\x3d"arrow" aria-hidden\x3d"true"\x3e\x3c/div\x3e');
this.b("\n"+a);this.b('      \x3cdiv class\x3d"popover-content" data-bind\x3d"validationMessage: field"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.formvalidation.formvalidation.hoganTemplates",c);b.default=c});!function(r,m,t){function p(){return"function"!=typeof m.createElement?m.createElement(arguments[0]):w?m.createElementNS.call(m,"http://www.w3.org/2000/svg",arguments[0]):m.createElement.apply(m,arguments)}function I(a){return a.replace(/([a-z])-([a-z])/g,function(b,a,y){return a+y.toUpperCase()}).replace(/^-/,"")}function J(a,b){return function(){return a.apply(b,arguments)}}function z(a){return a.replace(/([A-Z])/g,function(b,a){return"-"+a.toLowerCase()}).replace(/^ms-/,"-ms-")}function K(a,b,
c,y){var e,k,d,l,g=p("div"),h;d=m.body;h=(d||(d=p(w?"svg":"body"),d.fake=!0),d);if(parseInt(c,10))for(;c--;)d=p("div"),d.id=y?y[c]:"modernizr"+(c+1),g.appendChild(d);return e=p("style"),e.type="text/css",e.id="smodernizr",(h.fake?h:g).appendChild(e),h.appendChild(g),e.styleSheet?e.styleSheet.cssText=a:e.appendChild(m.createTextNode(a)),g.id="modernizr",h.fake&&(h.style.background="",h.style.overflow="hidden",l=q.style.overflow,q.style.overflow="hidden",q.appendChild(h)),k=b(g,a),h.fake?(h.parentNode.removeChild(h),
q.style.overflow=l,q.offsetHeight):g.parentNode.removeChild(g),!!k}function L(a,b){var c=a.length;if("CSS"in r&&"supports"in r.CSS){for(;c--;)if(r.CSS.supports(z(a[c]),b))return!0;return!1}if("CSSSupportsRule"in r){for(var d=[];c--;)d.push("("+z(a[c])+":"+b+")");return d=d.join(" or "),K("@supports ("+d+") { #modernizr { position: absolute; } }",function(b){return"absolute"==getComputedStyle(b,null).position})}return t}function A(a,b,c,d){function e(){f&&(delete n.style,delete n.modElem)}if(d="undefined"===
typeof d?!1:d,"undefined"!==typeof c){var k=L(a,c);if("undefined"!==typeof k)return k}for(var f,l,g,h,k=["modernizr","tspan"];!n.style;)f=!0,n.modElem=p(k.shift()),n.style=n.modElem.style;l=a.length;for(k=0;l>k;k++)if(g=a[k],h=n.style[g],!!~(""+g).indexOf("-")&&(g=I(g)),n.style[g]!==t){if(d||"undefined"===typeof c)return e(),"pfx"==b?g:!0;try{n.style[g]=c}catch(m){}if(n.style[g]!=h)return e(),"pfx"==b?g:!0}return e(),!1}function B(a,b,c,d,e){var k=a.charAt(0).toUpperCase()+a.slice(1),f=(a+" "+C.join(k+
" ")+k).split(" "),l;if("string"===typeof b||"undefined"===typeof b)l=A(f,b,d,e);else{f=(a+" "+D.join(k+" ")+k).split(" ");a:{a=f;for(var g in a)if(a[g]in b){b=!1===c?a[g]:(l=b[a[g]],"function"===typeof l?J(l,c||b):l);break a}b=!1}l=b}return l}function E(a,b,c){return B(a,t,t,b,c)}var F=[],x=[],f={_version:"3.3.1",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(a,b){var c=this;setTimeout(function(){b(c[a])},0)},addTest:function(a,b,c){x.push({name:a,fn:b,
options:c})},addAsyncTest:function(a){x.push({name:null,fn:a})}},d=function(){};d.prototype=f;var d=new d,q=m.documentElement,w="svg"===q.nodeName.toLowerCase();w||!function(a,b){function c(){var b=u.elements;return"string"==typeof b?b.split(" "):b}function d(b){var a=t[b[r]];return a||(a={},p++,b[r]=p,t[p]=a),a}function e(a,c,v){if(c||(c=b),g)return c.createElement(a);v||(v=d(c));var e;return e=v.cache[a]?v.cache[a].cloneNode():q.test(a)?(v.cache[a]=v.createElem(a)).cloneNode():v.createElem(a),!e.canHaveChildren||
n.test(a)||e.tagUrn?e:v.frag.appendChild(e)}function f(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag());a.createElement=function(c){return u.shivMethods?e(c,a,b):b.createElem(c)};a.createDocumentFragment=Function("h,f","return function(){var n\x3df.cloneNode(),c\x3dn.createElement;h.shivMethods\x26\x26("+c().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(u,b.frag)}
function m(a){a||(a=b);var c=d(a);if(u.shivCSS&&!l&&!c.hasCSS){var e,h=a;e=h.createElement("p");h=h.getElementsByTagName("head")[0]||h.documentElement;e=(e.innerHTML="x\x3cstyle\x3earticle,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}\x3c/style\x3e",h.insertBefore(e.lastChild,h.firstChild));c.hasCSS=!!e}return g||f(a,c),a}var l,g,h=a.html5||{},n=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,
q=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,r="_html5shiv",p=0,t={};!function(){try{var a=b.createElement("a");a.innerHTML="\x3cxyz\x3e\x3c/xyz\x3e";l="hidden"in a;var c;if(!(c=1==a.childNodes.length)){b.createElement("a");var d=b.createDocumentFragment();c="undefined"==typeof d.cloneNode||"undefined"==typeof d.createDocumentFragment||"undefined"==typeof d.createElement}g=c}catch(e){g=l=!0}}();var u={elements:h.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",
version:"3.7.3",shivCSS:!1!==h.shivCSS,supportsUnknownElements:g,shivMethods:!1!==h.shivMethods,type:"default",shivDocument:m,createElement:e,createDocumentFragment:function(a,e){if(a||(a=b),g)return a.createDocumentFragment();e=e||d(a);for(var h=e.frag.cloneNode(),f=0,k=c(),l=k.length;l>f;f++)h.createElement(k[f]);return h},addElements:function(a,b){var c=u.elements;"string"!=typeof c&&(c=c.join(" "));"string"!=typeof a&&(a=a.join(" "));u.elements=c+" "+a;m(b)}};a.html5=u;m(b);"object"==typeof module&&
module.exports&&(module.exports=u)}("undefined"!=typeof r?r:this,m);var D=f._config.usePrefixes?["moz","o","ms","webkit"]:[];f._domPrefixes=D;var C=f._config.usePrefixes?["Moz","O","ms","Webkit"]:[];f._cssomPrefixes=C;var G={elem:p("modernizr")};d._q.push(function(){delete G.elem});var n={style:G.elem.style};d._q.unshift(function(){delete n.style});f.testProp=function(a,b,c){return A([a],t,b,c)};f.testAllProps=B;f.testAllProps=E;d.addTest("csstransforms",function(){return-1===navigator.userAgent.indexOf("Android 2.")&&
E("transform","scale(1)",!0)});var H=f._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""];f._prefixes=H;d.addTest("csspositionsticky",function(){var a=p("a").style;return a.cssText="position:"+H.join("sticky;position:").slice(0,-9),-1!==a.position.indexOf("sticky")});(function(){var a,b,c,f,e,k;for(k in x)if(x.hasOwnProperty(k)){if(a=[],b=x[k],b.name&&(a.push(b.name.toLowerCase()),b.options&&b.options.aliases&&b.options.aliases.length))for(c=0;c<b.options.aliases.length;c++)a.push(b.options.aliases[c].toLowerCase());
c="function"===typeof b.fn?b.fn():b.fn;for(f=0;f<a.length;f++)e=a[f],e=e.split("."),1===e.length?d[e[0]]=c:(!d[e[0]]||d[e[0]]instanceof Boolean||(d[e[0]]=new Boolean(d[e[0]])),d[e[0]][e[1]]=c),F.push((c?"":"no-")+e.join("-"))}})();(function(a){var b=q.className,c=d._config.classPrefix||"";if(w&&(b=b.baseVal),d._config.enableJSClass)b=b.replace(new RegExp("(^|\\s)"+c+"no-js(\\s|$)"),"$1"+c+"js$2");d._config.enableClasses&&(b+=" "+c+a.join(" "+c),w?q.className.baseVal=b:q.className=b)})(F);delete f.addTest;
delete f.addAsyncTest;for(f=0;f<d._q.length;f++)d._q[f]();r.Modernizr=d}(window,document);__registerModule("/nz/co/airnz/vui/vlook/vlook",function(a,b){});__registerModule("/nz/co/airnz/vui/header/header.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={};Locale.define("en-NZ","vui",{header:b});a.default=b});__registerModule("/nz/co/airnz/vui/header/js/header-component",function(b,d){var a=b("../../referencerecorder/referencerecorder"),c=babelHelpers.interopRequireDefault(a),a=function(){function a(b){babelHelpers.classCallCheck(this,a);Object.merge(this,b);this._references=new c.default;this._references.record(new VUI.tracking.GTMContainerTracker(".vui-header",{eventDetails:{category:"flight booking",action:"header"}}))}babelHelpers.createClass(a,[{key:"dispose",value:function(){this._references.dispose()}}]);
return a}();ko.components.register("vui-header",{template:{component:"vui.header.header",template:"Header"},viewModel:a})});__registerModule("/nz/co/airnz/vui/header/html/header.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={Header:function(b,c,a){this.b(a=a||"");this.b('\x3cheader class\x3d"vui-header vui-inverse" role\x3d"banner"\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-header-logo"\x3e');this.b("\n"+a);this.b('      \x3ca class\x3d"vui-link-unstyled" data-bind\x3d"attr: {href: $component.logoLinkUrl}"\x3e');this.b("\n"+a);this.b('        \x3cspan class\x3d"vui-icon-logo" aria-hidden\x3d"true"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b('        \x3cspan class\x3d"vui-icon-koru" aria-hidden\x3d"true"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('        \x3cspan class\x3d"sr-only" data-bind\x3d"text: $component.logoLinkText"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("      \x3c/a\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c!-- ko template: {nodes: $componentTemplateNodes} --\x3e");this.b("\n"+a);this.b("    \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("  \x3c/header\x3e");this.b("\n"+
a);this.b("\n");return this.fl()}};Object.place("templates.vui.header.header.hoganTemplates",c);b.default=c});__registerModule("/nz/co/airnz/vui/loginheader/loginheader.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"loginheader.shairpoints":"Shairpoints","loginheader.airpoints.for.business":"Airpoints for Business","loginheader.balance.with.advance":"balance with Airpoints Advance"};Locale.define("en-NZ","vui",{loginheader:b});a.default=b});__registerModule("/nz/co/airnz/vui/login/login.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"loginair.airpoints.tier.S":"Silver","loginair.airpoints.tier.G":"Gold","loginair.airpoints.tier.E":"Elite"};Locale.define("en-NZ","vui",{login:b});a.default=b});(function(){Element.implement({vuiTriggerReflow:function(){return this.offsetHeight}});var d=function(){var a,c=document.createElement("fakeelement"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",MSTransition:"msTransitionEnd",OTransition:"oTransitionEnd",transition:"transitionend"};for(a in b)if(void 0!==c.style[a])return b[a]}();Element.implement({vuiOnTransitionEnd:function(a){var c=this;if(c.addEventListener){var b=function(){c.removeEventListener(d,b);a()};c.addEventListener(d,
b)}else a()}});Element.implement({vuiScrollIntoViewIfRequired:function(){var a=this.getOffsetParent();if(a){var c=a.getBoundingClientRect(),b=this.getCoordinates(a),d=b.top+b.height<=c.height;0<=b.top?d||a.scrollTo(0,a.scrollTop+b.top):a.scrollTo(0,a.scrollTop-(c.height-(b.height+b.top)))}}})})();(function(e){e.bindingHandlers.vuiFadedIn={init:function(a){a.addClass("vui-fades")},update:function(a,b){a=document.id(a);var c=e.utils.unwrapObservable(b()),d,f;"object"===typeOf(c)?(d=c.visible,f=c.delay):d=c;d?a.hasClass("vui-faded-out")&&(a.removeClass("vui-faded-out"),a.addClass("vui-fading"),f?window.setTimeout(function(){a.removeClass("vui-fading")},f):(a.vuiTriggerReflow(),a.removeClass("vui-fading"))):a.addClass("vui-faded-out")}};e.bindingHandlers.vuiToggleSlide={init:function(a){var b=
new Fx.Reveal(a,{duration:300});a.store("vui.toggleslide",b)},update:function(a,b){var c=e.unwrap(b()),d=a.retrieve("vui.toggleslide");c?d.reveal():d.dissolve()}};e.bindingHandlers.vuiScrollTopOnFocus={init:function(a,b){var c=b(),d=null;a.store("vuiScrollTopOnFocusEnabled",!0);a.addEventListener("focus",function(){var b=a;a.retrieve("vuiScrollTopOnFocusEnabled")&&(d||(d=document.querySelector(c.offsetElement)),d&&(b=d),b.vuiScrollToClearStickyElements({animate:!0}))})},update:function(a,b){var c=
b();"undefined"!==typeOf(c.enabled)&&a.store("vuiScrollTopOnFocusEnabled",c.enabled)}}})(ko);__registerModule("/nz/co/airnz/vui/loader/loader.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"loading.header":"Just a moment","loading.msg":"Just a moment"};Locale.define("en-NZ","vui",{loader:b});a.default=b});Class("VUI.SpinUtil",{initialize:function(){},spin:function(a,b){b||(b=Locale.get("vui.loader")["loading.msg"]);a.spin({"class":"loader-msg",content:{html:'\x3cdiv class\x3d"msg"\x3e'+b+"\x3c/div\x3e"}})},unspin:function(a){a.unspin()}});(function(){Class("VUI.Loader",{Binds:["showLoading","hideLoading","setCustomLoaderMessage","actualHideLoading","tidyAfterTransition"],options:{parentElementId:null,messageDescription:null},MasterTimeOutPeriod:100,isPageLoader:!1,initialize:function(){var a=this;a.hideTimeout=null;a.isLoaderVisible=!0;a.isLoaderLoaded=!1;a.parentElement=null;a.isPageLoader||(a.MasterTimeOutPeriod=0,a.isLoaderLoaded=!0);a.earliestHide=Date.now()+a.MasterTimeOutPeriod;a.options.parentElementId&&(a.parentElement=document.id(a.options.parentElementId));
window.addEvent("pretracking",function(){a.isLoaderLoaded=!0;a.earliestHide=Date.now()+a.MasterTimeOutPeriod;a.hideLoading()})},showLoading:function(a){if(!this.isLoaderVisible&&this.parentElement){this.earliestHide=Date.now()+this.MasterTimeOutPeriod;this.refreshExistingTimeout();a=this.parentElement;if(this.notEmpty(this.options.messageDescription)){var b=a.getElement(".message");b&&b.set("html",this.options.messageDescription)}a.hasClass("vui-fades")?(a.removeClass("vui-faded-out"),a.addClass("vui-fading"),
a.vuiTriggerReflow(),a.removeClass("vui-fading")):a.fade("in");this.isLoaderVisible=!0}},getHideDelay:function(){return Math.max(this.earliestHide-Date.now(),0)},hideTimeoutFunction:function(){this.actualHideLoading()},refreshExistingTimeout:function(){this.hideTimeout&&(this.clearHideTimeout(),this.hideTimeout=setTimeout(this.hideTimeoutFunction.bind(this),this.getHideDelay()))},hideLoading:function(a){this.clearHideTimeout();a=this.getHideDelay();0===a?this.actualHideLoading():this.hideTimeout=
setTimeout(this.hideTimeoutFunction.bind(this),a)},actualHideLoading:function(){this.isLoaderVisible&&this.isLoaderLoaded&&this.parentElement&&(this.clearHideTimeout(),this.parentElement.hasClass("vui-fades")?(this.tidyAfterTransition.delay(400),this.parentElement.addClass("vui-fading"),this.cleanUpWhenMissingClassDefinition()):this.parentElement.fade("out"),this.MasterTimeOutPeriod=0,this.isLoaderVisible=!1)},tidyAfterTransition:function(){this.parentElement.removeClass("vui-fading");this.parentElement.addClass("vui-faded-out")},
clearHideTimeout:function(){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null)},cleanUpWhenMissingClassDefinition:function(){var a=this.parentElement;setTimeout(function(){var b=null,b=window.getComputedStyle?getComputedStyle(a,null).display:a.getComputedStyle("display");"none"!==b&&"flex"!==b&&a.fade("out")},400)},setCustomLoaderMessage:function(a){this.options.messageDescription=a},notEmpty:function(a){return"undefined"!==typeof a&&null!==a}})})();(function(){Class("VUI.PageLoader",{Extends:VUI.Loader,options:{parentElementId:"loading",messageDescription:null},isPageLoader:!0,InjectAs:{name:"PageLoader",singleton:!0},initialize:function(){this.parent()}});Class("VUI.PageLoaderForcedInstance",{Depends:["PageLoader"],initialize:function(){}})})();new VUI.PageLoaderForcedInstance;__registerModule("/nz/co/airnz/vui/common/knockout/vui/bindinghandlers/form/js/disableformarea",function(g,h){var c=function(a){a.setAttribute("disabled","disabled")},d=function(a){a.removeAttribute("disabled")};ko.bindingHandlers.vuiDisableFormArea={update:function(a,e){var f=ko.unwrap(e()),b=Array.mtFrom(a.querySelectorAll("input, select, textarea"));f?b.forEach(c):b.forEach(d)}}});(function(d){d.bindingHandlers.vuiSelectedOptionDescription={init:function(e,g,h){var b=d.utils.unwrapObservable(g()),f=function(a){a=b.getSelectedMessage(a||"");var c="";Object.each(a.messages,function(a){a.text&&(c+='\x3cp class\x3d"'+b.cssClass+'"\x3e'+a.text+"\x3c/p\x3e")});a=a.screenReaderPreamble?'\x3cspan class\x3d"sr-only"\x3e'+a.screenReaderPreamble+"\x3c/span\x3e":"";c?b.description('\x3cdiv role\x3d"alert"\x3e'+a+c+"\x3c/div\x3e"):b.description('\x3cdiv role\x3d"alert"\x3e'+a+"\x3c/div\x3e")};
h().value.subscribe(function(a){f(a)});f(h().value())}};var g;d.bindingHandlers.vuiAjaxForm={init:function(e,m,h,b){b=m()||b;var f=b.isShowPageLoader&&VUI.Injector.get("PageLoader"),a=function(c){var a=e.getElements("[type\x3dsubmit]:not([disabled]), [data-disable-on-submit]");a.set("disabled",!0);a.addClass("vui-submitting");f&&(g=f.showLoading.delay(1E3));var a=b.mapInputName,d=document.id(c.target);if("false"===d.getProperty("data-ajax"))c=void 0;else{var h=d.getProperty("action"),k={},l=d.getElement("[type\x3dsubmit][data-clicked\x3dtrue]");
c.preventDefault();k=d.toQueryString(a).trim();l&&(k+="\x26"+l.getProperty("name")+"\x3dtrue");(new MtRequest.JSON({url:h,vuiAfterTrackedRequests:!0})).post(k);c=!1}return c};b&&b.validation&&b.validation.displayValidationErrors?d.applyBindingsToNode(e,{vuiValidation:{onValidSubmit:function(c){return a(c)}}},b):e.addEvent("submit",function(c){a(c)});VUI.Injector.get("JsonEventRepeater").addEvent("success-validation",function(){var a=e.getElements(".vui-submitting");a.removeProperty("disabled");a.removeClass("vui-submitting");
f&&(g&&(window.clearTimeout(g),g=null),f.hideLoading())});e.addEvent("click:relay([type\x3dsubmit])",function(a,b){e.getElements("[data-clicked\x3dtrue]").removeProperty("data-clicked",!1);b.setProperty("data-clicked","true")})}}})(ko);(function(){function e(a){function d(b){if(b=b.getParent()){var a=b.retrieve("vuiGtmTrackingAttributes");a&&(c=Object.merge({},a,c));d(b)}}var c={};d(a);return c}ko.bindingHandlers.vuiGtmTrackingAttributes={init:function(a,d){if(window.gtmEnabled){var c=ko.unwrap(d());a.store("vuiGtmTrackingAttributes",c)}}};ko.bindingHandlers.vuiGtmTracking={update:function(a,d){if(window.gtmEnabled){var c=ko.unwrap(d());window.setTimeout(function(){var b=e(a),b=Object.merge({},b,c),b=Object.filter(b,function(a){return a});
a.set("data-gatrack",JSON.stringify(b))},0)}}};ko.bindingHandlers.vuiGtmTrackingContainer={init:function(a,d){if(window.gtmEnabled){var c=ko.unwrap(d());a.set("data-gatrack-container",JSON.stringify(c))}}}})();__registerModule("/nz/co/airnz/vui/login/html/login.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={Login:function(b,c,a){this.b(a=a||"");this.b('\x3cform class\x3d"vui-login vui-faded-out" role\x3d"form" aria-label\x3d"Sign in" data-bind\x3d"');this.b("\n"+a);this.b("      vuiAjaxForm,");this.b("\n"+a);this.b("      attr: {action: $component.loginUrl},");this.b("\n"+a);this.b("      vuiFadedIn: $component.visible(),");this.b("\n"+a);this.b("      validationElement: $component.loginFields,");
this.b("\n"+a);this.b('      submit: $component.onSubmit"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('    \x3cdiv data-bind\x3d"vuiValidationAlert: $component" class\x3d"sr-only"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-login-fields"\x3e');this.b("\n"+a);this.b('      \x3cdiv class\x3d"form-group vui-login-username"\x3e');this.b("\n"+a);this.b('        \x3cinput class\x3d"form-control" type\x3d"text" maxlength\x3d"100" placeholder\x3d"Airpoints No/username/email" autocomplete\x3d"off"');
this.b("\n"+a);this.b('            aria-label\x3d"Airpoints No/username/email" data-bind\x3d"css: $component.inputCustomSizeClass, value: $component.uid"\x3e');this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('      \x3cdiv class\x3d"form-group vui-login-password"\x3e');this.b("\n"+a);this.b('        \x3cinput class\x3d"form-control" type\x3d"password" placeholder\x3d"Enter password" aria-label\x3d"Enter password"');this.b("\n"+a);this.b('            data-bind\x3d"value: $component.password"\x3e');
this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('      \x3cdiv class\x3d"vui-group-validation-message"');this.b("\n"+a);this.b('          data-bind\x3d"vuiValidationMessage: $component.loginFields, attr: {id: $component.loginFieldsViewId }"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("\n"+a);this.b('      \x3cdiv class\x3d"form-group"\x3e');this.b("\n"+a);this.b("        \x3c!-- ko if: $component.showStaySignedIn() --\x3e");this.b("\n"+a);this.b('          \x3cdiv class\x3d"checkbox vui-login-checkbox"\x3e');
this.b("\n"+a);this.b("            \x3clabel\x3e");this.b("\n"+a);this.b('              \x3cinput type\x3d"checkbox" value\x3d"true" data-bind\x3d"checked: $component.staySignedIn"\x3e');this.b("\n"+a);this.b("              \x3cspan\x3eStay signed in\x3c/span\x3e");this.b("\n"+a);this.b("            \x3c/label\x3e");this.b("\n"+a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('        \x3cbutton class\x3d"btn btn-primary vui-login-signin" name\x3d"submit" type\x3d"submit" data-track\x3d"td-sign-in|submit"');
this.b("\n"+a);this.b("            data-bind\x3d\"vuiGtmTracking: {'category': 'sign in', 'action': 'attempt', 'label': $component.eventLabel()}\"\x3e");this.b("\n"+a);this.b("          Sign in");this.b("\n"+a);this.b("        \x3c/button\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-login-forgot-row"\x3e');this.b("\n"+a);this.b('      \x3cdiv class\x3d"checkbox vui-login-checkbox-below"\x3e');this.b("\n"+
a);this.b("        \x3c!-- ko if: $component.showStaySignedIn() --\x3e");this.b("\n"+a);this.b("        \x3clabel\x3e");this.b("\n"+a);this.b('          \x3cinput type\x3d"checkbox" value\x3d"true"');this.b("\n"+a);this.b('              data-bind\x3d"checked: $component.staySignedIn, attr: { id: $component.staySignedIn2ViewId }"\x3e');this.b("\n"+a);this.b("          \x3cspan\x3eStay signed in\x3c/span\x3e");this.b("\n"+a);this.b("        \x3c/label\x3e");this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");
this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b('      \x3cdiv class\x3d"vui-login-forgot form-group"\x3e');this.b("\n"+a);this.b('        Forgot your \x3ca class\x3d"vui-link-primary" target\x3d"_blank" href\x3d"https://auth.airnewzealand.co.nz/vauth/forgotten-username"\x3eusername\x3c/a\x3e or');this.b("\n"+a);this.b('      \x3ca class\x3d"vui-link-primary" target\x3d"_blank" href\x3d"https://auth.airnewzealand.co.nz/vauth/forgotten-password"\x3epassword\x3c/a\x3e?');this.b("\n"+
a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b('    \x3cinput name\x3d"retrieveNominees" value\x3d"true" type\x3d"hidden"\x3e');this.b("\n"+a);this.b("\n"+a);this.b("  \x3c/form\x3e");this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.login.login.hoganTemplates",c);b.default=c});(function(){Class("VUI.LoginDatasource",{Implements:[Options,VUI.CatchUpEvents],Binds:["_setAuthData","_handleInvalidResponse"],Depends:["JsonEventRepeater"],ComponentDataEvents:"LoginProfile",InjectAs:{name:"LoginDataSource",singleton:!0},options:{retrieveNominees:!1,loginUrl:"",logoutUrl:"",usernameUrl:"",passwordUrl:""},data:{loggedin:[],populate:!0,populated:!1,help:[],partialLogin:!1,showLogin:!0,showLogout:!0,keepseats:!1},authdata:{populated:!1},isUserLogin:!1,initialize:function(a){this.setOptions(a);
this.JsonEventRepeater.addEvent("success-validation",this._handleInvalidResponse);this.fireEvent("authupdate")},onSubmit:function(){this.isUserLogin=!0;this.fireEvent("submitLogin")},onConfig:function(a){Object.merge(this.options,a);this.fireEvent("config",a)},onState:function(a){this.authdata=a;this.fireEvent("authupdate",a);this.fireEvent("state",a);!this.isLoggedIn()&&this.options.login&&(this.authdata.partialLogin||this.setUserName())},getPreferredSavedCard:function(){var a;this.isLoggedIn()&&
this.authdata.Profile&&((a=this.authdata.Profile.paymentCardsList.cards.find(function(a){return a.preferred}))||(a=this.authdata.Profile.paymentCardsList.cards[0]));return a},getLoginProfile:function(){return this.authdata},getNominees:function(){if(!this.isLoggedIn()||!this.authdata.Profile||!this.authdata.Profile.nominees)return null;for(var a=[],b=0;b<this.authdata.Profile.nominees.length;b++){var c=this.authdata.Profile.nominees[b];c.loginPerson||a.push(c)}return 0<a.length?a:null},getAirpointsLoginPerson:function(){if(!this.isLoggedIn())return null;
var a=this.authdata.Profile.nominees;return a&&0!==a.length?a.find(function(a){return a.loginPerson}):null},getWebOnlyLoginPerson:function(){return this.isLoggedInAsWebOnlyMember()?this.authdata.Profile:null},getTier:function(a){return a.membershipTier?a.membershipTier.substring(0,1):this.isLoggedIn()?"J":!1},getAirpointsForBusinessInfo:function(){var a=null;this.authdata.Profile&&(a=this.authdata.Profile.airpointsForBusinessInfo);return a},logout:function(){window.sessionStorage.removeItem("vmg.savedCards.selectedCardId");
delete this.authdata.loggedin;this.fireEvent("authupdate");this.fireEvent("logout");(new MtRequest.JSON({method:"post",url:this.options.logoutUrl})).send()},isLoggedIn:function(){return!(!this.authdata.Profile||!this.authdata.Profile.populated)},isLoggedInAsWebOnlyMember:function(){return this.isLoggedIn()&&"WEB"===this.authdata.Profile.membershipType},isLoggedInAsAirpointsForBusinessMember:function(){return!!this.getAirpointsForBusinessInfo()},_handleInvalidResponse:function(a){this.fireEvent("invalidResponse",
a.data)}})})();(function(){Class("VUI.login.LoginComponentViewModel",{Extends:VUI.ValidatableViewModel,Implements:[VUI.Disposable],Depends:["LoginDataSource","GTMEventTracker"],Binds:["onAuthUpdate","onInvalidResponse","onConfig"],initialize:function(b){var a=this;a.viewId=b&&b.viewId;a.uidViewId="uid-"+a.viewId;a.passwordViewId="password-"+a.viewId;a.staySignedInViewId="staySignedIn-"+a.viewId;a.staySignedIn2ViewId="staySignedIn2-"+a.viewId;a.loginFieldsViewId="loginFields-"+a.viewId;a.inPage=b&&b.inPage;a.uid=
ko.observable("");a.password=ko.observable("");a.staySignedIn=ko.observable(!1);a.showStaySignedIn=ko.observable(!1);a.loginFields=ko.pureComputed(function(){return{requiredFields:[a.uid,a.password]}}).extend({groupRequired:!0});a.eventLabel=ko.pureComputed(function(){return(a.inPage?"in page - ":"login panel - ")+(a.staySignedIn()?"persistent":"session")});a.loginUrl=ko.observable("/vbook/fake/url");a.visible=ko.observable(!1);a.addRecordedEvent(a.LoginDataSource,"authupdate:catchup",a.onAuthUpdate);
a.addRecordedEvent(a.LoginDataSource,"config:catchup",a.onConfig);a.addRecordedEvent(a.LoginDataSource,"invalidResponse:catchup",a.onInvalidResponse);a.breadcrumbName=window.breadcrumbName;a.initValidation({customFieldNameMappings:{uid:a.uidViewId,password:a.passwordViewId,staySignedIn:a.staySignedInViewId,staySignedIn2:a.staySignedIn2ViewId,loginFields:a.loginFieldsViewId}});a.mapInputName=function(a){return a.split("-")[0]}},onSubmit:function(){this.LoginDataSource.onSubmit()},onAuthUpdate:function(b){var a=
this.LoginDataSource.isLoggedIn();this.visible(!a);if(a){var a=!!(b&&b.Profile&&b.Profile.paymentCardsList&&b.Profile.paymentCardsList.hasSavedCards),c;b&&b.Profile&&b.Profile.airpointsDollarsAvailableBalance&&(c=b.Profile.airpointsDollarsAvailableBalance.amount);this.GTMEventTracker.trackEventOnce("sign_in_success",{eventName:VUI.tracking.gtmConfig.EVENT_NAME_NO_ECOMMERCE,category:"sign in",action:"success",label:this.eventLabel(),customAttributes:{"saved card details":a,"available airpoint balance":c}})}},
onConfig:function(b){this.loginUrl(b.loginUrl);this.showStaySignedIn(b.showStaySignedIn)},onInvalidResponse:function(b){b.alternateMessage&&this.setValidationErrors({fields:[{field:"loginFields-"+this.viewId,message:b.alternateMessage}]})}});ko.components.register("vui-login",{template:{component:"vui.login.login",template:"Login"},viewModel:VUI.login.LoginComponentViewModel})})();(function(){function h(b,a){Object.each(a,function(a,e){b.removeEvent(e,a)})}function f(b,a,c){a.addEvents(c);a.store(b,c)}function g(b,a){var c=a.retrieve(b);c&&(h(a,c),a.eliminate(b))}function k(b){var a="vui"+b.capitalize()+"Key",c=a+"Events";Element.Events[a]={onAdd:function(a){f(c,this,{keydown:function(c,d){c.key===b&&a(c,d)}})},onRemove:function(){g(c,this)}}}var l=function(b,a){return b.some(function(b){return a===b||b.contains(a)})};Elements.implement({vuiAddFocusLeave:function(b){function a(a){f("focusLeaveEvents",
a,e)}var c=this;c.vuiRemoveFocusLeave();var e={blur:function(a){window.setTimeout(function(){var d=document.activeElement;d===document.body||l(c,d)||b(a)},100)}};c.each(function(b){a(b);b.getElements("a[href], input:not([type\x3dhidden], [disabled]), select:not([disabled]), [tabindex\x3d0], textarea:not([disabled]), button:not([disabled])").each(a)});return{dispose:this.vuiRemoveFocusLeave.bind(this)}},vuiRemoveFocusLeave:function(){function b(a){g("focusLeaveEvents",a)}this.each(function(a){b(a);
a.getElements("a[href], input:not([type\x3dhidden], [disabled]), select:not([disabled]), [tabindex\x3d0], textarea:not([disabled]), button:not([disabled])").each(b)})}});Element.Events.vuiFocusLeave={onAdd:function(b){(new Elements([this])).vuiAddFocusLeave(b)},onRemove:function(){(new Elements([this])).vuiRemoveFocusLeave()}};Element.Events.tap={onAdd:function(b){var a=this;f("tapEvents",a,{touchstart:function(c){if(1===c.touches.length){var e=c.client;a.addEvent("touchend:once",function(a){var d=
a.changedTouches[0];10>Math.abs(e.x-d.clientX)&&10>Math.abs(e.y-d.clientY)&&b(c,a)})}}})},onRemove:function(){g("tapEvents",this)}};Element.Events.vuiClickOutside={onAdd:function(b){var a=this,c=function(c){var d=c.target;d===a||a.contains(d)||b(c)},e=document.getElement("html"),c={click:c,tap:c};e.addEvents(c);a.store("vuiClickOutsideEvents",c)},onRemove:function(){var b=this.retrieve("vuiClickOutsideEvents");if(b){var a=document.getElement("html");h(a,b);this.eliminate("vuiClickOutsideEvents")}}};
k("space");k("esc");Element.Events.vuiLinkButtonClick={onAdd:function(b){f("vuiLinkClickEvents",this,{click:b,vuiSpaceKey:b})},onRemove:function(){g("vuiLinkClickEvents",this)}};Element.Events.vuiMouseMoveOver={base:"mouseover",condition:function(b){var a=Element.Events.vuiMouseMoveOver,c=b.client.x;b=b.client.y;if(c!==a.lastMouseX||b!==a.lastMouseY)return a.lastMouseX=c,a.lastMouseY=b,!0}}})();(function(e){Class("VUI.EventDomHandler",{Implements:[VUI.Disposable],initialize:function(a,c){this.addRecordedEvents(a,c)}});(function(a){e.bindingHandlers[a]={init:function(c,b){var d={};d[a]=function(a,c){!0!==b()(a,c)&&a.preventDefault()};VUI.BindingHandlerDomUtil.storeDomHandler(c,a,new VUI.EventDomHandler(c,d))}}})("vuiLinkButtonClick");e.bindingHandlers.vuiDismissOverlay={init:function(a,c){var b=c();VUI.BindingHandlerDomUtil.storeDomHandler(a,"vuiDismissOverlay",new VUI.EventDomHandler(a,
{vuiEscKey:b,vuiFocusLeave:b,vuiClickOutside:b}))}};Class("VUI.OverlayTriggerDomHandler",{Implements:[VUI.Disposable],initialize:function(a,c,b){function d(){b(!1);h&&(f.disposeRecorded(h),h=null);g&&(f.disposeRecordedEvent(g),g=null)}function e(){b(!0);h=k.vuiAddFocusLeave(d);g=f.addRecordedEvent(c,"vuiClickOutside",function(b){b.target===a||a.contains(b.target)||d()});f.record(h)}var f=this,k=new Elements([a,c]),h,g;f.addRecordedEvent(a,"click",function(a){a.preventDefault();b()?d():(e(),c.focus())});
f.addRecordedEvent(k,"vuiEscKey",function(){d();a.focus()})}});e.bindingHandlers.vuiOverlayTrigger={init:function(a,c){var b=c(),d=document.getElement(b.overlay);VUI.BindingHandlerDomUtil.storeDomHandler(a,"vuiOverlayTrigger",new VUI.OverlayTriggerDomHandler(a,d,b.isOverlayVisible))}};e.bindingHandlers.vuiClickRelay={init:function(a,c,b,d,n){c=c();var f=c.attribute,k=c.handler;a.addEvent("click:relay(["+f+"])",function(a,b){var c;try{var m=e.utils.makeArray(arguments);m.unshift(n.$data);m.unshift(b.getAttribute(f));
c=k.apply(d,m)}finally{!0!==c&&a.preventDefault()}})}};e.bindingHandlers.vuiButtonHold={init:function(a,c){var b=e.unwrap(c()),d=b.callback,n=b.allowKeys||["space","enter"],f=0===b.delay||b.delay?b.delay:300,k=b.repeatInterval=b.repeatInterval||50,h,g=!1,l=function(){window.clearTimeout(h);g=!1;k=b.repeatInterval},m=function(){a.get("disabled")?l():(d(),k-=.8,h=m.delay(k))},p=function(){a.fireEvent("click");h=m.delay(f);g=!0};VUI.BindingHandlerDomUtil.storeDomHandler(a,"vuiHold",new VUI.EventDomHandler(a,
{mousedown:function(){g||p()},keypress:function(a){!g&&n.contains(a.key)&&p()},touchstart:function(){g||p()},mouseup:l,mouseleave:l,keyup:l,touchend:l,touchcancel:l}))}};e.bindingHandlers.vuiTabTrap={init:function(a){VUI.BindingHandlerDomUtil.storeDomHandler(a,"vuiTabTrap",new VUI.EventDomHandler(a,{keydown:function(c){if("tab"===c.key){var b=a.getElements("a[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), *[tabindex]"),d=b.length;if(!d)return!0;
var e=b.indexOf(document.activeElement),f;c.shift?0===e&&(f=b[d-1]):e===d-1&&(f=b[0]);if(f)return f.focus(),!1}else return!0}}))}};e.bindingHandlers.vuiAutoFocus={update:function(a,c){e.unwrap(c())&&a.focus()}};e.bindingHandlers.vuiLinkFocus={init:function(a,c){var b=c();VUI.BindingHandlerDomUtil.storeDomHandler(a,"vuiLinkFocus",new VUI.EventDomHandler(a,{click:function(){var a=document.querySelector(b);a&&window.setTimeout(function(){a.focus()})}}))}}})(ko);(function(a){function e(b){var c=a.unwrap(b.columnCount),f=a.unwrap(b.deviceSize)||"xs";b=a.unwrap(b.colSpan)||1;c=(12/c*b).round(1).toString().replace(".","_");return"col-"+f+"-"+c}a.bindingHandlers.vuiGridCol={init:function(b,c){var f=a.unwrap(c()),d;f instanceof Array?f.each(function(c){d=e(c);b.addClass(d)}):(d="number"===typeof f?e({columnCount:f}):e(f),b.addClass(d))},getColClass:e};a.bindingHandlers.vuiLockHeight={init:function(b,c){var a=window.innerWidth,d=!1,e,g;g=function(){b.setStyle("min-height");
a=window.innerWidth;window.removeEventListener("resize",e);d=!1};e=function(){window.innerWidth!==a&&g()};c().subscribe(function(a){a?window.setTimeout(function(){var a=parseInt(b.getStyle("min-height"),10),a=isNaN(a)?0:a;b.setStyle("min-height",Math.max(a,b.getSize().y));d||(window.addEventListener("resize",e),d=!0)},0):!a&&d&&g()})}};a.bindingHandlers.vuiTriggerReflow={update:function(b,c){a.unwrap(c())&&b.vuiTriggerReflow()}};a.bindingHandlers.vuiVisible={update:function(b,c){a.unwrap(c())?b.setStyle("visibility",
"visible"):b.setStyle("visibility","hidden")}}})(ko);__registerModule("/nz/co/airnz/vui/common/element/events/ontransitionend",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var f=c("../../../referencerecorder/referencerecorder"),g=babelHelpers.interopRequireDefault(f);Element.NativeEvents.transitionend=2;a.default=function(a,c,d){var b=new g.default,e=function(){b.dispose();c()};b.addRecordedEvent(a,"transitionend",e);d&&b.recordTimeout(window.setTimeout(e,d));return b}});__registerModule("/nz/co/airnz/vui/common/knockout/vui/bindinghandlers/effects/slidetoggle",function(g,h){Object.defineProperty(h,"__esModule",{value:!0});var c=g("../../../../../referencerecorder/referencerecorder"),k=babelHelpers.interopRequireDefault(c),c=g("../../../../../common/element/events/ontransitionend"),m=babelHelpers.interopRequireDefault(c),l=function(){function d(b,a){babelHelpers.classCallCheck(this,d);this._element=b;this._onComplete=a;this._transitions=new k.default}babelHelpers.createClass(d,
[{key:"setSlidState",value:function(b){this._element.removeClass("vui-sliding-up");this._element.removeClass("vui-sliding-down");this._element.toggleClass("vui-slid-up",!b);this._element.toggleClass("vui-slid-down",!!b)}},{key:"toggleSlide",value:function(b){var a=this._element;!b||a.hasClass("vui-sliding-down")||a.hasClass("vui-slid-down")?b||a.hasClass("vui-sliding-up")||a.hasClass("vui-slid-up")||this._slide(1,0):this._slide(0,1)}},{key:"_slide",value:function(b,a){var d=this,e=this._element,f=
a>b,c=f?"down":"up",f=f?"up":"down";this._transitions.dispose();e.removeClass("vui-sliding-"+f);e.removeClass("vui-slid-"+f);e.addClass("vui-sliding-"+c);this._transitions.record((0,m.default)(e,function(){e.addClass("vui-slid-"+c);e.removeClass("vui-sliding-"+c);d._onComplete&&d._onComplete(e)},2E3))}},{key:"dispose",value:function(){this._transitions.dispose()}}]);return d}(),n=function(){function d(b,a,c,e){var f=this;babelHelpers.classCallCheck(this,d);this._subscriptions=new k.default;this._slider=
new l(b,e);this._slider.setSlidState(a());c?this._subscriptions.record(ko.computed(function(){c()?(b.addClass("vui-slides"),f._slider.toggleSlide(a())):(b.removeClass("vui-slides"),f._slider.setSlidState(a()))})):(b.addClass("vui-slides"),this._subscriptions.record(a.subscribe(this._slider.toggleSlide.bind(this))))}babelHelpers.createClass(d,[{key:"dispose",value:function(){this._subscriptions.dispose()}}]);return d}();ko.bindingHandlers.vuiSlideToggle={init:function(d,b){var a=b(),c=void 0,e=void 0,
f=void 0;ko.isObservable(a)?c=a:(c=a.isSlideDown,e=a.isEnabled,f=a.onComplete);VUI.BindingHandlerDomUtil.storeDomHandler(d,"vuiSlideToggle",new n(d,c,e,f))}};h.default=l});__registerModule("/nz/co/airnz/vui/loginheader/js/loginheader-component",function(d,k){var c=d("../../injector/injector"),e=babelHelpers.interopRequireDefault(c),c=d("../../referencerecorder/referencerecorder"),g=babelHelpers.interopRequireDefault(c),c=d("../loginheader.text.xml"),f=babelHelpers.interopRequireDefault(c),c=d("../../login/login.text.xml"),h=babelHelpers.interopRequireDefault(c),c=function(){function c(a){var b=this;babelHelpers.classCallCheck(this,c);this.reloadOnLogIn=a.reloadOnLogIn;
this.viewId=a.viewId;this._loginDataSource=e.default.get("LoginDataSource");this._pageLoader=e.default.get("PageLoader");this._references=new g.default;this.isLoginEnabled=ko.observable(!1);this.isAirpointsPaymentEnabled=ko.observable(!1);this.isOpen=ko.observable(!1);this.isLoggedIn=ko.observable(!1);this.logoutUrl=ko.observable("");this.displayName=ko.observable("");this.primaryBalance=ko.observable("");this.primaryBalanceName=ko.observable("");this.upperBalance=ko.observable("");this.upperBalanceName=
ko.observable("");this.lowerBalance=ko.observable("");this.lowerBalanceName=ko.observable("");this.airpointsNumber=ko.observable("");this.tierClass=ko.observable("");this.tier=ko.observable("");this._isSmall=ko.observable(!1);this._references.addRecordedEvents(this._loginDataSource,{"state:catchup":this._onState.bind(this),"config:catchup":this._onConfig.bind(this)});a=e.default.get("MediaQueries");this._references.addRecordedEvent(a,"changeBreakpoint:catchup",function(a){b._isSmall(["xs","sm","md"].contains(a.name))});
this.isPanelOverlay=ko.pureComputed(function(){return b._isSmall()||!b.isLoggedIn()});this.isPanelOverlay.subscribe(function(a){a||b.isOpen(!1)});return Object.freeze(this)}babelHelpers.createClass(c,[{key:"dispose",value:function(){this._references.dispose()}},{key:"_onConfig",value:function(a){this.isLoginEnabled(a.isLoginEnabled);this.isAirpointsPaymentEnabled(a.isAirpointsPaymentEnabled);this.logoutUrl(a.logoutUrl)}},{key:"_onState",value:function(a){this.reloadOnLogIn&&this._loginDataSource.isUserLogin&&
this._loginDataSource.isLoggedIn()&&!this.isLoggedIn()?(this.isOpen(!1),this._pageLoader.showLoading(),window.location.reload(!0)):(this.isLoggedIn(this._loginDataSource.isLoggedIn()),this.isLoggedIn()&&(a=a.Profile,this.displayName(a.displayName),this.airpointsNumber(a.airpointsNumber),this._setTier(a),this._setBalances(a)))}},{key:"_setTier",value:function(a){a.membershipTier?(a=a.membershipTier?a.membershipTier.replace(/K$/,""):"",this.tier(h.default["loginair.airpoints.tier."+a]),this.tierClass("vui-lh-tier-"+
a)):(this.tier(""),this.tierClass("vui-lh-tier-WEB"))}},{key:"_setBalances",value:function(a){this.primaryBalance("");this.upperBalance("");this.lowerBalance("");var b=[];a.airpointsDollarsBalance&&b.push({balance:a.airpointsDollarsBalance.localisedDisplayAmount,name:a.familyGroup?f.default["loginheader.shairpoints"]:""});a.airpointsDollarsAdvance&&0<a.airpointsDollarsAdvance.amount&&b.push({balance:a.airpointsDollarsAvailableBalance.localisedDisplayAmount,name:f.default["loginheader.balance.with.advance"]});
a.airpointsForBusinessInfo&&a.airpointsForBusinessInfo.airpointsBalance&&b.push({balance:a.airpointsForBusinessInfo.airpointsBalance.localisedDisplayAmount,name:f.default["loginheader.airpoints.for.business"]});if(1===b.length%2){a=b.shift();var c=a.name;this.primaryBalance(a.balance);this.primaryBalanceName(c)}b.length&&(a=b[0],b=b[1],this.upperBalance(a.balance),this.upperBalanceName(a.name),this.lowerBalance(b.balance),this.lowerBalanceName(b.name))}},{key:"doLogout",value:function(){this._loginDataSource.logout()}}]);
return c}();ko.components.register("vui-loginheader",{template:{component:"vui.loginheader.loginheader",template:"LoginHeader"},viewModel:c})});__registerModule("/nz/co/airnz/vui/loginheader/html/loginheader.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={LoginHeader:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"vui-loginheader" data-bind\x3d"');this.b("\n"+a);this.b("      if: $component.isLoginEnabled() || $component.isLoggedIn(),");this.b("\n"+a);this.b("      css: {");this.b("\n"+a);this.b("        'is-open': $component.isOpen(),");this.b("\n"+a);this.b("        'is-logged-in': $component.isLoggedIn()");
this.b("\n"+a);this.b('      }"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('    \x3ca href\x3d"#" class\x3d"vui-loginheader-toggle vui-loginheader-action vui-link-primary vui-link-unstyled" role\x3d"button" data-bind\x3d"');this.b("\n"+a);this.b("        vuiOverlayTrigger: {");this.b("\n"+a);this.b("          overlay: '.vui-loginheader-panel',");this.b("\n"+a);this.b("          isOverlayVisible: $component.isOpen");this.b("\n"+a);this.b("        },");this.b("\n"+a);this.b("        attr: {");this.b("\n"+
a);this.b("          'aria-haspopup': $component.isPanelOverlay");this.b("\n"+a);this.b('        }"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('      \x3cspan class\x3d"vui-loginheader-toggle-close vui-icon-close"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('      \x3cspan class\x3d"sr-only"\x3e[close]\x3c/span\x3e');this.b("\n"+a);this.b('      \x3cdiv class\x3d"vui-loginheader-toggle-label"\x3e');this.b("\n"+a);this.b("        \x3c!-- ko if: !$component.isLoggedIn() --\x3e");this.b("\n"+a);this.b("            Sign in");
this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("        \x3c!-- ko if: $component.isLoggedIn() --\x3e");this.b("\n"+a);this.b('          \x3csvg focusable\x3d"false" aria-label\x3d"View profile" class\x3d"vui-loginheader-toggle-profile-icon" viewBox\x3d"0 0 13 13" xmlns\x3d"http://www.w3.org/2000/svg"\x3e\x3cpath d\x3d"M6.506.005C2.926.005.008 2.92.004 6.5 0 8.268.7 9.982 1.92 11.202 3.08 12.362 4.618 13 6.256 13c.088 0 .175-.002.264-.006 3.638-.148 6.49-3 6.49-6.494 0-3.58-2.92-6.495-6.504-6.495zM6.493 12.37c-.08.003-.16.004-.24.004-1.295 0-2.523-.446-3.51-1.267l.003-.018c0-1.647.966-3.048 2.412-3.524.364.186.775.294 1.212.294.436 0 .847-.107 1.21-.294 1.483.485 2.51 1.91 2.518 3.505-.99.766-2.235 1.243-3.605 1.3zm-.12-5.137c-1.128 0-2.043-.915-2.043-2.04 0-1.123.916-2.04 2.042-2.04 1.125 0 2.042.916 2.042 2.04 0 1.126-.917 2.04-2.042 2.04zm4.317 3.32c-.187-1.5-1.14-2.806-2.494-3.42.518-.485.844-1.174.844-1.94 0-1.47-1.197-2.665-2.668-2.665-1.472 0-2.67 1.196-2.67 2.666 0 .765.327 1.455.845 1.94C3.232 7.74 2.33 9.02 2.154 10.54 1.18 9.455.628 8 .63 6.5.635 3.265 3.27.633 6.506.633c3.24 0 5.875 2.633 5.875 5.87 0 1.57-.64 2.995-1.69 4.05z" fill-rule\x3d"evenodd"/\x3e\x3c/svg\x3e');
this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/a\x3e");this.b("\n"+a);this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-loginheader-panel" data-bind\x3d"');this.b("\n"+a);this.b("        vuiSlideToggle: {");this.b("\n"+a);this.b("          isSlideDown: $component.isOpen,");this.b("\n"+a);this.b("          isEnabled: $component.isPanelOverlay");this.b("\n"+a);this.b("        },");this.b("\n"+a);this.b("        attr: {");
this.b("\n"+a);this.b("          role: $component.isOpen() ? 'dialog' : null,");this.b("\n"+a);this.b("          tabindex: $component.isPanelOverlay() ? '-1' : null,");this.b("\n"+a);this.b("          'aria-label': $component.isLoggedIn() ? 'Profile' : 'Sign in'");this.b("\n"+a);this.b('        }"\x3e');this.b("\n"+a);this.b('      \x3cdiv class\x3d"vui-loginheader-panel-contents"\x3e');this.b("\n"+a);this.b("\n"+a);this.b("        \x3c!-- ko if: $component.isLoginEnabled() \x26\x26 !$component.isLoggedIn() --\x3e");
this.b("\n"+a);this.b("          \x3cvui-login params\x3d\"viewId: 'header'\"\x3e");this.b("\n"+a);this.b("          \x3c/vui-login\x3e");this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("        \x3c!-- ko if: $component.isLoggedIn --\x3e");this.b("\n"+a);this.b('          \x3cdiv data-bind\x3d"css: $component.tierClass" class\x3d"vui-loginheader-profile" aria-live\x3d"polite"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('            \x3cspan data-hj-masked class\x3d"vui-lh-membername" data-bind\x3d"text: $component.displayName"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b("\n"+a);this.b("            \x3c!-- ko if: $component.airpointsNumber --\x3e");this.b("\n"+a);this.b('              \x3cspan class\x3d"vui-loginheader-profile-separator"\x3e/\x3c/span\x3e');this.b("\n"+a);this.b('              \x3cspan data-hj-masked class\x3d"vui-lh-airpointsnumber" data-bind\x3d"text: $component.airpointsNumber"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("            \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("            \x3c!-- ko if: $component.tier --\x3e");
this.b("\n"+a);this.b('              \x3cspan class\x3d"vui-loginheader-profile-separator"\x3e/\x3c/span\x3e');this.b("\n"+a);this.b('              \x3cspan data-hj-masked class\x3d"vui-lh-tiername" data-bind\x3d"text: $component.tier"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("            \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("            \x3c!-- ko if: $component.isAirpointsPaymentEnabled() --\x3e");this.b("\n"+a);this.b("              \x3c!-- ko if: $component.primaryBalance --\x3e");
this.b("\n"+a);this.b('                \x3cdiv class\x3d"vui-lh-balance-primary"\x3e');this.b("\n"+a);this.b('                  \x3cspan class\x3d"vui-icon-airpointsdollar"\x3e\x3c/span\x3e\x3cspan data-bind\x3d"text: $component.primaryBalance"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('                  \x3cspan class\x3d"vui-lh-balancename" data-bind\x3d"text: $component.primaryBalanceName"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b("              \x3c!-- /ko --\x3e");
this.b("\n"+a);this.b("\n"+a);this.b("              \x3c!-- ko if: $component.upperBalance() --\x3e");this.b("\n"+a);this.b('                \x3cdiv class\x3d"vui-lh-balances"\x3e');this.b("\n"+a);this.b('                  \x3cdiv class\x3d"vui-lh-balance-upper"\x3e');this.b("\n"+a);this.b('                    \x3cspan class\x3d"vui-icon-airpointsdollar"\x3e\x3c/span\x3e\x3cspan data-bind\x3d"text: $component.upperBalance"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('                    \x3cspan class\x3d"vui-lh-balancename" data-bind\x3d"text: $component.upperBalanceName"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b("                  \x3c/div\x3e");this.b("\n"+a);this.b("                  \x3cdiv\x3e\x3c!-- need a block to separate the 2 inline blocks --\x3e\x3c/div\x3e");this.b("\n"+a);this.b('                  \x3cdiv class\x3d"vui-lh-balance-lower"\x3e');this.b("\n"+a);this.b('                    \x3cspan class\x3d"vui-icon-airpointsdollar"\x3e\x3c/span\x3e\x3cspan data-bind\x3d"text: $component.lowerBalance"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('                    \x3cspan class\x3d"vui-lh-balancename" data-bind\x3d"text: $component.lowerBalanceName"\x3e\x3c/span\x3e');
this.b("\n"+a);this.b("                  \x3c/div\x3e");this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b("              \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("            \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('            \x3ca class\x3d"vui-loginheader-signout vui-loginheader-action vui-link-primary vui-link-unstyled"');this.b("\n"+a);this.b('                data-bind\x3d"attr: {href: $component.logoutUrl}, click: $component.doLogout"\x3e');this.b("\n"+
a);this.b("              Sign out");this.b("\n"+a);this.b("            \x3c/a\x3e");this.b("\n"+a);this.b("\n"+a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.loginheader.loginheader.hoganTemplates",c);b.default=c});(function(){Class("VUI.LoginHeaderPanelShim",{Implements:[Events,VUI.Disposable],Depends:["LoginDataSource"],InjectAs:{name:"LoginHeaderPanelShim",singleton:!0},Binds:["_onState"],initialize:function(){this.addRecordedEvent(this.LoginDataSource,"state:catchup",this._onState)},_onState:function(a){if(this._isLoggedIn=this.LoginDataSource.isLoggedIn())this.authData=a.Profile,this.fireEvent("authupdate")},isLoggedIn:function(){return this._isLoggedIn},getAuthData:function(){return this.authData},focusLogin:function(){}})})();__registerModule("/nz/co/airnz/vui/bearfooter/bearfooter.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"footer.onlinebooking.help.phonenumber":'\x3cdiv\x3eOnline booking help:\x3c/div\x3e \x3ca href\x3d"tel:{{phoneNumber}}" class\x3d"vui-link-subtle"\x3e{{phoneNumber}}\x3c/a\x3e',"vui.footer.copyright":'Copyright \x3cspan aria-hidden\x3d"true"\x3e\u00a9\x3c/span\x3e {{todayYear}} Air New Zealand Limited.'};Locale.define("en-NZ","vui",{bearfooter:b});a.default=b});__registerModule("/nz/co/airnz/vui/bookingui/bookingui-bindinghandler",function(h,k){var c=function a(d,b,e){var c=this,f=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};babelHelpers.classCallCheck(this,a);var g=window.bookingUiLocale;ko.isObservable(e)&&b&&b.render&&function(){var a=void 0;e.subscribeNow(function(c){a=b.render(c,{selector:d,locale:g,className:f.className})});c.dispose=function(){return a&&a()}}()};ko.bindingHandlers.bookingUi={init:function(a,d){var b=d();VUI.BindingHandlerDomUtil.storeDomHandler(a,
"bookingUi",new c(a,b.Component,b.props,b.config));return{controlsDescendantBindings:!0}}}});__registerModule("/nz/co/airnz/vui/oscarpopover/oscarpopover-datasource",function(c,b){Object.defineProperty(b,"__esModule",{value:!0});var a=c("/nz/co/airnz/vui/addcomponentdataevents/addcomponentdataevents"),d=babelHelpers.interopRequireDefault(a),a=function(){function a(){babelHelpers.classCallCheck(this,a);this.data=ko.observable();this.config=ko.observable();this._eventReferences=(0,d.default)(this,"OscarPopover")}babelHelpers.createClass(a,[{key:"dispose",value:function(){this._eventReferences.dispose()}}]);
return a}();b.default=a});__registerModule("/nz/co/airnz/vui/oscarpopover/ssotoken-datasource",function(c,b){Object.defineProperty(b,"__esModule",{value:!0});var a=c("/nz/co/airnz/vui/addcomponentdataevents/addcomponentdataevents"),d=babelHelpers.interopRequireDefault(a),a=function(){function a(){var b=this;babelHelpers.classCallCheck(this,a);this.config=ko.observable();this.data=ko.observable();this._eventReferences=(0,d.default)(this,"TOKEN");this.config.subscribe(function(a){b._request=new MtRequest.JSON({url:a.url,link:"chain"})})}
babelHelpers.createClass(a,[{key:"dispose",value:function(){this._eventReferences.dispose()}},{key:"requestAuthToken",value:function(){this._request&&this._request.get()}}]);return a}();b.default=a});__registerModule("/nz/co/airnz/vui/oscarpopover/oscarpopover-component",function(b,h){var a=b("/nz/co/airnz/vui/referencerecorder/referencerecorder"),e=babelHelpers.interopRequireDefault(a),a=b("/nz/co/airnz/vui/injector/injector"),d=babelHelpers.interopRequireDefault(a),a=b("./oscarpopover-datasource"),f=babelHelpers.interopRequireDefault(a),a=b("./ssotoken-datasource"),g=babelHelpers.interopRequireDefault(a),a=function(){function a(){var c=this;babelHelpers.classCallCheck(this,a);if(window.bookingUiBook){this.OscarPopover=
window.bookingUiBook.OscarPopover;this.props=ko.observable(null);this._tracker=d.default.get("GTMEventTracker");this._references=new e.default;this._loginDataSource=d.default.get("LoginDataSource");this._ssoTokenDataSource=new g.default;this._references.record(this._ssoTokenDataSource.data.subscribe(function(a){c.updateAuthToken(a.token)}));var b=this._references.record(new f.default);this._references.record(b.data.subscribe(function(a){c.props({apiKey:a.apiKey,apiBaseUrl:a.apiBaseUrl,metadata:a.metadata,
trackingRef:a.trackingRef,clientId:a.clientId,onOpen:c.onOpen.bind(c),onClose:c.onClose.bind(c),placement:{y:"above",x:"right"}})}))}}babelHelpers.createClass(a,[{key:"onOpen",value:function(){var a=this;this._loginDataSource.isLoggedIn()&&this.loadAuthToken();this._references.addRecordedEvent(this._loginDataSource,"authupdate:catchup",function(){a._loginDataSource.isLoggedIn()?a.loadAuthToken():a.updateAuthToken()});this._tracker&&this._tracker.trackNonApplicationGeneralEvent("chatbot","action",
"footer link")}},{key:"onClose",value:function(){this._references.dispose()}},{key:"loadAuthToken",value:function(){this._ssoTokenDataSource.requestAuthToken()}},{key:"updateAuthToken",value:function(a){this.props(Object.merge({},this.props(),{authToken:a}))}},{key:"dispose",value:function(){this._references.dispose()}}]);return a}();ko.components.register("vui-oscarpopover",{template:'\x3cdiv data-bind\x3d"bookingUi: { Component: $component.OscarPopover, props: $component.props }"\x3e\x3c/div\x3e',
viewModel:a})});__registerModule("/nz/co/airnz/vui/bearfooter/html/footer.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={Footer:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"vui-footer" role\x3d"contentinfo" aria-label\x3d"footer"\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"container"\x3e');this.b("\n"+a);this.b('      \x3cdiv class\x3d"row"\x3e');this.b("\n"+a);this.b('        \x3cdiv class\x3d"col-md-10 col-lg-offset-1"\x3e');this.b("\n"+a);this.b('          \x3cdiv class\x3d"vui-row-same-height"\x3e');
this.b("\n"+a);this.b("\n"+a);this.b("            \x3c!-- ko if: !$component.isGovernment --\x3e");this.b("\n"+a);this.b('              \x3cdiv class\x3d"col-md-4 vui-footer-column vui-col-md-height" data-bind\x3d"css: {\'col-md-offset-4\': !$component.showOnlineHelp}"\x3e');this.b("\n"+a);this.b("                \x3ch5\x3eContact Us\x3c/h5\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                \x3c!-- ko if: $component.substitutePhoneNumber !\x3d\x3d null --\x3e");this.b("\n"+a);this.b('                  \x3cdiv class\x3d"vui-footer-phone" data-bind\x3d"html: $component.substitutePhoneNumber"\x3e\x3c/div\x3e');
this.b("\n"+a);this.b("                \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("                \x3c!-- ko if: $component.substitutePhoneNumber \x3d\x3d\x3d null --\x3e");this.b("\n"+a);this.b('                  \x3cdiv class\x3d"vui-footer-phone"\x3e\x3cdiv\x3eOnline booking help:\x3c/div\x3e \x3ca href\x3d"tel:0800 352 266" class\x3d"vui-link-subtle"\x3e0800 352 266\x3c/a\x3e\x3c/div\x3e');this.b("\n"+a);this.b("\n"+a);this.b("                  \x3c!-- ko if: $component.isOscarEnabled --\x3e");
this.b("\n"+a);this.b("                    \x3cvui-oscarpopover\x3e");this.b("\n"+a);this.b("                    \x3c/vui-oscarpopover\x3e");this.b("\n"+a);this.b("                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('                  \x3cdiv class\x3d"vui-link-subtle"\x3e\x3ca href\x3d"http://www.airnewzealand.co.nz/international-contact-numbers" class\x3d"vui-link-subtle"\x3eOther countries and for TTY assistance\x3c/a\x3e\x3c/div\x3e');this.b("\n"+a);this.b("                \x3c!-- /ko --\x3e");
this.b("\n"+a);this.b("\n"+a);this.b('                \x3cul class\x3d"list-unstyled"\x3e');this.b("\n"+a);this.b("                  \x3c!-- ko if: $component.showSendUsFeedBackFooterText --\x3e");this.b("\n"+a);this.b('                    \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"https://airnz.custhelp.com/app/ask" target\x3d"_blank"\x3eSend us feedback\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b("                  \x3c!-- /ko --\x3e");this.b("\n"+a);this.b('                  \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/contact-us" target\x3d"_blank"\x3eMore contact options\x3c/a\x3e\x3c/li\x3e');
this.b("\n"+a);this.b("                \x3c/ul\x3e");this.b("\n"+a);this.b("              \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("              \x3c!-- ko if: $component.showOnlineHelp --\x3e");this.b("\n"+a);this.b('                \x3cdiv class\x3d"col-md-4 vui-footer-column vui-col-md-height"\x3e');this.b("\n"+a);this.b("                  \x3ch5\x3eOnline Help\x3c/h5\x3e");this.b("\n"+a);this.b('                  \x3cul class\x3d"list-unstyled"\x3e');this.b("\n"+a);this.b("                    \x3c!-- ko if: $component.showFAQFooterText --\x3e");
this.b("\n"+a);this.b('                      \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"https://airnz.custhelp.com/app/answers/list/p/19/search/1" target\x3d"_blank"\x3eFrequently Asked Questions\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b("                    \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                    \x3c!-- ko if: $component.showMoreHelpOptionsFooterText --\x3e");this.b("\n"+a);this.b('                      \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"https://airnz.custhelp.com" target\x3d"_blank"\x3eMore help options\x3c/a\x3e\x3c/li\x3e');
this.b("\n"+a);this.b("                    \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("                  \x3c/ul\x3e");this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b("              \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("            \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b("            \x3c!-- ko if: $component.isGovernment --\x3e");this.b("\n"+a);this.b('              \x3cdiv class\x3d"col-md-4 vui-footer-column vui-col-md-height"\x3e');this.b("\n"+
a);this.b("                \x3ch5\x3eContact Us\x3c/h5\x3e");this.b("\n"+a);this.b('                \x3cul class\x3d"list-unstyled"\x3e');this.b("\n"+a);this.b('                  \x3cli\x3e\x3cdiv class\x3d"vui-footer-phone"\x3e\x3cdiv\x3eOnline booking help:\x3c/div\x3e \x3ca href\x3d"tel:0800 352 266" class\x3d"vui-link-subtle"\x3e0800 352 266\x3c/a\x3e\x3c/div\x3e\x3c/li\x3e');this.b("\n"+a);this.b('                  \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/contact-us" target\x3d"_blank"\x3eMore contact options\x3c/a\x3e\x3c/li\x3e');
this.b("\n"+a);this.b('                  \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"https://airnz.custhelp.com/app/answers/list/p/19/search/1" target\x3d"_blank"\x3eFrequently Asked Questions\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b("                \x3c/ul\x3e");this.b("\n"+a);this.b("              \x3c/div\x3e");this.b("\n"+a);this.b('              \x3cdiv class\x3d"col-md-4 vui-footer-column vui-col-md-height"\x3e');this.b("\n"+a);this.b("                \x3ch5\x3eManage a booking\x3c/h5\x3e");
this.b("\n"+a);this.b('                \x3cul class\x3d"list-unstyled"\x3e');this.b("\n"+a);this.b('                  \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"/vmanage/actions/seatselect"\x3eRequest a seat\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b('                  \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"/vmanage/actions/passportdetails"\x3eAdd passport details\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b('                  \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"/vmanage/actions/managebookingstart"\x3eView, amend or cancel a booking\x3c/a\x3e\x3c/li\x3e');
this.b("\n"+a);this.b("                \x3c/ul\x3e");this.b("\n"+a);this.b("              \x3c/div\x3e");this.b("\n"+a);this.b("            \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('            \x3cdiv class\x3d"col-md-4 vui-footer-column vui-col-md-height"\x3e');this.b("\n"+a);this.b('              \x3cul class\x3d"list-unstyled"\x3e');this.b("\n"+a);this.b('                \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/website-terms-of-use" target\x3d"_blank"\x3eWebsite Terms of Use\x3c/a\x3e\x3c/li\x3e');
this.b("\n"+a);this.b('                \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/privacy-policy" target\x3d"_blank"\x3ePrivacy Policy\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b("                \x3c!-- ko if: $component.showCookiePolicyFooterText --\x3e");this.b("\n"+a);this.b('                  \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/cookie-policy" target\x3d"_blank"\x3eCookie Policy\x3c/a\x3e\x3c/li\x3e');this.b("\n"+
a);this.b("                \x3c!-- /ko --\x3e");this.b("\n"+a);this.b('                \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/web-browser-compatibility" target\x3d"_blank"\x3eBrowser compatibility\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b('                \x3cli\x3e\x3ca class\x3d"vui-link-subtle" href\x3d"http://www.airnewzealand.co.nz/conditions-of-carriage" target\x3d"_blank"\x3eConditions of Carriage\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b("              \x3c/ul\x3e");
this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("          \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b('        \x3cdiv class\x3d"vui-footer-logo"\x3e');this.b("\n"+a);this.b('          \x3cdiv class\x3d"vui-icon-koru" role\x3d"presentation"\x3e\x3c/div\x3e');this.b("\n"+a);this.b('          \x3cdiv class\x3d"vui-icon-logo" role\x3d"presentation"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");
this.b("\n"+a);this.b("\n"+a);this.b('      \x3cdiv class\x3d"text-center vui-footer-copyright"\x3e');this.b("\n"+a);this.b('        \x3cspan class\x3d"vui-footer-staralliance-logo" role\x3d"presentation"\x3e\x3c/span\x3e');this.b("\n"+a);this.b('        \x3cp class\x3d"vui-footer-copyright-text" data-bind\x3d"html: $component.copyright"\x3e\x3c/p\x3e');this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+
a);this.b("\n");return this.fl()}};Object.place("templates.vui.bearfooter.footer.hoganTemplates",c);b.default=c});(function(){Class("VUI.BearFooterComponentViewModel",{Implements:[VUI.Disposable],Depends:["initFooter"],Optionally:["initToggles"],initialize:function(b){var a=Locale.get("vui.bearfooter");Object.merge(this,this.initFooter.config);this.isGovernment=b.isGovernment;this.substitutePhoneNumber=null;this.phoneNumber&&(this.substitutePhoneNumber=a["footer.onlinebooking.help.phonenumber"].substitute({phoneNumber:this.phoneNumber}));this.showOnlineHelp=this.showFAQFooterText||this.showMoreHelpOptionsFooterText;
this.copyright=a["vui.footer.copyright"].substitute(this);this.record(new VUI.tracking.GTMContainerTracker(".vui-footer",{eventDetails:{category:"flight booking",action:"footer"}}))}});ko.components.register("vui-footer",{template:{component:"vui.bearfooter.footer",template:"Footer"},viewModel:VUI.BearFooterComponentViewModel})})();__registerModule("/nz/co/airnz/vui/date/date.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"js.days.three":"Sun|Mon|Tue|Wed|Thu|Fri|Sat","js.months.three":"Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec","js.mmdd.display":"Enter a date (e.g. dd/mm)","duration.time.hours.minutes":'{{hours}}\x3cabbr class\x3d"vui-abbr-unstyled" title\x3d"hours"\x3eh\x3c/abbr\x3e {{minutes}}\x3cabbr class\x3d"vui-abbr-unstyled" title\x3d"minutes"\x3em\x3c/abbr\x3e',"duration.time.minutes.seconds":'\x3cspan aria-hidden\x3d"true"\x3e{{minutes}}:{{seconds}}\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3e{{minutes}} minutes and {{seconds}} seconds\x3c/span\x3e',
"duration.time.seconds.only":'\x3cspan aria-hidden\x3d"true"\x3e00:{{seconds}}\x3c/span\x3e\x3cspan class\x3d"sr-only"\x3e{{seconds}} seconds\x3c/span\x3e',"pattern.hud.datetime.full":"EEEE dd MMMM yyyy '[TIME]'","pattern.ancillary.datetime.full":"EEE, d MMM yyyy 'at' '[TIME]'","pattern.ancillary.date":"EEE, d MMM yyyy","pattern.monthyear":"MMMM yyyy","pattern.date.daydate.short":"EEE d","pattern.mmdd":"dd/MM","pattern.date.full":"EEEE dd MMMM yyyy","pattern.date.full.variation.2":"EEE, dd MMMM yyyy",
"pattern.date.full.variation.3":"EEE, dd MMM yyyy"};Locale.define("en-NZ","vui",{date:b});a.default=b});(function(){Object.place("VUI.DateFormatter",{formatLocalDateTime:function(a,b){if("array"!==typeOf(a)||3>a.length)throw Error("localDateTime must be an Array of format [year, month, date(, hour(, minutes(, seconds)))]");for(;7>a.length;)a.push(0);return(new Date(a[0],a[1]-1,a[2],a[3],a[4],a[5],a[6])).format(b)},formatDurationInMinutes:function(a){var b=Math.floor(a/60);a%=60;return Locale.get("vui.date")["duration.time.hours.minutes"].substitute({hours:b,minutes:a})},formatDurationInSeconds:function(a,
b){var c=Math.floor(a/60),e=a%60,d="duration.time.minutes.seconds";b||0!==c||(d="duration.time.seconds.only");return Locale.get("vui.date")[d].substitute({minutes:(c+"").pad(2,"0","left"),seconds:(e+"").pad(2,"0","left")})},isSameLocalDate:function(a,b){return 3<=a.length&&3<=b.length?a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]:!1}})})();(function(){Object.place("VUI.DateUtils",{isSameLocalDate:function(a,b){if("array"!==typeOf(a)||"array"!==typeOf(b))throw Error("localDateTime must be an Array of format [year, month, date(, hour(, minutes(, seconds)))]");return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]},parseLocalDate:function(a){return new Date(a[0],a[1]-1,a[2],12)}})})();Locale.define("en-NZ","Date",{months:"January February March April May June July August September October November December".split(" "),days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),days_abbr:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AM:"AM",PM:"PM",months_abbr:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" ")});
Date.defineFormats({"pattern.itinerary.journeyleg.departure.format":"%a %e %b %Y, %X","pattern.itinerary.journeyleg.departure.date.format":"%a %e %b %Y","pattern.hud.datetime.full":"%A %d %B %Y %X","pattern.time.12.hour":"%l:%M%p","pattern.time.24.hour":"%H:%M","pattern.time.12or24.hour":"%X","pattern.date.short":"%a %d %b","pattern.date.daymonthyear":"%d %B %Y","pattern.date.full":"%A %d %B %Y","pattern.date.full.variation.2":"%a, %d %B %Y","pattern.date.full.variation.3":"%a, %d %b %Y","share.itinerary.flight.datetime":"%X %a %e %b",
"pattern.ancillary.datetime.full":"%a, %e %b %Y 'at' %X","pattern.ancillary.date":"%a, %e %b %Y","pattern.date.mobi":"%a %e %b %Y","pattern.date.mobi.full":"%l:%M %p, %a %e %b %Y","pattern.timedate.mobi.medium":"%l:%M%p, %a %e %b","pattern.date.short.daydateth":"%a %e%o %b","pattern.date.medium.full":"%A %d %b %Y","pattern.date.mobi.daydatemonth":"%a %e %B","pattern.mmdd":"%d/%m","pattern.monthyear":"%B %Y","pattern.date.daydate.short":"%a %e","pattern.date.piped":"%d|%m|%Y","pattern.date.email.flight.departure.arrival.format":"%a %d %b %Y"});__registerModule("/nz/co/airnz/vui/spinner/spinner.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={};Locale.define("en-NZ","vui",{spinner:b});a.default=b});__registerModule("/nz/co/airnz/vui/spinner/html/spinner.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={Spinner:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"vui-spinner" data-bind\x3d"css: { \'vui-spinner--fullscreen\': $component.fullScreen() }"\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-spinner-icon"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("    \x3cdiv\x3e");this.b("\n"+a);this.b("      \x3c!-- ko template: { nodes: $componentTemplateNodes } --\x3e");
this.b("\n"+a);this.b("      \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.spinner.spinner.hoganTemplates",c);b.default=c});(function(){Class("VUI.SpinnerComponentViewModel",{initialize:function(a){this.fullScreen=ko.wrap(a.fullScreen)}});ko.components.register("vui-spinner",{template:{component:"vui.spinner.spinner",template:"Spinner"},viewModel:VUI.SpinnerComponentViewModel})})();__registerModule("/nz/co/airnz/vui/popup/popup.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={};Locale.define("en-NZ","vui",{popup:b});a.default=b});(function(){var g=[];Class("VUI.Popup",{Implements:[Options,Events],Binds:["show","hide","spin","unspin"],_widths:{large:540,medium:534,small:430,tiny:220},_arrowClasses:"left right top topright topleft bottom".split(" "),_borderthickness:{1:0,2:0,3:10},rendered:!1,element:null,originalContent:null,disabled:!1,hidedisable:!1,options:{snips:{"popup-blackoutline":'\x3cdiv class\x3d"arrow"\x3e\x3c/div\x3e\x3cdiv class\x3d"closebutton"\x3e\x3c/div\x3e\x3cdiv class\x3d"tb"\x3e\x3cdiv class\x3d"tr"\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv class\x3d"border"\x3e\x3cdiv class\x3d"p-in"\x3e\x3cdiv class\x3d"p-con"\x3e{content}\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv class\x3d"bb"\x3e\x3cdiv class\x3d"br"\x3e\x3c/div\x3e\x3c/div\x3e',
"popup-bluebox":'\x3cdiv class\x3d"tb"\x3e\x3c/div\x3e\x3cdiv class\x3d"arrow"\x3e\x3cdiv class\x3d"border"\x3e\x3cdiv class\x3d"p-con"\x3e\x3cspan class\x3d"head"\x3e{header}\x3c/span\x3e\x3cspan\x3e{content}\x3c/span\x3e\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv class\x3d"bb"\x3e\x3c/div\x3e',"popup-bluebox-nohead":'\x3cdiv class\x3d"tb"\x3e\x3c/div\x3e\x3cdiv class\x3d"arrow"\x3e\x3cdiv class\x3d"border"\x3e\x3cdiv class\x3d"p-con"\x3e{content}\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv class\x3d"bb"\x3e\x3c/div\x3e',
"loader-msg":'\x3cdiv class\x3d"loader-msg"\x3e\x3cdiv class\x3d"msg"\x3e{content}\x3c/div\x3e\x3cdiv class\x3d"img"\x3e\x3c/div\x3e\x3c/div\x3e'},parent:"page-body",type:3,x:"right",y:"center",showdelay:200,hidedelay:0,spin:!1,minimumTop:20,id:"popup",ariaRole:void 0},initialize:function(a,b,c){if(c.size){var e=c.type||3;c.width=(this._widths[c.size]||c.size.toInt())+this._borderthickness[e]}this.setOptions(c);this.originalContent=b;this.originalHeader=a;this.parentEl=document.id(this.options.parent);
g.push(this)},createElement:function(){var a=this.options,b;switch(a.type){case 1:b="popup-bluebox";break;case 2:b="popup-bluebox-nohead";break;case 3:b="popup-blackoutline"}var c="",c="third"===this.options.x?b+" third":b;b=new Element("div",{html:this.options.snips[b].substitute({header:this.originalHeader,content:"element"===typeOf(this.originalContent)?"":this.originalContent}),"class":c,id:this.options.id,tabindex:-1,"aria-hidden":!0});this.options.ariaRole&&b.set("aria-role",this.options.ariaRole);
this.options["class"]&&b.addClass(this.options["class"]);Browser.ie6&&b.setStyle("z-index",9);Browser.Features.Touch&&(a.closebutton=!0);a.arrow&&b.addClass(a.arrow);a.width&&3===a.type?b.setStyle("width",a.width):a.size&&b.addClass(a.size);a.closebutton&&((c=b.getElement('div[class\x3d"closebutton"]'))&&c.addEvent("click",this.hide),b.addClass("closer"));b.setStyles("function"===typeOf(a.styles)?a.styles(b,a.parent):a.styles);b.set("tween",{duration:"short",onComplete:function(a){0===a.getStyle("opacity")&&
a.dispose()}});this.element=b},toElement:function(){return this.element},show:function(a,b){a&&"element"===typeOf(a)&&(this.options.relative=a);this.element||this.createElement();this.hidedisable=!0;this.disabled||(this.clearPopupTimer(),this.popupTimer=this.doShow.delay(this.options.showdelay,this,[a,b]))},clearPopupTimer:function(){this.popupTimer&&(clearTimeout(this.popupTimer),this.popupTimer=null);this.chrometimeout&&(clearTimeout(this.chrometimeout),this.chrometimeout=null)},doShow:function(a,
b){this.element.inject(this.parentEl,this.options.parentposition||"bottom");""!==this.originalContent?this.setContent(this.originalContent,!0):!0===this.options.spin&&this.spin();this.reposition(b);Browser.ie6||Browser.ie7||Browser.ie8?this.element.fade("show"):this.element.fade("in");this.options.mask&&this.options.mask.show();this.fireEvent("shown");this.options.showfunction&&this.options.showfunction();!Browser.chrome&&!Browser.safari||this.rendered||(this.element.fade("hide"),this.hide(),this.chrometimeout=
this.show.delay(400,this,[a,b]));this.rendered=!0;this.element.setProperty("aria-hidden",!1)},hide:function(){var a=this;a.clearPopupTimer();a.element&&(a.options.hidedelay||(a.options.hidedelay=0),a.hidedisable=!1,function(){!1===a.hidedisable&&(Browser.ie6||Browser.ie7||Browser.ie8?a.element.fade("hide"):a.element.fade("out"),a.fireEvent("hidden"),a.element.setProperty("aria-hidden",!0))}.delay(a.options.hidedelay))},setContent:function(a,b){this.unspin();if(b&&this.element){var c=this.element.getElement("div[class\x3dp-con]");
"element"===typeOf(a)?a.getParent()!==c&&(c.set("html",""),c.adopt(a)):c.set("html",a)}this.originalContent=a},setHeight:function(a){if(4===this.options.type){var b=a-35;this.element.setStyle("height",a);this.element.getElement("div[class\x3dlb]").setStyle("height",b);this.element.getElement("div[class\x3dinner]").setStyle("height",b);this.element.getElement("div[class\x3darrow]").setStyle("height",b)}},updateReStyle:function(){"function"===typeOf(this.options.styles)&&this.element.setStyles(this.options.styles(this.element,
this.options.parent))},reposition:function(a){var b=this,c=b.options;a&&(c=Object.merge(Object.clone(b.options),a));c.size&&(c.width=(b._widths[c.size]||c.size.toInt())+b._borderthickness[c.type]);c.width&&3===c.type?b.element.setStyle("width",c.width):c.size&&b.element.addClass(c.size);var e=document.id(b.options.relative);if(e&&c){var d="",f=c.y;a=c.x;var g="right"===a||"left"===a;switch(f){case "top":f=-b.element.getDimensions().y;d="bottom";break;case "center":f=e.getSize().y/2-b.element.getDimensions().y/
2;break;case "bottom":f=e.getSize().y,d="top"}switch(a){case "left":a=-b.element.getDimensions().x;d+="right";break;case "third":a=e.getSize().x/4-b.element.getDimensions().x/4;break;case "right":a=e.getSize().x;d+="left";break;case "center":a=e.getSize().x/2-b.element.getDimensions().x/2}c.arrow&&(d=c.arrow);b._arrowClasses.each(function(a){b.element.removeClass(a)});""!==d&&b.element.addClass(d);c=e.getPosition();f=c.y+f;e=b.element.getElement("div[class\x3darrow]");d=e.getProperty("data-original-margin-top");
if(0>f){var h=b.options.minimumTop-f,f=b.options.minimumTop;g&&(d||(d=e.getStyle("margin-top").toInt(),e.setProperty("data-original-margin-top",d)),e.setStyle("margin-top",d-h))}else d&&e.setStyle("margin-top",d+"px");c.x&&b.element.setStyles({position:"absolute",left:c.x+a,top:f})}},spin:function(){var a=this.element.getElement("div[class\x3dp-con]");a.set("html","");a.setStyles({height:60,overflow:"hidden"});a.get("spinner").show(!0)},unspin:function(){if(this.element){var a=this.element.getElement("div[class\x3dp-con]");
a.setStyles({height:"auto",overflow:"hidden"});a.unspin()}}});VUI.Popup.hideAll=function(){g.invoke("hide")};VUI.Popup.hideAllTemporaryPopups=function(){g.each(function(a){a.options.closebutton||a.hide()})};Class("VUI.Popup.PreferredPopupsAware",{preferredPopupControllers:[],addPreferredPopupController:function(a){this.preferredPopupControllers.push(a)},isPreferredPopupFound:function(a){var b=!1;this.preferredPopupControllers&&(b=this.preferredPopupControllers.some(function(b){return b&&b.shouldShowPopup?
b.shouldShowPopup(a):!1}));return b}})})();Class("VUI.MessagePopup",{Implements:[Events,Options],InjectAs:{name:"MessagePopup",singleton:!0},container:null,popup:null,options:{selectorClass:"popup-trigger",popupOptions:{type:3,width:200,x:"right",y:"center"},container:!1,defaultComponent:""},initialize:function(a){this.setOptions(a);this.container=this.options.container?document.id(this.options.container):document;this.initPopup()},initPopup:function(){var a=this;a.popup=new VUI.Popup(null,null,a.options.popupOptions);var b="mouseout:relay(."+
a.options.selectorClass+")";a.container.addEvent("mouseover:relay(."+a.options.selectorClass+")",function(b,d){a.showMessagePopup(d);return!0});a.container.addEvent(b,function(b,d){a.hideMessagePopup(d);return!0})},showMessagePopup:function(a){this.popup.hide();var b=a.get("data-messagepopup-messagekey"),e=a.get("data-messagepopup-messageparams"),d=a.get("data-messagepopup-position"),f=a.get("data-messagepopup-component")||this.options.defaultComponent,c=a.get("data-messagepopup-messagetext");c||
(c=b)&&""!==b&&(c=Locale.get(f)[b]);c&&e&&""!==e&&(e=this.decodeObject(e),c=String.substitute(c,e));c&&""!==c&&(d&&""!==d&&(d=this.decodeObject(d)),a.setProperty("aria-label",c),this.popup.setContent(c,!0),this.popup.show(a,d),this.fireEvent("shown",[a,this.popup]))},decodeObject:function(a){"{"!==a.substring(0,1)&&(a="{"+a+"}");return JSON.parse(a)},hideMessagePopup:function(a){a&&a.removeProperty("aria-label");this.popup.hide();this.fireEvent("hidden",[this.popup])},enableMessagePopup:function(a,
b){a.setAttribute("data-messagepopup-messagekey",b.messageKey);b.messageParams&&a.setAttribute("data-messagepopup-messageparams",JSON.stringify(b.messageParams));b.position&&a.setAttribute("data-messagepopup-position",JSON.stringify(b.position));b.langComponent&&a.setAttribute("data-messagepopup-component",b.langComponent);a.addClass(this.options.selectorClass)},disableMessagePopup:function(a){a.removeClass(this.options.selectorClass)}});Class("VUI.OverlayPanelController",{Implements:[Options,Events],options:{snips:{overlay:'\x3cdiv class\x3d"arrow"\x3e\x3c/div\x3e\x3cdiv class\x3d"overlay-top"\x3e\x3cdiv class\x3d"cl png" aria-hidden\x3d"true"\x3e\x3c/div\x3e\x3cdiv class\x3d"mid"\x3e\x3c/div\x3e\x3cdiv class\x3d"cr png" aria-hidden\x3d"true"\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv class\x3d"content"\x3e\x3cdiv class\x3d"button-close"\x3e\x3cbutton class\x3d"close-refresh close" type\x3d"button"\x3e'+Locale.get("vui.common.messages")["vui.messages.label.close"]+
'\x3c/button\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv class\x3d"buttons"\x3e\x3c/div\x3e\x3cdiv class\x3d"overlay-bottom"\x3e\x3cdiv class\x3d"cl png" aria-hidden\x3d"true"\x3e\x3c/div\x3e\x3cdiv class\x3d"mid"\x3e\x3c/div\x3e\x3cdiv class\x3d"cr png" aria-hidden\x3d"true"\x3e\x3c/div\x3e\x3c/div\x3e',overlayNextGen:'\x3cdiv class\x3d"arrow"\x3e\x3c/div\x3e\x3cdiv class\x3d"overlay-top"\x3e\x3cdiv class\x3d"cl png" aria-hidden\x3d"true"\x3e\x3c/div\x3e\x3cdiv class\x3d"mid"\x3e\x3c/div\x3e\x3cdiv class\x3d"cr png" aria-hidden\x3d"true"\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv class\x3d"content"\x3e\x3cdiv class\x3d"button-close"\x3e\x3cbutton type\x3d"button" class\x3d"vui-button-unstyled next-gen-close"\x3e\x3cspan class\x3d"vui-icon-close"\x3e\x3c/span\x3e\x3c/button\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv class\x3d"buttons"\x3e\x3c/div\x3e\x3cdiv class\x3d"overlay-bottom"\x3e\x3cdiv class\x3d"cl png" aria-hidden\x3d"true"\x3e\x3c/div\x3e\x3cdiv class\x3d"mid"\x3e\x3c/div\x3e\x3cdiv class\x3d"cr png" aria-hidden\x3d"true"\x3e\x3c/div\x3e\x3c/div\x3e',
overlayNoclose:'\x3cdiv class\x3d"arrow"\x3e\x3c/div\x3e\x3cdiv class\x3d"overlay-top"\x3e\x3cdiv class\x3d"cl png" aria-hidden\x3d"true"\x3e\x3c/div\x3e\x3cdiv class\x3d"mid"\x3e\x3c/div\x3e\x3cdiv class\x3d"cr png" aria-hidden\x3d"true"\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv class\x3d"content"\x3e\x3c/div\x3e\x3cdiv class\x3d"overlay-bottom"\x3e\x3cdiv class\x3d"cl png" aria-hidden\x3d"true"\x3e\x3c/div\x3e\x3cdiv class\x3d"mid"\x3e\x3c/div\x3e\x3cdiv class\x3d"cr png" aria-hidden\x3d"true"\x3e\x3c/div\x3e\x3c/div\x3e'}},
InjectAs:{name:"OverlayPanelController",singleton:!0},overlayContents:[],initialize:function(c){this.setOptions(c)},create:function(c){c=Object.append({showMask:!0,showLoading:!1,type:"overlay",maskParent:"page-body",parent:"page-body",styles:{height:"auto",width:500},scrollWindowToCenter:!1},c);c.styleClasses?c.styleClasses.push("overlay-style1"):c.styleClasses=["overlay-style1"];var b="overlay";switch(c.type){case "overlayNextGen":case "overlay":case "overlayNoclose":b=c.type;break;case "captcha":b=
"overlayNoclose",c.styleClasses.push("overlay-style-captcha")}c.html=this.options.snips[b];c=new VUI.OverlayPanel(c);this.overlayContents.push(c);return c},hideAll:function(){this.overlayContents.each(function(c){c.hide()})}});
Class("VUI.OverlayPanel",{Implements:[Options,Events,VUI.SpinUtil],Binds:["_onClickCloseButton","_onHidden","hide","reposition","_onPanelKeydown"],InjectAs:{name:"OverlayPanel"},_focusableElementsString:"a[href], area[href], input:not([disabled]):not([type\x3dhidden]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]):not(.inactive), iframe, object, embed, *[tabindex], *[contenteditable]",_arrowClasses:"left right top topright topleft bottom".split(" "),options:{html:"",styles:{"z-index":202,
height:"auto",width:500,opacity:Browser.ie6||Browser.ie7?1:0,display:Browser.ie6||Browser.ie7?"none":"block"},maskClass:"mask",scrollWindowToCenter:!1,showLoading:!1,styleClasses:[],maskParent:"page-body",parent:"page-body",alignCenter:!0,relativeTop:null,showMask:!0,innerAlignmentMargin:30,hideRoundCorners:!1},elements:{panel:null,contentContainer:null,buttons:null,mask:null,content:null,loadingPanel:null,focusedElementBeforeLightbox:null,topLevelAriaHiddenDivs:[]},initialize:function(c){this.setOptions(c);
var b=new Element("div",{"class":"overlay-content",html:this.options.html,role:"dialog",tabindex:"0"});this.options.styleClasses.each(function(a){b.addClass(a)});"third"===this.options.x&&b.addClass("third");this.elements=Object.merge(this.elements,{panel:b,contentContainer:b.getElement("div[class~\x3dcontent]"),buttons:b.getElement("div[class\x3dbuttons]")});b.addEvent("click:relay(.close)",this._onClickCloseButton);b.addEvent("click:relay(.next-gen-close)",this._onClickCloseButton);this.options.showMask&&
b.addEvent("keydown",this._onPanelKeydown)},toElement:function(){return this.elements.panel},destroy:function(){this.toElement().destroy()},_onClickCloseButton:function(){this.fireEvent("closeButtonClicked");this.hide()},showLoading:function(){this.elements.loadingPanel||(this.elements.loadingPanel=new Element("div",{"class":"loading",styles:{width:this.options.styles.width,height:this.options.styles.height,"margin-top":10}}));this.show(this.elements.loadingPanel,{});this.spin(this.elements.loadingPanel)},
hideLoading:function(){this.elements.content&&this.unspin(this.elements.content)},setStyles:function(c){this.elements.panel.setStyles(c)},addClass:function(c){this.elements.panel.addClass(c)},show:function(c,b){var a=this,d=a.elements.panel,e=Object.clone(a.options.styles),f=document.id(a.options.parent),g=d.isVisible(),k=Object.merge(Object.clone(a.options),b);b&&b.styles&&Object.append(e,b.styles);a.options.hideRoundCorners&&d.getElements(".overlay-top, .overlay-bottom").hide();d.set("aria-labelledby",
a.options.ariaLabelledBy);d.set("aria-describedby",a.options.ariaDescribedBy);a.elements.content&&(a.unspin(a.elements.content),document.id(a.elements.content)?document.id(a.elements.content).dispose():a.elements.content.dispose());a.elements.content=c;c.inject(a.elements.contentContainer);!0!==a.options.showMask||a.elements.mask||(a.elements.mask=new Mask(document.id(a.options.maskParent),{destroyOnHide:!0,style:{"z-index":a.options.styles["z-index"]-1},"class":a.options.maskClass}),a.makeOtherElementsPrintable(!1),
a.elements.mask.show());a.elements.buttons&&(""===a.elements.buttons.get("html")?a.elements.buttons.hide():((Browser.ie7||Browser.ie6)&&a.elements.buttons.setStyle("width",c.getSize().x),a.elements.buttons.show()));if(a.options.relativeTop){var l=document.body.getScroll().y;e.top=l+1*a.options.relativeTop}d.setStyles(e);var h;d.inject(f);!0===a.options.alignCenter?a.alignCenter(e):window.addEvent("resize",a.reposition);Browser.ie6||Browser.ie7?(d.setStyle("opacity",1),d.show(),(h=d.getElements(".close-refresh"))&&
h.setStyle("display","block")):(f=null,Browser.ie&&(h=d.getElements(".close-refresh"))&&(h.setStyle("display","none"),f=function(){h.setStyle("display","block")}),f?d.get("tween").addEvent("complete",f):d.get("tween").removeEvent("complete"),a.elements.panel.show(),g?(d.fade("show"),h&&h.setStyle("display","block")):d.fade("in"));e.width?d.getElements("div[class\x3dmid]").setStyle("width",e.width.toInt()-12+"px"):d.getElements("div[class\x3dmid]").setStyle("width",d.getSize().x-12+"px");a.reposition(b);
Browser.ie6||Browser.ie7||!0!==k.scrollWindowToCenter||(new Fx.Scroll(window)).toElementCenter(a.elements.panel,"y");a.hideLoading();a.fireEvent("shown");a.elements.mask&&a.elements.mask.resize();a.options.showMask&&(d.setProperty("aria-hidden",!1),document.getElements("body \x3e div:not([aria-hidden\x3dtrue]):not(.mask):not(.overlay-content)").each(function(b){a.elements.topLevelAriaHiddenDivs.push(b);b.setProperty("aria-hidden",!0)}),a.elements.focusedElementBeforeLightbox=document.activeElement,
d.focus())},_onPanelKeydown:function(c){var b=this.elements.panel;if("tab"===c.key){var b=b.getElements(this._focusableElementsString).filter(":not([tabindex\x3d-1])").filter(function(a){return a.isVisible()&&"hidden"!==a.getStyle("visibility")}),a=b.indexOf(document.activeElement);c.shift?a--:a++;a=0>a?b.length-1:a%b.length;b[a].focus();c.preventDefault()}else"esc"===c.key&&this._onClickCloseButton()},reposition:function(c){var b=this;document.id(b.options.parent);var a=b.options;c&&(a=Object.merge(Object.clone(b.options),
c));a.size&&(a.width=(b._widths[a.size]||a.size.toInt())+b._borderthickness[a.type]);a.width&&3===a.type?b.elements.panel.setStyle("width",a.width):a.size&&b.elements.panel.addClass(a.size);var d=a.relative;if(d&&a){var e="";c=a.y;var f=a.x,g=b.elements.panel.getDimensions();switch(c){case "top":c=0-g.y;e="bottom";break;case "center":c=d.getSize().y/2-g.y/2;break;case "bottom":c=d.getSize().y,e="top"}switch(f){case "left":f=-g.x;e+="right";break;case "innerleft":f=-b.options.innerAlignmentMargin;
break;case "innerright":f=d.getDimensions().x-g.width+b.options.innerAlignmentMargin;break;case "third":f=d.getSize().x/4-g.x/4;break;case "right":f=d.getSize().x;e+="left";break;case "center":f=d.getSize().x/2-g.x/2;break;case "centerofpage":f=b.elements.panel.getParent().getSize().x/2-g.x/2-d.getPosition().x}a.arrow&&(e=a.arrow);b._arrowClasses.each(function(a){b.elements.panel.removeClass(a)});""!==e&&b.elements.panel.addClass(e);a.arrowStyles&&b.elements.panel.getElement(".arrow").setStyles(a.arrowStyles);
d=d.getPosition();(a=a.offsetTop)||(a=0);b.elements.panel.setStyles({position:"absolute",left:d.x+f,top:d.y+c+a})}},hide:function(c){var b=this,a=b.elements.panel;a.isVisible()&&(a.erase("aria-labelledby"),a.erase("aria-describedby"),b.hideEffect&&(b.hideEffect.cancel(),b.hideEffect=null),c||Browser.ie6||Browser.ie7?(a.hide(),b._onHidden()):(Browser.ie&&(c=a.getElements(".close-refresh"))&&c.setStyle("display","none"),b.hideEffect=new Fx.Morph(a,{duration:"short",transition:Fx.Transitions.Sine.easeOut}),
b.hideEffect.addEvent("complete",b._onHidden),b.hideEffect.start({opacity:[.5,0]})),window.removeEvent("resize",b.reposition),b.options.showMask&&(a.setProperty("aria-hidden",!0),document.getElements("body \x3e div[aria-hidden\x3dtrue]:not(.mask):not(.overlay-content)").each(function(a){b.elements.topLevelAriaHiddenDivs.contains(a)&&a.setProperty("aria-hidden",!1)}),b.elements.topLevelAriaHiddenDivs=[],b.elements.focusedElementBeforeLightbox&&(b.elements.focusedElementBeforeLightbox.focus(),b.elements.focusedElementBeforeLightbox=
null)))},makeOtherElementsPrintable:function(c){var b=document.body.getChildren("div:not(.overlay-content)");b&&(c?b.removeClass("no-print"):b.addClass("no-print"))},_onHidden:function(){this.elements.panel.hide();this.elements.mask&&(this.makeOtherElementsPrintable(!0),this.elements.mask.hide(),this.elements.mask=null);this.elements.content&&(document.id(this.elements.content)?document.id(this.elements.content).dispose():this.elements.content.dispose(),this.elements.content=null);this.elements.contentContainer.getElements(".spinner").destroy();
this.fireEvent("hidden")},alignCenter:function(c){var b=this.elements.panel,a=b.getSize().x;c.width&&(a=c.width.toInt());b.getParent().getSize();b.setStyle("left","50%");b.setStyle("margin-left",-a/2+"px")}});Class("VUI.Breadcrumbs",{Optionally:["GATracking"],Implements:[Events,Options],initialize:function(b){this.setOptions(b);this.container=document.id(this.options.container);this.balanceBread();(Browser.ie6||Browser.ie7||Browser.ie8)&&this.fixBreadCrumbsInOldIE()},toElement:function(){return this.container},balanceBread:function(){var b=this,e=document.id(b.options.container);if(e){for(var a=e.getElements("li"),c=e.getSize().x,d=0,f=0;f<a.length;f++)d+=a[f].getSize().x;if(0<d){f=Math.floor((c-d)/(a.length-
1));d=c-d-f*(a.length-2)-1;c=Math.floor(d/2);d-=c;a[0].setStyles({width:a[0].getSize().x+c,"text-align":"left"});for(c=1;c<a.length-1;c++)a[c].setStyle("width",a[c].getSize().x+f);a.getLast().setStyles({width:a.getLast().getSize().x+d,"text-align":"right"})}b.GATracking&&e.getElements("a").addEvent("click",function(){b.GATracking.trackGACustomEvent("breadcrumbs",this.href,window.location.pathname)})}},fixBreadCrumbsInOldIE:function(){var b=document.id(this.options.container);if(b){var b=b.getElement("li.current"),
e=new Element("div",{"class":"before"}),a=new Element("div",{"class":"after",text:"."});b&&(e.inject(b,"top"),a.inject(b,"bottom"))}}});Class.refactor(Fx.Slide,{start:function(a,b){if(!this.check(a,b))return this;this[b||this.options.mode]();var c=this.element.getStyle(this.margin).toInt(),d=this.wrapper.getStyle(this.layout).toInt(),f=[[c,d],[0,this.offset]],c=[[c,d],[this.options.collapsedSize-this.offset,this.options.collapsedSize]],e;switch(a){case "in":e=f;break;case "out":e=c;break;case "toggle":e=d===this.options.collapsedSize?f:c}return this.parent(e[0],e[1])},hide:function(a){this[a||this.options.mode]();this.open=!1;a=this.options.collapsedSize-
this.offset;isNaN(a)&&(a=this.options.collapsedSize);return this.set([a,this.options.collapsedSize])}});
Class("VUI.CollapsibleBox",{Implements:[Options,Events],Binds:["toggle","expand","collapse","_onCollapsibleStateChange"],options:{collapsible:!0,containerAttributes:{id:null,"class":"box-blue-wh"},expandOnFocus:["input","select","a","[tabindex\x3d0]"],id:null,headerText:null,precollapse:!1,cookieRemember:!0,cookieUniqueIdent:"-global",animate:!0},elements:{container:null,element:null,header:null,inner:null,collapseIcon:null,expandIcon:null},collapsed:!1,collapseHeight:0,cookie:null,sliding:!1,initialize:function(a,
b){this.setOptions(b);this.initContainer();a&&this.setElement(a)},toElement:function(){return this.elements.container},setElement:function(a){this.elements.container||this.initContainer();this.elements.inner.empty();var b=a.getParent();b&&"element"===typeOf(b)?(this.elements.inner.wraps(a),this.elements.topInner.wraps(this.elements.inner),this.elements.container.wraps(this.elements.topInner)):a.inject(this.elements.inner);this.elements.element=a;!0!==this.options.collapsible||Browser.ie6||this.initCollapsible();
"element"!==typeOf(a)||this.options.headerText&&""!==this.options.headerText||"element"===typeOf(this.options.headerElem)||((b=a.getAttribute("title"))&&""!==b&&(this.options.headerText=b,a.setAttribute("title","")),this.setTitle(b))},setTitle:function(a){this.elements.header?this.elements.header.getLast("h2").set("html",a):this.options.headerText=a},initContainer:function(){var a=new Element("div",this.options.containerAttributes),b=new Element("div",{"class":"top-inner"}),c=new Element("div",{"class":"box-head",
role:this.options.collapsible?"button":"",tabindex:this.options.collapsible?"0":""}),d=new Element("div",{"class":"inner",styles:{overflow:"hidden",height:"auto"}});"element"===typeOf(this.options.headerElem)?this.options.headerElem.inject(c):""!==this.options.headerText&&(new Element("h2",{html:this.options.headerText})).inject(c);c.inject(a);d.inject(b);b.inject(a);this.elements={container:a,header:c,inner:d,topInner:b}},initCollapsible:function(){var a=this;if(!a.elements.collapseIcon){var b=new Element("img",
{"class":"collapse-icon",src:ctx+"/vui/nz/co/airnz/vui/boxes/img/box-collapse.gif",alt:"Collapse"});a.elements.collapseIcon=b;b.inject(a.elements.header,"top");b=new Element("img",{"class":"expand-icon",src:ctx+"/vui/nz/co/airnz/vui/boxes/img/box-expand.gif",alt:"Expand"});b.hide();a.elements.expandIcon=b;b.inject(a.elements.header,"top");a.elements.container.addClass("collapsible");a.collapseHeight&&a.elements.container.addClass("partial");a.options.expandOnFocus&&a.options.expandOnFocus.each(function(b){a.elements.inner.addEvent("focus:relay("+
b+")",a.expand)});a.elements.header.removeEvents("click");a.elements.header.addEvent("click",function(){a.toggle(a.options.animate);return!1});a.elements.header.addEvent("keypress",function(b){if("enter"===b.key)return a.elements.header.click()});a.addEvent("collapsibleStateChange",a._onCollapsibleStateChange);a.slider=new Fx.Slide(a.elements.topInner,{duration:"short",transition:Fx.Transitions.Sine.easeOut,collapsedSize:a.collapseHeight,resetHeight:!0,onStart:function(){a.sliding=!0},onComplete:function(){a.styleHeader();
a.sliding=!1;a.fireEvent("collapsibleStateChange",[a.collapsed])}});a.initCollapsibleState()}},initCollapsibleState:function(){if(this.slider){var a=Cookie.read("boxCollapsed"+this.options.cookieUniqueIdent);(this.options.precollapse&&null===a||"true"===a)&&this.collapse.pass([!1]).delay(100)}},styleHeader:function(){this.collapsed?(this.elements.collapseIcon.hide(),this.elements.expandIcon.show(),this.elements.container.addClass("collapsed")):(this.elements.collapseIcon.show(),this.elements.expandIcon.hide(),
this.elements.container.removeClass("collapsed"))},expand:function(a){this.slider&&!this.sliding&&(this.fireEvent("expanding"),this.collapsed=!1,a?this.slider.slideIn():(this.slider.show(),this.styleHeader(),this.fireEvent("collapsibleStateChange",[this.collapsed])))},_onCollapsibleStateChange:function(a){this.options.cookieRemember&&(this.cookie=Cookie.write("boxCollapsed"+this.options.cookieUniqueIdent,a+""))},collapse:function(a){if(this.slider&&!this.sliding){this.fireEvent("collapsing");var b=
this.collapsed;this.collapsed=!0;a?this.slider.slideOut():(this.slider.hide(),this.styleHeader(),b!==this.collapsed&&this.fireEvent("collapsibleStateChange",[this.collapsed]))}},updateCollapseHeight:function(a){var b=0;a&&0<a.length&&(a[0].getPrevious()&&(b+=a[0].getPrevious().getStyle("margin-bottom").toInt()),a.each(function(a){b+=a.measure(function(){return this.getComputedSize().totalHeight})}));(this.collapseHeight=b+=this.elements.topInner.getStyle("padding-bottom").toInt())?this.elements.container.addClass("partial"):
this.elements.container.removeClass("partial");this.slider&&(this.slider.options.collapsedSize=b,this.collapsed&&this.collapse(!1))},toggle:function(a){this.slider&&!this.sliding&&(this.collapsed?this.expand(a):this.collapse(a))}});__registerModule("/nz/co/airnz/vui/loginairpoints/loginairpoints.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"accessibility.airpoints.login":"Airpoints sign in","header.loginair.loginform.header":"Sign in","header.loginair.loginform.help.link":"Help","header.loginair.loginform.usernamelabel":"Airpoints No / Username / Email","header.loginair.loginform.usernametitle":"Airpoints No / Username / Email","accessibility.airpoints.username":"Airpoints Sign in. Airpoints Number, Username or Email",
"header.loginair.loginform.passwordlabel":"Enter password","header.loginair.loginform.passwordtitle":"Enter password","accessibility.airpoints.password":"Airpoints Password","accessibility.airpoints.go":"Airpoints Sign in, Go","header.loginair.forgotuser.header":"Forgot username","header.loginair.forgotuser.desc":"If you have forgotten your username you can retrieve it here.","header.loginair.forgotuser.firstnamelabel":"First name","header.loginair.forgotuser.firstnametitle":"First name","header.loginair.forgotuser.lastnamelabel":"Last name",
"header.loginair.forgotuser.lastnameform":"Last name","header.loginair.forgotuser.emaillabel":"Email","header.loginair.forgotuser.emailform":"Email","header.loginair.forgotpass.header":"Forgot password","header.loginair.forgotpass.desc":"If you have forgotten your password you can retrieve it here.","header.loginair.forgotpass.usernameairlabel":"Username or Airpoints Number","header.loginair.forgotpass.usernameairtitle":"Username or Airpoints No.","header.loginair.forgotpass.emaillabel":"Email","header.loginair.forgotpass.emailtitle":"Email",
"header.loginair.forgotpass2.header":"Forgot password","header.loginair.forgotpass2.desc":"Please complete these details to reset your password.","field-forgotpassquestionanswer":"","header.loginair.forgotpass2.dobtitle":"Date of birth day","header.loginair.forgotpass2.dobdaylabel":"Date of birth day","header.loginair.forgotpass2.dobmonthlabel":"Month","dates.month.1":"January","dates.month.2":"February","dates.month.3":"March","dates.month.4":"April","dates.month.5":"May","dates.month.6":"June",
"dates.month.7":"July","dates.month.8":"August","dates.month.9":"September","dates.month.10":"October","dates.month.11":"November","dates.month.12":"December","header.loginair.forgotpass2.dobyearlabel":"Year","header.loginair.forgotpass2.passwordlabel":"Create new password","header.loginair.forgotpass2.passwordtitle":"Create new password","header.loginair.forgotpass2.confirmpasswordtitle":"Confirm new password","header.loginair.forgotpass2.confirmpasswordlabel":"Confirm new password","header.loginair.formsubmit":"Submit",
"header.loginair.logout":"Sign out","header.loginair.loginform.help":"Help with signing in.","header.loginair.loginform.forgotuserlink":"Forgotten username?","header.loginair.loginform.forgotpasslink":"Forgotten password?","loading.msg":"Just a moment","header.loginair.formgo":"Go","loginair.airpoints.tier.J":"Airpoints","loginair.airpoints.tier.S":"Silver","loginair.airpoints.tier.G":"Gold","loginair.airpoints.tier.E":"Elite","header.loginair.airpoints.enjoypartnerbenefits":"enjoy Elite benefits",
"header.loginair.airpoints.membershipnumberlabel":"Membership No.","header.loginair.airpoints.airpointsdollarslabel":"Airpoints Dollars","header.loginair.airpoints.shairpointsgrouplabel":"Shairpoints Group","header.loginair.airpoints.shairpointsgroup.airpointsdollarslabel":"Shairpoints Balance","header.loginair.airpoints.airpointsbalancelabel":"Available Balance with Airpoints Advance","validation.msg.forgotpass":"Please try again.","validation.msg.forgotpass2":"Please try again.","validation.msg.forgotuser":"Please try again.",
"validation.msg.login":'The details entered are incorrect. Please try again or select \x3ca href\x3d"https://registration.airnewzealand.com/spr/challenge_phrase/challenge_phrase.jsp?formId\x3dlogin_help" target\x3d"_blank"\x3eHelp\x3c/a\x3e to continue.',"generic.validation.msg":"Please try again.","header.loginair.airpoints.airpointsforbusiness.label":"Airpoints for Business"};Locale.define("en-NZ","vui",{loginairpoints:b});a.default=b});Class("VUI.LoginAirpoints",{Implements:[Options,VUI.Templates,Events],Depends:["ValidationController"],Binds:["_logout","_hideMask"],InjectAs:{name:"LoginAirpoints",singleton:!0},options:{containerId:"container-login",authdata:{loggedin:[],populate:!0,populated:!1,help:[],partialLogin:!1,showLogin:!0,showLogout:!0,keepseats:!1},retrieveNominees:!1,noDiscountCardRedirect:!1,checkCanContinueParam:!1,login:!0,logout:!0,keepseats:!1},validator:[],initialize:function(b){var a=this;a.setOptions(b);a.options.authdata?
a.options.authdata.partialLogin=""!==a.options.partialLogin&&"true"===a.options.partialLogin:a.options.authdata={partialLogin:"false"};a.options.authdata.showLogin=a.options.login;a.options.authdata.showLogout=a.options.logout;a.options.authdata.keepseats=a.options.keepseats;a.loadTemplates();a.appendMembershipTierData(a.options.authdata);a.loginAirpointsElement=a.templates.loginAirpointsPanel(a.options.authdata);a.containingPage=document.id(a.options.containerId);a.containingPage&&(a.loginAirpointsElement.inject(a.containingPage),
a.getElements(),a.mask||(a.mask=new Mask(document.id("page-body")),a.mask.addEvents({show:function(){a.containingPage.getElements("div.button-close").each(function(b){b.show();b.getElement("button.close-refresh").addEvent("click",a._hideMask)})},hide:function(){a.containingPage.getElements("div.button-close").each(function(a){a.hide();a.getElement("button.close-refresh").removeEvent("click")})},click:a._hideMask})),a.form=document.id("loginForm"),a.setUpHelplink(),!a.isLoggedIn()&&a.options.login?
a.options.authdata.partialLogin||(a.setUserName(),a.options.formid=a.options.optionsUrls.loginUrl.formId,a.setSubmitForm(a.containingPage,function(b){b.stop();0===a.isValid().length&&a._submitFormLogin()}),a.clearValidations(),a.initLoginFormValidations(),a.initValidators(a.containingPage),a.containingPage.getElement("div.button-close")&&a.containingPage.getElement("div.button-close").hide()):a.isLoggedIn()&&a.options.logout&&a.loginAirpointsElement.getElement("a[class\x3dlink-logout]").addEvent("click",
a._logout),a.fieldOverTextFiller(a.loginAirpointsElement))},getAuthData:function(){return this.options.authdata},_setAuthData:function(b){this.options.authdata=b;this.options.authdata.showLogin=this.options.login;this.options.authdata.showLogout=this.options.logout;this.options.authdata.keepseats=this.options.keepseats},fieldOverTextFiller:function(b){Browser.ie9&&(b.getElements("[type\x3dtext]").each(function(a){new OverText(a)}),b.getElements("[type\x3dpassword]").each(function(a){new OverText(a)}))},
render:function(b){this.fireEvent("authupdate");this.errormsg&&this.errormsg.hide();this.mask&&this.mask.hide();var a;this.containingPage&&(a=this.loginAirpointsElement,a.getChildren().destroy());b=this.getContent(b);a&&b.inject(a);this.setUserName();this.getElements();Browser.ie9&&OverText.showAll()},getContent:function(b){this.clearValidations();var a=null;this.options.authdata.help?this.options.authdata.help.forgotuser?(this.options.formid=this.options.optionsUrls.usernameUrl.formId,a=this.setUpForgotuser(b),
this.mask.show()):this.options.authdata.help.forgotpass?(this.options.formid=this.options.optionsUrls.passwordUrl.formId,a=this.setUpForgotpass(b),this.mask.show()):this.options.authdata.help.forgotpass2&&(this.options.formid=this.options.optionsUrls.password2Url.formId,a=this.setUpForgotpass2(b),this.mask.show()):this.options.authdata.populated?(this._setAuthData(b),a=this.setUpLogout(),this.options.authdata.loggedin=!0):(this.options.formid=this.options.optionsUrls.loginUrl.formId,a=this.setUpLogin(this.options.authdata,
b));return a},appendMembershipTierData:function(b){var a=this.getTier(b);a&&(b.membershipTierTitle=Locale.get("vui.loginairpoints")["loginair.airpoints.tier."+a],b.membershipTierClass="tier-"+a)},getTier:function(b){return b.membershipTier?b.membershipTier.substring(0,1):this.isLoggedIn()?"J":!1},setUpLogout:function(){this.appendMembershipTierData(this.getAuthData());var b=this.templates.loginAirpointsPanelAirpoints(this.getAuthData());this.options.logout&&b.getElement("a[class\x3dlink-logout]").addEvent("click",
this._logout);return b},_logout:function(){var b=this;delete b.options.authdata.loggedin;b.fireEvent("authupdate");b.fireEvent("logout");(new MtRequest.JSON({method:"post",url:b.options.optionsUrls.logoutUrl,onSuccess:function(a){a.redirect&&(window.location.href=a.redirect)},onError:function(a,c){b._onError(a,c)},onFailure:function(){b.displayErrorText(this.status)}})).send()},setUpLogin:function(b,a){var c=this,d=c.templates.loginAirpointsPanelLogin(b);c.options.login&&(c.helpLink=d.getElement("a[class\x3dhelplink]"),
c.setUpHelplink(),c.username=d.getElementById("field-username"),c.options.formid=c.options.optionsUrls.loginUrl.formId,d=c.setSubmitForm(d,function(a){a.stop();0===c.isValid().length&&c._submitFormLogin()}),c.clearValidations(),c.initLoginFormValidations(),c.initValidators(d),a.uid&&(c.username.value=a.uid,d.getElementById("field-password").focus()),d.getElement("div.button-close")&&d.getElement("div.button-close").hide());return d},setUpForgotpass:function(b){var a=this;b=a.templates.loginAirpointsPanelForgotpass(b);
a.initPasswordFormValidations();a.initValidators(b);b=a.setSubmitForm(b,function(b){b.stop();0===a.isValid().length&&a._submitForgotPassword()});return a.setCloseButton(b)},_submitForgotPassword:function(){var b=this;b.removeMessage();var a=document.id("field-forgotpassusername").value,c=document.id("field-forgotpassemail").value,d={uid:a,email:c},e=new MtRequest.JSON({url:b.options.optionsUrls.passwordUrl.url,noCache:!0,method:"post",onSuccess:function(d){0<d.length&&("validation"!==d[0].name?(d=
d[0].data,delete b.options.authdata.help.forgotpass,b.options.authdata.help.forgotpass2=!0,d.uid=a,d.email=c,b.render(d)):(b.fireEvent("authupdate"),b.displayErrorTextFromData(d[0].data)));b.unspin("container-forgotpass")},onError:function(a,d){b.unspin("container-forgotpass");b._onError(a,d)},onFailure:function(){b.unspin("container-forgotpass");b._onFailure()}});b.spin("container-forgotpass");e.post(d)},setUpForgotpass2:function(b){var a=this;b=a.setupCalanderSelectOptions(b);a.options.formid=a.options.optionsUrls.password2Url.formId;
var c=a.templates.loginAirpointsPanelForgotpass2(b),c=a.setSubmitForm(c,function(b){b.stop();0===a.isValid().length&&a._submitForgotPassword2()});a.initPassword2FormValidations(b);a.initValidators(c);return a.setCloseButton(c)},setupCalanderSelectOptions:function(b){for(var a=[{selectOption:""}],c=this.options.optionEndYear-100,d=this.options.optionEndYear;c<d;d--)a=a.append([{selectOption:d}]);b.selectOptions=a;return b},_submitForgotPassword2:function(){var b=this;b.removeMessage();var a={uid:document.id("field-forgotpassusername").value,
email:document.id("field-forgotpassemail").value,answer:document.id("field-forgotpassquestionanswer").value,birthDateDay:document.id("field-forgotpassdobday").value,birthDateMonth:document.id("field-forgotpassdobmonth").value,birthDateYear:document.id("field-forgotpassdobyear").value,password:document.id("field-forgotpassnewpass").value,confirmPassword:document.id("field-forgotpassnewpassconfirm").value},c=new MtRequest.JSON({url:b.options.optionsUrls.password2Url.url,noCache:!0,method:"post",onSuccess:function(a){0<
a.length&&("validation"!==a[0].name?(a=a[0].data,delete b.options.authdata.help,b._setAuthData(a),b.render(a)):b.displayErrorTextFromData(a[0].data));b.unspin("container-forgotpass2")},onError:function(a,c){b.unspin("container-forgotpass2");b._onError(a,c)},onFailure:function(){b.unspin("container-forgotpass2");b._onFailure()}});b.spin("container-forgotpass2");c.post(a);return!1},initPassword2FormValidations:function(b){var a=Locale.get("vui.loginairpoints"),c=[{name:"answer",options:{errorMsg:a["validation.msg.forgotpass2"],
validationTest:function(a){a=a.get("value");return null!==a&&0!==a.length}}},{name:"password",options:{errorMsg:a["validation.msg.forgotpass2"],validationTest:function(a){a=a.get("value");return null!==a&&0!==a.length}}},{name:"confirmPassword",options:{errorMsg:a["validation.msg.forgotpass2"],validationTest:function(a){a=a.get("value");return null!==a&&0!==a.length}}}];b.confirmDateOfBirth&&(c=c.append([{name:"birthDateDay",options:{errorMsg:a["validation.msg.forgotpass2"],validationTest:function(a){a=
a.get("value");return null!==a&&0!==a.length}}},{name:"birthDateMonth",options:{errorMsg:a["validation.msg.forgotpass2"],validationTest:function(a){a=a.get("value");return null!==a&&0!==a.length}}},{name:"birthDateYear",options:{errorMsg:a["validation.msg.forgotpass2"],validationTest:function(a){a=a.get("value");return null!==a&&0!==a.length}}}]));this.formValidations=c},setUpForgotuser:function(b){var a=this;b=a.templates.loginAirpointsPanelForgotuser(b);b=a.setSubmitForm(b,function(b){b.stop();
0===a.isValid().length&&a._submitForgotUsername()});a.clearValidations();a.initUsernameFormValidations();a.initValidators(b);return a.setCloseButton(b)},setSubmitForm:function(b,a){this.fieldOverTextFiller(b);b.getElementById(this.options.formid).addEvent("submit",a.bind(this));return b},setSubmitButton:function(b,a){b.getElement("button[class\x3dvbutton]").addEvent("submit",a.bind(this));return b},setCloseButton:function(b){var a=this;b.getElement("button[class\x3dclose-refresh]").addEvent("click",
function(){a._clickCloseForgot()}.bind(a));return b},_clickCloseForgot:function(b){this.options.authdata.loggedin&&(delete this.options.authdata.loggedin,this.options.authdata.loggedin=!1);this.options.authdata.help&&delete this.options.authdata.help;this.render(this.options.authdata)},isValid:function(b){b=[];this.validator.isValid()||(b=this.validator.getErrors());return b},setUpHelplink:function(){var b=this;b.helpLink&&(b.helpContent&&delete b.helpContent,b.helpContent=b.templates.loginHelpcontent(b.options.authdata),
b.helpContent.getElement("a[id\x3dlink-forgotpassword]").addEvent("click",function(){b._clickForgotPassword()}.bind(b)),b.helpContent.getElement("a[id\x3dlink-forgotusername]").addEvent("click",function(){b._clickForgotUser()}.bind(b)),b.helpMsg=new VUI.Popup("",b.helpContent,{arrow:"topright",size:220,closebutton:!0,relative:b.helpLink,x:-180,y:17}),b.helpLink.addEvent("click",function(){b._showHelpMessage()}.bind(b)),window.addEvent("resize",function(){b.helpLink&&b.helpLink.blur();b.helpMsg&&b.helpMsg.hide()}))},
_showHelpMessage:function(){this.helpMsg.show()},_clickForgotPassword:function(b){this.options.authdata.help={forgotpass:!0};this.render(this.options.authdata);this.helpMsg.hide()},_clickForgotUser:function(b){this.options.authdata.help={forgotuser:!0};this.render(this.options.authdata);this.helpMsg.hide()},_hideMask:function(){delete this.options.authdata.help;this.render(this.options.authdata);this.mask.hide()},setUserName:function(){(this.username=document.id("field-username"))&&this.username.addEvent("focus",
this._loginUsernameFocus.bind(this))},getElements:function(){if(this.loginAirContainer=document.id("container-loginair"))this.loginAirContainerInner=this.loginAirContainer.getElement("div[class\x3dinner]"),this.loginAirContainer.getElement("div")&&(this.loginAirHeadbar=this.loginAirContainer.getElement(".box-head")),this.helpLink=this.loginAirContainer.getElement("a[class\x3dhelplink]")},_loginUsernameFocus:function(b){b=Cookie.read("userId");null!==b&&""!==b&&"undefined"!==b&&(document.id("field-username").value=
b)},initLoginFormValidations:function(){var b=Locale.get("vui.loginairpoints");this.formValidations=[{name:"username",options:{errorMsg:b["validation.msg.login"],validationTest:function(a){a=a.get("value");return null!==a&&0!==a.length}}},{name:"password",options:{errorMsg:b["validation.msg.login"],validationTest:function(a){a=a.get("value");return null!==a&&0!==a.length}}}]},initUsernameFormValidations:function(){var b=Locale.get("vui.loginairpoints");this.formValidations=[{name:"username",options:{errorMsg:b["validation.msg.forgotuser"],
validationTest:function(a){a=a.get("value");return null!==a&&0!==a.length}}},{name:"lastName",options:{errorMsg:b["validation.msg.forgotuser"],validationTest:function(a){a=a.get("value");return null!==a&&0!==a.length}}},{name:"password",options:{errorMsg:b["validation.msg.forgotuser"],validationTest:function(a){a=a.get("value");return null!==a&&0!==a.length}}}]},initPasswordFormValidations:function(){var b=Locale.get("vui.loginairpoints");this.formValidations=[{name:"firstName",options:{errorMsg:b["validation.msg.forgotpass"],
validationTest:function(a){a=a.get("value");return null!==a&&0!==a.length}}},{name:"lastName",options:{errorMsg:b["validation.msg.forgotpass"],validationTest:function(a){a=a.get("value");return null!==a&&0!==a.length}}},{name:"email",options:{errorMsg:b["validation.msg.forgotpass"],validationTest:function(a){a=a.get("value");return null!==a&&0!==a.length}}}]},clearValidations:function(){delete this.formValidations;this.formValidations=[]},initValidators:function(b){b=b.getElementById(this.options.formid);
var a=this.formValidations;a&&(this.validator=this.ValidationController.createValidator(b,{validations:a,inline:!1,evaluateFieldsOnBlur:!1}),this.validator.adviceShowing=this.adviceShowing.bind(this),this.validator.adviceHiding=this.adviceHiding.bind(this))},adviceShowing:function(b,a,c){var d;for(b=0;b<this.formValidations.length;b++)c=this.formValidations[b],0<a.length&&c.name===a[0]&&(d=c.options.errorMsg);this.displayErrorText(d)},textToMessageElement:function(b){var a={message:""};b&&(a.message=
Elements.from("\x3cp\x3e"+b+"\x3c/p\x3e"));return a},adviceHiding:function(b,a,c){this.errormsg.hide()},displayErrorTextFromData:function(b){b&&(b.alternateMessage?this.displayErrorText(b.alternateMessage):b.fields&&0<b.fields.length&&this.displayErrorText(Locale.get("vui.loginairpoints")["generic.validation.msg"]))},displayErrorText:function(b){b=this.textToMessageElement(b);this.displayErrorMessage(b)},displayErrorMessage:function(b){this.errorContent&&delete this.errorContent;this.errormsg&&(this.errormsg.hide(),
delete this.errormsg);this.errorContent=this.templates.loginErrorcontent(b);b.message.inject(this.errorContent.getElement("#validationMsgOptions"));this.errormsg=new VUI.Popup("",this.errorContent,{relative:this.loginAirContainer,type:1,size:"small",arrow:"right",x:"left",y:"center",styles:"{'z-index' : '9'}"});this.errormsg.show()},isLoggedIn:function(){var b=!1;!0===this.options.authdata.populated?b=!0:(this.options.formid=this.options.optionsUrls.loginUrl.formId,!0===this.options.authdata.populated&&
(b=!0));return b},isLoggedInAsWebOnlyMember:function(){return this.isLoggedIn()&&"WEB"===this.options.authdata.membershipType},_submitFormLogin:function(b){var a=this;a.containingPage.getElement("div.button-close")&&a.containingPage.getElement("div.button-close").hide();a.removeMessage();b={uid:document.id("field-username").value,password:document.id("field-password").value,retrieveNominees:a.options.retrieveNominees,noDiscountCardRedirect:a.options.noDiscountCardRedirect,checkCanContinue:a.options.checkCanContinueParam};
var c=new MtRequest.JSON({url:a.options.optionsUrls.loginUrl.url,noCache:!0,method:"post",onSuccess:function(b){0<b.length&&("validation"!==b[0].name?document.id("field-username")&&(Cookie.write("userId",document.id("field-username").value,{duration:365}),b=b[0].data,a._setAuthData(b),a.render(b)):a.displayErrorTextFromData(b[0].data));a.unspin("container-loginform")},onError:function(b,c){a.unspin("container-loginform");a._onError(b,c)},onFailure:function(){a.unspin("container-loginform");a._onFailure()}});
a.spin("container-loginform");c.post(b)},_submitForgotUsername:function(b){var a=this;a.removeMessage();b={firstName:document.id("field-firstname").value,lastName:document.id("field-lastname").value,email:document.id("field-email").value};var c=new MtRequest.JSON({url:a.options.optionsUrls.usernameUrl.url,noCache:!0,method:"post",onSuccess:function(b){0<b.length&&("validation"!==b[0].name?(b=b[0].data,delete a.options.authdata.help,a.render(b)):a.displayErrorTextFromData(b[0].data));a.unspin("container-forgotuser")},
onError:function(b,c){a.unspin("container-forgotuser");a._onError(b,c)},onFailure:function(){a.unspin("container-forgotuser");a._onFailure()}});a.spin("container-forgotuser");c.post(b)},focusLogin:function(){this.mask.show();(new Fx.Scroll(window)).toTop().start()},removeMessage:function(){this.errormsg&&this.errormsg.hide()},spin:function(b){if(b=document.id(b)){var a=Locale.get("vui.loginairpoints");b.spin({message:a["loading.msg"]})}},unspin:function(b){(b=document.id(b))&&b.unspin()},_onFailure:function(){},
_onError:function(){}});__registerModule("/nz/co/airnz/vui/loginairpoints/html/loginairpoints.template.html",function(h,f){Object.defineProperty(f,"__esModule",{value:!0});var g={loginAirpointsPanel:function(d,e,a){this.b(a=a||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+a);this.s(this.f("populated",d,e,1),d,e,0,39,97,"{{ }}")&&(this.rs(d,e,function(a,d,b){b.b(b.rp("loginAirpointsPanelAirpoints",a,d,"            "))}),d.pop());this.s(this.f("populated",d,e,1),d,e,1,0,0,"")||this.s(this.f("partialLogin",d,e,1),d,e,1,
0,0,"")||!this.s(this.f("showLogin",d,e,1),d,e,0,195,257,"{{ }}")||(this.rs(d,e,function(a,d,b){b.b(b.rp("loginAirpointsPanelLogin",a,d,"                "))}),d.pop());this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("    ");return this.fl()},loginAirpointsPanelLogin:function(d,e,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"container-loginair box-grey-wh" id\x3d"container-loginair"\x3e');this.b("\n"+a);this.b('        \x3cdiv class\x3d"box-head"\x3e');this.b("\n"+a);this.b('            \x3cdiv class\x3d"legend"\x3e');
this.b("\n"+a);this.b('                \x3cspan\x3eSign in \x3c/span\x3e\x3ca href\x3d"#" class\x3d"helplink"\x3e \x3cspan\x3eHelp\x3c/span\x3e \x3c/a\x3e');this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b('        \x3cdiv class\x3d"top-inner"\x3e');this.b("\n"+a);this.b('            \x3cdiv id\x3d"container-loginform"\x3e');this.b("\n"+a);this.b('                \x3cform id\x3d"form-loginForm" role\x3d"form" aria-label\x3d"Airpoints sign in"\x3e');
this.b("\n"+a);this.b('                    \x3cdiv class\x3d"button-close"\x3e');this.b("\n"+a);this.b('                        \x3cbutton class\x3d"close-refresh" type\x3d"button"\x3e');this.b("\n"+a);this.b("                            Close");this.b("\n"+a);this.b("                        \x3c/button\x3e");this.b("\n"+a);this.b("                    \x3c/div\x3e");this.b("\n"+a);this.b('                    \x3cfieldset class\x3d"form-style1 padded password"\x3e');this.b("\n"+a);this.b('                        \x3col class\x3d"list-unstyled"\x3e');
this.b("\n"+a);this.b("                            \x3cli\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"hidden"\x3e');this.b("\n"+a);this.b('                                    \x3clabel for\x3d"field-username"\x3eAirpoints No / Username / Email\x3c/label\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"field"\x3e');this.b("\n"+a);this.b('                                    \x3cinput type\x3d"text" name\x3d"uid" id\x3d"field-username" value\x3d""');
this.b("\n"+a);this.b('                                    maxlength\x3d"100" class\x3d"cleartext text wide"');this.b("\n"+a);this.b('                                    title\x3d"Airpoints No / Username / Email"');this.b("\n"+a);this.b('                                    placeholder\x3d"Airpoints No / Username / Email"');this.b("\n"+a);this.b('                                     aria-label\x3d"Airpoints Sign in. Airpoints Number, Username or Email"');this.b("\n"+a);this.b("                                    data-validators\x3d\"password msgPos:'globalValidationMsgOptions'\"");
this.b("\n"+a);this.b('                                    autocomplete\x3d"off"');this.b("\n"+a);this.b("                                    /\x3e");this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b("                            \x3c/li\x3e");this.b("\n"+a);this.b("                            \x3cli\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"hidden"\x3e');this.b("\n"+a);this.b('                                    \x3clabel for\x3d"field-password"\x3eEnter password \x3c/label\x3e');
this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"field"\x3e');this.b("\n"+a);this.b('                                    \x3cinput type\x3d"password" name\x3d"password" id\x3d"field-password"');this.b("\n"+a);this.b('                                    value\x3d"" maxlength\x3d"100" class\x3d"cleartext text"');this.b("\n"+a);this.b('                                    title\x3d"Enter password"');this.b("\n"+
a);this.b('                                    placeholder\x3d"Enter password"');this.b("\n"+a);this.b('                                     aria-label\x3d"Airpoints Password"');this.b("\n"+a);this.b("                                    data-validators\x3d\"password msgPos:'globalValidationMsgOptions'\"");this.b("\n"+a);this.b("                                    /\x3e");this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b("                            \x3c/li\x3e");
this.b("\n"+a);this.b("                        \x3c/ol\x3e");this.b("\n"+a);this.b('                        \x3cdiv id\x3d"submit-login" class\x3d"submit-button"\x3e');this.b("\n"+a);this.b('                            \x3cinput type\x3d"hidden" name\x3d"keepseats" value\x3d"');this.b(this.v(this.f("keepseats",d,e,0)));this.b('" /\x3e');this.b("\n"+a);this.b('                            \x3cbutton type\x3d"submit" class\x3d"vbutton" aria-label\x3d"Airpoints Sign in, Go" data-messagepopup-position\x3d\'');
this.b(this.v(this.f('"x":"left", "y":"center", "size": "tiny"',d,e,0)));this.b("'\x3e");this.b("\n"+a);this.b("                                Go");this.b("\n"+a);this.b("                            \x3c/button\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("                    \x3c/fieldset\x3e");this.b("\n"+a);this.b("                \x3c/form\x3e");this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+
a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("    ");return this.fl()},loginErrorcontent:function(d,e,a){this.b(a=a||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+a);this.b('        \x3cdiv id\x3d"validationMsgOptions"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("    ");return this.fl()},loginHelpcontent:function(d,e,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"login-helpcontent"\x3e');this.b("\n"+a);this.b('        \x3cdiv class\x3d"head-small"\x3e');
this.b("\n"+a);this.b("            Help with signing in.");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b('        \x3ca href\x3d"#" id\x3d"link-forgotusername" \x3eForgotten username?\x3c/a\x3e');this.b("\n"+a);this.b("        \x3cbr /\x3e");this.b("\n"+a);this.b('        \x3ca href\x3d"#" id\x3d"link-forgotpassword" \x3eForgotten password?\x3c/a\x3e');this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("    ");return this.fl()},loginAirpointsPanelForgotuser:function(d,
e,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"container-loginair box-grey-wh" id\x3d"container-loginair"\x3e');this.b("\n"+a);this.b('        \x3cdiv class\x3d"box-head"\x3e');this.b("\n"+a);this.b('            \x3cdiv class\x3d"legend"\x3e');this.b("\n"+a);this.b("                \x3cspan\x3eForgot username \x3c/span\x3e");this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b('        \x3cdiv class\x3d"top-inner"\x3e');this.b("\n"+
a);this.b('            \x3cdiv id\x3d"container-forgotuser"\x3e');this.b("\n"+a);this.b('                \x3cform id\x3d"form-forgotusername" method\x3d"post"\x3e');this.b("\n"+a);this.b('                    \x3cfieldset class\x3d"form-style1 padded"\x3e');this.b("\n"+a);this.b('                        \x3cdiv class\x3d"button-close"\x3e');this.b("\n"+a);this.b('                            \x3cbutton class\x3d"close-refresh" type\x3d"button"\x3e');this.b("\n"+a);this.b("                                Close");
this.b("\n"+a);this.b("                            \x3c/button\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("                        \x3cp\x3e");this.b("\n"+a);this.b("                            If you have forgotten your username you can retrieve it here.");this.b("\n"+a);this.b("                        \x3c/p\x3e");this.b("\n"+a);this.b('                        \x3col class\x3d"list-unstyled"\x3e');this.b("\n"+a);this.b("                            \x3cli\x3e");
this.b("\n"+a);this.b('                                \x3cdiv class\x3d"hidden"\x3e');this.b("\n"+a);this.b('                                    \x3clabel for\x3d"field-username"\x3eFirst name\x3c/label\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"field"\x3e');this.b("\n"+a);this.b('                                    \x3cinput type\x3d"text" name\x3d"firstName" id\x3d"field-firstname"');this.b("\n"+
a);this.b('                                    value\x3d"" maxlength\x3d"100" class\x3d"cleartext text wide"');this.b("\n"+a);this.b('                                    title\x3d"First name"');this.b("\n"+a);this.b('                                    placeholder\x3d"First name"');this.b("\n"+a);this.b('                                    data-validators\x3d"username"');this.b("\n"+a);this.b('                                    autocomplete\x3d"off"/\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");
this.b("\n"+a);this.b("                            \x3c/li\x3e");this.b("\n"+a);this.b("                            \x3cli\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"hidden"\x3e');this.b("\n"+a);this.b('                                    \x3clabel for\x3d"field-lastname"\x3eLast name \x3c/label\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"field"\x3e');this.b("\n"+
a);this.b('                                    \x3cinput type\x3d"text" name\x3d"lastName" id\x3d"field-lastname"');this.b("\n"+a);this.b('                                    value\x3d"" maxlength\x3d"100" class\x3d"cleartext text wide"');this.b("\n"+a);this.b('                                    title\x3d"Last name"');this.b("\n"+a);this.b('                                    placeholder\x3d"Last name"');this.b("\n"+a);this.b('                                    data-validators\x3d"username"');this.b("\n"+
a);this.b('                                    autocomplete\x3d"off"/\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b("                            \x3c/li\x3e");this.b("\n"+a);this.b("                            \x3cli\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"hidden"\x3e');this.b("\n"+a);this.b('                                    \x3clabel for\x3d"field-email"\x3eEmail \x3c/label\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");
this.b("\n"+a);this.b('                                \x3cdiv class\x3d"field"\x3e');this.b("\n"+a);this.b('                                    \x3cinput type\x3d"text" name\x3d"email" id\x3d"field-email" value\x3d""');this.b("\n"+a);this.b('                                    maxlength\x3d"100" class\x3d"cleartext text wide"');this.b("\n"+a);this.b('                                    title\x3d"Email"');this.b("\n"+a);this.b('                                    placeholder\x3d"Email"');this.b("\n"+
a);this.b('                                    data-validators\x3d"email"');this.b("\n"+a);this.b('                                    autocomplete\x3d"off"/\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b("                            \x3c/li\x3e");this.b("\n"+a);this.b("                        \x3c/ol\x3e");this.b("\n"+a);this.b('                        \x3cdiv class\x3d"submit-button"\x3e');this.b("\n"+a);this.b('                            \x3cbutton class\x3d"vbutton" type\x3d"submit"\x3e');
this.b("\n"+a);this.b("                                Submit");this.b("\n"+a);this.b("                            \x3c/button\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("                    \x3c/fieldset\x3e");this.b("\n"+a);this.b('                    \x3cinput type\x3d"hidden" name\x3d"findUser" value\x3d"findUser"/\x3e');this.b("\n"+a);this.b("                \x3c/form\x3e");this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");
this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("    ");return this.fl()},loginAirpointsPanelForgotpass:function(d,e,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"container-loginair box-grey-wh" id\x3d"container-loginair"\x3e');this.b("\n"+a);this.b('        \x3cdiv class\x3d"box-head"\x3e');this.b("\n"+a);this.b('            \x3cdiv class\x3d"legend"\x3e');this.b("\n"+a);this.b("                \x3cspan\x3eForgot password \x3c/span\x3e");this.b("\n"+a);this.b("            \x3c/div\x3e");
this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b('        \x3cdiv class\x3d"top-inner"\x3e');this.b("\n"+a);this.b('            \x3cdiv id\x3d"container-forgotpass"\x3e');this.b("\n"+a);this.b('                \x3cform id\x3d"form-forgotpass" method\x3d"post"\x3e');this.b("\n"+a);this.b('                    \x3cfieldset class\x3d"form-style1 padded"\x3e');this.b("\n"+a);this.b('                        \x3cdiv class\x3d"button-close"\x3e');this.b("\n"+a);this.b('                            \x3cbutton class\x3d"close-refresh" type\x3d"button"\x3e');
this.b("\n"+a);this.b("                                Close");this.b("\n"+a);this.b("                            \x3c/button\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("                        \x3cp\x3e");this.b("\n"+a);this.b("                            If you have forgotten your password you can retrieve it here.");this.b("\n"+a);this.b("                        \x3c/p\x3e");this.b("\n"+a);this.b('                        \x3col class\x3d"list-unstyled"\x3e');
this.b("\n"+a);this.b("                            \x3cli\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"hidden"\x3e');this.b("\n"+a);this.b('                                    \x3clabel for\x3d"field-forgotpassusername"\x3eUsername or Airpoints Number\x3c/label\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"field"\x3e');this.b("\n"+a);this.b('                                    \x3cinput type\x3d"text" name\x3d"uid" id\x3d"field-forgotpassusername"');
this.b("\n"+a);this.b('                                    maxlength\x3d"100" value\x3d"" class\x3d"cleartext text wide"');this.b("\n"+a);this.b('                                    title\x3d"Username or Airpoints No."');this.b("\n"+a);this.b('                                    placeholder\x3d"Username or Airpoints No."');this.b("\n"+a);this.b('                                    data-validators\x3d"username" autocomplete\x3d"off"/\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");
this.b("\n"+a);this.b("                            \x3c/li\x3e");this.b("\n"+a);this.b("                            \x3cli\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"hidden"\x3e');this.b("\n"+a);this.b('                                    \x3clabel for\x3d"field-forgotpassemail"\x3eEmail\x3c/label\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"field"\x3e');this.b("\n"+
a);this.b('                                    \x3cinput type\x3d"text" name\x3d"email" id\x3d"field-forgotpassemail"');this.b("\n"+a);this.b('                                    maxlength\x3d"100" value\x3d"" class\x3d"cleartext text wide"');this.b("\n"+a);this.b('                                    title\x3d"Email"');this.b("\n"+a);this.b('                                    placeholder\x3d"Email"');this.b("\n"+a);this.b('                                    data-validators\x3d"email"');this.b("\n"+
a);this.b('                                    autocomplete\x3d"off"/\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b("                            \x3c/li\x3e");this.b("\n"+a);this.b("                        \x3c/ol\x3e");this.b("\n"+a);this.b('                        \x3cdiv class\x3d"submit-button"\x3e');this.b("\n"+a);this.b('                            \x3cbutton class\x3d"vbutton" type\x3d"submit"\x3e');this.b("\n"+a);this.b("                                Submit");
this.b("\n"+a);this.b("                            \x3c/button\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("                    \x3c/fieldset\x3e");this.b("\n"+a);this.b('                    \x3cinput type\x3d"hidden" name\x3d"requestPasswordChallenge" value\x3d"requestPasswordChallenge"/\x3e');this.b("\n"+a);this.b("                \x3c/form\x3e");this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+
a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("    ");return this.fl()},loginAirpointsPanelForgotpass2:function(d,e,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"container-loginair box-grey-wh" id\x3d"container-loginair"\x3e');this.b("\n"+a);this.b('        \x3cdiv class\x3d"box-head"\x3e');this.b("\n"+a);this.b('            \x3cdiv class\x3d"legend"\x3e');this.b("\n"+a);this.b("                \x3cspan\x3eForgot password \x3c/span\x3e");this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+
a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b('        \x3cdiv class\x3d"top-inner"\x3e');this.b("\n"+a);this.b('            \x3cdiv id\x3d"container-forgotpass2"\x3e');this.b("\n"+a);this.b('                \x3cform id\x3d"form-forgotpass2" method\x3d"post"\x3e');this.b("\n"+a);this.b('                    \x3cfieldset class\x3d"form-style1 padded"\x3e');this.b("\n"+a);this.b('                        \x3cinput type\x3d"hidden" name\x3d"uid" id\x3d"field-forgotpassusername" value\x3d"');
this.b(this.v(this.f("uid",d,e,0)));this.b('" /\x3e');this.b("\n"+a);this.b('                        \x3cinput type\x3d"hidden"name\x3d"email" id\x3d\'field-forgotpassemail\' value\x3d"');this.b(this.v(this.f("email",d,e,0)));this.b('" /\x3e');this.b("\n"+a);this.b('                        \x3cdiv class\x3d"button-close"\x3e');this.b("\n"+a);this.b('                            \x3cbutton class\x3d"close-refresh" type\x3d"button"\x3e');this.b("\n"+a);this.b("                                Close");
this.b("\n"+a);this.b("                            \x3c/button\x3e");this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("                        \x3cp\x3e");this.b("\n"+a);this.b("                            Please complete these details to reset your password.");this.b("\n"+a);this.b("                        \x3c/p\x3e");this.b("\n"+a);this.b('                        \x3col class\x3d"list-unstyled"\x3e');this.b("\n"+a);this.b('                            \x3cli id\x3d"forgotpassword-question" class\x3d"straight-bottom"\x3e');
this.b("\n"+a);this.b('                                \x3cdiv class\x3d"label"\x3e');this.b("\n"+a);this.b('                                    \x3clabel for\x3d"field-forgotpassquestionanswer"\x3e');this.b(this.v(this.f("challengeQuestion",d,e,0)));this.b("\x3c/label\x3e");this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"field"\x3e');this.b("\n"+a);this.b('                                    \x3cinput type\x3d"text" name\x3d"answer"');
this.b("\n"+a);this.b('                                    id\x3d"field-forgotpassquestionanswer" maxlength\x3d"100" value\x3d""');this.b("\n"+a);this.b('                                    class\x3d"text wide" title\x3d""');this.b("\n"+a);this.b('                                    data-validators\x3d"forgotpassquestionanswer"');this.b("\n"+a);this.b('                                    autocomplete\x3d"off"/\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+
a);this.b("                            \x3c/li\x3e");this.b("\n"+a);this.s(this.f("confirmDateOfBirth",d,e,1),d,e,0,1866,6795,"{{ }}")&&(this.rs(d,e,function(d,e,b){b.b('                            \x3cli id\x3d"forgotpassword-dob"\x3e');b.b("\n"+a);b.b('                                \x3cdiv class\x3d"label"\x3e');b.b("\n"+a);b.b("                                    Date of birth day");b.b("\n"+a);b.b("                                \x3c/div\x3e");b.b("\n"+a);b.b('                                \x3cdiv class\x3d"field"\x3e');
b.b("\n"+a);b.b('                                    \x3clabel for\x3d"field-forgotpassdobday" class\x3d"hidden"\x3eDate of birth day \x3c/label\x3e');b.b("\n"+a);b.b("                                    \x3cselect");b.b("\n"+a);b.b('                                    id\x3d"field-forgotpassdobday" name\x3d"birthDateDay"');b.b("\n"+a);b.b('                                    class\x3d"select" data-validators\x3d"forgotpassdobday"\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d""\x3e\x3c/option\x3e');
b.b("\n"+a);b.b('                                        \x3coption value\x3d"1"\x3e01\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"2"\x3e02\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"3"\x3e03\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"4"\x3e04\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"5"\x3e05\x3c/option\x3e');
b.b("\n"+a);b.b('                                        \x3coption value\x3d"6"\x3e06\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"7"\x3e07\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"8"\x3e08\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"9"\x3e09\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"10"\x3e10\x3c/option\x3e');
b.b("\n"+a);b.b('                                        \x3coption value\x3d"11"\x3e11\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"12"\x3e12\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"13"\x3e13\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"14"\x3e14\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"15"\x3e15\x3c/option\x3e');
b.b("\n"+a);b.b('                                        \x3coption value\x3d"16"\x3e16\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"17"\x3e17\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"18"\x3e18\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"19"\x3e19\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"20"\x3e20\x3c/option\x3e');
b.b("\n"+a);b.b('                                        \x3coption value\x3d"21"\x3e21\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"22"\x3e22\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"23"\x3e23\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"24"\x3e24\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"25"\x3e25\x3c/option\x3e');
b.b("\n"+a);b.b('                                        \x3coption value\x3d"26"\x3e26\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"27"\x3e27\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"28"\x3e28\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"29"\x3e29\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"30"\x3e30\x3c/option\x3e');
b.b("\n"+a);b.b('                                        \x3coption value\x3d"31"\x3e31\x3c/option\x3e');b.b("\n"+a);b.b("                                    \x3c/select\x3e");b.b("\n"+a);b.b('                                    \x3clabel for\x3d"field-forgotpassdobmonth" class\x3d"hidden"\x3eMonth \x3c/label\x3e');b.b("\n"+a);b.b("                                    \x3cselect");b.b("\n"+a);b.b('                                    id\x3d"field-forgotpassdobmonth" name\x3d"birthDateMonth"');b.b("\n"+
a);b.b('                                    class\x3d"select" data-validators\x3d"forgotpassdobmonth"\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d""\x3e\x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"1"\x3e January \x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"2"\x3e February \x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"3"\x3e March \x3c/option\x3e');
b.b("\n"+a);b.b('                                        \x3coption value\x3d"4"\x3e April \x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"5"\x3e May \x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"6"\x3e June \x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"7"\x3e July \x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"8"\x3e August \x3c/option\x3e');
b.b("\n"+a);b.b('                                        \x3coption value\x3d"9"\x3e September \x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"10"\x3e October \x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"11"\x3e November \x3c/option\x3e');b.b("\n"+a);b.b('                                        \x3coption value\x3d"12"\x3e December \x3c/option\x3e');b.b("\n"+a);b.b("                                    \x3c/select\x3e");
b.b("\n"+a);b.b('                                    \x3clabel for\x3d"field-forgotpassdobyear" class\x3d"hidden"\x3eYear\x3c/label\x3e');b.b("\n"+a);b.b("                                    \x3cselect");b.b("\n"+a);b.b('                                    id\x3d"field-forgotpassdobyear" name\x3d"birthDateYear"');b.b("\n"+a);b.b('                                    class\x3d"select" data-validators\x3d"forgotpassdobyear"\x3e');b.b("\n"+a);b.s(b.f("selectOptions",d,e,1),d,e,0,6487,6629,"{{ }}")&&(b.rs(d,
e,function(a,b,c){c.b('                                        \x3coption value\x3d"');c.b(c.v(c.f("selectOption",a,b,0)));c.b('"\x3e ');c.b(c.v(c.f("selectOption",a,b,0)));c.b(" \x3c/option\x3e");c.b("\n")}),d.pop());b.b("                                    \x3c/select\x3e");b.b("\n"+a);b.b("                                \x3c/div\x3e");b.b("\n"+a);b.b("                            \x3c/li\x3e");b.b("\n")}),d.pop());this.b("                            \x3cli\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"hidden"\x3e');
this.b("\n"+a);this.b('                                    \x3clabel for\x3d"field-forgotpassnewpass"\x3eCreate new password\x3c/label\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"field"\x3e');this.b("\n"+a);this.b('                                    \x3cinput type\x3d"password" name\x3d"password"');this.b("\n"+a);this.b('                                    id\x3d"field-forgotpassnewpass" maxlength\x3d"100" value\x3d""');
this.b("\n"+a);this.b('                                    class\x3d"cleartext text wide"');this.b("\n"+a);this.b('                                    title\x3d"Create new password"');this.b("\n"+a);this.b('                                    placeholder\x3d"Create new password"');this.b("\n"+a);this.b('                                    data-validators\x3d"passwprd"/\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b("                            \x3c/li\x3e");
this.b("\n"+a);this.b("                            \x3cli\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"hidden"\x3e');this.b("\n"+a);this.b('                                    \x3clabel for\x3d"field-forgotpassnewpassconfirm"\x3eConfirm new password \x3c/label\x3e');this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b('                                \x3cdiv class\x3d"field"\x3e');this.b("\n"+a);this.b('                                    \x3cinput type\x3d"password" name\x3d"confirmPassword"');
this.b("\n"+a);this.b('                                    id\x3d"field-forgotpassnewpassconfirm" maxlength\x3d"100" value\x3d""');this.b("\n"+a);this.b('                                    class\x3d"cleartext text wide"');this.b("\n"+a);this.b('                                    title\x3d"Confirm new password"');this.b("\n"+a);this.b('                                    placeholder\x3d"Confirm new password"');this.b("\n"+a);this.b('                                    data-validators\x3d"password"/\x3e');
this.b("\n"+a);this.b("                                \x3c/div\x3e");this.b("\n"+a);this.b("                            \x3c/li\x3e");this.b("\n"+a);this.b("                        \x3c/ol\x3e");this.b("\n"+a);this.b('                        \x3cdiv class\x3d"submit-button"\x3e');this.b("\n"+a);this.b('                            \x3cbutton class\x3d"vbutton" type\x3d"submit"\x3e');this.b("\n"+a);this.b("                                Submit");this.b("\n"+a);this.b("                            \x3c/button\x3e");
this.b("\n"+a);this.b("                        \x3c/div\x3e");this.b("\n"+a);this.b("                    \x3c/fieldset\x3e");this.b("\n"+a);this.b('                    \x3cinput type\x3d"hidden" name\x3d"performPasswordReset" value\x3d"performPasswordReset"/\x3e');this.b("\n"+a);this.b("                \x3c/form\x3e");this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("    ");return this.fl()},
loginAirpointsPanelAirpoints:function(d,e,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"container-loginair box-grey-wh airpoints ');this.b(this.v(this.f("membershipTierClass",d,e,0)));this.b('" id\x3d"container-loginair"\x3e');this.b("\n"+a);this.b('        \x3cdiv class\x3d"box-head"\x3e\x3c/div\x3e');this.b("\n"+a);this.b('        \x3cdiv class\x3d"top-inner"\x3e');this.b("\n"+a);this.b('            \x3cdiv id\x3d"container-airpoints"\x3e');this.b("\n"+a);this.b('                \x3cdiv id\x3d"airpoint-details"\x3e');
this.b("\n"+a);this.b('                    \x3cdiv class\x3d"head-small"\x3e');this.b("\n"+a);this.b("                        ");this.b(this.v(this.f("displayName",d,e,0)));this.b("\n"+a);this.b("                    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.s(this.f("airpointsMembershipType",d,e,1),d,e,0,420,4171,"{{ }}")&&(this.rs(d,e,function(d,e,b){b.s(b.f("membershipTier",d,e,1),d,e,0,464,1113,"{{ }}")&&(b.rs(d,e,function(b,d,c){c.b('                            \x3cdiv class\x3d"airpoints-details"\x3e');
c.b("\n"+a);c.b('                                \x3cdiv class\x3d"airpoints-entry" id\x3d"airpoints-tier"\x3e');c.b("\n"+a);c.b('                                    \x3cdiv class\x3d"tier-name"\x3e');c.b("\n"+a);c.b("                                        ");c.b(c.v(c.f("membershipTierTitle",b,d,0)));c.b("\n"+a);c.s(c.f("showEnjoyPartnerBenefit",b,d,1),b,d,0,799,943,"{{ }}")&&(c.rs(b,d,function(a,b,c){c.b('                                            \x3cspan class\x3d"benefits-message"\x3eenjoy Elite benefits\x3c/span\x3e');
c.b("\n")}),b.pop());c.b("                                    \x3c/div\x3e");c.b("\n"+a);c.b("                                \x3c/div\x3e");c.b("\n"+a);c.b("                            \x3c/div\x3e");c.b("\n")}),d.pop());b.s(b.f("airpointsNumber",d,e,1),d,e,0,1173,2166,"{{ }}")&&(b.rs(d,e,function(b,d,c){c.b("\n"+a);c.b('                    \x3cdiv class\x3d"airpoints-details"\x3e');c.b("\n"+a);c.b('                        \x3cdiv class\x3d"airpoints-entry" id\x3d"airpoints-membernumber"\x3e');c.b("\n"+
a);c.b('                            \x3cdiv class\x3d"airpoints-value label"\x3e');c.b("\n"+a);c.s(c.f("familyGroup",b,d,1),b,d,0,1421,1508,"{{ }}")&&(c.rs(b,d,function(a,b,c){c.b("                                    Shairpoints Group");c.b("\n")}),b.pop());c.s(c.f("familyGroup",b,d,1),b,d,1,0,0,"")||(c.b("                                    Membership No."),c.b("\n"));c.b("                            \x3c/div\x3e");c.b("\n"+a);c.b('                            \x3cdiv class\x3d"airpoints-value"\x3e');
c.b("\n"+a);c.s(c.f("familyGroup",b,d,1),b,d,0,1815,1905,"{{ }}")&&(c.rs(b,d,function(a,b,c){c.b("                                    ");c.b(c.v(c.f("displayGroupName",a,b,0)));c.b("\n")}),b.pop());c.s(c.f("familyGroup",b,d,1),b,d,1,0,0,"")||(c.b("                                    "),c.b(c.v(c.f("airpointsNumber",b,d,0))),c.b("\n"));c.b("                            \x3c/div\x3e");c.b("\n"+a);c.b("                        \x3c/div\x3e");c.b("\n")}),d.pop());b.s(b.f("airpointsDollarsBalance",d,e,1),
d,e,0,2239,2948,"{{ }}")&&(b.rs(d,e,function(b,d,c){c.b('                        \x3cdiv class\x3d"airpoints-entry" id\x3d"airpoints-airpointsdollars"\x3e');c.b("\n"+a);c.b('                            \x3cdiv class\x3d"airpoints-value label"\x3e');c.b("\n"+a);c.s(c.f("familyGroup",b,d,1),b,d,0,2438,2527,"{{ }}")&&(c.rs(b,d,function(a,b,c){c.b("                                    Shairpoints Balance");c.b("\n")}),b.pop());c.s(c.f("familyGroup",b,d,1),b,d,1,0,0,"")||(c.b("                                    Airpoints Dollars"),
c.b("\n"));c.b("                            \x3c/div\x3e");c.b("\n"+a);c.b('                            \x3cdiv class\x3d"airpoints-value"\x3e\x3cspan class\x3d"airpoints-icon"\x3e\x26nbsp;\x26nbsp;\x3c/span\x3e');c.b(c.v(c.d("airpointsDollarsBalance.localisedDisplayAmount",b,d,0)));c.b("\x3c/div\x3e");c.b("\n"+a);c.b("                        \x3c/div\x3e");c.b("\n")}),d.pop());b.s(b.f("airpointsDollarsAdvanceVisible",d,e,1),d,e,0,3036,3568,"{{ }}")&&(b.rs(d,e,function(b,d,c){c.s(c.f("airpointsDollarsAdvance",
b,d,1),b,d,0,3089,3515,"{{ }}")&&(c.rs(b,d,function(b,c,d){d.b('                        \x3cdiv class\x3d"airpoints-entry" id\x3d"airpoints-airpointsbalanceadv"\x3e');d.b("\n"+a);d.b('                            \x3cdiv class\x3d"airpoints-value label"\x3eAvailable Balance with Airpoints Advance\x3c/div\x3e');d.b("\n"+a);d.b('                            \x3cdiv class\x3d"airpoints-value"\x3e\x3cspan class\x3d"airpoints-icon"\x3e\x26nbsp;\x26nbsp;\x3c/span\x3e');d.b(d.v(d.d("airpointsDollarsAvailableBalance.localisedDisplayAmount",
b,c,0)));d.b("\x3c/div\x3e");d.b("\n"+a);d.b("                        \x3c/div\x3e");d.b("\n")}),b.pop())}),d.pop());b.s(b.d("airpointsForBusinessInfo.ownerOrAdministrator",d,e,1),d,e,0,3678,4096,"{{ }}")&&(b.rs(d,e,function(b,d,c){c.b('                        \x3cdiv class\x3d"airpoints-entry" id\x3d"airpoints-airpointsforbusiness"\x3e');c.b("\n"+a);c.b('                            \x3cdiv class\x3d"airpoints-value label"\x3eAirpoints for Business\x3c/div\x3e');c.b("\n"+a);c.b('                            \x3cdiv class\x3d"airpoints-value"\x3e\x3cspan class\x3d"airpoints-icon"\x3e\x26nbsp;\x26nbsp;\x3c/span\x3e');
c.b(c.v(c.d("airpointsForBusinessInfo.airpointsBalance.localisedDisplayAmount",b,d,0)));c.b("\x3c/div\x3e");c.b("\n"+a);c.b("                        \x3c/div\x3e");c.b("\n")}),d.pop())}),d.pop());this.b("                    \x3c/div\x3e");this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.s(this.f("showLogout",d,e,1),d,e,0,4281,4450,"{{ }}")&&(this.rs(d,e,function(d,e,b){b.b('                  \x3cdiv id\x3d"logout-button"\x3e');b.b("\n"+a);b.b('                      \x3ca href\x3d"#" class\x3d"link-logout" id\x3d"link-logout"\x3eSign out\x3c/a\x3e');
b.b("\n"+a);b.b("                  \x3c/div\x3e");b.b("\n")}),d.pop());this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.loginairpoints.loginairpoints.hoganTemplates",g);f.default=g});__registerModule("/nz/co/airnz/vui/flightinfo/flightinfo.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"flightinfo.arrives":"Arrives","flightinfo.departs":"Departs","flightinfo.duration":"Duration","flightinfo.skycouch.available":"available","flightinfo.flightinfo":"Flight Info","flightinfo.foot.text":"Service on domestic flights and other airlines may vary from international Air\u00a0New\u00a0Zealand\u00a0flights.","flightinfo.regulatory.approval.airport":"All tickets are sold subject to and conditional upon Air New Zealand obtaining the necessary regulatory approvals.",
"flightinfo.regulatory.approval.codeshare-flight":"All tickets are sold subject to and conditional upon obtaining the necessary regulatory approvals.","flightinfo.origintodestination":"{{origin.airportName}} to {{destination.airportName}}","stopover.via":"stop via","flightinfo.transit.data":"\x3cstrong\x3eTransit\x3c/strong\x3e {{destination.airportCityName}} {{{transitInterval}}}","flightinfo.transit.connection":"Next flight leaves from a different airport","flightinfo.serviceclass":"Service class",
"flightinfo.serviceclass.BUSINESS":"Business","flightinfo.serviceclass.PREMIUM_ECONOMY":"Premium Economy","flightinfo.serviceclass.ECONOMY":"Economy","flightinfo.serviceclass.FIRST":"First"};Locale.define("en-NZ","vui",{flightinfo:b});a.default=b});Class("VUI.FLIGHTINFO.FlightInfoDataSource",{Implements:[Events,Options],Depends:["SearchKey"],flightInfoDataCache:{},options:{url:null},initialize:function(b){this.setOptions(b)},clearFlightInfoDataCache:function(){this.flightInfoDataCache={}},getFlightInfoData:function(b,d,a){var c=null;a&&(c=this.flightInfoDataCache[a]);c?"waiting"!==c&&d(b,c,a):(a&&(this.flightInfoDataCache[a]="waiting"),this.doGetFlightInfoData(b,d,a))},doGetFlightInfoData:function(b,d,a){var c=this,e=new MtRequest.JSON({url:c.options.url,
noCache:!0});e.addEvent("success",function(e){c.flightInfoDataCache[a]=e;d&&d(b,e,a)});Object.append(b,{searchKey:c.SearchKey.get()});e.get(b)}});Class("VUI.FLIGHTINFO.FlightInfoPanelFactory",{Implements:[Events,VUI.Templates],Depends:["FlightInfoMapPanel"],Optionally:["ShareItineraryPanel"],lang:{},InjectAs:{name:"FlightInfoPanelFactory",singleton:!0},initialize:function(){this.loadTemplates({componentId:"vui.flightinfo.flightinfo"});this.lang=Locale.get("vui.flightinfo")},includeStopoverIfPresent:function(a,c){a&&a.stopOverDetail&&""!==a.stopOverDetail&&this.lang[c]&&!a.stopOverDetail.contains(this.lang[c])&&(a.stopOverDetail="1\x26nbsp;"+
this.lang[c]+"\x26nbsp;"+a.stopOverDetail)},includeServiceClassIfPresent:function(a){a&&a.serviceClass&&(a.localizedServiceClass=this.lang["flightinfo.serviceclass."+a.serviceClass])},createFlightInfoPanel:function(a,c){var d=this,b="";if(a&&a.flights){var b=a.footerTextKeys,h=a.applicationcontext,k=a.stopOverTextKey;if(b&&""!==b){for(var b=b.split(","),f=[],e=0;e<b.length;e++)f.push(d.lang[b[e]]);a.flightitineraryFootMessage=f.join("\x3cbr/\x3e")}var g="l";a.useSmallLogos&&(g="xs");a.flights.each(function(b){d.includeServiceClassIfPresent(b);
a.hasServiceClass=a.hasServiceClass||b.localizedServiceClass;b.applicationcontext=h;d.includeStopoverIfPresent(b,k);b.imageType=g;b.duration=VUI.DateFormatter.formatDurationInMinutes(b.flightDurationInMinutes);b.transitIntervalDurationInMinutes&&(b.transitInterval=VUI.DateFormatter.formatDurationInMinutes(b.transitIntervalDurationInMinutes))});a.showMap=a.showMap&&c;b=d.templates.FlightInfoPopupTable(a);a.showMap&&d.createMap(b,a)}return b},createMap:function(a,c){var d=this.getAirports(c.flights),
b=a.getElement(".flightinfomap-canvas");b&&this.FlightInfoMapPanel.drawMap(b,d)},getAirports:function(a){var c=[];a.each(function(a){c.push(a.origin);c.push(a.destination)});return c}});Class("VUI.FLIGHTINFO.FlightInfoPopupController",{Implements:[Events,Options,VUI.Disposable],Depends:["GTMEventTracker"],options:{url:null,popupOptions:{type:3,x:"left",y:"center"}},InjectAs:{name:"FlightInfoPopupController",singleton:!0},Binds:["_onFlightInfoPopupShown"],flightInfoPopups:[],initialize:function(a){this.options.popupOptions.size="560";this.setOptions(a)},createFlightInfoPopup:function(a){var b=this;a=Object.merge(b.options,a);var c=VUI.Injector.get("FlightInfoPopup",a);c.addEvent("shown",
function(a,g){b._onFlightInfoPopupShown(a,g,c);b.GTMEventTracker.trackNonApplicationGeneralEvent("flight information","triggered")});b.flightInfoPopups.push(c);return c},_onFlightInfoPopupShown:function(a,b,c){this.fireEvent("shown",[a,b,c])}});
Class("VUI.FLIGHTINFO.FlightInfoPopup",{Implements:[Events,Options],flightInfoDataSource:null,Depends:["FlightInfoPanelFactory"],currentTrigger:null,lang:{},options:{url:null,popupOptions:{type:3,x:"right",y:"center",spin:!0}},InjectAs:{name:"FlightInfoPopup"},initialize:function(a){this.setOptions(a);this.initFlightInfoDataSource();this.initCallouts()},initFlightInfoDataSource:function(){this.flightInfoDataSource=new VUI.FLIGHTINFO.FlightInfoDataSource({url:this.options.url})},initCallouts:function(){this.popup=
new VUI.Popup(null,null,this.options.popupOptions)},initMouseHandlers:function(a,b){var c=this;c.clearDataSourceCache();a.addEvent("mouseover:relay("+b+")",function(a,b){c.popup.hide();var e=b.get("flightinfopopup-positionx"),f=null;e&&(f={x:e});c.popup.show(b,f);c.currentTrigger=b;c.fetchFlightInfoData(b,function(a,d,e){b===c.currentTrigger&&c.showFlightInfoCallout(b,d)})});a.addEvent("mouseout:relay("+b+")",c.popup.hide)},clearDataSourceCache:function(){this.flightInfoDataSource&&this.flightInfoDataSource.clearFlightInfoDataCache()},
fetchFlightInfoData:function(a,b){var c=JSON.parse("{"+a.get("flightinfopopup-params")+"}"),d=a.get("flightinfopopup-cachekey");this.flightInfoDataSource.getFlightInfoData(c,b,d)},hideFlightInfoCallout:function(){this.popup.hide();this.fireEvent("hidden",[this.popup.flightInfoData,this.popup])},showFlightInfoCallout:function(a,b){this.popup.setContent(this.createFlightInfoPopupContent(b),!0);this.popup.flightInfoData=b;var c=null;if(a){a=document.id(a);var d=a.get("flightinfopopup-positionx");d&&
(c={x:d})}this.popup.reposition(c);this.fireEvent("shown",[this.popup.flightInfoData,this.popup])},createFlightInfoPopupContent:function(a){return this.FlightInfoPanelFactory.createFlightInfoPanel(a.data,!0)}});document.createElement("canvas").getContext||function(){function J(){return this.context_||(this.context_=new y(this))}function K(a,b){var c=C.call(arguments,2);return function(){return a.apply(b,c.concat(C.call(arguments)))}}function L(a){var b=a.srcElement;switch(a.propertyName){case "width":b.style.width=b.attributes.width.nodeValue+"px";b.getContext().clearRect();break;case "height":b.style.height=b.attributes.height.nodeValue+"px",b.getContext().clearRect()}}function M(a){a=a.srcElement;a.firstChild&&
(a.firstChild.style.width=a.clientWidth+"px",a.firstChild.style.height=a.clientHeight+"px")}function z(){return[[1,0,0],[0,1,0],[0,0,1]]}function q(a,b){for(var c=z(),d=0;3>d;d++)for(var e=0;3>e;e++){for(var f=0,l=0;3>l;l++)f+=a[d][l]*b[l][e];c[d][e]=f}return c}function D(a,b){b.fillStyle=a.fillStyle;b.lineCap=a.lineCap;b.lineJoin=a.lineJoin;b.lineWidth=a.lineWidth;b.miterLimit=a.miterLimit;b.shadowBlur=a.shadowBlur;b.shadowColor=a.shadowColor;b.shadowOffsetX=a.shadowOffsetX;b.shadowOffsetY=a.shadowOffsetY;
b.strokeStyle=a.strokeStyle;b.globalAlpha=a.globalAlpha;b.arcScaleX_=a.arcScaleX_;b.arcScaleY_=a.arcScaleY_;b.lineScale_=a.lineScale_}function E(a){var b,c=1;a=String(a);if("rgb"==a.substring(0,3)){b=a.indexOf("(",3);var d=a.indexOf(")",b+1),d=a.substring(b+1,d).split(",");b="#";for(var e=0;3>e;e++)b+=F[Number(d[e])];4==d.length&&"a"==a.substr(3,1)&&(c=d[3])}else b=a;return{color:b,alpha:c}}function N(a){switch(a){case "butt":return"flat";case "round":return"round";default:return"square"}}function y(a){this.m_=
z();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.fillStyle=this.strokeStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=10;this.globalAlpha=1;this.canvas=a;var b=a.ownerDocument.createElement("div");b.style.width=a.clientWidth+"px";b.style.height=a.clientHeight+"px";b.style.overflow="hidden";b.style.position="absolute";a.appendChild(b);this.element_=b;this.lineScale_=this.arcScaleY_=this.arcScaleX_=1}function G(a,b,c,d){a.currentPath_.push({type:"bezierCurveTo",
cp1x:b.x,cp1y:b.y,cp2x:c.x,cp2y:c.y,x:d.x,y:d.y});a.currentX_=d.x;a.currentY_=d.y}function r(a,b,c){var d;a:{for(d=0;3>d;d++)for(var e=0;2>e;e++)if(!isFinite(b[d][e])||isNaN(b[d][e])){d=!1;break a}d=!0}d&&(a.m_=b,c&&(a.lineScale_=O(P(b[0][0]*b[1][1]-b[0][1]*b[1][0]))))}function u(a){this.type_=a;this.r1_=this.y1_=this.x1_=this.r0_=this.y0_=this.x0_=0;this.colors_=[]}function H(){}var t=Math,h=t.round,A=t.sin,B=t.cos,P=t.abs,O=t.sqrt,C=Array.prototype.slice,I={init:function(a){/MSIE/.test(navigator.userAgent)&&
!window.opera&&(a=a||document,a.createElement("canvas"),a.attachEvent("onreadystatechange",K(this.init_,this,a)))},init_:function(a){a.namespaces.g_vml_||a.namespaces.add("g_vml_","urn:schemas-microsoft-com:vml","#default#VML");a.namespaces.g_o_||a.namespaces.add("g_o_","urn:schemas-microsoft-com:office:office","#default#VML");if(!a.styleSheets.ex_canvas_){var b=a.createStyleSheet();b.owningElement.id="ex_canvas_";b.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}g_vml_\\:*{behavior:url(#default#VML)}g_o_\\:*{behavior:url(#default#VML)}"}a=
a.getElementsByTagName("canvas");for(b=0;b<a.length;b++)this.initElement(a[b])},initElement:function(a){if(!a.getContext){a.getContext=J;a.innerHTML="";a.attachEvent("onpropertychange",L);a.attachEvent("onresize",M);var b=a.attributes;b.width&&b.width.specified?a.style.width=b.width.nodeValue+"px":a.width=a.clientWidth;b.height&&b.height.specified?a.style.height=b.height.nodeValue+"px":a.height=a.clientHeight}return a}};I.init();for(var F=[],f=0;16>f;f++)for(var x=0;16>x;x++)F[16*f+x]=f.toString(16)+
x.toString(16);f=y.prototype;f.clearRect=function(){this.element_.innerHTML=""};f.beginPath=function(){this.currentPath_=[]};f.moveTo=function(a,b){var c=this.getCoords_(a,b);this.currentPath_.push({type:"moveTo",x:c.x,y:c.y});this.currentX_=c.x;this.currentY_=c.y};f.lineTo=function(a,b){var c=this.getCoords_(a,b);this.currentPath_.push({type:"lineTo",x:c.x,y:c.y});this.currentX_=c.x;this.currentY_=c.y};f.bezierCurveTo=function(a,b,c,d,e,f){e=this.getCoords_(e,f);a=this.getCoords_(a,b);c=this.getCoords_(c,
d);G(this,a,c,e)};f.quadraticCurveTo=function(a,b,c,d){a=this.getCoords_(a,b);c=this.getCoords_(c,d);d={x:this.currentX_+.6666666666666666*(a.x-this.currentX_),y:this.currentY_+.6666666666666666*(a.y-this.currentY_)};G(this,d,{x:d.x+(c.x-this.currentX_)/3,y:d.y+(c.y-this.currentY_)/3},c)};f.arc=function(a,b,c,d,e,f){c*=10;var l=f?"at":"wa",h=a+B(d)*c-5,k=b+A(d)*c-5;d=a+B(e)*c-5;e=b+A(e)*c-5;h!=d||f||(h+=.125);a=this.getCoords_(a,b);h=this.getCoords_(h,k);d=this.getCoords_(d,e);this.currentPath_.push({type:l,
x:a.x,y:a.y,radius:c,xStart:h.x,yStart:h.y,xEnd:d.x,yEnd:d.y})};f.rect=function(a,b,c,d){this.moveTo(a,b);this.lineTo(a+c,b);this.lineTo(a+c,b+d);this.lineTo(a,b+d);this.closePath()};f.strokeRect=function(a,b,c,d){var e=this.currentPath_;this.beginPath();this.moveTo(a,b);this.lineTo(a+c,b);this.lineTo(a+c,b+d);this.lineTo(a,b+d);this.closePath();this.stroke();this.currentPath_=e};f.fillRect=function(a,b,c,d){var e=this.currentPath_;this.beginPath();this.moveTo(a,b);this.lineTo(a+c,b);this.lineTo(a+
c,b+d);this.lineTo(a,b+d);this.closePath();this.fill();this.currentPath_=e};f.createLinearGradient=function(a,b,c,d){var e=new u("gradient");e.x0_=a;e.y0_=b;e.x1_=c;e.y1_=d;return e};f.createRadialGradient=function(a,b,c,d,e,f){var h=new u("gradientradial");h.x0_=a;h.y0_=b;h.r0_=c;h.x1_=d;h.y1_=e;h.r1_=f;return h};f.drawImage=function(a){var b,c,d,e,f,l,p,k;d=a.runtimeStyle.width;e=a.runtimeStyle.height;a.runtimeStyle.width="auto";a.runtimeStyle.height="auto";var g=a.width,m=a.height;a.runtimeStyle.width=
d;a.runtimeStyle.height=e;if(3==arguments.length)b=arguments[1],c=arguments[2],f=l=0,p=d=g,k=e=m;else if(5==arguments.length)b=arguments[1],c=arguments[2],d=arguments[3],e=arguments[4],f=l=0,p=g,k=m;else if(9==arguments.length)f=arguments[1],l=arguments[2],p=arguments[3],k=arguments[4],b=arguments[5],c=arguments[6],d=arguments[7],e=arguments[8];else throw Error("Invalid number of arguments");var n=this.getCoords_(b,c),v=[];v.push(" \x3cg_vml_:group",' coordsize\x3d"',100,",",100,'"',' coordorigin\x3d"0,0"',
' style\x3d"width:',10,"px;height:",10,"px;position:absolute;");if(1!=this.m_[0][0]||this.m_[0][1]){var q=[];q.push("M11\x3d",this.m_[0][0],",","M12\x3d",this.m_[1][0],",","M21\x3d",this.m_[0][1],",","M22\x3d",this.m_[1][1],",","Dx\x3d",h(n.x/10),",","Dy\x3d",h(n.y/10),"");var r=this.getCoords_(b+d,c),w=this.getCoords_(b,c+e);b=this.getCoords_(b+d,c+e);n.x=t.max(n.x,r.x,w.x,b.x);n.y=t.max(n.y,r.y,w.y,b.y);v.push("padding:0 ",h(n.x/10),"px ",h(n.y/10),"px 0;filter:progid:DXImageTransform.Microsoft.Matrix(",
q.join(""),", sizingmethod\x3d'clip');")}else v.push("top:",h(n.y/10),"px;left:",h(n.x/10),"px;");v.push(' "\x3e','\x3cg_vml_:image src\x3d"',a.src,'"',' style\x3d"width:',10*d,"px;"," height:",10*e,'px;"',' cropleft\x3d"',f/g,'"',' croptop\x3d"',l/m,'"',' cropright\x3d"',(g-f-p)/g,'"',' cropbottom\x3d"',(m-l-k)/m,'"'," /\x3e","\x3c/g_vml_:group\x3e");this.element_.insertAdjacentHTML("BeforeEnd",v.join(""))};f.stroke=function(a){var b=[],c=E(a?this.fillStyle:this.strokeStyle),d=c.color,c=c.alpha*
this.globalAlpha;b.push("\x3cg_vml_:shape",' filled\x3d"',!!a,'"',' style\x3d"position:absolute;width:',10,"px;height:",10,'px;"',' coordorigin\x3d"0 0" coordsize\x3d"',100," ",100,'"',' stroked\x3d"',!a,'"',' path\x3d"');for(var e=null,f=null,l=null,p=null,k=0;k<this.currentPath_.length;k++){var g=this.currentPath_[k];switch(g.type){case "moveTo":b.push(" m ",h(g.x),",",h(g.y));break;case "lineTo":b.push(" l ",h(g.x),",",h(g.y));break;case "close":b.push(" x ");g=null;break;case "bezierCurveTo":b.push(" c ",
h(g.cp1x),",",h(g.cp1y),",",h(g.cp2x),",",h(g.cp2y),",",h(g.x),",",h(g.y));break;case "at":case "wa":b.push(" ",g.type," ",h(g.x-this.arcScaleX_*g.radius),",",h(g.y-this.arcScaleY_*g.radius)," ",h(g.x+this.arcScaleX_*g.radius),",",h(g.y+this.arcScaleY_*g.radius)," ",h(g.xStart),",",h(g.yStart)," ",h(g.xEnd),",",h(g.yEnd))}if(g){if(null==e||g.x<e)e=g.x;if(null==l||g.x>l)l=g.x;if(null==f||g.y<f)f=g.y;if(null==p||g.y>p)p=g.y}}b.push(' "\x3e');if(a)if("object"==typeof this.fillStyle){var d=this.fillStyle,
m=0,g=c=a=0,n=1;"gradient"==d.type_?(m=d.x1_/this.arcScaleX_,e=d.y1_/this.arcScaleY_,k=this.getCoords_(d.x0_/this.arcScaleX_,d.y0_/this.arcScaleY_),m=this.getCoords_(m,e),m=180*Math.atan2(m.x-k.x,m.y-k.y)/Math.PI,0>m&&(m+=360),1E-6>m&&(m=0)):(k=this.getCoords_(d.x0_,d.y0_),g=l-e,n=p-f,a=(k.x-e)/g,c=(k.y-f)/n,g/=10*this.arcScaleX_,n/=10*this.arcScaleY_,k=t.max(g,n),g=2*d.r0_/k,n=2*d.r1_/k-g);e=d.colors_;e.sort(function(a,b){return a.offset-b.offset});for(var f=e.length,p=e[0].color,l=e[f-1].color,
q=e[0].alpha*this.globalAlpha,r=e[f-1].alpha*this.globalAlpha,u=[],k=0;k<f;k++){var w=e[k];u.push(w.offset*n+g+" "+w.color)}b.push('\x3cg_vml_:fill type\x3d"',d.type_,'"',' method\x3d"none" focus\x3d"100%"',' color\x3d"',p,'"',' color2\x3d"',l,'"',' colors\x3d"',u.join(","),'"',' opacity\x3d"',r,'"',' g_o_:opacity2\x3d"',q,'"',' angle\x3d"',m,'"',' focusposition\x3d"',a,",",c,'" /\x3e')}else b.push('\x3cg_vml_:fill color\x3d"',d,'" opacity\x3d"',c,'" /\x3e');else a=this.lineScale_*this.lineWidth,
1>a&&(c*=a),b.push("\x3cg_vml_:stroke",' opacity\x3d"',c,'"',' joinstyle\x3d"',this.lineJoin,'"',' miterlimit\x3d"',this.miterLimit,'"',' endcap\x3d"',N(this.lineCap),'"',' weight\x3d"',a,'px"',' color\x3d"',d,'" /\x3e');b.push("\x3c/g_vml_:shape\x3e");this.element_.insertAdjacentHTML("beforeEnd",b.join(""))};f.fill=function(){this.stroke(!0)};f.closePath=function(){this.currentPath_.push({type:"close"})};f.getCoords_=function(a,b){var c=this.m_;return{x:10*(a*c[0][0]+b*c[1][0]+c[2][0])-5,y:10*(a*
c[0][1]+b*c[1][1]+c[2][1])-5}};f.save=function(){var a={};D(this,a);this.aStack_.push(a);this.mStack_.push(this.m_);this.m_=q(z(),this.m_)};f.restore=function(){D(this.aStack_.pop(),this);this.m_=this.mStack_.pop()};f.translate=function(a,b){r(this,q([[1,0,0],[0,1,0],[a,b,1]],this.m_),!1)};f.rotate=function(a){var b=B(a);a=A(a);r(this,q([[b,a,0],[-a,b,0],[0,0,1]],this.m_),!1)};f.scale=function(a,b){this.arcScaleX_*=a;this.arcScaleY_*=b;r(this,q([[a,0,0],[0,b,0],[0,0,1]],this.m_),!0)};f.transform=
function(a,b,c,d,e,f){r(this,q([[a,b,0],[c,d,0],[e,f,1]],this.m_),!0)};f.setTransform=function(a,b,c,d,e,f){r(this,[[a,b,0],[c,d,0],[e,f,1]],!0)};f.clip=function(){};f.arcTo=function(){};f.createPattern=function(){return new H};u.prototype.addColorStop=function(a,b){b=E(b);this.colors_.push({offset:a,color:b.color,alpha:b.alpha})};G_vmlCanvasManager=I;CanvasRenderingContext2D=y;CanvasGradient=u;CanvasPattern=H}();Class("VUI.map.FlightInfoMapPanel",{Implements:[Options,Events],InjectAs:{name:"FlightInfoMapPanel",singleton:!0},options:{maps:{EUROPE:{src:"Europe(-20,39,50,59).png",width:270,height:120,visibleWidth:270,longLeft:-20,longRight:50,latBottom:39,latTop:59},SHORTHAUL:{src:"ShortHaul(60,-50,300,0).png",width:496,height:120,visibleWidth:270,longLeft:60,longRight:300,latBottom:-50,latTop:0},DOMESTIC:{src:"NewZealand(152,-48,200,-33).png",width:290,height:120,visibleWidth:270,longLeft:152,longRight:200,
latBottom:-48,latTop:-33},LONGHAUL:{src:"LongHaul(-180,-58,500,72).png",width:460,height:120,visibleWidth:270,longLeft:-180,longRight:500,latBottom:-58,latTop:72}}},image:null,initialize:function(a){this.setOptions(a)},drawMap:function(a,b){var c=this.findBestMap(b);this.drawMapWithMapAndLocations(c,a,b)},drawMapWithMapAndLocations:function(a,b,c){var d=this;Browser.ie&&void 0===b.getContext&&"undefined"!==typeof G_vmlCanvasManager&&(b=G_vmlCanvasManager.initElement(b));if(b.getContext){var e=new Image;
e.onload=function(){d.onMapImageLoad.pass([b,a,c,e],d).delay(Browser.ie8?200:0)};e.src=ctx+"/vui/nz/co/airnz/vui/flightinfo/img/"+a.src}},onMapImageLoad:function(a,b,c,d){var e=a.getContext("2d");e.lineWidth=1;e.clearRect(0,0,a.width,a.height);a.setStyles({height:b.height,width:b.visibleWidth});a=this.getPixelPositions(b,c);var f=this.getCenterX(a);c=b.visibleWidth;var g=b.width;b=b.height;f=c-f-c/2;0<f&&(f=0);var h=c-f;h>g&&(h=g,f=c-g);e.translate(f,0);e.drawImage(d,0,0,h,b,0,0,h,b);this.drawRoute(e,
a)},findBestMap:function(a){var b=this,c=[];Object.each(b.options.maps,function(d){b.contains(d,a)&&c.push(d)});return 0===c.length?b.options.maps.LONGHAUL:b.getSmallestMap(c)},getSmallestMap:function(a){var b=this,c=null,d=null;a.each(function(a){if(null===c)c=a,d=b.getArea(a);else{var f=b.getArea(a);d>f&&(d=f,c=a)}});return c},getArea:function(a){var b=this.getDistance(a.latTop,a.longLeft,a.latTop,a.longRight);a=this.getDistance(a.latTop,a.longLeft,a.latBottom,a.longLeft);return b*a},getDistance:function(a,
b,c,d){var e=c-a;b=d-b;a=Math.sin(e/2)*Math.sin(e/2)+Math.cos(a)*Math.cos(c)*Math.sin(b/2)*Math.sin(b/2);return(12756.274*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))).toFixed(3)},contains:function(a,b){var c=this.getBounds(a,b);return a.height>c.latTop&&0<c.latTop&&0<c.latBottom&&a.height>c.latBottom&&0<c.longLeft&&a.width>c.longLeft&&0<c.longRight&&a.width>c.longRight},getBounds:function(a,b){var c=this,d=b[0].longitude,e=b[0].latitude,f=b[0].longitude,g=b[0].latitude;b.each(function(a){c.validateLongLeft(d,
a.longitude)&&(d=a.longitude);c.validateLongRight(f,a.longitude)&&(f=a.longitude);e>a.latitude&&(e=a.latitude);g<a.latitude&&(g=a.latitude)});var h=c.getPixelPositions(a,[{longitude:d,latitude:e},{longitude:f,latitude:g}]),k=h[0].x<h[1].x,l=k?h[0]:h[1],h=k?h[1]:h[0];return{longLeft:l.x,latTop:l.y,longRight:h.x,latBottom:h.y}},validateLongLeft:function(a,b){return 0>a&&0>b||0<a&&0<b?a<b:a>b},validateLongRight:function(a,b){return 0>a&&0>b||0<a&&0<b?a>b:a<b},getCenterX:function(a){var b=0,c=0;a.each(function(a){a=
a.x;if(0===b||a<b)b=a;if(0===c||a>c)c=a});return b+(c-b)/2},drawRoute:function(a,b){this.drawAirports(a,b);for(var c=null,d=0;d<b.length;d++){var e=b[d];this.drawCurvedLine(a,c,e);this.drawShadow(a,c,e);c=e}},drawAirports:function(a,b){a.beginPath();b.each(function(b){a.moveTo(b.x,b.y);a.arc(b.x,b.y,1,0,2*Math.PI,!0)});a.fill();a.stroke();a.closePath()},drawCurvedLine:function(a,b,c){b&&(a.beginPath(),a.moveTo(b.x,b.y),a.quadraticCurveTo((b.x+c.x)/2,(b.y+c.y)/2-.6*Math.sqrt(Math.abs(Math.pow(b.x-
c.x,2)),Math.abs(Math.pow(b.y-c.y,2))),c.x,c.y),a.stroke(),a.closePath())},drawShadow:function(a,b,c){a.save();a.beginPath();a.strokeStyle="#666";a.globalAlpha=.1;b&&a.moveTo(b.x,b.y);a.lineTo(c.x,c.y);a.stroke();a.closePath();a.restore()},getPixelPositions:function(a,b){var c=this,d=null,e=[];b.each(function(b){d=c.getPixelPosition(a,b.latitude,b.longitude,d);e.push(d)});var f=360*a.width/(a.longRight-a.longLeft),g=0;e.some(function(b){b=b.x;return b>a.width?(g=0-f,!0):0>b?(g=f,!0):!1});0!==g&&e.each(function(a){a.x+=
g});return e},getPixelPosition:function(a,b,c,d){return this.convertGeoToPixel(a,this.toDegrees(b),this.toDegrees(c),d)},toDegrees:function(a){return 360*a/(2*Math.PI)},convertGeoToPixel:function(a,b,c,d){var e=a.width,f=a.longLeft,g=a.longRight-f,h=a.latBottom*Math.PI/180;c=e/g*(c-f);b=b*Math.PI/180;f=e/g*360/(2*Math.PI);a=a.height-(f/2*Math.log((1+Math.sin(b))/(1-Math.sin(b)))-f/2*Math.log((1+Math.sin(h))/(1-Math.sin(h))));g=360*e/g;0>c?c+=g:c>e?c-=g:d&&(d=c-d.x,Math.abs(d)>g/2&&(c=0>d?c+g:c-g));
return{x:c,y:a}}});__registerModule("/nz/co/airnz/vui/flightinfo/html/flightinfo.template.html",function(k,g){Object.defineProperty(g,"__esModule",{value:!0});var h={FlightInfoPopupTable:function(e,f,c){this.b(c=c||"");this.b("\n"+c);this.b("\x3cdiv");this.b("\n"+c);this.b('    class\x3d"');this.s(this.f("hasServiceClass",e,f,1),e,f,1,0,0,"")||this.b("no-serviceclass");this.b('"\x3e');this.b("\n"+c);this.b('    \x3ctable class\x3d"styled style2 flightitinerary-table"\x3e');this.b("\n"+c);this.b("        \x3cthead\x3e");
this.b("\n"+c);this.b("            \x3ctr\x3e");this.b("\n"+c);this.b('                \x3cth class\x3d"flightinfo" colspan\x3d"2" scope\x3d"col"\x3eFlight Info\x3c/th\x3e');this.b("\n"+c);this.b('                \x3cth class\x3d"dep" scope\x3d"col"\x3eDeparts\x3c/th\x3e');this.b("\n"+c);this.b('                \x3cth class\x3d"arr" scope\x3d"col"\x3eArrives\x3c/th\x3e');this.b("\n"+c);this.b('                \x3cth class\x3d"duration" scope\x3d"col"\x3eDuration\x3c/th\x3e');this.b("\n"+c);this.b('                \x3cth class\x3d"serviceclass" scope\x3d"col"\x3eService class\x3c/th\x3e');
this.b("\n"+c);this.b("            \x3c/tr\x3e");this.b("\n"+c);this.b("        \x3c/thead\x3e");this.b("\n"+c);this.b("        \x3ctbody\x3e");this.b("\n"+c);this.s(this.f("flights",e,f,1),e,f,0,568,2500,"{{ }}")&&(this.rs(e,f,function(d,b,a){a.b('            \x3ctr class\x3d"');a.b(a.v(a.f("themeCode",d,b,0)));a.b('" data-flightnumber\x3d"');a.b(a.v(a.f("flightNumber",d,b,0)));a.b('" data-automation-origin\x3d"');a.b(a.v(a.d("origin.airportCode",d,b,0)));a.b('" data-automation-destination\x3d"');
a.b(a.v(a.d("destination.airportCode",d,b,0)));a.b('"\x3e');a.b("\n"+c);a.b('                \x3ctd class\x3d"airline" title\x3d" ');a.b(a.v(a.f("brandingName",d,b,0)));a.b(' " aria-hidden\x3d"true"\x3e\x3cimg alt\x3d"');a.b(a.v(a.f("brandingName",d,b,0)));a.b('"');a.b("\n"+c);a.b('                    src\x3d"');a.b(a.v(a.f("applicationcontext",d,b,0)));a.b("/vui/nz/co/airnz/vdata/img/branding/");a.b(a.v(a.f("imageType",d,b,0)));a.b("/");a.b(a.v(a.f("brandingCode",d,b,0)));a.b('.png" /\x3e\x3c/td\x3e');
a.b("\n"+c);a.b('                \x3ctd class\x3d"flightinfo"\x3e\x3cdiv\x3e\x3cstrong\x3e');a.b(a.v(a.d("origin.airportName",d,b,0)));a.b(" to ");a.b(a.v(a.d("destination.airportName",d,b,0)));a.b("\x3c/strong\x3e");a.b("\n"+c);a.b("                    ");a.b(a.v(a.f("flightNumber",d,b,0)));a.b(' \x3cspan class\x3d"aircraft-type"\x3e');a.b(a.v(a.f("aircraftType",d,b,0)));a.b("\x3c/span\x3e");a.b("\n"+c);a.b("                    ");a.b(a.v(a.f("operatorDesc",d,b,0)));a.b(" \x3cbr /\x3e \x3cspan\x3e\x3cstrong\x3e");
a.b(a.v(a.f("stopOverDetail",d,b,0)));a.b("\x3c/strong\x3e\x3c/span\x3e");a.b("\n"+c);a.b("                    \x3c/div\x3e");a.b("\n"+c);a.b("                \x3c/td\x3e");a.b("\n"+c);a.b('                \x3ctd class\x3d"dep"\x3e\x3cspan class\x3d"sr-only"\x3e');a.b(a.v(a.f("departureDate",d,b,0)));a.b(" ");a.b(a.v(a.f("departureTime",d,b,0)));a.b('\x3c/span\x3e\x3cdiv aria-hidden\x3d"true"\x3e\x3cstrong\x3e');a.b(a.v(a.f("departureTime",d,b,0)));a.b("\x3c/strong\x3e\x3cbr /\x3e");a.b(a.v(a.f("departureDate",
d,b,0)));a.b("\x3c/div\x3e\x3c/td\x3e");a.b("\n"+c);a.b('                \x3ctd class\x3d"arr"\x3e\x3cspan class\x3d"sr-only"\x3e');a.b(a.v(a.f("arrivalDate",d,b,0)));a.b(" ");a.b(a.v(a.f("arrivalTime",d,b,0)));a.b('\x3c/span\x3e\x3cdiv aria-hidden\x3d"true"\x3e\x3cstrong\x3e');a.b(a.v(a.f("arrivalTime",d,b,0)));a.b("\x3c/strong\x3e\x3cbr /\x3e");a.b(a.v(a.f("arrivalDate",d,b,0)));a.b("\x3c/div\x3e\x3c/td\x3e");a.b("\n"+c);a.b('                \x3ctd class\x3d"duration"\x3e\x3cdiv\x3e\x3cstrong\x3e');
a.b(a.t(a.f("duration",d,b,0)));a.b("\x3c/strong\x3e\x3c/div\x3e\x3c/td\x3e");a.b("\n"+c);a.b('                \x3ctd class\x3d"serviceclass"\x3e');a.b("\n"+c);a.b('                    \x3cdiv\x3e\x3cstrong class\x3d"serviceclass"\x3e');a.b(a.v(a.f("localizedServiceClass",d,b,0)));a.b('\x3c/strong\x3e\x3cspan class\x3d"bookingclasscode"\x3e(');a.b(a.v(a.f("resBookDesigCode",d,b,0)));a.b(")\x3c/span\x3e\x3c/div\x3e");a.b("\n"+c);a.b("                \x3c/td\x3e");a.b("\n"+c);a.b("            \x3c/tr\x3e");
a.b("\n"+c);a.s(a.f("transitInterval",d,b,1),d,b,0,2058,2479,"{{ }}")&&(a.rs(d,b,function(a,d,b){b.b("            \x3ctr\x3e");b.b("\n"+c);b.b('                \x3ctd class\x3d"flighttransit" colspan\x3d"6"\x3e\x3cdiv\x3e\x3cdiv class\x3d"flighttransit-data"\x3e\x3cstrong\x3eTransit\x3c/strong\x3e ');b.b(b.v(b.d("destination.airportCityName",a,d,0)));b.b(" ");b.b(b.t(b.f("transitInterval",a,d,0)));b.b("\x3c/div\x3e");b.s(b.f("airportTransferRequired",a,d,1),a,d,0,2279,2409,"{{ }}")&&(b.rs(a,d,function(a,
b,c){c.b('\x3cdiv class\x3d"flighttransit-connection"\x3e\x3cdiv class\x3d"flighttransit-alerticon"\x3e\x3c/div\x3eNext flight leaves from a different airport\x3c/div\x3e')}),a.pop());b.b("\x3c/div\x3e\x3c/td\x3e");b.b("\n"+c);b.b("            \x3c/tr\x3e");b.b("\n")}),d.pop())}),e.pop());this.b("        \x3c/tbody\x3e");this.b("\n"+c);this.b("    \x3c/table\x3e");this.b("\n"+c);this.s(this.f("showMap",e,f,1),e,f,1,0,0,"")||(this.b('    \x3cdiv class\x3d"flightitinerary-foot"\x3e'),this.b(this.t(this.f("flightitineraryFootMessage",
e,f,0))),this.b("\x3c/div\x3e"),this.b("\n"));this.s(this.f("showMap",e,f,1),e,f,0,2670,2703,"{{ }}")&&(this.rs(e,f,function(c,b,a){a.b(a.rp("FlightInfoMap",c,b,"        "))}),e.pop());this.b("\x3c/div\x3e");this.b("\n");return this.fl()},FlightInfoMap:function(e,f,c){this.b(c=c||"");this.b('\x3cdiv class\x3d"flightinfomap"\x3e');this.b("\n"+c);this.b('    \x3cdiv class\x3d"flightitinerary-foot"\x3e');this.b(this.t(this.f("flightitineraryFootMessage",e,f,0)));this.b("\x3c/div\x3e");this.b("\n"+c);
this.b('    \x3ccanvas id\x3d"flightinfomap-canvas" class\x3d"flightinfomap-canvas" width\x3d"269" height\x3d"120"\x3e');this.b("\n"+c);this.b("    \x3c/canvas\x3e");this.b("\n"+c);this.b("\x3c/div\x3e");this.b("\n"+c);this.b("\n");return this.fl()}};Object.place("templates.vui.flightinfo.flightinfo.hoganTemplates",h);g.default=h});__registerModule("/nz/co/airnz/vui/itinerary/itinerary.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"itinerary.panel.label":"Itinerary","itinerary.panel.allflights.label":"All flights","itinerary.flight.operatedby":"Flight operated by\x3cbr /\x3e\x3cstrong\x3e{{brandingName}}\x3c/strong\x3e","itinerary.flights.operatedby":"Flights operated by\x3cbr /\x3e\x3cstrong\x3e{{brandingName}}\x3c/strong\x3e","itinerary.flights.operatedby.multiple":"Flights operated by multiple airlines",
"itinerary.viewfullitinerary":"View full itinerary","itinerary.panel.hotel.label":"Hotel","itinerary.panel.hotel.checkin":"Check in","itinerary.panel.hotel.checkout":"Check out","itinerarypanel.carrental":"Car Rental","itinerarypanel.pickup":"Pick up","itinerarypanel.dropoff":"Drop off","itinerarypanel.outbound":"Outbound flight","itinerarypanel.return":"Inbound flight","itinerarypanel.journey":"Flight {0}","itinerarypanel.numbertrains":"{{numberOfTrains}} trains","itinerarypanel.numbertrain":"{{numberOfTrains}} train",
"itinerarypanel.originanddest":"{{origin}} to {{dest}}","itinerarypanel.numberflights":"{{numberOfFlights}} flights","itinerarypanel.numberflight":"{{numberOfFlights}} flight","fullitinerarypanel.title":"Your itinerary","fullitinerarypanel.citypair":"{{origin}} to {{destination}}","fullitinerarypanel.vehicle.title":"Your Car Rental","fullitinerarypanel.hotel.title":"Your Hotel Booking","fullitinerarypanel.vehicle.pickup.label":"Pick up","fullitinerarypanel.vehicle.dropoff.label":"Drop off","fullitinerarypanel.hotel.checkin.label":"Check in",
"fullitinerarypanel.hotel.roomtype.label":"Room Type","fullitinerarypanel.hotel.checkout.label":"Check out","fullitinerarypanel.hotel.guests.label":"Guests","fullitinerarypanel.hotel.rooms.label":"Rooms","country.entry.requirements.heading":"Essential travel documents","country.entry.requirements.bc.text.important.title":"\x3cp\x3e\x3cstrong\x3eIMPORTANT NOTICE\x3c/strong\x3e\x3cbr /\x3e","country.entry.requirements.bc.text.US_ENTRY":'\x3cp\x3eAll travellers entering or transiting the USA under the \x3ca href\x3d"http://www.airnewzealand.co.nz/us-entry-and-transit-requirements" class\x3d"newWindow wspec_wide" data-rel\x3d"VisaInformationWindow"\x3eVisa Waiver Program\x3c/a\x3e must be cleared by US authorities no later than 72 hours before departure. Apply now using the official \x3ca href\x3d"https://esta.cbp.dhs.gov/esta" class\x3d"newWindow wspec_wide" data-rel\x3d"VisaInformationWindow"\x3e Electronic System for Travel Authorisation\x3c/a\x3e (ESTA) system.',
"country.entry.requirements.bc.text.CA_ENTRY":'\x3cp\x3eAll \x3ca href\x3d"http://www.airnewzealand.co.nz/canada-entry-and-transit-requirements" class\x3d"newWindow wspec_wide" data-rel\x3d"VisaInformationWindow"\x3evisa-exempt foreign nationals\x3c/a\x3e entering or transiting Canada must obtain an Electronic Travel Authorisation (ETA) prior to travel. Apply now using the official \x3ca href\x3d"http://www.cic.gc.ca/english/visit/eta-start.asp" class\x3d"newWindow wspec_wide" data-rel\x3d"CAVisaInformationWindow"\x3eElectronic Travel Authorisation\x3c/a\x3e (eTA) system.',
"country.entry.requirements.bc.text.GENERAL_ENTRY":"","country.entry.requirements.text.GENERAL_ENTRY":'\x3cp\x3eCheck \x3ca href\x3d"http://www.airnewzealand.co.nz/timatic-country-entry-requirements" class\x3d"newWindow wspec_wide" data-rel\x3d"entryrequirements"\x3ecountry entry requirements\x3c/a\x3e for your destination and return travel.\x3c/p\x3e',"country.entry.requirements.text.US_ENTRY":'\x3cp\x3eCheck \x3ca href\x3d"http://www.airnewzealand.co.nz/us-entry-and-transit-requirements" class\x3d"newWindow wspec_wide" data-rel\x3d"usaentryrequirements"\x3eUSA entry and transit requirements\x3c/a\x3e as well as \x3ca href\x3d"http://www.airnewzealand.co.nz/timatic-country-entry-requirements" class\x3d"newWindow wspec_wide" data-rel\x3d"entryrequirements"\x3especific requirements for your nationality\x3c/a\x3e.\x3c/p\x3e',
"country.entry.requirements.text.CA_ENTRY":'\x3cp\x3eSee important information on \x3ca href\x3d"http://www.airnewzealand.co.nz/canada-entry-and-transit-requirements" class\x3d"newWindow wspec_wide" data-rel\x3d"caentryrequirements"\x3eCanada entry and transit requirements\x3c/a\x3e.\x3c/p\x3e',"country.entry.requirements.text.SOUTH_AFRICA_ENTRY":'\x3cp\x3eSee important \x3ca href\x3d"http://www.airnewzealand.co.nz/south-africa-entry-and-transit-requirements" class\x3d"newWindow wspec_wide" data-rel\x3d"zafentryrequirements"\x3edocument requirements\x3c/a\x3e for passengers under 18 years old travelling to and from South Africa',
"country.entry.requirements.text.SHANGHAI_TRANSIT":'\x3cp\x3eSee important information on \x3ca href\x3d"http://www.airnewzealand.co.nz/transiting-via-shanghai" class\x3d"newWindow wspec_wide" data-rel\x3d"shanghaitransitrequirements"\x3eShanghai transit requirements\x3c/a\x3e.\x3c/p\x3e',"country.entry.requirements.text.NZ_ENTRY_OR_TRANSIT":'\x3cp\x3eSee important information on \x3ca href\x3d"http://www.airnewzealand.co.nz/new-zealand-entry-and-transit-requirements" class\x3d"newWindow wspec_wide" data-rel\x3d"nztransitrequirements"\x3eNZ entry and transit requirements\x3c/a\x3e.\x3c/p\x3e',
"country.entry.requirements.text.NZ_TRANSIT":'\x3cp\x3eSee important information on \x3ca href\x3d"http://www.airnewzealand.co.nz/new-zealand-entry-and-transit-requirements" class\x3d"newWindow wspec_wide" data-rel\x3d"nztransitrequirements"\x3eNZ entry and transit requirements\x3c/a\x3e.\x3c/p\x3e',"country.entry.requirements.pt.text":"\x3cp\x3ePassports must be valid for the duration of travel and for certain destinations some months beyond your intended stay. Depending on your passport nationality and destination, additional requirements may include visas, return or onward tickets and sufficient funds for your stay.\x3c/p\x3e",
"country.entry.requirements.pt.transit.text":"\x3cp\x3ePassports are required for return journeys that transit via New Zealand. Depending on your passport nationality and destination, additional requirements may include visas, return or onward tickets and sufficient funds for your stay.\x3c/p\x3e","itinerary.information.message.VIA_US_OR_ASIA":"\x3cstrong\x3eImportant notice\x3c/strong\x3e: Journeys shown below may be via the \x3cstrong\x3eUSA\x3c/strong\x3e or \x3cstrong\x3eAsia\x3c/strong\x3e. Please check flight details below before making your selection.",
"itinerary.information.message.MULTIPLE_AIRPORTS_IN_CITY":"\x3cstrong\x3ePlease note\x3c/strong\x3e: flight options listed below use more than one airport in {0}. Please check details before making your selection.","itinerary.information.message.multiple.MULTIPLE_AIRPORTS_IN_CITY":"\x3cstrong\x3ePlease note\x3c/strong\x3e: flight options listed below use more than one airport in {0} and {1}. Please check details before making your selection.","itinerary.information.message.AIRPORT_TRANSFER_REQUIRED":'\x3cspan class\x3d"airport-transfer-required-message"\x3e\x3cstrong\x3eImportant information\x3c/strong\x3e: This itinerary requires a transfer between airports at \x3cstrong\x3e{0}\x3c/strong\x3e. Please check flight details below.\x3c/span\x3e',
"itinerary.information.message.multiple.AIRPORT_TRANSFER_REQUIRED":'\x3cspan class\x3d"airport-transfer-required-message"\x3e\x3cstrong\x3eImportant information\x3c/strong\x3e: This itinerary requires a transfer between airports at \x3cstrong\x3e{0}\x3c/strong\x3e and/or \x3cstrong\x3e{1}\x3c/strong\x3e. Please check flight details below.\x3c/span\x3e'};Locale.define("en-NZ","vui",{itinerary:b});a.default=b});Class("VUI.ITINERARY.ItineraryPanel",{Implements:[Options,Events,VUI.Templates],Binds:["_onCollapsibleStateChange","render"],Optionally:["FlightInfoPopupController"],options:{appContext:null,titleKey:"itinerary.panel.label",viewFullItineraryLinkSelector:".viewfullitinerary",containerId:"itinerarypanel-container",preloadflights:!1,boxOptions:{collapsible:!1,containerAttributes:{"class":"box-blue-wh itinerary-panel"},precollapse:!1,cookieRemember:!0,cookieUniqueIdent:"-itinerarypanel"},flightInfoPopupOptions:{url:null,
selector:"td.duration"}},itineraryPanelElement:null,flightInfoPopup:null,itineraryPanelData:null,initialize:function(a){this.setOptions(a);this.loadTemplates({componentId:"vui.itinerary.itinerarypanel"});if(this.templates.itineraryPanel&&(this.container=document.id(this.options.containerId))){a=Locale.get("vui.itinerary")["itinerary.panel.label"];if(this.options.titleKey){var c=Locale.get("vui.itinerary")[this.options.titleKey];c&&(a=c)}this.itineraryPanelElement=this.templates.itineraryPanel({title:a});
this.itineraryPanelElement.inject(this.container);this.initCollapsible();this.initFlightInfoPopup();this.addEvent("change",this.render)}},toElement:function(){return this.itineraryPanelElement},setItineraryPanelData:function(a){this.itineraryPanelData=a;this.fireEvent("change",[this.itineraryPanelData])},getItineraryPanelData:function(){return this.itineraryPanelData},initCollapsible:function(){var a=new VUI.CollapsibleBox(this.itineraryPanelElement,this.options.boxOptions);a.addEvent("collapsibleStateChange",
this._onCollapsibleStateChange);a.toElement().inject(this.container)},_onCollapsibleStateChange:function(){this.fireEvent("collapsibleStateChange")},initFlightInfoPopup:function(){var a=this;a.flightInfoPopup||(a.flightInfoPopup=a.FlightInfoPopupController.createFlightInfoPopup(a.options.flightInfoPopupOptions),a.flightInfoPopup.initMouseHandlers(a.itineraryPanelElement,a.options.flightInfoPopupOptions.selector),a.addEvent("viewChange",function(){!0===a.options.preloadflights&&a.itineraryPanelElement.getElements(a.options.flightInfoPopupOptions.selector).each(function(c){a.flightInfoPopup.fetchFlightInfoData(c)})}))},
render:function(a){var c=this,e=a.market,d=c.itineraryPanelElement.getElement(".itinerarypanel-content");d.getChildren().destroy();a.items.each(function(a){a.appContext=c.options.appContext;a.market=e.toLowerCase();a.brandImageSize="long_haul"===a.market?"xs":"l";if(a.numberOfFlights){var b="itinerarypanel.numberflight";1<a.numberOfFlights.toInt()&&(b+="s");a.flightCountText=Locale.get("vui.itinerary")[b];a.flightCountText=a.flightCountText.substitute({numberOfFlights:a.numberOfFlights});b="";a.numberOfTrains&&
0<a.numberOfTrains.toInt()&&(b="itinerarypanel.numbertrain",1<a.numberOfTrains.toInt()&&(b+="s"),b=Locale.get("vui.itinerary")[b],b=" "+b.substitute({numberOfTrains:a.numberOfTrains}));a.flightCountText+=b}a.numberOfFlights&&!0===a.brandingInternational&&(a.hasMultipleFlights=1<a.numberOfFlights.toInt())});c.templates.itineraryPanelContent(a).inject(d);c.fireEvent("viewChange")}});Class("VUI.ITINERARY.FullItineraryPanel",{Implements:[Events,VUI.Templates],Depends:["FlightInfoPanelFactory"],Optionally:["ShareItineraryPanel"],InjectAs:{name:"FullItineraryPanel",singleton:!0},initialize:function(){this.loadTemplates({componentId:"vui.itinerary.itinerarypanelfull"})},create:function(a){var b=this;a.journeyLegs=Object.mtValues(a.journeyLegs);var c=b.templates.fullItineraryPanel(a);b.ShareItineraryPanel&&b.ShareItineraryPanel.templates.FULLITINERARY_SHARE_OPTIONS&&(b.ShareItineraryPanel.createShareOptionsContent(b.ShareItineraryPanel.templates.FULLITINERARY_SHARE_OPTIONS).inject(c.getElement(".shareitinerary-panel-container")),
b.ShareItineraryPanel.isShareItineraryEnabled()||(c.getElement(".shareitinerary-panel-container .shareoption_note").hide(),c.getElement(".shareitinerary-panel-container .shareoption_note").setProperty("aria-hidden",!0)));Object.each(a.journeyLegs,function(a){var d=c.getElement("#fullitinerarypanel-journeyleg-"+a.journeyLegId+" .flightinfo-container");b.FlightInfoPanelFactory.createFlightInfoPanel(a.flightInfo,!1).inject(d,"top")});if(a.transitInfoMessageKeys){var e=c.getElement(".entry-transit-info"),
d="",f=Locale.get("vui.itinerary");a.transitInfoMessageKeys.each(function(a){d+=f[a]});e.set("html",d)}return c}});Class("VUI.ITINERARY.FullItineraryPageController",{Implements:[Events,Options],Depends:["FullItineraryPanel","ItineraryPanelDataSource"],Optionally:[],Binds:[],InjectAs:{name:"FullItineraryPageController",singleton:!0},options:{containerId:"fullitinerarypage"},initialize:function(b){var a=this;a.setOptions(b);a.ItineraryPanelDataSource.getFullItineraryPanelData(function(b){a.fullItineraryPanel=a.FullItineraryPanel.create(b);$(a.fullItineraryPanel).inject($(a.options.containerId));a.fireEvent("itineraryPanelDisplayed")})}});Class("VUI.ITINERARY.FullItineraryPanelController",{Implements:[Events,Options],Depends:["FullItineraryPanel","ItineraryPanelDataSource","OverlayPanelController"],Optionally:["ItineraryPanel","ShareItineraryPanel"],Binds:["_onClickViewFullItineraryLink"],InjectAs:{name:"FullItineraryPanelController",singleton:!0},options:{prefetchData:!1},initialize:function(a){this.setOptions(a);this.ItineraryPanel&&(a=this.ItineraryPanel.toElement())&&a.addEvent("click:relay(.viewfullitinerary a)",this._onClickViewFullItineraryLink);
!0===this.options.prefetchData&&this.ItineraryPanelDataSource.getFullItineraryPanelData()},_onClickViewFullItineraryLink:function(){var a=this,c=a.ShareItineraryPanel.isShareItineraryEnabled();a.fullItineraryPanelOverlay||(a.fullItineraryPanelOverlay=a.OverlayPanelController.create({showMask:!0,showLoading:!1,styles:{width:"800px",height:"700px"},relativeTop:100,type:1}));c&&!a.options.prefetchData&&a.fullItineraryPanelOverlay.showLoading();a.fullItineraryPanel&&a.fullItineraryPanel.destroy();a.ItineraryPanelDataSource.getFullItineraryPanelData(function(b){a.ShareItineraryPanel&&
c?a.options.prefetchData&&a.ShareItineraryPanel.shareOptionsData?a.doShowFullItineraryPanel(b):a.ShareItineraryPanel.getShareOptionsData(!1,function(){a.doShowFullItineraryPanel(b)}):a.doShowFullItineraryPanel(b)})},doShowFullItineraryPanel:function(a){this.fullItineraryPanel=this.FullItineraryPanel.create(a);this.fullItineraryPanelOverlay.show(this.fullItineraryPanel)}});Class("VUI.ITINERARY.ItineraryPanelDataSource",{Implements:[Options,Events],Binds:["_onItineraryPanelData","_onFullItineraryPanelData"],Depends:["JsonEventRepeater"],options:{getFullItineraryPanelDataUrl:""},fullItineraryPanelData:null,InjectAs:{name:"ItineraryPanelDataSource",singleton:!0},initialize:function(a){this.setOptions(a);this.JsonEventRepeater.addEvents({"success-itinerary-panel":this._onItineraryPanelData,"success-full-itinerary-panel":this._onFullItineraryPanelData})},getFullItineraryPanelData:function(a){var b=
this;b.fullItineraryPanelData?a&&a(b.fullItineraryPanelData):b.postRequest({},function(c){b.setFullItineraryPanelData(c[0].data);a&&a(c[0].data)})},postRequest:function(a,b){(new MtRequest.JSON({url:this.options.getFullItineraryPanelDataUrl,noCache:!0,method:"post",async:!1,onSuccess:function(a){b&&b(a)}})).post(a)},setItineraryPanelData:function(a){this.itineraryPanelData=a;this.fullItineraryPanelData=null;this.fireEvent("itineraryPanelDataUpdate",[a])},setFullItineraryPanelData:function(a){this.fullItineraryPanelData=
a;this.fireEvent("fullItineraryPanelDataUpdate",[a])},_onItineraryPanelData:function(a){this.setItineraryPanelData(a)},_onFullItineraryPanelData:function(a){this.setFullItineraryPanelData(a.data)}});__registerModule("/nz/co/airnz/vui/itinerary/html/itinerarypanel.template.html",function(g,e){Object.defineProperty(e,"__esModule",{value:!0});var f={itineraryPanel:function(b,d,a){this.b(a=a||"");this.b("\n"+a);this.b('\x3cdiv id\x3d"itinerary-panel" title\x3d"');this.b(this.v(this.f("title",b,d,0)));this.b('"');this.b("\n"+a);this.b('    class\x3d"itinerary-panel"\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"itinerarypanel-content"\x3e\x3c/div\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"viewfullitinerary"\x3e');
this.b("\n"+a);this.b('        \x3ca class\x3d"clickable" href\x3d"#"\x3eView full itinerary\x3c/a\x3e');this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\x3c/div\x3e");this.b("\n");return this.fl()},itineraryPanelContent:function(b,d,a){this.b(a=a||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+a);this.s(this.f("items",b,d,1),b,d,0,29,280,"{{ }}")&&(this.rs(b,d,function(a,b,c){c.s(c.f("hotelName",a,b,1),a,b,0,52,92,"{{ }}")&&(c.rs(a,b,function(a,c,b){b.b(b.rp("hotelCheckin",a,
c,"            "))}),a.pop());c.s(c.f("pickUpDateTime",a,b,1),a,b,0,134,175,"{{ }}")&&(c.rs(a,b,function(a,c,b){b.b(b.rp("vehiclePickup",a,c,"            "))}),a.pop());c.s(c.f("journeyLegId",a,b,1),a,b,0,220,258,"{{ }}")&&(c.rs(a,b,function(a,c,b){b.b(b.rp("journeyLeg",a,c,"            "))}),a.pop())}),b.pop());this.b("\x3c/div\x3e");this.b("\n");return this.fl()},journeyLeg:function(b,d,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"journeyleg itinerary-item"\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"label"\x3e');
this.b(this.v(this.f("label",b,d,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b('    \x3cdiv class\x3d"journey"\x3e');this.b(this.v(this.f("origin",b,d,0)));this.b(" to ");this.b(this.v(this.f("dest",b,d,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b('    \x3cdiv class\x3d"deptime"\x3e');this.b(this.v(this.f("deptDateTime",b,d,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b('    \x3cdiv class\x3d"flightsduration"\x3e');this.b("\n"+a);this.b('        \x3ca id\x3d"flightinfo');this.b(this.v(this.f("journeyLegId",
b,d,0)));this.b("-");this.b(this.v(this.f("itinerarySegmentId",b,d,0)));this.b('"');this.b("\n"+a);this.b('            class\x3d"dashed flightinfo ');this.b(this.v(this.f("themeCode",b,d,0)));this.b('"');this.b("\n"+a);this.b('            flightinfopopup-params\x3d\'"journeyLegId" : "');this.b(this.v(this.f("journeyLegId",b,d,0)));this.b('", "itinerarySegmentId" : "');this.b(this.v(this.f("itinerarySegmentId",b,d,0)));this.b("\"'");this.b("\n"+a);this.b('            flightinfopopup-cacheKey\x3d"');
this.b(this.v(this.f("journeyLegId",b,d,0)));this.b("-");this.b(this.v(this.f("itinerarySegmentId",b,d,0)));this.b('"');this.b("\n"+a);this.b('            flightinfopopup-positionx\x3d"left"\x3e');this.b(this.v(this.f("flightCountText",b,d,0)));this.b(" \x3c/a\x3e\x3cspan");this.b("\n"+a);this.b('            class\x3d"duration"\x3e');this.b(this.v(this.f("duration",b,d,0)));this.b("\x3c/span\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.s(this.f("hasMultipleFlights",b,d,1),b,
d,0,696,1363,"{{ }}")&&(this.rs(b,d,function(b,d,c){c.b('        \x3cdiv class\x3d"flight-operator"\x3e');c.b("\n"+a);c.s(c.f("codeShare",b,d,1),b,d,1,0,0,"")||(c.b('            \x3cdiv class\x3d"airline '),c.b(c.v(c.f("market",b,d,0))),c.b('"\x3e'),c.b("\n"+a),c.b('                \x3cdiv class\x3d"logo"\x3e'),c.b("\n"+a),c.b("                    \x3cimg"),c.b("\n"+a),c.b('                        src\x3d"/'),c.b(c.v(c.f("appContext",b,d,0))),c.b("/vui/nz/co/airnz/vdata/img/branding/"),c.b(c.v(c.f("brandImageSize",
b,d,0))),c.b("/"),c.b(c.v(c.f("brandingCode",b,d,0))),c.b('.png"'),c.b("\n"+a),c.b('                        title\x3d" '),c.b(c.v(c.f("brandingName",b,d,0))),c.b(' " /\x3e'),c.b("\n"+a),c.b("                \x3c/div\x3e"),c.b("\n"+a),c.b("                Flights operated by\x3cbr /\x3e\x3cstrong\x3e"),c.b(c.v(c.f("brandingName",b,d,0))),c.b("\x3c/strong\x3e"),c.b("\n"+a),c.b("            \x3c/div\x3e"),c.b("\n"));c.s(c.f("codeShare",b,d,1),b,d,0,1212,1329,"{{ }}")&&(c.rs(b,d,function(b,c,d){d.b('            \x3cdiv class\x3d"codeshare-message"\x3e');
d.b("\n"+a);d.b("                Flights operated by multiple airlines\x3c/div\x3e");d.b("\n")}),b.pop());c.b("        \x3c/div\x3e");c.b("\n")}),b.pop());this.s(this.f("hasMultipleFlights",b,d,1),b,d,1,0,0,"")||(this.b('        \x3cdiv class\x3d"flight-operator"\x3e'),this.b("\n"+a),this.b('            \x3cdiv class\x3d"airline '),this.b(this.v(this.f("market",b,d,0))),this.b('"\x3e'),this.b("\n"+a),this.b('                \x3cdiv class\x3d"logo"\x3e'),this.b("\n"+a),this.b("                    \x3cimg"),
this.b("\n"+a),this.b('                        src\x3d"/'),this.b(this.v(this.f("appContext",b,d,0))),this.b("/vui/nz/co/airnz/vdata/img/branding/"),this.b(this.v(this.f("brandImageSize",b,d,0))),this.b("/"),this.b(this.v(this.f("brandingCode",b,d,0))),this.b('.png"'),this.b("\n"+a),this.b('                        title\x3d" '),this.b(this.v(this.f("brandingName",b,d,0))),this.b(' " /\x3e'),this.b("\n"+a),this.b("                \x3c/div\x3e"),this.b("\n"+a),this.b("                Flight operated by\x3cbr /\x3e\x3cstrong\x3e"),
this.b(this.v(this.f("brandingName",b,d,0))),this.b("\x3c/strong\x3e"),this.b("\n"+a),this.b("            \x3c/div\x3e"),this.b("\n"+a),this.b("        \x3c/div\x3e"),this.b("\n"));this.b("\x3c/div\x3e");this.b("\n");return this.fl()},vehiclePickup:function(b,d,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"vehicle-pickup itinerary-item"\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"label"\x3eCar Rental\x3c/div\x3e');this.b("\n"+a);this.b("    \x3cdiv\x3e");this.b(this.v(this.f("vendorName",b,
d,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b("    \x3cdiv\x3e");this.b("\n"+a);this.b('        \x3cspan class\x3d"datetimelabel"\x3ePick up:\x3c/span\x3e\x3cspan');this.b("\n"+a);this.b('            class\x3d"datetime"\x3e');this.b(this.v(this.f("pickUpDateTime",b,d,0)));this.b("\x3c/span\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b('    \x3cdiv class\x3d"vehicleLocation"\x3e');this.b(this.v(this.f("pickUpLocation",b,d,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b("\x3c/div\x3e");
this.b("\n");return this.fl()},hotelCheckin:function(b,d,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"hotel-checkin itinerary-item"\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"label"\x3eHotel\x3c/div\x3e');this.b("\n"+a);this.b("    \x3cdiv\x3e");this.b(this.v(this.f("hotelName",b,d,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b("    \x3cdiv\x3e");this.b("\n"+a);this.b('        \x3cspan class\x3d"datetimelabel"\x3eCheck in:\x3c/span\x3e\x3cspan');this.b("\n"+a);this.b('            class\x3d"datetime"\x3e');
this.b(this.v(this.f("checkInDateTime",b,d,0)));this.b("\x3c/span\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("    \x3cdiv\x3e");this.b("\n"+a);this.b('        \x3cspan class\x3d"datetimelabel"\x3eCheck out:\x3c/span\x3e\x3cspan');this.b("\n"+a);this.b('            class\x3d"datetime"\x3e');this.b(this.v(this.f("checkOutDateTime",b,d,0)));this.b("\x3c/span\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\x3c/div\x3e");this.b("\n");return this.fl()}};
Object.place("templates.vui.itinerary.itinerarypanel.hoganTemplates",f);e.default=f});__registerModule("/nz/co/airnz/vui/itinerary/html/itinerarypanelfull.template.html",function(g,e){Object.defineProperty(e,"__esModule",{value:!0});var f={fullItineraryPanel:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"fullitinerarypanel"\x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"header"\x3e');this.b("\n"+a);this.b('        \x3cdiv class\x3d"title"\x3eYour itinerary\x3c/div\x3e');this.b("\n"+a);this.b('        \x3cdiv class\x3d"shareitinerary-panel-container"\x3e\x3c/div\x3e');
this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b('    \x3cdiv class\x3d"main" tabindex\x3d"0"\x3e');this.b("\n"+a);this.s(this.f("journeyLegs",b,c,1),b,c,0,236,274,"{{ }}")&&(this.rs(b,c,function(a,b,c){c.b(c.rp("journeyLeg",a,b,"            "))}),b.pop());this.b("    \x3c/div\x3e");this.b("\n"+a);this.b('    \x3cdiv class\x3d"entry-transit-info"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("\x3c/div\x3e");this.b("\n");return this.fl()},journeyLeg:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"journeylegpanel" id\x3d"fullitinerarypanel-journeyleg-');
this.b(this.v(this.f("journeyLegId",b,c,0)));this.b('" data-journeylegid\x3d"');this.b(this.v(this.f("journeyLegId",b,c,0)));this.b('" \x3e');this.b("\n"+a);this.b('    \x3cdiv class\x3d"header"\x3e');this.b("\n"+a);this.b('        \x3cspan class\x3d"journeyleg"\x3e');this.b(this.v(this.f("journeyLegDisplayId",b,c,0)));this.b("\x3c/span\x3e\x3cspan");this.b("\n"+a);this.b('            class\x3d"journeyTypeLabel"\x3e');this.b(this.v(this.f("label",b,c,0)));this.b(" - \x3c/span\x3e\x3cspan\x3e");this.b(this.v(this.f("origin",
b,c,0)));this.b(" to ");this.b(this.v(this.f("destination",b,c,0)));this.b("\x3c/span\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b('    \x3cdiv class\x3d"date"\x3e');this.b(this.v(this.f("date",b,c,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b('    \x3cdiv class\x3d"flightinfo-container"\x3e');this.b("\n"+a);this.s(this.f("ancillaryItems",b,c,1),b,c,0,427,625,"{{ }}")&&(this.rs(b,c,function(a,b,c){c.s(c.f("pickUpDateTime",a,b,1),a,b,0,459,508,"{{ }}")&&(c.rs(a,b,function(a,
b,c){c.b(c.rp("vehiclePickup",a,b,"                "))}),a.pop());c.s(c.f("hotelName",a,b,1),a,b,0,554,602,"{{ }}")&&(c.rs(a,b,function(a,b,c){c.b(c.rp("hotelCheckin",a,b,"                "))}),a.pop())}),b.pop());this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\x3c/div\x3e");this.b("\n");return this.fl()},vehiclePickup:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"ancillary vehicle"\x3e');this.b("\n"+a);this.b("    \x3ch2\x3eYour Car Rental\x3c/h2\x3e");this.b("\n"+a);this.b('    \x3cdiv class\x3d"vendorLogo car-logo-');
this.b(this.v(this.f("vehicleAgency",b,c,0)));this.b('"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("    \x3cdiv\x3e");this.b("\n"+a);this.s(this.f("imageUrl",b,c,1),b,c,0,154,245,"{{ }}")&&(this.rs(b,c,function(b,c,d){d.b('        \x3cdiv class\x3d"image"\x3e');d.b("\n"+a);d.b('            \x3cimg src\x3d"');d.b(d.v(d.f("imageUrl",b,c,0)));d.b('" /\x3e');d.b("\n"+a);d.b("        \x3c/div\x3e");d.b("\n")}),b.pop());this.s(this.f("imageUrl",b,c,1),b,c,1,0,0,"")||(this.b('        \x3cdiv class\x3d"image"\x3e'),
this.b("\n"+a),this.b('            \x3cimg src\x3d"../vui/nz/co/airnz/van/vehicle/book/ui/style/images/default-car.png"/\x3e'),this.b("\n"+a),this.b("        \x3c/div\x3e"),this.b("\n"));this.b('        \x3cdiv class\x3d"info"\x3e');this.b("\n"+a);this.b('            \x3cdiv class\x3d"name"\x3e');this.b(this.v(this.f("vendorName",b,c,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b('            \x3cdiv class\x3d"location"\x3e');this.b(this.v(this.f("classDescription",b,c,0)));this.b("\x3c/div\x3e");
this.b("\n"+a);this.b('            \x3cdiv class\x3d"details"\x3e');this.b("\n"+a);this.b('                \x3cdiv class\x3d"item"\x3e');this.b("\n"+a);this.b("                    \x3clabel\x3ePick up\x3c/label\x3e");this.b("\n"+a);this.b('                    \x3cdiv class\x3d"value"\x3e');this.b(this.v(this.f("pickUpDateTime",b,c,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b('                    \x3cdiv class\x3d"right"\x3e');this.b(this.v(this.f("pickUpLocation",b,c,0)));this.b("\x3c/div\x3e");
this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b('                \x3cdiv class\x3d"item"\x3e');this.b("\n"+a);this.b("                    \x3clabel\x3eDrop off\x3c/label\x3e");this.b("\n"+a);this.b('                    \x3cdiv class\x3d"value"\x3e');this.b(this.v(this.f("dropOffDateTime",b,c,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b('                    \x3cdiv class\x3d"right"\x3e');this.b(this.v(this.f("dropOffLocation",b,c,0)));this.b("\x3c/div\x3e");this.b("\n"+
a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\x3c/div\x3e");this.b("\n");return this.fl()},hotelCheckin:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"ancillary hotel"\x3e');this.b("\n"+a);this.b("    \x3ch2\x3eYour Hotel Booking\x3c/h2\x3e");this.b("\n"+a);this.b("    \x3cdiv\x3e");this.b("\n"+a);this.s(this.f("imageUrl",b,c,1),b,
c,0,93,184,"{{ }}")&&(this.rs(b,c,function(b,c,d){d.b('        \x3cdiv class\x3d"image"\x3e');d.b("\n"+a);d.b('            \x3cimg src\x3d"');d.b(d.v(d.f("imageUrl",b,c,0)));d.b('" /\x3e');d.b("\n"+a);d.b("        \x3c/div\x3e");d.b("\n")}),b.pop());this.s(this.f("imageUrl",b,c,1),b,c,1,0,0,"")||(this.b('        \x3cdiv class\x3d"image"\x3e'),this.b("\n"+a),this.b('            \x3cimg src\x3d"../vui/nz/co/airnz/van/hotel/book/ui/style/images/hotel-no-image.png"/\x3e'),this.b("\n"+a),this.b("        \x3c/div\x3e"),
this.b("\n"));this.b('        \x3cdiv class\x3d"info"\x3e');this.b("\n"+a);this.b('            \x3cdiv class\x3d"name"\x3e');this.b(this.v(this.f("hotelName",b,c,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b('            \x3cdiv class\x3d"location"\x3e');this.b(this.v(this.f("address",b,c,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b('            \x3cdiv class\x3d"details"\x3e');this.b("\n"+a);this.b('                \x3cdiv class\x3d"item left"\x3e');this.b("\n"+a);this.b("                    \x3clabel\x3eCheck in\x3c/label\x3e");
this.b("\n"+a);this.b('                    \x3cdiv class\x3d"value"\x3e');this.b(this.v(this.f("checkInDateTime",b,c,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b('                \x3cdiv class\x3d"item right"\x3e');this.b("\n"+a);this.b("                    \x3clabel\x3eRoom Type\x3c/label\x3e");this.b("\n"+a);this.b('                    \x3cdiv class\x3d"value"\x3e');this.b(this.v(this.f("roomDescription",b,c,0)));this.b("\x3c/div\x3e");
this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b('                \x3cdiv class\x3d"item left"\x3e');this.b("\n"+a);this.b("                    \x3clabel\x3eCheck out\x3c/label\x3e");this.b("\n"+a);this.b('                    \x3cdiv class\x3d"value"\x3e');this.b(this.v(this.f("checkOutDateTime",b,c,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b('                \x3cdiv class\x3d"item right"\x3e');this.b("\n"+a);this.b("                    \x3clabel\x3eGuests\x3c/label\x3e");
this.b("\n"+a);this.b('                    \x3cdiv class\x3d"value"\x3e');this.b(this.v(this.f("guests",b,c,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b("                \x3c/div\x3e");this.b("\n"+a);this.b('                \x3cdiv class\x3d"item left"\x3e');this.b("\n"+a);this.b("                    \x3clabel\x3eRooms\x3c/label\x3e");this.b("\n"+a);this.b('                    \x3cdiv class\x3d"value"\x3e');this.b(this.v(this.f("roomCount",b,c,0)));this.b("\x3c/div\x3e");this.b("\n"+a);this.b("                \x3c/div\x3e");
this.b("\n"+a);this.b("            \x3c/div\x3e");this.b("\n"+a);this.b("        \x3c/div\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\x3c/div\x3e");this.b("\n");return this.fl()}};Object.place("templates.vui.itinerary.itinerarypanelfull.hoganTemplates",f);e.default=f});__registerModule("/nz/co/airnz/vui/dynamicbaggage/dynamicbaggage.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"panel.error.footer":"General baggage allowance details","panel.error.footer.url":"http://www.airnewzealand.co.nz/baggage","panel.extrabags.footer.attract":"Save up to 50% by\x3cbr/\x3epurchasing extra bags online!","panel.extrabags.footer.notavailable":"Extra bags are not available for\x3cbr/\x3epurchase for this flight.","panel.extrabags.terms":"Extra bags terms \x26 conditions",
"panel.extrabags.terms.href":"http://www.airnewzealand.co.nz/extra-bags-terms-and-conditions","item.bags.0":"no bags","item.bags.1":"1 bag","item.bags.x":"{0} bags","item.total":"{0} total","item.pax.extrabags.1":"Plus extra bag","item.pax.extrabags.x":"Plus extra bags","fullallowance.loading":"Please wait while we're trying to retrieve the baggage charges and allowance specific to your itinerary.","fullallowance.title":"Baggage Allowance","fullallowance.title.blurb.header":"Baggage information is specific to the selected itinerary.",
"fullallowance.title.blurb.text":"Charges are applicable at each stopover point throughout your journey and may be converted and collected in local currency.","fullallowance.star.alliance.text":"* Air New Zealand Koru members are entitled to one additional standard piece of checked baggage without charge when travelling in Economy or Premium Economy on Air New Zealand ticketed and operated flights. This offer is not applicable to fares which do not have a baggage allowance e.g. 'seat only' fares.",
"fullallowance.star.alliance.note1":"Star Alliance Gold members are entitled to one additional standard piece of checked baggage without charge on all Star Alliance flights, where the ticketed itinerary has two or more Star Alliance airlines. This offer is not applicable to:","fullallowance.star.alliance.note2":"Individual airlines within the Star Alliance may offer a higher entitlement to their own members. Please refer to your membership terms and conditions for further information.","fullallowance.star.alliance.point1":"customers travelling in Business Premier / Business Class on Air New Zealand who are already entitled to three pieces of checked baggage.",
"fullallowance.star.alliance.point2":"customers travelling on fares which do not have a baggage allowance e.g. 'seat only' fares.","fullallowance.header.luggage":"Standard Baggage","fullallowance.header.charge":"Charge","fullallowance.header.weight":"Max Weight","fullallowance.header.dimensions":"Total Dimensions","fullallowance.header.dimensions.extra":"(length + width + height)","fullallowance.header.item":"Baggage item","fullallowance.header.occurrence":"Occurrence","fullallowance.carrier.applies":"baggage allowances apply",
"fullallowance.weight.carrier.applies":"baggage allowances apply - note a weight baggage allowance applies.","fullallowance.excess.title":"View excess and/or special baggage charges","fullallowance.excess.expand":"Expand to view excess baggage charges","fullallowance.excess.bag.text":"excess bag charge applies","fullallowance.excess.bag.prefix":"EXCESS","fullallowance.frequentflyer.message":"Star Alliance Gold members are entitled to...","fullallowance.frequentflyer.note":"Note: Air New Zealand offers three pieces of...",
"fullallowance.charge.none":"No charge","fullallowance.cabin.text.header":"Cabin baggage allowance","fullallowance.charge.notpermitted":"Not permitted","fullallowance.basic.bag.text":"checked bag:","fullallowance.basic.carry.bag.text":"carry on bag:","fullallowance.prepaid.bag.text":"Prepaid Extra Bag","fullallowance.airport.bag.text":"At airport","fullallowance.fare.charges.message":"\x3ca href\x3d\"javascript:showBaggageCharges('Traveller-Details');\"\x3eBaggage information\x3c/a\x3e specific to your itinerary.",
"fullallowance.service.unavailable.header":"We're sorry, but we are currently unable to provide baggage information for your selected itinerary.","fullallowance.service.unavailable.txt":"Once the problem is resolved and your booking has been ticketed, we'll send an e-ticket containing baggage allowance information for your itinerary. Should the applicable baggage allowance and / or additional charges not be acceptable to you, you may cancel your booking within 48 hours without charge, by phoning our Contact Centre toll free (from within USA) on 1-800-262-1234.",
"fullallowance.further.details":"For further information contact","fullallowance.mixed.service.class":"Mixed Service Classes","fullallowance.unavailable.message":"We're sorry {{carrierName}} has not provided baggage allowance details for this journey, please contact {{carrierName}} for baggage allowances and/or charges that may apply.","fullallowance.msc.message":"We're sorry baggage allowance details for this journey have not been provided by the carrier(s) involved, please contact the operating carrier(s) for baggage allowances and/or charges.",
"fullallowance.ordinal.one":"1st","fullallowance.ordinal.two":"2nd","fullallowance.ordinal.three":"3rd","fullallowance.ordinal.more":"{0}th"};Locale.define("en-NZ","vui",{dynamicbaggage:b});a.default=b});Class("VUI.DynamicBaggagePanelController",{Implements:[Options,Events,VUI.Templates],Depends:["DynamicBaggagePanelDataSource"],Optionally:["DynamicBaggagePanelExtraBagsDataSource","CostPanelController"],Binds:["_onDataRequested","_onDataUpdated","_onExtraBagsUpdated"],InjectAs:{name:"DynamicBaggagePanelController",singleton:!0},options:{costPanelContainer:null,showAddXBaggageButton:!0,useAjaxRequestForXBaggage:!1,xBaggageAjaxUri:null,dynamicBaggageFullAllowanceUrl:null},panels:[],initialize:function(b){this.setOptions(b);
this.loadTemplates({componentId:"vui.dynamicbaggage.dynamicbaggage"});this._initEvents()},_initEvents:function(){this.DynamicBaggagePanelDataSource.addEvent("dynamicBaggagePanelDataRequested",this._onDataRequested);this.DynamicBaggagePanelDataSource.addEvent("dynamicBaggagePanelDataUpdated",this._onDataUpdated);this.DynamicBaggagePanelExtraBagsDataSource&&this.DynamicBaggagePanelExtraBagsDataSource.addEvent("dynamicBaggagePanelExtraBagsDataUpdated",this._onExtraBagsUpdated)},_onExtraBagsUpdated:function(b){var a=
this.panels[b];a&&(a.setExtraBagsData(this.DynamicBaggagePanelExtraBagsDataSource.panelsExtraBags[b]),a.render(),a.renderExtraBagsButton())},_onDataRequested:function(){this.panels.each(function(b){b.setIsLoading(!0)})},_onDataUpdated:function(b){var a=this;b.data&&b.data.journeyLegs&&b.data.journeyLegs.each(function(e){var d=e.journeyLegId,c=a.panels[d];c?c.setData(e):(c=null,a.DynamicBaggagePanelExtraBagsDataSource&&(c=a.DynamicBaggagePanelExtraBagsDataSource.panelsExtraBags[d]),c||(c=a._getFallBackExtraBagsData(b,
d)),c=new VUI.DynamicBaggagePanel(a.options,d,a,e,c),a.panels[d]=c,c.initExtraBagsButton());c.isAdded||(c.isAdded=a._injectPanel(c));c.render();c.renderExtraBagsButton();c.setIsLoading(!1);a.fireEvent("dynamicBaggagePanelChange")})},_injectPanel:function(b){if(this.options.costPanelContainer){var a=$(this.options.costPanelContainer);return a?(b.toElement().inject(a,"bottom"),!0):!1}a=b.journeyLegId;return this.CostPanelController?this.CostPanelController.appendPanel(a,b,"after"):!1},_getFallBackExtraBagsData:function(b,
a){for(var e=0;e<b.data.journeyLegs.length;e++){var d=b.data.journeyLegs[e];if(a===d.journeyLegId){if(d.extraBagsCount)return{numberOfBagsAdded:d.extraBagsCount};break}}return null}});Class("VUI.DynamicBaggagePanelDataSource",{Implements:[Options,Events],Depends:["JsonEventRepeater"],Optionally:["JourneyLegPanelController"],Binds:["_onDynamicBaggagePanelData","_onCostCellSelected","_onViewpointChange","_onPickMixSelected"],options:{dynamicBaggagePanelSelectionUrl:null},isDataStale:!1,initialize:function(a){this.setOptions(a);this._initEvents()},setData:function(a){this._onDynamicBaggagePanelData(a)},sendRequest:function(){this.fireEvent("dynamicBaggagePanelDataRequested");(new MtRequest.JSON({url:this.options.dynamicBaggagePanelSelectionUrl,
noCache:!0,method:"post"})).post()},sendRequestIfStale:function(){this.isDataStale&&(this.sendRequest(),this.isDataStale=!1)},_initEvents:function(){this.JsonEventRepeater.addEvent("success-dynamic-baggage-panels",this._onDynamicBaggagePanelData);this.JourneyLegPanelController&&(this.JourneyLegPanelController.addEvent("costCellSelected",this._onCostCellSelected),this.JourneyLegPanelController.addEvent("viewpointChange",this._onViewpointChange),this.JourneyLegPanelController.addEvent("pickMixSelected",
this._onPickMixSelected))},_onDynamicBaggagePanelData:function(a){a&&this.fireEvent("dynamicBaggagePanelDataUpdated",a)},_onPickMixSelected:function(){this.isDataStale=!0},_onCostCellSelected:function(){this.isDataStale=!0},_onViewpointChange:function(){this.isDataStale=!0}});Class("VUI.DynamicBaggagePanelExtraBagsDataSource",{Implements:[Options,Events],Depends:["JsonEventRepeater"],Binds:["_onExtraBagsUpdated"],options:{},panelsExtraBags:[],initialize:function(a){this.setOptions(a);this._initEvents()},_initEvents:function(){this.JsonEventRepeater.addEvent("success-extraBagsForJourneyLeg",this._onExtraBagsUpdated);this.JsonEventRepeater.addEvent("success-extra-bags",this._onExtraBagsUpdated)},_onExtraBagsUpdated:function(a){this.setExtraBagsData({extraBagJourneyLegs:[a.data]},
!1)},setExtraBagsData:function(a){var c=this,b=null;a.data?b="array"===typeOf(a.data)?a.data:a.data.legs?a.data.legs:[a.data]:"array"===typeOf(a)&&0<a.length?a[0].data&&a[0].data.legs&&(b=a[0].data.legs):a.extraBagJourneyLegs&&(b=[],a.extraBagJourneyLegs.each(function(a){a.legs?a.legs.each(function(a){b.push(a)}):b.push(a)}));b&&b.each(function(a){a.journeyLegId||(a=a.baggageDetails);var b=a.journeyLegId;c.panelsExtraBags[b]=a;c.fireEvent("dynamicBaggagePanelExtraBagsDataUpdated",b)})}});Class("VUI.DynamicBaggagePanel",{Implements:[Options,Events,VUI.Disposable],Depends:["GTMEventTracker"],Optionally:["OverlayPanelController"],Binds:["_onClickFullAllowance","_onFullAllowanceData"],options:{showAddXBaggageButton:!0,useAjaxRequestForXBaggage:!1,xBaggageAjaxUri:null,dynamicBaggageFullAllowanceUrl:null,overlayOptions:{alignCenter:!0,relativeTop:80,styleClasses:["baggage-rules-overlay"],styles:{width:900,height:"auto"}},boxOptions:{headerText:Locale.get("vui.dynamicbaggage")["fullallowance.excess.title"],
collapsible:!0,containerAttributes:{"class":"box-content br-full"},precollapse:!0,expandOnFocus:!1,cookieRemember:!1,animate:!1}},controller:null,journeyLegId:null,container:null,isLoading:!1,isAdded:!1,data:null,extraBagsData:null,extraBagsController:null,overlay:null,singleCurlyRegex:/\\?\{([^{}]+)\}/g,initialize:function(a,b,c,d,e){this.setOptions(a);this.journeyLegId=b;this.controller=c;this.container=new Element("div",{id:"dynamicbaggagepanel-"+this.journeyLegId+"-container","class":"dynamicbaggagepanel-container"});
this.setData(d);this.setExtraBagsData(e)},setData:function(a){this.data=a},initExtraBagsButton:function(){this.options.showAddXBaggageButton&&(this.extraBagsController=VUI.Injector.get("AddXBagsController",{journeyLegId:this.journeyLegId,useAjaxRequest:this.options.useAjaxRequestForXBaggage,xBaggageAjaxUri:this.options.xBaggageAjaxUri}))},hide:function(){},setExtraBagsData:function(a){this.extraBagsData=a},renderExtraBagsButton:function(){var a=null!==this.container.getElement(".addxbaggagecontainer");
this.extraBagsController&&a&&this.extraBagsController.showOptions(this.extraBagsData,this)},render:function(){var a=this,b;a.data.blank?b="":(b=a._decorateData(Object.merge({},a.data)),b=a.data.error?a.controller.templates.dynamicBaggagePanelError(b):a.controller.templates.dynamicBaggagePanel(b),b.getElements(".full-baggage-allowance-link").each(function(b){var d=b.getAttribute("data-segment-ids").split(",").map(function(a){return parseInt(a,10)});b.addEvent("click",a._onClickFullAllowance.pass([d]))}));
a.container.empty();b&&b.inject(a.container)},_decorateData:function(a){var b=Locale.get("vui.dynamicbaggage"),c=!1,d=0,e=a.segments&&a.segments[0]?a.segments[0].serviceClass:"";a.ctx=ctx;this.extraBagsData&&(this.extraBagsData.availableOptions&&(c=0<this.extraBagsData.availableOptions.length),d=this.extraBagsData.numberOfBagsAdded);d&&0<d&&a.segments&&a.segments[0]?(1<d?(c=b["item.pax.extrabags.x"],e=b["item.bags.x"].substitute({0:d},this.singleCurlyRegex)):(c=b["item.pax.extrabags.1"],e=b["item.bags.1"]),
a.segments[0].items.push({isExtraBagsLine:!0,paxTitleLabel:c,paxAllowanceLabel:e}),a.extraBagsTermsLinkLabel=b["panel.extrabags.terms"],a.extraBagsTermsLinkUrl=b["panel.extrabags.terms.href"],d=a.segments[0].totalPieceCount+d,0<d?(a.segments[0].totalLabel=this._buildTotalDescription(d),a.segments[0].totalNoBags=!1):(a.segments[0].totalLabel=b["item.bags.0"],a.segments[0].totalNoBags=!0)):this.options.showAddXBaggageButton&&(c?a.extraBagsFooterLabel=b["panel.extrabags.footer.attract"]:"BUSINESS"!==
e&&(a.extraBagsFooterLabel=b["panel.extrabags.footer.notavailable"]));return a},_buildTotalDescription:function(a){var b=Locale.get("vui.dynamicbaggage");a=1<a?b["item.bags.x"].substitute({0:a},this.singleCurlyRegex):b["item.bags.1"];return b["item.total"].substitute({0:a},this.singleCurlyRegex)},toElement:function(){return this.container},setIsLoading:function(a){this.isAdded&&(a?(this.container.addClass("loading"),this.container.spin({"class":"spinner-large-black"})):(this.container.removeClass("loading"),
this.container.unspin()),this.isLoading=a)},_onClickFullAllowance:function(a){!this.overlay&&this.OverlayPanelController&&(this.overlay=this.OverlayPanelController.create(this.options.overlayOptions));(new MtRequest.JSON({url:this.options.dynamicBaggageFullAllowanceUrl,noCache:!0,method:"get",onSuccess:this._onFullAllowanceData})).get({journeyLegId:this.journeyLegId,segmentIds:a});this.GTMEventTracker.trackNonApplicationGeneralEvent("side menu","baggage allowance",(this.data?this.data.label:"").toLowerCase());
return!1},_onFullAllowanceData:function(a){var b=this;if(a&&0<a.length){var c=a[0].data;c.allowanceDisclosures&&0<c.allowanceDisclosures.length?(c.allowanceDisclosures.each(function(a,b){a.last=c.allowanceDisclosures.length-1===b}),a=b.controller.templates.baggageRulesInLightbox(c),a.getElements(".br-section-full").each(function(a){new VUI.CollapsibleBox(a,b.options.boxOptions)})):a=b.controller.templates.baggageErrorInLightbox(c);b.overlay.show(a,{})}}});__registerModule("/nz/co/airnz/vui/dynamicbaggage/html/dynamicbaggage.template.html",function(k,g){Object.defineProperty(g,"__esModule",{value:!0});var h={dynamicBaggagePanel:function(a,e,c){this.b(c=c||"");this.b('\x3cdiv class\x3d"dynamicbaggagepanel" id\x3d"dynamicbaggagepanel-');this.b(this.v(this.f("journeyLegId",a,e,0)));this.b('"\x3e');this.b("\n"+c);this.s(this.f("segments",a,e,1),a,e,0,97,1496,"{{ }}")&&(this.rs(a,e,function(a,e,b){b.b('            \x3cdiv class\x3d"dynamicbaggagepanel-main"\x3e');
b.b("\n"+c);b.b('                \x3cdiv class\x3d"header-wrapper"\x3e');b.b("\n"+c);b.s(b.f("internationalMultistop",a,e,1),a,e,0,241,616,"{{ }}")&&(b.rs(a,e,function(b,a,f){f.b('                        \x3cdiv class\x3d"header"\x3e');f.b("\n"+c);f.b('                            \x3ch2 class\x3d"header-row"\x3e');f.b("\n"+c);f.b('                                \x3cdiv class\x3d"label small"\x3e');f.b(f.t(f.f("title",b,a,0)));f.b("\x3c/div\x3e");f.b("\n"+c);f.b('                                \x3cdiv class\x3d"total small');
f.s(f.f("totalNoBags",b,a,1),b,a,0,484,491,"{{ }}")&&(f.rs(b,a,function(c,b,a){a.b(" nobags")}),b.pop());f.b('"\x3e');f.b(f.t(f.f("totalLabel",b,a,0)));f.b("\x3c/div\x3e");f.b("\n"+c);f.b("                            \x3c/h2\x3e");f.b("\n"+c);f.b("                        \x3c/div\x3e");f.b("\n")}),a.pop());b.s(b.f("internationalMultistop",a,e,1),a,e,1,0,0,"")||(b.b('                        \x3cdiv class\x3d"header"\x3e'),b.b("\n"+c),b.b('                            \x3ch2 class\x3d"header-row"\x3e'),
b.b("\n"+c),b.b('                                \x3cdiv class\x3d"label"\x3e'),b.b(b.t(b.f("label",a,e,0))),b.b("\x3c/div\x3e"),b.b("\n"+c),b.b('                                \x3cdiv class\x3d"total'),b.s(b.f("totalNoBags",a,e,1),a,e,0,922,929,"{{ }}")&&(b.rs(a,e,function(c,b,a){a.b(" nobags")}),a.pop()),b.b('"\x3e'),b.b(b.t(b.f("totalLabel",a,e,0))),b.b("\x3c/div\x3e"),b.b("\n"+c),b.b("                            \x3c/h2\x3e"),b.b("\n"+c),b.b("                        \x3c/div\x3e"),b.b("\n"));
b.b("                \x3c/div\x3e");b.b("\n"+c);b.b("\n"+c);b.b('                \x3cdiv class\x3d"segment"\x3e');b.b("\n"+c);b.s(b.f("items",a,e,1),a,e,0,1174,1249,"{{ }}")&&(b.rs(a,e,function(c,b,a){a.b(a.rp("dynamicBaggagePanelItem",c,b,"                        "))}),a.pop());b.b("                \x3c/div\x3e");b.b("\n"+c);b.b('                \x3cdiv class\x3d"footer"\x3e');b.b("\n"+c);b.b('                    \x3ca class\x3d"full-baggage-allowance-link" data-segment-ids\x3d"');b.b(b.v(b.f("segmentIds",
a,e,0)));b.b('" href\x3d"#"\x3e');b.b(b.v(b.f("footerLinkLabel",a,e,0)));b.b("\x3c/a\x3e");b.b("\n"+c);b.b("                \x3c/div\x3e");b.b("\n"+c);b.b("            \x3c/div\x3e");b.b("\n")}),a.pop());this.b("\n"+c);this.b(this.rp("dynamicBaggagePanelFooter",a,e,"        "));this.b("    \x3c/div\x3e");this.b("\n"+c);this.b("\n"+c);this.b("    ");return this.fl()},dynamicBaggagePanelItem:function(a,e,c){this.b(c=c||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+c);this.b('        \x3cdiv class\x3d"item"\x3e');
this.b("\n"+c);this.b('            \x3cdiv class\x3d"label"\x3e');this.b("\n"+c);this.b('                \x3cdiv class\x3d"label-main');this.s(this.f("isExtraBagsLine",a,e,1),a,e,0,132,142,"{{ }}")&&(this.rs(a,e,function(c,a,b){b.b(" extrabags")}),a.pop());this.b('"\x3e');this.b(this.t(this.f("paxTitleLabel",a,e,0)));this.b("\x3c/div\x3e");this.b("\n"+c);this.b("            \x3c/div\x3e");this.b("\n"+c);this.b('            \x3cdiv class\x3d"total"\x3e');this.b("\n"+c);this.b('                \x3cdiv class\x3d"total-main');
this.s(this.f("paxAllowanceNoBags",a,e,1),a,e,0,301,308,"{{ }}")&&(this.rs(a,e,function(c,a,b){b.b(" nobags")}),a.pop());this.b('"\x3e');this.b(this.t(this.f("paxAllowanceLabel",a,e,0)));this.b("\x3c/div\x3e");this.b("\n"+c);this.s(this.f("helpLabel",a,e,1),a,e,0,392,716,"{{ }}")&&(this.rs(a,e,function(a,e,b){b.b('                    \x3cdiv class\x3d"total-sub"\x3e');b.b("\n"+c);b.b('                        \x3ca class\x3d"dashed popup-trigger"');b.b("\n"+c);b.b('                            data-messagepopup-messagetext\x3d"');
b.b(b.v(b.f("helpDescription",a,e,0)));b.b('"');b.b("\n"+c);b.b('                            data-messagepopup-position\x3d\'"x":"left", "width": 250\'\x3e');b.b(b.v(b.f("helpLabel",a,e,0)));b.b("\x3c/a\x3e");b.b("\n"+c);b.b("                    \x3c/div\x3e");b.b("\n")}),a.pop());this.b("            \x3c/div\x3e");this.b("\n"+c);this.s(this.f("paxDescription",a,e,1),a,e,0,781,934,"{{ }}")&&(this.rs(a,e,function(a,e,b){b.b('                \x3cdiv class\x3d"description"\x3e');b.b("\n"+c);b.b('                    \x3cdiv class\x3d"description-main"\x3e');
b.b(b.v(b.f("paxDescription",a,e,0)));b.b("\x3c/div\x3e");b.b("\n"+c);b.b("                \x3c/div\x3e");b.b("\n")}),a.pop());this.b("        \x3c/div\x3e");this.b("\n"+c);this.b("    \x3c/div\x3e");this.b("\n"+c);this.b("\n"+c);this.b("    ");return this.fl()},dynamicBaggagePanelFooter:function(a,e,c){this.b(c=c||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+c);this.b('        \x3cdiv class\x3d"addxbaggagecontainer addxbaggagecontainer-');this.b(this.v(this.f("journeyLegId",a,e,0)));this.b(' hidden"\x3e');
this.b("\n"+c);this.b('            \x3cbutton type\x3d"button" class\x3d"addxbaggage-button" data-automation\x3d"addbags-');this.b(this.v(this.f("journeyLegId",a,e,0)));this.b('" id\x3d"addxbaggage-');this.b(this.v(this.f("journeyLegId",a,e,0)));this.b('"\x3e');this.b("\n"+c);this.b("                \x3cspan\x3e\x3c/span\x3e");this.b("\n"+c);this.b("            \x3c/button\x3e");this.b("\n"+c);this.b("        \x3c/div\x3e");this.b("\n"+c);this.b("\n"+c);this.s(this.f("extraBagsTermsLinkLabel",a,e,
1),a,e,0,346,591,"{{ }}")&&(this.rs(a,e,function(a,e,b){b.b('            \x3cdiv class\x3d"dynamicbaggagepanel-extrabags-terms"\x3e');b.b("\n"+c);b.b('                \x3ca data-rel\x3d"fareConditions" href\x3d"');b.b(b.v(b.f("extraBagsTermsLinkUrl",a,e,0)));b.b('" class\x3d"newWindow wspec_large fareconditions"\x3e');b.b(b.v(b.f("extraBagsTermsLinkLabel",a,e,0)));b.b("\x3c/a\x3e");b.b("\n"+c);b.b("            \x3c/div\x3e");b.b("\n")}),a.pop());this.b("\n"+c);this.s(this.f("extraBagsFooterLabel",
a,e,1),a,e,0,654,757,"{{ }}")&&(this.rs(a,e,function(c,a,b){b.b('            \x3cdiv class\x3d"dynamicbaggagepanel-extrabags-footer"\x3e');b.b(b.t(b.f("extraBagsFooterLabel",c,a,0)));b.b("\x3c/div\x3e");b.b("\n")}),a.pop());this.b("    \x3c/div\x3e");this.b("\n"+c);this.b("\n"+c);this.b("    ");return this.fl()},dynamicBaggagePanelError:function(a,e,c){this.b(c=c||"");this.b('\x3cdiv class\x3d"dynamicbaggagepanel-error" id\x3d"dynamicbaggagepanel-');this.b(this.v(this.f("journeyLegId",a,e,0)));this.b('"\x3e');
this.b("\n"+c);this.b("\n"+c);this.b('        \x3cdiv class\x3d"header-wrapper"\x3e');this.b("\n"+c);this.b('            \x3cdiv class\x3d"header"\x3e');this.b("\n"+c);this.b('                \x3ch2 class\x3d"header-row"\x3e');this.b("\n"+c);this.b('                    \x3cdiv class\x3d"label"\x3e');this.b(this.t(this.f("label",a,e,0)));this.b("\x3c/div\x3e");this.b("\n"+c);this.b("                \x3c/h2\x3e");this.b("\n"+c);this.b("            \x3c/div\x3e");this.b("\n"+c);this.b("        \x3c/div\x3e");
this.b("\n"+c);this.b("\n"+c);this.b('        \x3cdiv class\x3d"errorMessage"\x3e');this.b(this.v(this.f("errorMessageLabel",a,e,0)));this.b("\x3c/div\x3e");this.b("\n"+c);this.b("\n"+c);this.b('        \x3cdiv class\x3d"footer"\x3e');this.b("\n"+c);this.b('            \x3ca href\x3d"http://www.airnewzealand.co.nz/baggage" class\x3d"newWindow wspec_wide"\x3eGeneral baggage allowance details\x3c/a\x3e');this.b("\n"+c);this.b("        \x3c/div\x3e");this.b("\n"+c);this.b("    \x3c/div\x3e");this.b("\n"+
c);this.b("\n"+c);this.b("\n"+c);this.b("\n"+c);this.b("    ");return this.fl()},baggageErrorInLightbox:function(a,e,c){this.b(c=c||"");this.b('\x3cdiv class\x3d"br-lightbox-container"\x3e');this.b("\n"+c);this.b('        \x3cdiv class\x3d"br-title indentcell"\x3eBaggage Allowance\x3c/div\x3e');this.b("\n"+c);this.b('        \x3cdiv class\x3d"br-scroll-panel"\x3e');this.b("\n"+c);this.b('            \x3cdiv class\x3d"icon-error br-error-icon-panel"\x3e\x3c/div\x3e');this.b("\n"+c);this.b('            \x3cdiv class\x3d"br-error-header"\x3eWe\'re sorry, but we are currently unable to provide baggage information for your selected itinerary.\x3c/div\x3e');
this.b("\n"+c);this.b('            \x3cdiv class\x3d"br-blurb-text"\x3e');this.b("\n"+c);this.b("                Once the problem is resolved and your booking has been ticketed, we'll send an e-ticket containing baggage allowance information for your itinerary. Should the applicable baggage allowance and / or additional charges not be acceptable to you, you may cancel your booking within 48 hours without charge, by phoning our Contact Centre toll free (from within USA) on 1-800-262-1234.");this.b("\n"+
c);this.b("            \x3c/div\x3e");this.b("\n"+c);this.b("        \x3c/div\x3e");this.b("\n"+c);this.b("    \x3c/div\x3e");this.b("\n"+c);this.b("\n"+c);this.b("    ");return this.fl()},baggageRulesInLightbox:function(a,e,c){this.b(c=c||"");this.b('\x3cdiv class\x3d"br-lightbox-container"\x3e');this.b("\n"+c);this.b('        \x3cdiv class\x3d"br-title indentcell"\x3eBaggage Allowance\x3c/div\x3e');this.b("\n"+c);this.b('        \x3cdiv class\x3d"br-scroll-panel" tabindex\x3d"0"\x3e');this.b("\n"+
c);this.b(this.rp("baggageRulesBody",a,e,"            "));this.b("        \x3c/div\x3e");this.b("\n"+c);this.b("    \x3c/div\x3e");this.b("\n"+c);this.b("    ");return this.fl()},baggageRulesBody:function(a,e,c){this.b(c=c||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+c);this.b('        \x3cdiv class\x3d"br-indent-panel"\x3e');this.b("\n"+c);this.b('            \x3cdiv class\x3d"br-blurb-header"\x3eBaggage information is specific to the selected itinerary.\x3c/div\x3e');this.b("\n"+c);this.b('            \x3cdiv class\x3d"br-blurb-text"\x3eCharges are applicable at each stopover point throughout your journey and may be converted and collected in local currency.\x3c/div\x3e');
this.b("\n"+c);this.b("        \x3c/div\x3e");this.b("\n"+c);this.s(this.f("allowanceDisclosures",a,e,1),a,e,0,376,9151,"{{ }}")&&(this.rs(a,e,function(a,e,b){b.b('            \x3cdiv class\x3d"br-origin-destination"\x3e');b.b(b.v(b.f("origin",a,e,0)));b.b(" - ");b.b(b.v(b.f("destination",a,e,0)));b.b("\x3c/div\x3e");b.b("\n"+c);b.b('            \x3cdiv class\x3d"br-flight-num"\x3e');b.b("\n"+c);b.s(b.f("flights",a,e,1),a,e,0,527,659,"{{ }}")&&(b.rs(a,e,function(c,b,a){a.b("                    ");
a.b(a.v(a.f("flightNumber",c,b,0)));a.b(' \x3cspan class\x3d"br-flight"\x3e');a.b(a.v(a.f("departureAirport",c,b,0)));a.b(" - ");a.b(a.v(a.f("arrivalAirport",c,b,0)));a.b("\x3c/span\x3e\x3cbr/\x3e");a.b("\n")}),a.pop());b.b("            \x3c/div\x3e");b.b("\n"+c);b.s(b.f("baggageAllowancesProvided",a,e,1),a,e,1,0,0,"")||(b.b('                \x3cdiv class\x3d"br-msc-unavailable"\x3eWe\'re sorry baggage allowance details for this journey have not been provided by the carrier(s) involved, please contact the operating carrier(s) for baggage allowances and/or charges.\x3c/div\x3e'),
b.b("\n"));b.s(b.f("baggageAllowancesProvided",a,e,1),a,e,0,1058,9043,"{{ }}")&&(b.rs(a,e,function(b,a,e){e.b('                \x3cdiv class\x3d"br-applicable-carrier"\x3e');e.b("\n"+c);e.b("                    ");e.b(e.v(e.f("mostSignificantCarrier",b,a,0)));e.b(" baggage allowances apply");e.b("\n"+c);e.b("                \x3c/div\x3e");e.b("\n"+c);e.s(e.f("displayCabinAllowanceText",b,a,1),b,a,0,1252,1537,"{{ }}")&&(e.rs(b,a,function(b,a,e){e.b('                    \x3cdiv class\x3d"br-cabin-allowance-header"\x3e');
e.b("\n"+c);e.b("                        Cabin baggage allowance");e.b("\n"+c);e.b("                    \x3c/div\x3e");e.b("\n"+c);e.b('                    \x3cdiv class\x3d"br-cabin-allowance-text"\x3e');e.b("\n"+c);e.b("                        ");e.b(e.t(e.f("cabinAllowanceText",b,a,0)));e.b("\n"+c);e.b("                    \x3c/div\x3e");e.b("\n")}),b.pop());e.b('                \x3cdiv class\x3d"br-service-class"\x3e');e.b(e.v(e.f("serviceClass",b,a,0)));e.b("\x3c/div\x3e");e.b("\n"+c);e.s(e.f("paxTypeDisclosures",
b,a,1),b,a,0,1676,9007,"{{ }}")&&(e.rs(b,a,function(b,a,e){e.b('                    \x3cdiv class\x3d"br-pax-type"\x3e');e.b(e.v(e.f("paxType",b,a,0)));e.b("\x3c/div\x3e");e.b("\n"+c);e.s(e.f("productText",b,a,1),b,a,0,1776,1928,"{{ }}")&&(e.rs(b,a,function(b,a,d){d.b('                        \x3cdiv class\x3d"br-product-text"\x3e');d.b("\n"+c);d.b("                            ");d.b(d.t(d.f("productText",b,a,0)));d.b("\n"+c);d.b("                        \x3c/div\x3e");d.b("\n")}),b.pop());e.s(e.f("baggageAllowancesProvided",
b,a,1),b,a,0,1995,5750,"{{ }}")&&(e.rs(b,a,function(b,a,d){d.b('                        \x3ctable class\x3d"br-table-basic" data-automation-id\x3d"');d.b(d.v(d.f("paxTypeCode",b,a,0)));d.b('"\x3e');d.b("\n"+c);d.b("                            \x3cthead\x3e");d.b("\n"+c);d.b("                                \x3ctr\x3e");d.b("\n"+c);d.b('                                \x3cth class\x3d"br-table-luggage"\x3e');d.b("\n"+c);d.b("                                Standard Baggage");d.b("\n"+c);d.b("                                \x3c/th\x3e");
d.b("\n"+c);d.b('                                \x3cth class\x3d"br-table-charge"\x3e');d.b("\n"+c);d.b("                                Charge");d.b("\n"+c);d.b("                                \x3c/th\x3e");d.b("\n"+c);d.b('                                \x3cth class\x3d"br-table-weight"\x3e');d.b("\n"+c);d.b("                                Max Weight");d.b("\n"+c);d.b("                                \x3c/th\x3e");d.b("\n"+c);d.b('                                \x3cth class\x3d"br-table-dimensions"\x3e');
d.b("\n"+c);d.b("                                Total Dimensions");d.b("\n"+c);d.b('                                \x3cdiv class\x3d"br-table-header-note"\x3e');d.b("\n"+c);d.b("                                    (length + width + height)");d.b("\n"+c);d.b("                                \x3c/div\x3e");d.b("\n"+c);d.b("                                \x3c/th\x3e");d.b("\n"+c);d.b("                                \x3c/tr\x3e");d.b("\n"+c);d.b("                            \x3c/thead\x3e");d.b("\n"+
c);d.b("                            \x3ctbody\x3e");d.b("\n"+c);d.s(d.f("basicDisclosures",b,a,1),b,a,0,3074,4163,"{{ }}")&&(d.rs(b,a,function(b,d,a){a.b('                                \x3ctr class\x3d"');a.b(a.v(a.f("rowClass",b,d,0)));a.b('"\x3e');a.b("\n"+c);a.b("                                    \x3ctd\x3e");a.b("\n"+c);a.b("                                        ");a.b(a.v(a.f("ordinalIndex",b,d,0)));a.b("\n"+c);a.b("                                        ");a.b(a.v(a.f("description",b,
d,0)));a.b("\n"+c);a.b("                                        ");a.s(a.f("excessChargesApply",b,d,1),b,d,0,3350,3379,"{{ }}")&&(a.rs(b,d,function(c,a,b){b.b("\x3cbr/\x3e(");b.b(b.v(b.f("excessBaggageText",c,a,0)));b.b(")*")}),b.pop());a.b("\n"+c);a.b("                                    \x3c/td\x3e");a.b("\n"+c);a.b("                                    \x3ctd\x3e");a.b("\n"+c);a.b("                                        ");a.s(a.f("prepaidBagsAvailable",b,d,1),b,d,0,3551,3590,"{{ }}")&&(a.rs(b,
d,function(c,b,a){a.b("Prepaid Extra Bag ");a.b(a.t(a.f("prepaidCost",c,b,0)));a.b("\x3cbr/\x3e")}),b.pop());a.b("\n"+c);a.b("                                        ");a.s(a.f("excessChargesApply",b,d,1),b,d,0,3679,3689,"{{ }}")&&(a.rs(b,d,function(c,a,b){b.b("At airport")}),b.pop());a.b("\n"+c);a.b("                                        ");a.b(a.t(a.f("chargeableAmount",b,d,0)));a.b("\n"+c);a.b("                                    \x3c/td\x3e");a.b("\n"+c);a.b("                                    \x3ctd\x3e");
a.b("\n"+c);a.b("                                        ");a.b(a.v(a.f("weightText",b,d,0)));a.b("\n"+c);a.b("                                    \x3c/td\x3e");a.b("\n"+c);a.b("                                    \x3ctd\x3e");a.b("\n"+c);a.b("                                        ");a.b(a.v(a.f("lengthText",b,d,0)));a.b("\n"+c);a.b("                                    \x3c/td\x3e");a.b("\n"+c);a.b("                                \x3c/tr\x3e");a.b("\n")}),b.pop());d.b("                            \x3c/tbody\x3e");
d.b("\n"+c);d.b("                        \x3c/table\x3e");d.b("\n"+c);d.s(d.f("infant",b,a,1),b,a,1,0,0,"")||(d.b('                            \x3cdiv class\x3d"staralliance-text"\x3e'),d.b("\n"+c),d.b("                                * Air New Zealand Koru members are entitled to one additional standard piece of checked baggage without charge when travelling in Economy or Premium Economy on Air New Zealand ticketed and operated flights. This offer is not applicable to fares which do not have a baggage allowance e.g. 'seat only' fares."),
d.b("\n"+c),d.b("                            \x3c/div\x3e"),d.b("\n"+c),d.b('                            \x3cdiv class\x3d"staralliance-note"\x3e'),d.b("\n"+c),d.b("                                Star Alliance Gold members are entitled to one additional standard piece of checked baggage without charge on all Star Alliance flights, where the ticketed itinerary has two or more Star Alliance airlines. This offer is not applicable to:"),d.b("\n"+c),d.b("                                \x3cul\x3e"),d.b("\n"+
c),d.b("                                    \x3cli\x3ecustomers travelling in Business Premier / Business Class on Air New Zealand who are already entitled to three pieces of checked baggage.\x3c/li\x3e"),d.b("\n"+c),d.b("                                    \x3cli\x3ecustomers travelling on fares which do not have a baggage allowance e.g. 'seat only' fares.\x3c/li\x3e"),d.b("\n"+c),d.b("                                \x3c/ul\x3e"),d.b("\n"+c),d.b("                                Individual airlines within the Star Alliance may offer a higher entitlement to their own members. Please refer to your membership terms and conditions for further information."),
d.b("\n"+c),d.b("                            \x3c/div\x3e"),d.b("\n"))}),b.pop());!e.s(e.f("baggageAllowancesProvided",b,a,1),b,a,1,0,0,"")&&e.s(e.f("infant",b,a,1),b,a,0,5867,6689,"{{ }}")&&(e.rs(b,a,function(a,b,d){d.b('                        \x3cdiv class\x3d"br-infant" data-automation-id\x3d"INF"\x3e');d.b("\n"+c);d.b("                            \x3cp\x3eInfants do not receive an individual checked baggage allowance nor are they permitted to purchase prepaid extra bags, but the following items may be carried:\x3c/p\x3e");
d.b("\n"+c);d.b("                            \x3ctable\x3e");d.b("\n"+c);d.b("                                \x3ctr\x3e");d.b("\n"+c);d.b("                                    \x3ctd\x3eOne stroller / pushchair\x3c/td\x3e");d.b("\n"+c);d.b('                                    \x3ctd class\x3d"charge-none"\x3eNo charge\x3c/td\x3e');d.b("\n"+c);d.b("                                \x3c/tr\x3e");d.b("\n"+c);d.b("                                \x3ctr\x3e");d.b("\n"+c);d.b("                                    \x3ctd\x3eOne carseat\x3c/td\x3e");
d.b("\n"+c);d.b('                                    \x3ctd class\x3d"charge-none"\x3eNo charge\x3c/td\x3e');d.b("\n"+c);d.b("                                \x3c/tr\x3e");d.b("\n"+c);d.b("                            \x3c/table\x3e");d.b("\n"+c);d.b("                        \x3c/div\x3e");d.b("\n")}),b.pop());e.s(e.f("fullDisclosuresProvided",b,a,1),b,a,0,6800,8962,"{{ }}")&&(e.rs(b,a,function(a,b,d){d.b('                        \x3cdiv class\x3d"br-section-full"\x3e');d.b("\n"+c);d.b('                            \x3ctable class\x3d"br-table-full"\x3e');
d.b("\n"+c);d.b("                                \x3cthead\x3e");d.b("\n"+c);d.b("                                    \x3ctr\x3e");d.b("\n"+c);d.b('                                        \x3cth class\x3d"br-header-baggage-item"\x3e');d.b("\n"+c);d.b("                                            \x3cdiv\x3eBaggage item\x3c/div\x3e");d.b("\n"+c);d.b("                                        \x3c/th\x3e");d.b("\n"+c);d.b('                                        \x3cth class\x3d"br-header-occurrence"\x3e');
d.b("\n"+c);d.b("                                            \x3cdiv\x3eOccurrence\x3c/div\x3e");d.b("\n"+c);d.b("                                        \x3c/th\x3e");d.b("\n"+c);d.b('                                        \x3cth class\x3d"br-header-charge"\x3e');d.b("\n"+c);d.b("                                            \x3cdiv\x3eCharge\x3c/div\x3e");d.b("\n"+c);d.b("                                        \x3c/th\x3e");d.b("\n"+c);d.b("                                    \x3c/tr\x3e");d.b("\n"+
c);d.b("                                \x3c/thead\x3e");d.b("\n"+c);d.b("                                \x3ctbody\x3e");d.b("\n"+c);d.s(d.f("fullDisclosures",a,b,1),a,b,0,7723,8628,"{{ }}")&&(d.rs(a,b,function(a,b,d){d.b("                                    \x3ctr\x3e");d.b("\n"+c);d.b("                                        \x3ctd\x3e");d.b("\n"+c);d.b('                                            \x3cdiv class\x3d"br-full-item-text"\x3e');d.b("\n"+c);d.b('                                                \x3cdiv class\x3d"br-description-header"\x3e');
d.b(d.v(d.f("descriptionHeader",a,b,0)));d.b("\x3c/div\x3e");d.b("\n"+c);d.b('                                                \x3cdiv class\x3d"br-description-text"\x3e');d.b(d.v(d.f("descriptionText",a,b,0)));d.b("\x3c/div\x3e");d.b("\n"+c);d.b("                                            \x3c/div\x3e");d.b("\n"+c);d.b("                                        \x3c/td\x3e");d.b("\n"+c);d.b("                                        \x3ctd\x3e");d.b("\n"+c);d.b('                                          \x3cdiv class\x3d"br-occurrence"\x3e');
d.b(d.v(d.f("occurrence",a,b,0)));d.b("\x3c/div\x3e");d.b("\n"+c);d.b("                                        \x3c/td\x3e");d.b("\n"+c);d.b("                                        \x3ctd\x3e");d.b("\n"+c);d.b('                                          \x3cdiv class\x3d"br-charge"\x3e');d.b(d.t(d.f("cost",a,b,0)));d.b("\x3c/div\x3e");d.b("\n"+c);d.b("                                        \x3c/td\x3e");d.b("\n"+c);d.b("                                    \x3c/tr\x3e");d.b("\n")}),a.pop());d.b("                                \x3c/tbody\x3e");
d.b("\n"+c);d.b("                            \x3c/table\x3e");d.b("\n"+c);d.b('                            \x3cdiv class\x3d"br-further-info"\x3e');d.b("\n"+c);d.b("                                For further information contact ");d.b(d.v(d.f("mostSignificantCarrier",a,b,0)));d.b("\n"+c);d.b("                            \x3c/div\x3e");d.b("\n"+c);d.b("                        \x3c/div\x3e");d.b("\n")}),b.pop())}),b.pop())}),a.pop());b.b('            \x3cdiv class\x3d"br_breaker');b.s(b.f("last",a,
e,1),a,e,0,9117,9124,"{{ }}")&&(b.rs(a,e,function(a,b,c){c.b("_noline")}),a.pop());b.b('"\x3e \x3c/div\x3e');b.b("\n")}),a.pop());this.b("    \x3c/div\x3e");this.b("\n"+c);this.b("\n"+c);this.b("\n");return this.fl()}};Object.place("templates.vui.dynamicbaggage.dynamicbaggage.hoganTemplates",h);g.default=h});Class("VUI.ThemedFlight",{Implements:[Events,Options],Depends:["JsonEventRepeater","OverlayPanelController"],Optionally:["FlightInfoPopupController","JourneyLegPanelController","ItineraryPanel","FixedDaySearchDataSource"],Binds:"_onFlightInfoCallout _onCostSelectionChange _setUpJourneyLegpanels _panelViewChange _onItineraryPanelData _onFixedDaySearchData _onItineraryPanelThemeData".split(" "),previouslySelectedThemeCode:null,InjectAs:{name:"ThemedFlight",singleton:!0},Static:{themedFlights:{}},options:{themeFlightAssetBaseURI:"/vui/nz/co/airnz/vui/themedflights/"},
themeFlightDataHash:new Hash,themeCodesWithData:"nightrider pink2010 widebodydomestic drylease_sin drylease_eva drylease_multiple_flights".split(" "),initialize:function(a){this.setOptions(a);this.initCallbacks();this.styleItineraryPanel()},initCallbacks:function(){this.JourneyLegPanelController&&this.JourneyLegPanelController.addEvent("journeyLegPanelsInitialized",this._setUpJourneyLegpanels);this.JourneyLegPanelController&&this.JourneyLegPanelController.addEvent("costCellSelected",this._onCostSelectionChange);
this.FlightInfoPopupController&&this.FlightInfoPopupController.addEvent("shown",this._onFlightInfoCallout);this.FixedDaySearchDataSource&&this.FixedDaySearchDataSource.addEvent("newdata",this._onFixedDaySearchData)},styleItineraryPanel:function(){if(this.ItineraryPanel){var a=this.ItineraryPanel.getItineraryPanelData();a&&this._onItineraryPanelData(a);this.ItineraryPanel.addEvent("change",this._onItineraryPanelData)}},_onItineraryPanelData:function(a){var b=this,c=[];a.items.each(function(a){a.themeCode&&
c.push(a.themeCode)});c.each(function(a){b.getThemeFlightData(a,b._onItineraryPanelThemeData)})},_onItineraryPanelThemeData:function(a){var b=this.ItineraryPanel.container;if(b){var c=a.code;a.shortTitle&&b.getElements("a[class~\x3d"+c+"]").set("html",a.shortTitle)}},_setUpJourneyLegpanels:function(){var a=this;a.JourneyLegPanelController&&a.JourneyLegPanelController.journeyLegPanels.each(function(b){b.addEvent("viewChange",a._panelViewChange.pass(b))})},_panelViewChange:function(a){var b=this;a.getCurrentViewpoint().flightOptionRows.each(function(a){b.decorateFlightOptionRow(a)});
b.toggleThemeFlightHeaderText()},decorateFlightOptionRow:function(a){if(a.flightOptionData.themeCode){var b=a.flightOptionData.themeCode,c=a.elements.flightOptionRow;c.addClass(b);this.getThemeFlightData(b,function(a){if(a=a.shortTitle){var b=c.getElement(".duration a");b&&b.set("html",a)}})}},_onFixedDaySearchData:function(a){a=this.FixedDaySearchDataSource.getSearchLeg(a);this.checkForThemeFlightsInSearchResults(a)},toggleThemeFlightHeaderText:function(){var a=this;if(a.JourneyLegPanelController){var b=
document.id("theme-flight-message");if(b){b.empty();var c=[];a.JourneyLegPanelController.journeyLegPanels.each(function(a){(a=a.currentViewpoint)&&a.flightOptionRows.each(function(a){a.flightOptionData.themeCode&&c.push(a.flightOptionData.themeCode)})});0<c.length?c.each(function(c){a.getThemeFlightData(c,function(a){var c=a.headerTextSnippet;c&&!a.headerTextElement&&(a.headerTextElement=new Element("div",{html:c}));a.headerTextElement&&(a.headerTextElement.inject(b,"bottom"),b.show())})}):b.hide()}}},
_onCostSelectionChange:function(a,b,c,d){(a=c.themeCode)&&("widebodydomestic"===a||-1<a.indexOf("drylease"))&&this.showThemeFlightLightbox(a);this.previouslySelectedThemeCode=a},_onFlightInfoCallout:function(a,b){var c=this,d=[];b.element.getElements("tr");if(a&&a.data){a.data.flights.each(function(a,c){var e=a.themeCode;e&&!d.contains(e)&&d.push(e);e&&b.element.getElement("tr[data-flightnumber\x3d"+a.flightNumber+"]").addClass(e)});var e=b.element.getElement("div[class\x3dflightitinerary-foot]");
d.each(function(a){c.getThemeFlightData(a,function(b){b&&b.flightInfoTextSnippet&&(b=new Element("p",{"class":a,html:b.flightInfoTextSnippet}),e.grab(b,"top"))})})}},showThemeFlightLightbox:function(a){var b=this,c=b.getThemeFlightData(a);if(c&&c.lightboxHTML){b.themeFlightOverlay||(b.themeFlightOverlay=b.OverlayPanelController.create({showMask:!0,styleClasses:[a],styles:{width:"600px"},relativeTop:200,type:1}));if(!c.lightboxContent){var d=new SubtleTemplate({html:c.lightboxHTML});c.lightboxContent=
(new d(c)).element}d=b.themeFlightOverlay.currentThemeCode;d!==a&&(d&&b.getThemeFlightData(d).lightboxContent.dispose(),b.themeFlightOverlay.currentThemeCode=a);a=c.lightboxContent.getElements("div[class\x3dbutton-close]");a.removeEvents();a.addEvent("click",function(){b.themeFlightOverlay.hide()});a={styles:{}};c.lightboxWidth&&(a.styles.width=c.lightboxWidth);b.themeFlightOverlay.show(c.lightboxContent,a)}},checkForThemeFlightsInSearchResults:function(a){var b=this,c=[];a.legOptions.each(function(a,
b){var f=a.themeCode;f&&!c.contains(f)&&c.push(f)});c.each(function(a){b.getThemeFlightData(a)})},getThemeFlightData:function(a,b){var c=this.themeFlightDataHash.get(a);c?b&&b(c):this.doGetThemeFlightData(a,b);return c},doGetThemeFlightData:function(a,b){var c=this;if(c.themeCodesWithData.contains(a)){var d=ctx+c.options.themeFlightAssetBaseURI,e=d+a+"/themedflightdata.js",f=d+a+"/css/themedflight.css";-1<a.indexOf("drylease")&&(e=d+"drylease/themedflightdata.js",f=d+"drylease/css/themedflight.css");
new Asset.javascript(e,{id:a,onload:function(){-1<a.indexOf("drylease")&&VUI.ThemedFlight.themedFlights.configureDrylease(a);var e=VUI.ThemedFlight.themedFlights[a];e&&!c.themeFlightDataHash.has(a)?(e.baseURI=d+a,c.themeFlightDataHash.set(a,e),new Asset.css(f),e.styleSheetLoaded=!0,b&&b(e)):c.themeFlightDataHash.has(a)&&b&&b(c.themeFlightDataHash.get(a))}})}}});__registerModule("/nz/co/airnz/vui/shareitinerary/shareitinerary.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"share.itinerary.link.note.ci":"Note: Airfares may change when retrieving this trip","share.itinerary.link.note.bc":"Note: Airfares may have changed when others retrieve this trip","share.itinerary.viewInstructions":"Copy and paste this link in your browser to view the itinerary:"};Locale.define("en-NZ","vui",{shareitinerary:b});a.default=b});Class("VUI.SHAREITINERARY.ShareItineraryPanel.Tracking",{Implements:[Options,Events],Optionally:["GATracking"],InjectAs:{name:"ShareItineraryTracking",singleton:!0},options:{pages:{CI:"Create-Itinerary",MSCI:"Multistop-Create-Itinerary",BC:"Booking-Confirmation"},types:{EMAIL:"Email",FACEBOOK:"Facebook",TWITTER:"Twitter",WEIBO:"Weibo",LINKEDIN:"LinkedIn"}},initialize:function(a){this.setOptions(a)},addClickEvent:function(a,b,c){var d=this,e=d.options;a.getElement("a").addEvent("click",function(){d.GATracking&&
d.GATracking.trackGACustomEvent("Share-My-Trip",e.pages[b],e.types[c])})}});
Class("VUI.SHAREITINERARY.ShareItineraryPanel",{Implements:[Options,Events,VUI.Templates],Optionally:["JourneyLegPanelController","ShareItineraryTracking"],Binds:["_onSelectionChange"],InjectAs:{name:"ShareItineraryPanel",singleton:!0},options:{containerId:"bc-shareitinerary-panel-container",templatesContainerId:"shareitinerary-panel",url:"shareItinerary?ShortenUrl\x3d",popupOptions:{arrow:"topleft",closebutton:!0,relative:null,width:290,x:0,y:"bottom"},page:"CI"},requestInProgress:!1,shareOptionTypes:[],
shareOptionsData:null,page:null,container:null,sharelink:null,popup:null,templates:{EMAIL:null,TWITTER:null,WEIBO:null,LINKEDIN:null,FACEBOOK:null},initialize:function(a){this.setOptions(a);this.loadTemplates({componentId:"vui.shareitinerary.shareitinerary"});this.options.containerId&&(this.bcPageShareOptionsContainer=document.id(this.options.containerId));if(this.sharelinkwrap=document.id("shareitinerary-panel"))this.sharelinkwrap.adopt(this.templates.sharelink()),this.sharelink=this.sharelinkwrap.getElement("a"),
this.sharelink.addEvent("mouseover",this.showShareItineraryPopup.bind(this)),this.popup=new VUI.Popup(null,null,this.options.popupOptions),this.JourneyLegPanelController&&this.JourneyLegPanelController.addEvents({selectionChange:this._onSelectionChange,costSelectionsInitialized:this._onSelectionChange})},isShareItineraryEnabled:function(){return this.shareOptionTypes&&0<this.shareOptionTypes.length},setShareItineraryPanelData:function(a){this.shareOptionTypes=a.shareOptionTypes;0<this.shareOptionTypes.length?
"BC"===this.options.page?(this.sharelink&&(this.sharelink.style.display="none"),this.options.url+="\x26page\x3dBC",this.getShareOptionsData(!0)):"CI"===this.options.page||"MSCI"===this.options.page?this.options.url+="\x26page\x3dCI":(this.options.url+="\x26page\x3dCI",this.sharelink&&(this.sharelink.style.display="none")):(this.sharelink&&(this.sharelink.style.display="none"),this.options.url="BC"===this.options.page?this.options.url+"\x26page\x3dBC":this.options.url+"\x26page\x3dCI");this.showHideShareItineraryLink()},
showShareItineraryLink:function(a){("CI"===this.options.page||"MSCI"===this.options.page)&&this.shareOptionTypes&&0<this.shareOptionTypes.length&&(a?this.sharelink.setStyle("display","inline"):this.sharelink.setStyle("display","none"),this.popup.hide())},showShareItineraryPopup:function(){this.popup.hidedisable||this.getShareOptionsData(!0)},getShareOptionsData:function(a,b){var c=this;if(!c.requestInProgress){c.requestInProgress=!0;var d=new MtRequest.JSON({url:c.options.url,noCache:!0});d.addEvent("success",
function(e){e.data.subject=encodeURIComponent(e.data.subject);e.data.flightData=encodeURIComponent(e.data.flightData);e.data.shorturl=encodeURIComponent(e.data.shorturl);c.shareOptionsData=e;a&&c.displayShareItineraryOptions();c.requestInProgress=!1;b&&b(c.shareOptionsData)});d.get()}},displayShareItineraryOptions:function(a){a=null;"CI"===this.options.page||"MSCI"===this.options.page?(a=this.createShareOptionsContent(this.templates.ShareItineraryOptionsCI),this.popup.show(this.sharelink,null),this.popup.setContent(a,
!0),this.fireEvent("shown")):"BC"===this.options.page&&this.bcPageShareOptionsContainer&&(a=this.createShareOptionsContent(this.templates.ShareItineraryOptionsBC),this.bcPageShareOptionsContainer.adopt(a),this.fireEvent("shown"))},createShareOptionsContent:function(a){var b=this;a=a();var c=b.shareOptionTypes.map(function(a){var c=b.templates[a](b.shareOptionsData);b.ShareItineraryTracking&&b.ShareItineraryTracking.addClickEvent(c,b.options.page,a);if("EMAIL"===a&&(!Browser||"unknown"===Browser.name||
Browser.ie)&&c.getElements("a[href^\x3dmailto:]")){a=c.getElements("a[href^\x3dmailto:]")[0];var d=a.getAttribute("href");c.addEvent("click",b._doEMail.bind(b,d));a.removeAttribute("href")}return c}),d=a.getElement(".shareitinerary-options");d&&d.adopt(c);return a},_doEMail:function(a){var b=document.createElement("IFRAME");b.src=a;document.body.appendChild(b);document.body.removeChild(b)},_onSelectionChange:function(){this.showHideShareItineraryLink()},showHideShareItineraryLink:function(){"MSCI"===
this.options.page?this.showShareItineraryLink(!0):this.JourneyLegPanelController?this.showShareItineraryLink(this.JourneyLegPanelController.isAllJourneyLegCostsSelected()):this.showShareItineraryLink(!1)}});__registerModule("/nz/co/airnz/vui/shareitinerary/html/shareitinerary.template.html",function(f,d){Object.defineProperty(d,"__esModule",{value:!0});var e={sharelink:function(b,c,a){this.b(a=a||"");this.b('\x3ca class\x3d"" id\x3d"shareitinerary" style\x3d"display:none;"\x3eShare this trip\x3c/a\x3e');this.b("\n"+a);this.b("\t\x3cul\x3e");this.b("\n"+a);this.b("\t    ");return this.fl()},EMAIL:function(b,c,a){this.b(a=a||"");this.b('\x3cli class\x3d""\x3e');this.b("\n"+a);this.b('\t    \t\x3ca id\x3d"shareitinerary-EMAIL" href\x3d"mailto:?subject\x3d');
this.b(this.v(this.d("data.subject",b,c,0)));this.b("\x26body\x3d");this.b(this.v(this.d("data.subject",b,c,0)));this.b(":");this.b(this.v(this.d("data.flightData",b,c,0)));this.b("Copy and paste this link in your browser to view the itinerary: ");this.b(this.v(this.d("data.shorturl",b,c,0)));this.b('" class\x3d"emailshare vui-link-unstyled" rel\x3d"Email"\x3eEmail\x3c/a\x3e');this.b("\n"+a);this.b("\t    \x3c/li\x3e");this.b("\n"+a);this.b("\t    ");return this.fl()},TWITTER:function(b,c,a){this.b(a=
a||"");this.b('\x3cli class\x3d""\x3e');this.b("\n"+a);this.b('\t    \t\x3ca href\x3d"https://twitter.com/intent/tweet?text\x3d');this.b(this.v(this.d("data.subject",b,c,0)));this.b("\x26url\x3d");this.b(this.v(this.d("data.shorturl",b,c,0)));this.b('" class\x3d"newWindow wspec_medium twittershare vui-link-unstyled" rel\x3d"Twitter" target\x3d"_blank"\x3eTwitter\x3c/a\x3e');this.b("\n"+a);this.b("\t    \x3c/li\x3e");this.b("\n"+a);this.b("\t    ");return this.fl()},WEIBO:function(b,c,a){this.b(a=
a||"");this.b('\x3cli class\x3d""\x3e');this.b("\n"+a);this.b('\t    \t\x3ca href\x3d"" class\x3d"newWindow wspec_medium weiboshare vui-link-unstyled" rel\x3d"Weibo" target\x3d"_blank"\x3e\x3c/a\x3e');this.b("\n"+a);this.b("\t    \x3c/li\x3e");this.b("\n"+a);this.b("\t    ");return this.fl()},LINKEDIN:function(b,c,a){this.b(a=a||"");this.b('\x3cli class\x3d""\x3e');this.b("\n"+a);this.b('\t    \t\x3ca href\x3d"http://www.linkedin.com/shareArticle?mini\x3dtrue\x26url\x3d');this.b(this.v(this.d("data.shorturl",
b,c,0)));this.b("\x26title\x3d");this.b(this.v(this.d("data.subject",b,c,0)));this.b("\x26summary\x3d");this.b(this.v(this.d("data.flightData",b,c,0)));this.b('" rel\x3d"LinkedIn" class\x3d"newWindow wspec_medium linkedinshare vui-link-unstyled" target\x3d"_blank"\x3eLinkedIn\x3c/a\x3e');this.b("\n"+a);this.b("\t    \x3c/li\x3e");this.b("\n"+a);this.b("\t    ");return this.fl()},FACEBOOK:function(b,c,a){this.b(a=a||"");this.b('\x3cli class\x3d""\x3e');this.b("\n"+a);this.b('\t    \t\x3ca href\x3d"https://www.facebook.com/dialog/feed?app_id\x3d416268888482487\x26display\x3dpopup\x26name\x3d');
this.b(this.v(this.d("data.subject",b,c,0)));this.b("\x26caption\x3d%0A\x26link\x3d");this.b(this.v(this.d("data.shorturl",b,c,0)));this.b("\x26description\x3d");this.b(this.v(this.d("data.flightData",b,c,0)));this.b('\x26redirect_uri\x3dhttp://www.facebook.com" class\x3d"newWindow wspec_small facebookshare vui-link-unstyled" rel\x3d"Facebook" target\x3d"_blank"\x3eFacebook\x3c/a\x3e');this.b("\n"+a);this.b("\t    \x3c/li\x3e");this.b("\n"+a);this.b("\t\x3c/ul\x3e");this.b("\n"+a);this.b("\n"+a);
this.b("\t");return this.fl()},ShareItineraryOptionsCI:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+a);this.b('\t\t\x3cul class\x3d"shareoption_columns shareitinerary-options"\x3e\x3c/ul\x3e');this.b("\n"+a);this.b('\t\t\x3cdiv class\x3d"shareoption_note"\x3eNote: Airfares may change when retrieving this trip\x3c/div\x3e');this.b("\n"+a);this.b("\t\x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("\t");return this.fl()},ShareItineraryOptionsBC:function(b,c,a){this.b(a=
a||"");this.b('\x3cdiv class\x3d"box-content"\x3e');this.b("\n"+a);this.b('\t\t\x3cdiv class\x3d"top-inner"\x3e');this.b("\n"+a);this.b('\t\t\t\x3cdiv class\x3d"box-head"\x3e');this.b("\n"+a);this.b("\t\t\t\t\x3cdiv\x3e");this.b("\n"+a);this.b("\t\t\t\t\t\x3ch3\x3eShare this trip\x3c/h3\x3e");this.b("\n"+a);this.b("\t\t\t\t\x3c/div\x3e");this.b("\n"+a);this.b("\t\t\t\x3c/div\x3e");this.b("\n"+a);this.b('\t\t\t\x3cdiv class\x3d"inner box-padding"\x3e');this.b("\n"+a);this.b('\t\t\t\t\x3cul class\x3d"shareoption_columns shareitinerary-options"\x3e\x3c/ul\x3e');
this.b("\n"+a);this.b('\t\t\t\t\x3cdiv class\x3d"shareoption_note"\x3eNote: Airfares may have changed when others retrieve this trip\x3c/div\x3e');this.b("\n"+a);this.b("\t\t\t\x3c/div\x3e");this.b("\n"+a);this.b("\t\t\x3c/div\x3e");this.b("\n"+a);this.b("\t\x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("\t");return this.fl()},FULLITINERARY_SHARE_OPTIONS:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+a);this.b("\t\t\x3cdiv\x3e");this.b("\n"+a);this.b('\t\t\t\x3cul class\x3d"shareoption_columns shareitinerary-options"\x3e');
this.b("\n"+a);this.b('\t\t\t\t\x3cli\x3e\x3ca href\x3d"#" class\x3d"print clickable" rel\x3d"Print" onClick\x3d"window.print()"\x3ePrint\x3c/a\x3e\x3c/li\x3e');this.b("\n"+a);this.b("\t\t\t\x3c/ul\x3e");this.b("\n"+a);this.b('\t\t\t\x3cdiv class\x3d"shareoption_note"\x3eNote: Airfares may have changed when others retrieve this trip\x3c/div\x3e');this.b("\n"+a);this.b("\t\t\x3c/div\x3e");this.b("\n"+a);this.b("\t\x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.shareitinerary.shareitinerary.hoganTemplates",
e);d.default=e});Class("VUI.Tabs",{Implements:[Options,Events],Binds:["tabChanged","scrollLeft","scrollRight","_scroll","_scrollTo"],options:{tabContainer:null,contents:null,visibleLimit:4,tabwidth:null,tabmargin:null,tabheight:null,singleContent:!1,doSpin:!0},initialize:function(a){this.setOptions(a);this.current=this.leftmost=0;this.tabContainer=document.id(this.options.tabContainer);this.tabs=this.tabContainer.getElements("li");this.options.contents&&(this.contents=$$(this.options.contents));this.tabs.each(function(a,
b){a.store("index",b)});a=this.tabs.getLast();this.tabCount=this.tabs.length;this.options.tabmargin=a.getStyle("margin-right").toInt();this.options.tabwidth=a.getSize().x;this.options.tabheight=this.tabs[0].getSize().y;a=this.tabContainer.getElement("ul");this.tabCount>this.options.visibleLimit?(this.scrolling=!0,a.setStyles({width:(this.options.tabwidth+this.options.tabmargin)*this.tabCount,height:this.options.tabheight,display:"block"}),(new Element("div",{"class":"tabwrapper",styles:{height:this.options.tabheight,
width:this.options.tabwidth*this.options.visibleLimit+this.options.tabmargin*(this.options.visibleLimit-1),overflow:"hidden","float":"left","margin-right":this.options.tabmargin}})).inject(this.tabContainer).adopt(a).setStyles(),this.addLeftRight(),this._updateLRButtons(),this.slider=new Fx.Tween(a,{duration:125,transition:Fx.Transitions.Quad.easeOut})):this.scrolling=!1;this.tabContainer.addEvent("click:relay(li)",this._scrollTo)},addLeftRight:function(){var a=this.tabContainer;this.buttons={};this.buttons.l=
new Element("button",{html:"\x26lt;","class":"prev",events:{click:this.scrollLeft}});this.buttons.l.inject(a,"top");this.buttons.r=new Element("button",{html:"\x26gt;","class":"next",events:{click:this.scrollRight}});this.buttons.r.inject(a,"bottom")},activateIndex:function(a,c){this.tabs.removeClass("current");this.tabs.getElements("[role\x3dtab]").each(function(a){a.set("aria-selected",!1)});this.tabs[a].addClass("current");var b=this.tabs[a].getElement("[role\x3dtab]");b&&b.set("aria-selected",
!0);this.current=a;c&&this.fireEvent("changeTab",this.current);this._updateLRButtons()},getActiveTabElement:function(){return this.tabs[this.current]},_activate:function(a){this.activateIndex(a,a!==this.current)},_updateLRButtons:function(){this.scrolling&&(0===this.current?this.buttons.l.fade(.2):this.buttons.l.fade(1),this.current===this.tabs.length-1?this.buttons.r.fade(.2):this.buttons.r.fade(1))},scrollLeft:function(a){a&&a.stop();this._scroll(this.current-1)},scrollRight:function(a){a&&a.stop();
this._scroll(this.current+1)},_scroll:function(a){a=a.limit(0,this.tabCount-1);this.leftmost=a.limit(0,this.tabCount-this.options.visibleLimit);this._activate(a);this.scrolling&&this.slider.start("margin-left",0-this.leftmost*(this.options.tabwidth+this.options.tabmargin))},_scrollTo:function(a,c){a.preventDefault();var b=c.retrieve("index");this._scroll(b)},getActiveTabIndex:function(){return this.current}});Class("VUI.GATracking",{InjectAs:{name:"GATracking",singleton:!0},trackGACustomEvent:function(c,d,a){try{if("function"===typeof ga){var b={};b.eventCategory=c;b.eventAction=d;a&&(b.eventLabel=a);ga("send","event",b)}else"undefined"!==typeof _gaq&&(a||null!==a?_gaq.push(["_trackEvent",c,d,a]):_gaq.push(["_trackEvent",c,d]))}catch(e){}}});Class("VUI.ValidationController",{Implements:[Options,Events],options:{},InjectAs:{name:"ValidationController",singleton:!0},initialize:function(a){this.setOptions(a)},createValidator:function(a,b){var d=Object.merge({showError:this.showError,hideError:this.hideError},b);return new VUI.Validator(a,d)},showError:function(a){a.reveal({duration:200})},hideError:function(a){a.dissolve({duration:200})}});
Class("VUI.Validator",{Implements:[Options,Events],Binds:["adviceShowing","adviceHiding","updateGroupHeights"],options:{validations:[],inline:!0,skipInvisibleElements:!1,fieldSelectors:"select, input, textarea, .input-fields-container"},formContainer:null,formElements:null,validators:[],keyedgroups:{},timers:{},initialize:function(a,b){this.setOptions(b);this.formContainer=a;this.initValidations()},initValidations:function(){var a=this,b={errorPrefix:"",warningPrefix:""},b=Object.merge(b,a.options);
!0===a.options.inline?(a.formValidatorInstance=new Form.Validator.Inline(a.formContainer,b),a.formValidatorInstance.addEvent("showAdvice",function(d,c,b){a.fireEvent("adviceShowing",[d,c,b]);c.setProperties({role:"alert","aria-hidden":!1});d.set("aria-invalid","true");d.set("aria-describedby",c.id);a.adviceShowing(d,c,b)}),a.formValidatorInstance.addEvent("hideAdvice",function(b,c,e){a.fireEvent("adviceHiding",[b,c,e]);c.removeProperty("role");c.setProperty("aria-hidden",!0);b.erase("aria-invalid");
b.erase("aria-describedby");a.adviceHiding(b,c,e)})):(a.formValidatorInstance=new Form.Validator(a.formContainer,b),a.formValidatorInstance.addEvent("elementFail",function(b,c,e){a.fireEvent("adviceShowing",[b,c,e]);c.setProperties({role:"alert","aria-hidden":!1});b.set("aria-invalid","true");b.set("aria-describedby",c.id);a.adviceShowing(b,c,e)}),a.formValidatorInstance.addEvent("elementPass ",function(b,c,e){a.fireEvent("adviceHiding",[b,c,e]);c.removeProperty("role");c.setProperty("aria-hidden",
!0);b.erase("aria-invalid");b.erase("aria-describedby");a.adviceHiding(b,c,e)}));a.options.validations.each(function(b){b=new VUI.InputValidator(b.name,b.options);b.inject(a.formValidatorInstance);a.validators.push(b)});a.formValidatorInstance.getFields().each(function(a){a.removeClass=function(a){this.hasClass(a)&&(this.className=this.className.replace(new RegExp("(^|\\s)"+a+"(?:\\s|$)"),"$1"));return this}});Browser.ie&&(a.formValidatorInstance.stop(),function(){a.formValidatorInstance.start()}.delay(1E3))},
adviceShowing:function(a,b,d){},adviceHiding:function(a,b,d){},configureErrorMessageGrouping:function(a){var b=this;b.formContainer.getElements("."+a).each(function(a){var c=a.get("data-group");c&&(b.keyedgroups[c]||(b.keyedgroups[c]=[]),b.keyedgroups[c].push(a))});b.addEvents({adviceShowing:b.updateGroupHeights,adviceHiding:b.updateGroupHeights})},updateGroupHeights:function(a,b,d){var c=this,e=null;(a=a.get("validatorProps"))&&(b=$(a.msgPos))&&(e=b.get("data-group"));e&&(c.timers[e]=c.updateKeyedGroup.periodical(20,
c,[e,a.msgPos]),function(){clearInterval(c.timers[e])}.delay(1E3))},updateKeyedGroup:function(a,b){if(a&&this.keyedgroups[a]){var d=this.keyedgroups[a],c=0;d.each(function(a){var b=a.getElement(".validation-advice");null!==b&&b.isVisible()&&(a=a.getDimensions().y,a>c&&(c=a))});d.each(function(a){a.id!==b?(a.setStyle("display",0===c?"none":"block"),a.setStyle("height",c)):0===c&&a.setStyle("height","")})}},prefetchValidationFields:function(){this.formElements||(this.formElements=this.formContainer.getElements("*[data-validators]"))},
isValid:function(){var a=this;a.prefetchValidationFields();var b=[];a.formElements.each(function(d){d.get("validators").each(function(c){var e=a.formValidatorInstance.getValidator(c),f=!0;e&&(!1===a.options.skipInvisibleElements||!0===a.options.skipInvisibleElements&&d.isVisible())&&(f=e.test(d));c=0===c.indexOf("warn-");f||c||b.push(1)})});return 0===b.length},getErrors:function(){var a=this;a.prefetchValidationFields();var b=[];a.formElements.each(function(d){d.get("validators").each(function(c){(c=
a.formValidatorInstance.getValidator(c))&&!c.test(d)&&(c=c.getError(),null!==c&&0!==c.length&&b.push(c))})});return b},ignoreField:function(a){this.formValidatorInstance.ignoreField(a)},enforceField:function(a){this.formValidatorInstance.enforceField(a)},resetField:function(a){a&&(a.erase("aria-invalid"),this.formValidatorInstance.resetField(a))},reset:function(){this.formValidatorInstance.reset()},validate:function(){return this.formValidatorInstance.validate()},validateField:function(a){this.formValidatorInstance.validateField(a)},
destroy:function(){this.validators=[];this.removeEvents();this.formValidatorInstance.removeEvents();delete this.formValidatorInstance},watchFields:function(a){this.formValidatorInstance.watchFields(a)}});
Class("VUI.InputValidator",{Extends:InputValidator,preferentialValidators:[],msgPos:null,options:{validationTest:function(){return!0},preferredValidators:[]},initialize:function(a,b){this.parent(a,b)},test:function(a){for(var b=0;b<this.preferentialValidators.length;b++)if(!this.preferentialValidators[b].test(a))return!0;b=this.options.validationTest(a)||a.hasClass("ignoreValidation");!this.msgPos&&(a=a.get("validatorProps"))&&(this.msgPos=$(a.msgPos));!b&&this.msgPos&&this.msgPos.setStyle("display",
"block");return b},inject:function(a){for(var b=0;b<this.options.preferredValidators.length;b++)this.preferentialValidators.push(a.getValidator(this.options.preferredValidators[b]));a.validators[this.className]=this}});VUI.StripesErrorsManager=new Class({Implements:[Events,Options],groups:{},Binds:["showStripesAjaxValidationErrors","hideErrors"],options:{globalMessageContainerId:null,stripesMessageClassName:".errormsg",stripesGlobalMessageClassName:".header-msg-error",hideErrorsOnSubmit:!1,hideErrorsOnBlur:!1},initialize:function(a){this.setOptions(a);this.initForm()},initForm:function(){var a=document.id(this.options.formId);a||(a=document.getElement("[name\x3d"+this.options.formId+"]"));a&&this.setFormContainer(a)},
setFormContainer:function(a){this.formContainer=a;this.initStripesErrors();this.options.hideErrorsOnSubmit&&this.formContainer.addEvent("submit",this.hideErrors)},initStripesErrors:function(){var a=this,c=a._getErrorElements(),b=0;c.each(function(d){var e=d.get("data-group");if(!a.isDivEmpty(d)){e&&(b=e);d.setStyle("display","block");var f=d.get("data-for");f&&f.split(" ").each(function(b){if(b=a.formContainer[b]){b=$(b);var f=function(){a._hideErrorElement(d,e);a.hideGloablErrorIfAllOtherErrorsEmpty(d,
c)};b.addEvent("change",f);a.options.hideErrorsOnBlur&&b.addEvent("blur",f)}})}e&&a.updateGroup(e,b,d)})},hideErrors:function(a){var c=this;c._getErrorElements().each(function(b,d){c._hideErrorElement(b,d,a)},this);c.hideGlobalError()},_getErrorElements:function(){return this.formContainer.getElements(this.options.stripesMessageClassName)},_hideErrorElement:function(a,c,b){var d=this;b?(a.innerHTML="",c&&d.hideOthersIfAllEmpty(c),a.hide()):(b=new Fx.Reveal(a,{duration:"short",onComplete:function(){a.innerHTML=
"";c&&d.hideOthersIfAllEmpty(c)}}),c&&(d.timer=d.groupanimation.periodical(20,d,[b,c])),b.dissolve());d.formContainer&&(b=a.get("data-for"))&&(b=d.formContainer.getElement("*[name\x3d"+b+"]"))&&b.erase("aria-invalid")},groupanimation:function(a,c){a.isRunning()?this.hideOthersIfAllEmpty(c):clearInterval(this.timer)},hideOthersIfAllEmpty:function(a){var c=this;if(a=c.groups[a]){var b=0;a.each(function(a){c.isDivEmpty(a)||(a=a.getDimensions().y,b=a>b?a:b)});a.each(function(a){a.setStyle("display",0===
b?"none":"block");a.setStyle("height",b)})}},updateGroup:function(a,c,b){var d=this;d.groups[a]||(d.groups[a]=[]);d.groups[a].push(b);if(a===c){var e=0;d.groups[a].each(function(a){d.isDivEmpty(a)||(a=a.getDimensions().y,e=a>e?a:e)});d.groups[a].each(function(a){a.setStyle("display",0===e?"none":"block");a.setStyle("height",e)})}},showStripesAjaxValidationErrors:function(a,c){var b=document.getElementById(a.formId);b||(b=document.getElement("[name\x3d"+a.formId+"]"));a.fields.each(function(a){var c=
b.getElementById(a.field);c||(c=b.getElement("[name\x3d"+a.field+"]"));var d=c.get("validatorProps"),g=null;d&&(g=b.getElementById(d.msgPos));null!==g&&(g.empty(),(new Element("div",{html:a.message,"class":"validation-advice"})).inject(g),g.setStyle("display","block"),c.setAttribute("aria-invalid",!0))});if(c){var d=a.globalMessage;d&&this.showGlobalError(d)}},isDivEmpty:function(a){return""===a.innerHTML.replace(/[ \t\r\n]+/g,"")},getGlobalMessage:function(){!this.headerMessage&&(this.headerMessage=
$$(this.options.stripesGlobalMessageClassName)[0])&&(this.GlobalMsgReveal=new Fx.Reveal(this.headerMessage,{duration:"short"}));return this.headerMessage},showGlobal:function(){var a=this.getGlobalMessage();a&&!this.isDivEmpty(a.getElements(".msg")[0])&&this.GlobalMsgReveal.reveal()},hideGloablErrorIfAllOtherErrorsEmpty:function(a,c){var b=this,d=!0;c.each(function(c){a===c||b.isDivEmpty(c)||(d=!1)});d&&b.hideGlobalError()},hideGlobalError:function(){this.getGlobalMessage()&&this.GlobalMsgReveal.dissolve()},
showGlobalError:function(a){var c=this.getGlobalMessage();if(!c){var c=new Element("div",{"class":"header-msg-error",html:"\x3cdiv\x3e\x3cdiv class\x3d'icon'\x3e\x3c/div\x3e\x3cdiv class\x3d'msg'\x3e\x3c/div\x3e\x3c/div\x3e"}),b=$$(".left-container")[0];this.options.globalMessageContainerId&&(b=document.id(this.options.globalMessageContainerId));b&&c.inject(b,"top")}c&&c.getElements(".msg")[0].set("html",a);this.showGlobal()}});__registerModule("/nz/co/airnz/vmanage/sessiontimeout/sessiontimeout.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"sessiontimeout.timer.message":"Your session will be reset in {{duration}}."};Locale.define("en-NZ","vmanage",{sessiontimeout:b});a.default=b});__registerModule("/nz/co/airnz/vmanage/sessiontimeout/html/sessiontimeout.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={sessionTimeout:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"vmg-session-timeout-dialog"\x3e');this.b("\n"+a);this.b('    \x3ch1 class\x3d"visible" aria-hidden\x3d"true"\x3eYou are about to run out of time!\x3c/h1\x3e');this.b("\n"+a);this.b('    \x3cp aria-hidden\x3d"true"\x3eYou can continue your change by choosing the option below.\x3c/p\x3e');
this.b("\n"+a);this.b('    \x3cdiv class\x3d"vmg-session-timeout-actions"\x3e');this.b("\n"+a);this.b('      \x3cbutton name\x3d"extend" type\x3d"submit" class\x3d"vbutton" aria-describedby\x3d"session-timeout-screen-reader-warning-text" data-bind\x3d"click: $root.extendSession"\x3e');this.b("\n"+a);this.b("      \t\x3cspan\x3eContinue\x3c/span\x3e");this.b("\n"+a);this.b("      \x3c/button\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b('    \x3cdiv aria-hidden\x3d"true"\x3e');
this.b("\n"+a);this.b('      \x3cspan data-bind\x3d"html: $root.countdownMsg"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b('    \x3cdiv class\x3d"sr-only" id\x3d"session-timeout-screen-reader-warning-text"\x3e');this.b("\n"+a);this.b("      \x3ch1\x3eYou are about to run out of time!\x3c/h1\x3e");this.b("\n"+a);this.b("      \x3cp\x3eYou can continue your change by choosing the option below.\x3c/p\x3e ");this.b("\n"+a);this.b('      \x3cp role\x3d"timer" aria-atomic\x3d"true"\x3e');
this.b("\n"+a);this.b('        \x3cspan data-bind\x3d"html: $root.countdownMsg"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("      \x3c/p\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("  ");this.b("\n"+a);this.b("  ");return this.fl()},sessionTimeoutTimedOut:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"vmg-session-timeout-dialog"\x3e');this.b("\n"+a);this.b('    \x3ch1 class\x3d"visible" aria-hidden\x3d"true"\x3eYou have run out of time to complete this change!\x3c/h1\x3e');
this.b("\n"+a);this.b('    \x3cdiv class\x3d"vmg-session-timeout-actions"\x3e');this.b("\n"+a);this.b('      \x3cbutton name\x3d"redirect" type\x3d"submit" class\x3d"vbutton" aria-describedby\x3d"session-timeout-screen-reader-timed-out-text" data-bind\x3d"click: $root.redirectToStart"\x3e');this.b("\n"+a);this.b("      \t\x3cspan\x3eStart again\x3c/span\x3e");this.b("\n"+a);this.b("      \x3c/button\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b('    \x3cdiv class\x3d"sr-only" id\x3d"session-timeout-screen-reader-timed-out-text"\x3e');
this.b("\n"+a);this.b("      \x3ch1\x3eYou have run out of time to complete this change!\x3c/h1\x3e");this.b("\n"+a);this.b("\t\x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vmanage.sessiontimeout.sessiontimeout.hoganTemplates",c);b.default=c});(function(){Class("VManage.SessionTimeoutWarningViewModel",{Implements:[Options],Depends:["SessionTimeoutController"],Binds:["_reset","_startCountdown"],option:{countdownMsg:""},initialize:function(b){var a=this;a.setOptions(b);a.shown=ko.observable(!1);a.countdown=ko.observable(null);a.countdownMsg=ko.pureComputed(function(){return a.options.countdownMsg.substitute({duration:VUI.DateFormatter.formatDurationInSeconds(a.countdown())})});a.SessionTimeoutController.addEvent("timedOut",a._reset);a.SessionTimeoutController.addEvent("timeoutWarning",
a._startCountdown)},_startCountdown:function(b){var a=this;a.shown(!0);a.countdown(b);var c=function(){0===a.countdown()?(a._reset(),window.clearInterval(c)):a.countdown(a.countdown()-1)}.periodical(1E3)},extendSession:function(){this._reset();this.SessionTimeoutController.extendSession(!0)},_reset:function(){this.shown(!1);this.countdown(0)}})})();(function(){Class("VManage.SessionTimeoutTimedOutViewModel",{Depends:["SessionTimeoutController"],initialize:function(){var a=this;a.shown=ko.observable(!1);a.isFinal=ko.observable(!1);a.SessionTimeoutController.addEvent("timedOut",function(b){a.isFinal(b);a.shown(!0)})},redirectToStart:function(){this.SessionTimeoutController.redirectToStart()}})})();(function(){Class("VManage.SessionTimeoutPanel",{Implements:[Options,VUI.Templates,VUI.Disposable],Depends:["OverlayPanelController"],Binds:["_show","_hide"],elements:{},options:{templateId:"",name:"",actionButtonSelector:"",action:"",countdownMsg:""},initialize:function(b){var a=this;a.setOptions(b);if(!a.options.templateId)throw new (Error("options.templateId is not defined."));if(!a.options.name)throw new (Error("options.name is not defined."));a.viewModel="extend"!==a.options.action?new VManage.SessionTimeoutTimedOutViewModel:
new VManage.SessionTimeoutWarningViewModel(a.options);a.loadTemplates({componentId:a.options.templateId});b=Object.merge({type:"overlayNoclose",mask:!0,scrollWindowToCenter:!0},a.options.overlayContent);a.elements.lightbox=a.OverlayPanelController.create(b);a.viewModel.shown.subscribe(function(b){b?a._show():a._hide()})},_show:function(){this.elements.panel=this.templates[this.options.name]();ko.applyBindings(this.viewModel,this.elements.panel);this.elements.lightbox.show(this.elements.panel);document.getElement(this.options.actionButtonSelector).focus()},
_hide:function(){this.elements.lightbox.hide()}})})();(function(){Class("VManage.SessionTimeoutController",{Implements:[Events],InjectAs:{name:"SessionTimeoutController",singleton:!0},Depends:["initTimeoutConfig","JsonEventRepeater"],Optionally:["GAEventTracker"],Binds:["_trackGACustomEvent","_timeoutWarning","_timedOut","extendSession"],initialize:function(){this.config=this.initTimeoutConfig.config;this.sessionTimedOut=!1;"ALLOWED"===this.config.enabled&&(this._startTimer(),this.JsonEventRepeater.addEvent("request",this.extendSession.pass(!1)),this.config.extendSessionUrl&&
(this.extendSessionRequest=new MtRequest.JSON({url:this.config.extendSessionUrl})));if("NOT_APPLICABLE"!==this.config.enabled){var a=1E3*this.config.maxSessionLifetimeLeft;this.finalTimeoutTimer=this._timedOut.pass(!0).delay(a)}this.addEvents({timeoutWarning:this._trackGACustomEvent.pass(["session-timeout","show-warning"]),timedOut:this._trackGACustomEvent.pass(["session-timeout","timed-out"])})},_startTimer:function(){var a=1E3*this.config.maxInactiveInterval,b=a-1E3*this.config.warningInterval;
this.warningTimer&&window.clearTimeout(this.warningTimer);this.timeoutTimer&&window.clearTimeout(this.timeoutTimer);this.warningTimer=this._timeoutWarning.delay(b);this.timeoutTimer=this._timedOut.pass(!1).delay(a)},_trackGACustomEvent:function(a,b){this.GAEventTracker&&this.GAEventTracker.trackEvent(a,b)},extendSession:function(a){a&&this.sessionTimedOut&&this.redirectToStart();"ALLOWED"!==this.config.enabled||this.sessionTimedOut||(this._startTimer(),a&&(this._trackGACustomEvent("session-timeout",
"extend-session"),this.extendSessionRequest&&this.extendSessionRequest.get()))},redirectToStart:function(){this.sessionTimedOut&&(this._trackGACustomEvent("session-timeout","restarted"),window.location.href=this.config.restartUrl)},_timeoutWarning:function(){this.fireEvent("timeoutWarning",this.config.warningInterval)},_timedOut:function(a){this.sessionTimedOut||(this.sessionTimedOut=!0,window.clearTimeout(this.warningTimer),this.fireEvent("timedOut",a))}})})();Locale.AutoUse("meta[name\x3d'language']","content");var lang=Locale.get("vmanage.text");Class("VManage.Return.Controller",{Depends:["PageLoader"],initialize:function(a){var b=this;b.PageLoader.showLoading();a.addEvent("click",function(){b.PageLoader.showLoading();return!0});b.PageLoader.hideLoading()}});
Class("VManage.pages.AllPages",{Depends:["MessagePopup","JsonInterceptor","Breadcrumbs","ThemedFlight","LoginAirpoints"],Optionally:["ItineraryPanel","TaxBreakdownPopup","FullItineraryPanelController","ShareItineraryPanel"],InjectAs:{name:"VManageAllPages",singleton:!1},returnButID:"btn-return",initialize:function(){"undefined"!==typeof ItineraryPanel&&this.ItineraryPanel&&this.ItineraryPanel.setItineraryPanelData(ItineraryPanel.data);"undefined"!==typeof ShareItineraryPanel&&this.ShareItineraryPanel&&
this.ShareItineraryPanel.setShareItineraryPanelData({shareOptionTypes:ShareItineraryPanel.data});var a=$(this.returnButID);a&&new VManage.Return.Controller(a)}});
Class("VManage.JsonInterceptor",{Depends:["JsonEventRepeater","AjaxRedirectValidationHandler","AjaxErrorResponseHandler"],Binds:["checkError","checkSuccess"],initialize:function(){this.JsonEventRepeater.addEvent("error",this.checkError);this.JsonEventRepeater.addEvent("success",this.checkSuccess)},checkSuccess:function(a){this.AjaxRedirectValidationHandler.handleResponse(a)},checkError:function(a){a.contains("\x3chtml")&&this.AjaxErrorResponseHandler.handleErrorResponse(a)}});
Class("VManage.AjaxRedirectValidationHandler",{Optionally:["StripesErrorsManager"],InjectAs:{name:"AjaxRedirectValidationHandler",singleton:!0},handleResponse:function(a){a&&a.length&&0<a.length&&(a=a[0]);return a&&a.name&&"validation"===a.name&&a.data.globalMessage&&this.StripesErrorsManager?(this.StripesErrorsManager.showGlobalError(a.data.globalMessage),!1):!0}});
Class("VManage.AjaxErrorResponseHandler",{Depends:["MessagePopup","OverlayPanelController"],InjectAs:{name:"AjaxErrorResponseHandler",singleton:!0},handleErrorResponse:function(a){var b=new Element("div");a=-1!==a.indexOf("\x3cbody")?a.split(/<body.*?>|<\/body>/)[1]:a;b.set("html",a);(a=document.id("main-container"))&&a.destroy();(a=document.id("container-footer"))&&a.destroy();b.inject(document.id("page-body"),"top");this.MessagePopup.hideMessagePopup();this.OverlayPanelController.hideAll();window.scrollTo(0,
0)}});VUI.Injector.bind("MessagePopup",{klass:VUI.MessagePopup,singleton:!0,options:{popupOptions:{type:3,width:300,x:"right",y:"center"},defaultComponent:"vmanage.text"}});VUI.Injector.bind("JsonInterceptor",{klass:VManage.JsonInterceptor,singleton:!0,options:{}});VUI.Injector.bind("Breadcrumbs",{klass:VUI.Breadcrumbs,singleton:!0,options:{container:"container-breadcrumbs"}});
VUI.Injector.bind("LoginAirpoints",{klass:VUI.LoginAirpoints,singleton:!0,options:{allowLogon:airpointsLoginEnabled,authdata:LoginProfileData.data,optionEndYear:endYear,partialLogin:partialLogin,optionsUrls:{loginUrl:{formId:"form-loginForm",url:"/vmanage/actions/login"},passwordUrl:{formId:"form-forgotpass",url:"/vmanage/actions/passwordresetchallenge"},password2Url:{formId:"form-forgotpass2",url:"/vmanage/actions/passwordreset"},usernameUrl:{formId:"form-forgotusername",url:"/vmanage/actions/forgotusername"},
logoutUrl:"/vmanage/actions/logout"}}});VUI.ITINERARY&&(VUI.Injector.bind("ItineraryPanel",{klass:VUI.ITINERARY.ItineraryPanel,singleton:!0,options:{}}),VUI.ITINERARY.ItineraryPanelDataSource.implement("options",{getFullItineraryPanelDataUrl:"/vmanage/actions/fullitinerarypanel?forNewItinerary\x3d"}));VUI.SHAREITINERARY&&VUI.SHAREITINERARY.ShareItineraryPanel.implement("options",{url:ctx+"/actions/shareItinerary?ShortenUrl\x3d"});
Class("VManage.BaseController",{Implements:[Events,Options],Depends:["JsonEventRepeater","PageLoader"],Binds:["_onSubmitForm","checkContinueButtonState","_buttonStatesUpdated"],submitButton:null,options:{formId:null,continueButtonId:"btn-continue"},buttonStates:null,submitListeners:[],initialize:function(a){this.showLoading();this.setOptions(a);this.initFormSubmit();this.JsonEventRepeater.addEvent("success-buttons-state",this._buttonStatesUpdated)},showLoading:function(){this.PageLoader.showLoading()},
hideLoading:function(){this.PageLoader.hideLoading()},initFormSubmit:function(){var a=this;a.options.continueButtonId&&(a.submitButton=document.id(a.options.continueButtonId));if(a.options.formId){var b=document.id(a.options.formId);b&&(b.addEvent("submit",a._onSubmitForm),a.submitButton&&a.submitButton.addEvent("click",function(){b.setProperty("submit-button-id",a.submitButton.id)}))}},addSubmitListener:function(a){this.submitListeners.push(a)},_buttonStatesUpdated:function(a){this.buttonStates=
a.data;this.checkContinueButtonState()},canProceed:function(){this.buttonStateMessage=this.getButtonStateMessage();return!this.buttonStateMessage},getButtonStateMessage:function(){var a=this,b=null;a.buttonStates&&a.buttonStates.each(function(c){document.id(c.button);c.button===a.options.continueButtonId&&!1===c.enabled&&(b=c.message)});return b},checkContinueButtonState:function(){this.submitButton&&this.enableDisableSubmitButton(this.submitButton,this.canProceed())},enableDisableSubmitButton:function(a,
b){var c=a.hasClass("vbutton")?a:a.getParent();c.toggleClass("inactive",!b);c.toggleClass("popup-trigger",!b);this.buttonStateMessage?a.setProperty("data-messagepopup-messagetext",this.buttonStateMessage):a.removeProperty("data-messagepopup-messagetext");b?(VUI.Popup.hideAllTemporaryPopups(),a.removeProperty("tabindex")):a.setProperty("tabindex",-1)},_onSubmitForm:function(a){if(!this.canProceed())return!1;var b=this.submitListeners.every(function(b){return b(a)});b&&this.showLoading();return b},
submit:function(){this.showLoading();this.getSubmitButton().click()},getSubmitButton:function(){return this.submitButton}});
window.addEvent("pretracking",function(){VUI.ITINERARY&&VUI.ITINERARY.ItineraryPanel&&VUI.ITINERARY.ItineraryPanel.implement("options",{appContext:"vmanage",boxOptions:{collapsible:!0},flightInfoPopupOptions:{url:"/vmanage/actions/flightinfo?getPurchaseOrderFlightInfo\x3dgetPurchaseOrderFlightInfo",selector:".flightinfo"}});VUI.Injector.get("VManageAllPages");if(VManage.SessionTimeoutPanel){var a={alignCenter:!0,styles:{width:"500px",height:"auto",top:"45%"}};new VManage.SessionTimeoutPanel({templateId:"vmanage.sessiontimeout.sessiontimeout",
name:"sessionTimeout",action:"extend",actionButtonSelector:".vmg-session-timeout-actions button[name\x3dextend]",overlayContent:a,countdownMsg:Locale.get("vmanage.sessiontimeout")["sessiontimeout.timer.message"]});new VManage.SessionTimeoutPanel({templateId:"vmanage.sessiontimeout.sessiontimeout",name:"sessionTimeoutTimedOut",action:"redirect",actionButtonSelector:".vmg-session-timeout-actions button[name\x3dredirect]",overlayContent:a})}(a=document.getElement(".global-errors"))&&VUI.Injector.get("AlertAnnouncer").addAlert(a)});Class("VManage.CaptchaController",{Implements:[Events,Options],Depends:["PageLoader"],Binds:["_playAudio"],options:{imageUrl:ctx+"/actions/captcha?getCaptchaImage\x3d",audioUrl:ctx+"/actions/captcha?getCaptchaAudio\x3d"},initialize:function(a){this.PageLoader.showLoading();this.setOptions(a);(this.formContainer=document.id(this.options.formId))&&this.setUpForm();if(a=document.id("captcha-img"))a.src=this.options.imageUrl+"\x26time\x3d"+Date.now();this.initAudio();this.PageLoader.hideLoading()},initAudio:function(){var a=
document.id("captcha-container");a&&(this.audioUrl=this.options.audioUrl+"\x26time\x3d"+Date.now(),(a=a.getElement("a[class\x3dlink-captcha-audio]"))&&a.addEvent("click",this._playAudio))},_playAudio:function(a){if(a=document.id("captcha-soundplayer"))0===Browser.Plugins.Flash.version?Browser.ie?a.set("html",'\x3cembed src\x3d"'+this.audioUrl+'" type\x3d"audio/mpeg" hidden\x3d"true" autostart\x3d"true" /\x3e'):(this.soundplayer=new Element("embed",{src:this.audioUrl,type:"audio/mpeg",hidden:"true",
autostart:"true"}),a.set("html",""),this.soundplayer.inject(a)):(this.soundplayer=new Swiff(ASSET_URL+"/swf/soundplayer.swf",{params:{menu:"false",loop:"false"},vars:{soundFilePath:this.audioUrl}}),a.set("html",""),this.soundplayer.inject(a))}});VUI.Injector.bind("CaptchaController",{klass:VManage.CaptchaController,singleton:!0,options:{}});window.addEvent("pretracking",function(){VUI.Injector.get("CaptchaController",{})});__registerModule("/nz/co/airnz/vui/sessiontimeout/sessiontimeout.text.xml",function(c,a){Object.defineProperty(a,"__esModule",{value:!0});var b={"vui.sessiontimeout.heading":"You are nearly out of time to complete this booking!","vui.sessiontimeout.description":"You can continue your booking by choosing the option below.","vui.sessiontimeout.extend.session.action":"Continue with booking","vui.sessiontimeout.timer.message":'Your booking session will be reset in \x3cspan class\x3d"vui-sessiontimeout-countdown"\x3e{{duration}}\x3c/span\x3e.',
"vui.sessiontimeout.timedout.heading":"You are out of time to complete this booking!","vui.sessiontimeout.timedout.description":"Unfortunately you have not completed your purchase.","vui.sessiontimeout.redirect.session.action":"Start again"};Locale.define("en-NZ","vui",{sessiontimeout:b});a.default=b});(function(e){"function"===typeof require&&"object"===typeof exports&&"object"===typeof module?e(require("knockout"),exports):"function"===typeof define&&define.amd?define(["knockout","exports"],e):e(ko,ko.mapping={})})(function(e,f){function A(b,c){var a,d;for(d in c)if(c.hasOwnProperty(d)&&c[d])if(a=f.getType(b[d]),d&&b[d]&&"array"!==a&&"string"!==a)A(b[d],c[d]);else if("array"===f.getType(b[d])&&"array"===f.getType(c[d])){a=d;for(var e=b[d],l=c[d],p={},m=e.length-1;0<=m;--m)p[e[m]]=e[m];for(m=l.length-
1;0<=m;--m)p[l[m]]=l[m];e=[];l=void 0;for(l in p)e.push(p[l]);b[a]=e}else b[d]=c[d]}function G(b,c){var a={};A(a,b);A(a,c);return a}function C(b,c){for(var a=G({},b),e=M.length-1;0<=e;e--){var g=M[e];a[g]&&(a[""]instanceof Object||(a[""]={}),a[""][g]=a[g],delete a[g])}c&&(a.ignore=r(c.ignore,a.ignore),a.include=r(c.include,a.include),a.copy=r(c.copy,a.copy),a.observe=r(c.observe,a.observe));a.ignore=r(a.ignore,h.ignore);a.include=r(a.include,h.include);a.copy=r(a.copy,h.copy);a.observe=r(a.observe,
h.observe);a.mappedProperties=a.mappedProperties||{};a.copiedProperties=a.copiedProperties||{};return a}function r(b,c){"array"!==f.getType(b)&&(b="undefined"===f.getType(b)?[]:[b]);"array"!==f.getType(c)&&(c="undefined"===f.getType(c)?[]:[c]);return e.utils.arrayGetDistinctValues(b.concat(c))}function T(b,c){var a=e.dependentObservable;e.dependentObservable=function(a,c,d){d=d||{};a&&"object"==typeof a&&(d=a);var f=d.deferEvaluation,k=!1,D=function(a){var c=e.dependentObservable;e.dependentObservable=
v;var d=e.isWriteableObservable(a);e.dependentObservable=c;c=v({read:function(){k||(e.utils.arrayRemoveItem(b,a),k=!0);return a.apply(a,arguments)},write:d&&function(b){return a(b)},deferEvaluation:!0});c.__DO=a;return c};d.deferEvaluation=!0;a=new v(a,c,d);f||(a=D(a),b.push(a));return a};e.dependentObservable.fn=v.fn;e.computed=e.dependentObservable;var d=c();e.dependentObservable=a;e.computed=e.dependentObservable;return d}function H(b,c,a,d,g,l,p){var m="array"===f.getType(e.utils.unwrapObservable(c));
l=l||"";if(f.isMapped(b)){var k=e.utils.unwrapObservable(b).__ko_mapping__;a=G(k,a)}var D=p||g,h=function(){return a[d]&&a[d].create instanceof Function},r=function(b){return T(I,function(){return e.utils.unwrapObservable(g)instanceof Array?a[d].create({data:b||c,parent:D,skip:N}):a[d].create({data:b||c,parent:D})})},w=function(){return a[d]&&a[d].update instanceof Function},x=function(b,f){var g={data:f||c,parent:D,target:e.utils.unwrapObservable(b)};e.isWriteableObservable(b)&&(g.observable=b);
return a[d].update(g)};if(p=J.get(c))return p;d=d||"";if(m){var m=[],u=!1,n=function(a){return a};a[d]&&a[d].key&&(n=a[d].key,u=!0);e.isObservable(b)||(b=e.observableArray([]),b.mappedRemove=function(a){var c="function"==typeof a?a:function(b){return b===n(a)};return b.remove(function(a){return c(n(a))})},b.mappedRemoveAll=function(a){var c=E(a,n);return b.remove(function(a){return-1!=e.utils.arrayIndexOf(c,n(a))})},b.mappedDestroy=function(a){var c="function"==typeof a?a:function(b){return b===n(a)};
return b.destroy(function(a){return c(n(a))})},b.mappedDestroyAll=function(a){var c=E(a,n);return b.destroy(function(a){return-1!=e.utils.arrayIndexOf(c,n(a))})},b.mappedIndexOf=function(a){var c=E(b(),n);a=n(a);return e.utils.arrayIndexOf(c,a)},b.mappedGet=function(a){return b()[b.mappedIndexOf(a)]},b.mappedCreate=function(a){if(-1!==b.mappedIndexOf(a))throw Error("There already is an object with the key that you specified.");var c=h()?r(a):a;w()&&(a=x(c,a),e.isWriteableObservable(c)?c(a):c=a);b.push(c);
return c});p=E(e.utils.unwrapObservable(b),n).sort();k=E(c,n);u&&k.sort();u=e.utils.compareArrays(p,k);p={};var v,B=e.utils.unwrapObservable(c),z={},A=!0,k=0;for(v=B.length;k<v;k++){var t=n(B[k]);if(void 0===t||t instanceof Object){A=!1;break}z[t]=B[k]}var B=[],C=0,k=0;for(v=u.length;k<v;k++){var t=u[k],q,y=l+"["+k+"]";switch(t.status){case "added":var F=A?z[t.value]:K(e.utils.unwrapObservable(c),t.value,n);q=H(void 0,F,a,d,b,y,g);h()||(q=e.utils.unwrapObservable(q));y=O(e.utils.unwrapObservable(c),
F,p);q===N?C++:B[y-C]=q;p[y]=!0;break;case "retained":F=A?z[t.value]:K(e.utils.unwrapObservable(c),t.value,n);q=K(b,t.value,n);H(q,F,a,d,b,y,g);y=O(e.utils.unwrapObservable(c),F,p);B[y]=q;p[y]=!0;break;case "deleted":q=K(b,t.value,n)}m.push({event:t.status,item:q})}b(B);a[d]&&a[d].arrayChanged&&e.utils.arrayForEach(m,function(b){a[d].arrayChanged(b.event,b.item)})}else if(P(c)){b=e.utils.unwrapObservable(b);if(!b){if(h())return u=r(),w()&&(u=x(u)),u;if(w())return x(u);b={}}w()&&(b=x(b));J.save(c,
b);if(w())return b;Q(c,function(d){var f=l.length?l+"."+d:d;if(-1==e.utils.arrayIndexOf(a.ignore,f))if(-1!=e.utils.arrayIndexOf(a.copy,f))b[d]=c[d];else if("object"!=typeof c[d]&&"array"!=typeof c[d]&&0<a.observe.length&&-1==e.utils.arrayIndexOf(a.observe,f))b[d]=c[d],a.copiedProperties[f]=!0;else{var g=J.get(c[d]),p=H(b[d],c[d],a,d,b,f,b),g=g||p;if(0<a.observe.length&&-1==e.utils.arrayIndexOf(a.observe,f))b[d]=g(),a.copiedProperties[f]=!0;else{if(e.isWriteableObservable(b[d])){if(g=e.utils.unwrapObservable(g),
b[d]()!==g)b[d](g)}else g=void 0===b[d]?g:e.utils.unwrapObservable(g),b[d]=g;a.mappedProperties[f]=!0}}})}else switch(f.getType(c)){case "function":w()?e.isWriteableObservable(c)?(c(x(c)),b=c):b=x(c):b=c;break;default:if(e.isWriteableObservable(b))return q=w()?x(b):e.utils.unwrapObservable(c),b(q),q;h()||w();b=h()?r():e.observable(e.utils.unwrapObservable(c));w()&&b(x(b))}return b}function O(b,c,a){for(var d=0,e=b.length;d<e;d++)if(!0!==a[d]&&b[d]===c)return d;return null}function R(b,c){var a;c&&
(a=c(b));"undefined"===f.getType(a)&&(a=b);return e.utils.unwrapObservable(a)}function K(b,c,a){b=e.utils.unwrapObservable(b);for(var d=0,f=b.length;d<f;d++){var l=b[d];if(R(l,a)===c)return l}throw Error("When calling ko.update*, the key '"+c+"' was not found!");}function E(b,c){return e.utils.arrayMap(e.utils.unwrapObservable(b),function(a){return c?R(a,c):a})}function Q(b,c){if("array"===f.getType(b))for(var a=0;a<b.length;a++)c(a);else for(a in b)c(a)}function P(b){var c=f.getType(b);return("object"===
c||"array"===c)&&null!==b}function U(){var b=[],c=[];this.save=function(a,d){var f=e.utils.arrayIndexOf(b,a);0<=f?c[f]=d:(b.push(a),c.push(d))};this.get=function(a){a=e.utils.arrayIndexOf(b,a);return 0<=a?c[a]:void 0}}function S(){var b={},c=function(a){var c;try{c=a}catch(e){c="$$$"}a=b[c];void 0===a&&(a=new U,b[c]=a);return a};this.save=function(a,b){c(a).save(a,b)};this.get=function(a){return c(a).get(a)}}var v=e.dependentObservable,L=0,I,J,M=["create","update","key","arrayChanged"],N={},z={include:["_destroy"],
ignore:[],copy:[],observe:[]},h=z;f.isMapped=function(b){return(b=e.utils.unwrapObservable(b))&&b.__ko_mapping__};f.fromJS=function(b){if(0==arguments.length)throw Error("When calling ko.fromJS, pass the object you want to convert.");try{L++||(I=[],J=new S);var c,a;2==arguments.length&&(arguments[1].__ko_mapping__?a=arguments[1]:c=arguments[1]);3==arguments.length&&(c=arguments[1],a=arguments[2]);a&&(c=G(c,a.__ko_mapping__));c=C(c);var d=H(a,b,c);a&&(d=a);if(!--L)for(;I.length;){var e=I.pop();e&&
(e(),e.__DO.throttleEvaluation=e.throttleEvaluation)}d.__ko_mapping__=G(d.__ko_mapping__,c);return d}catch(f){throw L=0,f;}};f.fromJSON=function(b){var c=e.utils.parseJson(b);arguments[0]=c;return f.fromJS.apply(this,arguments)};f.updateFromJS=function(b){throw Error("ko.mapping.updateFromJS, use ko.mapping.fromJS instead. Please note that the order of parameters is different!");};f.updateFromJSON=function(b){throw Error("ko.mapping.updateFromJSON, use ko.mapping.fromJSON instead. Please note that the order of parameters is different!");
};f.toJS=function(b,c){h||f.resetDefaultOptions();if(0==arguments.length)throw Error("When calling ko.mapping.toJS, pass the object you want to convert.");if("array"!==f.getType(h.ignore))throw Error("ko.mapping.defaultOptions().ignore should be an array.");if("array"!==f.getType(h.include))throw Error("ko.mapping.defaultOptions().include should be an array.");if("array"!==f.getType(h.copy))throw Error("ko.mapping.defaultOptions().copy should be an array.");c=C(c,b.__ko_mapping__);return f.visitModel(b,
function(a){return e.utils.unwrapObservable(a)},c)};f.toJSON=function(b,c){var a=f.toJS(b,c);return e.utils.stringifyJson(a)};f.defaultOptions=function(){if(0<arguments.length)h=arguments[0];else return h};f.resetDefaultOptions=function(){h={include:z.include.slice(0),ignore:z.ignore.slice(0),copy:z.copy.slice(0)}};f.getType=function(b){if(b&&"object"===typeof b){if(b.constructor===Date)return"date";if(b.constructor===Array)return"array"}return typeof b};f.visitModel=function(b,c,a){a=a||{};a.visitedObjects=
a.visitedObjects||new S;var d,g=e.utils.unwrapObservable(b);if(P(g))a=C(a,g.__ko_mapping__),c(b,a.parentName),d="array"===f.getType(g)?[]:{};else return c(b,a.parentName);a.visitedObjects.save(b,d);var l=a.parentName;Q(g,function(b){if(!a.ignore||-1==e.utils.arrayIndexOf(a.ignore,b)){var m=g[b],k=a,h=l||"";"array"===f.getType(g)?l&&(h+="["+b+"]"):(l&&(h+="."),h+=b);k.parentName=h;if(-1!==e.utils.arrayIndexOf(a.copy,b)||-1!==e.utils.arrayIndexOf(a.include,b)||!g.__ko_mapping__||!g.__ko_mapping__.mappedProperties||
g.__ko_mapping__.mappedProperties[b]||!g.__ko_mapping__.copiedProperties||g.__ko_mapping__.copiedProperties[b]||"array"===f.getType(g))switch(f.getType(e.utils.unwrapObservable(m))){case "object":case "array":case "undefined":k=a.visitedObjects.get(m);d[b]="undefined"!==f.getType(k)?k:f.visitModel(m,c,a);break;default:d[b]=c(m,a.parentName)}}});return d}});__registerModule("/nz/co/airnz/vui/dialog/html/dialog.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={Dialog:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d"" role\x3d"dialog" data-bind\x3d"visible: $component.show(), vuiTabTrap"\x3e');this.b("\n"+a);this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-mask vui-dialog-mask"\x3e\x3c/div\x3e');this.b("\n"+a);this.b("\n"+a);this.b('    \x3cdiv class\x3d"vui-dialog-wrapper vui-faded-out" data-bind\x3d"vuiFadedIn: $component.show()"\x3e');
this.b("\n"+a);this.b('      \x3cdiv class\x3d"vui-dialog vui-panel" data-bind\x3d"hasFocus: $component.show()" tabindex\x3d"0"\x3e');this.b("\n"+a);this.b("        \x3c!-- ko if: $component.showDismissButton --\x3e");this.b("\n"+a);this.b('          \x3ca href\x3d"#" class\x3d"vui-link-unstyled vui-icon-close vui-dialog-close" data-bind\x3d"click: $component.dismiss"\x3e\x3c/a\x3e');this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("\n"+a);this.b('        \x3ch1 class\x3d"vui-section-heading" data-bind\x3d"html: $component.heading"\x3e\x3c/h1\x3e');
this.b("\n"+a);this.b('        \x3cp data-bind\x3d"html: $component.body"\x3e\x3c/p\x3e');this.b("\n"+a);this.b("\n"+a);this.b('        \x3cbutton class\x3d"vui-dialog-action-button btn btn-primary" data-bind\x3d"html: $component.actionLabel, click: $component.action"\x3e\x3c/button\x3e');this.b("\n"+a);this.b("\n"+a);this.b("        \x3c!-- ko template: { nodes: $componentTemplateNodes } --\x3e");this.b("\n"+a);this.b("        \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("      \x3c/div\x3e");this.b("\n"+
a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.dialog.dialog.hoganTemplates",c);b.default=c});(function(){var a={heading:"",body:"",actionLabel:"",show:!1,showDismissButton:!1,action:function(){}},b={};Class("VUI.DialogComponentViewModel",{initialize:function(c){ko.mapping.fromJS(Object.merge({},a,c),b,this)},dismiss:function(){this.show(!1)}});ko.components.register("vui-dialog",{template:{component:"vui.dialog.dialog",template:"Dialog"},viewModel:VUI.DialogComponentViewModel})})();__registerModule("/nz/co/airnz/vui/sessiontimeout/html/sessiontimeout.template.html",function(d,b){Object.defineProperty(b,"__esModule",{value:!0});var c={SessionTimeout:function(b,c,a){this.b(a=a||"");this.b('\x3cdiv class\x3d""\x3e');this.b("\n"+a);this.b("\n"+a);this.b("    \x3cdiv data-bind\x3d\"component: {name: 'vui-dialog', params: $component.dialogConfig() }\"\x3e");this.b("\n"+a);this.b("      \x3c!-- ko if: !$parent.sessionTimedOut() --\x3e");this.b("\n"+a);this.b('        \x3cp class\x3d"vui-note" role\x3d"timer" aria-atomic\x3d"true" style\x3d"display:none"');
this.b("\n"+a);this.b('            data-bind\x3d"visible: $parent.showDialog"\x3e');this.b("\n"+a);this.b('          \x3cspan class\x3d"vui-sessiontimeout-countdowntext" data-bind\x3d"html: $parent.timerMessage"\x3e\x3c/span\x3e');this.b("\n"+a);this.b("          \x3c/p\x3e");this.b("\n"+a);this.b("      \x3c!-- /ko --\x3e");this.b("\n"+a);this.b("    \x3c/div\x3e");this.b("\n"+a);this.b("  \x3c/div\x3e");this.b("\n"+a);this.b("\n");return this.fl()}};Object.place("templates.vui.sessiontimeout.sessiontimeout.hoganTemplates",
c);b.default=c});(function(){Class("VUI.sessionTimeout.SessionTimeoutDataSource",{Implements:[VUI.CatchUpEvents],ComponentDataEvents:"TimeoutConfig",InjectAs:{name:"SessionTimeoutDataSource",singleton:!0},initialize:function(){},onConfig:function(a){this.request=new MtRequest.JSON({url:a.extendSessionUrl});this.fireEvent("config",a)},extendSession:function(){this.request.get()}})})();(function(){Class("VUI.sessionTimeout.SessionTimeoutComponentViewModel",{Implements:[VUI.Disposable,Events],Depends:["SessionTimeoutModel"],Binds:["_showTimeoutWarning","_timedOut"],initialize:function(b){b=b||{};var a=this;a._lang=Locale.get("vui.sessiontimeout");a.showDialog=ko.observable(!1);a.sessionTimedOut=ko.observable(!1);a.dialogConfig=ko.observable({});a.countdownDisplay=ko.observable();a.heading=ko.observable(b.heading||a._lang["vui.sessiontimeout.heading"]);a.timedoutHeading=ko.observable(b.timedoutHeading||
a._lang["vui.sessiontimeout.timedout.heading"]);a.timerMessage=ko.pureComputed(function(){var b=a.countdownDisplay();return a._lang["vui.sessiontimeout.timer.message"].substitute({duration:b})});a.actionLabel=ko.observable(b.actionLabel||a._lang["vui.sessiontimeout.extend.session.action"]);a.timedOutActionLabel=ko.observable(b.timedOutActionLabel||a._lang["vui.sessiontimeout.redirect.session.action"]);a.addRecordedEvents(a.SessionTimeoutModel,{showWarning:a._showTimeoutWarning,timedOut:a._timedOut,
sessionExtended:function(){a.showDialog(!1)}});a.SessionTimeoutModel.countdownDisplay.subscribe(function(b){a.countdownDisplay(b)});a._handleDocumentVisibilityChange()},_showTimeoutWarning:function(){this.dialogConfig({heading:this.heading(),actionLabel:this.actionLabel(),action:this.SessionTimeoutModel.extendSession.pass(!0),show:this.showDialog});this.showDialog(!0)},_timedOut:function(){this.dialogConfig({heading:this.timedoutHeading(),actionLabel:this.timedOutActionLabel(),action:this.SessionTimeoutModel.redirectToStart,
show:this.showDialog});this.showDialog(!0);this.sessionTimedOut(!0)},_handleDocumentVisibilityChange:function(){var b=this;document.addEventListener("visibilitychange",function(){document.hidden||b.SessionTimeoutModel.checkSessionTimeout()},!1)}});ko.components.register("vui-sessiontimeout",{template:{component:"vui.sessiontimeout.sessiontimeout",template:"SessionTimeout"},viewModel:VUI.sessionTimeout.SessionTimeoutComponentViewModel})})();(function(){Class("VUI.sessionTimeout.SessionTimeoutModel",{Implements:[VUI.Disposable,Events],Depends:["SessionTimeoutDataSource","JsonEventRepeater","GTMEventTracker"],Binds:"_startTimer _showTimeoutWarning _timedOut _onConfig extendSession redirectToStart".split(" "),InjectAs:{name:"SessionTimeoutModel",singleton:!0},initialize:function(){var a=this;a._lang=Locale.get("vui.sessiontimeout");a.sessionTimedOut=!1;a.countdownStarted=!1;a.countdown=ko.observable(0);a.countdownDisplay=ko.pureComputed(function(){return VUI.DateFormatter.formatDurationInSeconds(a.countdown())});
a.addRecordedEvent(a.SessionTimeoutDataSource,"config:catchup",a._onConfig)},_onConfig:function(a){var b=this;b.config=a;b.maxInactiveIntervalInMiliseconds=1E3*a.maxInactiveInterval;b.warningIntervalInMiliseconds=1E3*a.warningInterval;b.timeoutWarningIntervalInMiliseconds=b.maxInactiveIntervalInMiliseconds-b.warningIntervalInMiliseconds;"ALLOWED"===b.config.enabled&&(b.JsonEventRepeater.addEvent("request",function(a){a.options.vuiTrackingKey&&"skip.session.extend"===a.options.vuiTrackingKey||b.extendSession(!1)}),
b._startTimer());"NOT_ALLOWED"===b.config.enabled&&(b.finalTimeoutTimer=b._timedOut.delay(1E3*a.maxSessionLifetimeLeft))},_startTimer:function(){window.clearInterval(this.countdownTimer);window.clearTimeout(this._timeoutTimer);window.clearTimeout(this._warningTimer);this._warningTimer=this._showTimeoutWarning.delay(this.timeoutWarningIntervalInMiliseconds);this._timeoutTimer=this._timedOut.delay(this.maxInactiveIntervalInMiliseconds);this._startTime=Date.now()},_showTimeoutWarning:function(a){"ALLOWED"===
this.config.enabled&&(this._startCountdown(a),this.fireEvent("showWarning"),this.GTMEventTracker.trackNonApplicationGeneralEvent("session timeout lightbox","displayed","continue with booking"))},_timedOut:function(){"NOT_APPLICABLE"!==this.config.enabled&&(this.sessionTimedOut=!0,window.clearTimeout(this._warningTimer),this.fireEvent("timedOut"),this.GTMEventTracker.trackNonApplicationGeneralEvent("session timeout lightbox","displayed","start again"))},_startCountdown:function(a){var b=this;b.countdown(a?
a:b.config.warningInterval);window.clearInterval(b.countdownTimer);b.countdownTimer=function(){0===b.countdown()?(window.clearInterval(b.countdownTimer),b.sessionTimedOut||b._timedOut()):b.countdown(b.countdown()-1)}.periodical(1E3);b.countdownStarted=!0},extendSession:function(a){a&&this.sessionTimedOut?this.redirectToStart():"ALLOWED"!==this.config.enabled||this.sessionTimedOut||(this._startTimer(),this.fireEvent("sessionExtended"),this.countdownStarted=!1,a&&(this.SessionTimeoutDataSource.extendSession(),
this.GTMEventTracker.trackNonApplicationGeneralEvent("session timeout lightbox","selected","continue with booking")))},redirectToStart:function(){window.location.href=this.config.restartUrl;this.GTMEventTracker.trackNonApplicationGeneralEvent("session timeout lightbox","displayed","start again")},checkSessionTimeout:function(){var a=Date.now()-this._startTime;a>this.maxInactiveIntervalInMiliseconds?this._timedOut():this.config&&"ALLOWED"===this.config.enabled&&a>this.timeoutWarningIntervalInMiliseconds&&
a<this.maxInactiveIntervalInMiliseconds&&(a=Math.round((this.maxInactiveIntervalInMiliseconds-a)/1E3),this.countdownStarted?this.countdown(a):this._showTimeoutWarning(a))}})})();__registerModule("/nz/co/airnz/vui/vauthsession/vauthsession-datasource",function(c,b){Object.defineProperty(b,"__esModule",{value:!0});var a=c("../addcomponentdataevents/addcomponentdataevents"),d=babelHelpers.interopRequireDefault(a),a=function(){function a(){babelHelpers.classCallCheck(this,a);this.config=ko.observable();this.data=ko.observable();this._eventReferences=(0,d.default)(this,"VAuthSession")}babelHelpers.createClass(a,[{key:"dispose",value:function(){this._eventReferences.dispose()}}]);
return a}();b.default=a});__registerModule("/nz/co/airnz/vui/vauthsession/vauthsessionhandler",function(h,k){Object.defineProperty(k,"__esModule",{value:!0});var e=h("./vauthsession-datasource"),m=babelHelpers.interopRequireDefault(e),e=h("../referencerecorder/referencerecorder"),n=babelHelpers.interopRequireDefault(e),l=function(d){delete d.headers["X-Requested-With"];delete d.headers["X-Request"]},f=0,g=0,e=function(){function d(){var a=this;babelHelpers.classCallCheck(this,d);this._references=new n.default;var c=new m.default;
this.sessionTimedOut=!1;this.createSessionTimeout=this.getCurrentSessionTimeout=null;c.config.subscribeNow(function(b){b&&function(){a.maintainCurrentSessionEnabled=b.maintainCurrentSessionEnabled;var c=new MtRequest.JSON({url:b.updateCurrentSessionUrl,link:"chain",vuiTrackingKey:"skip.session.extend"});f=0;a.getVAuthCurrentSessionRequest=new MtRequest.JSON({url:b.getCurrentSessionUrl,method:"get",link:"chain",withCredentials:!0,vuiTrackingKey:"skip.session.extend",onSuccess:function(a){return c.send({data:{idToken:a.id_token}})},
onFailure:function(){3>f?(f+=1,a.getVAuthCurrentSessionToken(Date.now()+1E3)):c.send()}});l(a.getVAuthCurrentSessionRequest);b.pingOnLoad&&a.getVAuthCurrentSessionToken(Date.now())}()});c.data.subscribeNow(function(b){b&&a.isCookieEnabled()&&(b.createSessionUrl?a.createVAuthSession(b.createSessionUrl):0<=b.nextPingTimeout&&a.getVAuthCurrentSessionToken(Date.now()+b.nextPingTimeout))});(c=VUI.Injector.get("LoginDataSource"))&&this._references.addRecordedEvent(c,"submitLogin",function(){a.getCurrentSessionTimeout&&
window.clearTimeout(a.getCurrentSessionTimeout)});this._references.addRecordedEvent(VUI.Injector.get("SessionTimeoutModel"),"timedOut",function(){a.sessionTimedOut=!0;a._references.dispose()})}babelHelpers.createClass(d,[{key:"isCookieEnabled",value:function(){if(this.cookiesWorking)return!0;try{Cookie.write("test1","test1");var a=Cookie.read("test1");Cookie.dispose("test1");return this.cookiesWorking=!!a}catch(c){return!1}}},{key:"createVAuthSession",value:function(a){var c=this;g=0;var b=new MtRequest({url:a,
method:"get",withCredentials:!0,onSuccess:function(){return c.getVAuthCurrentSessionToken(Date.now()+1E3)},onFailure:function(){3>g&&(g+=1,c.createSessionTimeout&&window.clearTimeout(c.createSessionTimeout),c.createSessionTimeout=window.setTimeout(function(){return b.send()},1E3))}});l(b);b.send()}},{key:"getVAuthCurrentSessionToken",value:function(a){var c=this;if(this.maintainCurrentSessionEnabled&&!this.sessionTimedOut&&this.isCookieEnabled()){var b=Math.max(0,a-Date.now());this.getCurrentSessionTimeout&&
window.clearTimeout(this.getCurrentSessionTimeout);this.getCurrentSessionTimeout=1E4<b?window.setTimeout(function(){return c.getVAuthCurrentSessionToken(a)},1E4):window.setTimeout(function(){return c.getVAuthCurrentSessionRequest.send()},b)}}}]);return d}();k.default=new e});