(function(A){A.extend(A.fn,{validate:function(B){if(!this.length){B&&B.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return}var C=A.data(this[0],"validator");if(C){return C}C=new A.validator(B,this[0]);A.data(this[0],"validator",C);if(C.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){C.cancelSubmit=true});this.submit(function(D){if(C.settings.debug){D.preventDefault()}function E(){if(C.settings.submitHandler){C.settings.submitHandler.call(C,C.currentForm);return false}return true}if(C.cancelSubmit){C.cancelSubmit=false;return E()}if(C.form()){if(C.pendingRequest){C.formSubmitted=true;return false}return E()}else{C.focusInvalid();return false}})}return C},valid:function(){if(A(this[0]).is("form")){return this.validate().form()}else{var C=false;var B=A(this[0].form).validate();this.each(function(){C|=B.element(this)});return C}},removeAttrs:function(D){var B={},C=this;A.each(D.split(/\s/),function(E,F){B[F]=C.attr(F);C.removeAttr(F)});return B},rules:function(E,B){var G=this[0];if(E){var D=A.data(G.form,"validator").settings;var I=D.rules;var J=A.validator.staticRules(G);switch(E){case"add":A.extend(J,A.validator.normalizeRule(B));I[G.name]=J;if(B.messages){D.messages[G.name]=A.extend(D.messages[G.name],B.messages)}break;case"remove":if(!B){delete I[G.name];return J}var H={};A.each(B.split(/\s/),function(K,L){H[L]=J[L];delete J[L]});return H}}var F=A.validator.normalizeRules(A.extend({},A.validator.metadataRules(G),A.validator.classRules(G),A.validator.attributeRules(G),A.validator.staticRules(G)),G);if(F.required){var C=F.required;delete F.required;F=A.extend({required:C},F)}return F}});A.extend(A.expr[":"],{blank:function(B){return !A.trim(B.value)},filled:function(B){return !!A.trim(B.value)},unchecked:function(B){return !B.checked}});A.format=function(B,C){if(arguments.length==1){return function(){var D=A.makeArray(arguments);D.unshift(B);return A.format.apply(this,D)}}if(arguments.length>2&&C.constructor!=Array){C=A.makeArray(arguments).slice(1)}if(C.constructor!=Array){C=[C]}A.each(C,function(D,E){B=B.replace(new RegExp("\\{"+D+"\\}","g"),E)});return B};A.validator=function(B,C){this.settings=A.extend({},A.validator.defaults,B);this.currentForm=C;this.init()};A.extend(A.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",errorElement:"label",focusInvalid:true,errorContainer:A([]),errorLabelContainer:A([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(B){this.lastActive=B;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,B,this.settings.errorClass);this.errorsFor(B).hide()}},onfocusout:function(B){if(!this.checkable(B)&&(B.name in this.submitted||!this.optional(B))){this.element(B)}},onkeyup:function(B){if(B.name in this.submitted||B==this.lastElement){this.element(B)}},onclick:function(B){if(B.name in this.submitted){this.element(B)}},highlight:function(C,B){A(C).addClass(B)},unhighlight:function(C,B){A(C).removeClass(B)}},setDefaults:function(B){A.extend(A.validator.defaults,B)},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).",dateDE:"Bitte geben Sie ein gültiges Datum ein.",number:"Please enter a valid number.",numberDE:"Bitte geben Sie eine Nummer ein.",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:A.format("Please enter no more than {0} characters."),minlength:A.format("Please enter at least {0} characters."),rangelength:A.format("Please enter a value between {0} and {1} characters long."),range:A.format("Please enter a value between {0} and {1}."),max:A.format("Please enter a value less than or equal to {0}."),min:A.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=A(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||A(this.currentForm);this.containers=A(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var B=(this.groups={});A.each(this.settings.groups,function(E,F){A.each(F.split(/\s/),function(H,G){B[G]=E})});var D=this.settings.rules;A.each(D,function(E,F){D[E]=A.validator.normalizeRule(F)});function C(F){var E=A.data(this[0].form,"validator");E.settings["on"+F.type]&&E.settings["on"+F.type].call(E,this[0])}A(this.currentForm).delegate("focusin focusout keyup",":text, :password, :file, select, textarea",C).delegate("click",":radio, :checkbox",C);if(this.settings.invalidHandler){A(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)}},form:function(){this.checkForm();A.extend(this.submitted,this.errorMap);this.invalid=A.extend({},this.errorMap);if(!this.valid()){A(this.currentForm).triggerHandler("invalid-form",[this])}this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var B=0,C=(this.currentElements=this.elements());C[B];B++){this.check(C[B])}return this.valid()},element:function(C){C=this.clean(C);this.lastElement=C;this.prepareElement(C);this.currentElements=A(C);var B=this.check(C);if(B){delete this.invalid[C.name]}else{this.invalid[C.name]=true}if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers)}this.showErrors();return B},showErrors:function(C){if(C){A.extend(this.errorMap,C);this.errorList=[];for(var B in C){this.errorList.push({message:C[B],element:this.findByName(B)[0]})}this.successList=A.grep(this.successList,function(D){return !(D.name in C)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){if(A.fn.resetForm){A(this.currentForm).resetForm()}this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(D){var C=0;for(var B in D){C++}return C},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{A(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus()}catch(B){}}},findLastActive:function(){var B=this.lastActive;return B&&A.grep(this.errorList,function(C){return C.element.name==B.name}).length==1&&B},elements:function(){var C=this,B={};return A([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&C.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in B||!C.objectLength(A(this).rules())){return false}B[this.name]=true;return true})},clean:function(B){return A(B)[0]},errors:function(){return A(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=A([]);this.toHide=A([]);this.formSubmitted=false;this.currentElements=A([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)},prepareElement:function(B){this.reset();this.toHide=this.errorsFor(B)},check:function(C){C=this.clean(C);if(this.checkable(C)){C=this.findByName(C.name)[0]}var G=A(C).rules();var D=false;for(method in G){var F={method:method,parameters:G[method]};try{var B=A.validator.methods[method].call(this,C.value,C,F.parameters);if(B=="dependency-mismatch"){D=true;continue}D=false;if(B=="pending"){this.toHide=this.toHide.not(this.errorsFor(C));return}if(!B){this.formatAndAdd(C,F);return false}}catch(E){this.settings.debug&&window.console&&console.log("exception occured when checking element "+C.id+", check the '"+F.method+"' method");throw E}}if(D){return}if(this.objectLength(G)){this.successList.push(C)}return true},customMetaMessage:function(B,D){if(!A.metadata){return}var C=this.settings.meta?A(B).metadata()[this.settings.meta]:A(B).metadata();return C&&C.messages&&C.messages[D]},customMessage:function(C,D){var B=this.settings.messages[C];return B&&(B.constructor==String?B:B[D])},findDefined:function(){for(var B=0;B<arguments.length;B++){if(arguments[B]!==undefined){return arguments[B]}}return undefined},defaultMessage:function(B,C){return this.findDefined(this.customMessage(B.name,C),this.customMetaMessage(B,C),!this.settings.ignoreTitle&&B.title||undefined,A.validator.messages[C],"<strong>Warning: No message defined for "+B.name+"</strong>")},formatAndAdd:function(B,D){var C=this.defaultMessage(B,D.method);if(typeof C=="function"){C=C.call(this,D.parameters,B)}this.errorList.push({message:C,element:B});this.errorMap[B.name]=C;this.submitted[B.name]=C},addWrapper:function(B){if(this.settings.wrapper){B=B.add(B.parents(this.settings.wrapper))}return B},defaultShowErrors:function(){for(var C=0;this.errorList[C];C++){var B=this.errorList[C];this.settings.highlight&&this.settings.highlight.call(this,B.element,this.settings.errorClass);this.showLabel(B.element,B.message)}if(this.errorList.length){this.toShow=this.toShow.add(this.containers)}if(this.settings.success){for(var C=0;this.successList[C];C++){this.showLabel(this.successList[C])}}if(this.settings.unhighlight){for(var C=0,D=this.validElements();D[C];C++){this.settings.unhighlight.call(this,D[C],this.settings.errorClass)}}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 A(this.errorList).map(function(){return this.element})},showLabel:function(C,D){var B=this.errorsFor(C);if(B.length){B.removeClass().addClass(this.settings.errorClass);B.attr("generated")&&B.html(D)}else{B=A("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(C),generated:true}).addClass(this.settings.errorClass).html(D||"");if(this.settings.wrapper){B=B.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()}if(!this.labelContainer.append(B).length){this.settings.errorPlacement?this.settings.errorPlacement(B,A(C)):B.insertAfter(C)}}if(!D&&this.settings.success){B.text("");typeof this.settings.success=="string"?B.addClass(this.settings.success):this.settings.success(B)}this.toShow=this.toShow.add(B)},errorsFor:function(B){return this.errors().filter("[for='"+this.idOrName(B)+"']")},idOrName:function(B){return this.groups[B.name]||(this.checkable(B)?B.name:B.id||B.name)},checkable:function(B){return/radio|checkbox/i.test(B.type)},findByName:function(B){var C=this.currentForm;return A(document.getElementsByName(B)).map(function(D,E){return E.form==C&&E.name==B&&E||null})},getLength:function(C,B){switch(B.nodeName.toLowerCase()){case"select":return A("option:selected",B).length;case"input":if(this.checkable(B)){return this.findByName(B.name).filter(":checked").length}}return C.length},depend:function(C,B){return this.dependTypes[typeof C]?this.dependTypes[typeof C](C,B):true},dependTypes:{"boolean":function(C,B){return C},string:function(C,B){return !!A(C,B.form).length},"function":function(C,B){return C(B)}},optional:function(B){return !A.validator.methods.required.call(this,A.trim(B.value),B)&&"dependency-mismatch"},startRequest:function(B){if(!this.pending[B.name]){this.pendingRequest++;this.pending[B.name]=true}},stopRequest:function(B,C){this.pendingRequest--;if(this.pendingRequest<0){this.pendingRequest=0}delete this.pending[B.name];if(C&&this.pendingRequest==0&&this.formSubmitted&&this.form()){A(this.currentForm).submit()}else{if(!C&&this.pendingRequest==0&&this.formSubmitted){A(this.currentForm).triggerHandler("invalid-form",[this])}}},previousValue:function(B){return A.data(B,"previousValue")||A.data(B,"previousValue",previous={old:null,valid:true,message:this.defaultMessage(B,"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(B,C){B.constructor==String?this.classRuleSettings[B]=C:A.extend(this.classRuleSettings,B)},classRules:function(C){var D={};var B=A(C).attr("class");B&&A.each(B.split(" "),function(){if(this in A.validator.classRuleSettings){A.extend(D,A.validator.classRuleSettings[this])}});return D},attributeRules:function(C){var E={};var B=A(C);for(method in A.validator.methods){var D=B.attr(method);if(D){E[method]=D}}if(E.maxlength&&/-1|2147483647|524288/.test(E.maxlength)){delete E.maxlength}return E},metadataRules:function(B){if(!A.metadata){return{}}var C=A.data(B.form,"validator").settings.meta;return C?A(B).metadata()[C]:A(B).metadata()},staticRules:function(C){var D={};var B=A.data(C.form,"validator");if(B.settings.rules){D=A.validator.normalizeRule(B.settings.rules[C.name])||{}}return D},normalizeRules:function(C,B){A.each(C,function(F,E){if(E===false){delete C[F];return}if(E.param||E.depends){var D=true;switch(typeof E.depends){case"string":D=!!A(E.depends,B.form).length;break;case"function":D=E.depends.call(B,B);break}if(D){C[F]=E.param!==undefined?E.param:true}else{delete C[F]}}});A.each(C,function(D,E){C[D]=A.isFunction(E)?E(B):E});A.each(["minlength","maxlength","min","max"],function(){if(C[this]){C[this]=Number(C[this])}});A.each(["rangelength","range"],function(){if(C[this]){C[this]=[Number(C[this][0]),Number(C[this][1])]}});if(A.validator.autoCreateRanges){if(C.min&&C.max){C.range=[C.min,C.max];delete C.min;delete C.max}if(C.minlength&&C.maxlength){C.rangelength=[C.minlength,C.maxlength];delete C.minlength;delete C.maxlength}}if(C.messages){delete C.messages}return C},normalizeRule:function(C){if(typeof C=="string"){var B={};A.each(C.split(/\s/),function(){B[this]=true});C=B}return C},addMethod:function(B,D,C){A.validator.methods[B]=D;A.validator.messages[B]=C;if(D.length<3){A.validator.addClassRules(B,A.validator.normalizeRule(B))}},methods:{required:function(D,C,E){if(!this.depend(E,C)){return"dependency-mismatch"}switch(C.nodeName.toLowerCase()){case"select":var B=A("option:selected",C);return B.length>0&&(C.type=="select-multiple"||(A.browser.msie&&!(B[0].attributes.value.specified)?B[0].text:B[0].value).length>0);case"input":if(this.checkable(C)){return this.getLength(D,C)>0}default:return A.trim(D).length>0}},remote:function(F,C,G){if(this.optional(C)){return"dependency-mismatch"}var D=this.previousValue(C);if(!this.settings.messages[C.name]){this.settings.messages[C.name]={}}this.settings.messages[C.name].remote=typeof D.message=="function"?D.message(F):D.message;G=typeof G=="string"&&{url:G}||G;if(D.old!==F){D.old=F;var B=this;this.startRequest(C);var E={};E[C.name]=F;A.ajax(A.extend(true,{url:G,mode:"abort",port:"validate"+C.name,dataType:"json",data:E,success:function(I){if(I){var H=B.formSubmitted;B.prepareElement(C);B.formSubmitted=H;B.successList.push(C);B.showErrors()}else{var J={};J[C.name]=I||B.defaultMessage(C,"remote");B.showErrors(J)}D.valid=I;B.stopRequest(C,I)}},G));return"pending"}else{if(this.pending[C.name]){return"pending"}}return D.valid},minlength:function(C,B,D){return this.optional(B)||this.getLength(A.trim(C),B)>=D},maxlength:function(C,B,D){return this.optional(B)||this.getLength(A.trim(C),B)<=D},rangelength:function(D,B,E){var C=this.getLength(A.trim(D),B);return this.optional(B)||(C>=E[0]&&C<=E[1])},min:function(C,B,D){return this.optional(B)||C>=D},max:function(C,B,D){return this.optional(B)||C<=D},range:function(C,B,D){return this.optional(B)||(C>=D[0]&&C<=D[1])},email:function(C,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(C)},url:function(C,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(C)},date:function(C,B){return this.optional(B)||!/Invalid|NaN/.test(new Date(C))},dateISO:function(C,B){return this.optional(B)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(C)},dateDE:function(C,B){return this.optional(B)||/^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(C)},number:function(C,B){return this.optional(B)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(C)},numberDE:function(C,B){return this.optional(B)||/^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(C)},digits:function(C,B){return this.optional(B)||/^\d+$/.test(C)},creditcard:function(F,C){if(this.optional(C)){return"dependency-mismatch"}if(/[^0-9-]+/.test(F)){return false}var G=0,E=0,B=false;F=F.replace(/\D/g,"");for(n=F.length-1;n>=0;n--){var D=F.charAt(n);var E=parseInt(D,10);if(B){if((E*=2)>9){E-=9}}G+=E;B=!B}return(G%10)==0},accept:function(C,B,D){D=typeof D=="string"?D:"png|jpe?g|gif";return this.optional(B)||C.match(new RegExp(".("+D+")$","i"))},equalTo:function(C,B,D){return C==A(D).val()}}})})(jQuery);(function(C){var B=C.ajax;var A={};C.ajax=function(E){E=C.extend(E,C.extend({},C.ajaxSettings,E));var D=E.port;if(E.mode=="abort"){if(A[D]){A[D].abort()}return(A[D]=B.apply(this,arguments))}return B.apply(this,arguments)}})(jQuery);(function(A){A.each({focus:"focusin",blur:"focusout"},function(C,B){A.event.special[B]={setup:function(){if(A.browser.msie){return false}this.addEventListener(C,A.event.special[B].handler,true)},teardown:function(){if(A.browser.msie){return false}this.removeEventListener(C,A.event.special[B].handler,true)},handler:function(D){arguments[0]=A.event.fix(D);arguments[0].type=B;return A.event.handle.apply(this,arguments)}}});A.extend(A.fn,{delegate:function(D,C,B){return this.bind(D,function(E){var F=A(E.target);if(F.is(C)){return B.apply(F,arguments)}})},triggerEvent:function(B,C){return this.triggerHandler(B,[A.event.fix({type:B,target:C})])}})})(jQuery);(function($){$.toJSON=function(o){if(typeof(JSON)=="object"&&JSON.stringify){return JSON.stringify(o)}var type=typeof(o);if(o===null){return"null"}if(type=="undefined"){return undefined}if(type=="number"||type=="boolean"){return o+""}if(type=="string"){return $.quoteString(o)}if(type=="object"){if(typeof o.toJSON=="function"){return $.toJSON(o.toJSON())}if(o.constructor===Date){var month=o.getUTCMonth()+1;if(month<10){month="0"+month}var day=o.getUTCDate();if(day<10){day="0"+day}var year=o.getUTCFullYear();var hours=o.getUTCHours();if(hours<10){hours="0"+hours}var minutes=o.getUTCMinutes();if(minutes<10){minutes="0"+minutes}var seconds=o.getUTCSeconds();if(seconds<10){seconds="0"+seconds}var milli=o.getUTCMilliseconds();if(milli<100){milli="0"+milli}if(milli<10){milli="0"+milli}return'"'+year+"-"+month+"-"+day+"T"+hours+":"+minutes+":"+seconds+"."+milli+'Z"'}if(o.constructor===Array){var ret=[];for(var i=0;i<o.length;i++){ret.push($.toJSON(o[i])||"null")}return"["+ret.join(",")+"]"}var pairs=[];for(var k in o){var name;var type=typeof k;if(type=="number"){name='"'+k+'"'}else{if(type=="string"){name=$.quoteString(k)}else{continue}}if(typeof o[k]=="function"){continue}var val=$.toJSON(o[k]);pairs.push(name+":"+val)}return"{"+pairs.join(", ")+"}"}};$.evalJSON=function(src){if(typeof(JSON)=="object"&&JSON.parse){return JSON.parse(src)}return eval(" ("+src+") ")};$.secureEvalJSON=function(src){if(typeof(JSON)=="object"&&JSON.parse){return JSON.parse(src)}var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,"@");filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]");filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,"");if(/^[\],:{}\s]*$/.test(filtered)){return eval("("+src+")")}else{throw new SyntaxError("Error parsing JSON, source is not valid.")}};$.quoteString=function(string){if(string.match(_escapeable)){return'"'+string.replace(_escapeable,function(a){var c=_meta[a];if(typeof c==="string"){return c}c=a.charCodeAt();return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"'}return'"'+string+'"'};var _escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;var _meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"}})(jQuery);(function(C){C.fn.media=function(L,K,M){return this.each(function(){if(typeof L=="function"){M=K;K=L;L={}}var T=G(this,L);if(typeof K=="function"){K(this,T)}var S=I();var N=S.exec(T.src.toLowerCase())||[""];T.type?N[0]=T.type:N.shift();for(var R=0;R<N.length;R++){fn=N[R].toLowerCase();if(E(fn[0])){fn="fn"+fn}if(!C.fn.media[fn]){continue}var Q=C.fn.media[fn+"_player"];if(!T.params){T.params={}}if(Q){var P=Q.autoplayAttr=="autostart";T.params[Q.autoplayAttr||"autoplay"]=P?(T.autoplay?1:0):T.autoplay?true:false}var O=C.fn.media[fn](this,T);O.css("backgroundColor",T.bgColor).width(T.width);if(typeof M=="function"){M(this,O[0],T,Q.name)}break}})};C.fn.media.mapFormat=function(L,K){if(!L||!K||!C.fn.media.defaults.players[K]){return}L=L.toLowerCase();if(E(L[0])){L="fn"+L}C.fn.media[L]=C.fn.media[K];C.fn.media[L+"_player"]=C.fn.media.defaults.players[K]};C.fn.media.defaults={width:400,height:400,autoplay:0,bgColor:"#ffffff",params:{wmode:"transparent"},attrs:{},flvKeyName:"file",flashvars:{},flashVersion:"7",expressInstaller:null,flvPlayer:"mediaplayer.swf",mp3Player:"mediaplayer.swf",silverlight:{inplaceInstallPrompt:"true",isWindowless:"true",framerate:"24",version:"0.9",onError:null,onLoad:null,initParams:null,userContext:null}};C.fn.media.defaults.players={flash:{name:"flash",types:"flv,mp3,swf",oAttrs:{classid:"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",type:"application/x-oleobject",codebase:"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="+C.fn.media.defaults.flashVersion},eAttrs:{type:"application/x-shockwave-flash",pluginspage:"http://www.adobe.com/go/getflashplayer"}},quicktime:{name:"quicktime",types:"aif,aiff,aac,au,bmp,gsm,mov,mid,midi,mpg,mpeg,mp4,m4a,psd,qt,qtif,qif,qti,snd,tif,tiff,wav,3g2,3gp",oAttrs:{classid:"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B",codebase:"http://www.apple.com/qtactivex/qtplugin.cab"},eAttrs:{pluginspage:"http://www.apple.com/quicktime/download/"}},realplayer:{name:"real",types:"ra,ram,rm,rpm,rv,smi,smil",autoplayAttr:"autostart",oAttrs:{classid:"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"},eAttrs:{type:"audio/x-pn-realaudio-plugin",pluginspage:"http://www.real.com/player/"}},winmedia:{name:"winmedia",types:"asx,asf,avi,wma,wmv",autoplayAttr:"autostart",oUrl:"url",oAttrs:{classid:"clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6",type:"application/x-oleobject"},eAttrs:{type:C.browser.mozilla&&J()?"application/x-ms-wmp":"application/x-mplayer2",pluginspage:"http://www.microsoft.com/Windows/MediaPlayer/"}},iframe:{name:"iframe",types:"html,pdf"},silverlight:{name:"silverlight",types:"xaml"}};function J(){var K=navigator.plugins;for(i=0;i<K.length;i++){var L=K[i];if(L.filename=="np-mswmp.dll"){return true}}return false}var A=1;for(var H in C.fn.media.defaults.players){var D=C.fn.media.defaults.players[H].types;C.each(D.split(","),function(K,L){if(E(L[0])){L="fn"+L}C.fn.media[L]=C.fn.media[H]=B(H);C.fn.media[L+"_player"]=C.fn.media.defaults.players[H]})}function I(){var L="";for(var K in C.fn.media.defaults.players){if(L.length){L+=","}L+=C.fn.media.defaults.players[K].types}return new RegExp("\\.("+L.replace(/,/ig,"|")+")\\b")}function B(K){return function(M,L){return F(M,L,K)}}function E(K){return"0123456789".indexOf(K)>-1}function G(M,V){V=V||{};var U=C(M);var T=M.className||"";var S=C.metadata?U.metadata():C.meta?U.data():{};S=S||{};var R=S.width||parseInt(((T.match(/w:(\d+)/)||[])[1]||0));var N=S.height||parseInt(((T.match(/h:(\d+)/)||[])[1]||0));if(R){S.width=R}if(N){S.height=N}if(T){S.cls=T}var Q=C.fn.media.defaults;var P=V;var O=S;var L={params:{bgColor:V.bgColor||C.fn.media.defaults.bgColor}};var K=C.extend({},Q,P,O);C.each(["attrs","params","flashvars","silverlight"],function(W,X){K[X]=C.extend({},L[X]||{},Q[X]||{},P[X]||{},O[X]||{})});if(typeof K.caption=="undefined"){K.caption=U.text()}K.src=K.src||U.attr("href")||U.attr("src")||"unknown";return K}C.fn.media.swf=function(O,K){if(!window.SWFObject&&!window.swfobject){if(K.flashvars){var R=[];for(var P in K.flashvars){R.push(P+"="+K.flashvars[P])}if(!K.params){K.params={}}K.params.flashvars=R.join("&")}return F(O,K,"flash")}var M=O.id?(' id="'+O.id+'"'):"";var S=K.cls?(' class="'+K.cls+'"'):"";var Q=C("<div"+M+S+">");if(window.swfobject){C(O).after(Q).appendTo(Q);if(!O.id){O.id="movie_player_"+A++}swfobject.embedSWF(K.src,O.id,K.width,K.height,K.flashVersion,K.expressInstaller,K.flashvars,K.params,K.attrs)}else{C(O).after(Q).remove();var N=new SWFObject(K.src,"movie_player_"+A++,K.width,K.height,K.flashVersion,K.bgColor);if(K.expressInstaller){N.useExpressInstall(K.expressInstaller)}for(var L in K.params){if(L!="bgColor"){N.addParam(L,K.params[L])}}for(var P in K.flashvars){N.addVariable(P,K.flashvars[P])}N.write(Q[0])}if(K.caption){C("<div>").appendTo(Q).html(K.caption)}return Q};C.fn.media.flv=C.fn.media.mp3=function(N,O){var P=O.src;var M=/\.mp3\b/i.test(P)?C.fn.media.defaults.mp3Player:C.fn.media.defaults.flvPlayer;var L=O.flvKeyName;P=encodeURIComponent(P);O.src=M;O.src=O.src+"?"+L+"="+(P);var K={};K[L]=P;O.flashvars=C.extend({},K,O.flashvars);return C.fn.media.swf(N,O)};C.fn.media.xaml=function(Q,R){if(!window.Sys||!window.Sys.Silverlight){if(C.fn.media.xaml.warning){return}C.fn.media.xaml.warning=1;alert("You must include the Silverlight.js script.");return}var P={width:R.width,height:R.height,background:R.bgColor,inplaceInstallPrompt:R.silverlight.inplaceInstallPrompt,isWindowless:R.silverlight.isWindowless,framerate:R.silverlight.framerate,version:R.silverlight.version};var N={onError:R.silverlight.onError,onLoad:R.silverlight.onLoad};var O=Q.id?(' id="'+Q.id+'"'):"";var M=R.id||"AG"+A++;var L=R.cls?(' class="'+R.cls+'"'):"";var K=C("<div"+O+L+">");C(Q).after(K).remove();Sys.Silverlight.createObjectEx({source:R.src,initParams:R.silverlight.initParams,userContext:R.silverlight.userContext,id:M,parentElement:K[0],properties:P,events:N});if(R.caption){C("<div>").appendTo(K).html(R.caption)}return K};function F(O,K,S){var W=C(O);var N=C.fn.media.defaults.players[S];if(S=="iframe"){var N=C('<iframe width="'+K.width+'" height="'+K.height+'" >');N.attr("src",K.src);N.css("backgroundColor",N.bgColor)}else{if(C.browser.msie){var R=['<object width="'+K.width+'" height="'+K.height+'" '];for(var T in K.attrs){R.push(T+'="'+K.attrs[T]+'" ')}for(var T in N.oAttrs||{}){var U=N.oAttrs[T];if(T=="codebase"&&window.location.protocol=="https"){U=U.replace("http","https")}R.push(T+'="'+U+'" ')}R.push("></object>");var M=['<param name="'+(N.oUrl||"src")+'" value="'+K.src+'">'];for(var T in K.params){M.push('<param name="'+T+'" value="'+K.params[T]+'">')}var N=document.createElement(R.join(""));for(var P=0;P<M.length;P++){N.appendChild(document.createElement(M[P]))}}else{var R=['<embed width="'+K.width+'" height="'+K.height+'" style="display:block"'];if(K.src){R.push(' src="'+K.src+'" ')}for(var T in K.attrs){R.push(T+'="'+K.attrs[T]+'" ')}for(var T in N.eAttrs||{}){R.push(T+'="'+N.eAttrs[T]+'" ')}for(var T in K.params){if(T=="wmode"&&S!="flash"){continue}R.push(T+'="'+K.params[T]+'" ')}R.push("></embed>")}}var L=O.id?(' id="'+O.id+'"'):"";var V=K.cls?(' class="'+K.cls+'"'):"";var Q=C("<div"+L+V+">");W.after(Q).remove();(C.browser.msie||S=="iframe")?Q.append(N):Q.html(R.join(""));if(K.caption){C("<div>").appendTo(Q).html(K.caption)}return Q}})(jQuery);jQuery.cookie=function(B,I,L){if(typeof I!="undefined"){L=L||{};if(I===null){I="";L.expires=-1}var E="";if(L.expires&&(typeof L.expires=="number"||L.expires.toUTCString)){var F;if(typeof L.expires=="number"){F=new Date();F.setTime(F.getTime()+(L.expires*24*60*60*1000))}else{F=L.expires}E="; expires="+F.toUTCString()}var K=L.path?"; path="+L.path:"";var G=L.domain?"; domain="+L.domain:"";var A=L.secure?"; secure":"";document.cookie=[B,"=",encodeURIComponent(I),E,K,G,A].join("")}else{var D=null;if(document.cookie&&document.cookie!=""){var J=document.cookie.split(";");for(var H=0;H<J.length;H++){var C=jQuery.trim(J[H]);if(C.substring(0,B.length+1)==(B+"=")){D=decodeURIComponent(C.substring(B.length+1));break}}}return D}};$.fn.clearForm=function(){return this.each(function(){var B=this.type,A=this.tagName.toLowerCase();if(A=="form"){return $(":input",this).clearForm()}if(B=="text"||B=="password"||A=="textarea"){this.value=""}else{if(B=="checkbox"||B=="radio"){this.checked=false}else{if(A=="select"){this.selectedIndex=-1}}}})};blastmedia={};blastmedia.BASEURL="";blastmedia.startup=function(){blastmedia.front.init();blastmedia.toolbar.init();$("a.blank").click(function(){window.open($(this).attr("href"));return false});return true};$(document).ready(blastmedia.startup);blastmedia.toolbar={};blastmedia.toolbar.init=function(){if($.cookie("toolbar_opened")=="opened"){$("div#toolbar").css("width","100%");$("span","div#toolbar").show();$("#toolbar_toogler").text("hide");$("input#keepopen").attr("checked","checked")}$("input#keepopen").click(function(){var A=new Date();A.setTime(A.getTime()+(3*24*60*60*1000));if($(this).is(":checked")){$.cookie("toolbar_opened","opened",{path:"/",expires:A})}else{$.cookie("toolbar_opened","closed",{path:"/",expires:A})}});$("#toolbar_toogler").click(function(){if($(this).text()=="show"){$(this).text("hide");$("div#toolbar").animate({width:"100%"},200);$("span","div#toolbar").show()}else{$(this).text("show");$("div#toolbar").animate({width:"75px"},200);$("span","div#toolbar").hide()}})};blastmedia.front={};blastmedia.front.init=function(){blastmedia.registerform.init();blastmedia.simplesearch.init()};blastmedia.login={};blastmedia.login.init=function(){if($("#login_box").length>0){if(blastmedia.login.checkIdentity()==1){$("div.panel_login_form").hide();$("div.panel_login_success").show()}else{$("div.panel_login_success").hide();$("div.panel_login_form").show()}}$("#login_submit",$(".formLogin")).click(function(){$(".formLogin").submit()});$(".formLogin").submit(function(){if($(".formLogin").valid()){blastmedia.login.submit()}return false});$(".panel_login_failed_back").click(function(){$(".panel_login_form").show();$(".panel_login_success").hide();$(".panel_login_failed").hide()});$(".logout").click(function(){blastmedia.login.logout()})};blastmedia.login.submit=function(){ajaxUrl=blastmedia.url("login","ajax-login","default",{});str=$.post(ajaxUrl,{login_identifier:$("#login_identifier").val(),login_credential:$("#login_credential").val()},function(A){blastmedia.login.callback(A)},"text")};blastmedia.login.callback=function(A){results=$.evalJSON(A);if(results.status=="success"){$(".panel_login_success_username").html(results.data.user_email);$(".panel_login_form").hide();$(".panel_login_success").show();$(".panel_login_failed").hide()}else{$(".panel_login_form").hide();$(".panel_login_failed_error").html(results.data);$(".panel_login_failed").show();$(".panel_login_success").hide()}};blastmedia.login.logout=function(){ajaxUrl=blastmedia.url("login","ajax-logout","default",{});str=$.post(ajaxUrl,{},function(A){$("#login_identifier").val("");$("#login_credential").val("");$(".panel_login_success").hide();$(".panel_login_form").show();$(".panel_login_failed").hide()},"text")};blastmedia.login.checkIdentity=function(){ajaxUrl=blastmedia.url("login","ajax-has-identity","default",{});var A;str=$.ajax({url:ajaxUrl,async:false,dataType:"text",success:function(B){A=B},error:function(){log.debug("error while checking identity")}});return A};blastmedia.registerform={};blastmedia.registerform.init=function(){$("#frmRegistration").validate({rules:{user_email2:{required:true,equalTo:"#user_email"},user_password2:{required:true,equalTo:"#user_password"},user_category_id:{required:true}},messages:{user_email2:{required:"Please confirm your e-mail",equalTo:"Please enter the same e-mail address as above"},user_password2:{required:"Please confirm your password",equalTo:"Please enter the same password as above"}}})};blastmedia.simplesearch={};blastmedia.simplesearch.init=function(){$("#simple_search_type_selector").click(function(){blastmedia.simplesearch.showDropdown()});$(".simple_search_type_item").click(function(){blastmedia.simplesearch.clickedItem(this)})};blastmedia.simplesearch.clickedItem=function(A){clickedItemName=$(A).attr("title");$("#simple_search_type").val(clickedItemName);$(".simple_search_type_item").removeClass("selected");$(A).addClass("selected");$("#simple_search_type_selector").removeClass();$("#simple_search_type_selector").addClass("simple_search_"+clickedItemName);blastmedia.simplesearch.hideDropdown()};blastmedia.simplesearch.showDropdown=function(){$("#simple_search_dropdown").show();$("#search").append('<div id="modal-overlay" />');$("#modal-overlay").css("opacity","0");$("#modal-overlay").css("display","block");$("#modal-overlay").click(function(){blastmedia.simplesearch.hideDropdown()})};blastmedia.simplesearch.hideDropdown=function(){$("#simple_search_dropdown").hide();$("#modal-overlay").remove()};blastmedia.utils={};blastmedia.utils.url=function(A,F,D,E){A=(A!=null)?A:"index";var B=blastmedia.BASEURL+"/"+D+"/"+A+"/"+F;var G=new Array();for(var C in E){var H=E[C];if(typeof H=="function"){continue}G.push(C+"/"+blastmedia.utils.urlencode(H))}if(G.length){B+="/"+G.join("/")}return B};blastmedia.utils.urlencode=function(E){var G="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.!~*'()";var B="0123456789ABCDEF";if(typeof E!="string"&&typeof E!="number"){return""}E=""+E;var F="";for(var C=0;C<E.length;C++){var D=E.charAt(C);if(D==" "){F+="+"}else{if(G.indexOf(D)!=-1){F+=D}else{var A=D.charCodeAt(0);if(A>255){F+="+"}else{F+="%";F+=B.charAt((A>>4)&15);F+=B.charAt(A&15)}}}}return F};blastmedia.utils.urldecode=function(B){var A="0123456789ABCDEFabcdef";var F=B;var E="";var C=0;while(C<F.length){var D=F.charAt(C);if(D=="+"){E+=" ";C++}else{if(D=="%"){if(C<(F.length-2)&&A.indexOf(F.charAt(C+1))!=-1&&A.indexOf(F.charAt(C+2))!=-1){E+=unescape(F.substr(C,3));C+=3}else{alert("Bad escape combination near ..."+F.substr(C));E+="%[ERROR]";C++}}else{E+=D;C++}}}return E};blastmedia.utils.pathinfo=function(I,J){var H="",E={},D=0;var A=false,G=false,F=false;var C={PATHINFO_DIRNAME:1,PATHINFO_BASENAME:2,PATHINFO_EXTENSION:4,PATHINFO_FILENAME:8,PATHINFO_ALL:0};for(H in C){C.PATHINFO_ALL=C.PATHINFO_ALL|C[H]}if(!I){return false}if(!J){J="PATHINFO_ALL"}if(C[J]){J=C[J]}var B=function(L){var M=L+"";var K=M.lastIndexOf(".")+1;return M.substr(K)};if((J&C.PATHINFO_DIRNAME)==C.PATHINFO_DIRNAME){E.dirname=dirname(I)}if((J&C.PATHINFO_BASENAME)==C.PATHINFO_BASENAME){if(false===A){A=basename(I)}E.basename=A}if((J&C.PATHINFO_EXTENSION)==C.PATHINFO_EXTENSION){if(false===A){A=basename(I)}if(false===G){G=B(A)}E.extension=G}if((J&C.PATHINFO_FILENAME)==C.PATHINFO_FILENAME){if(false===A){A=basename(I)}if(false===G){G=B(A)}if(false===F){F=A.substr(0,(A.length-G.length)-1)}E.filename=F}D=0;for(H in E){D++}if(D==1){return E[H]}return E};blastmedia.utils.basename=function(C,B){var A=C.replace(/^.*[\/\\]/g,"");if(typeof(B)=="string"&&A.substr(A.length-B.length)==B){A=A.substr(0,A.length-B.length)}return A};blastmedia.utils.dirname=function(A){return A.replace(/\\/g,"/").replace(/\/[^\/]*\/?$/,"")};blastmedia.utils.arrayUnique=function(B){var D=new Array();o:for(var C=0,F=B.length;C<F;C++){for(var A=0,E=D.length;A<E;A++){if(D[A]==B[C]){continue o}}D[D.length]=B[C]}return D};blastmedia.utils.hms=function(B){B=B%86400;var A=new Date(1970,0,1);A.setSeconds(B);var C=A.toTimeString().substr(0,8);if(B>86399){C=Math.floor((A-Date.parse("1/1/70"))/3600000)+C.substr(2)}return C};blastmedia.utils.hmsToSec=function(A){theTimeAr=A.split(":");return(parseInt(theTimeAr[0])*60*60)+(parseInt(theTimeAr[1])*60)+(parseInt(theTimeAr[2]))};blastmedia.utils.left=function(A,B){if(B<=0){return""}else{if(B>String(A).length){return A}else{return String(A).substring(0,B)}}};blastmedia.utils.right=function(B,C){if(C<=0){return""}else{if(C>String(B).length){return B}else{var A=String(B).length;return String(B).substring(A,A-C)}}};