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

