;(function($){$.fn.sexyCombo=function(B){B=B||{};var C={css:"combo",blankImageSrc:"s.gif",selectboxDefaultValue:"",ignoreSelectboxDefaultValue:true,width:146,emptyText:"",autoComplete:false,triggerSelected:false,name:""};B=$.extend(C,B);return this.each(function(){if("SELECT"!=this.tagName.toUpperCase())return;var f=$(this);var g=f.wrap("<div>").hide().parent().addClass("combo");if(!B.name.length){B.name=f.attr("name")+"__sexyCombo"}var h=$("<input />").appendTo(g).attr("autocomplete","off").attr("value","").attr("name",B.name);var i=$("<img />").appendTo(g).attr("src",B.blankImageSrc);var j=$("<div>").appendTo(g).addClass("invisible");var k=$("<ul />").appendTo(j);f.children().each(function(){var a=$(this);if((false!==B.selectboxDefaultValue)&&(B.ignoreSelectboxDefaultValue)&&(a.val()==B.selectboxDefaultValue)){return}$("<li />").appendTo(k).text(a.text()).addClass("visible")});var l=k.children();if($.browser.opera){g.css({position:"relative",left:"0",top:"0"})}g.width(B.width);h.width(B.width-i.width());j.css("width",B.width);i.css("left",h.css("width"));if($.browser.opera||$.browser.msie){i.one("click",function(e){g.attr("sexycombo:comboY",e.pageY)})}var m=function(){var b=false;var c=f.val();f.children().each(function(){if(b){return}var a=$(this);if(a.text()==h.val()){f.val(a.attr("value"));b=true}});if(!b){f.val(B.selectboxDefaultValue)}if(c!=f.val()){f.trigger("change")}};var n=function(){var b=0;l.each(function(){var a=$(this);if(a.is(".visible")){b+=parseInt(a.css("height"),10)}});return b};var o=function(){if(n()<j.height()){j.height(n())}else if(n()>j.height()){j.height(Math.min(parseInt(j.css("maxHeight")),n()))}};var p=function(){if(n()>parseInt(j.css("maxHeight"),10)){j.css($.browser.opera?"overflow":"overflowY","scroll")}else{j.css($.browser.opera?"overflow":"overflowY","hidden")}};o();p();var q=function(a,b,c){if(a.createTextRange){var d=a.createTextRange();d.collapse(true);d.moveStart("character",b);d.moveEnd("character",c);d.select()}else if(a.setSelectionRange){a.setSelectionRange(b,c)}else{if(a.selectionStart){a.selectionStart=b;a.selectionEnd=c}}a.focus()};var r=function(){if(l.filter(".visible:eq(0)").is(".active")){return}l.removeClass("active").filter(".visible:eq(0)").addClass("active");if(B.autoComplete){var a=h.val();h.val(l.filter(".active").text());q(h.get(0),a.length,h.val().length);h.get(0).focus()}};var s=function(){if(g.attr("sexycombo:comboY")){return parseFloat(g.attr("sexycombo:comboY"))}g.css("position","absolute");var a=parseFloat(g.css("top"));g.css({position:"relative",left:"0",top:"0"});g.attr("sexycombo:comboY",a);return a};var t=function(){j.removeClass("invisible").addClass("visible");j.css("display","block");if($.browser.msie){$("div.combo").not(g).css("zIndex","-1");g.css("zIndex","99999")}var a=s()+n()-$(window).scrollTop();var b=$(window).height();if(a>b){j.css({top:"auto",bottom:"21"})}else{j.css({top:"21",bottom:"auto"})}r()};var u=function(){j.removeClass("visible").addClass("invisible");j.css("display","none")};i.hover(function(){i.css({backgroundPosition:"-17px 0"})},function(){i.css({backgroundPosition:"0 0"})});i.bind("click",function(){if(j.is(".invisible")){t()}else if(j.is(".visible")){u()}h.focus()});l.bind("mouseover",function(){l.removeClass("active");$(this).addClass("active")});$(document).bind("click",function(e){if((i.get(0)==e.target)||(h.get(0)==e.target)){return}u()});var v=function(a){h.removeClass("gray").val(a);m();u()};if(B.triggerSelected){f.children().each(function(){var a=$(this);if(true==a.attr("selected")){v(a.text())}})}l.bind("click",function(e){v($(this).text());w()});var w=function(){var b=$.trim(h.val().toLowerCase());l.each(function(){var a=$(this);if(a.text().toLowerCase().search(b)!=0){a.removeClass("visible").addClass("invisible")}else{a.removeClass("invisible").addClass("visible")}});o();p()};var x=function(){return l.filter(".active")};var y=function(){if(!l.filter(".active").next().is("li.visible")){return}l.filter(".active").removeClass("active").next().filter("li").addClass("active");var b=false;var c=0;l.filter(".visible").each(function(){if(b){return}var a=$(this);++c;if(a.is(".active")){b=true}});if($.browser.opera){++c}var d=l.filter(".active").height()*c-parseInt(j.height(),10);if($.browser.msie){d+=c}if(j.scrollTop()<d){j.scrollTop(d)}};var z=function(){if(!l.filter(".active").prev().is("li.visible")){return}l.filter(".active").removeClass("active").prev().addClass("active");var a=false;var b=0;l.each(function(){if(a){return}if($(this).is(".active")){a=true}++b});--b;var c=b*l.filter(".active").height();if(j.scrollTop()>c){j.scrollTop(c)}};var A={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};h.bind("keypress",function(e){if(A.RETURN==e.keyCode){e.preventDefault()}});h.bind("keyup",function(e){switch(e.keyCode){case A.RETURN:v(x().text());w();u();e.preventDefault();q(h.get(0),h.val().length-1,0);h.get(0).blur();break;case A.DOWN:y();break;case A.UP:z();break;case A.TAB:u();break;default:w();if(l.filter(".visible").get().length){t()}else{u()}m()}});if(B.emptyText.length){if(""==h.val()){h.addClass("gray").val(B.emptyText)}h.bind("focus",function(){if(h.is(".gray")){h.removeClass("gray").val("")}}).bind("blur",function(){if(""==h.val()){h.addClass("gray").val(B.emptyText)}})}})}})(jQuery);