(function(a){a.fn.RadioButton=function(b){var c=b;return this.each(function(e){var b=this,f=undefined,k=undefined,h=false,g=false,e=a.extend({width:13,height:13,uncheckedClass:"RadioButton-unchecked",checkedClass:"RadioButton-checked"},c),d=undefined,m=function(){if(a(b).is(":disabled"))return false;if(!b.checked){b.checked=true;f.trigger("we_changed");a(b).trigger("change")}return false},j=function(){var c="";if(b.checked){a(d).addClass(e.checkedClass).removeClass(e.uncheckedClass);c=e.checkedClass}else{a(d).addClass(e.uncheckedClass).removeClass(e.checkedClass);c=e.uncheckedClass}if(b.disabled)a(d).addClass(c+"-disabled");else a(d).removeClass(c+"-disabled")},i=function(){if(g==b.checked)return false;j();g=b.checked;return false},l=function(){j()},n=function(){if(a(b).prev().is("div.RadioButton"))d=a(b).prev();else{d=a('<div id="RadioButton-'+b.id+'" class="RadioButton '+e.uncheckedClass+'"></div>');a(b).before(d)}if(d!=undefined){if(a.browser.msie)a(b).hide();else a(b).css({position:"absolute",marginLeft:"-5000px"});f=a("input:radio[name='"+b.name+"']");if(f.length>0)if(f.filter(":checked").length<1)f.get(0).checked=true;h=b.checked;g=h;if(b.checked)a(d).addClass(e.checkedClass).removeClass(e.uncheckedClass);else a(d).addClass(e.uncheckedClass).removeClass(e.checkedClass);a(d).bind("mousedown",m);a(b).bind("we_changed",i);a(b).bind("change",i);a(b).bind("state_changed",l);a(b).parents("form").length&&a(b).parents("form").bind("reset",function(){b.checked=h;a(b).trigger("change")});if(b.id!=""){k=a("label[for='"+b.id+"']");k.each(function(){var c=a(this).attr("for");a(this).mousedown(function(c){if(!a(b).is(":disabled")){c.preventDefault();c.stopPropagation();a(d).trigger("mousedown");return false}})})}a(b).trigger("we_changed")}};n()})};a.fn.Checkbox=function(b){var c=b;return this.each(function(e){var b=this,i=undefined,g=false,f=false,e=a.extend({width:16,height:13,uncheckedClass:"Checkbox-unchecked",checkedClass:"Checkbox-checked"},c),d=undefined,k=function(){if(b.disabled)return false;if(!b.checked)b.checked=true;else b.checked=false;f=b.checked;h();a(b).trigger("change");return false},h=function(){var c="";if(b.checked){a(d).addClass(e.checkedClass).removeClass(e.uncheckedClass);c=e.checkedClass}else{a(d).addClass(e.uncheckedClass).removeClass(e.checkedClass);c=e.uncheckedClass}if(b.disabled)a(d).addClass(c+"-disabled");else a(d).removeClass(c+"-disabled")},l=function(){if(b.checked==f)return;h();f=b.checked},j=function(){h()},m=function(){if(a(b).prev().is("div.Checkbox"))d=a(b).prev();else{d=a('<div id="Checkbox-'+b.id+'" class="Checkbox '+e.uncheckedClass+'"></div>');a(b).before(d)}if(d!=undefined){if(a.browser.msie)a(b).hide();else a(b).css({position:"absolute",marginLeft:"-5000px"});g=b.checked;f=g;if(b.checked)a(d).addClass(e.checkedClass).removeClass(e.uncheckedClass);else a(d).addClass(e.uncheckedClass).removeClass(e.checkedClass);a.browser.msie&&a(d).bind("mousedown",k);a(b).bind("change",l);a(b).bind("state_changed",j);a(b).parents("form").length&&a(b).parents("form").bind("reset",function(){b.checked=g;a(b).trigger("change")});if(b.id!=""){i=a("label[for='"+b.id+"']");i.each(function(){var c=a(this).attr("for");a(this).mousedown(function(c){c.preventDefault();c.stopPropagation();if(!b.disabled)a.browser.msie&&a(d).trigger("mousedown");return false})})}a(b).trigger("change")}};m()})};a.fn.InputBox=function(b){var c=b;return this.each(function(){var b=this,d;a(b).wrap(a("<span />").addClass("inputBox"));a(b).parent().wrapInner(a("<span />").addClass("inputBox-container"))})};a.fn.TextareaBox=function(b){var c=b;return this.each(function(){var c=this,b,h,e,d,g=function(){a(c).wrap(a("<span />").addClass("textareaBox"));a(c).parent().wrapInner(a("<span />").addClass("textareaBox-container"));b=a(c).parents(".textareaBox-container");b.append(a("<span />").addClass("cbr")).append(a("<span />").addClass("cbb")).append(a("<span />").addClass("cbc"));f(true)},f=function(h){var g,f;g=a(c).outerWidth();f=a(c).outerHeight();if(!h&&g==e&&f==d)return true;e=g;d=f;a(b).css({width:g+"px",height:f+"px"});g=a(b).innerWidth();f=a(b).innerHeight();a(".cbr",b).css({height:f+"px",right:0,top:0});a(".cbb",b).css({width:g+"px",left:0,bottom:0});a(".cbc",b).css({right:0,bottom:0})};g()})}})(jQuery);