jQuery.fn.extend({selectbox:function(l){return this.each(function(){new jQuery.SelectBox(this,l)})}});if(!window.console)var console={log:function(){}}; jQuery.SelectBox=function(l,t){function k(){j=0;d.hide();e.removeClass("opened")}function u(){d.append(v(e.attr("id"))).hide();var c=e.css("width");if(d.height()>a.maxHeight){d.width(parseInt(c)+parseInt(e.css("paddingRight"))+parseInt(e.css("paddingLeft")));d.height(a.maxHeight)}else d.width(c)}function w(c){var b=document.createElement("div");d=jQuery(b);d.attr("id",p+"_container");d.addClass(c.containerClass);d.css("display","none");d.css("left",f.position().left);return d}function y(c){if(a.inputType== "span"){var b=document.createElement("span");b=jQuery(b);b.attr("id",p+"_input");b.addClass(c.inputClass);b.attr("tabIndex",f.attr("tabindex"))}else{b=document.createElement("input");b=jQuery(b);b.attr("id",p+"_input");b.attr("type","text");b.addClass(c.inputClass);b.attr("autocomplete","off");b.attr("readonly","readonly");b.attr("tabIndex",f.attr("tabindex"));b.css("width",f.css("width"))}return b}function q(c){var b=jQuery("li",d);if(!b||b.length==0)return false;for(firstchoice=0;$(b[firstchoice]).hasClass(a.groupClass);)firstchoice++; g+=c;if($(b[g]).hasClass(a.groupClass))g+=c;if(g<firstchoice)a.loopnoStep?(g=b.size()-1):(g=b.size());else if(a.loopnoStep&&g>b.size()-1)g=firstchoice;else if(g>b.size())g=firstchoice;z(b,g);b.removeClass(a.hoverClass);jQuery(b[g]).addClass(a.hoverClass)}function z(c,b){b=jQuery(c[b]).get(0);c=d.get(0);if(b.offsetTop+b.offsetHeight>c.scrollTop+c.clientHeight)c.scrollTop=b.offsetTop+b.offsetHeight-c.clientHeight;else if(b.offsetTop<c.scrollTop)c.scrollTop=b.offsetTop}function r(){var c=jQuery("li."+ a.currentClass,d).get(0),b=(""+c.id).split("_");b=b[b.length-1];if(a.onChangeCallback){f.get(0).selectedIndex=$("li",d).index(c);a.onChangeParams={selectedVal:f.val()};a.onChangeCallback(a.onChangeParams)}else{f.val(b);f.change()}a.inputType=="span"?e.html($(c).html()):e.val($(c).html());return true}function v(c){var b=[],m=document.createElement("ul");b=f.children("option");if(b.length==0){var n=[];n=f.children("optgroup");for(x=0;x<n.length;x++){b=$("#"+n[x].id).children("option");var o=document.createElement("li"); o.setAttribute("id",c+"_"+$(this).val());o.innerHTML=$("#"+n[x].id).attr("label");o.className=a.groupClass;m.appendChild(o);b.each(function(){var h=document.createElement("li");h.setAttribute("id",c+"_"+$(this).val());h.innerHTML=$(this).html();if($(this).is(":selected")){e.html($(this).html());$(h).addClass(a.currentClass)}m.appendChild(h);$(h).mouseover(function(i){j=1;a.debug&&console.log("over on : "+this.id);jQuery(i.target,d).addClass(a.hoverClass)}).mouseout(function(i){j=-1;a.debug&&console.log("out on : "+ this.id);jQuery(i.target,d).removeClass(a.hoverClass)}).click(function(){$("li."+a.hoverClass,d).get(0);a.debug&&console.log("click on :"+this.id);$("li."+a.currentClass,d).removeClass(a.currentClass);$(this).addClass(a.currentClass);r();f.get(0).blur();k()})})}}else b.each(function(){var h=document.createElement("li");h.setAttribute("id",c+"_"+$(this).val());h.innerHTML=$(this).html();if($(this).is(":selected")){e.val($(this).html());$(h).addClass(a.currentClass)}m.appendChild(h);$(h).mouseover(function(i){j= 1;a.debug&&console.log("over on : "+this.id);jQuery(i.target,d).addClass(a.hoverClass)}).mouseout(function(i){j=-1;a.debug&&console.log("out on : "+this.id);jQuery(i.target,d).removeClass(a.hoverClass)}).click(function(){$("li."+a.hoverClass,d).get(0);a.debug&&console.log("click on :"+this.id);$("li."+a.currentClass,d).removeClass(a.currentClass);$(this).addClass(a.currentClass);r();f.get(0).blur();k()})});return m}var a=t||{};a.inputType=a.inputType||"input";a.inputClass=a.inputClass||"selectbox"; a.containerClass=a.containerClass||"selectbox-wrapper";a.hoverClass=a.hoverClass||"current";a.currentClass=a.currentClass||"selected";a.groupClass=a.groupClass||"groupname";a.maxHeight=a.maxHeight||200;a.loopnoStep=a.loopnoStep||false;a.onChangeCallback=a.onChangeCallback||false;a.onChangeParams=a.onChangeParams||false;a.debug=a.debug||false;var p=l.id,g=0,s=false,j=0,f=jQuery(l),e=y(a),d=w(a);f.hide().before(e).before(d);u();e.click(function(){s||d.toggle(0,function(){d.not(":visible")&&e.addClass("opened")})}).focus(function(){if(d.not(":visible")){s= true;e.addClass("opened");d.show()}}).keydown(function(c){switch(c.keyCode){case 38:c.preventDefault();q(-1);break;case 40:c.preventDefault();q(1);break;case 13:c.preventDefault();$("li."+a.hoverClass).trigger("click");return false;case 27:k();break}}).blur(function(){if(d.is(":visible")&&j>0)a.debug&&console.log("container visible and has focus");else if(jQuery.browser.msie&&jQuery.browser.version.substr(0,1)<8||jQuery.browser.safari)document.activeElement.getAttribute("id").indexOf("_container")== -1?k():e.focus();else k()})};
