jQuery&&function(d){d.extend(d.fn,{selectBox:function(t,f){var u,j="",o=navigator.platform.match(/mac/i),A=function(a,c){var b;if(navigator.userAgent.match(/iPad|iPhone|Android|IEMobile|BlackBerry/i))return!1;if("select"!==a.tagName.toLowerCase())return!1;a=d(a);if(a.data("selectBox-control"))return!1;var e=d('<a class="selectBox" />'),g=a.attr("multiple")||1<parseInt(a.attr("size")),z=c||{};e.width(a.outerWidth()).addClass(a.attr("class")).attr("title",a.attr("title")||"").attr("tabindex",parseInt(a.attr("tabindex"))).css("display",
"inline-block").bind("focus.selectBox",function(){this!==document.activeElement&&d(document.activeElement).blur();e.hasClass("selectBox-active")||(e.addClass("selectBox-active"),a.trigger("focus"))}).bind("blur.selectBox",function(){e.hasClass("selectBox-active")&&(e.removeClass("selectBox-active"),a.trigger("blur"))});d(window).data("selectBox-bindings")||d(window).data("selectBox-bindings",!0).bind("scroll.selectBox",h).bind("resize.selectBox",h);a.attr("disabled")&&e.addClass("selectBox-disabled");
a.bind("click.selectBox",function(a){e.focus();a.preventDefault()});if(g){if(b=p(a,"inline"),e.append(b).data("selectBox-options",b).addClass("selectBox-inline selectBox-menuShowing").bind("keydown.selectBox",function(b){v(a,b)}).bind("keypress.selectBox",function(b){w(a,b)}).bind("mousedown.selectBox",function(a){d(a.target).is("A.selectBox-inline")&&a.preventDefault();e.hasClass("selectBox-focus")||e.focus()}).insertAfter(a),!a[0].style.height){var g=a.attr("size")?parseInt(a.attr("size")):5,f=
e.clone().removeAttr("id").css({position:"absolute",top:"-9999em"}).show().appendTo("body");f.find(".selectBox-options").html("<li><a>\u00a0</a></li>");optionHeight=parseInt(f.find(".selectBox-options A:first").html("&nbsp;").outerHeight());f.remove();e.height(optionHeight*g)}}else g=d('<span class="selectBox-label" />'),f=d('<span class="selectBox-arrow" />'),g.attr("class",x(a)).text(y(a)),b=p(a,"dropdown"),b.appendTo("BODY"),b.bind("mousewheel",function(a,b){if(0<b&&0==d(this).scrollTop())return!1;
var c=0;d(this).contents().each(function(){c+=d(this).height()});if(0>b&&c==d(this).height()+d(this).scrollTop())return!1}),e.data("selectBox-options",b).addClass("selectBox-dropdown").append(g).append(f).bind("mousedown.selectBox",function(c){e.hasClass("selectBox-menuShowing")?h():(c.stopPropagation(),b.data("selectBox-down-at-x",c.screenX).data("selectBox-down-at-y",c.screenY),l(a))}).bind("keydown.selectBox",function(b){v(a,b)}).bind("keypress.selectBox",function(b){w(a,b)}).insertAfter(a),f=
e.width()-f.outerWidth()-parseInt(g.css("paddingLeft"))-parseInt(g.css("paddingLeft")),g.width(f);q(e);a.addClass("selectBox").data("selectBox-control",e).data("selectBox-settings",z).hide()},p=function(a,c){var b;switch(c){case "inline":return b=d('<ul class="selectBox-options" />'),a.find("OPTGROUP").length?a.find("OPTGROUP").each(function(){var a=d('<li class="selectBox-optgroup" />');a.text(d(this).attr("label"));b.append(a);i(d(this).find("OPTION"),b)}):i(a.find("OPTION"),b),b.find("A").bind("mouseover.selectBox",
function(){k(a,d(this).parent())}).bind("mouseout.selectBox",function(){r(a,d(this).parent())}).bind("mousedown.selectBox",function(b){b.preventDefault();a.selectBox("control").hasClass("selectBox-active")||a.selectBox("control").focus()}).bind("mouseup.selectBox",function(b){h();m(a,d(this).parent(),b)}),q(b),b;case "dropdown":b=d('<ul class="selectBox-dropdown-menu selectBox-options" />');a.find("OPTGROUP").length?a.find("OPTGROUP").each(function(){var a=d('<li class="selectBox-optgroup" />');a.text(d(this).attr("label"));
b.append(a);i(d(this).find("OPTION"),b)}):0<a.find("OPTION").length?i(a.find("OPTION"),b):b.append("<li>\u00a0</li>");b.data("selectBox-select",a).css("display","none").appendTo("BODY").find("A").bind("mousedown.selectBox",function(a){a.preventDefault();a.screenX===b.data("selectBox-down-at-x")&&a.screenY===b.data("selectBox-down-at-y")&&(b.removeData("selectBox-down-at-x").removeData("selectBox-down-at-y"),h())}).bind("mouseup.selectBox",function(c){c.screenX===b.data("selectBox-down-at-x")&&c.screenY===
b.data("selectBox-down-at-y")||(b.removeData("selectBox-down-at-x").removeData("selectBox-down-at-y"),m(a,d(this).parent()),h())}).bind("mouseover.selectBox",function(){k(a,d(this).parent())}).bind("mouseout.selectBox",function(){r(a,d(this).parent())});var e=a.attr("class")||"";if(""!==e){var e=e.split(" "),g;for(g in e)b.addClass(e[g]+"-selectBox-dropdown-menu")}q(b);return b}},x=function(a){return("selectBox-label "+(d(a).find("OPTION:selected").attr("class")||"")).replace(/\s+$/,"")},y=function(a){return d(a).find("OPTION:selected").text()||
"\u00a0"},s=function(a){var a=d(a),c=a.data("selectBox-control");c&&c.find(".selectBox-label").attr("class",x(a)).text(y(a))},l=function(a){var a=d(a),c=a.data("selectBox-control"),b=a.data("selectBox-settings"),e=c.data("selectBox-options");if(c.hasClass("selectBox-disabled"))return!1;h();var g=isNaN(c.css("borderBottomWidth"))?0:parseInt(c.css("borderBottomWidth"));e.width(c.innerWidth()).css({top:c.offset().top+c.outerHeight()-g,left:c.offset().left});switch(b.menuTransition){case "fade":e.fadeIn(b.menuSpeed);
break;case "slide":e.slideDown(b.menuSpeed);break;default:e.show(b.menuSpeed)}b=e.find(".selectBox-selected:first");n(a,b,!0);k(a,b);c.addClass("selectBox-menuShowing");d(document).bind("mousedown.selectBox",function(a){d(a.target).parents().andSelf().hasClass("selectBox-options")||h()})},h=function(){0!==d(".selectBox-dropdown-menu").length&&(d(document).unbind("mousedown.selectBox"),d(".selectBox-dropdown-menu").each(function(){var a=d(this),c=a.data("selectBox-select"),b=c.data("selectBox-control"),
c=c.data("selectBox-settings");switch(c.menuTransition){case "fade":a.fadeOut(c.menuSpeed);break;case "slide":a.slideUp(c.menuSpeed);break;default:a.hide(c.menuSpeed)}b.removeClass("selectBox-menuShowing")}))},m=function(a,c,b){var a=d(a),c=d(c),e=a.data("selectBox-control");a.data("selectBox-settings");if(e.hasClass("selectBox-disabled"))return!1;if(0===c.length||c.hasClass("selectBox-disabled"))return!1;a.attr("multiple")?b.shiftKey&&e.data("selectBox-last-selected")?(c.toggleClass("selectBox-selected"),
b=c.index()>e.data("selectBox-last-selected").index()?c.siblings().slice(e.data("selectBox-last-selected").index(),c.index()):c.siblings().slice(c.index(),e.data("selectBox-last-selected").index()),b=b.not(".selectBox-optgroup, .selectBox-disabled"),c.hasClass("selectBox-selected")?b.addClass("selectBox-selected"):b.removeClass("selectBox-selected")):o&&b.metaKey||!o&&b.ctrlKey?(console.log(o),c.toggleClass("selectBox-selected")):(c.siblings().removeClass("selectBox-selected"),c.addClass("selectBox-selected")):
(c.siblings().removeClass("selectBox-selected"),c.addClass("selectBox-selected"));e.hasClass("selectBox-dropdown")&&e.find(".selectBox-label").text(c.text());var g=0,f=[];a.attr("multiple")?e.find(".selectBox-selected A").each(function(){f[g++]=d(this).attr("rel")}):f=c.find("A").attr("rel");e.data("selectBox-last-selected",c);a.val()!==f&&(a.val(f),s(a),a.trigger("change"));return!0},k=function(a,c){a=d(a);c=d(c);a.data("selectBox-control").data("selectBox-options").find(".selectBox-hover").removeClass("selectBox-hover");
c.addClass("selectBox-hover")},r=function(a,c){a=d(a);d(c);a.data("selectBox-control").data("selectBox-options").find(".selectBox-hover").removeClass("selectBox-hover")},n=function(a,c,b){if(c&&0!==c.length){var a=d(a),a=a.data("selectBox-control"),e=a.data("selectBox-options"),a=a.hasClass("selectBox-dropdown")?e:e.parent(),e=parseInt(c.offset().top-a.position().top),g=parseInt(e+c.outerHeight());b?a.scrollTop(c.offset().top-a.offset().top+a.scrollTop()-a.height()/2):(0>e&&a.scrollTop(c.offset().top-
a.offset().top+a.scrollTop()),g>a.height()&&a.scrollTop(c.offset().top+c.outerHeight()-a.offset().top+a.scrollTop()-a.height()))}},v=function(a,c){var a=d(a),b=a.data("selectBox-control"),e=b.data("selectBox-options"),g=a.data("selectBox-settings"),f=0,i=0;if(!b.hasClass("selectBox-disabled"))switch(c.keyCode){case 8:c.preventDefault();j="";break;case 9:case 27:h();r(a);break;case 13:b.hasClass("selectBox-menuShowing")?(m(a,e.find("LI.selectBox-hover:first"),c),b.hasClass("selectBox-dropdown")&&h()):
l(a);break;case 38:case 37:c.preventDefault();if(b.hasClass("selectBox-menuShowing")){b=e.find(".selectBox-hover").prev("LI");f=e.find("LI:not(.selectBox-optgroup)").length;for(i=0;(0===b.length||b.hasClass("selectBox-disabled")||b.hasClass("selectBox-optgroup"))&&!(b=b.prev("LI"),0===b.length&&(b=g.loopOptions?e.find("LI:last"):e.find("LI:first")),++i>=f););k(a,b);m(a,b,c);n(a,b)}else l(a);break;case 40:case 39:if(c.preventDefault(),b.hasClass("selectBox-menuShowing")){b=e.find(".selectBox-hover").next("LI");
f=e.find("LI:not(.selectBox-optgroup)").length;for(i=0;(0===b.length||b.hasClass("selectBox-disabled")||b.hasClass("selectBox-optgroup"))&&!(b=b.next("LI"),0===b.length&&(b=g.loopOptions?e.find("LI:first"):e.find("LI:last")),++i>=f););k(a,b);m(a,b,c);n(a,b)}else l(a)}},w=function(a,c){var a=d(a),b=a.data("selectBox-control"),e=b.data("selectBox-options");if(!b.hasClass("selectBox-disabled"))switch(c.keyCode){case 9:case 27:case 13:case 38:case 37:case 40:case 39:break;default:b.hasClass("selectBox-menuShowing")||
l(a),c.preventDefault(),clearTimeout(u),j+=String.fromCharCode(c.charCode||c.keyCode),e.find("A").each(function(){if(d(this).text().substr(0,j.length).toLowerCase()===j.toLowerCase())return k(a,d(this).parent()),n(a,d(this).parent()),!1}),u=setTimeout(function(){j=""},1E3)}},B=function(a,c){a=d(a);a.val(c);var c=a.val(),b=a.data("selectBox-control");if(b){var e=a.data("selectBox-settings"),b=b.data("selectBox-options");s(a);b.find(".selectBox-selected").removeClass("selectBox-selected");b.find("A").each(function(){if("object"===
typeof c)for(var a=0;a<c.length;a++)d(this).attr("rel")==c[a]&&d(this).parent().addClass("selectBox-selected");else d(this).attr("rel")==c&&d(this).parent().addClass("selectBox-selected")});e.change&&e.change.call(a)}},q=function(a){d(a).css("MozUserSelect","none").bind("selectstart",function(a){a.preventDefault()})},i=function(a,c){a.each(function(){var a=d(this),e=d("<li />"),f=d("<a />");e.addClass(a.attr("class"));e.data(a.data());f.attr("rel",a.val()).text(a.text());e.append(f);a.attr("disabled")&&
e.addClass("selectBox-disabled");a.attr("selected")&&e.addClass("selectBox-selected");c.append(e)})};switch(t){case "control":return d(this).data("selectBox-control");case "settings":if(!f)return d(this).data("selectBox-settings");d(this).each(function(){d(this).data("selectBox-settings",d.extend(!0,d(this).data("selectBox-settings"),f))});break;case "options":d(this).each(function(){var a,c=f;a=d(this);var b=a.data("selectBox-control");a.data("selectBox-settings");switch(typeof f){case "string":a.html(f);
break;case "object":a.html("");for(var e in f)if(null!==f[e]){if("object"===typeof f[e]){var c=d('<optgroup label="'+e+'" />'),g;for(g in f[e])c.append('<option value="'+g+'">'+f[e][g]+"</option>")}else c=d('<option value="'+e+'">'+f[e]+"</option>");a.append(c)}}if(b)switch(b.data("selectBox-options").remove(),e=b.hasClass("selectBox-dropdown")?"dropdown":"inline",c=p(a,e),b.data("selectBox-options",c),e){case "inline":b.append(c);break;case "dropdown":s(a),d("BODY").append(c)}});break;case "value":if(void 0===
f)return d(this).val();d(this).each(function(){B(this,f)});break;case "refresh":d(this).each(function(){var a;a=d(this);a.selectBox("options",a.html())});break;case "enable":d(this).each(function(){var a;a=d(this);a.attr("disabled",!1);(a=a.data("selectBox-control"))&&a.removeClass("selectBox-disabled")});break;case "disable":d(this).each(function(){var a;a=d(this);a.attr("disabled",!0);(a=a.data("selectBox-control"))&&a.addClass("selectBox-disabled")});break;case "destroy":d(this).each(function(){var a;
a=d(this);var c=a.data("selectBox-control");c&&(c.data("selectBox-options").remove(),c.remove(),a.removeClass("selectBox").removeData("selectBox-control").data("selectBox-control",null).removeData("selectBox-settings").data("selectBox-settings",null).show())});break;default:d(this).each(function(){A(this,t)})}return d(this)}})}(jQuery);
