var multiSelect_timer=null;var select_state=false;var is_clicked=false;jQuery.fn.multiSelect=function(D){if(!D){D={}}var C=D.no_selection||"No selection";var G=D.selected_text||" Options selected";var E=typeof (D.select_all_min)!="undefined"?D.select_all_min:6;return this.each(function(){var R=0;function W(){V.click();$("body").unbind("click",W)}var M=new Array();var J=$(this).attr("id");var T=$(this).attr("title");var I=$(this).attr("name");var L=this.className.toLowerCase().indexOf("fieldwidth-");var K=this.className.toLowerCase().indexOf("valuewidth-");if(L>=0){var H=this.className.slice(L);L=(H.slice(0,H.indexOf(" ")<0?H.length:H.indexOf(" "))).slice("fieldwidth-".length);L=parseFloat(L)==L?L+"px":L}else{L=""}if(K>=0){var H=this.className.slice(K);K=(H.slice(0,H.indexOf(" ")<0?H.length:H.indexOf(" "))).slice("valuewidth-".length);K=parseFloat(K)==K?K+"px":K}else{K=""}var O=$('<div id="multiSelect-'+J+'" class="multiSelect">');var V=$('<div id="multiSelect-'+J+'-title" class="title" title="'+T+'">').text(C);V.css("width",L);O.css("width",K);var Q=$('<div id="multiSelect-'+J+'-content" class="multiSelectContent collapsed">');var P=$("<ul>");O.append(V);Q.append(P);V.click(function(){select_state=(select_state)?false:true;Q.toggleClass("collapsed")});jQuery([O.get(0),Q.get(0),P.get(0)]).mouseout(function(){multiSelect_timer=setTimeout(function(){if(multiSelect_timer!=null){clearTimeout(multiSelect_timer);multiSelect_timer=null;if(select_state==true){$("body").bind("click",W)}}},R)});jQuery([O.get(0),Q.get(0),P.get(0)]).mouseover(function(){$("body").unbind("click",W);if(multiSelect_timer==null){return }clearTimeout(multiSelect_timer);multiSelect_timer=null});if(jQuery("option",this).length>=E){var U=jQuery('<li class="a9selectall">').appendTo(P);var N=jQuery('<input type="checkbox" id="multiSelect-options-selectAll-'+J+'" name="multiSelect-options-selectAll-'+J+'" value="1" title="Select All" />').appendTo(U);var S=jQuery('<label for="multiSelect-options-selectAll">Select All</label>').appendTo(U);A(N,S);N.click(function(){F(this.checked,P,true);B(P,V);is_clicked=true});S.click(function(){F(Boolean($("input",$(this).parent()).attr("checked")),P,false);B(P,V);is_clicked=true});U.click(function(){if(is_clicked==false){F(Boolean($(":checkbox",$(this)).attr("checked")),P,false);B(P,V)}is_clicked=true})}jQuery("option",this).each(function(Z){var d=jQuery(this).attr("value");var f=jQuery(this).text();var Y=$(this).attr("selected")==true?'checked="yes"':"";var b=(Y!="")?"bold":"normal";var X="multiSelect-options-"+J+"-"+Z;var e=jQuery("<li>").appendTo(P);var a=jQuery('<input type="checkbox" id="'+X+'" name="multiSelect-options-'+J+'[]" value="'+d+'" title="'+f+'"'+Y+"/>").appendTo(e);var c=jQuery('<label for="'+X+'">'+X+"</label>").text(f).css("font-weight",b).appendTo(e);A(a,c);B(P,V);a.click(function(){b=(this.checked==1)?"bold":"normal";$("label",$(this).parent()).css("font-weight",b);B(P,V);is_clicked=true})});$("label",P).click(function(){is_clicked=true});$("li",P).click(function(){if(is_clicked==false){var X="normal";var Y="";if($(":checkbox",$(this)).attr("checked")!=true){Y="checked";X="bold"}$("label",$(this)).css("font-weight",X);$(":checkbox",$(this)).attr("checked",Y);B(P,V)}is_clicked=false});jQuery(this).before(O);jQuery(this).before(Q);$(this).remove("#"+J)});function F(J,I,L){var H="normal";var K="";if(J==L){K="checked";H="bold"}$("label",I).css({"font-weight":H});$(":checkbox",I).attr("checked",K)}function A(I,H){I.css("cursor","pointer");I.css("cursor","hand");H.css("cursor","pointer");H.css("cursor","hand")}function B(I,J){var H=$("li:not(.selectall) :checkbox:checked",I).length+1-(this.checked?1:1);J.text(H>0?(H+G):C)}};