(function(b){function c(a,d){b("."+a).each(function(){var e=b(this).find(".styleSelect_item");b(this).find("span").each(function(){var g=b(this).attr("class");if(g=="passiveSelect"||g=="activeSelect"){b(this).remove()}});var f=b(this).find(".selected");b("<span></span>").text(f.text()).attr("id",f.parent().attr("id")).addClass("passiveSelect").appendTo(b(this));d===0&&b(this).css({width:e.width()})});b("."+a+" span").each(function(){if(b(this).attr("id")){b(this).removeClass();b(this).addClass("activeSelect")}})}b.fn.styleSelect=function(d){var e=1,a=b.extend({},b.fn.styleSelect.defaults,d);b("input,select,textarea,button").each(function(){var f=b(this);if(!f.attr("tabindex")){f.attr("tabindex",e);e++}});return this.each(function(){mainSelect=b(this);var j=mainSelect.attr("name"),h=j.replace(/\[.*\]/,""),g=mainSelect.attr("tabindex"),n="selectbox_"+h+(new Date).getTime();mainSelect.hide();h=b('<div tabindex="'+g+'"></div>').css({position:"relative","z-index":parseInt(100-g)}).addClass(a.styleClass).attr("id",n).insertBefore(mainSelect);b('<div class="styleSelect_item"></div>').appendTo(h).css({position:"absolute","z-index":""+parseInt(500-g)+"",top:a.optionsTop,left:a.optionsLeft}).hide();b('<div class="styleSelect_item_start"></div><div class="styleSelect_item_content"></div><div class="styleSelect_item_end">').appendTo(b("#"+n+" .styleSelect_item"));g=b("<ul></ul>").appendTo(b("#"+n+" .styleSelect_item_content"));var m="";mainSelect.find("option").each(function(){m+='<li id="'+b(this).val()+'"';if(b(this).attr("class")){m+=' class="'+b(this).attr("class")+'" '}m+=">";m+='<span style="display: block;"';if(b(this).attr("selected")){m+=' class="selected" '}m+=">";m+=b(this).text();m+="</span>";m+="</li>"});g.append(m);c(a.styleClass,a.optionsWidth);b("#"+n).click(function(f){b(f.target).parents(".jspVerticalBar").attr("class")||b(this).find(".styleSelect_item").slideToggle(a.speed,function(){if(b(this).css("display")!="none"&&a.jScrollPane==1){b(this).find(".styleSelect_item_content").jScrollPane(a.jScrollPaneOptions);var l=b(".styleSelect_item_content").data("jsp"),k=b(".styleSelect_item_content").height(),i=b(".styleSelect_item_content .selected").position();if(i.top&&l!=null&&i.top>k){l.scrollTo(0,parseInt(i.top-k/2))}else{if(i.top&&i.top<k){l.scrollTo(0,parseInt(i.top-k))}else{l!=null&&l.scrollTo(0,0)}}}})});b("#"+n+" li").click(function(){p(b(this))});b("#"+n).keydown(function(q){var o=b(this).find(".selected").parent();if(a.jScrollPane==1){var k=b(".styleSelect_item_content").data("jsp"),i=b(".styleSelect_item_content").height()}if(q.keyCode==40||q.keyCode==39){var f=o.next();if(f.index()>0&&k!=null&&b("#"+n).find(".styleSelect_item").css("display")!="none"){var l=f.position();l.top!=null&&l.top>i&&k.scrollTo(0,parseInt(l.top))}p(f)}if(q.keyCode==37||q.keyCode==38){o=o.prev();f=o.index();if(k!=null&&a.jScrollPane==1&&b("#"+n).find(".styleSelect_item").css("display")!="none"){if(f>0){f=o.position();f.top-i<i&&k.scrollTo(0,parseInt(f.top))}else{k.scrollTo(0,0)}}p(o)}if(q.keyCode==13||q.keyCode==0||q.keyCode==32){b(this).find(".styleSelect_item").slideToggle(a.speed,function(){!b(q.target).find(".jspContainer").attr("class")&&a.jScrollPane==1&&b(this).find(".styleSelect_item_content").jScrollPane(a.jScrollPaneOptions)});return false}q.keyCode==9&&b(this).find(".styleSelect_item").hide(a.speed)});var p=function(i){i.siblings().find("span").removeClass("selected");i.find("span").addClass("selected");i=i.attr("id");var f=b('select[name="'+j+'"]');f.siblings().selected=false;f.find('option[value="'+i+'"]').attr("selected","selected");f.trigger(a.selectTrigger);c(a.styleClass,a.optionsWidth)};b("#"+n).click(function(f){f.stopPropagation()});b(document).click(function(){b("#"+n+" .styleSelect_item").hide()})})};b.fn.styleSelect.defaults={optionsTop:"26px",optionsLeft:"0px",optionsWidth:0,styleClass:"selectMenu",speed:0,selectTrigger:"change",jScrollPane:0,jScrollPaneOptions:""}})(jQuery);
