(function(n){n.extend(n.fn,{validate:function(t){if(!this.length){t&&t.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return}var i=n.data(this[0],"validator");return i?i:(this.attr("novalidate","novalidate"),i=new n.validator(t,this[0]),n.data(this[0],"validator",i),i.settings.onsubmit&&(this.validateDelegate(":submit","click",function(t){i.settings.submitHandler&&(i.submitButton=t.target),n(t.target).hasClass("cancel")&&(i.cancelSubmit=!0)}),this.submit(function(t){function r(){var r;return i.settings.submitHandler?(i.submitButton&&(r=n("<input type='hidden'/>").attr("name",i.submitButton.name).val(i.submitButton.value).appendTo(i.currentForm)),i.settings.submitHandler.call(i,i.currentForm,t),i.submitButton&&r.remove(),!1):!0}return i.settings.debug&&t.preventDefault(),i.cancelSubmit?(i.cancelSubmit=!1,r()):i.form()?i.pendingRequest?(i.formSubmitted=!0,!1):r():(i.focusInvalid(),!1)})),i)},valid:function(){if(n(this[0]).is("form"))return this.validate().form();var t=!0,i=n(this[0].form).validate();return this.each(function(){t&=i.element(this)}),t},removeAttrs:function(t){var i={},r=this;return n.each(t.split(/\s/),function(n,t){i[t]=r.attr(t),r.removeAttr(t)}),i},rules:function(t,i){var r=this[0],o,u,h;if(t){var e=n.data(r.form,"validator").settings,s=e.rules,f=n.validator.staticRules(r);switch(t){case"add":n.extend(f,n.validator.normalizeRule(i)),s[r.name]=f,i.messages&&(e.messages[r.name]=n.extend(e.messages[r.name],i.messages));break;case"remove":return i?(o={},n.each(i.split(/\s/),function(n,t){o[t]=f[t],delete f[t]}),o):(delete s[r.name],f)}}return u=n.validator.normalizeRules(n.extend({},n.validator.metadataRules(r),n.validator.classRules(r),n.validator.attributeRules(r),n.validator.staticRules(r)),r),u.required&&(h=u.required,delete u.required,u=n.extend({required:h},u)),u}}),n.extend(n.expr[":"],{blank:function(t){return!n.trim(""+t.value)},filled:function(t){return!!n.trim(""+t.value)},unchecked:function(n){return!n.checked}}),n.validator=function(t,i){this.settings=n.extend(!0,{},n.validator.defaults,t),this.currentForm=i,this.init()},n.validator.format=function(t,i){return arguments.length===1?function(){var i=n.makeArray(arguments);return i.unshift(t),n.validator.format.apply(this,i)}:(arguments.length>2&&i.constructor!==Array&&(i=n.makeArray(arguments).slice(1)),i.constructor!==Array&&(i=[i]),n.each(i,function(n,i){t=t.replace(new RegExp("\\{"+n+"\\}","g"),i)}),t)},n.extend(n.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:!0,errorContainer:n([]),errorLabelContainer:n([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(n){this.lastActive=n,this.settings.focusCleanup&&!this.blockFocusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,n,this.settings.errorClass,this.settings.validClass),this.addWrapper(this.errorsFor(n)).hide())},onfocusout:function(n){!this.checkable(n)&&(n.name in this.submitted||!this.optional(n))&&this.element(n)},onkeyup:function(n,t){(t.which!==9||this.elementValue(n)!=="")&&(n.name in this.submitted||n===this.lastActive)&&this.element(n)},onclick:function(n){n.name in this.submitted?this.element(n):n.parentNode.name in this.submitted&&this.element(n.parentNode)},highlight:function(t,i,r){t.type==="radio"?this.findByName(t.name).addClass(i).removeClass(r):n(t).addClass(i).removeClass(r)},unhighlight:function(t,i,r){t.type==="radio"?this.findByName(t.name).removeClass(i).addClass(r):n(t).removeClass(i).addClass(r)}},setDefaults:function(t){n.extend(n.validator.defaults,t)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:n.validator.format("Please enter no more than {0} characters."),minlength:n.validator.format("Please enter at least {0} characters."),rangelength:n.validator.format("Please enter a value between {0} and {1} characters long."),range:n.validator.format("Please enter a value between {0} and {1}."),max:n.validator.format("Please enter a value less than or equal to {0}."),min:n.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function i(t){var i=n.data(this[0].form,"validator"),r="on"+t.type.replace(/^validate/,"");i.settings[r]&&i.settings[r].call(i,this[0],t)}var r,t;this.labelContainer=n(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||n(this.currentForm),this.containers=n(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset(),r=this.groups={},n.each(this.settings.groups,function(t,i){n.each(i.split(/\s/),function(n,i){r[i]=t})}),t=this.settings.rules,n.each(t,function(i,r){t[i]=n.validator.normalizeRule(r)}),n(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ","focusin focusout keyup",i).validateDelegate("[type='radio'], [type='checkbox'], select, option","click",i),this.settings.invalidHandler&&n(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),n.extend(this.submitted,this.errorMap),this.invalid=n.extend({},this.errorMap),this.valid()||n(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var n=0,t=this.currentElements=this.elements();t[n];n++)this.check(t[n]);return this.valid()},element:function(t){t=this.validationTargetFor(this.clean(t)),this.lastElement=t,this.prepareElement(t),this.currentElements=n(t);var i=this.check(t)!==!1;return i?delete this.invalid[t.name]:this.invalid[t.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),i},showErrors:function(t){if(t){n.extend(this.errorMap,t),this.errorList=[];for(var i in t)this.errorList.push({message:t[i],element:this.findByName(i)[0]});this.successList=n.grep(this.successList,function(n){return!(n.name in t)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){n.fn.resetForm&&n(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass).removeData("previousValue")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(n){var t=0,i;for(i in n)t++;return t},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()===0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{n(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(t){}},findLastActive:function(){var t=this.lastActive;return t&&n.grep(this.errorList,function(n){return n.element.name===t.name}).length===1&&t},elements:function(){var t=this,i={};return n(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){return!this.name&&t.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in i||!t.objectLength(n(this).rules())?!1:(i[this.name]=!0,!0)})},clean:function(t){return n(t)[0]},errors:function(){var t=this.settings.errorClass.replace(" ",".");return n(this.settings.errorElement+"."+t,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=n([]),this.toHide=n([]),this.currentElements=n([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(n){this.reset(),this.toHide=this.errorsFor(n)},elementValue:function(t){var r=n(t).attr("type"),i=n(t).val();return r==="radio"||r==="checkbox"?n('input[name="'+n(t).attr("name")+'"]:checked').val():typeof i=="string"?i.replace(/\r/g,""):i},check:function(t){var r,u;t=this.validationTargetFor(this.clean(t));var f=n(t).rules(),e=!1,o=this.elementValue(t),i;for(r in f){u={method:r,parameters:f[r]};try{if(i=n.validator.methods[r].call(this,o,t,u.parameters),i==="dependency-mismatch"){e=!0;continue}if(e=!1,i==="pending"){this.toHide=this.toHide.not(this.errorsFor(t));return}if(!i)return this.formatAndAdd(t,u),!1}catch(s){throw this.settings.debug&&window.console&&console.log("exception occured when checking element "+t.id+", check the '"+u.method+"' method",s),s;}}if(!e)return this.objectLength(f)&&this.successList.push(t),!0},customMetaMessage:function(t,i){if(n.metadata){var r=this.settings.meta?n(t).metadata()[this.settings.meta]:n(t).metadata();return r&&r.messages&&r.messages[i]}},customDataMessage:function(t,i){return n(t).data("msg-"+i.toLowerCase())||t.attributes&&n(t).attr("data-msg-"+i.toLowerCase())},customMessage:function(n,t){var i=this.settings.messages[n];return i&&(i.constructor===String?i:i[t])},findDefined:function(){for(var n=0;n<arguments.length;n++)if(arguments[n]!==undefined)return arguments[n];return undefined},defaultMessage:function(t,i){return this.findDefined(this.customMessage(t.name,i),this.customDataMessage(t,i),this.customMetaMessage(t,i),!this.settings.ignoreTitle&&t.title||undefined,n.validator.messages[i],"<strong>Warning: No message defined for "+t.name+"<\/strong>")},formatAndAdd:function(t,i){var r=this.defaultMessage(t,i.method),u=/\$?\{(\d+)\}/g;typeof r=="function"?r=r.call(this,i.parameters,t):u.test(r)&&(r=n.validator.format(r.replace(u,"{$1}"),i.parameters)),this.errorList.push({message:r,element:t}),this.errorMap[t.name]=r,this.submitted[t.name]=r},addWrapper:function(n){return this.settings.wrapper&&(n=n.add(n.parent(this.settings.wrapper))),n},defaultShowErrors:function(){for(var i,t,n=0;this.errorList[n];n++)t=this.errorList[n],this.settings.highlight&&this.settings.highlight.call(this,t.element,this.settings.errorClass,this.settings.validClass),this.showLabel(t.element,t.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(n=0;this.successList[n];n++)this.showLabel(this.successList[n]);if(this.settings.unhighlight)for(n=0,i=this.validElements();i[n];n++)this.settings.unhighlight.call(this,i[n],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return n(this.errorList).map(function(){return this.element})},showLabel:function(t,i){var r=this.errorsFor(t);r.length?(r.removeClass(this.settings.validClass).addClass(this.settings.errorClass),r.attr("generated")&&r.html(i)):(r=n("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(t),generated:!0}).addClass(this.settings.errorClass).html(i||""),this.settings.wrapper&&(r=r.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.append(r).length||(this.settings.errorPlacement?this.settings.errorPlacement(r,n(t)):r.insertAfter(t))),!i&&this.settings.success&&(r.text(""),typeof this.settings.success=="string"?r.addClass(this.settings.success):this.settings.success(r,t)),this.toShow=this.toShow.add(r)},errorsFor:function(t){var i=this.idOrName(t);return this.errors().filter(function(){return n(this).attr("for")===i})},idOrName:function(n){return this.groups[n.name]||(this.checkable(n)?n.name:n.id||n.name)},validationTargetFor:function(n){return this.checkable(n)&&(n=this.findByName(n.name).not(this.settings.ignore)[0]),n},checkable:function(n){return/radio|checkbox/i.test(n.type)},findByName:function(t){return n(this.currentForm).find('[name="'+t+'"]')},getLength:function(t,i){switch(i.nodeName.toLowerCase()){case"select":return n("option:selected",i).length;case"input":if(this.checkable(i))return this.findByName(i.name).filter(":checked").length}return t.length},depend:function(n,t){return this.dependTypes[typeof n]?this.dependTypes[typeof n](n,t):!0},dependTypes:{boolean:function(n){return n},string:function(t,i){return!!n(t,i.form).length},"function":function(n,t){return n(t)}},optional:function(t){var i=this.elementValue(t);return!n.validator.methods.required.call(this,i,t)&&"dependency-mismatch"},startRequest:function(n){this.pending[n.name]||(this.pendingRequest++,this.pending[n.name]=!0)},stopRequest:function(t,i){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[t.name],i&&this.pendingRequest===0&&this.formSubmitted&&this.form()?(n(this.currentForm).submit(),this.formSubmitted=!1):!i&&this.pendingRequest===0&&this.formSubmitted&&(n(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(t){return n.data(t,"previousValue")||n.data(t,"previousValue",{old:null,valid:!0,message:this.defaultMessage(t,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(t,i){t.constructor===String?this.classRuleSettings[t]=i:n.extend(this.classRuleSettings,t)},classRules:function(t){var i={},r=n(t).attr("class");return r&&n.each(r.split(" "),function(){this in n.validator.classRuleSettings&&n.extend(i,n.validator.classRuleSettings[this])}),i},attributeRules:function(t){var u={},f=n(t),r,i;for(r in n.validator.methods)r==="required"?(i=f.get(0).getAttribute(r),i===""&&(i=!0),i=!!i):i=f.attr(r),i?u[r]=i:f[0].getAttribute("type")===r&&(u[r]=!0);return u.maxlength&&/-1|2147483647|524288/.test(u.maxlength)&&delete u.maxlength,u},metadataRules:function(t){if(!n.metadata)return{};var i=n.data(t.form,"validator").settings.meta;return i?n(t).metadata()[i]:n(t).metadata()},staticRules:function(t){var i={},r=n.data(t.form,"validator");return r.settings.rules&&(i=n.validator.normalizeRule(r.settings.rules[t.name])||{}),i},normalizeRules:function(t,i){return n.each(t,function(r,u){if(u===!1){delete t[r];return}if(u.param||u.depends){var f=!0;switch(typeof u.depends){case"string":f=!!n(u.depends,i.form).length;break;case"function":f=u.depends.call(i,i)}f?t[r]=u.param!==undefined?u.param:!0:delete t[r]}}),n.each(t,function(r,u){t[r]=n.isFunction(u)?u(i):u}),n.each(["minlength","maxlength","min","max"],function(){t[this]&&(t[this]=Number(t[this]))}),n.each(["rangelength","range"],function(){t[this]&&(t[this]=[Number(t[this][0]),Number(t[this][1])])}),n.validator.autoCreateRanges&&(t.min&&t.max&&(t.range=[t.min,t.max],delete t.min,delete t.max),t.minlength&&t.maxlength&&(t.rangelength=[t.minlength,t.maxlength],delete t.minlength,delete t.maxlength)),t.messages&&delete t.messages,t},normalizeRule:function(t){if(typeof t=="string"){var i={};n.each(t.split(/\s/),function(){i[this]=!0}),t=i}return t},addMethod:function(t,i,r){n.validator.methods[t]=i,n.validator.messages[t]=r!==undefined?r:n.validator.messages[t],i.length<3&&n.validator.addClassRules(t,n.validator.normalizeRule(t))},methods:{required:function(t,i,r){if(!this.depend(r,i))return"dependency-mismatch";if(i.nodeName.toLowerCase()==="select"){var u=n(i).val();return u&&u.length>0}return this.checkable(i)?this.getLength(t,i)>0:n.trim(t).length>0},remote:function(t,i,r){var f,u,e;return this.optional(i)?"dependency-mismatch":(f=this.previousValue(i),this.settings.messages[i.name]||(this.settings.messages[i.name]={}),f.originalMessage=this.settings.messages[i.name].remote,this.settings.messages[i.name].remote=f.message,r=typeof r=="string"&&{url:r}||r,this.pending[i.name])?"pending":f.old===t?f.valid:(f.old=t,u=this,this.startRequest(i),e={},e[i.name]=t,n.ajax(n.extend(!0,{url:r,mode:"abort",port:"validate"+i.name,dataType:"json",data:e,success:function(r){var e,h,s,o;u.settings.messages[i.name].remote=f.originalMessage,e=r===!0||r==="true",e?(h=u.formSubmitted,u.prepareElement(i),u.formSubmitted=h,u.successList.push(i),delete u.invalid[i.name],u.showErrors()):(s={},o=r||u.defaultMessage(i,"remote"),s[i.name]=f.message=n.isFunction(o)?o(t):o,u.invalid[i.name]=!0,u.showErrors(s)),f.valid=e,u.stopRequest(i,e)}},r)),"pending")},minlength:function(t,i,r){var u=n.isArray(t)?t.length:this.getLength(n.trim(t),i);return this.optional(i)||u>=r},maxlength:function(t,i,r){var u=n.isArray(t)?t.length:this.getLength(n.trim(t),i);return this.optional(i)||u<=r},rangelength:function(t,i,r){var u=n.isArray(t)?t.length:this.getLength(n.trim(t),i);return this.optional(i)||u>=r[0]&&u<=r[1]},min:function(n,t,i){return this.optional(t)||n>=i},max:function(n,t,i){return this.optional(t)||n<=i},range:function(n,t,i){return this.optional(t)||n>=i[0]&&n<=i[1]},email:function(n,t){return this.optional(t)||/^((([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(n)},url:function(n,t){return this.optional(t)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([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])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(n)},date:function(n,t){return this.optional(t)||!/Invalid|NaN/.test(new Date(n))},dateISO:function(n,t){return this.optional(t)||/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(n)},number:function(n,t){return this.optional(t)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(n)},digits:function(n,t){return this.optional(t)||/^\d+$/.test(n)},creditcard:function(n,t){var r,e;if(this.optional(t))return"dependency-mismatch";if(/[^0-9 \-]+/.test(n))return!1;var f=0,i=0,u=!1;for(n=n.replace(/\D/g,""),r=n.length-1;r>=0;r--)e=n.charAt(r),i=parseInt(e,10),u&&(i*=2)>9&&(i-=9),f+=i,u=!u;return f%10==0},equalTo:function(t,i,r){var u=n(r);return this.settings.onfocusout&&u.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){n(i).valid()}),t===u.val()}}}),n.format=n.validator.format})(jQuery),function(n){var t={},i;n.ajaxPrefilter?n.ajaxPrefilter(function(n,i,r){var u=n.port;n.mode==="abort"&&(t[u]&&t[u].abort(),t[u]=r)}):(i=n.ajax,n.ajax=function(r){var f=("mode"in r?r:n.ajaxSettings).mode,u=("port"in r?r:n.ajaxSettings).port;return f==="abort"?(t[u]&&t[u].abort(),t[u]=i.apply(this,arguments)):i.apply(this,arguments)})}(jQuery),function(n){jQuery.event.special.focusin||jQuery.event.special.focusout||!document.addEventListener||n.each({focus:"focusin",blur:"focusout"},function(t,i){function r(t){return t=n.event.fix(t),t.type=i,n.event.handle.call(this,t)}n.event.special[i]={setup:function(){this.addEventListener(t,r,!0)},teardown:function(){this.removeEventListener(t,r,!0)},handler:function(t){var r=arguments;return r[0]=n.event.fix(t),r[0].type=i,n.event.handle.apply(this,r)}}}),n.extend(n.fn,{validateDelegate:function(t,i,r){return this.bind(i,function(i){var u=n(i.target);if(u.is(t))return r.apply(u,arguments)})}})}(jQuery),function(n){function i(n,t,i){n.rules[t]=i,n.message&&(n.messages[t]=n.message)}function h(n){return n.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function f(n){return n.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g,"\\$1")}function e(n){return n.substr(0,n.lastIndexOf(".")+1)}function o(n,t){return n.indexOf("*.")===0&&(n=n.replace("*.",t)),n}function c(t,i){var r=n(this).find("[data-valmsg-for='"+f(i[0].name)+"']"),u=r.attr("data-valmsg-replace"),e=u?n.parseJSON(u)!==!1:null;r.removeClass("field-validation-valid").addClass("field-validation-error"),t.data("unobtrusiveContainer",r),e?(r.empty(),t.removeClass("input-validation-error").appendTo(r)):t.hide()}function l(t,i){var u=n(this).find("[data-valmsg-summary=true]"),r=u.find("ul");r&&r.length&&i.errorList.length&&(r.empty(),u.addClass("validation-summary-errors").removeClass("validation-summary-valid"),n.each(i.errorList,function(){n("<li />").html(this.message).appendTo(r)}))}function a(t){var i=t.data("unobtrusiveContainer"),r=i.attr("data-valmsg-replace"),u=r?n.parseJSON(r):null;i&&(i.addClass("field-validation-valid").removeClass("field-validation-error"),t.removeData("unobtrusiveContainer"),u&&i.empty())}function v(){var t=n(this);t.data("validator").resetForm(),t.find(".validation-summary-errors").addClass("validation-summary-valid").removeClass("validation-summary-errors"),t.find(".field-validation-error").addClass("field-validation-valid").removeClass("field-validation-error").removeData("unobtrusiveContainer").find(">*").removeData("unobtrusiveContainer")}function s(t){var i=n(t),r=i.data(u),f=n.proxy(v,t);return r||(r={options:{errorClass:"input-validation-error",errorElement:"span",errorPlacement:n.proxy(c,t),invalidHandler:n.proxy(l,t),messages:{},rules:{},success:n.proxy(a,t)},attachValidation:function(){i.unbind("reset."+u,f).bind("reset."+u,f).validate(this.options)},validate:function(){return i.validate(),i.valid()}},i.data(u,r)),r}var r=n.validator,t,u="unobtrusiveValidation";r.unobtrusive={adapters:[],parseElement:function(t,i){var u=n(t),f=u.parents("form")[0],r,e,o;f&&(r=s(f),r.options.rules[t.name]=e={},r.options.messages[t.name]=o={},n.each(this.adapters,function(){var i="data-val-"+this.name,r=u.attr(i),s={};r!==undefined&&(i+="-",n.each(this.params,function(){s[this]=u.attr(i+this)}),this.adapt({element:t,form:f,message:r,params:s,rules:e,messages:o}))}),n.extend(e,{__dummy__:!0}),i||r.attachValidation())},parse:function(t){var i=n(t).parents("form").andSelf().add(n(t).find("form")).filter("form");n(t).find(":input[data-val=true]").each(function(){r.unobtrusive.parseElement(this,!0)}),i.each(function(){var n=s(this);n&&n.attachValidation()})}},t=r.unobtrusive.adapters,t.add=function(n,t,i){return i||(i=t,t=[]),this.push({name:n,params:t,adapt:i}),this},t.addBool=function(n,t){return this.add(n,function(r){i(r,t||n,!0)})},t.addMinMax=function(n,t,r,u,f,e){return this.add(n,[f||"min",e||"max"],function(n){var f=n.params.min,e=n.params.max;f&&e?i(n,u,[f,e]):f?i(n,t,f):e&&i(n,r,e)})},t.addSingleVal=function(n,t,r){return this.add(n,[t||"val"],function(u){i(u,r||n,u.params[t])})},r.addMethod("__dummy__",function(){return!0}),r.addMethod("regex",function(n,t,i){var r;return this.optional(t)?!0:(r=new RegExp(i).exec(n),r&&r.index===0&&r[0].length===n.length)}),r.addMethod("nonalphamin",function(n,t,i){var r;return i&&(r=n.match(/\W/g),r=r&&r.length>=i),r}),t.addSingleVal("accept","exts").addSingleVal("regex","pattern"),t.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url"),t.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range"),t.add("equalto",["other"],function(t){var r=e(t.element.name),u=t.params.other,s=o(u,r),h=n(t.form).find(":input[name='"+f(s)+"']")[0];i(t,"equalTo",h)}),t.add("required",function(n){(n.element.tagName.toUpperCase()!=="INPUT"||n.element.type.toUpperCase()!=="CHECKBOX")&&i(n,"required",!0)}),t.add("remote",["url","type","additionalfields"],function(t){var r={url:t.params.url,type:t.params.type||"GET",data:{}},u=e(t.element.name);n.each(h(t.params.additionalfields||t.element.name),function(i,e){var s=o(e,u);r.data[s]=function(){return n(t.form).find(":input[name='"+f(s)+"']").val()}}),i(t,"remote",r)}),t.add("password",["min","nonalphamin","regex"],function(n){n.params.min&&i(n,"minlength",n.params.min),n.params.nonalphamin&&i(n,"nonalphamin",n.params.nonalphamin),n.params.regex&&i(n,"regex",n.params.regex)}),n(function(){r.unobtrusive.parse(document)})}(jQuery);var c={urlParam:function(n,t){var r=new RegExp("[&,?]"+n+"=([^\\&]*)","i"),i=r.exec(document.location.search);return i!=null?t==!0?i[1]:decodeURIComponent(i[1]):null},isArray:function(n){return Object.prototype.toString.call(n)==="[object Array]"},cookie:function(n,t,i,r){var u,f;if(t!=null){i==null&&(i={}),u="",i.minutes!=null&&(u=new Date(+new Date+i.minutes*6e4),u=";expires="+u.toGMTString()),document.cookie=n+"="+(r==!0?t:encodeURIComponent(t))+u+(i.path?";path="+i.path:"")+(i.domain?";domain="+i.domain:"")+";secure";return}return(f=document.cookie.match(new RegExp("(^| )"+n+"=([^;]*)(;|$)")),f!=null)?decodeURIComponent(f[2]):null},removeCookie:function(n,t){c.cookie(n)!=null&&(t==null&&(t={minutes:-1}),c.cookie(n,"",t))},htmlEncode:function(n){return n.replace(/&/g,"&amp;").replace(/\"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},htmlDecode:function(n){return n.replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">")},popupToggle:function(n,t,i){n.css("display","block"),t!=null&&t(),document.documentElement.onmousedown=function(t){var t,r;if(n.length!=0&&n.css("display")!="none"&&(t=window.event||t,r=t.srcElement||t.target,r!=n.parent()[0])){for(r=r.parentNode;r&&r!=n.parent()[0];)r=r.parentNode;r||(n.css("display","none"),n.prev().blur(),i!=null&&i())}}},isMobile:function(){var n=navigator.userAgent.toLowerCase(),r=n.match(/iphone os/i)=="iphone os",u=n.match(/midp/i)=="midp",f=n.match(/rv:1.2.3.4/i)=="rv:1.2.3.4",e=n.match(/ucweb/i)=="ucweb",o=n.match(/android/i)=="android",s=n.match(/windows ce/i)=="windows ce",h=n.match(/windows mobile/i)=="windows mobile",c=n.match(/webview/i)=="webview",t,i;return r||u||f||e||o||s||h?!0:(t=992,i=function(){return window.innerWidth?window.innerWidth:document.body&&document.body.clientWidth?document.body.clientWidth:void 0},i()<t)},getPriceNum:function(n,t){n=Number(n),t==null&&(t=c.showPriceFormat);var i=Number(t.split(";")[0]);return i==0?Math.ceil(n):Number(n.toFixed(i))},formatNum:function(n,t){var i="",r=0,u,f;if(n=n+"",n.indexOf(".")==-1)for(u=n.length-1;u>=0;u--)i=r%3==0&&r!=0?n.charAt(u)+","+i:n.charAt(u)+i,r++;else{for(f=n.indexOf(".")-1;f>=0;f--)i=r%3==0&&r!=0?n.charAt(f)+","+i:n.charAt(f)+i,r++;i=i+n.substr(n.indexOf("."))}return(t==null&&(t=showCurrency),t=="IDR"||t=="VND")?i.replace(/,/g,";").replace(/\./g,",").replace(/;/g,"."):i},padLeft:function(n,t,i){if(n+="",t||(t=2),i||(i="0"),n.length<t)for(var r=n.length;r<t;r++)n=i+n;return n},parseDate:function(n){var t=n.split(/-|\//);return new Date(t[1]+"/"+t[0]+"/"+t[2])},getDateFromStr:function(n){if(n=="")return"";var t=n.split(/-|\//);return t[2]+"/"+t[1]+"/"+t[0]},getDateStr:function(n){return c.padLeft(n.getDate())+"/"+c.padLeft(n.getMonth()+1)+"/"+c.padLeft(n.getFullYear())},dateFormat:function(n){var t=n.split("/"),i="";return i+=t[2],i+=Number(t[1])<10?"-0"+Number(t[1]):"-"+t[1],i+=Number(t[0])<10?"-0"+Number(t[0]):"-"+t[0]},time2unix:function(n){var t,i;return n.indexOf("T")!=-1&&(t=n.split("T"),t[1].indexOf("-")!=-1?t[1]=t[1].substr(0,t[1].indexOf("-")):t[1].indexOf("+")!=-1&&(t[1]=t[1].substr(0,t[1].indexOf("+"))),n=t[0]+" "+t[1],n.indexOf(".")!=-1&&(n=n.substr(0,n.indexOf(".")))),i=new Date(n.replace(/-/g,"/")),i.getTime()/1e3},unix2time:function(n,t){var i=new Date(n*1e3),r,u;return t==1?r=i.getHours()*60+i.getMinutes():t==2?r=c.padLeft(i.getHours())+":"+c.padLeft(i.getMinutes()):t==3||(t==4||t==5?(langCode=="zh-Hans"||langCode=="zh-Hant"?r=i.getFullYear()+"年"+(i.getMonth()+1)+"月"+i.getDate()+"日":(u=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=i.getDate()+" "+u[i.getMonth()]+" "+i.getFullYear()),t==5&&(r+=" "+c.padLeft(i.getHours())+":"+c.padLeft(i.getMinutes()))):t==6?langCode=="zh-Hans"||langCode=="zh-Hant"?r=i.getMonth()+1+"月"+i.getDate()+"日":(u=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=u[i.getMonth()]+" "+i.getDate()):r=i.getFullYear()+"/"+(i.getMonth()+1)+"/"+i.getDate()+" "+c.padLeft(i.getHours())+":"+c.padLeft(i.getMinutes())),r},keyupBindName:"",initKeyupBindName:function(){c.keyupBindName="input",navigator.userAgent.indexOf("Trident")!=-1&&(c.keyupBindName="keyup")},toThousands:function(n){for(var n=(n||0).toString(),t="";n.length>3;)t=","+n.slice(-3)+t,n=n.slice(0,n.length-3);return n&&(t=n+t),t},CITY_NAME_LANG_KEY:"",ROOT_NAME_LANG_KEY:"",HOTEL_CITY_LANG_KEY:"",HOTEL_COUNTRY_LANG_KEY:"",setLangKey:function(){POS=typeof POS!="undefined"?POS:"HK",langCode=typeof langCode!="undefined"?langCode:"en";switch(langCode){case"en":c.CITY_NAME_LANG_KEY="NAME_EN_US";break;case"zh-Hans":c.CITY_NAME_LANG_KEY="NAME_ZH_CN";break;case"zh-Hant":c.CITY_NAME_LANG_KEY="NAME_ZH_HK";break;case"ko-KR":c.CITY_NAME_LANG_KEY="NAME_KO";break;case"th-TH":c.CITY_NAME_LANG_KEY="NAME_TH";break;case"id-ID":c.CITY_NAME_LANG_KEY="NAME_ID";break;case"ms-MY":c.CITY_NAME_LANG_KEY="NAME_MS";break;case"fil-PH":c.CITY_NAME_LANG_KEY="NAME_TL";break;case"vi-VN":c.CITY_NAME_LANG_KEY="NAME_VI";break;default:c.CITY_NAME_LANG_KEY="NAME_EN_US"}c.ROOT_NAME_LANG_KEY="ROOT_"+c.CITY_NAME_LANG_KEY,c.HOTEL_CITY_LANG_KEY="CITY_"+c.CITY_NAME_LANG_KEY,c.HOTEL_COUNTRY_LANG_KEY="COUNTRY_"+c.CITY_NAME_LANG_KEY},defaultCurrency:"",defaultCurrencySign:"",defaultRate:typeof defaultRate!="undefined"?defaultRate:1,airPayCurrency:"",airPayCurrencySign:"",airPayRate:typeof airPayRate!="undefined"?airPayRate:1,airPayPriceFormat:typeof airPayPriceFormat!="undefined"?airPayPriceFormat:"0;0",hotelPayCurrency:"",hotelPayCurrencySign:"",hotelPayRate:typeof hotelPayRate!="undefined"?hotelPayRate:1,hotelPayPriceFormat:typeof hotelPayPriceFormat!="undefined"?hotelPayPriceFormat:"0;0",packagePayCurrency:"",packagePayCurrencySign:"",packagePayRate:typeof packagePayRate!="undefined"?packagePayRate:1,packagePayPriceFormat:typeof packagePayPriceFormat!="undefined"?packagePayPriceFormat:"0;0",currency:"",currencySign:"",showPriceFormat:typeof showPriceFormat!="undefined"?showPriceFormat:"0;0",initPosAndCurrency:function(){var n={AUD:"AUD",HKD:"HKD",TWD:"TWD",CNY:"CNY",JPY:"JPY",NZD:"NZD",EUR:"EUR",KRW:"KRW",SGD:"SGD",GBP:"GBP",MYR:"MYR",THB:"THB",USD:"USD",IDR:"IDR",PHP:"PHP",VND:"VND",CAD:"CAD"},t={AUD:"{0}{1}",HKD:"{0}{1}",TWD:"{0}{1}",CNY:"{0}{1}",JPY:"{0}{1}",NZD:"{0}{1}",EUR:"{0}{1}",KRW:"{0}{1}",SGD:"{0}{1}",GBP:"{0}{1}",MYR:"{0}{1}",THB:"{0}{1}",USD:"{0}{1}",IDR:"{0}{1}",PHP:"{0}{1}",VND:"{1}{0}",CAD:"{0}{1}"};c.defaultCurrency=typeof defaultCurrency!="undefined"?defaultCurrency:"HKD",c.defaultCurrencySign=n[c.defaultCurrency],c.airPayCurrency=typeof airPayCurrency!="undefined"?airPayCurrency:"HKD",c.airPayCurrencySign=n[c.airPayCurrency],c.packagePayCurrency=typeof packagePayCurrency!="undefined"?packagePayCurrency:"HKD",c.packagePayCurrencySign=n[c.packagePayCurrency],c.currency=typeof showCurrency!="undefined"?showCurrency:"HKD",c.currencySign=n[c.currency],c.currencyPattern=t[c.currency]},displayAmount:function(n,t){return c.currencyPattern.replace("{0}",n).replace("{1}",t)},ticketDate:function(n,t,i,r){var f=6,u,e,o,s;for(t!="Multi"&&POS=="HK"&&n=="HKG"&&(f=i=="normal"?2:3),t!="Multi"&&POS=="HK"&&n!="HKG"&&i!=null&&i=="normal"&&(f=5),t!="Multi"&&POS=="SG"&&n=="SIN"&&(f=3),POS=="TW"&&(f=n=="TPE"||n=="TNN"||n=="KHH"||n=="RMQ"?3:4),(POS=="TH"||POS=="MY")&&(f=3),(POS=="PH"||POS=="CN")&&(f=4),t!="Multi"&&i!=null&&i=="normal"&&r!=null&&r!=""&&("|HK|MY|PH|TH|VN|ID|CA|".indexOf(POS)>-1&&(f=r.toUpperCase()==POS?2:3),POS=="CN"&&(f=r.toUpperCase()=="HK"?2:3),(POS=="SG"||POS=="TW")&&(f=3)),u=datetimeNow=new Date,t!="Multi"&&POS=="HK"&&n=="HKG"&&i=="normal"||(e=HOLIDAYS_WORKDAYS_CLOSINGTIME[2].split(":"),u.getHours()*60+u.getMinutes()>=Number(e[0]*60)+Number(e[1])&&(u=new Date(Date.parse(u)+864e5))),o=0;o<f;)s=c.getDateStr(u),HOLIDAYS_WORKDAYS_CLOSINGTIME[0].indexOf(s)==-1&&(HOLIDAYS_WORKDAYS_CLOSINGTIME[1].indexOf(s)!=-1||u.getDay()!=6&&u.getDay()!=0)&&o++,u=new Date(Date.parse(u)+864e5);return u=new Date(Date.parse(u)-864e5),(datetimeNow.getDay()==6||datetimeNow.getDay()==0)&&(u=new Date(Date.parse(u)-864e5)),c.getDateStr(u)},chooseFAQ:function(){$(".mobile_FaqSel select").change(function(){location.href=$(this).val()})},chooseCountryCurrency:function(){var t,n,i,r;typeof Common_MultilingualJS!="undefined"&&(function(){var n=Common_MultilingualJS.language,t="",i;for(i in n)t+='<li code="'+n[i]+'">'+n[i].split("&")[2]+"<\/li>";$(".CountrySel").next().find("ul").html(t),$(".mobile_CountrySel select").html(t.replace(/<li /g,"<option ").replace(/ code=/g," value="))}(),t=c.cookie("country_currency_"+POS),t=t!=null?t.split("|")[1]:"",n=[Common_MultilingualJS.language[langCode],t],$(".CountrySel").children().eq(0).html(n[0].split("&")[2]),$(".Currency_Sel").children().eq(0).html(n[1]==""?c.currency:n[1]),$(".mobile_CountrySel select").val(n[0]),$(".mobile_Currency_Sel select").val(n[1]==""?c.currency:n[1]),i=function(t){var f=t.split("&")[1],i=location.href,s,r,e,u,o;if(i.toLowerCase().indexOf("/packages/selectflights")!=-1||i.toLowerCase().indexOf("/packages/selecthotels")!=-1||i.toLowerCase().indexOf("/packages/selectrooms")!=-1||i.toLowerCase().indexOf("/packages/packagecombo")!=-1)if(websiteRootPath.lastIndexOf("/")==0){if(websiteRootPath+"/"=="/"+f+"/")return}else if(websiteRootPath+"/"=="/"+POS.toLowerCase()+"/"+f+"/")return;if(s=t+"|"+n[1],c.cookie("country_currency_"+POS,s,{minutes:259200,path:"/"}),r=location.href,r=websiteRootPath.lastIndexOf("/")==0?r.replace(websiteRootPath+"/","/"+f+"/"):r.replace(websiteRootPath+"/","/"+POS.toLowerCase()+"/"+f+"/"),i.toLowerCase().indexOf("/packages/selectflights")!=-1)$("#bookForm #token").val("");else if(i.toLowerCase().indexOf("/packages/selecthotels")!=-1||i.toLowerCase().indexOf("/packages/selectrooms")!=-1||i.toLowerCase().indexOf("/packages/packagecombo")!=-1){if(e=undefined,$("#flight_query").length>0&&$("#flight_query").val()!=""&&(e=$("#flight_query").val()),e!=null)e=e.split("&&&");else return;$("#packageSearchForm").length==0&&(u=document.createElement("form"),u.setAttribute("method","post"),u.setAttribute("id","packageSearchForm"),u.setAttribute("class","lang_change_submit"),u.setAttribute("enctype","multipart/form-data"),u.innerHTML="<input id='flight_query' name='flight_query' type='hidden' /><input id='select_dp_type' name='select_dp_type' type='hidden' /><input id='hotel_query' name='hotel_query' type='hidden' /><input id='AFFILIATE_UTM' name='AFFILIATE_UTM' type='hidden' />",document.getElementsByTagName("body")[0].appendChild(u)),$("#packageSearchForm #flight_query").val($("#bookForm #flight_query").val()),$("#packageSearchForm #hotel_query").val($("#bookForm #hotel_query").val()),$("#packageSearchForm #select_dp_type").val($("#bookForm #select_dp_type").val()),$("#packageSearchForm #AFFILIATE_UTM").val($("#bookForm #AFFILIATE_UTM").val()),o=websiteRootPath+"/"+decodeURIComponent(e[4]),o=websiteRootPath.lastIndexOf("/")==0?o.replace(websiteRootPath+"/","/"+f+"/"):o.replace(websiteRootPath+"/","/"+POS.toLowerCase()+"/"+f+"/"),$("#packageSearchForm").attr("action",o),$("#packageSearchForm").submit();return}$(".lang_change_submit").length>0?($(".lang_change_submit").attr("action",r),$(".lang_change_submit").submit()):location.href=r},$(".CountrySel").click(function(){$(".CountrySel").children().eq(2).css("display","block"),$(this).parents(".bar").find(".barpop").slideToggle(200,function(){$(this).css("display")=="none"&&$(".CountrySel").children().eq(2).css("display","none")}),c.popupToggle($(this).siblings(".barpop"),null,function(){$(".CountrySel").children().eq(2).css("display","none")}),$(this).parent().find("li").unbind("click").click(function(){i($(this).attr("code"))})}),$(".mobile_CountrySel select").change(function(){i($(this).val())}),r=function(t){var i=n[0]+"|"+t;c.cookie("country_currency_"+POS,i,{minutes:259200,path:"/"}),location.href.toLowerCase().indexOf("/flights/")!=-1?$(".lang_change_submit").length>0?$(".lang_change_submit").submit():location.href=location.href:location.href.toLowerCase().indexOf("/packages/")!=-1?$(".lang_change_submit").length>0?($(".lang_change_submit").attr("action",location.href),$(".lang_change_submit").submit()):location.href=location.href:($(".Currency_Sel").children().eq(0).html(t),$(".Currency_Sel").children().eq(2).css("display")!="none"&&$(".Currency_Sel").click(),$(".mobile_Currency_Sel select").val(t)),$(".lang_change_submit").length>0?($(".lang_change_submit").attr("action",location.href),$(".lang_change_submit").submit()):location.href=location.href},$(".Currency_Sel").click(function(){$(".Currency_Sel").children().eq(2).css("display","block"),$(this).parents(".bar").find(".barpop").slideToggle(200,function(){$(this).css("display")=="none"&&$(".Currency_Sel").children().eq(2).css("display","none")}),c.popupToggle($(this).siblings(".barpop"),null,function(){$(".Currency_Sel").children().eq(2).css("display","none")}),$(this).parent().find("li").unbind("click").click(function(){r($(this).attr("code"))})}),$(".mobile_Currency_Sel select").change(function(){r($(this).val())}))},initSearchLog:function(){var n=function(){var LogList,fli_sear_log,fli_sear_log_html,searLogIdx,hotels_recent_sear_logs,hLogIdx,one_his,default_url,dp_sear_log,dp_sear_log_html,dpLogIdx,time,logIdx;$("#search_log_list").empty(),LogList=[];try{if(fli_sear_log=localStorage.flight_sear_log_new,fli_sear_log!=null){for(fli_sear_log=decodeURIComponent(fli_sear_log),fli_sear_log_html="",fli_sear_log=fli_sear_log.split("#"),searLogIdx=0;searLogIdx<fli_sear_log.length;searLogIdx++)if(fli_sear_log[searLogIdx]!=""){var log_info=fli_sear_log[searLogIdx].split("&"),date_arr=log_info[2].split("|"),orig_city_data=eval("("+log_info[0]+")"),dest_city_data=eval("("+log_info[1]+")");orig_city_data[c.CITY_NAME_LANG_KEY]!=undefined&&dest_city_data[c.CITY_NAME_LANG_KEY]!=undefined&&(fli_sear_log_html="<li><div name='fli_log' class='top_edit_Re' data='"+encodeURIComponent(fli_sear_log[searLogIdx])+"'><span class='top_edit_Re_From'>"+Common_MultilingualJS.search_history.flight+"<\/span><br /><span class='top_edit_Re_Airport'>"+orig_city_data[c.CITY_NAME_LANG_KEY].split(", ")[0]+" "+Common_MultilingualJS.search_history.to+" "+dest_city_data[c.CITY_NAME_LANG_KEY].split(", ")[0]+"<\/span><br /><span class='top_edit_Re_Time'>"+date_arr[0]+(date_arr.length>1?" - "+date_arr[1]+"("+Common_MultilingualJS.search_history.return1+")":"")+"<\/span><br /><\/div><div name='fli_log_close' class='top_edit_Re_close'>×<\/div><\/li>",time=log_info.length>4?log_info[4]:"0",LogList.push([time,fli_sear_log_html]))}!0&&($("#search_log_list [name='fli_log']").live("click",function(){var data_arr=decodeURIComponent($(this).attr("data")).split("&"),date_arr=data_arr[2].split("|"),class_peo_arr=data_arr[3].split("|"),form,city_data,cityCode;$("#flightSearchForm").length==0&&(form=document.createElement("form"),form.setAttribute("method","post"),form.setAttribute("id","flightSearchForm"),form.setAttribute("class","lang_change_submit"),form.setAttribute("enctype","multipart/form-data"),form.innerHTML="<input id='OrigCityData' name='OrigCityData' type='hidden' /><input id='DestCityData' name='DestCityData' type='hidden' />",document.getElementsByTagName("body")[0].appendChild(form)),$("#OrigCityData").val(data_arr[0]),$("#DestCityData").val(data_arr[1]),city_data=eval("("+data_arr[0]+")"),cityCode="",city_data.TYPE=="CITY"?cityCode=city_data.CODE:city_data.TYPE=="AIRPORT"&&(cityCode=city_data.CITY_CODE),c.parseDate(date_arr[0])<c.parseDate(c.ticketDate(cityCode,"",class_peo_arr[8],city_data.COUNTRY_CODE))?($(this).next().click(),class_peo_arr[8]=="labour"?$("#flightSearchForm").attr("action",websiteRootPath+"/flights/domestichelper?fill=&roundtrip="+(date_arr.length>1?"Y":"")+"&lbr="+class_peo_arr[4]+"&typeofsearch="+(date_arr.length>1?"Return":"One")+"&fclass="+class_peo_arr[0]+"&nonstop="+class_peo_arr[7]+"&date=").submit():class_peo_arr[8]=="student"?$("#flightSearchForm").attr("action",websiteRootPath+"/flights/student?fill=&roundtrip="+(date_arr.length>1?"Y":"")+"&stu="+class_peo_arr[5]+"&typeofsearch="+(date_arr.length>1?"Return":"One")+"&fclass="+class_peo_arr[0]+"&nonstop="+class_peo_arr[7]+"&date=").submit():$("#flightSearchForm").attr("action",websiteRootPath+"/?fill=&roundtrip="+(date_arr.length>1?"Y":"")+"&adt="+class_peo_arr[1]+"&chd="+class_peo_arr[2]+"&inf="+class_peo_arr[3]+"&typeofsearch="+(date_arr.length>1?"Return":"One")+"&fclass="+class_peo_arr[0]+"&nonstop="+class_peo_arr[7]+"&date=").submit()):$("#flightSearchForm").attr("action",websiteRootPath+"/flights/results?TripType="+(date_arr.length>1?"Return":"One")+"&DepDate="+encodeURIComponent(date_arr[0])+"&RetDate="+(date_arr.length>1?encodeURIComponent(date_arr[1]):"")+"&TravelClass="+class_peo_arr[0]+"&Adults="+class_peo_arr[1]+"&Children="+class_peo_arr[2]+"&Infants="+class_peo_arr[3]+"&Labours="+class_peo_arr[4]+"&Students="+class_peo_arr[5]+"&StuChild="+class_peo_arr[6]+"&StopType="+class_peo_arr[7]+"&SearchType="+class_peo_arr[8]).submit()}),$("#search_log_list [name='fli_log_close']").live("click",function(){var t=localStorage.flight_sear_log_new,i,r;t!=null&&(t=decodeURIComponent(t),i=decodeURIComponent($(this).prev().attr("data")),r=t.replace(i+"#","").replace("#"+i,"").replace(i,""),c.localstorageTest()&&(localStorage.flight_sear_log_new=encodeURIComponent(r)),r==""&&localStorage.removeItem("fli_sear_log")),n()}))}if(hotels_recent_sear_logs=localStorage.Coffee_hotels_recent_sear_logs_new,typeof hotels_recent_sear_logs!="undefined"){for(hotels_recent_sear_logs=$.parseJSON(decodeURIComponent(hotels_recent_sear_logs)),hLogIdx=0;hLogIdx<hotels_recent_sear_logs.length;hLogIdx++)(one_his=hotels_recent_sear_logs[hLogIdx],one_his!="")&&create_hotels_histroy_search(one_his);!0&&($("#search_log_list [name='hot_log']").live("click",function(){var i=!1,r=$(this).parent().attr("data"),t=localStorage.Coffee_hotels_recent_sear_logs_new;typeof t!="undefined"&&(t=$.parseJSON(decodeURIComponent(t)),$.each(t,function(n,t){var u="",e,f,o,s;return t.type=="ZONE"?u=c.get_json_data(t.city_hotel_data,"ZONE_ID"):t.type=="CITY"?u=c.get_json_data(t.city_hotel_data,"CITY_ID"):t.type=="HOTEL"&&(u=c.get_json_data(t.city_hotel_data,"HOTEL_ID")),e=t.type+u+t.check_in+t.check_out+t.room_person,r==e?(i=!0,f="",$.each(t.room_person.split(","),function(n,t){var i=t.split("|||");f+=i[1]+"_"+i[2]+"_"+i[3]+","}),o=c.get_json_data(t.city_hotel_data,"URL"),s=c.urlParaForHotelsSearch(t.check_in,t.check_out,f.substring(0,f.length-1),u,t.type),location.href=websiteRootPath+"/hotels/"+o+"?"+s,!1):void 0})),i||n()}),$("#search_log_list [name='hot_log_close']").live("click",function(){var i=$(this).parent().attr("data"),t=localStorage.Coffee_hotels_recent_sear_logs_new;typeof t!="undefined"&&(t=$.parseJSON(decodeURIComponent(t)),$.each(t,function(n,r){var u="",f;if(r.type=="ZONE"?u=c.get_json_data(r.city_hotel_data,"ZONE_ID"):r.type=="CITY"?u=c.get_json_data(r.city_hotel_data,"CITY_ID"):r.type=="HOTEL"&&(u=c.get_json_data(r.city_hotel_data,"HOTEL_ID")),f=r.type+u+r.check_in+r.check_out+r.room_person,i==f){if(t.splice(n,1),t=JSON.stringify(t),c.localstorageTest())try{localStorage.Coffee_hotels_recent_sear_logs_new=encodeURIComponent(t)}catch(e){e.name=="QuotaExceededError"&&(localStorage.clear(),localStorage.Coffee_hotels_recent_sear_logs_new=encodeURIComponent(t))}return!1}})),n()}))}function create_hotels_histroy_search(n){var i="",u,t,r,f,e;n.type=="ZONE"?i=c.get_json_data(n.city_hotel_data,"ZONE_ID"):n.type=="CITY"?i=c.get_json_data(n.city_hotel_data,"CITY_ID"):n.type=="HOTEL"&&(i=c.get_json_data(n.city_hotel_data,"HOTEL_ID")),u=n.type+i+n.check_in+n.check_out+n.room_person,t="",n.type=="ZONE"||n.type=="CITY"?(t=Common_MultilingualJS.City,t==undefined&&(t="CITY")):(t=Common_MultilingualJS.Hotel,t==undefined&&(t="Hotel")),r=n.city_hotel_data[c.CITY_NAME_LANG_KEY],r==undefined&&(r=n.city_hotel_data.NAME_EN_US),f="<li data='"+u+"'><div name='hot_log' class='top_edit_Re' ><span class='top_edit_Re_From'>"+t+"<\/span><br /><span class='top_edit_Re_Airport'>"+r+"<\/span><br /><span class='top_edit_Re_Time'>"+n.check_in+" > "+n.check_out+"<\/span><br /><\/div><div name='hot_log_close' class='top_edit_Re_close'>×<\/div><\/li>",e=n.SearchDateTime!=null?n.SearchDateTime:"0",LogList.push([e,f])}default_url="property";function get_zone_url(n){var t="";return $.ajax({async:!1,cache:!1,url:websiteRootPath+"/hotels/HotelZoneValue",data:{CODE:n,KEY:"URL"},success:function(n){t=n==null||typeof n=="undefined"||n==""?default_url:n}}),t}function get_hotel_url(n){var t="";return $.ajax({async:!1,cache:!1,url:websiteRootPath+"/hotels/HotelInfoValue",data:{CODE:n,KEY:"URL"},success:function(n){t=n==null||typeof n=="undefined"||n==""?default_url:n}}),t}function getParamFun(n,t,i){var f="",r,e,u;return(t!=null&&t!=""&&(r=t,r=r.split("&&&"),f=websiteRootPath+"/"+decodeURIComponent(r[4])),e=new RegExp("[&,?]"+n+"=([^\\&]*)","i"),u=e.exec(f),u!=null)?i==!0?u[1]:decodeURIComponent(u[1]):null}if(dp_sear_log=localStorage.dp_sear_log_new,dp_sear_log!=null){for(dp_sear_log=decodeURIComponent(dp_sear_log),dp_sear_log_html="",dp_sear_log=dp_sear_log.split("~~~~"),dpLogIdx=0;dpLogIdx<dp_sear_log.length;dpLogIdx++)if(dp_sear_log[dpLogIdx]!=""){var log_info=dp_sear_log[dpLogIdx].split("^^^^"),airQueArr=log_info[0].split("&&&"),orig_city_data=eval("("+airQueArr[0]+")"),dest_city_data=eval("("+airQueArr[1]+")");orig_city_data[c.CITY_NAME_LANG_KEY]!=null&&dest_city_data[c.CITY_NAME_LANG_KEY]!=null&&(dp_sear_log_html="<li><div name='dp_log' class='top_edit_Re' data='"+encodeURIComponent(dp_sear_log[dpLogIdx])+"'><span class='top_edit_Re_From'>"+Common_MultilingualJS.Package+"<\/span><br /><span class='top_edit_Re_Airport'>"+orig_city_data[c.CITY_NAME_LANG_KEY].split(", ")[0]+" "+Common_MultilingualJS.search_history.to+" "+dest_city_data[c.CITY_NAME_LANG_KEY].split(", ")[0]+"<\/span><br /><span class='top_edit_Re_Time'>"+getParamFun("DepDate",log_info[0])+" - "+getParamFun("RetDate",log_info[0])+"<\/span><br /><\/div><div name='dp_log_close' class='top_edit_Re_close'>×<\/div><\/li>",time=log_info.length>3?log_info[3]:"0",LogList.push([time,dp_sear_log_html]))}!0&&($("#search_log_list [name='dp_log']").live("click",function(){var data_arr=decodeURIComponent($(this).attr("data")).split("^^^^"),form;$("#packageSearchForm").length==0&&(form=document.createElement("form"),form.setAttribute("method","post"),form.setAttribute("id","packageSearchForm"),form.setAttribute("class","lang_change_submit"),form.setAttribute("enctype","multipart/form-data"),form.innerHTML="<input id='flight_query' name='flight_query' type='hidden' /><input id='select_dp_type' name='select_dp_type' type='hidden' /><input id='hotel_query' name='hotel_query' type='hidden' /><input id='AFFILIATE_UTM' name='AFFILIATE_UTM' type='hidden' />",document.getElementsByTagName("body")[0].appendChild(form)),$("#packageSearchForm #flight_query").val(data_arr[0]),$("#packageSearchForm #hotel_query").val(data_arr[1]),$("#packageSearchForm #select_dp_type").val(data_arr[2]),$("#packageSearchForm #AFFILIATE_UTM").val("");var airQueArr=data_arr[0].split("&&&"),city_data=eval("("+airQueArr[0]+")"),cityCode=city_data.CITY_CODE;c.parseDate(getParamFun("DepDate",data_arr[0]))<c.parseDate(c.ticketDate(cityCode))?($(this).next().click(),$("#packageSearchForm").attr("action",websiteRootPath+"/packages/?fill=&adt="+getParamFun("Adults",data_arr[0])+"&chd="+getParamFun("Children",data_arr[0])+"&fclass="+getParamFun("TravelClass",data_arr[0])+"&nonstop="+getParamFun("StopType",data_arr[0])+"&depDate="+getParamFun("DepDate",data_arr[0])+"&retDate="+getParamFun("RetDate",data_arr[0])).submit()):$("#packageSearchForm").attr("action",websiteRootPath+"/"+decodeURIComponent(data_arr[0].split("&&&")[4])).submit()}),$("#search_log_list [name='dp_log_close']").live("click",function(){var t=localStorage.dp_sear_log_new,i,r;t!=null&&(t=decodeURIComponent(t),i=decodeURIComponent($(this).prev().attr("data")),r=t.replace(i+"~~~~","").replace("~~~~"+i,"").replace(i,""),c.localstorageTest()&&(localStorage.dp_sear_log_new=encodeURIComponent(r)),r==""&&localStorage.removeItem("dp_sear_log")),n()}))}if(LogList.length>0){for(LogList.sort(function(n,t){return parseInt(t[0])-parseInt(n[0])}),logIdx=0;logIdx<LogList.length;logIdx++)$("#search_log_list").append(LogList[logIdx][1]);$("#search_log_list").css("display",""),$("#search_log_no_data").css("display","none")}else $("#search_log_list").css("display","none"),$("#search_log_no_data").css("display","")}catch(e){}};n(),$(".SearchHistory").click(function(){$(".SearchHistory").children().eq(2).css("display","block"),$(this).parents(".bar").find(".barpop").slideToggle(200,function(){$(this).css("display")=="none"&&$(".SearchHistory").children().eq(2).css("display","none")}),c.popupToggle($(this).siblings(".barpop"),null,function(){$(".SearchHistory").children().eq(2).css("display","none")})})},showNavFocus:function(){var n=location.pathname.toLowerCase();n.indexOf("/"+POS.toLowerCase())==0&&(n=n.substr(("/"+POS.toLowerCase()).length)),n=n.substr(1),n=n.substr(n.indexOf("/")+1).replace(/\//g,"-"),n="nav"+(n!=""?"-"+n:""),$(".main_nav a").each(function(t){if($(this).attr("id")){var r=$(this).attr("id").toLowerCase();n.indexOf(r)!=-1&&(t==0?n==r&&$(this).append('<div class="linear bot_line"><\/div>'):$(this).append('<div class="linear bot_line"><\/div>'))}})},helpClick:function(){$(".Help_Sel").click(function(){$(".Help_Sel").children().eq(2).css("display","block"),$(this).parents(".bar").find(".barpop").slideToggle(200,function(){$(this).css("display")=="none"&&$(".Help_Sel").children().eq(2).css("display","none")}),c.popupToggle($(this).siblings(".barpop"),null,function(){$(".Help_Sel").children().eq(2).css("display","none")})})},LoginClick:function(){$(".LoginItem").click(function(){$(this).toggleClass("active"),$(".barTopPop",".head_nav").toggleClass("active"),$(".loginContainer","#top").toggleClass("active")}),userInLogin!=null&&userInLogin=="true"&&$(".LoginItem").click(),$("#MemberLoginForm").submit(function(n){if($("#MemberLoginForm").valid()){$("input.memberBtn",this).attr("disabled","disabled");var t=n||window.event;t.preventDefault(),t.stopPropagation(),$.ajax({cache:!1,url:websiteRootPath+"/Member/MemberLoginValidate",type:"post",data:{Email:$("#UserEmailName").val(),passwd:$("#UserPassword").val(),__RequestVerificationToken:$("[name='__RequestVerificationToken']").val()},dataType:"json",success:function(){location.reload()},error:function(){location.reload()}})}else return!1}),$.validator.setDefaults({onkeyup:function(n){($(n).is($(".loginContainer #UserEmailName"))||$(n).is($(".loginContainer #UserPassword")))&&$(n).parents(".loginContainer").find(".validation:eq(1) .field-validation-error")&&$(n).parents(".loginContainer").find(".validation:eq(1) .field-validation-error").html(""),this.element(n)}})},getUrlParam:function(n,t,i){var r,f,u;if(t==null){if(r=undefined,$("#flightSearchCondition").length>0&&$("#flightSearchCondition").val()!=""&&(r=$("#flightSearchCondition").val()),r!=null)r=r.split("&&&");else return null;t=websiteRootPath+"/"+decodeURIComponent(r[2])}return(f=new RegExp("[&,?]"+n+"=([^\\&]*)","i"),u=f.exec(t),u!=null)?i==!0?u[1]:decodeURIComponent(u[1]):null},getUrlParam2:function(n,t,i){var r,f,u;if(t==null){if(r=undefined,$("#flight_query").length>0&&$("#flight_query").val()!=""&&(r=$("#flight_query").val()),r!=null)r=r.split("&&&");else return null;t=websiteRootPath+"/"+decodeURIComponent(r[4])}return(f=new RegExp("[&,?]"+n+"=([^\\&]*)","i"),u=f.exec(t),u!=null)?i==!0?u[1]:decodeURIComponent(u[1]):null},showTotalCountdown:0,QRCodeFun:function(){var t,r,u,n,e;if($(".QRCodeBox").click(function(){$(".QRCodeBox").children().eq(2).css("display","block"),$(this).parents(".bar").find(".barpop").slideToggle(200,function(){$(this).css("display")=="none"&&$(".QRCodeBox").children().eq(2).css("display","none")}),c.popupToggle($(this).siblings(".barpop"),null,function(){$(".QRCodeBox").children().eq(2).css("display","none")})}),$(".QRCodeBar").length>0)if($("#gaUTMTime").length>0&&$("#gaUTMTime").val()!=""){var s=new Date(parseInt($("#gaUTMTime").val().split("****")[0])),f=new Date(+new Date),r=(f-s)/1e3;r<0&&(r=0),r>=0&&r<86400?(c.showTotalCountdown=86401-r,u=function(){if(c.showTotalCountdown--,c.showTotalCountdown>0){var n=parseInt(c.showTotalCountdown/3600),t=parseInt(c.showTotalCountdown%3600/60),i=parseInt(c.showTotalCountdown%3600%60);document.getElementById("timeCountdown")!=null&&(document.getElementById("timeCountdown").innerHTML=c.padLeft(n)+":"+c.padLeft(t)+":"+c.padLeft(i)),document.getElementById("timeCountdownMobile")!=null&&(document.getElementById("timeCountdownMobile").innerHTML=c.padLeft(n)+":"+c.padLeft(t)+":"+c.padLeft(i)),($(".QRCodeBar").length>0&&$(".QRCodeBar #timeCountdown").length>0||$("#download_info").length>0)&&setTimeout(function(){u()},1e3)}else $(".QRCodeBar").remove(),$("#download_info").remove()},n=decodeURIComponent($("#gaUTMTime").val().split("****")[1]),websiteRootPath.lastIndexOf("/")==0?(n=n.replace("/zh-hk/",websiteRootPath+"/").replace("/zh-cn/",websiteRootPath+"/").replace("/en-us/",websiteRootPath+"/").replace("/en/",websiteRootPath+"/"),t=langCode=="zh-Hans"?"lang_id=zh-cn":langCode=="zh-Hant"?"lang_id=zh-hk":"lang_id=en-us",n.indexOf("lang_id=zh-hk")!=-1?n=n.replace("lang_id=zh-hk",t):n.indexOf("lang_id=zh-cn")!=-1?n=n.replace("lang_id=zh-cn",t):n.indexOf("lang_id=en-us")!=-1?n=n.replace("lang_id=en-us",t):n.indexOf("lang_id=en")!=-1?n=n.replace("lang_id=en",t):n.indexOf("lang_id=1")!=-1?n=n.replace("lang_id=1",t):n.indexOf("lang_id=2")!=-1?n=n.replace("lang_id=2",t):n.indexOf("lang_id=3")!=-1&&(n=n.replace("lang_id=3",t))):n=n.replace("/"+POS.toLowerCase()+"/zh-hk/",websiteRootPath+"/").replace("/"+POS.toLowerCase()+"/zh-cn/",websiteRootPath+"/").replace("/"+POS.toLowerCase()+"/en-us/",websiteRootPath+"/").replace("/"+POS.toLowerCase()+"/en/",websiteRootPath+"/"),$(".QRCodeBar #timeCountdown").length>0&&(u(),n!=""&&(e=new RegExp("&amp;","g"),$("#download_info .downLoadApps > a").attr("href",LongLinksUrl.replace(e,"&").replace("{0}",encodeURIComponent(n))))),n!=""?$.ajax({cache:!1,url:websiteRootPath+"/Flights/GetShortLinks",data:"longLink="+encodeURIComponent(n),dataType:"json",timeout:12e4,success:function(n){n!=null&&n!=""&&n.shortLink!=null&&n.shortLink!=""?($(".QRCodeBar").css("display",""),$("#QRCodeImg").length>0&&$("#QRCodeImg").qrcode({render:"canvas",width:130,height:130,text:n.shortLink}),$(".QRCodeBar").length>0&&typeof page_action!="undefined"&&page_action=="aircombo"&&$("#PageBack").length>0&&$("#PageBack").val()!="Y"&&$(".QRCodeBox").click()):$(".QRCodeBar").remove()},error:function(){$(".QRCodeBar").remove()}}):$(".QRCodeBar").remove()):($(".QRCodeBar").remove(),$("#download_info").remove())}else if(POS=="SG"&&$("#gaUTMTime").length>0&&$("#gaUTMTime").val()==""&&typeof page_action!="undefined"&&(page_action=="aircombo"||page_action=="results")){var o=+new Date,f=new Date(o),i=c.cookie("sgQRCODE");i!=null?(r=(f-new Date(parseInt(i)))/1e3,r>=86400?(c.removeCookie("sgQRCODE",{minutes:-1,path:"/"}),c.cookie("sgQRCODE",o,{minutes:1440,path:"/"}),i=f):i=new Date(parseInt(i))):(c.cookie("sgQRCODE",o,{minutes:1440,path:"/"}),i=f),c.showTotalCountdown=86401-(f-i)/1e3,u=function(){if(c.showTotalCountdown--,c.showTotalCountdown>0){var n=parseInt(c.showTotalCountdown/3600),t=parseInt(c.showTotalCountdown%3600/60),i=parseInt(c.showTotalCountdown%3600%60);document.getElementById("timeCountdown")!=null&&(document.getElementById("timeCountdown").innerHTML=c.padLeft(n)+":"+c.padLeft(t)+":"+c.padLeft(i)),document.getElementById("timeCountdownMobile")!=null&&(document.getElementById("timeCountdownMobile").innerHTML=c.padLeft(n)+":"+c.padLeft(t)+":"+c.padLeft(i)),($(".QRCodeBar").length>0&&$(".QRCodeBar #timeCountdown").length>0||$("#download_info").length>0)&&setTimeout(function(){u()},1e3)}else $(".QRCodeBar").remove(),$("#download_info").remove()},n=c.getLongLink(SGQRCodeAffiliateID,page_action),$(".QRCodeBar #timeCountdown").length>0&&(u(),n!=""&&(e=new RegExp("&amp;","g"),$("#download_info .downLoadApps > a").attr("href",SGQRCodeLongLink.replace(e,"&").replace("{0}",encodeURIComponent(n))))),n!=""?$.ajax({cache:!1,url:websiteRootPath+"/Home/GetShortLinks",data:"longLink="+encodeURIComponent(n),dataType:"json",timeout:12e4,success:function(n){n!=null&&n!=""&&n.shortLink!=null&&n.shortLink!=""?($(".QRCodeBar").css("display",""),$("#QRCodeImg").length>0&&$("#QRCodeImg").qrcode({render:"canvas",width:130,height:130,text:n.shortLink}),$(".QRCodeBar").length>0&&typeof page_action!="undefined"&&page_action=="aircombo"&&$("#PageBack").length>0&&$("#PageBack").val()!="Y"&&$(".QRCodeBox").click()):$(".QRCodeBar").remove()},error:function(){$(".QRCodeBar").remove()}}):$(".QRCodeBar").remove()}else $(".QRCodeBar").remove(),$("#download_info").remove()},SGQRCodeFun:function(){var f,r,u,e;if(POS=="SG"&&$(".QRCodeBar").length>0){$(".QRCodeBox").click(function(){$(".QRCodeBox").children().eq(2).css("display","block"),$(this).parents(".bar").find(".barpop").slideToggle(200,function(){$(this).css("display")=="none"&&$(".QRCodeBox").children().eq(2).css("display","none")}),c.popupToggle($(this).siblings(".barpop"),null,function(){$(".QRCodeBox").children().eq(2).css("display","none")})});var i=+new Date,t=new Date(i),n=c.cookie("sgQRCODE");n!=null?(f=(t-new Date(parseInt(n)))/1e3,f>=86400?(c.removeCookie("sgQRCODE",{minutes:-1,path:"/"}),c.cookie("sgQRCODE",i,{minutes:1440,path:"/"}),n=t):n=new Date(parseInt(n))):(c.cookie("sgQRCODE",i,{minutes:1440,path:"/"}),n=t),c.showTotalCountdown=86401-(t-n)/1e3,r=function(){if(c.showTotalCountdown--,c.showTotalCountdown>0){var n=parseInt(c.showTotalCountdown/3600),t=parseInt(c.showTotalCountdown%3600/60),i=parseInt(c.showTotalCountdown%3600%60);document.getElementById("timeCountdown")!=null&&(document.getElementById("timeCountdown").innerHTML=c.padLeft(n)+":"+c.padLeft(t)+":"+c.padLeft(i)),document.getElementById("timeCountdownMobile")!=null&&(document.getElementById("timeCountdownMobile").innerHTML=c.padLeft(n)+":"+c.padLeft(t)+":"+c.padLeft(i)),($(".QRCodeBar").length>0&&$(".QRCodeBar #timeCountdown").length>0||$("#download_info").length>0)&&setTimeout(function(){r()},1e3)}else $(".QRCodeBar").remove(),$("#download_info").remove()},u=c.getLongLink(SGQRCodeAffiliateID,""),$(".QRCodeBar #timeCountdown").length>0&&(r(),e=new RegExp("&amp;","g"),$("#download_info .downLoadApps > a").attr("href",SGQRCodeLongLink.replace(e,"&").replace("{0}",encodeURIComponent(u)))),$.ajax({cache:!1,url:websiteRootPath+"/Home/GetShortLinks",data:"longLink="+u,dataType:"json",timeout:12e4,success:function(n){n!=null&&n!=""&&n.shortLink!=null&&n.shortLink!=""?($(".QRCodeBar").css("display",""),$("#QRCodeImg").length>0&&($("#QRCodeImg").qrcode({render:"canvas",width:130,height:130,text:n.shortLink}),$(".QRCodeBox").click())):$(".QRCodeBar").remove()},error:function(){$(".QRCodeBar").remove()}})}},mobileTravelChannel:function(){$(".download_close").click(function(){$("#download_info").attr("style","display: none!important")}),$("#mobileDownload .downLoadApps a").length==0&&((POS=="MY"&&langCode=="ms-MY"||POS=="ID"&&langCode=="id-ID"||POS=="KR"&&langCode=="ko-KR"||POS=="TH"&&langCode=="th-TH"||POS=="VN"&&langCode=="vi-VN")&&$(".downLoadApps").css("line-height","40px"),$("#mobileDownload").unbind("click").click(function(){var n,t,i,r;POS=="CN"?location.href=websiteRootPath+"/system/download-app":(n=navigator.userAgent||navigator.vendor||window.opera,n.match(/iPad/i)||n.match(/iPhone/i)||n.match(/iPod/i)||n.match(/Android/i)?(t="",typeof page_action!="undefined"&&(page_action=="results"&&typeof fs!="undefined"&&fs!=null||"aircombo|checkindetails|confirmation".indexOf(page_action)>-1&&typeof fb!="undefined"&&fb!=null&&fb.flight_data!=null||"selectflights|selecthotels|selectrooms|packagecombo|passengerdetails|reviewpayment|confirmation".indexOf(page_action)>-1&&$("#flight_query").length>0&&$("#flight_query").val()!=""&&$("#hotel_query").length>0&&$("#hotel_query").val()!="")?(i=n.match(/Android/i)?"A":"I",t=c.getLongLink("",page_action,i)):t=c.getLongLink("",""),r=new RegExp("&amp;","g"),location.href=SGQRCodeLongLink.replace(r,"&").replace("{0}",encodeURIComponent(t))):location.href=websiteRootPath+"/system/download-app")}))},getLongLink:function(affiliateId,pageAction,mobileType){var lang_id="1",domainVal,flightSearchCondition,searCityIdx,LEG_INF_CUR,LEG_INF_ARR,curIdx,roomIndex,personInfo,hotelInfo,hotelNum,hotelroom,hotelRoomInfo,hotelIndx,personHotelInfo;switch(langCode){case"en-us":case"en":lang_id="1";break;case"zh-Hant":lang_id="2";break;case"zh-Hans":lang_id="3"}if(domainVal="",domainVal=websiteRootPath.lastIndexOf("/")==0?"."+POS.toLowerCase()+websiteRootPath:websiteRootPath,pageAction=="results"&&typeof fs!="undefined"&&fs!=null||"aircombo|checkindetails|confirmation".indexOf(pageAction)>-1&&typeof fb!="undefined"&&fb!=null&&fb.flight_data!=null){var longLink="",tripType="",ORIGDEST_CITY_CODE="",DEP_RET_DATE="",origCityData=null,destCityData=null,depDate=null,retDate=null;if(pageAction=="results")origCityData=$("#OrigCityData").val().split("|"),destCityData=$("#DestCityData").val().split("|"),depDate=c.urlParam("DepDate").split("|"),tripType=fs.tripType,tripType=="Return"&&(retDate=c.urlParam("RetDate").split("|"));else{if(flightSearchCondition=null,$("#flightSearchCondition").length>0&&$("#flightSearchCondition").val()!=""&&(flightSearchCondition=$("#flightSearchCondition").val()),flightSearchCondition!=null)flightSearchCondition=flightSearchCondition.split("&&&"),origCityData=flightSearchCondition[0].split("|"),destCityData=flightSearchCondition[1].split("|");else return"https://www.hutchgo.com"+domainVal+"/?region="+POS+(affiliateId!=null&&affiliateId!=""?"&affiliate_id="+affiliateId:"")+"&lang_id="+lang_id;depDate=c.getUrlParam("DepDate").split("|"),tripType=fb.tripType,tripType=="Return"&&(retDate=c.getUrlParam("RetDate").split("|"))}for(searCityIdx=0;searCityIdx<origCityData.length;searCityIdx++)origCityData[searCityIdx]=eval("("+origCityData[searCityIdx]+")"),destCityData[searCityIdx]=eval("("+destCityData[searCityIdx]+")"),tripType!="Multi"?(ORIGDEST_CITY_CODE+=origCityData[searCityIdx].TYPE=="CITY"?"&origCity="+origCityData[searCityIdx].CODE:"&origCity="+origCityData[searCityIdx].CITY_CODE,ORIGDEST_CITY_CODE+=destCityData[searCityIdx].TYPE=="CITY"?"&citycode="+destCityData[searCityIdx].CODE:"&citycode="+destCityData[searCityIdx].CITY_CODE,DEP_RET_DATE+="&departdate="+depDate[0]+"&returndate="+(retDate!=null?retDate[0]:"")):(ORIGDEST_CITY_CODE+=origCityData[searCityIdx].TYPE=="CITY"?"&F"+(searCityIdx+1)+"OrigCity="+origCityData[searCityIdx].CODE:"&F"+(searCityIdx+1)+"OrigCity="+origCityData[searCityIdx].CITY_CODE,ORIGDEST_CITY_CODE+=destCityData[searCityIdx].TYPE=="CITY"?"&F"+(searCityIdx+1)+"DestCity="+destCityData[searCityIdx].CODE:"&F"+(searCityIdx+1)+"DestCity="+destCityData[searCityIdx].CITY_CODE,DEP_RET_DATE+="&F"+(searCityIdx+1)+"departdate="+depDate[searCityIdx]);if(pageAction=="results")longLink=tripType!="Multi"?"https://www.hutchgo.com"+domainVal+"/Redirect/DoSearch?product=RA&fclass="+c.urlParam("TravelClass")+ORIGDEST_CITY_CODE+DEP_RET_DATE+"&lang_id="+lang_id+"&fromAffiliate=Y&roundtrip="+(tripType=="Return"?"Y":"N")+"&typeofsearch="+(fs.calendar=="Y"?"C":tripType=="Return"?"T":"E")+"&carrierCode=&nonstop="+(fs.stopType=="0"?"Y":"N")+"&adt="+(fs.adults+fs.labours+fs.students)+"&chd="+fs.children+"&inf="+fs.infants+"&autosearch=Y&faretype="+fs.searchType+"&region="+POS+(affiliateId!=null&&affiliateId!=""?"&affiliate_id="+affiliateId:""):"https://www.hutchgo.com"+domainVal+"/Redirect/DoSearch?product=RA&fclass="+c.urlParam("TravelClass")+ORIGDEST_CITY_CODE+DEP_RET_DATE+"&lang_id="+lang_id+"&fromAffiliate=Y&typeofsearch=M&carrierCode=&nonstop="+(fs.stopType=="0"?"Y":"N")+"&adt="+(fs.adults+fs.labours+fs.students)+"&chd="+fs.children+"&inf="+fs.infants+"&autosearch=Y&faretype="+fs.searchType+"&region="+POS+(affiliateId!=null&&affiliateId!=""?"&affiliate_id="+affiliateId:"");else{LEG_INF_CUR=[],LEG_INF_ARR=null,LEG_INF_ARR=fb.flight_data.CUSTOMER.OFFER.FARE_RESPONSE.AVAIL_INFO.GDS.TRIP_LEG_INFO!=null&&fb.flight_data.CUSTOMER.OFFER.FARE_RESPONSE.AVAIL_INFO.GDS.TRIP_LEG_INFO.LEG_INF!=null?fb.flight_data.CUSTOMER.OFFER.FARE_RESPONSE.AVAIL_INFO.GDS.TRIP_LEG_INFO.LEG_INF:fb.flight_data.CUSTOMER.OFFER.FARE_RESPONSE.AVAIL_INFO.GDS.SEG_INF.LEG_INF,c.isArray(LEG_INF_ARR)?LEG_INF_CUR=LEG_INF_ARR:LEG_INF_CUR.push(LEG_INF_ARR);var flightInfo="",index1=0,index2=0,index3=0,index4=0,index5=0,index6=0;for(curIdx=0;curIdx<LEG_INF_CUR.length;curIdx++)tripType!="Multi"?(LEG_INF_CUR[curIdx]["@Type"]=="O"&&(index1++,flightInfo+="&outBoundCarrier"+index1+"="+LEG_INF_CUR[curIdx].CARRIER+"&outBoundFlightNum"+index1+"="+LEG_INF_CUR[curIdx].FLI_NUM),LEG_INF_CUR[curIdx]["@Type"]=="R"&&(index2++,flightInfo+="&inBoundCarrier"+index2+"="+LEG_INF_CUR[curIdx].CARRIER+"&inBoundFlightNum"+index2+"="+LEG_INF_CUR[curIdx].FLI_NUM)):(LEG_INF_CUR[curIdx]["@Type"]=="1"&&(index1++,flightInfo+="&F1Carrier"+index1+"="+LEG_INF_CUR[curIdx].CARRIER+"&F1FlightNum"+index1+"="+LEG_INF_CUR[curIdx].FLI_NUM),LEG_INF_CUR[curIdx]["@Type"]=="2"&&(index2++,flightInfo+="&F2Carrier"+index2+"="+LEG_INF_CUR[curIdx].CARRIER+"&F2FlightNum"+index2+"="+LEG_INF_CUR[curIdx].FLI_NUM),LEG_INF_CUR[curIdx]["@Type"]=="3"&&(index3++,flightInfo+="&F3Carrier"+index3+"="+LEG_INF_CUR[curIdx].CARRIER+"&F3FlightNum"+index3+"="+LEG_INF_CUR[curIdx].FLI_NUM),LEG_INF_CUR[curIdx]["@Type"]=="4"&&(index4++,flightInfo+="&F4Carrier"+index4+"="+LEG_INF_CUR[curIdx].CARRIER+"&F4FlightNum"+index4+"="+LEG_INF_CUR[curIdx].FLI_NUM),LEG_INF_CUR[curIdx]["@Type"]=="5"&&(index5++,flightInfo+="&F5Carrier"+index5+"="+LEG_INF_CUR[curIdx].CARRIER+"&F5FlightNum"+index5+"="+LEG_INF_CUR[curIdx].FLI_NUM),LEG_INF_CUR[curIdx]["@Type"]=="6"&&(index6++,flightInfo+="&F6Carrier"+index6+"="+LEG_INF_CUR[curIdx].CARRIER+"&F6FlightNum"+index6+"="+LEG_INF_CUR[curIdx].FLI_NUM));longLink=tripType!="Multi"?"https://www.hutchgo.com"+domainVal+"/Redirect/DoSearch?product=RA&fclass="+c.getUrlParam("TravelClass")+ORIGDEST_CITY_CODE+DEP_RET_DATE+"&lang_id="+lang_id+"&fromAffiliate=Y&roundtrip="+(tripType=="Return"?"Y":"N")+"&typeofsearch="+(c.getUrlParam("Calendar")=="Y"?"C":tripType=="Return"?"T":"E")+"&carrierCode=&nonstop="+(c.getUrlParam("StopType")=="0"?"Y":"N")+"&adt="+(fb.adults+fb.labours+fb.students)+"&chd="+fb.children+"&inf="+fb.infants+"&autosearch=Y&faretype="+c.getUrlParam("SearchType")+"&region="+POS+(affiliateId!=null&&affiliateId!=""?"&affiliate_id="+affiliateId:"")+"&channel=Deeplink"+flightInfo:"https://www.hutchgo.com"+domainVal+"/Redirect/DoSearch?product=RA&fclass="+c.getUrlParam("TravelClass")+ORIGDEST_CITY_CODE+DEP_RET_DATE+"&lang_id="+lang_id+"&fromAffiliate=Y&typeofsearch=M&carrierCode=&nonstop="+(c.getUrlParam("StopType")=="0"?"Y":"N")+"&adt="+(fb.adults+fb.labours+fb.students)+"&chd="+fb.children+"&inf="+fb.infants+"&autosearch=Y&faretype="+c.getUrlParam("SearchType")+"&region="+POS+(affiliateId!=null&&affiliateId!=""?"&affiliate_id="+affiliateId:"")+"&channel=Deeplink"+flightInfo}return longLink}if("selectflights|selecthotels|selectrooms|packagecombo|passengerdetails|reviewpayment|confirmation".indexOf(pageAction)>-1&&$("#flight_query").length>0&&$("#flight_query").val()!=""&&$("#hotel_query").length>0&&$("#hotel_query").val()!=""){var longLink="",flight_query=$("#flight_query").val().split("&&&"),hotel_query=$.parseJSON($("#hotel_query").val()),Dest=c.getUrlParam2("Dest"),departfarebasis=c.getUrlParam2("departfarebasis"),returnfarebasis=c.getUrlParam2("returnfarebasis"),promohotelid=c.getUrlParam2("promohotelid"),carrierCode=c.getUrlParam2("CarrierCode"),room="",roomInfo=flight_query[2].split(",");for(roomIndex=0;roomIndex<roomInfo.length;roomIndex++)personInfo=roomInfo[roomIndex].split("|||"),room+=personInfo[1]+"_"+personInfo[2]+"_"+personInfo[3]+",";if(hotelInfo="",flight_query[3].toLowerCase()=="true")for(hotelNum=0;hotelNum<hotel_query.length;hotelNum++){for(hotelroom="",hotelRoomInfo=hotel_query[hotelNum].room_person.split(","),hotelIndx=0;hotelIndx<hotelRoomInfo.length;hotelIndx++)personHotelInfo=hotelRoomInfo[hotelIndx].split("|||"),hotelroom+=personHotelInfo[1]+"_"+personHotelInfo[2]+"_"+personHotelInfo[3]+",";hotelInfo+="&H"+(hotelNum+1)+"DestCity="+Dest+"&H"+(hotelNum+1)+"departdate="+hotel_query[hotelNum].check_in+"&H"+(hotelNum+1)+"returndate="+hotel_query[hotelNum].check_out+"&H"+(hotelNum+1)+"room="+hotelroom.substring(0,hotelroom.length-1)}return longLink="https://www.hutchgo.com"+domainVal+"/Redirect/DoProcess?product=DP&popup=N&autoSearchAfterDayChange=Y&autosearch=Y&fclass="+c.getUrlParam2("TravelClass")+"&region="+POS+"&origCity="+c.getUrlParam2("Orig")+"&citycode="+Dest+"&departdate="+c.getUrlParam2("DepDate")+"&returndate="+c.getUrlParam2("RetDate")+"&lang_id="+lang_id+(affiliateId!=null&&affiliateId!=""?"&affiliate_id="+affiliateId:"")+"&nonstop="+(c.getUrlParam2("StopType")=="0"?"Y":"N")+(carrierCode!=null&&carrierCode!=""?"&carrierCode="+carrierCode:"")+(departfarebasis!=null&&departfarebasis!=""?"&departfarebasis="+departfarebasis:"")+(returnfarebasis!=null&&returnfarebasis!=""?"&returnfarebasis="+returnfarebasis:"")+(promohotelid!=null&&promohotelid!=""?"&promohotelid="+c.getUrlParam2("promohotelid"):"")+"&room="+room.substring(0,room.length-1)+hotelInfo+"&isAppDisplay=1&mobileType="+mobileType}return"https://www.hutchgo.com"+domainVal+"/?region="+POS+(affiliateId!=null&&affiliateId!=""?"&affiliate_id="+affiliateId:"")+"&lang_id="+lang_id},mobildPopupContentHeight:380,mobileInit:function(){$(".menuclose").click(function(){$(".menucon").animate({left:"-100%"},"fast").siblings(".menuclose").hide(),$("#pagecon").animate({left:"0"},"fast").removeClass("page_pull_right")}),$(".menubtn").click(function(){c.popupToggle($(".menucon"),function(){$("#pagecon").addClass("page_pull_right").animate({left:"90%"},"fast"),$(".menucon").animate({left:"0"},"fast").siblings(".menuclose").show()},function(){$("#pagecon").removeClass("page_pull_right").animate({left:"0"},"fast"),$(".menucon").animate({left:"-100%"},"fast").siblings(".menuclose").hide()})}),c.resize(function(n){if($(".menucon").animate({left:"-100%"},"fast").siblings(".menuclose").hide(),$("#pagecon").animate({left:"0"},"fast").removeClass("page_pull_right"),n)c.mobildPopupContentHeight=380;else{var t=function(){return window.innerHeight?window.innerHeight:document.body&&document.body.clientHeight?document.body.clientHeight:void 0};c.mobildPopupContentHeight=t()-100}}),$(".nav .nav_sub_btn").click(function(){$(this).parent().next().children(".nav_sub").toggle()})},resize:function(n){var t=function(){return window.innerWidth?window.innerWidth:document.body&&document.body.clientWidth?document.body.clientWidth:void 0},r=t(),u=function(){var i=992;n!=null&&n(t()>i)},i;u(),i=null;$(window).on("resize",function(){i&&clearTimeout(i),i=setTimeout(function(){r!=t()&&(r=t(),u())},400)})},showWebServiceIP:function(){typeof WS_IP!="undefined"&&$("#Copyright_ws").html("WS-"+WS_IP)},alertModal:function(n,t){$("#alert_modal").find(".modal_content_txt").html(n),$("#alert_modal").modal(),t!=null&&$("#alert_modal button").click(function(){location.href=t})},confirmModal:function(n){$("#confirm-delete").find(".modal_content_txt").html(n),$("#confirm-delete").modal()},get_json_data:function(n,t,i){typeof i=="undefined"&&(i="");var r=i;try{typeof n!="undefined"&&typeof n[t]!="undefined"&&n[t]!==null&&(r=n[t])}catch(u){}return r},transLangCodeForHotels:function(){var n="en";return langCode=="zh-Hans"?n="cn":langCode=="zh-Hant"?n="zh":langCode=="ko-KR"?n="ko":langCode=="th-TH"?n="th":langCode=="id-ID"?n="id":langCode=="ms-MY"?n="ms":langCode=="fil-PH"?n="tl":langCode=="vi-VN"&&(n="vi"),n},tripadvisorLangCode:function(){var n="en_UK";return langCode=="zh-Hans"?n="zh_CN":langCode=="zh-Hant"&&(n="zh_TW"),n},IsHideFareBasisForCX:function(n,t,i){var r=HideFareRulesDestination.split(","),u=c.parseDate(HideFareRulesExpirationDate);return t=="HKG"&&n.PLAT_CAR=="CX"&&r.indexOf(i)>-1&&new Date<=new Date(u)},urlParaForHotelsSearch:function(n,t,i,r,u){var f="";return f+=typeof n=="undefined"||n==""?"":"&in="+n,f+=typeof t=="undefined"||t==""?"":"&out="+t,f+=typeof i=="undefined"||i==""?"":"&room="+i,f+=typeof r=="undefined"?"":"&code="+r,f+=typeof u=="undefined"?"":"&searchtype="+u,f+=c.urlParam("promocode")==null||c.urlParam("promocode")=="null"?"":"&promocode="+c.urlParam("promocode"),f+=c.urlParam("promohotelid")==null||c.urlParam("promohotelid")=="null"?"":"&promohotelid="+c.urlParam("promohotelid"),f!=""&&(f=f.substring(1)),f},checkEmail:function(n){if(n==""||n==undefined||n==null)return!1;var t=/^[a-zA-Z0-9]([a-zA-Z0-9]|[-_.])*@([a-zA-Z0-9]|[-_])+[\.][a-zA-Z]{1,}([\.][a-zA-Z]{2,3})?$/i;return t.test(n)?!0:!1},getHotelImgLevel:function(){var n=0;return window.innerWidth?n=window.innerWidth:document.body&&document.body.clientWidth&&(n=document.body.clientWidth),n>=992?3:n>=600?2:1},localstorageTest:function(){try{return window.localStorage?(localStorage.setItem("key","value"),localStorage.removeItem("key"),!0):!1}catch(n){return!1}},date2str:function(n,t){var i={M:n.getMonth()+1,d:n.getDate(),h:n.getHours(),m:n.getMinutes(),s:n.getSeconds()};return t=t.replace(/(M+|d+|h+|m+|s+)/g,function(v){return((v.length>1?"0":"")+eval(i[v.slice(-1)])).slice(-2)}),t.replace(/(y+)/g,function(t){return n.getFullYear().toString().slice(-t.length)})},isPopUpInsuranceModal:!1,ActiveInsuranceModal:function(){c.isPopUpInsuranceModal||($("#insuranceModal").modal("toggle"),c.isPopUpInsuranceModal=!0)},selectInsurance:function(n){n=="Y"?($(".select-plan input[name='abc'][data-value='1']").prop("checked",!0),$('#MSIGSellSelect .addtional_btn[data-value="1"]').click()):n=="N"&&$(".select-plan input[name='abc'][data-value='0']").prop("checked",!0),$("#insuranceModal").modal("hide")},init:function(){c.initKeyupBindName(),c.setLangKey(),c.LoginClick(),c.initPosAndCurrency(),c.chooseFAQ(),c.chooseCountryCurrency(),c.initSearchLog(),c.showNavFocus(),c.helpClick(),c.mobileInit(),c.showWebServiceIP(),c.mobileTravelChannel(),c.resize(function(n){($("header.homeHeaderSticky").length>0||$(".bookingSticky").length>0)&&(n?$("html").css({"overflow-y":"scroll","overflow-x":"hidden"}):$("html").css("overflow","visible"))}),c.removeCookie("hotel_data_to_sear_page",{minutes:-1,path:"/"}),c.removeCookie("hotels_recent_sear_logs",{minutes:-1,path:"/"}),c.removeCookie("hotels_select_detail_logs",{minutes:-1,path:"/"}),c.removeCookie("hotels_recent_sear",{minutes:-1,path:"/"});try{localStorage.removeItem("hotels_recent_sear_logs")}catch(n){}$(".modal.fade").each(function(){$(this).on("shown.bs.modal",function(){$("<img/>").attr("src","/content/img/spacer.gif?id="+($(this).attr("id")!=null?$(this).attr("id"):""))})})}};if(c.init(),function(n){function i(){var r,u,f,i,e,o;n("#jq_ez_bg").css({position:"fixed",top:"100%",left:"0px","z-index":"8500",overflow:"hidden",width:n(window).width()+"px",height:n(window).height()+"px",opacity:t.opacity}),n("#jq_ez_bg").children("img").css("position","relative"),r=n("#jq_ez_bg").children("img").width(),u=n("#jq_ez_bg").children("img").height(),n(window).width()>n(window).height()?r>u?(i=r/u,n("#jq_ez_bg").children("img").css("width",n(window).width()+"px"),n("#jq_ez_bg").children("img").css("height",Math.round(n(window).width()*(1/i))),f=Math.round(n(window).width()*(1/i)),f<n(window).height()&&(i=u/r,n("#jq_ez_bg").children("img").css("height",n(window).height()),n("#jq_ez_bg").children("img").css("width",Math.round(n(window).height()*(1/i))))):(i=u/r,n("#jq_ez_bg").children("img").css("height",n(window).height()),n("#jq_ez_bg").children("img").css("width",Math.round(n(window).height()*(1/i)))):(i=u/r,n("#jq_ez_bg").children("img").css("height",n(window).height()),n("#jq_ez_bg").children("img").css("width",Math.round(n(window).height()*(1/i)))),(typeof t.center=="undefined"||t.center)&&(n("#jq_ez_bg").children("img").width()>n(window).width()&&(e=(n("#jq_ez_bg").children("img").width()-n(window).width())/2,n("#jq_ez_bg").children("img").css({top:0,left:-e})),n("#jq_ez_bg").children("img").height()>n(window).height()&&(o=(n("#jq_ez_bg").children("img").height()-n(window).height())/2,n("#jq_ez_bg").children("img").css({left:0,top:-o}))),n("#jq_ez_bg").css({visibility:"visible"}),n("body").css({overflow:"auto"})}var t={};n.fn.ezBgResize=function(r){if(t=r,!n.isArray(t.img)){var u=t.img;t.img=[u]}n("<img/>").attr("src",t.img).load(function(){t.width=this.width,t.height=this.height,n("body").append('<div id="jq_ez_bg"><\/div>'),n("#jq_ez_bg").html('<img src="'+t.img[0]+'" width="'+t.width+'" height="'+t.height+'" border="0">'),n("#jq_ez_bg").css("visibility","hidden"),n("body").css({overflow:"hidden"}),i()})},n(window).bind("resize",function(){i()})}(jQuery),!jQuery)throw new Error("Bootstrap requires jQuery");+function(n){"use strict";function t(){var i=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(void 0!==i.style[n])return{end:t[n]}}n.fn.emulateTransitionEnd=function(t){var i=!1,u=this,r;n(this).one(n.support.transition.end,function(){i=!0});return r=function(){i||n(u).trigger(n.support.transition.end)},setTimeout(r,t),this},n(function(){n.support.transition=t()})}(window.jQuery),+function(n){"use strict";var i='[data-dismiss="alert"]',t=function(t){n(t).on("click",i,this.close)},r;t.prototype.close=function(t){function f(){i.trigger("closed.bs.alert").remove()}var u=n(this),r=u.attr("data-target"),i;r||(r=u.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=n(r),t&&t.preventDefault(),i.length||(i=u.hasClass("alert")?u:u.parent()),i.trigger(t=n.Event("close.bs.alert")),t.isDefaultPrevented()||(i.removeClass("in"),n.support.transition&&i.hasClass("fade")?i.one(n.support.transition.end,f).emulateTransitionEnd(150):f())},r=n.fn.alert,n.fn.alert=function(i){return this.each(function(){var r=n(this),u=r.data("bs.alert");u||r.data("bs.alert",u=new t(this)),"string"==typeof i&&u[i].call(r)})},n.fn.alert.Constructor=t,n.fn.alert.noConflict=function(){return n.fn.alert=r,this},n(document).on("click.bs.alert.data-api",i,t.prototype.close)}(window.jQuery),+function(n){"use strict";var t=function(i,r){this.$element=n(i),this.options=n.extend({},t.DEFAULTS,r)},i;t.DEFAULTS={loadingText:"loading..."},t.prototype.setState=function(n){var i="disabled",t=this.$element,r=t.is("input")?"val":"html",u=t.data();n+="Text",u.resetText||t.data("resetText",t[r]()),t[r](u[n]||this.options[n]),setTimeout(function(){"loadingText"==n?t.addClass(i).attr(i,i):t.removeClass(i).removeAttr(i)},0)},t.prototype.toggle=function(){var n=this.$element.closest('[data-toggle="buttons"]'),t;n.length&&(t=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change"),"radio"===t.prop("type")&&n.find(".active").removeClass("active")),this.$element.toggleClass("active")},i=n.fn.button,n.fn.button=function(i){return this.each(function(){var u=n(this),r=u.data("bs.button"),f="object"==typeof i&&i;r||u.data("bs.button",r=new t(this,f)),"toggle"==i?r.toggle():i&&r.setState(i)})},n.fn.button.Constructor=t,n.fn.button.noConflict=function(){return n.fn.button=i,this},n(document).on("click.bs.button.data-api","[data-toggle^=button]",function(t){var i=n(t.target);i.hasClass("btn")||(i=i.closest(".btn")),i.button("toggle"),t.preventDefault()})}(window.jQuery),+function(n){"use strict";var t=function(t,i){this.$element=n(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=i,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",n.proxy(this.pause,this)).on("mouseleave",n.proxy(this.cycle,this))},i;t.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},t.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(n.proxy(this.next,this),this.options.interval)),this},t.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},t.prototype.to=function(t){var r=this,i=this.getActiveIndex();if(!(t>this.$items.length-1)&&!(0>t))return this.sliding?this.$element.one("slid",function(){r.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",n(this.$items[t]))},t.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&n.support.transition.end&&(this.$element.trigger(n.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},t.prototype.next=function(){if(!this.sliding)return this.slide("next")},t.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},t.prototype.slide=function(t,i){var u=this.$element.find(".item.active"),r=i||u[t](),s=this.interval,f="next"==t?"left":"right",h="next"==t?"first":"last",o=this,e;if(!r.length){if(!this.options.wrap)return;r=this.$element.find(".item")[h]()}if(this.sliding=!0,s&&this.pause(),e=n.Event("slide.bs.carousel",{relatedTarget:r[0],direction:f}),!r.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=n(o.$indicators.children()[o.getActiveIndex()]);t&&t.addClass("active")})),n.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(e),e.isDefaultPrevented())return;r.addClass(t),r[0].offsetWidth,u.addClass(f),r.addClass(f),u.one(n.support.transition.end,function(){r.removeClass([t,f].join(" ")).addClass("active"),u.removeClass(["active",f].join(" ")),o.sliding=!1,setTimeout(function(){o.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(e),e.isDefaultPrevented())return;u.removeClass("active"),r.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this}},i=n.fn.carousel,n.fn.carousel=function(i){return this.each(function(){var u=n(this),r=u.data("bs.carousel"),f=n.extend({},t.DEFAULTS,u.data(),"object"==typeof i&&i),e="string"==typeof i?i:f.slide;r||u.data("bs.carousel",r=new t(this,f)),"number"==typeof i?r.to(i):e?r[e]():f.interval&&r.pause().cycle()})},n.fn.carousel.Constructor=t,n.fn.carousel.noConflict=function(){return n.fn.carousel=i,this},n(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(t){var f,i=n(this),r=n(i.attr("data-target")||(f=i.attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")),e=n.extend({},r.data(),i.data()),u=i.attr("data-slide-to");u&&(e.interval=!1),r.carousel(e),(u=i.attr("data-slide-to"))&&r.data("bs.carousel").to(u),t.preventDefault()}),n(window).on("load",function(){n('[data-ride="carousel"]').each(function(){var t=n(this);t.carousel(t.data())})})}(window.jQuery),+function(n){"use strict";var t=function(i,r){this.$element=n(i),this.options=n.extend({},t.DEFAULTS,r),this.transitioning=null,this.options.parent&&(this.$parent=n(this.options.parent)),this.options.toggle&&this.toggle()},i;t.DEFAULTS={toggle:!0},t.prototype.dimension=function(){var n=this.$element.hasClass("width");return n?"width":"height"},t.prototype.show=function(){var u,t,r,i,f,e;if(!this.transitioning&&!this.$element.hasClass("in")&&(u=n.Event("show.bs.collapse"),this.$element.trigger(u),!u.isDefaultPrevented())){if(t=this.$parent&&this.$parent.find("> .panel > .in"),t&&t.length){if(r=t.data("bs.collapse"),r&&r.transitioning)return;t.collapse("hide"),r||t.data("bs.collapse",null)}if(i=this.dimension(),this.$element.removeClass("collapse").addClass("collapsing")[i](0),this.transitioning=1,f=function(){this.$element.removeClass("collapsing").addClass("in")[i]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")},!n.support.transition)return f.call(this);e=n.camelCase(["scroll",i].join("-")),this.$element.one(n.support.transition.end,n.proxy(f,this)).emulateTransitionEnd(350)[i](this.$element[0][e])}},t.prototype.hide=function(){var i,t,r;if(!this.transitioning&&this.$element.hasClass("in")&&(i=n.Event("hide.bs.collapse"),this.$element.trigger(i),!i.isDefaultPrevented()))return t=this.dimension(),this.$element[t](this.$element[t]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1,r=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")},n.support.transition?(this.$element[t](0).one(n.support.transition.end,n.proxy(r,this)).emulateTransitionEnd(350),void 0):r.call(this)},t.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},i=n.fn.collapse,n.fn.collapse=function(i){return this.each(function(){var r=n(this),u=r.data("bs.collapse"),f=n.extend({},t.DEFAULTS,r.data(),"object"==typeof i&&i);u||r.data("bs.collapse",u=new t(this,f)),"string"==typeof i&&u[i]()})},n.fn.collapse.Constructor=t,n.fn.collapse.noConflict=function(){return n.fn.collapse=i,this},n(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(t){var e,i=n(this),s=i.attr("data-target")||t.preventDefault()||(e=i.attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,""),r=n(s),u=r.data("bs.collapse"),h=u?"toggle":i.data(),f=i.attr("data-parent"),o=f&&n(f);u&&u.transitioning||(o&&o.find('[data-toggle=collapse][data-parent="'+f+'"]').not(i).addClass("collapsed"),i[r.hasClass("in")?"addClass":"removeClass"]("collapsed")),r.collapse(h)})}(window.jQuery),+function(n){"use strict";function r(){n(e).remove(),n(i).each(function(t){var i=u(n(this));i.hasClass("open")&&(i.trigger(t=n.Event("hide.bs.dropdown")),t.isDefaultPrevented()||i.removeClass("open").trigger("hidden.bs.dropdown"))})}function u(t){var i=t.attr("data-target"),r;return i||(i=t.attr("href"),i=i&&/#/.test(i)&&i.replace(/.*(?=#[^\s]*$)/,"")),r=i&&n(i),r&&r.length?r:t.parent()}var e=".dropdown-backdrop",i="[data-toggle=dropdown]",t=function(t){n(t).on("click.bs.dropdown",this.toggle)},f;t.prototype.toggle=function(t){var f=n(this),i,e;if(!f.is(".disabled, :disabled")){if(i=u(f),e=i.hasClass("open"),r(),!e){if("ontouchstart"in document.documentElement&&!i.closest(".navbar-nav").length&&n('<div class="dropdown-backdrop"/>').insertAfter(n(this)).on("click",r),i.trigger(t=n.Event("show.bs.dropdown")),t.isDefaultPrevented())return;i.toggleClass("open").trigger("shown.bs.dropdown"),f.focus()}return!1}},t.prototype.keydown=function(t){var e,o,s,f,r;if(/(38|40|27)/.test(t.keyCode)&&(e=n(this),t.preventDefault(),t.stopPropagation(),!e.is(".disabled, :disabled"))){if(o=u(e),s=o.hasClass("open"),!s||s&&27==t.keyCode)return 27==t.which&&o.find(i).focus(),e.click();f=n("[role=menu] li:not(.divider):visible a",o),f.length&&(r=f.index(f.filter(":focus")),38==t.keyCode&&r>0&&r--,40==t.keyCode&&r<f.length-1&&r++,~r||(r=0),f.eq(r).focus())}},f=n.fn.dropdown,n.fn.dropdown=function(i){return this.each(function(){var r=n(this),u=r.data("dropdown");u||r.data("dropdown",u=new t(this)),"string"==typeof i&&u[i].call(r)})},n.fn.dropdown.Constructor=t,n.fn.dropdown.noConflict=function(){return n.fn.dropdown=f,this},n(document).on("click.bs.dropdown.data-api",r).on("click.bs.dropdown.data-api",".dropdown form",function(n){n.stopPropagation()}).on("click.bs.dropdown.data-api",i,t.prototype.toggle).on("keydown.bs.dropdown.data-api",i+", [role=menu]",t.prototype.keydown)}(window.jQuery),+function(n){"use strict";var t=function(t,i){this.options=i,this.$element=n(t),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.load(this.options.remote)},i;t.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},t.prototype.toggle=function(n){return this[this.isShown?"hide":"show"](n)},t.prototype.show=function(t){var i=this,r=n.Event("show.bs.modal",{relatedTarget:t});this.$element.trigger(r),this.isShown||r.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.modal",'[data-dismiss="modal"]',n.proxy(this.hide,this)),this.backdrop(function(){var u=n.support.transition&&i.$element.hasClass("fade"),r;i.$element.parent().length||i.$element.appendTo(document.body),i.$element.show(),u&&i.$element[0].offsetWidth,i.$element.addClass("in").attr("aria-hidden",!1),i.enforceFocus(),r=n.Event("shown.bs.modal",{relatedTarget:t}),u?i.$element.find(".modal-dialog").one(n.support.transition.end,function(){i.$element.focus().trigger(r)}).emulateTransitionEnd(300):i.$element.focus().trigger(r)}))},t.prototype.hide=function(t){t&&t.preventDefault(),t=n.Event("hide.bs.modal"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),n(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.modal"),n.support.transition&&this.$element.hasClass("fade")?this.$element.one(n.support.transition.end,n.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},t.prototype.enforceFocus=function(){n(document).off("focusin.bs.modal").on("focusin.bs.modal",n.proxy(function(n){this.$element[0]===n.target||this.$element.has(n.target).length||this.$element.focus()},this))},t.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",n.proxy(function(n){27==n.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},t.prototype.hideModal=function(){var n=this;this.$element.hide(),this.backdrop(function(){n.removeBackdrop(),n.$element.trigger("hidden.bs.modal")})},t.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},t.prototype.backdrop=function(t){var r=this.$element.hasClass("fade")?"fade":"",i;if(this.isShown&&this.options.backdrop){if(i=n.support.transition&&r,this.$backdrop=n('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.$element.on("click.dismiss.modal",n.proxy(function(n){n.target===n.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!t)return;i?this.$backdrop.one(n.support.transition.end,t).emulateTransitionEnd(150):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),n.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(n.support.transition.end,t).emulateTransitionEnd(150):t()):t&&t()},i=n.fn.modal,n.fn.modal=function(i,r){return this.each(function(){var f=n(this),u=f.data("bs.modal"),e=n.extend({},t.DEFAULTS,f.data(),"object"==typeof i&&i);u||f.data("bs.modal",u=new t(this,e)),"string"==typeof i?u[i](r):e.show&&u.show(r)})},n.fn.modal.Constructor=t,n.fn.modal.noConflict=function(){return n.fn.modal=i,this},n(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(t){var i=n(this),r=i.attr("href"),u=n(i.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),f=u.data("modal")?"toggle":n.extend({remote:!/#/.test(r)&&r},u.data(),i.data());t.preventDefault(),u.modal(f,this).one("hide",function(){i.is(":visible")&&i.focus()})}),n(document).on("show.bs.modal",".modal",function(){n(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){n(document.body).removeClass("modal-open")})}(window.jQuery),+function(n){"use strict";var t=function(n,t){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",n,t)},i;t.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"><\/div><div class="tooltip-inner"><\/div><\/div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},t.prototype.init=function(t,i,r){var f,e,u,o,s;for(this.enabled=!0,this.type=t,this.$element=n(i),this.options=this.getOptions(r),f=this.options.trigger.split(" "),e=f.length;e--;)if(u=f[e],"click"==u)this.$element.on("click."+this.type,this.options.selector,n.proxy(this.toggle,this));else"manual"!=u&&(o="hover"==u?"mouseenter":"focus",s="hover"==u?"mouseleave":"blur",this.$element.on(o+"."+this.type,this.options.selector,n.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,n.proxy(this.leave,this)));this.options.selector?this._options=n.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},t.prototype.getDefaults=function(){return t.DEFAULTS},t.prototype.getOptions=function(t){return t=n.extend({},this.getDefaults(),this.$element.data(),t),t.delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t},t.prototype.getDelegateOptions=function(){var t={},i=this.getDefaults();return this._options&&n.each(this._options,function(n,r){i[n]!=r&&(t[n]=r)}),t},t.prototype.enter=function(t){var i=t instanceof this.constructor?t:n(t.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(i.timeout),i.hoverState="in",i.options.delay&&i.options.delay.show?(i.timeout=setTimeout(function(){"in"==i.hoverState&&i.show()},i.options.delay.show),void 0):i.show()},t.prototype.leave=function(t){var i=t instanceof this.constructor?t:n(t.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(i.timeout),i.hoverState="out",i.options.delay&&i.options.delay.hide?(i.timeout=setTimeout(function(){"out"==i.hoverState&&i.hide()},i.options.delay.hide),void 0):i.hide()},t.prototype.show=function(){var o=n.Event("show.bs."+this.type),i,l;if(this.hasContent()&&this.enabled){if(this.$element.trigger(o),o.isDefaultPrevented())return;i=this.tip(),this.setContent(),this.options.animation&&i.addClass("fade");var t="function"==typeof this.options.placement?this.options.placement.call(this,i[0],this.$element[0]):this.options.placement,s=/\s?auto?\s?/i,h=s.test(t);h&&(t=t.replace(s,"")||"top"),i.detach().css({top:0,left:0,display:"block"}).addClass(t),this.options.container?i.appendTo(this.options.container):i.insertAfter(this.$element);var r=this.getPosition(),u=i[0].offsetWidth,f=i[0].offsetHeight;if(h){var e=this.$element.parent(),a=t,c=document.documentElement.scrollTop||document.body.scrollTop,v="body"==this.options.container?window.innerWidth:e.outerWidth(),y="body"==this.options.container?window.innerHeight:e.outerHeight(),p="body"==this.options.container?0:e.offset().left;t="bottom"==t&&r.top+r.height+f-c>y?"top":"top"==t&&r.top-c-f<0?"bottom":"right"==t&&r.right+u>v?"left":"left"==t&&r.left-u<p?"right":t,i.removeClass(a).addClass(t)}l=this.getCalculatedOffset(t,r,u,f),this.applyPlacement(l,t),this.$element.trigger("shown.bs."+this.type)}},t.prototype.applyPlacement=function(n,t){var h,i=this.tip(),c=i[0].offsetWidth,f=i[0].offsetHeight,e=parseInt(i.css("margin-top"),10),o=parseInt(i.css("margin-left"),10),u,r,s;isNaN(e)&&(e=0),isNaN(o)&&(o=0),n.top=n.top+e,n.left=n.left+o,i.offset(n).addClass("in"),u=i[0].offsetWidth,r=i[0].offsetHeight,("top"==t&&r!=f&&(h=!0,n.top=n.top+f-r),/bottom|top/.test(t))?(s=0,n.left<0&&(s=-2*n.left,n.left=0,i.offset(n),u=i[0].offsetWidth,r=i[0].offsetHeight),this.replaceArrow(s-c+u,u,"left")):this.replaceArrow(r-f,r,"top"),h&&i.offset(n)},t.prototype.replaceArrow=function(n,t,i){this.arrow().css(i,n?50*(1-n/t)+"%":"")},t.prototype.setContent=function(){var n=this.tip(),t=this.getTitle();n.find(".tooltip-inner")[this.options.html?"html":"text"](t),n.removeClass("fade in top bottom left right")},t.prototype.hide=function(){function i(){"in"!=u.hoverState&&t.detach()}var u=this,t=this.tip(),r=n.Event("hide.bs."+this.type);return this.$element.trigger(r),r.isDefaultPrevented()?void 0:(t.removeClass("in"),n.support.transition&&this.$tip.hasClass("fade")?t.one(n.support.transition.end,i).emulateTransitionEnd(150):i(),this.$element.trigger("hidden.bs."+this.type),this)},t.prototype.fixTitle=function(){var n=this.$element;(n.attr("title")||"string"!=typeof n.attr("data-original-title"))&&n.attr("data-original-title",n.attr("title")||"").attr("title","")},t.prototype.hasContent=function(){return this.getTitle()},t.prototype.getPosition=function(){var t=this.$element[0];return n.extend({},"function"==typeof t.getBoundingClientRect?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},t.prototype.getCalculatedOffset=function(n,t,i,r){return"bottom"==n?{top:t.top+t.height,left:t.left+t.width/2-i/2}:"top"==n?{top:t.top-r,left:t.left+t.width/2-i/2}:"left"==n?{top:t.top+t.height/2-r/2,left:t.left-i}:{top:t.top+t.height/2-r/2,left:t.left+t.width}},t.prototype.getTitle=function(){var i,t=this.$element,n=this.options;return i=t.attr("data-original-title")||("function"==typeof n.title?n.title.call(t[0]):n.title)},t.prototype.tip=function(){return this.$tip=this.$tip||n(this.options.template)},t.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},t.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},t.prototype.enable=function(){this.enabled=!0},t.prototype.disable=function(){this.enabled=!1},t.prototype.toggleEnabled=function(){this.enabled=!this.enabled},t.prototype.toggle=function(t){var i=t?n(t.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;i.tip().hasClass("in")?i.leave(i):i.enter(i)},t.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)},i=n.fn.tooltip,n.fn.tooltip=function(i){return this.each(function(){var u=n(this),r=u.data("bs.tooltip"),f="object"==typeof i&&i;r||u.data("bs.tooltip",r=new t(this,f)),"string"==typeof i&&r[i]()})},n.fn.tooltip.Constructor=t,n.fn.tooltip.noConflict=function(){return n.fn.tooltip=i,this}}(window.jQuery),+function(n){"use strict";var t=function(n,t){this.init("popover",n,t)},i;if(!n.fn.tooltip)throw new Error("Popover requires tooltip.js");t.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"><\/div><h3 class="popover-title"><\/h3><div class="popover-content"><\/div><\/div>'}),t.prototype=n.extend({},n.fn.tooltip.Constructor.prototype),t.prototype.constructor=t,t.prototype.getDefaults=function(){return t.DEFAULTS},t.prototype.setContent=function(){var n=this.tip(),t=this.getTitle(),i=this.getContent();n.find(".popover-title")[this.options.html?"html":"text"](t),n.find(".popover-content")[this.options.html?"html":"text"](i),n.removeClass("fade top bottom left right in"),n.find(".popover-title").html()||n.find(".popover-title").hide()},t.prototype.hasContent=function(){return this.getTitle()||this.getContent()},t.prototype.getContent=function(){var t=this.$element,n=this.options;return t.attr("data-content")||("function"==typeof n.content?n.content.call(t[0]):n.content)},t.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},t.prototype.tip=function(){return this.$tip||(this.$tip=n(this.options.template)),this.$tip},i=n.fn.popover,n.fn.popover=function(i){return this.each(function(){var u=n(this),r=u.data("bs.popover"),f="object"==typeof i&&i;r||u.data("bs.popover",r=new t(this,f)),"string"==typeof i&&r[i]()})},n.fn.popover.Constructor=t,n.fn.popover.noConflict=function(){return n.fn.popover=i,this}}(window.jQuery),+function(n){"use strict";function t(i,r){var u,f=n.proxy(this.process,this);this.$element=n(i).is("body")?n(window):n(i),this.$body=n("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=n.extend({},t.DEFAULTS,r),this.selector=(this.options.target||(u=n(i).attr("href"))&&u.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=n([]),this.targets=n([]),this.activeTarget=null,this.refresh(),this.process()}t.DEFAULTS={offset:10},t.prototype.refresh=function(){var i=this.$element[0]==window?"offset":"position",t;this.offsets=n([]),this.targets=n([]),t=this,this.$body.find(this.selector).map(function(){var f=n(this),r=f.data("target")||f.attr("href"),u=/^#\w/.test(r)&&n(r);return u&&u.length&&[[u[i]().top+(!n.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||null}).sort(function(n,t){return n[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},t.prototype.process=function(){var n,i=this.$scrollElement.scrollTop()+this.options.offset,f=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,e=f-this.$scrollElement.height(),t=this.offsets,r=this.targets,u=this.activeTarget;if(i>=e)return u!=(n=r.last()[0])&&this.activate(n);for(n=t.length;n--;)u!=r[n]&&i>=t[n]&&(!t[n+1]||i<=t[n+1])&&this.activate(r[n])},t.prototype.activate=function(t){this.activeTarget=t,n(this.selector).parents(".active").removeClass("active");var r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',i=n(r).parents("li").addClass("active");i.parent(".dropdown-menu").length&&(i=i.closest("li.dropdown").addClass("active")),i.trigger("activate")};var i=n.fn.scrollspy;n.fn.scrollspy=function(i){return this.each(function(){var u=n(this),r=u.data("bs.scrollspy"),f="object"==typeof i&&i;r||u.data("bs.scrollspy",r=new t(this,f)),"string"==typeof i&&r[i]()})},n.fn.scrollspy.Constructor=t,n.fn.scrollspy.noConflict=function(){return n.fn.scrollspy=i,this},n(window).on("load",function(){n('[data-spy="scroll"]').each(function(){var t=n(this);t.scrollspy(t.data())})})}(window.jQuery),+function(n){"use strict";var t=function(t){this.element=n(t)},i;t.prototype.show=function(){var t=this.element,e=t.closest("ul:not(.dropdown-menu)"),i=t.attr("data-target"),r,u,f;(i||(i=t.attr("href"),i=i&&i.replace(/.*(?=#[^\s]*$)/,"")),t.parent("li").hasClass("active"))||(r=e.find(".active:last a")[0],u=n.Event("show.bs.tab",{relatedTarget:r}),(t.trigger(u),u.isDefaultPrevented())||(f=n(i),this.activate(t.parent("li"),e),this.activate(f,f.parent(),function(){t.trigger({type:"shown.bs.tab",relatedTarget:r})})))},t.prototype.activate=function(t,i,r){function f(){u.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),e?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var u=i.find("> .active"),e=r&&n.support.transition&&u.hasClass("fade");e?u.one(n.support.transition.end,f).emulateTransitionEnd(150):f(),u.removeClass("in")},i=n.fn.tab,n.fn.tab=function(i){return this.each(function(){var u=n(this),r=u.data("bs.tab");r||u.data("bs.tab",r=new t(this)),"string"==typeof i&&r[i]()})},n.fn.tab.Constructor=t,n.fn.tab.noConflict=function(){return n.fn.tab=i,this},n(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),n(this).tab("show")})}(window.jQuery),+function(n){"use strict";var t=function(i,r){this.options=n.extend({},t.DEFAULTS,r),this.$window=n(window).on("scroll.bs.affix.data-api",n.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",n.proxy(this.checkPositionWithEventLoop,this)),this.$element=n(i),this.affixed=this.unpin=null,this.checkPosition()},i;t.RESET="affix affix-top affix-bottom",t.DEFAULTS={offset:0},t.prototype.checkPositionWithEventLoop=function(){setTimeout(n.proxy(this.checkPosition,this),1)},t.prototype.checkPosition=function(){var i;if(this.$element.is(":visible")){var s=n(document).height(),e=this.$window.scrollTop(),o=this.$element.offset(),r=this.options.offset,f=r.top,u=r.bottom;"object"!=typeof r&&(u=f=r),"function"==typeof f&&(f=r.top()),"function"==typeof u&&(u=r.bottom()),i=null!=this.unpin&&e+this.unpin<=o.top?!1:null!=u&&o.top+this.$element.height()>=s-u?"bottom":null!=f&&f>=e?"top":!1,this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?o.top-e:null,this.$element.removeClass(t.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-u-this.$element.height()}))}},i=n.fn.affix,n.fn.affix=function(i){return this.each(function(){var u=n(this),r=u.data("bs.affix"),f="object"==typeof i&&i;r||u.data("bs.affix",r=new t(this,f)),"string"==typeof i&&r[i]()})},n.fn.affix.Constructor=t,n.fn.affix.noConflict=function(){return n.fn.affix=i,this},n(window).on("load",function(){n('[data-spy="affix"]').each(function(){var i=n(this),t=i.data();t.offset=t.offset||{},t.offsetBottom&&(t.offset.bottom=t.offsetBottom),t.offsetTop&&(t.offset.top=t.offsetTop),i.affix(t)})})}(window.jQuery),jQuery.fn.highlight=function(n){function t(n,i){var o=0,r,f,u;if(n.nodeType==3){if(r=n.data.toUpperCase().indexOf(i),r-=n.data.substr(0,r).toUpperCase().length-n.data.substr(0,r).length,r>=0){f=document.createElement("span"),f.className="highlight";var e=n.splitText(r),h=e.splitText(i.length),s=e.cloneNode(!0);f.appendChild(s),e.parentNode.replaceChild(f,e),o=1}}else if(n.nodeType==1&&n.childNodes&&!/(script|style)/i.test(n.tagName))for(u=0;u<n.childNodes.length;++u)u+=t(n.childNodes[u],i);return o}return this.length&&n&&n.length?this.each(function(){t(this,n.toUpperCase())}):this},jQuery.fn.removeHighlight=function(){return this.find("span.highlight").each(function(){this.parentNode.firstChild.nodeName;with(this.parentNode)replaceChild(this.firstChild,this),normalize()}).end()}