(function(b){b.extend(b.fn,{validate:function(a){if(this.length){var d=b.data(this[0],"validator");if(d)return d;d=new b.validator(a,this[0]);b.data(this[0],"validator",d);if(d.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){d.cancelSubmit=true});d.settings.submitHandler&&this.find("input, button").filter(":submit").click(function(){d.submitButton=this});this.submit(function(g){function i(){if(d.settings.submitHandler){if(d.submitButton)var l=b("<input type='hidden'/>").attr("name",
d.submitButton.name).val(d.submitButton.value).appendTo(d.currentForm);d.settings.submitHandler.call(d,d.currentForm);d.submitButton&&l.remove();return false}return true}d.settings.debug&&g.preventDefault();if(d.cancelSubmit){d.cancelSubmit=false;return i()}if(d.form()){if(d.pendingRequest){d.formSubmitted=true;return false}return i()}else{d.focusInvalid();return false}})}return d}else a&&a.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing")},valid:function(){if(b(this[0]).is("form"))return this.validate().form();
else{var a=true,d=b(this[0].form).validate();this.each(function(){a&=d.element(this)});return a}},removeAttrs:function(a){var d={},g=this;b.each(a.split(/\s/),function(i,l){d[l]=g.attr(l);g.removeAttr(l)});return d},rules:function(a,d){var g=this[0];if(a){var i=b.data(g.form,"validator").settings,l=i.rules,o=b.validator.staticRules(g);switch(a){case "add":b.extend(o,b.validator.normalizeRule(d));l[g.name]=o;if(d.messages)i.messages[g.name]=b.extend(i.messages[g.name],d.messages);break;case "remove":if(!d){delete l[g.name];
return o}var r={};b.each(d.split(/\s/),function(u,t){r[t]=o[t];delete o[t]});return r}}g=b.validator.normalizeRules(b.extend({},b.validator.metadataRules(g),b.validator.classRules(g),b.validator.attributeRules(g),b.validator.staticRules(g)),g);if(g.required){i=g.required;delete g.required;g=b.extend({required:i},g)}return g}});b.extend(b.expr[":"],{blank:function(a){return!b.trim(""+a.value)},filled:function(a){return!!b.trim(""+a.value)},unchecked:function(a){return!a.checked}});b.validator=function(a,
d){this.settings=b.extend(true,{},b.validator.defaults,a);this.currentForm=d;this.init()};b.validator.format=function(a,d){if(arguments.length==1)return function(){var g=b.makeArray(arguments);g.unshift(a);return b.validator.format.apply(this,g)};if(arguments.length>2&&d.constructor!=Array)d=b.makeArray(arguments).slice(1);if(d.constructor!=Array)d=[d];b.each(d,function(g,i){a=a.replace(RegExp("\\{"+g+"\\}","g"),i)});return a};b.extend(b.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",
validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:b([]),errorLabelContainer:b([]),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,d,g){b(a).addClass(d).removeClass(g)},unhighlight:function(a,d,g){b(a).removeClass(d).addClass(g)}},setDefaults:function(a){b.extend(b.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:b.validator.format("Please enter no more than {0} characters."),minlength:b.validator.format("Please enter at least {0} characters."),rangelength:b.validator.format("Please enter a value between {0} and {1} characters long."),
range:b.validator.format("Please enter a value between {0} and {1}."),max:b.validator.format("Please enter a value less than or equal to {0}."),min:b.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){function a(i){var l=b.data(this[0].form,"validator");i="on"+i.type.replace(/^validate/,"");l.settings[i]&&l.settings[i].call(l,this[0])}this.labelContainer=b(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&
this.labelContainer||b(this.currentForm);this.containers=b(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var d=this.groups={};b.each(this.settings.groups,function(i,l){b.each(l.split(/\s/),function(o,r){d[r]=i})});var g=this.settings.rules;b.each(g,function(i,l){g[i]=b.validator.normalizeRule(l)});b(this.currentForm).validateDelegate(":text, :password, :file, select, textarea",
"focusin focusout keyup",a).validateDelegate(":radio, :checkbox, select, option","click",a);this.settings.invalidHandler&&b(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){this.checkForm();b.extend(this.submitted,this.errorMap);this.invalid=b.extend({},this.errorMap);this.valid()||b(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var a=0,d=this.currentElements=this.elements();d[a];a++)this.check(d[a]);
return this.valid()},element:function(a){this.lastElement=a=this.clean(a);this.prepareElement(a);this.currentElements=b(a);var d=this.check(a);if(d)delete this.invalid[a.name];else this.invalid[a.name]=true;if(!this.numberOfInvalids())this.toHide=this.toHide.add(this.containers);this.showErrors();return d},showErrors:function(a){if(a){b.extend(this.errorMap,a);this.errorList=[];for(var d in a)this.errorList.push({message:a[d],element:this.findByName(d)[0]});this.successList=b.grep(this.successList,
function(g){return!(g.name in a)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){b.fn.resetForm&&b(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 d=0,g;for(g in a)d++;return d},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{b(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(a){}},findLastActive:function(){var a=this.lastActive;return a&&b.grep(this.errorList,function(d){return d.element.name==a.name}).length==1&&a},elements:function(){var a=this,d={};return b([]).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 d||!a.objectLength(b(this).rules()))return false;return d[this.name]=true})},clean:function(a){return b(a)[0]},errors:function(){return b(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=b([]);this.toHide=b([]);this.currentElements=b([])},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 d=b(a).rules(),g=false;for(method in d){var i={method:method,parameters:d[method]};try{var l=b.validator.methods[method].call(this,a.value.replace(/\r/g,""),a,i.parameters);if(l=="dependency-mismatch")g=true;else{g=false;if(l=="pending"){this.toHide=this.toHide.not(this.errorsFor(a));return}if(!l){this.formatAndAdd(a,i);return false}}}catch(o){this.settings.debug&&
window.console&&console.log("exception occured when checking element "+a.id+", check the '"+i.method+"' method",o);throw o;}}if(!g){this.objectLength(d)&&this.successList.push(a);return true}},customMetaMessage:function(a,d){if(b.metadata){var g=this.settings.meta?b(a).metadata()[this.settings.meta]:b(a).metadata();return g&&g.messages&&g.messages[d]}},customMessage:function(a,d){var g=this.settings.messages[a];return g&&(g.constructor==String?g:g[d])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(arguments[a]!==
undefined)return arguments[a]},defaultMessage:function(a,d){return this.findDefined(this.customMessage(a.name,d),this.customMetaMessage(a,d),!this.settings.ignoreTitle&&a.title||undefined,b.validator.messages[d],"<strong>Warning: No message defined for "+a.name+"</strong>")},formatAndAdd:function(a,d){var g=this.defaultMessage(a,d.method),i=/\$?\{(\d+)\}/g;if(typeof g=="function")g=g.call(this,d.parameters,a);else if(i.test(g))g=jQuery.format(g.replace(i,"{$1}"),d.parameters);this.errorList.push({message:g,
element:a});this.errorMap[a.name]=g;this.submitted[a.name]=g},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 d=this.errorList[a];this.settings.highlight&&this.settings.highlight.call(this,d.element,this.settings.errorClass,this.settings.validClass);this.showLabel(d.element,d.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(d=this.validElements();d[a];a++)this.settings.unhighlight.call(this,d[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 b(this.errorList).map(function(){return this.element})},showLabel:function(a,
d){var g=this.errorsFor(a);if(g.length){g.removeClass().addClass(this.settings.errorClass);g.attr("generated")&&g.html(d)}else{g=b("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(a),generated:true}).addClass(this.settings.errorClass).html(d||"");if(this.settings.wrapper)g=g.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();this.labelContainer.append(g).length||(this.settings.errorPlacement?this.settings.errorPlacement(g,b(a)):g.insertAfter(a))}if(!d&&this.settings.success){g.text("");
typeof this.settings.success=="string"?g.addClass(this.settings.success):this.settings.success(g)}this.toShow=this.toShow.add(g)},errorsFor:function(a){var d=this.idOrName(a);return this.errors().filter(function(){return b(this).attr("for")==d})},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 d=this.currentForm;return b(document.getElementsByName(a)).map(function(g,i){return i.form==
d&&i.name==a&&i||null})},getLength:function(a,d){switch(d.nodeName.toLowerCase()){case "select":return b("option:selected",d).length;case "input":if(this.checkable(d))return this.findByName(d.name).filter(":checked").length}return a.length},depend:function(a,d){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,d):true},dependTypes:{"boolean":function(a){return a},string:function(a,d){return!!b(a,d.form).length},"function":function(a,d){return a(d)}},optional:function(a){return!b.validator.methods.required.call(this,
b.trim(a.value),a)&&"dependency-mismatch"},startRequest:function(a){if(!this.pending[a.name]){this.pendingRequest++;this.pending[a.name]=true}},stopRequest:function(a,d){this.pendingRequest--;if(this.pendingRequest<0)this.pendingRequest=0;delete this.pending[a.name];if(d&&this.pendingRequest==0&&this.formSubmitted&&this.form()){b(this.currentForm).submit();this.formSubmitted=false}else if(!d&&this.pendingRequest==0&&this.formSubmitted){b(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted=
false}},previousValue:function(a){return b.data(a,"previousValue")||b.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,d){a.constructor==String?this.classRuleSettings[a]=d:b.extend(this.classRuleSettings,
a)},classRules:function(a){var d={};(a=b(a).attr("class"))&&b.each(a.split(" "),function(){this in b.validator.classRuleSettings&&b.extend(d,b.validator.classRuleSettings[this])});return d},attributeRules:function(a){var d={};a=b(a);for(method in b.validator.methods){var g=a.attr(method);if(g)d[method]=g}d.maxlength&&/-1|2147483647|524288/.test(d.maxlength)&&delete d.maxlength;return d},metadataRules:function(a){if(!b.metadata)return{};var d=b.data(a.form,"validator").settings.meta;return d?b(a).metadata()[d]:
b(a).metadata()},staticRules:function(a){var d={},g=b.data(a.form,"validator");if(g.settings.rules)d=b.validator.normalizeRule(g.settings.rules[a.name])||{};return d},normalizeRules:function(a,d){b.each(a,function(g,i){if(i===false)delete a[g];else if(i.param||i.depends){var l=true;switch(typeof i.depends){case "string":l=!!b(i.depends,d.form).length;break;case "function":l=i.depends.call(d,d)}if(l)a[g]=i.param!==undefined?i.param:true;else delete a[g]}});b.each(a,function(g,i){a[g]=b.isFunction(i)?
i(d):i});b.each(["minlength","maxlength","min","max"],function(){if(a[this])a[this]=Number(a[this])});b.each(["rangelength","range"],function(){if(a[this])a[this]=[Number(a[this][0]),Number(a[this][1])]});if(b.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 d=
{};b.each(a.split(/\s/),function(){d[this]=true});a=d}return a},addMethod:function(a,d,g){b.validator.methods[a]=d;b.validator.messages[a]=g!=undefined?g:b.validator.messages[a];d.length<3&&b.validator.addClassRules(a,b.validator.normalizeRule(a))},methods:{required:function(a,d,g){if(!this.depend(g,d))return"dependency-mismatch";switch(d.nodeName.toLowerCase()){case "select":return(a=b(d).val())&&a.length>0;case "input":if(this.checkable(d))return this.getLength(a,d)>0;default:return b.trim(a).length>
0}},remote:function(a,d,g){if(this.optional(d))return"dependency-mismatch";var i=this.previousValue(d);this.settings.messages[d.name]||(this.settings.messages[d.name]={});i.originalMessage=this.settings.messages[d.name].remote;this.settings.messages[d.name].remote=i.message;g=typeof g=="string"&&{url:g}||g;if(i.old!==a){i.old=a;var l=this;this.startRequest(d);var o={};o[d.name]=a;b.ajax(b.extend(true,{url:g,mode:"abort",port:"validate"+d.name,dataType:"json",data:o,success:function(r){l.settings.messages[d.name].remote=
i.originalMessage;var u=r===true;if(u){var t=l.formSubmitted;l.prepareElement(d);l.formSubmitted=t;l.successList.push(d);l.showErrors()}else{t={};r=i.message=r||l.defaultMessage(d,"remote");t[d.name]=b.isFunction(r)?r(a):r;l.showErrors(t)}i.valid=u;l.stopRequest(d,u)}},g));return"pending"}else if(this.pending[d.name])return"pending";return i.valid},minlength:function(a,d,g){return this.optional(d)||this.getLength(b.trim(a),d)>=g},maxlength:function(a,d,g){return this.optional(d)||this.getLength(b.trim(a),
d)<=g},rangelength:function(a,d,g){a=this.getLength(b.trim(a),d);return this.optional(d)||a>=g[0]&&a<=g[1]},min:function(a,d,g){return this.optional(d)||a>=g},max:function(a,d,g){return this.optional(d)||a<=g},range:function(a,d,g){return this.optional(d)||a>=g[0]&&a<=g[1]},email:function(a,d){return this.optional(d)||/^((([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,d){return this.optional(d)||/^(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,d){return this.optional(d)||!/Invalid|NaN/.test(new Date(a))},dateISO:function(a,d){return this.optional(d)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(a)},number:function(a,d){return this.optional(d)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(a)},digits:function(a,d){return this.optional(d)||/^\d+$/.test(a)},creditcard:function(a,d){if(this.optional(d))return"dependency-mismatch";if(/[^0-9-]+/.test(a))return false;var g=0,i=0,l=false;a=a.replace(/\D/g,"");for(var o=a.length-1;o>=
0;o--){i=a.charAt(o);i=parseInt(i,10);if(l)if((i*=2)>9)i-=9;g+=i;l=!l}return g%10==0},accept:function(a,d,g){g=typeof g=="string"?g.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(d)||a.match(RegExp(".("+g+")$","i"))},equalTo:function(a,d,g){g=b(g).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){b(d).valid()});return a==g.val()}}});b.format=b.validator.format})(jQuery);
(function(b){var a=b.ajax,d={};b.ajax=function(g){g=b.extend(g,b.extend({},b.ajaxSettings,g));var i=g.port;if(g.mode=="abort"){d[i]&&d[i].abort();return d[i]=a.apply(this,arguments)}return a.apply(this,arguments)}})(jQuery);
(function(b){!jQuery.event.special.focusin&&!jQuery.event.special.focusout&&document.addEventListener&&b.each({focus:"focusin",blur:"focusout"},function(a,d){function g(i){i=b.event.fix(i);i.type=d;return b.event.handle.call(this,i)}b.event.special[d]={setup:function(){this.addEventListener(a,g,true)},teardown:function(){this.removeEventListener(a,g,true)},handler:function(i){arguments[0]=b.event.fix(i);arguments[0].type=d;return b.event.handle.apply(this,arguments)}}});b.extend(b.fn,{validateDelegate:function(a,
d,g){return this.bind(d,function(i){var l=b(i.target);if(l.is(a))return g.apply(l,arguments)})}})})(jQuery);
(function(b){function a(c){b.fn.cycle.debug&&d(c)}function d(){window.console&&window.console.log&&window.console.log("[cycle] "+Array.prototype.join.call(arguments," "))}function g(c,e,h){function k(n,m,q){if(!n&&m===true){n=b(q).data("cycle.opts");if(!n){d("options not found, can not resume");return false}if(q.cycleTimeout){clearTimeout(q.cycleTimeout);q.cycleTimeout=0}x(n.elements,n,1,!j.rev&&!j.backwards)}}if(c.cycleStop==undefined)c.cycleStop=0;if(e===undefined||e===null)e={};if(e.constructor==
String){switch(e){case "destroy":case "stop":var j=b(c).data("cycle.opts");if(!j)return false;c.cycleStop++;c.cycleTimeout&&clearTimeout(c.cycleTimeout);c.cycleTimeout=0;b(c).removeData("cycle.opts");e=="destroy"&&l(j);return false;case "toggle":c.cyclePause=c.cyclePause===1?0:1;k(c.cyclePause,h,c);return false;case "pause":c.cyclePause=1;return false;case "resume":c.cyclePause=0;k(false,h,c);return false;case "prev":case "next":j=b(c).data("cycle.opts");if(!j){d('options not found, "prev/next" ignored');
return false}b.fn.cycle[e](j);return false;default:e={fx:e}}return e}else if(e.constructor==Number){var f=e;e=b(c).data("cycle.opts");if(!e){d("options not found, can not advance slide");return false}if(f<0||f>=e.elements.length){d("invalid slide index: "+f);return false}e.nextSlide=f;if(c.cycleTimeout){clearTimeout(c.cycleTimeout);c.cycleTimeout=0}if(typeof h=="string")e.oneTimeFx=h;x(e.elements,e,1,f>=e.currSlide);return false}return e}function i(c,e){if(!b.support.opacity&&e.cleartype&&c.style.filter)try{c.style.removeAttribute("filter")}catch(h){}}
function l(c){c.next&&b(c.next).unbind(c.prevNextEvent);c.prev&&b(c.prev).unbind(c.prevNextEvent);if(c.pager||c.pagerAnchorBuilder)b.each(c.pagerAnchors||[],function(){this.unbind().remove()});c.pagerAnchors=null;c.destroy&&c.destroy(c)}function o(c,e,h,k,j){var f=b.extend({},b.fn.cycle.defaults,k||{},b.metadata?c.metadata():b.meta?c.data():{});if(f.autostop)f.countdown=f.autostopCount||h.length;var n=c[0];c.data("cycle.opts",f);f.$cont=c;f.stopCount=n.cycleStop;f.elements=h;f.before=f.before?[f.before]:
[];f.after=f.after?[f.after]:[];f.after.unshift(function(){f.busy=0});!b.support.opacity&&f.cleartype&&f.after.push(function(){i(this,f)});f.continuous&&f.after.push(function(){x(h,f,0,!f.rev&&!f.backwards)});r(f);!b.support.opacity&&f.cleartype&&!f.cleartypeNoBg&&C(e);c.css("position")=="static"&&c.css("position","relative");f.width&&c.width(f.width);f.height&&f.height!="auto"&&c.height(f.height);if(f.startingSlide)f.startingSlide=parseInt(f.startingSlide);else if(f.backwards)f.startingSlide=h.length-
1;if(f.random){f.randomMap=[];for(n=0;n<h.length;n++)f.randomMap.push(n);f.randomMap.sort(function(){return Math.random()-0.5});f.randomIndex=1;f.startingSlide=f.randomMap[1]}else if(f.startingSlide>=h.length)f.startingSlide=0;f.currSlide=f.startingSlide||0;var m=f.startingSlide;e.css({position:"absolute",top:0,left:0}).hide().each(function(s){s=f.backwards?m?s<=m?h.length+(s-m):m-s:h.length-s:m?s>=m?h.length-(s-m):m-s:h.length-s;b(this).css("z-index",s)});b(h[m]).css("opacity",1).show();i(h[m],f);
f.fit&&f.width&&e.width(f.width);f.fit&&f.height&&f.height!="auto"&&e.height(f.height);if(f.containerResize&&!c.innerHeight()){for(var q=n=0,v=0;v<h.length;v++){var w=b(h[v]),y=w[0],z=w.outerWidth(),A=w.outerHeight();z||(z=y.offsetWidth||y.width||w.attr("width"));A||(A=y.offsetHeight||y.height||w.attr("height"));n=z>n?z:n;q=A>q?A:q}n>0&&q>0&&c.css({width:n+"px",height:q+"px"})}f.pause&&c.hover(function(){this.cyclePause++},function(){this.cyclePause--});if(u(f)===false)return false;var D=false;k.requeueAttempts=
k.requeueAttempts||0;e.each(function(){var s=b(this);this.cycleH=f.fit&&f.height?f.height:s.height()||this.offsetHeight||this.height||s.attr("height")||0;this.cycleW=f.fit&&f.width?f.width:s.width()||this.offsetWidth||this.width||s.attr("width")||0;if(s.is("img")){s=b.browser.mozilla&&this.cycleW==34&&this.cycleH==19&&!this.complete;var F=b.browser.opera&&(this.cycleW==42&&this.cycleH==19||this.cycleW==37&&this.cycleH==17)&&!this.complete,G=this.cycleH==0&&this.cycleW==0&&!this.complete;if(b.browser.msie&&
this.cycleW==28&&this.cycleH==30&&!this.complete||s||F||G)if(j.s&&f.requeueOnImageNotLoaded&&++k.requeueAttempts<100){d(k.requeueAttempts," - img slide not loaded, requeuing slideshow: ",this.src,this.cycleW,this.cycleH);setTimeout(function(){b(j.s,j.c).cycle(k)},f.requeueTimeout);D=true;return false}else d("could not determine size of image: "+this.src,this.cycleW,this.cycleH)}return true});if(D)return false;f.cssBefore=f.cssBefore||{};f.animIn=f.animIn||{};f.animOut=f.animOut||{};e.not(":eq("+m+
")").css(f.cssBefore);f.cssFirst&&b(e[m]).css(f.cssFirst);if(f.timeout){f.timeout=parseInt(f.timeout);if(f.speed.constructor==String)f.speed=b.fx.speeds[f.speed]||parseInt(f.speed);f.sync||(f.speed/=2);for(n=f.fx=="shuffle"?500:250;f.timeout-f.speed<n;)f.timeout+=f.speed}if(f.easing)f.easeIn=f.easeOut=f.easing;if(!f.speedIn)f.speedIn=f.speed;if(!f.speedOut)f.speedOut=f.speed;f.slideCount=h.length;f.currSlide=f.lastSlide=m;if(f.random){if(++f.randomIndex==h.length)f.randomIndex=0;f.nextSlide=f.randomMap[f.randomIndex]}else f.nextSlide=
f.backwards?f.startingSlide==0?h.length-1:f.startingSlide-1:f.startingSlide>=h.length-1?0:f.startingSlide+1;if(!f.multiFx){n=b.fn.cycle.transitions[f.fx];if(b.isFunction(n))n(c,e,f);else if(f.fx!="custom"&&!f.multiFx){d("unknown transition: "+f.fx,"; slideshow terminating");return false}}c=e[m];f.before.length&&f.before[0].apply(c,[c,c,f,true]);f.after.length>1&&f.after[1].apply(c,[c,c,f,true]);f.next&&b(f.next).bind(f.prevNextEvent,function(){return B(f,f.rev?-1:1)});f.prev&&b(f.prev).bind(f.prevNextEvent,
function(){return B(f,f.rev?1:-1)});if(f.pager||f.pagerAnchorBuilder)H(h,f);t(f,h);return f}function r(c){c.original={before:[],after:[]};c.original.cssBefore=b.extend({},c.cssBefore);c.original.cssAfter=b.extend({},c.cssAfter);c.original.animIn=b.extend({},c.animIn);c.original.animOut=b.extend({},c.animOut);b.each(c.before,function(){c.original.before.push(this)});b.each(c.after,function(){c.original.after.push(this)})}function u(c){var e,h,k=b.fn.cycle.transitions;if(c.fx.indexOf(",")>0){c.multiFx=
true;c.fxs=c.fx.replace(/\s*/g,"").split(",");for(e=0;e<c.fxs.length;e++){var j=c.fxs[e];h=k[j];if(!h||!k.hasOwnProperty(j)||!b.isFunction(h)){d("discarding unknown transition: ",j);c.fxs.splice(e,1);e--}}if(!c.fxs.length){d("No valid transitions named; slideshow terminating.");return false}}else if(c.fx=="all"){c.multiFx=true;c.fxs=[];for(p in k){h=k[p];k.hasOwnProperty(p)&&b.isFunction(h)&&c.fxs.push(p)}}if(c.multiFx&&c.randomizeEffects){h=Math.floor(Math.random()*20)+30;for(e=0;e<h;e++)c.fxs.push(c.fxs.splice(Math.floor(Math.random()*
c.fxs.length),1)[0]);a("randomized fx sequence: ",c.fxs)}return true}function t(c,e){c.addSlide=function(h,k){var j=b(h),f=j[0];c.autostopCount||c.countdown++;e[k?"unshift":"push"](f);if(c.els)c.els[k?"unshift":"push"](f);c.slideCount=e.length;j.css("position","absolute");j[k?"prependTo":"appendTo"](c.$cont);if(k){c.currSlide++;c.nextSlide++}!b.support.opacity&&c.cleartype&&!c.cleartypeNoBg&&C(j);c.fit&&c.width&&j.width(c.width);c.fit&&c.height&&c.height!="auto"&&$slides.height(c.height);f.cycleH=
c.fit&&c.height?c.height:j.height();f.cycleW=c.fit&&c.width?c.width:j.width();j.css(c.cssBefore);if(c.pager||c.pagerAnchorBuilder)b.fn.cycle.createPagerAnchor(e.length-1,f,b(c.pager),e,c);b.isFunction(c.onAddSlide)?c.onAddSlide(j):j.hide()}}function x(c,e,h,k){if(h&&e.busy&&e.manualTrump){a("manualTrump in go(), stopping active transition");b(c).stop(true,true);e.busy=false}if(e.busy)a("transition active, ignoring new tx request");else{var j=e.$cont[0],f=c[e.currSlide],n=c[e.nextSlide];if(!(j.cycleStop!=
e.stopCount||j.cycleTimeout===0&&!h))if(!h&&!j.cyclePause&&!e.bounce&&(e.autostop&&--e.countdown<=0||e.nowrap&&!e.random&&e.nextSlide<e.currSlide))e.end&&e.end(e);else{var m=false;if((h||!j.cyclePause)&&e.nextSlide!=e.currSlide){m=true;var q=e.fx;f.cycleH=f.cycleH||b(f).height();f.cycleW=f.cycleW||b(f).width();n.cycleH=n.cycleH||b(n).height();n.cycleW=n.cycleW||b(n).width();if(e.multiFx){if(e.lastFx==undefined||++e.lastFx>=e.fxs.length)e.lastFx=0;q=e.fxs[e.lastFx];e.currFx=q}if(e.oneTimeFx){q=e.oneTimeFx;
e.oneTimeFx=null}b.fn.cycle.resetState(e,q);e.before.length&&b.each(e.before,function(v,w){j.cycleStop==e.stopCount&&w.apply(n,[f,n,e,k])});q=function(){b.each(e.after,function(v,w){j.cycleStop==e.stopCount&&w.apply(n,[f,n,e,k])})};a("tx firing; currSlide: "+e.currSlide+"; nextSlide: "+e.nextSlide);e.busy=1;if(e.fxFn)e.fxFn(f,n,e,q,k,h&&e.fastOnEvent);else b.isFunction(b.fn.cycle[e.fx])?b.fn.cycle[e.fx](f,n,e,q,k,h&&e.fastOnEvent):b.fn.cycle.custom(f,n,e,q,k,h&&e.fastOnEvent)}if(m||e.nextSlide==e.currSlide){e.lastSlide=
e.currSlide;if(e.random){e.currSlide=e.nextSlide;if(++e.randomIndex==c.length)e.randomIndex=0;e.nextSlide=e.randomMap[e.randomIndex];if(e.nextSlide==e.currSlide)e.nextSlide=e.currSlide==e.slideCount-1?0:e.currSlide+1}else if(e.backwards)if((h=e.nextSlide-1<0)&&e.bounce){e.backwards=!e.backwards;e.nextSlide=1;e.currSlide=0}else{e.nextSlide=h?c.length-1:e.nextSlide-1;e.currSlide=h?0:e.nextSlide+1}else if((h=e.nextSlide+1==c.length)&&e.bounce){e.backwards=!e.backwards;e.nextSlide=c.length-2;e.currSlide=
c.length-1}else{e.nextSlide=h?0:e.nextSlide+1;e.currSlide=h?c.length-1:e.nextSlide-1}}m&&e.pager&&e.updateActivePagerLink(e.pager,e.currSlide,e.activePagerClass);m=0;if(e.timeout&&!e.continuous)m=E(c[e.currSlide],c[e.nextSlide],e,k);else if(e.continuous&&j.cyclePause)m=10;if(m>0)j.cycleTimeout=setTimeout(function(){x(c,e,0,!e.rev&&!e.backwards)},m)}}}function E(c,e,h,k){if(h.timeoutFn){for(c=h.timeoutFn.call(c,c,e,h,k);c-h.speed<250;)c+=h.speed;a("calculated timeout: "+c+"; speed: "+h.speed);if(c!==
false)return c}return h.timeout}function B(c,e){var h=c.elements,k=c.$cont[0],j=k.cycleTimeout;if(j){clearTimeout(j);k.cycleTimeout=0}if(c.random&&e<0){c.randomIndex--;if(--c.randomIndex==-2)c.randomIndex=h.length-2;else if(c.randomIndex==-1)c.randomIndex=h.length-1;c.nextSlide=c.randomMap[c.randomIndex]}else if(c.random)c.nextSlide=c.randomMap[c.randomIndex];else{c.nextSlide=c.currSlide+e;if(c.nextSlide<0){if(c.nowrap)return false;c.nextSlide=h.length-1}else if(c.nextSlide>=h.length){if(c.nowrap)return false;
c.nextSlide=0}}k=c.onPrevNextEvent||c.prevNextClick;b.isFunction(k)&&k(e>0,c.nextSlide,h[c.nextSlide]);x(h,c,1,e>=0);return false}function H(c,e){var h=b(e.pager);b.each(c,function(k,j){b.fn.cycle.createPagerAnchor(k,j,h,c,e)});e.updateActivePagerLink(e.pager,e.startingSlide,e.activePagerClass)}function C(c){function e(k){k=parseInt(k).toString(16);return k.length<2?"0"+k:k}function h(k){for(;k&&k.nodeName.toLowerCase()!="html";k=k.parentNode){var j=b.css(k,"background-color");if(j.indexOf("rgb")>=
0){k=j.match(/\d+/g);return"#"+e(k[0])+e(k[1])+e(k[2])}if(j&&j!="transparent")return j}return"#ffffff"}a("applying clearType background-color hack");c.each(function(){b(this).css("background-color",h(this))})}if(b.support==undefined)b.support={opacity:!b.browser.msie};b.fn.cycle=function(c,e){var h={s:this.selector,c:this.context};if(this.length===0&&c!="stop"){if(!b.isReady&&h.s){d("DOM not ready, queuing slideshow");b(function(){b(h.s,h.c).cycle(c,e)});return this}d("terminating; zero elements found by selector"+
(b.isReady?"":" (DOM not ready)"));return this}return this.each(function(){var k=g(this,c,e);if(k!==false){k.updateActivePagerLink=k.updateActivePagerLink||b.fn.cycle.updateActivePagerLink;this.cycleTimeout&&clearTimeout(this.cycleTimeout);this.cycleTimeout=this.cyclePause=0;var j=b(this),f=k.slideExpr?b(k.slideExpr,this):j.children(),n=f.get();if(n.length<2)d("terminating; too few slides: "+n.length);else{var m=o(j,f,n,k,h);if(m!==false)if(j=m.continuous?10:E(n[m.currSlide],n[m.nextSlide],m,!m.rev)){j+=
m.delay||0;if(j<10)j=10;a("first timeout: "+j);this.cycleTimeout=setTimeout(function(){x(n,m,0,!m.rev&&!k.backwards)},j)}}}})};b.fn.cycle.resetState=function(c,e){e=e||c.fx;c.before=[];c.after=[];c.cssBefore=b.extend({},c.original.cssBefore);c.cssAfter=b.extend({},c.original.cssAfter);c.animIn=b.extend({},c.original.animIn);c.animOut=b.extend({},c.original.animOut);c.fxFn=null;b.each(c.original.before,function(){c.before.push(this)});b.each(c.original.after,function(){c.after.push(this)});var h=b.fn.cycle.transitions[e];
b.isFunction(h)&&h(c.$cont,b(c.elements),c)};b.fn.cycle.updateActivePagerLink=function(c,e,h){b(c).each(function(){b(this).children().removeClass(h).eq(e).addClass(h)})};b.fn.cycle.next=function(c){B(c,c.rev?-1:1)};b.fn.cycle.prev=function(c){B(c,c.rev?1:-1)};b.fn.cycle.createPagerAnchor=function(c,e,h,k,j){if(b.isFunction(j.pagerAnchorBuilder)){e=j.pagerAnchorBuilder(c,e);a("pagerAnchorBuilder("+c+", el) returned: "+e)}else e='<a href="#">'+(c+1)+"</a>";if(e){var f=b(e);if(f.parents("body").length===
0){var n=[];if(h.length>1){h.each(function(){var m=f.clone(true);b(this).append(m);n.push(m[0])});f=b(n)}else f.appendTo(h)}j.pagerAnchors=j.pagerAnchors||[];j.pagerAnchors.push(f);f.bind(j.pagerEvent,function(m){m.preventDefault();j.nextSlide=c;m=j.$cont[0];var q=m.cycleTimeout;if(q){clearTimeout(q);m.cycleTimeout=0}m=j.onPagerEvent||j.pagerClick;b.isFunction(m)&&m(j.nextSlide,k[j.nextSlide]);x(k,j,1,j.currSlide<c)});!/^click/.test(j.pagerEvent)&&!j.allowPagerClickBubble&&f.bind("click.cycle",function(){return false});
j.pauseOnPagerHover&&f.hover(function(){j.$cont[0].cyclePause++},function(){j.$cont[0].cyclePause--})}};b.fn.cycle.hopsFromLast=function(c,e){var h=c.lastSlide,k=c.currSlide;return e?k>h?k-h:c.slideCount-h:k<h?h-k:h+c.slideCount-k};b.fn.cycle.commonReset=function(c,e,h,k,j,f){b(h.elements).not(c).hide();h.cssBefore.opacity=1;h.cssBefore.display="block";if(k!==false&&e.cycleW>0)h.cssBefore.width=e.cycleW;if(j!==false&&e.cycleH>0)h.cssBefore.height=e.cycleH;h.cssAfter=h.cssAfter||{};h.cssAfter.display=
"none";b(c).css("zIndex",h.slideCount+(f===true?1:0));b(e).css("zIndex",h.slideCount+(f===true?0:1))};b.fn.cycle.custom=function(c,e,h,k,j,f){var n=b(c),m=b(e),q=h.speedIn;c=h.speedOut;var v=h.easeIn;e=h.easeOut;m.css(h.cssBefore);if(f){q=typeof f=="number"?c=f:c=1;v=e=null}n.animate(h.animOut,c,e,function(){h.cssAfter&&n.css(h.cssAfter);h.sync||m.animate(h.animIn,q,v,k)});h.sync&&m.animate(h.animIn,q,v,k)};b.fn.cycle.transitions={fade:function(c,e,h){e.not(":eq("+h.currSlide+")").css("opacity",0);
h.before.push(function(k,j,f){b.fn.cycle.commonReset(k,j,f);f.cssBefore.opacity=0});h.animIn={opacity:1};h.animOut={opacity:0};h.cssBefore={top:0,left:0}}};b.fn.cycle.ver=function(){return"2.88"};b.fn.cycle.defaults={fx:"fade",timeout:4E3,timeoutFn:null,continuous:0,speed:1E3,speedIn:null,speedOut:null,next:null,prev:null,onPrevNextEvent:null,prevNextEvent:"click.cycle",pager:null,onPagerEvent:null,pagerEvent:"click.cycle",allowPagerClickBubble:false,pagerAnchorBuilder:null,before:null,after:null,
end:null,easing:null,easeIn:null,easeOut:null,shuffle:null,animIn:null,animOut:null,cssBefore:null,cssAfter:null,fxFn:null,height:"auto",startingSlide:0,sync:1,random:0,fit:0,containerResize:1,pause:0,pauseOnPagerHover:0,autostop:0,autostopCount:0,delay:0,slideExpr:null,cleartype:!b.support.opacity,cleartypeNoBg:false,nowrap:0,fastOnEvent:0,randomizeEffects:1,rev:0,manualTrump:true,requeueOnImageNotLoaded:true,requeueTimeout:250,activePagerClass:"activeSlide",updateActivePagerLink:null,backwards:false}})(jQuery);
(function(b,a){var d=function(g){return new d.prototype.init(g)};d.prototype={q:{},apiEndPoint:"/hifi/api",about:"HiFi API Version 1.0",init:function(g){this.q=$.extend(true,{},g);return this},setup:function(g){$.extend(true,d.prototype,g);return this},query:function(){return this.q},find:function(g){this.q=$.extend(true,this.q,g);return this},children:function(g){this.q=$.extend({parent:this.q},g);return this},orderBy:function(g){if(g===a)return this.q.orderBy;this.q.orderBy=g;return this},count:function(g){if(g===
a)return this.q.count;this.q.count=g;return this},versions:function(){this.q.fresh=[0,1];this.q.orderBy="-node";return this},request:function(g,i,l){if(l===a)l=this.q;if(i===a)i="GET";l=JSON.stringify(l);var o={},r=this;if(i=="GET")o.q=l;else o.data=l;$.ajax({url:this.apiEndPoint,type:i,data:o,dataType:"json",cache:false,success:function(u){r.s=true;$.isFunction(g)&&g(u.results,u.success)}});return this},each:function(g,i){return this.request(function(l){for(var o=0;o<l.length;o++){var r=l[o];$.isFunction(g)&&
g(r)}$.isFunction(i)&&i(l)})},get:function(g){this.request(g)},remove:function(g){this.update({fresh:0},g)},append:function(g,i){var l=this;return this.each(function(o){g.parent=o.id;l.create(g,i)})},promote:function(){var g=this;return this.each(function(i){g.q={id:i.id,node:i.node,fresh:1};g.update()})},create:function(g,i){$.isArray(g)||(g=[g]);for(var l=0;l<g.length;l++){var o=g[l];if(o.parent===a)throw"A parent is required for a create.";if(o.type===a)throw"A type is required for a create.";
}return this.request(i,"POST",g)},update:function(g,i){if($.isArray(g))this.request(i,"POST",g);else{var l=this;return this.request(function(o){o=$.map(o,function(r){return $.extend({id:r.id},g)});l.request(i,"POST",o)})}},destroy:function(g){this.q.fresh=0;if(this.q.id===a){console.log("An id is required for a destroy");return this}this.request(g,"POST")}};d.prototype.init.prototype=d.prototype;b.hifi=d})(window);
$(function(){$("a[rel=colorbox]").colorbox();$("#nav li").hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")});var b=$("#slider");b.length&&b.cycle({timeout:5E3,pagerAnchorBuilder:function(a){return"<a href='#'>"+(a+1)+"</a>"}});$(".generated-form, #comment-form").validate()});

