(function(c){c.extend(c.fn,{validate:function(a){if(this.length){var b=c.data(this[0],"validator");if(b)return b;b=new c.validator(a,this[0]);c.data(this[0],"validator",b);if(b.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){b.cancelSubmit=true});b.settings.submitHandler&&this.find("input, button").filter(":submit").click(function(){b.submitButton=this});this.submit(function(d){function e(){if(b.settings.submitHandler){if(b.submitButton)var h=c("<input type='hidden'/>").attr("name",
b.submitButton.name).val(b.submitButton.value).appendTo(b.currentForm);b.settings.submitHandler.call(b,b.currentForm);b.submitButton&&h.remove();return false}return true}b.settings.debug&&d.preventDefault();if(b.cancelSubmit){b.cancelSubmit=false;return e()}if(b.form()){if(b.pendingRequest){b.formSubmitted=true;return false}return e()}else{b.focusInvalid();return false}})}return b}else a&&a.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing")},valid:function(){if(c(this[0]).is("form"))return this.validate().form();
else{var a=true,b=c(this[0].form).validate();this.each(function(){a&=b.element(this)});return a}},removeAttrs:function(a){var b={},d=this;c.each(a.split(/\s/),function(e,h){b[h]=d.attr(h);d.removeAttr(h)});return b},rules:function(a,b){var d=this[0];if(a){var e=c.data(d.form,"validator").settings,h=e.rules,j=c.validator.staticRules(d);switch(a){case "add":c.extend(j,c.validator.normalizeRule(b));h[d.name]=j;if(b.messages)e.messages[d.name]=c.extend(e.messages[d.name],b.messages);break;case "remove":if(!b){delete h[d.name];
return j}var g={};c.each(b.split(/\s/),function(m,o){g[o]=j[o];delete j[o]});return g}}d=c.validator.normalizeRules(c.extend({},c.validator.metadataRules(d),c.validator.classRules(d),c.validator.attributeRules(d),c.validator.staticRules(d)),d);if(d.required){e=d.required;delete d.required;d=c.extend({required:e},d)}return d}});c.extend(c.expr[":"],{blank:function(a){return!c.trim(""+a.value)},filled:function(a){return!!c.trim(""+a.value)},unchecked:function(a){return!a.checked}});c.validator=function(a,
b){this.settings=c.extend(true,{},c.validator.defaults,a);this.currentForm=b;this.init()};c.validator.format=function(a,b){if(arguments.length==1)return function(){var d=c.makeArray(arguments);d.unshift(a);return c.validator.format.apply(this,d)};if(arguments.length>2&&b.constructor!=Array)b=c.makeArray(arguments).slice(1);if(b.constructor!=Array)b=[b];c.each(b,function(d,e){a=a.replace(RegExp("\\{"+d+"\\}","g"),e)});return a};c.extend(c.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",
validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:c([]),errorLabelContainer:c([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(a){this.lastActive=a;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass);this.errorsFor(a).hide()}},onfocusout:function(a){if(!this.checkable(a)&&(a.name in this.submitted||!this.optional(a)))this.element(a)},onkeyup:function(a){if(a.name in
this.submitted||a==this.lastElement)this.element(a)},onclick:function(a){if(a.name in this.submitted)this.element(a);else a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(a,b,d){c(a).addClass(b).removeClass(d)},unhighlight:function(a,b,d){c(a).removeClass(b).addClass(d)}},setDefaults:function(a){c.extend(c.validator.defaults,a)},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.",accept:"Please enter a value with a valid extension.",maxlength:c.validator.format("Please enter no more than {0} characters."),minlength:c.validator.format("Please enter at least {0} characters."),rangelength:c.validator.format("Please enter a value between {0} and {1} characters long."),
range:c.validator.format("Please enter a value between {0} and {1}."),max:c.validator.format("Please enter a value less than or equal to {0}."),min:c.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){function a(e){var h=c.data(this[0].form,"validator");e="on"+e.type.replace(/^validate/,"");h.settings[e]&&h.settings[e].call(h,this[0])}this.labelContainer=c(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&
this.labelContainer||c(this.currentForm);this.containers=c(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var b=this.groups={};c.each(this.settings.groups,function(e,h){c.each(h.split(/\s/),function(j,g){b[g]=e})});var d=this.settings.rules;c.each(d,function(e,h){d[e]=c.validator.normalizeRule(h)});c(this.currentForm).validateDelegate(":text, :password, :file, select, textarea",
"focusin focusout keyup",a).validateDelegate(":radio, :checkbox, select, option","click",a);this.settings.invalidHandler&&c(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){this.checkForm();c.extend(this.submitted,this.errorMap);this.invalid=c.extend({},this.errorMap);this.valid()||c(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);
return this.valid()},element:function(a){this.lastElement=a=this.clean(a);this.prepareElement(a);this.currentElements=c(a);var b=this.check(a);if(b)delete this.invalid[a.name];else this.invalid[a.name]=true;if(!this.numberOfInvalids())this.toHide=this.toHide.add(this.containers);this.showErrors();return b},showErrors:function(a){if(a){c.extend(this.errorMap,a);this.errorList=[];for(var b in a)this.errorList.push({message:a[b],element:this.findByName(b)[0]});this.successList=c.grep(this.successList,
function(d){return!(d.name in a)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){c.fn.resetForm&&c(this.currentForm).resetForm();this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b=0,d;for(d in a)b++;return b},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{c(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(a){}},findLastActive:function(){var a=this.lastActive;return a&&c.grep(this.errorList,function(b){return b.element.name==a.name}).length==1&&a},elements:function(){var a=this,b={};return c([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&
a.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in b||!a.objectLength(c(this).rules()))return false;return b[this.name]=true})},clean:function(a){return c(a)[0]},errors:function(){return c(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=c([]);this.toHide=c([]);this.currentElements=c([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)},
prepareElement:function(a){this.reset();this.toHide=this.errorsFor(a)},check:function(a){a=this.clean(a);if(this.checkable(a))a=this.findByName(a.name)[0];var b=c(a).rules(),d=false;for(method in b){var e={method:method,parameters:b[method]};try{var h=c.validator.methods[method].call(this,a.value.replace(/\r/g,""),a,e.parameters);if(h=="dependency-mismatch")d=true;else{d=false;if(h=="pending"){this.toHide=this.toHide.not(this.errorsFor(a));return}if(!h){this.formatAndAdd(a,e);return false}}}catch(j){this.settings.debug&&
window.console&&console.log("exception occured when checking element "+a.id+", check the '"+e.method+"' method",j);throw j;}}if(!d){this.objectLength(b)&&this.successList.push(a);return true}},customMetaMessage:function(a,b){if(c.metadata){var d=this.settings.meta?c(a).metadata()[this.settings.meta]:c(a).metadata();return d&&d.messages&&d.messages[b]}},customMessage:function(a,b){var d=this.settings.messages[a];return d&&(d.constructor==String?d:d[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(arguments[a]!==
undefined)return arguments[a]},defaultMessage:function(a,b){return this.findDefined(this.customMessage(a.name,b),this.customMetaMessage(a,b),!this.settings.ignoreTitle&&a.title||undefined,c.validator.messages[b],"<strong>Warning: No message defined for "+a.name+"</strong>")},formatAndAdd:function(a,b){var d=this.defaultMessage(a,b.method),e=/\$?\{(\d+)\}/g;if(typeof d=="function")d=d.call(this,b.parameters,a);else if(e.test(d))d=jQuery.format(d.replace(e,"{$1}"),b.parameters);this.errorList.push({message:d,
element:a});this.errorMap[a.name]=d;this.submitted[a.name]=d},addWrapper:function(a){if(this.settings.wrapper)a=a.add(a.parent(this.settings.wrapper));return a},defaultShowErrors:function(){for(var a=0;this.errorList[a];a++){var b=this.errorList[a];this.settings.highlight&&this.settings.highlight.call(this,b.element,this.settings.errorClass,this.settings.validClass);this.showLabel(b.element,b.message)}if(this.errorList.length)this.toShow=this.toShow.add(this.containers);if(this.settings.success)for(a=
0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight){a=0;for(b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],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 c(this.errorList).map(function(){return this.element})},showLabel:function(a,
b){var d=this.errorsFor(a);if(d.length){d.removeClass().addClass(this.settings.errorClass);d.attr("generated")&&d.html(b)}else{d=c("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(a),generated:true}).addClass(this.settings.errorClass).html(b||"");if(this.settings.wrapper)d=d.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();this.labelContainer.append(d).length||(this.settings.errorPlacement?this.settings.errorPlacement(d,c(a)):d.insertAfter(a))}if(!b&&this.settings.success){d.text("");
typeof this.settings.success=="string"?d.addClass(this.settings.success):this.settings.success(d)}this.toShow=this.toShow.add(d)},errorsFor:function(a){var b=this.idOrName(a);return this.errors().filter(function(){return c(this).attr("for")==b})},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(a){var b=this.currentForm;return c(document.getElementsByName(a)).map(function(d,e){return e.form==
b&&e.name==a&&e||null})},getLength:function(a,b){switch(b.nodeName.toLowerCase()){case "select":return c("option:selected",b).length;case "input":if(this.checkable(b))return this.findByName(b.name).filter(":checked").length}return a.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):true},dependTypes:{"boolean":function(a){return a},string:function(a,b){return!!c(a,b.form).length},"function":function(a,b){return a(b)}},optional:function(a){return!c.validator.methods.required.call(this,
c.trim(a.value),a)&&"dependency-mismatch"},startRequest:function(a){if(!this.pending[a.name]){this.pendingRequest++;this.pending[a.name]=true}},stopRequest:function(a,b){this.pendingRequest--;if(this.pendingRequest<0)this.pendingRequest=0;delete this.pending[a.name];if(b&&this.pendingRequest==0&&this.formSubmitted&&this.form()){c(this.currentForm).submit();this.formSubmitted=false}else if(!b&&this.pendingRequest==0&&this.formSubmitted){c(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted=
false}},previousValue:function(a){return c.data(a,"previousValue")||c.data(a,"previousValue",{old:null,valid:true,message:this.defaultMessage(a,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(a,b){a.constructor==String?this.classRuleSettings[a]=b:c.extend(this.classRuleSettings,
a)},classRules:function(a){var b={};(a=c(a).attr("class"))&&c.each(a.split(" "),function(){this in c.validator.classRuleSettings&&c.extend(b,c.validator.classRuleSettings[this])});return b},attributeRules:function(a){var b={};a=c(a);for(method in c.validator.methods){var d=a.attr(method);if(d)b[method]=d}b.maxlength&&/-1|2147483647|524288/.test(b.maxlength)&&delete b.maxlength;return b},metadataRules:function(a){if(!c.metadata)return{};var b=c.data(a.form,"validator").settings.meta;return b?c(a).metadata()[b]:
c(a).metadata()},staticRules:function(a){var b={},d=c.data(a.form,"validator");if(d.settings.rules)b=c.validator.normalizeRule(d.settings.rules[a.name])||{};return b},normalizeRules:function(a,b){c.each(a,function(d,e){if(e===false)delete a[d];else if(e.param||e.depends){var h=true;switch(typeof e.depends){case "string":h=!!c(e.depends,b.form).length;break;case "function":h=e.depends.call(b,b)}if(h)a[d]=e.param!==undefined?e.param:true;else delete a[d]}});c.each(a,function(d,e){a[d]=c.isFunction(e)?
e(b):e});c.each(["minlength","maxlength","min","max"],function(){if(a[this])a[this]=Number(a[this])});c.each(["rangelength","range"],function(){if(a[this])a[this]=[Number(a[this][0]),Number(a[this][1])]});if(c.validator.autoCreateRanges){if(a.min&&a.max){a.range=[a.min,a.max];delete a.min;delete a.max}if(a.minlength&&a.maxlength){a.rangelength=[a.minlength,a.maxlength];delete a.minlength;delete a.maxlength}}a.messages&&delete a.messages;return a},normalizeRule:function(a){if(typeof a=="string"){var b=
{};c.each(a.split(/\s/),function(){b[this]=true});a=b}return a},addMethod:function(a,b,d){c.validator.methods[a]=b;c.validator.messages[a]=d!=undefined?d:c.validator.messages[a];b.length<3&&c.validator.addClassRules(a,c.validator.normalizeRule(a))},methods:{required:function(a,b,d){if(!this.depend(d,b))return"dependency-mismatch";switch(b.nodeName.toLowerCase()){case "select":return(a=c(b).val())&&a.length>0;case "input":if(this.checkable(b))return this.getLength(a,b)>0;default:return c.trim(a).length>
0}},remote:function(a,b,d){if(this.optional(b))return"dependency-mismatch";var e=this.previousValue(b);this.settings.messages[b.name]||(this.settings.messages[b.name]={});e.originalMessage=this.settings.messages[b.name].remote;this.settings.messages[b.name].remote=e.message;d=typeof d=="string"&&{url:d}||d;if(e.old!==a){e.old=a;var h=this;this.startRequest(b);var j={};j[b.name]=a;c.ajax(c.extend(true,{url:d,mode:"abort",port:"validate"+b.name,dataType:"json",data:j,success:function(g){h.settings.messages[b.name].remote=
e.originalMessage;var m=g===true;if(m){var o=h.formSubmitted;h.prepareElement(b);h.formSubmitted=o;h.successList.push(b);h.showErrors()}else{o={};g=e.message=g||h.defaultMessage(b,"remote");o[b.name]=c.isFunction(g)?g(a):g;h.showErrors(o)}e.valid=m;h.stopRequest(b,m)}},d));return"pending"}else if(this.pending[b.name])return"pending";return e.valid},minlength:function(a,b,d){return this.optional(b)||this.getLength(c.trim(a),b)>=d},maxlength:function(a,b,d){return this.optional(b)||this.getLength(c.trim(a),
b)<=d},rangelength:function(a,b,d){a=this.getLength(c.trim(a),b);return this.optional(b)||a>=d[0]&&a<=d[1]},min:function(a,b,d){return this.optional(b)||a>=d},max:function(a,b,d){return this.optional(b)||a<=d},range:function(a,b,d){return this.optional(b)||a>=d[0]&&a<=d[1]},email:function(a,b){return this.optional(b)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(a)},
url:function(a,b){return this.optional(b)||/^(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(a)},
date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a))},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9-]+/.test(a))return false;var d=0,e=0,h=false;a=a.replace(/\D/g,"");for(var j=a.length-1;j>=
0;j--){e=a.charAt(j);e=parseInt(e,10);if(h)if((e*=2)>9)e-=9;d+=e;h=!h}return d%10==0},accept:function(a,b,d){d=typeof d=="string"?d.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(b)||a.match(RegExp(".("+d+")$","i"))},equalTo:function(a,b,d){d=c(d).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){c(b).valid()});return a==d.val()}}});c.format=c.validator.format})(jQuery);
(function(c){var a=c.ajax,b={};c.ajax=function(d){d=c.extend(d,c.extend({},c.ajaxSettings,d));var e=d.port;if(d.mode=="abort"){b[e]&&b[e].abort();return b[e]=a.apply(this,arguments)}return a.apply(this,arguments)}})(jQuery);
(function(c){!jQuery.event.special.focusin&&!jQuery.event.special.focusout&&document.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.handle.call(this,e)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)},handler:function(e){arguments[0]=c.event.fix(e);arguments[0].type=b;return c.event.handle.apply(this,arguments)}}});c.extend(c.fn,{validateDelegate:function(a,
b,d){return this.bind(b,function(e){var h=c(e.target);if(h.is(a))return d.apply(h,arguments)})}})})(jQuery);
(function(c,a){function b(i,l){i=i?' id="'+p+i+'"':"";l=l?' style="'+l+'"':"";return c("<div"+i+l+"/>")}function d(i,l){l=l==="x"?x.width():x.height();return typeof i==="string"?Math.round(/%/.test(i)?l/100*parseInt(i,10):parseInt(i,10)):i}function e(i){return f.photo||/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i.test(i)}function h(i){for(var l in i)if(c.isFunction(i[l])&&l.substring(0,2)!=="on")i[l]=i[l].call(w);i.rel=i.rel||w.rel||"nofollow";i.href=i.href||c(w).attr("href");i.title=i.title||
w.title;return i}function j(i,l){l&&l.call(w);c.event.trigger(i)}function g(){var i,l=p+"Slideshow_",k="click."+p,r,y;if(f.slideshow&&s[1]){r=function(){N.text(f.slideshowStop).unbind(k).bind(Y,function(){if(q<s.length-1||f.loop)i=setTimeout(n.next,f.slideshowSpeed)}).bind(Z,function(){clearTimeout(i)}).one(k+" "+U,y);u.removeClass(l+"off").addClass(l+"on");i=setTimeout(n.next,f.slideshowSpeed)};y=function(){clearTimeout(i);N.text(f.slideshowStart).unbind([Y,Z,U,k].join(" ")).one(k,r);u.removeClass(l+
"on").addClass(l+"off")};f.slideshowAuto?r():y()}}function m(i){if(!V){w=i;f=h(c.extend({},c.data(w,z)));s=c(w);q=0;if(f.rel!=="nofollow"){s=c("."+O).filter(function(){return(c.data(this,z).rel||this.rel)===f.rel});q=s.index(w);if(q===-1){s=s.add(w);q=s.length-1}}if(!C){C=K=true;u.show();if(f.returnFocus)try{w.blur();c(w).one(ia,function(){try{this.focus()}catch(k){}})}catch(l){}D.css({opacity:+f.opacity,cursor:f.overlayClose?"pointer":"auto"}).show();f.w=d(f.initialWidth,"x");f.h=d(f.initialHeight,
"y");n.position(0);aa&&x.bind("resize."+W+" scroll."+W,function(){D.css({width:x.width(),height:x.height(),top:x.scrollTop(),left:x.scrollLeft()})}).trigger("scroll."+W);j(ja,f.onOpen);ba.add(P).add(Q).add(N).add(ca).hide();da.html(f.close).show()}n.load(true)}}var o={transition:"elastic",speed:300,width:false,initialWidth:"600",innerWidth:false,maxWidth:false,height:false,initialHeight:"450",innerHeight:false,maxHeight:false,scalePhotos:true,scrolling:true,inline:false,html:false,iframe:false,photo:false,
href:false,title:false,rel:false,opacity:0.9,preloading:true,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:false,returnFocus:true,loop:true,slideshow:false,slideshowAuto:true,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:false,onLoad:false,onComplete:false,onCleanup:false,onClosed:false,overlayClose:true,escKey:true,arrowKey:true},z="colorbox",p="cbox",ja=p+"_open",Z=p+"_load",Y=p+"_complete",U=p+"_cleanup",ia=
p+"_closed",X=p+"_purge",ka=p+"_loaded",L=c.browser.msie&&!c.support.opacity,aa=L&&c.browser.version<7,W=p+"_IE6",D,u,G,B,ea,fa,ga,ha,s,x,v,R,S,ca,ba,N,Q,P,da,H,I,E,F,w,q,f,C,K,V=false,n,O=p+"Element";n=c.fn[z]=c[z]=function(i,l){var k=this,r;if(!k[0]&&k.selector)return k;i=i||{};if(l)i.onComplete=l;if(!k[0]||k.selector===undefined){k=c("<a/>");i.open=true}k.each(function(){c.data(this,z,c.extend({},c.data(this,z)||o,i));c(this).addClass(O)});r=i.open;if(c.isFunction(r))r=r.call(k);r&&m(k[0]);return k};
n.init=function(){x=c(a);u=b().attr({id:z,"class":L?p+"IE":""});D=b("Overlay",aa?"position:absolute":"").hide();G=b("Wrapper");B=b("Content").append(v=b("LoadedContent","width:0; height:0; overflow:hidden"),S=b("LoadingOverlay").add(b("LoadingGraphic")),ca=b("Title"),ba=b("Current"),Q=b("Next"),P=b("Previous"),N=b("Slideshow").bind(ja,g),da=b("Close"));G.append(b().append(b("TopLeft"),ea=b("TopCenter"),b("TopRight")),b(false,"clear:left").append(fa=b("MiddleLeft"),B,ga=b("MiddleRight")),b(false,"clear:left").append(b("BottomLeft"),
ha=b("BottomCenter"),b("BottomRight"))).children().children().css({"float":"left"});R=b(false,"position:absolute; width:9999px; visibility:hidden; display:none");c("body").prepend(D,u.append(G,R));B.children().hover(function(){c(this).addClass("hover")},function(){c(this).removeClass("hover")}).addClass("hover");H=ea.height()+ha.height()+B.outerHeight(true)-B.height();I=fa.width()+ga.width()+B.outerWidth(true)-B.width();E=v.outerHeight(true);F=v.outerWidth(true);u.css({"padding-bottom":H,"padding-right":I}).hide();
Q.click(n.next);P.click(n.prev);da.click(n.close);B.children().removeClass("hover");c("."+O).live("click",function(i){if(!(i.button!==0&&typeof i.button!=="undefined"||i.ctrlKey||i.shiftKey||i.altKey)){i.preventDefault();m(this)}});D.click(function(){f.overlayClose&&n.close()});c(document).bind("keydown",function(i){if(C&&f.escKey&&i.keyCode===27){i.preventDefault();n.close()}if(C&&f.arrowKey&&!K&&s[1])if(i.keyCode===37&&(q||f.loop)){i.preventDefault();P.click()}else if(i.keyCode===39&&(q<s.length-
1||f.loop)){i.preventDefault();Q.click()}})};n.remove=function(){u.add(D).remove();c("."+O).die("click").removeData(z).removeClass(O)};n.position=function(i,l){function k(A){ea[0].style.width=ha[0].style.width=B[0].style.width=A.style.width;S[0].style.height=S[1].style.height=B[0].style.height=fa[0].style.height=ga[0].style.height=A.style.height}var r,y=Math.max(document.documentElement.clientHeight-f.h-E-H,0)/2+x.scrollTop(),t=Math.max(x.width()-f.w-F-I,0)/2+x.scrollLeft();r=u.width()===f.w+F&&u.height()===
f.h+E?0:i;G[0].style.width=G[0].style.height="9999px";u.dequeue().animate({width:f.w+F,height:f.h+E,top:y,left:t},{duration:r,complete:function(){k(this);K=false;G[0].style.width=f.w+F+I+"px";G[0].style.height=f.h+E+H+"px";l&&l()},step:function(){k(this)}})};n.resize=function(i){if(C){i=i||{};if(i.width)f.w=d(i.width,"x")-F-I;if(i.innerWidth)f.w=d(i.innerWidth,"x");v.css({width:f.w});if(i.height)f.h=d(i.height,"y")-E-H;if(i.innerHeight)f.h=d(i.innerHeight,"y");if(!i.innerHeight&&!i.height){i=v.wrapInner("<div style='overflow:auto'></div>").children();
f.h=i.height();i.replaceWith(i.children())}v.css({height:f.h});n.position(f.transition==="none"?0:f.speed)}};n.prep=function(i){function l(y){var t,A,M,J,T=s.length,la=f.loop;n.position(y,function(){function ma(){L&&u[0].style.removeAttribute("filter")}if(C){L&&k&&v.fadeIn(100);v.show();j(ka);ca.show().html(f.title);if(T>1){typeof f.current==="string"&&ba.html(f.current.replace(/\{current\}/,q+1).replace(/\{total\}/,T)).show();Q[la||q<T-1?"show":"hide"]().html(f.next);P[la||q?"show":"hide"]().html(f.previous);
t=q?s[q-1]:s[T-1];M=q<T-1?s[q+1]:s[0];f.slideshow&&N.show();if(f.preloading){J=c.data(M,z).href||M.href;A=c.data(t,z).href||t.href;J=c.isFunction(J)?J.call(M):J;A=c.isFunction(A)?A.call(t):A;if(e(J))c("<img/>")[0].src=J;if(e(A))c("<img/>")[0].src=A}}S.hide();f.transition==="fade"?u.fadeTo(r,1,function(){ma()}):ma();x.bind("resize."+p,function(){n.position(0)});j(Y,f.onComplete)}})}if(C){var k,r=f.transition==="none"?0:f.speed;x.unbind("resize."+p);v.remove();v=b("LoadedContent").html(i);v.hide().appendTo(R.show()).css({width:function(){f.w=
f.w||v.width();f.w=f.mw&&f.mw<f.w?f.mw:f.w;return f.w}(),overflow:f.scrolling?"auto":"hidden"}).css({height:function(){f.h=f.h||v.height();f.h=f.mh&&f.mh<f.h?f.mh:f.h;return f.h}()}).prependTo(B);R.hide();c("#"+p+"Photo").css({cssFloat:"none",marginLeft:"auto",marginRight:"auto"});aa&&c("select").not(u.find("select")).filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one(U,function(){this.style.visibility="inherit"});f.transition==="fade"?u.fadeTo(r,0,function(){l(0)}):
l(r)}};n.load=function(i){var l,k,r,y=n.prep;K=true;w=s[q];i||(f=h(c.extend({},c.data(w,z))));j(X);j(Z,f.onLoad);f.h=f.height?d(f.height,"y")-E-H:f.innerHeight&&d(f.innerHeight,"y");f.w=f.width?d(f.width,"x")-F-I:f.innerWidth&&d(f.innerWidth,"x");f.mw=f.w;f.mh=f.h;if(f.maxWidth){f.mw=d(f.maxWidth,"x")-F-I;f.mw=f.w&&f.w<f.mw?f.w:f.mw}if(f.maxHeight){f.mh=d(f.maxHeight,"y")-E-H;f.mh=f.h&&f.h<f.mh?f.h:f.mh}l=f.href;S.show();if(f.inline){b().hide().insertBefore(c(l)[0]).one(X,function(){c(this).replaceWith(v.children())});
y(c(l))}else if(f.iframe){u.one(ka,function(){var t=c("<iframe frameborder='0' style='width:100%; height:100%; border:0; display:block'/>")[0];t.name=p+ +new Date;t.src=f.href;if(!f.scrolling)t.scrolling="no";if(L)t.allowtransparency="true";c(t).appendTo(v).one(X,function(){t.src="//about:blank"})});y(" ")}else if(f.html)y(f.html);else if(e(l)){k=new Image;k.onload=function(){var t;k.onload=null;k.id=p+"Photo";c(k).css({border:"none",display:"block",cssFloat:"left"});if(f.scalePhotos){r=function(){k.height-=
k.height*t;k.width-=k.width*t};if(f.mw&&k.width>f.mw){t=(k.width-f.mw)/k.width;r()}if(f.mh&&k.height>f.mh){t=(k.height-f.mh)/k.height;r()}}if(f.h)k.style.marginTop=Math.max(f.h-k.height,0)/2+"px";if(s[1]&&(q<s.length-1||f.loop))c(k).css({cursor:"pointer"}).click(n.next);if(L)k.style.msInterpolationMode="bicubic";setTimeout(function(){y(k)},1)};setTimeout(function(){k.src=l},1)}else l&&R.load(l,function(t,A,M){y(A==="error"?"Request unsuccessful: "+M.statusText:c(this).children())})};n.next=function(){if(!K){q=
q<s.length-1?q+1:0;n.load()}};n.prev=function(){if(!K){q=q?q-1:s.length-1;n.load()}};n.close=function(){if(C&&!V){V=true;C=false;j(U,f.onCleanup);x.unbind("."+p+" ."+W);D.fadeTo("fast",0);u.stop().fadeTo("fast",0,function(){j(X);v.remove();u.add(D).css({opacity:1,cursor:"auto"}).hide();setTimeout(function(){V=false;j(ia,f.onClosed)},1)})}};n.element=function(){return c(w)};n.settings=o;c(n.init)})(jQuery,this);
(function(c){function a(d,e,h,j){if(!e.busy){var g=d[0].parentNode,m=d[e.currSlide],o=d[e.nextSlide];if(!(g.cycleTimeout===0&&!h)){if(h||!g.cyclePause){e.before.length&&c.each(e.before,function(z,p){p.apply(o,[m,o,e,j])});h=function(){c.browser.msie&&this.style.removeAttribute("filter");c.each(e.after,function(z,p){p.apply(o,[m,o,e,j])})};if(e.nextSlide!=e.currSlide){e.busy=1;c.fn.cycle.custom(m,o,e,h)}h=e.nextSlide+1==d.length;e.nextSlide=h?0:e.nextSlide+1;e.currSlide=h?d.length-1:e.nextSlide-1}if(e.timeout)g.cycleTimeout=
setTimeout(function(){a(d,e,0,!e.rev)},e.timeout)}}}function b(d,e,h){var j=d[0].parentNode,g=j.cycleTimeout;if(g){clearTimeout(g);j.cycleTimeout=0}e.nextSlide=e.currSlide+h;if(e.nextSlide<0)e.nextSlide=d.length-1;else if(e.nextSlide>=d.length)e.nextSlide=0;a(d,e,1,h>=0);return false}c.fn.cycle=function(d){return this.each(function(){d=d||{};this.cycleTimeout&&clearTimeout(this.cycleTimeout);this.cyclePause=this.cycleTimeout=0;var e=c(this),h=d.slideExpr?c(d.slideExpr,this):e.children(),j=h.get();
if(j.length<2)window.console&&console.log("terminating; too few slides: "+j.length);else{var g=c.extend({},c.fn.cycle.defaults,d||{},c.metadata?e.metadata():c.meta?e.data():{}),m=c.isFunction(e.data)?e.data(g.metaAttr):null;if(m)g=c.extend(g,m);g.before=g.before?[g.before]:[];g.after=g.after?[g.after]:[];g.after.unshift(function(){g.busy=0});m=this.className;g.width=parseInt((m.match(/w:(\d+)/)||[])[1])||g.width;g.height=parseInt((m.match(/h:(\d+)/)||[])[1])||g.height;g.timeout=parseInt((m.match(/t:(\d+)/)||
[])[1])||g.timeout;e.css("position")=="static"&&e.css("position","relative");g.width&&e.width(g.width);g.height&&g.height!="auto"&&e.height(g.height);h.css({position:"absolute",top:0,left:0}).each(function(o){c(this).css("z-index",j.length-o)});c(j[0]).css("opacity",1).show();c.browser.msie&&j[0].style.removeAttribute("filter");g.fit&&g.width&&h.width(g.width);g.fit&&g.height&&g.height!="auto"&&h.height(g.height);g.pause&&e.hover(function(){this.cyclePause=1},function(){this.cyclePause=0});(m=c.fn.cycle.transitions[g.fx])&&
m(e,h,g);h.each(function(){var o=c(this);this.cycleH=g.fit&&g.height?g.height:o.height();this.cycleW=g.fit&&g.width?g.width:o.width()});g.cssFirst&&c(h[0]).css(g.cssFirst);if(g.timeout){if(g.speed.constructor==String)g.speed={slow:600,fast:200}[g.speed]||400;for(g.sync||(g.speed/=2);g.timeout-g.speed<250;)g.timeout+=g.speed}g.speedIn=g.speed;g.speedOut=g.speed;g.slideCount=j.length;g.currSlide=0;g.nextSlide=1;e=h[0];g.before.length&&g.before[0].apply(e,[e,e,g,true]);g.after.length>1&&g.after[1].apply(e,
[e,e,g,true]);if(g.click&&!g.next)g.next=g.click;g.next&&c(g.next).bind("click",function(){return b(j,g,g.rev?-1:1)});g.prev&&c(g.prev).bind("click",function(){return b(j,g,g.rev?1:-1)});if(g.timeout)this.cycleTimeout=setTimeout(function(){a(j,g,0,!g.rev)},g.timeout+(g.delay||0))}})};c.fn.cycle.custom=function(d,e,h,j){var g=c(d),m=c(e);m.css(h.cssBefore);var o=function(){m.animate(h.animIn,h.speedIn,h.easeIn,j)};g.animate(h.animOut,h.speedOut,h.easeOut,function(){g.css(h.cssAfter);h.sync||o()});
h.sync&&o()};c.fn.cycle.transitions={fade:function(d,e,h){e.not(":eq(0)").hide();h.cssBefore={opacity:0,display:"block"};h.cssAfter={display:"none"};h.animOut={opacity:0};h.animIn={opacity:1}},fadeout:function(d,e,h){h.before.push(function(j,g,m,o){c(j).css("zIndex",m.slideCount+(o===true?1:0));c(g).css("zIndex",m.slideCount+(o===true?0:1))});e.not(":eq(0)").hide();h.cssBefore={opacity:1,display:"block",zIndex:1};h.cssAfter={display:"none",zIndex:0};h.animOut={opacity:0}}};c.fn.cycle.ver=function(){return"Lite-1.3"};
c.fn.cycle.defaults={animIn:{},animOut:{},fx:"fade",after:null,before:null,cssBefore:{},cssAfter:{},delay:0,fit:0,height:"auto",metaAttr:"cycle",next:null,pause:0,prev:null,speed:1E3,slideExpr:null,sync:1,timeout:4E3}})(jQuery);
(function(c,a){var b=function(d){return new b.prototype.init(d)};b.prototype={q:{},apiEndPoint:"/hifi/api",about:"HiFi API Version 1.0",init:function(d){this.q=$.extend(true,{},d);return this},setup:function(d){$.extend(true,b.prototype,d);return this},query:function(){return this.q},find:function(d){this.q=$.extend(true,this.q,d);return this},children:function(d){this.q=$.extend({parent:this.q},d);return this},orderBy:function(d){if(d===a)return this.q.orderBy;this.q.orderBy=d;return this},count:function(d){if(d===
a)return this.q.count;this.q.count=d;return this},versions:function(){this.q.fresh=[0,1];this.q.orderBy="-node";return this},request:function(d,e,h){if(h===a)h=this.q;if(e===a)e="GET";h=JSON.stringify(h);var j={},g=this;if(e=="GET")j.q=h;else j.data=h;$.ajax({url:this.apiEndPoint,type:e,data:j,dataType:"json",cache:false,success:function(m){g.s=true;$.isFunction(d)&&d(m.results,m.success)}});return this},each:function(d,e){return this.request(function(h){for(var j=0;j<h.length;j++){var g=h[j];$.isFunction(d)&&
d(g)}$.isFunction(e)&&e(h)})},get:function(d){this.request(d)},remove:function(d){this.update({fresh:0},d)},append:function(d,e){var h=this;return this.each(function(j){d.parent=j.id;h.create(d,e)})},promote:function(){var d=this;return this.each(function(e){d.q={id:e.id,node:e.node,fresh:1};d.update()})},create:function(d,e){$.isArray(d)||(d=[d]);for(var h=0;h<d.length;h++){var j=d[h];if(j.parent===a)throw"A parent is required for a create.";if(j.type===a)throw"A type is required for a create.";
}return this.request(e,"POST",d)},update:function(d,e){if($.isArray(d))this.request(e,"POST",d);else{var h=this;return this.request(function(j){j=$.map(j,function(g){return $.extend({id:g.id},d)});h.request(e,"POST",j)})}},destroy:function(d){this.q.fresh=0;if(this.q.id===a){console.log("An id is required for a destroy");return this}this.request(d,"POST")}};b.prototype.init.prototype=b.prototype;c.hifi=b})(window);
$(function(){$("a[rel=colorbox]").colorbox();$("a[rel=colorbox-video1]").colorbox({iframe:true,innerWidth:400,innerHeight:300});$("#nav li").hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")});$("#cycle").cycle({timeout:4E3});$("#questions article h3 a").click(function(){var c=$(this).parent("h3").parent("article");if(!c.hasClass("active")){$("#questions article").removeClass("active").children("div").slideUp();c.children("div").delay(250).slideDown();c.delay(500).addClass("active")}return false});
$(".generated-form, #comment-form").validate();$("form .text").each(function(){var c=$(this).attr("placeholder");$(this).val()===""&&$(this).val(c);$(this).blur(function(){$(this).val()===""&&$(this).val(c)}).focus(function(){$(this).val()==c&&$(this).val("")})});$.validator.addMethod("query",function(c){return c!==""&&c!=="Search..."},"Please enter a search term");$("#search").validate()});

