var Cl=window.Cl||{};!function(a){"use strict";Cl.Uniform=new Class({options:{offset:-9999,cls:{prefix:"uniform",radio:"radio",checkbox:"checkbox",file:"file",select:"select",disabled:"disabled",focus:"focus",ready:"ready",checked:"checked"},lang:{fileBtn:"Upload",fileStatus:"Please select a file..."},tpl:{knob:'',radio:'',checkbox:'',file:'',select:''}},initialize:function(b,c){this.elements=a(b),this.options=a.extend(!0,{},this.options,c),this._setup()},_setup:function(){var b=this;this.callbacks={},this.elements.each(function(c,d){b._scan(a(d))})},update:function(){var b=this;this.destroy(),this.elements.each(function(c,d){b._scan(a(d))}),this._fire("update")},destroy:function(){var b=this.options.cls;this.elements.each(function(c,d){var e=a(d);e.is("select")||e.is("[type=file]")?(e.unwrap(),e.siblings("span").remove(),e.unwrap()):(e.siblings("span").remove(),e.unwrap()),e.removeAttr("style").removeClass(b.prefix+"-"+b.ready).off("click."+b.prefix).off("change."+b.prefix).off("focus."+b.prefix).off("blur."+b.prefix).data("ready",!1)}),this._fire("destroy")},_scan:function(a){if(a.data("ready"))return!1;switch(a.attr("type")){case"checkbox":this._setupRadioCheck(a,"checkbox");break;case"radio":this._setupRadioCheck(a,"radio");break;case"file":this._setupFile(a);break;case void 0:"SELECT"===a.prop("tagName")&&void 0===a.attr("multiple")&&this._setupSelect(a)}},_setupRadioCheck:function(b,c){var d=this.options.cls,e=d.prefix+" "+d.prefix+"-"+d[c],f=d.prefix+"-"+d[c]+"-knob",g=d.prefix+"-"+d.checked,h=a(this.options.tpl[c].replace("{cls}",e)),i=a(this.options.tpl.knob.replace("{knob}",f));b.wrap(h).parent().append(i);var j=b.parents("."+d.prefix),k=function(b,c){var e,h,i=!1;"checkbox"===c?(i=b.is(":checked"),e=b.siblings("."+f),e[i?"show":"hide"](),j[i?"addClass":"removeClass"](g),j.attr("aria-checked",i)):(h=a(':radio[name="'+b.attr("name")+'"]'),h.each(function(){var b=a(this),c=b.siblings("."+f),e=b.parents("."+d.prefix),h=b.is(":checked");c[h?"show":"hide"](),e[h?"addClass":"removeClass"](g),e.attr("aria-checked",h)}))};b.on("click."+d.prefix,function(b){b.stopPropagation();var e=a(this),f=!1,g=this.checked;return e.is(":disabled")?!1:(f="checkbox"===c?e.is(":checked"):!0,e.trigger("focus"),g!==f&&e.attr("checked",f).trigger("change"),void e.trigger(d.prefix+"change"))}).on("change."+d.prefix,function(b){b.stopPropagation();var d=a(this);k(d,c)}),j.on("click."+d.prefix,function(b){b.preventDefault(),b.stopPropagation();var c=a(this).find("input");c.trigger("click")}),b.is(":checked")?(j.attr("aria-checked",!0).addClass(g),b.siblings("."+f).show()):(j.attr("aria-checked",!1).removeClass(g),b.siblings("."+f).hide()),this._common(b)},_setupFile:function(b){var c=this.options.cls,d=c.prefix+" "+c.prefix+"-"+c.file,e=c.prefix+" "+c.prefix+"-input",f=c.prefix+"-"+c.file+"-btn",g=c.prefix+"-"+c.file+"-status",h=a(this.options.tpl.file.replace("{cls}",d).replace("{input}",e).replace("{btn}",f).replace("{btntext}",this.options.lang.fileBtn).replace("{status}",g).replace("{statustext}",this.options.lang.fileStatus));h.css({width:b.css("width"),padding:b.css("padding"),margin:b.css("margin")}),b.wrap(h).css("left",this.options.offset),b.on("change."+c.prefix,function(){var b=a(this).val().replace(/^C:\\fakepath\\/i,"");a(this).parents("."+c.prefix).find("."+g).text(b)});var i=b.parents("."+c.prefix);i.attr("for",b.attr("id")),this._common(b)},_setupSelect:function(b){var c=this.options.cls,d=c.prefix+" "+c.prefix+"-"+c.select,e=c.prefix+" "+c.prefix+"-input",f=c.prefix+"-"+c.select+"-status",g=c.prefix+"-"+c.select+"-arrow",h=a(this.options.tpl.select.replace("{cls}",d).replace("{input}",e).replace("{status}",f).replace("{arrow}",g)),i=b.outerWidth();h.css({width:i,padding:b.css("padding"),margin:b.css("margin")}),b.wrap(h).css("opacity",0);var j=b.parents("."+c.prefix),k=j.find("."+f);b.on("change keyup",function(){k.text(a(this).find("option:selected").text())}),k.text(b.find("option:selected").text()),b.css("width",i),b.closest(".uniform.uniform-select").css("width",i),b.css("width",h.outerWidth(!0)),this._common(b)},_common:function(b){var c=this.options.cls,d=b.parents("."+c.prefix).last();b.on("focus."+c.prefix+" blur."+c.prefix,function(b){var d=a(this).parents("."+c.prefix),e=c.prefix+"-"+c.focus;"focus"===b.type?d.addClass(e):d.removeClass(e)}),b.is(":disabled")&&d.addClass(c.prefix+"-"+c.disabled),b.attr("required")&&d.attr("aria-required",!0),b.addClass(c.prefix+"-"+c.ready),b.data("ready",!0),d.addClass(b.attr("class"))},_fire:function(a){return void 0===this.callbacks[a]?!1:void this.callbacks[a](this)}})}(jQuery);