(function(a){getBubble=function(c){var d=c.attr("name")+c.data("joxyBubble").bubbleClass;var b=a("#"+d);if(0===b.length){b=a("<div></div>").attr("id",d);a("body").append(b)}return b};joxyBubbleAlign=function(c,b){var d=c.data("joxyBubble");if(typeof b==="undefined"){b=getBubble(c)}if("top"===d.vAlign){var f=c.offset().top-b.outerHeight()}else{var f=c.offset().top+c.outerHeight()}b.css("top",(f+d.vOffset)+"px");var e=c.offset().left;if("right"===d.hAlign){e+=c.outerWidth()}b.css("left",(e+d.hOffset)+"px")};a.fn.extend({joxyBubble:function(b){var c={fade:0,hAlign:"left",hOffset:0,vAlign:"top",vOffset:0,bubbleClass:"joxyBubble"};if(this.length){this.each(function(){$this=a(this);var d=$this.data("joxyBubble")?a.extend({},$this.data("joxyBubble"),b):a.extend({},c,b);$this.data("joxyBubble",d);getBubble($this).addClass($this.data("joxyBubble").bubbleClass).css("display","none").html('<span class="topSpan"></span><a class="control" href="#" onclick="this.parentNode.style.display = \'none\'; return false;">&nbsp;</a><span class="bottomSpan">&nbsp;</span>')})}},joxyBubbleShow:function(c,d,e){$this=a(this);if(typeof e===undefined){e=$this.data("joxyBubble").fade}a("."+$this.data("joxyBubble").bubbleClass).animate({opacity:"hide"},"fast");var b=getBubble($this);if(""!==d){b.children(".topSpan").html(d);joxyBubbleAlign($this,b);b.toggleClass("note","note"===c).animate({opacity:"show"},"slow");if(a(document).scrollTop()>b.position().top){a(document).scrollTop(b.position().top)}if(0<e){setTimeout(function(){b.animate({opacity:"hide"},"slow")},e*1000)}}},tagName:function(){try{return this[0].tagName.toLowerCase()}catch(b){return"undefined"}},joxyFill:function(b){if(typeof b!="undefined"){for(key in b){var c=b[key];a(this).find("*[name*="+key+"]").each(function(){switch(a(this).tagName()){case"input":switch(a(this).attr("type")){case"text":case"button":case"submit":case"hidden":a(this).val(c);break;case"checkbox":a(this).removeAttr("checked");for(i=0;i<=c.length;i++){if(a(this).attr("value")==c[i]){a(this).attr("checked","checked")}}break;case"radio":if(a(this).attr("value")==c){a(this).attr("checked","checked")}else{a(this).removeAttr("checked")}break}break;case"textarea":case"button":a(this).val(c);break;case"select":a(this).children().each(function(){a(this).removeAttr("selected")});a(this).find("[value="+c+"]").attr("selected","selected");break}})}}return a(this)},joxySend:function(b,e){var d={cache:true,ajaxLoader:"ajaxLoader",debugMode:false};var b=a.extend(d,b);var c=a(this);c.prepend('<div id="'+b.ajaxLoader+'"></div>');return a(this).each(function(){result=a.ajax({url:c.attr("action"),type:c.attr("method"),dataType:"json",cache:b.cache,timeout:5000,data:c.serializeArray(),success:function(h){if(true===h.resend){c.unbind("submit").submit()}var j=h.formData;var g=h.messages;var f=h.callbackData;c.joxyFill(j);c.joxyMessenger(g);if(e&&g.Error==undefined){e(f)}c.find("#"+b.ajaxLoader).remove();if(true===b.debugMode){console.log(h)}return true},error:function(f,h,g){c.unbind("submit").submit()}});if(true===b.debugMode){console.log(result)}})},joxyFormBox:function(b,c,e){var f={overlayClose:false,opacity:0.2,width:"50%",inline:true};var d={fillForm:true,fragmentOnly:true};c=a.extend(d,c);b=a.extend(f,b);$this=a(this);if(false===b.inline&&true===c.fragmentOnly){$this.attr("href",$this.attr("href")+"?fragment=1")}$this.colorbox(b,e);$this.bind("click",function(h){if(true===c.fillForm){var g=a(this).attr("href");if(typeof g!=undefined){if(true===b.inline){a.getJSON(g,function(j){a(b.href).joxyFill(j.formData)})}}}})},joxyMessenger:function(c){if(c!=undefined){var b="";if(c.Error!=undefined){a(this).joxyBubble({bubbleClass:"bubbleError"});message="";for(key in c.Error){message+="<p>"+c.Error[key]+"</p>"}b+=message;if(b!=""){a(this).joxyBubbleShow("error",b)}}if(c.Success!=undefined){a(this).joxyBubble({bubbleClass:"bubbleSuccess"});b="";message="";for(key in c.Success){message+="<p>"+c.Success[key]+"</p>"}b+=message;if(b!=""){a(this).joxyBubbleShow("note",b,5)}}}},joxySendLink:function(b,c){var e={method:"GET",cache:true,ajaxLoader:"ajaxLoader",debugMode:false,parentElement:"tr[class=row]",activateCallbackFunction:true,showMessages:true};var b=a.extend(e,b);var d=a(this);a(this).prepend('<div id="'+b.ajaxLoader+'"></div>');return a(this).each(function(){a.ajax({url:a(this).attr("href"),type:b.method,dataType:"json",cache:b.cache,success:function(h){var g=h.messages;var f=h.callbackData;if(g.Error!=undefined){d.joxyMessenger(g)}else{if(b.activateCallbackFunction==true){if(c){c(f)}else{d.parents(b.parentElement).fadeOut("slow")}if(b.showMessages===true){d.joxyMessenger(g)}}}a(document).find("#"+b.ajaxLoader).remove();if(true===b.debugMode){console.log(h)}return true}});if(true===b.debugMode){console.log(result)}})},joxyDeleteAction:function(b,c){var e={ajaxLoader:"ajaxLoader",debugMode:false,parentElement:"tr[class=row]",dialog:true,dialogTitle:"Delete item",dialogMessage:"Really delete?",dialogId:"dialog"};var b=a.extend(e,b);var d=a(this);var f=b.ButtonOk;if(b.dialog==true){d.prepend('<div id="'+b.dialogId+'" title="'+b.dialogTitle+'">'+b.dialogMessage+"</div>");a("#"+b.dialogId).dialog({bgiframe:true,modal:true,buttons:{Ok:function(){a(this).dialog("close");d.joxySendLink({ajaxLoader:b.ajaxLoader,parentElement:b.parentElement});a(this).remove()},Storno:function(){a(this).dialog("close");a(this).remove()}}})}else{d.joxySendLink({ajaxLoader:b.ajaxLoader,parentElement:b.parentElement})}}})})(jQuery);function FormValidator(a,b,c){this.fields=a;this.hints=b;this.formId=c;this.errors=[];this.isFormValidation=false;this.init=function(){var f=this;$("#"+c).bind("submit",function(g){if(false===f.validate(this)){g.stopImmediatePropagation();g.preventDefault()}}).joxyBubble({bubbleClass:"bubbleError"});var d=[];for(var e in this.fields){d.push(e)}$("#"+d.join(", #")).bind("blur",function(){f.validateField(this)}).joxyBubble({bubbleClass:"bubbleError"})};this.renderMessages=function(d){var e="";while(errorText=this.errors.shift()){e+="<span>"+errorText+"</span>"}$(d).joxyBubbleShow("error",e)};this.validate=function(e){var f=true;this.isFormValidation=true;for(var d in this.fields){fieldIsValid=this.fieldCheck($("#"+d),this.fields[d]);if(!fieldIsValid){f=false}}if(!f){this.renderMessages(e);return false}else{return true}};this.validateField=function(d){this.isFormValidation=false;this.fieldCheck($("#"+d.id),this.fields[d.id]);this.renderMessages(d)};this.fieldCheck=function(f,g){for(var e in g){var d=g[e];isValid=this.isValid(d,f);if(this.performOrderActions(d,isValid)){return false}if(d.orders!=null&&isValid){if(!this.fieldCheck(f,d.orders)){return false}}}return true};this.performOrderActions=function(d,f){for(var e in d.actions){if(f){switch(d.actions[e].action){}}else{switch(d.actions[e].action){case"showMessage":if(!this.isFormValidation){this.errors.push(d.actions[e].params)}break;case"validate":this.errors.push(d.message);return true;break}}}return false};this.isValid=function(d,f){var g=d.validator.type;var e=d.validator;var j=this.getElemValue(f);var k=true,h=false;switch(g){case"minlength":k=j.length>=e.params;break;case"maxlength":k=j.length<=e.params;break;case"equal":k=j==e.params;break;case"match":k=null!==j.match(e.params);break;case"range":k=j>=e.params[0]||j<=e.params[1];break;case"greater":k=j>=e.params;break;case"smaller":k=j<=e.params;break;case"in":Array.prototype.inArray=function(o){for(var n=0,m=this.length;n<m;n++){if(this[n]==o){k=true}}k=false};k=e.params.inArray(j);break;case"key":k=e.params[j]!==null;break;case"nonempty":k=j!=="";break;case"checked":k=f.attr("checked");break;case"same":k=(j===this.getElemValue($("#"+e.params)));break;case"url":k=null!==j.match(/^(http(s)?:\/\/)?[-\w]+(\.[-\w]+)*\.[a-z]{2,6}(:\d+)?(\/.*)?$/i);break;case"email":k=null!==j.match(/^[-.+\w]{1,64}@[-+\w]+(\.[-+\w]+){0,252}\.[a-z]{2,6}$/i);break;case"alphanumeric":k=null!==j.match(/^[-a-z0-9]+$/i);break;case"usernameFormat":k=null!==j.match(/^[a-z][-a-z0-9]+[a-z0-9]$/i);break;case"username":h=$.ajax({type:"GET",url:e.params+"/"+j,async:false}).responseText;k=(h==="available");break;case"blogname":h=$.ajax({type:"GET",url:e.params+"/"+j,async:false}).responseText;k=(h==="available");break;case"numeric":k=null!==j.toString().match(/^[-]?\d*\.?\d*$/);break;case"datestrict":k=null!==j.match(/^\d\d\.\d\d\.\d\d\d\d$/i);break;default:k=true;break}return k};this.getElemValue=function(d){if(d.val()==this.hints[d.attr("id")]){return""}return d.val()}}function FormHint(b){var a=b;this.clear=function(c){var d=$(c);if(d.val()===a[c.id]){d.val("")}}}var FormCookie={forget:function(d){if((document.cookie)&&(""!==document.cookie)){var c=document.cookie.split(";");var b,e;for(var a=0;a<c.length;a++){b=$.trim(c[a]);if(0===b.indexOf(d)){e=b.split("=")[0];$.cookie(e,null,{path:"/"});$("#"+e.slice(e.indexOf("[")+1,-1)).val("")}}}}};