(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 f=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&&f.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,f){b[f]=d.attr(f);d.removeAttr(f)});return b},rules:function(a,b){var d=this[0];if(a){var e=c.data(d.form,"validator").settings,f=e.rules,i=c.validator.staticRules(d);switch(a){case "add":c.extend(i,c.validator.normalizeRule(b));f[d.name]=i;if(b.messages)e.messages[d.name]=c.extend(e.messages[d.name],b.messages);break;case "remove":if(!b){delete f[d.name];
return i}var k={};c.each(b.split(/\s/),function(j,h){k[h]=i[h];delete i[h]});return k}}a=c.validator.normalizeRules(c.extend({},c.validator.metadataRules(d),c.validator.classRules(d),c.validator.attributeRules(d),c.validator.staticRules(d)),d);if(a.required){b=a.required;delete a.required;a=c.extend({required:b},a)}return a}});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({},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(new 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 f=c.data(this[0].form,"validator");f.settings["on"+e.type]&&f.settings["on"+e.type].call(f,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,f){c.each(f.split(/\s/),function(i,k){b[k]=e})});var d=this.settings.rules;c.each(d,function(e,f){d[e]=c.validator.normalizeRule(f)});c(this.currentForm).delegate("focusin focusout keyup",":text, :password, :file, select, textarea",
a).delegate("click",":radio, :checkbox, select, option",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;for(var 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()}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 f=c.validator.methods[method].call(this,a.value.replace(/\r/g,""),a,e.parameters);if(f=="dependency-mismatch")d=true;else{d=false;if(f=="pending"){this.toHide=this.toHide.not(this.errorsFor(a));return}if(!f){this.formatAndAdd(a,e);return false}}}catch(i){this.settings.debug&&
window.console&&console.log("exception occured when checking element "+a.id+", check the '"+e.method+"' method",i);throw i;}}if(!d){this.objectLength(b)&&this.successList.push(a);return true}},customMetaMessage:function(a,b){if(c.metadata)return(a=this.settings.meta?c(a).metadata()[this.settings.meta]:c(a).metadata())&&a.messages&&a.messages[b]},customMessage:function(a,b){return(a=this.settings.messages[a])&&(a.constructor==String?a:a[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 f=true;switch(typeof e.depends){case "string":f=!!c(e.depends,b.form).length;break;case "function":f=e.depends.call(b,b);break}if(f)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 f=this;this.startRequest(b);var i={};i[b.name]=a;c.ajax(c.extend(true,{url:d,mode:"abort",port:"validate"+b.name,dataType:"json",data:i,success:function(k){f.settings.messages[b.name].remote=
e.originalMessage;var j=k===true;if(j){var h=f.formSubmitted;f.prepareElement(b);f.formSubmitted=h;f.successList.push(b);f.showErrors()}else{h={};k=e.message=k||f.defaultMessage(b,"remote");h[b.name]=c.isFunction(k)?k(a):k;f.showErrors(h)}e.valid=j;f.stopRequest(b,j)}},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=b=0,e=false;a=a.replace(/\D/g,"");for(var f=a.length-1;f>=
0;f--){d=a.charAt(f);d=parseInt(d,10);if(e)if((d*=2)>9)d-=9;b+=d;e=!e}return b%10==0},accept:function(a,b,d){d=typeof d=="string"?d.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(b)||a.match(new 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){c.each({focus:"focusin",blur:"focusout"},function(a,b){c.event.special[b]={setup:function(){if(c.browser.msie)return false;this.addEventListener(a,c.event.special[b].handler,true)},teardown:function(){if(c.browser.msie)return false;this.removeEventListener(a,c.event.special[b].handler,true)},handler:function(d){arguments[0]=c.event.fix(d);arguments[0].type=b;return c.event.handle.apply(this,arguments)}}});c.extend(c.fn,{delegate:function(a,b,d){return this.bind(a,function(e){var f=c(e.target);
if(f.is(b))return d.apply(f,arguments)})},triggerEvent:function(a,b){return this.triggerHandler(a,[c.event.fix({type:a,target:b})])}})})(jQuery);(function(c){function a(){c.fn.ajaxSubmit.debug&&window.console&&window.console.log&&window.console.log("[jquery.form] "+Array.prototype.join.call(arguments,""))}c.fn.ajaxSubmit=function(b){function d(){function s(){if(!y++){u.detachEvent?u.detachEvent("onload",s):u.removeEventListener("load",s,false);var x=true;try{if(G)throw"timeout";var p,g;g=u.contentWindow?u.contentWindow.document:u.contentDocument?u.contentDocument:u.document;if((g.body==null||g.body.innerHTML=="")&&!A){A=1;y--;setTimeout(s,
100);return}n.responseText=g.body?g.body.innerHTML:null;n.responseXML=g.XMLDocument?g.XMLDocument:g;n.getResponseHeader=function(r){return{"content-type":q.dataType}[r]};if(q.dataType=="json"||q.dataType=="script"){var l=g.getElementsByTagName("textarea")[0];n.responseText=l?l.value:n.responseText}else if(q.dataType=="xml"&&!n.responseXML&&n.responseText!=null)n.responseXML=B(n.responseText);p=c.httpData(n,q.dataType)}catch(m){x=false;c.handleError(q,n,"error",m)}if(x){q.success(p,"success");z&&c.event.trigger("ajaxSuccess",
[n,q])}z&&c.event.trigger("ajaxComplete",[n,q]);z&&!--c.active&&c.event.trigger("ajaxStop");if(q.complete)q.complete(n,x?"success":"error");setTimeout(function(){D.remove();n.responseXML=null},100)}}function B(x,p){if(window.ActiveXObject){p=new ActiveXObject("Microsoft.XMLDOM");p.async="false";p.loadXML(x)}else p=(new DOMParser).parseFromString(x,"text/xml");return p&&p.documentElement&&p.documentElement.tagName!="parsererror"?p:null}var o=j[0];if(c(":input[name=submit]",o).length)alert('Error: Form elements must not be named "submit".');
else{var q=c.extend({},c.ajaxSettings,b),w=jQuery.extend(true,{},c.extend(true,{},c.ajaxSettings),q),F="jqFormIO"+(new Date).getTime(),D=c('<iframe id="'+F+'" name="'+F+'" src="about:blank" />'),u=D[0];D.css({position:"absolute",top:"-1000px",left:"-1000px"});var n={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;D.attr("src","about:blank")}},z=q.global;
z&&!c.active++&&c.event.trigger("ajaxStart");z&&c.event.trigger("ajaxSend",[n,q]);if(w.beforeSend&&w.beforeSend(n,w)===false)w.global&&jQuery.active--;else if(!n.aborted){var y=0,G=0;if(w=o.clk){var E=w.name;if(E&&!w.disabled){b.extraData=b.extraData||{};b.extraData[E]=w.value;if(w.type=="image"){b.extraData[name+".x"]=o.clk_x;b.extraData[name+".y"]=o.clk_y}}}setTimeout(function(){var x=j.attr("target"),p=j.attr("action");o.setAttribute("target",F);o.getAttribute("method")!="POST"&&o.setAttribute("method",
"POST");o.getAttribute("action")!=q.url&&o.setAttribute("action",q.url);b.skipEncodingOverride||j.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"});q.timeout&&setTimeout(function(){G=true;s()},q.timeout);var g=[];try{if(b.extraData)for(var l in b.extraData)g.push(c('<input type="hidden" name="'+l+'" value="'+b.extraData[l]+'" />').appendTo(o)[0]);D.appendTo("body");u.attachEvent?u.attachEvent("onload",s):u.addEventListener("load",s,false);o.submit()}finally{o.setAttribute("action",
p);x?o.setAttribute("target",x):j.removeAttr("target");c(g).remove()}},10);var A=0}}}if(!this.length){a("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof b=="function")b={success:b};b=c.extend({url:this.attr("action")||window.location.toString(),type:this.attr("method")||"GET"},b||{});var e={};this.trigger("form-pre-serialize",[this,b,e]);if(e.veto){a("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(b.beforeSerialize&&b.beforeSerialize(this,
b)===false){a("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var f=this.formToArray(b.semantic);if(b.data){b.extraData=b.data;for(var i in b.data)if(b.data[i]instanceof Array)for(var k in b.data[i])f.push({name:i,value:b.data[i][k]});else f.push({name:i,value:b.data[i]})}if(b.beforeSubmit&&b.beforeSubmit(f,this,b)===false){a("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[f,this,b,e]);if(e.veto){a("ajaxSubmit: submit vetoed via form-submit-validate trigger");
return this}e=c.param(f);if(b.type.toUpperCase()=="GET"){b.url+=(b.url.indexOf("?")>=0?"&":"?")+e;b.data=null}else b.data=e;var j=this,h=[];b.resetForm&&h.push(function(){j.resetForm()});b.clearForm&&h.push(function(){j.clearForm()});if(!b.dataType&&b.target){var v=b.success||function(){};h.push(function(s){c(b.target).html(s).each(v,arguments)})}else b.success&&h.push(b.success);b.success=function(s,B){for(var o=0,q=h.length;o<q;o++)h[o].apply(b,[s,B,j])};e=c("input:file",this).fieldValue();f=false;
for(i=0;i<e.length;i++)if(e[i])f=true;if(b.iframe||f)b.closeKeepAlive?c.get(b.closeKeepAlive,d):d();else c.ajax(b);this.trigger("form-submit-notify",[this,b]);return this};c.fn.ajaxForm=function(b){return this.ajaxFormUnbind().bind("submit.form-plugin",function(){c(this).ajaxSubmit(b);return false}).each(function(){c(":submit,input:image",this).bind("click.form-plugin",function(d){var e=this.form;e.clk=this;if(this.type=="image")if(d.offsetX!=undefined){e.clk_x=d.offsetX;e.clk_y=d.offsetY}else if(typeof c.fn.offset==
"function"){var f=c(this).offset();e.clk_x=d.pageX-f.left;e.clk_y=d.pageY-f.top}else{e.clk_x=d.pageX-this.offsetLeft;e.clk_y=d.pageY-this.offsetTop}setTimeout(function(){e.clk=e.clk_x=e.clk_y=null},10)})})};c.fn.ajaxFormUnbind=function(){this.unbind("submit.form-plugin");return this.each(function(){c(":submit,input:image",this).unbind("click.form-plugin")})};c.fn.formToArray=function(b){var d=[];if(this.length==0)return d;var e=this[0],f=b?e.getElementsByTagName("*"):e.elements;if(!f)return d;for(var i=
0,k=f.length;i<k;i++){var j=f[i],h=j.name;if(h)if(b&&e.clk&&j.type=="image")!j.disabled&&e.clk==j&&d.push({name:h+".x",value:e.clk_x},{name:h+".y",value:e.clk_y});else if((j=c.fieldValue(j,true))&&j.constructor==Array)for(var v=0,s=j.length;v<s;v++)d.push({name:h,value:j[v]});else j!==null&&typeof j!="undefined"&&d.push({name:h,value:j})}if(!b&&e.clk){b=e.getElementsByTagName("input");i=0;for(k=b.length;i<k;i++){f=b[i];(h=f.name)&&!f.disabled&&f.type=="image"&&e.clk==f&&d.push({name:h+".x",value:e.clk_x},
{name:h+".y",value:e.clk_y})}}return d};c.fn.formSerialize=function(b){return c.param(this.formToArray(b))};c.fn.fieldSerialize=function(b){var d=[];this.each(function(){var e=this.name;if(e){var f=c.fieldValue(this,b);if(f&&f.constructor==Array)for(var i=0,k=f.length;i<k;i++)d.push({name:e,value:f[i]});else f!==null&&typeof f!="undefined"&&d.push({name:this.name,value:f})}});return c.param(d)};c.fn.fieldValue=function(b){for(var d=[],e=0,f=this.length;e<f;e++){var i=c.fieldValue(this[e],b);i===null||
typeof i=="undefined"||i.constructor==Array&&!i.length||(i.constructor==Array?c.merge(d,i):d.push(i))}return d};c.fieldValue=function(b,d){var e=b.name,f=b.type,i=b.tagName.toLowerCase();if(typeof d=="undefined")d=true;if(d&&(!e||b.disabled||f=="reset"||f=="button"||(f=="checkbox"||f=="radio")&&!b.checked||(f=="submit"||f=="image")&&b.form&&b.form.clk!=b||i=="select"&&b.selectedIndex==-1))return null;if(i=="select"){i=b.selectedIndex;if(i<0)return null;d=[];b=b.options;e=(f=f=="select-one")?i+1:b.length;
for(i=f?i:0;i<e;i++){var k=b[i];if(k.selected){var j=k.value;j||(j=k.attributes&&k.attributes.value&&!k.attributes.value.specified?k.text:k.value);if(f)return j;d.push(j)}}return d}return b.value};c.fn.clearForm=function(){return this.each(function(){c("input,select,textarea",this).clearFields()})};c.fn.clearFields=c.fn.clearInputs=function(){return this.each(function(){var b=this.type,d=this.tagName.toLowerCase();if(b=="text"||b=="password"||d=="textarea")this.value="";else if(b=="checkbox"||b==
"radio")this.checked=false;else if(d=="select")this.selectedIndex=-1})};c.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||typeof this.reset=="object"&&!this.reset.nodeType)this.reset()})};c.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b})};c.fn.selected=function(b){if(b==undefined)b=true;return this.each(function(){var d=this.type;if(d=="checkbox"||d=="radio")this.checked=b;else if(this.tagName.toLowerCase()=="option"){d=
c(this).parent("select");b&&d[0]&&d[0].type=="select-one"&&d.find("option").selected(false);this.selected=b}})}})(jQuery);(function(c){c.toJSON=function(d){if(typeof JSON=="object"&&JSON.stringify)return JSON.stringify(d);var e=typeof d;if(d===null)return"null";if(e!="undefined"){if(e=="number"||e=="boolean")return d+"";if(e=="string")return c.quoteString(d);if(e=="object"){if(typeof d.toJSON=="function")return c.toJSON(d.toJSON());if(d.constructor===Date){var f=d.getUTCMonth()+1;if(f<10)f="0"+f;var i=d.getUTCDate();if(i<10)i="0"+i;e=d.getUTCFullYear();var k=d.getUTCHours();if(k<10)k="0"+k;var j=d.getUTCMinutes();if(j<
10)j="0"+j;var h=d.getUTCSeconds();if(h<10)h="0"+h;d=d.getUTCMilliseconds();if(d<100)d="0"+d;if(d<10)d="0"+d;return'"'+e+"-"+f+"-"+i+"T"+k+":"+j+":"+h+"."+d+'Z"'}if(d.constructor===Array){f=[];for(i=0;i<d.length;i++)f.push(c.toJSON(d[i])||"null");return"["+f.join(",")+"]"}f=[];for(i in d){e=typeof i;if(e=="number")e='"'+i+'"';else if(e=="string")e=c.quoteString(i);else continue;if(typeof d[i]!="function"){k=c.toJSON(d[i]);f.push(e+":"+k)}}return"{"+f.join(", ")+"}"}}};c.evalJSON=function(d){if(typeof JSON==
"object"&&JSON.parse)return JSON.parse(d);return eval("("+d+")")};c.secureEvalJSON=function(d){if(typeof JSON=="object"&&JSON.parse)return JSON.parse(d);var e=d;e=e.replace(/\\["\\\/bfnrtu]/g,"@");e=e.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]");e=e.replace(/(?:^|:|,)(?:\s*\[)+/g,"");if(/^[\],:{}\s]*$/.test(e))return eval("("+d+")");else throw new SyntaxError("Error parsing JSON, source is not valid.");};c.quoteString=function(d){if(d.match(a))return'"'+d.replace(a,
function(e){var f=b[e];if(typeof f==="string")return f;f=e.charCodeAt();return"\\u00"+Math.floor(f/16).toString(16)+(f%16).toString(16)})+'"';return'"'+d+'"'};var a=/["\\\x00-\x1f\x7f-\x9f]/g,b={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"}})(jQuery);$.ajaxSetup({timeout:3E4});$("body").ajaxError(function(){alert("Ok\u00e4nt fel vid kontakt med servern.\nFelet kan ha orsakats av felaktigt ifylld formul\u00e4rdata.\nVar v\u00e4nlig kontrollera eventuell formul\u00e4rdata.\nOm formul\u00e4rdatan ser r\u00e4tt ut och felet upprepar sig s\u00e5 skriv g\u00e4rna ett inl\u00e4gg i forumet.")});var dumbbell={};dumbbell.isFloatOrEmpty=function(c){if(!c||c.length==0)return true;return c.match(/^\d+((,|\.)\d+)?$/)!=null};
dumbbell.getFloatComma=function(c){if(!c||c.length==0)return"";c=c.toString().match(/\d+((,|\.)\d+)?/);if(c!=null&&c.length>0)return c[0].replace(".",",");return""};dumbbell.getFloat=function(c){if(!c||c.length==0)return"";c=c.toString().match(/\d+((,|\.)\d+)?/);if(c!=null&&c.length>0)return c[0].replace(",",".");return""};dumbbell.getInt=function(c){if(!c||c.length==0)return"";c=c.toString().match(/\d+/);if(c!=null&&c.length>0)return c[0];return""};
dumbbell.createOptions=function(c,a,b,d){var e=new StringBuilderEx;d||(d=function(){return false});$.each(c,function(f,i){d(i)?e.appendFormat('<option value="{0}" selected="selected">{1}</option>',b(i),a(i)):e.appendFormat('<option value="{0}">{1}</option>',b(i),a(i))});return e.toString()};var StringBuilderEx=Array;Array.prototype.append=Array.prototype.push;
Array.prototype._convertToArray=function(c){if(!c)return[];if(c.toArray)return c.toArray();for(var a=c.length,b=new Array(a);a--;)b[a]=c[a];return b};Array.prototype.appendFormat=function(c){var a=this._convertToArray(arguments).slice(1);this[this.length]=c.replace(/\{(\d+)\}/g,function(b,d){return a[d].toString()})};Array.prototype.toString=function(){return this.join("")};
function RObj(c){function a(g){c&&alert("Request Object:\r\n"+g)}function b(g){var l="";if(g)for(var m=0;m<g.length;++m){var r=g.charAt(m);l+=r=="+"?" ":r}return D?decodeURIComponent(l):unescape(l)}function d(g){var l=0;for(var m in g)typeof g[m]!=B&&l++;return l}function e(g){var l=true;for(var m in h)if(typeof h[m]!=B&&m.toString().toLowerCase()==g.toLowerCase()){l=false;return m}if(l){h[g]={};h[g].toString=function(){return i(h[g])};h[g].Count=function(){return d(h[g])};h[g].Count.toString=function(){return d(h[g]).toString()};
h[g].Item=function(r){if(typeof r==v)return h[g];else if(typeof r==o){var C=h[g][Math.ceil(r)];typeof C==v&&a(w+'("'+g+'").Item('+r+")");return C}else a('ERROR:Expecting numeric input in\r\nRequest.QueryString("'+g+'").Item("'+r+'")')};h[g].Item.toString=function(r){if(typeof r==v)return h[g].toString();else{var C=h[g][r];typeof C==v&&a(w+'("'+g+'").Item('+r+")");return C.toString()}};h[g].Key=function(r){if(typeof r==q){var C=h[g][r];return typeof C!=v&&C&&C.toString()?r:""}else a(F+"("+(r?r:"")+
")")};h[g].Key.toString=function(){return s}}return g}function f(g,l){if(g!=""){g=e(g);var m=d(h[g]);h[g][m+1]=l}}function i(g){var l="";for(var m in g){var r=typeof g[m];if(r=="object")l+=i(g[m]);else if(r!=B)l+=g[m]+", "}g=l.length;if(g>1)return l.substring(0,g-2);return l==""?s:l}function k(g,l){g=g.toLowerCase();for(var m in l)if(typeof l[m]!=B&&m.toString().toLowerCase()==g)return m}var j="",h={},v="undefined",s=null,B="function",o="number",q="string",w="ERROR:Index out of range in\r\nRequest.QueryString",
F="ERROR:Object doesn't support this property or method\r\nRequest.QueryString.Key",D=window.decodeURIComponent?1:0;if(window.location&&window.location.search){j=window.location.search;var u=j.length;if(u>0){j=j.substring(1,u);for(var n=0,z=-1,y=-1,G=0,E=false,A=0;A<u;++A){var x=j.charAt(A);if(j.charAt(n)=="="||n==0&&A==0&&x=="=")E=true;if(x=="="&&y==-1&&!E)y=A;if(x=="&"&&z==-1){if(y!=-1)z=A;if(E)n=A+1;E=false}if(z>y){f(b(j.substring(n,y)),b(j.substring(y+1,z)));n=z+1;y=z=-1;++G}}if(j.charAt(n)!=
"="&&(n!=0||A!=0||x!="=")){if(n!=u)if(y!=-1)f(b(j.substring(n,y)),b(j.substring(y+1,u)));else n!=u-1&&f(b(j.substring(n,u)),"");u==1&&f(j.substring(0,1),"")}}}var p=d(h);p||(p=0);h.toString=function(){return j.toString()};h.Count=function(){return p?p:0};h.Count.toString=function(){return p?p.toString():"0"};h.Item=function(g){if(typeof g==v)return j;else if(typeof g==o){g=Math.ceil(g);var l=0;for(var m in h)if(typeof h[m]!=B&&++l==g)return h[m];a(w+"().Item("+g+")")}else return h[k(g,h)];return s};
h.Item.toString=function(){return j.toString()};h.Key=function(g){var l=typeof g;if(l==o){g=Math.ceil(g);l=0;for(var m in h)if(typeof h[m]!=B&&++l==g)return m}else if(l==q){g=k(g,h);m=h[g];return typeof m!=v&&m&&m.toString()?g:""}else a("ERROR:Wrong number of arguments or invalid property assignment\r\nRequest.QueryString().Key("+(g?g:"")+")");a(w+"().Item("+g+")")};h.Key.toString=function(){a("ERROR:Wrong number of arguments or invalid property assignment\r\nRequest.QueryString().Key")};this.QueryString=
function(g){if(typeof g==v)return h;else{if(typeof g==o)return h.Item(g);g=k(g,h);if(typeof h[g]==v){t={};t.Count=function(){return 0};t.Count.toString=function(){return"0"};t.toString=function(){return s};t.Item=function(){return s};t.Item.toString=function(){return s};t.Key=function(l){a(F+"("+(l?l:"")+")")};t.Key.toString=function(){return s};return t}else return h[g]}};this.QueryString.toString=function(){return j.toString()};this.QueryString.Count=function(){return p?p:0};this.QueryString.Count.toString=
function(){return p?p.toString():"0"};this.QueryString.Item=function(g){if(typeof g==v)return j.toString();else if(typeof g==o){g=Math.ceil(g);var l=0;for(var m in h)if(typeof h[m]!=B&&++l==g)return h[m];a(w+".Item("+g+")")}else return h[k(g,h)];typeof g==o&&a(w+".Item("+g+")");return s};this.QueryString.Item.toString=function(){return j.toString()};this.QueryString.Key=function(g){var l=typeof g;if(l==o){g=Math.ceil(g);l=0;for(var m in h)if(typeof h[m]=="object"&&++l==g)return m}else if(l==q){g=
k(g,h);m=h[g];return typeof m!=v&&m&&m.toString()?g:""}else a("ERROR:Wrong number of arguments or invalid property assignment\r\nRequest.QueryString.Key("+(g?g:"")+")");a(w+".Item("+g+")")};this.QueryString.Key.toString=function(){a("ERROR:Wrong number of arguments or invalid property assignment\r\nRequest.QueryString.Key")};this.Version=1.4;this.Author="Andrew Urquhart (http://andrewu.co.uk)"}var Request=new RObj(false);
(function(c){c.fn.autogrow=function(){this.filter("textarea").each(function(){var a=c(this),b=a.height();a.css("lineHeight");var d=c("<div></div>").css({position:"absolute",top:-10000,left:-10000,width:c(this).width()-parseInt(a.css("paddingLeft"))-parseInt(a.css("paddingRight")),fontSize:a.css("fontSize"),fontFamily:a.css("fontFamily"),lineHeight:a.css("lineHeight"),resize:"none"}).appendTo(document.body),e=function(){var f=function(k,j){for(var h=0,v="";h<j;h++)v+=k;return v},i=this.value.replace(/</g,
"&lt;").replace(/>/g,"&gt;").replace(/&/g,"&amp;").replace(/\n$/,"<br/>&nbsp;").replace(/\n/g,"<br/>").replace(/ {2,}/g,function(k){return f("&nbsp;",k.length-1)+" "});d.html(i);c(this).css("height",Math.max(d.height()+20,b))};a.change(e).keyup(e).keydown(e);e.apply(this)});return this}})(jQuery);
(function(c){c.fn.inputHint=function(a){function b(f){var i;return a.using&&(i=c(a.using,f)).length>0?i.text():c(f).attr(a.hintAttr)||""}function d(){c(this).val()==""&&c(this).addClass(a.hintClass).val(b(this))}function e(){c(this).hasClass(a.hintClass)&&c(this).removeClass(a.hintClass).val("")}a=c.extend({hintClass:"hint",hintAttr:"title"},a||{});this.filter(function(){return!!b(this)}).focus(e).blur(d).blur();this.each(function(){var f=this;c(this).parents("form").submit(function(){e.apply(f)})});
return this.end()}})(jQuery);
