jQuery.fn.extend({selectbox:function(a){return this.each(function(){new jQuery.SelectBox(this,a)})}});if(!window.console){var console={log:function(a){}}}jQuery.SelectBox=function(s,d){var a=d||{};a.inputClass=a.inputClass||"selectbox";a.containerClass=a.containerClass||"selectbox-wrapper";a.hoverClass=a.hoverClass||"current";a.currentClass=a.selectedClass||"selected";a.debug=a.debug||false;var j=s.id;var e=-1;var c=false;var r=0;var q=$(s);var o=g(a);var b=l(a);q.hide().before(b).before(o);p();b.click(function(){if(!c){o.toggle()}}).focus(function(){if(o.not(":visible")){c=true;o.show()}}).keydown(function(t){switch(t.keyCode){case 38:t.preventDefault();k(-1);break;case 40:t.preventDefault();k(1);break;case 13:t.preventDefault();$("li."+a.hoverClass).trigger("click");break;case 27:h();break}}).blur(function(){if(o.is(":visible")&&r>0){if(a.debug){console.log("container visible and has focus")}}else{h()}});function h(){r=0;o.hide()}function p(){o.append(m(b.attr("id"))).hide();var t=b.css("width");o.width(t)}function g(u){var t=document.createElement("div");o=$(t);o.attr("id",j+"_container");o.addClass(u.containerClass);return o}function l(u){var t=document.createElement("input");var v=$(t);v.attr("id",j+"_input");v.attr("type","text");v.addClass(u.inputClass);v.attr("autocomplete","off");v.attr("readonly","readonly");v.attr("tabIndex",q.attr("tabindex"));return v}function k(u){var t=$("li",o);if(!t){return}e+=u;if(e<0){e=0}else{if(e>=t.size()){e=t.size()-1}}t.removeClass(a.hoverClass);$(t[e]).addClass(a.hoverClass)}function f(){var t=$("li."+a.currentClass,o).get(0);var u=(""+t.id).split("_");var v=u[u.length-1];q.val(v);b.val($(t).html());return true}function n(){return q.val()}function i(){return b.val()}function m(u){var v=new Array();var t=document.createElement("ul");q.children("option").each(function(){var w=document.createElement("li");w.setAttribute("id",u+"_"+$(this).val());w.innerHTML=$(this).html();if($(this).is(":selected")){b.val($(this).html());$(w).addClass(a.currentClass)}t.appendChild(w);$(w).mouseover(function(x){r=1;if(a.debug){console.log("over on : "+this.id)}jQuery(x.target,o).addClass(a.hoverClass)}).mouseout(function(x){r=-1;if(a.debug){console.log("out on : "+this.id)}jQuery(x.target,o).removeClass(a.hoverClass)}).click(function(x){var y=$("li."+a.hoverClass,o).get(0);if(a.debug){console.log("click on :"+this.id)}$("li."+a.currentClass).removeClass(a.currentClass);$(this).addClass(a.currentClass);f();h()})});return t}};
