(function(a){var h="name",d="click",g=":visible",e="change",f="selected",i="<span></span>",b="checked",c="";a.fn.limit=function(c){var b=a.extend({limit:350,callback:undefined},c);return this.each(function(){var d="charlimit",c=a(this);if(c.get(0).tagName=="TEXTAREA"){c.attr(d,b.limit);c.keyup(function(f){var a=parseInt(c.attr(d));if(!isNaN(a)){var e=a-c.val().length;if(e<0){c.val(c.val().substring(0,a));e=a-c.val().length}b.callback!=undefined&&b.callback(f,c,e)}})}else c.get(0).tagName=="INPUT"&&(c.attr("type").toLowerCase()=="text"||c.attr("type").toLowerCase()=="password")&&c.attr("maxlength",b.limit)})};a.fn.numeric=function(){return this.each(function(){a(this).keydown(function(a){if(a.keyCode==46||a.keyCode==8||a.keyCode==9||a.keyCode==27||a.keyCode==65&&a.ctrlKey===true||a.keyCode>=35&&a.keyCode<=39)return;else(a.keyCode<48||a.keyCode>57)&&(a.keyCode<96||a.keyCode>105)&&a.preventDefault()})})};a.fn.checkbox=function(g){var d=a.extend({theme:c,handler:function(){if(a(this).attr(b))a(this).prev().addClass(b);else a(this).prev().removeClass(b)}},g);return this.each(function(){var g;if(this.tagName=="INPUT")g=a(this);else g=a(this).find("input[type=checkbox]");if(!g.prev().is(".form-checkbox")){var h=a(i).addClass("form-checkbox");g.attr(b)&&h.addClass(b);h.addClass(g.attr("class"));d.theme!=c&&h.addClass(d.theme);g.hide();g.before(h);h.unbind().click(function(){var c=this;if(a(c).next().attr(b)){a(c).removeClass(f);a(c).next().removeAttr(b)}else{a(c).addClass(f);a(c).next().attr(b,b)}a(c).next().trigger(e)});g.unbind(e,d.handler).change(d.handler)}})};a.fn.radio=function(k){var j=a.extend({theme:c},k);return this.each(function(){var k=a(this);if(!k.is(g))return;if(!k.prev().is(".form-radio")){var l=a(i).addClass("form-radio");k.attr(b)&&l.addClass(f);j.theme!=c&&l.addClass(j.theme);k.hide();k.before(l);l.unbind().click(function(){!a(this).next().is(":checked")&&a(this).next().trigger(d).trigger(e)});k.change(function(){var c=a("input[type=radio][name="+k.attr(h)+"]");c.each(function(d,c){if(a(c).attr(b))a(c).prev().addClass(f);else a(c).prev().removeClass(f)})})}})};a.fn.dropdown=function(i){var f=a.extend({theme:c,multiple:false,docclickenabled:false},i);return this.each(function(){var D="[selected=true]",C="li[primary]",B="min-width",w=".form-select-list",v="li[selected=true]",q="[val!=-1]",m=".form-select-text",l=".form-select-value",i="val",p="select",A="change.FE",z="form-select-list",u="SELECT",o="controlname",t="replacementelement",x=this;if(!a(x).is(g))return;var k=a(x);if(k.data(t)!=undefined&&k.data(t).length>0)return;var s=a("<div></div>").addClass("form-select").attr("originalid",k.attr("id"));f.theme!=c&&s.addClass(f.theme);var r=a("<a></a>").addClass("form-select-text"),E=a("<a></a>").addClass("form-select-arrow"),n=a("<input type='hidden' class='form-select-value' />");n.attr(o,k.attr(o));n.attr(h,"hf"+k.attr(h));k.attr(o,n.attr(o)+"_old");var j,I;if(x.tagName==u){var H=[],G=k.find("option:selected");if(G.length>1)a.each(G,function(b,a){H.push(a.innerHTML)});else H.push(G.text());r.text(H.join(", "));var F=k.val();if(a.isArray(F))F=F.join(",");n.val(F);j=a("<ul></ul>").css({display:"none"}).addClass(z);I=k.find("option");k.unbind(A).bind(A,function(){a(this).prev().find("li[val='"+a(this).val()+"']").trigger(p)});I.each(function(f,c){var b=a("<li></li>");b.attr(i,a(c).val());b.text(a(c).text());b.unbind(p).bind(p,function(){var b=this;a(b).parent().parent().find(l).val(a(b).attr(i));a(b).parent().parent().find(m).text(a(b).text())});b.is(q)&&b.unbind(d).click(function(){k.val(a(this).attr(i));k.triggerHandler(e,this);j.hide()});j.append(b)})}else if(x.tagName=="UL"){j=a(x).clone().addClass(z);j.hide();r.width(r.width()+25);j.find("li").each(function(){var b=a(this);b.is(q)&&b.unbind().click(function(){var b=this;a(b).parent().parent().find(l).val(a(b).attr(i));a(b).parent().parent().find(m).text(a(b).text());E.trigger(d);k.trigger(e,b)})});r.text(k.find(v).text());n.val(k.find(v).val())}E.unbind().click(function(){if(j.is(g))j.hide();else{a(w).hide();var h=a(window).scrollTop(),f=h+a(window).height();j.css("z-index",a.topZIndex()+1).show();var k=j.offset().top,i=k+j.height();if(i>f){var e=j.parents(".form-select:first"),d=e.offset().top-j.height();j.offset({top:d,left:j.offset().left});var b=j.offset().top;if(b<0){b=b*-1;var c=j.height()-Math.abs(d);j.css({top:"-"+c+"px",height:c})}}}});x.tagName==u&&k.hide();r.unbind().click(function(){a(this).next().trigger(d)});s.append(n);s.append(r);s.append(E);s.append("<div style='clear:both'></div>");s.append(j);if(j.find("li").length>10){j.css(B,k.width());j.find("li").css({width:"auto!important"})}var F=n.val();f.multiple&&j.find("li[val!=-1]").each(function(){var e=a("<input type='checkbox' />");a(this).prepend(e);F.indexOf(a(this).attr(i))!=-1&&e.attr(b,b);e.checkbox({theme:"small"}).change(function(){n.val(c);r.text(c);j.find("input[type=checkbox]:checked").each(function(){n.val()!=c&&n.val(n.val()+",");n.val(n.val()+a(this).parent().attr(i));r.text()!=c&&r.text(r.text()+", ");r.text(r.text()+a(this).parent().text())})});a(this).unbind(d)});k.before(s);k.data(t,s);if(j.find(C).length>0){var y=a("<ul class='form-select-list-primary'></ul>");j.find(C).each(function(){var b=a(this).clone();b.is(q)&&b.unbind().click(function(){var b=this;a(b).parent().parent().find(l).val(a(b).attr(i));a(b).parent().parent().find(m).text(a(b).text());E.trigger(d);k.trigger(e,b)});y.append(b)});E.click(function(){y.toggle()});y.width(j.width());y.css(B,k.width()+25);y.hide();j.before(y);j.css("margin-left",y.width()+6)}x.tagName=="UL"&&k.remove();s.unbind(d).click(function(a){a.stopPropagation()});j.find("li[val=-1][primary]").remove();if(k.find(D).length>0)if(x.tagName==u)n.val(k.find(D).val());else n.val(k.find(v).attr(i));if(!f.docclickenabled){a(document).click(function(){a(w).hide();a(".form-select-list-primary").hide()});f.docclickenabled=true}})}})(jQuery)