(function(b){b.uniform={options:{selectClass:"selector",radioClass:"radio",checkboxClass:"checker",fileClass:"uploader",filenameClass:"filename",fileBtnClass:"action",fileDefaultText:"No file selected",fileBtnText:"Choose File",checkedClass:"checked",focusClass:"focus",disabledClass:"disabled",buttonClass:"button",activeClass:"active",hoverClass:"hover",useID:!0,idPrefix:"uniform",resetSelector:!1,autoHide:!0},elements:[]};b.support.selectOpacity=b.browser.msie&&b.browser.version<7?!1:!0;b.fn.uniform=
function(a){function i(e){var d=b(e),c=b("<div>"),f=b("<span>");c.addClass(a.buttonClass);a.useID&&d.attr("id")!=""&&c.attr("id",a.idPrefix+"-"+d.attr("id"));var g;if(d.is("a")||d.is("button"))g=d.text();else if(d.is(":submit")||d.is(":reset")||d.is("input[type=button]"))g=d.attr("value");g=g==""?d.is(":reset")?"Reset":"Submit":g;f.html(g);d.css("opacity",0);d.wrap(c);d.wrap(f);c=d.closest("div");f=d.closest("span");d.is(":disabled")&&c.addClass(a.disabledClass);c.bind({"mouseenter.uniform":function(){c.addClass(a.hoverClass)},
"mouseleave.uniform":function(){c.removeClass(a.hoverClass);c.removeClass(a.activeClass)},"mousedown.uniform touchbegin.uniform":function(){c.addClass(a.activeClass)},"mouseup.uniform touchend.uniform":function(){c.removeClass(a.activeClass)},"click.uniform touchend.uniform":function(a){if(b(a.target).is("span")||b(a.target).is("div"))e[0].dispatchEvent?(a=document.createEvent("MouseEvents"),a.initEvent("click",!0,!0),e[0].dispatchEvent(a)):e[0].click()}});e.bind({"focus.uniform":function(){c.addClass(a.focusClass)},
"blur.uniform":function(){c.removeClass(a.focusClass)}});b.uniform.noSelect(c);h(e)}function k(e){var d=b(e),c=b("<div />"),f=b("<span />");!d.css("display")=="none"&&a.autoHide&&c.hide();c.addClass(a.selectClass);a.useID&&e.attr("id")!=""&&c.attr("id",a.idPrefix+"-"+e.attr("id"));d=e.find(":selected:first");d.length==0&&(d=e.find("option:first"));f.html(d.html());e.css("opacity",0);e.wrap(c);e.before(f);c=e.parent("div");f=e.siblings("span");e.bind({"change.uniform":function(){f.text(e.find(":selected").html());
c.removeClass(a.activeClass)},"focus.uniform":function(){c.addClass(a.focusClass)},"blur.uniform":function(){c.removeClass(a.focusClass);c.removeClass(a.activeClass)},"mousedown.uniform touchbegin.uniform":function(){c.addClass(a.activeClass)},"mouseup.uniform touchend.uniform":function(){c.removeClass(a.activeClass)},"click.uniform touchend.uniform":function(){c.removeClass(a.activeClass)},"mouseenter.uniform":function(){c.addClass(a.hoverClass)},"mouseleave.uniform":function(){c.removeClass(a.hoverClass);
c.removeClass(a.activeClass)},"keyup.uniform":function(){f.text(e.find(":selected").html())}});b(e).attr("disabled")&&c.addClass(a.disabledClass);b.uniform.noSelect(f);h(e)}function l(e){var d=b(e),c=b("<div />"),f=b("<span />");!d.css("display")=="none"&&a.autoHide&&c.hide();c.addClass(a.checkboxClass);a.useID&&e.attr("id")!=""&&c.attr("id",a.idPrefix+"-"+e.attr("id"));b(e).wrap(c);b(e).wrap(f);f=e.parent();c=f.parent();b(e).css("opacity",0).bind({"focus.uniform":function(){c.addClass(a.focusClass)},
"blur.uniform":function(){c.removeClass(a.focusClass)},"click.uniform touchend.uniform":function(){b(e).attr("checked")?f.addClass(a.checkedClass):f.removeClass(a.checkedClass)},"mousedown.uniform touchbegin.uniform":function(){c.addClass(a.activeClass)},"mouseup.uniform touchend.uniform":function(){c.removeClass(a.activeClass)},"mouseenter.uniform":function(){c.addClass(a.hoverClass)},"mouseleave.uniform":function(){c.removeClass(a.hoverClass);c.removeClass(a.activeClass)}});b(e).attr("checked")&&
f.addClass(a.checkedClass);b(e).attr("disabled")&&c.addClass(a.disabledClass);h(e)}function m(e){var d=b(e),c=b("<div />"),f=b("<span />");!d.css("display")=="none"&&a.autoHide&&c.hide();c.addClass(a.radioClass);a.useID&&e.attr("id")!=""&&c.attr("id",a.idPrefix+"-"+e.attr("id"));b(e).wrap(c);b(e).wrap(f);f=e.parent();c=f.parent();b(e).css("opacity",0).bind({"focus.uniform":function(){c.addClass(a.focusClass)},"blur.uniform":function(){c.removeClass(a.focusClass)},"click.uniform touchend.uniform":function(){if(b(e).attr("checked")){var c=
a.radioClass.split(" ")[0];b("."+c+" span."+a.checkedClass+":has([name='"+b(e).attr("name")+"'])").removeClass(a.checkedClass);f.addClass(a.checkedClass)}else f.removeClass(a.checkedClass)},"mousedown.uniform touchend.uniform":function(){b(e).is(":disabled")||c.addClass(a.activeClass)},"mouseup.uniform touchbegin.uniform":function(){c.removeClass(a.activeClass)},"mouseenter.uniform touchend.uniform":function(){c.addClass(a.hoverClass)},"mouseleave.uniform":function(){c.removeClass(a.hoverClass);c.removeClass(a.activeClass)}});
b(e).attr("checked")&&f.addClass(a.checkedClass);b(e).attr("disabled")&&c.addClass(a.disabledClass);h(e)}function n(e){var d=b(e),c=b("<div />"),f=b("<span>"+a.fileDefaultText+"</span>"),g=b("<span>"+a.fileBtnText+"</span>");!d.css("display")=="none"&&a.autoHide&&c.hide();c.addClass(a.fileClass);f.addClass(a.filenameClass);g.addClass(a.fileBtnClass);a.useID&&d.attr("id")!=""&&c.attr("id",a.idPrefix+"-"+d.attr("id"));d.wrap(c);d.after(g);d.after(f);c=d.closest("div");f=d.siblings("."+a.filenameClass);
g=d.siblings("."+a.fileBtnClass);if(!d.attr("size")){var i=c.width();d.attr("size",i/10)}var j=function(){var e=d.val();e===""?e=a.fileDefaultText:(e=e.split(/[\/\\]+/),e=e[e.length-1]);f.text(e)};j();d.css("opacity",0).bind({"focus.uniform":function(){c.addClass(a.focusClass)},"blur.uniform":function(){c.removeClass(a.focusClass)},"mousedown.uniform":function(){b(e).is(":disabled")||c.addClass(a.activeClass)},"mouseup.uniform":function(){c.removeClass(a.activeClass)},"mouseenter.uniform":function(){c.addClass(a.hoverClass)},
"mouseleave.uniform":function(){c.removeClass(a.hoverClass);c.removeClass(a.activeClass)}});b.browser.msie?d.bind("click.uniform.ie7",function(){setTimeout(j,0)}):d.bind("change.uniform",j);d.attr("disabled")&&c.addClass(a.disabledClass);b.uniform.noSelect(f);b.uniform.noSelect(g);h(e)}function h(a){a=b(a).get();a.length>1?b.each(a,function(a,e){b.uniform.elements.push(e)}):b.uniform.elements.push(a)}var a=b.extend(b.uniform.options,a),o=this;a.resetSelector!=!1&&b(a.resetSelector).mouseup(function(){setTimeout(function(){b.uniform.update(o)},
10)});b.uniform.restore=function(a){a==void 0&&(a=b(b.uniform.elements));b(a).each(function(){b(this).is(":checkbox")?b(this).unwrap().unwrap():b(this).is("select")?(b(this).siblings("span").remove(),b(this).unwrap()):b(this).is(":radio")?b(this).unwrap().unwrap():b(this).is(":file")?(b(this).siblings("span").remove(),b(this).unwrap()):b(this).is("button, :submit, :reset, a, input[type='button']")&&b(this).unwrap().unwrap();b(this).unbind(".uniform");b(this).css("opacity","1");var d=b.inArray(b(a),
b.uniform.elements);b.uniform.elements.splice(d,1)})};b.uniform.noSelect=function(a){function d(){return!1}b(a).each(function(){this.onselectstart=this.ondragstart=d;b(this).mousedown(d).css({MozUserSelect:"none"})})};b.uniform.update=function(e){e==void 0&&(e=b(b.uniform.elements));e=b(e);e.each(function(){var d=b(this);if(d.is("select")){var c=d.siblings("span"),f=d.parent("div");f.removeClass(a.hoverClass+" "+a.focusClass+" "+a.activeClass);c.html(d.find(":selected").html());d.is(":disabled")?
f.addClass(a.disabledClass):f.removeClass(a.disabledClass)}else if(d.is(":checkbox"))c=d.closest("span"),f=d.closest("div"),f.removeClass(a.hoverClass+" "+a.focusClass+" "+a.activeClass),c.removeClass(a.checkedClass),d.is(":checked")&&c.addClass(a.checkedClass),d.is(":disabled")?f.addClass(a.disabledClass):f.removeClass(a.disabledClass);else if(d.is(":radio"))c=d.closest("span"),f=d.closest("div"),f.removeClass(a.hoverClass+" "+a.focusClass+" "+a.activeClass),c.removeClass(a.checkedClass),d.is(":checked")&&
c.addClass(a.checkedClass),d.is(":disabled")?f.addClass(a.disabledClass):f.removeClass(a.disabledClass);else if(d.is(":file"))f=d.parent("div"),c=d.siblings(a.filenameClass),btnTag=d.siblings(a.fileBtnClass),f.removeClass(a.hoverClass+" "+a.focusClass+" "+a.activeClass),c.text(d.val()),d.is(":disabled")?f.addClass(a.disabledClass):f.removeClass(a.disabledClass);else if(d.is(":submit")||d.is(":reset")||d.is("button")||d.is("a")||e.is("input[type=button]"))f=d.closest("div"),f.removeClass(a.hoverClass+
" "+a.focusClass+" "+a.activeClass),d.is(":disabled")?f.addClass(a.disabledClass):f.removeClass(a.disabledClass)})};return this.each(function(){if(b.support.selectOpacity){var a=b(this);a.is("select")?a.attr("multiple")!=!0&&(a.attr("size")==void 0||a.attr("size")<=1)&&k(a):a.is(":checkbox")?l(a):a.is(":radio")?m(a):a.is(":file")?n(a):a.is(":text, :password, input[type='email']")?($el=b(a),$el.addClass($el.attr("type")),h(a)):a.is("textarea")?(b(a).addClass("uniform"),h(a)):(a.is("a")||a.is(":submit")||
a.is(":reset")||a.is("button")||a.is("input[type=button]"))&&i(a)}})}})(jQuery);
