jQuery.fn.multiSelect=function(h,i){if(typeof i=="string")i={trigger:"#"+i};i=$.extend({trigger:null,triggerAll:null,sortOptions:true,autoSubmit:true,beforeMove:null,afterMove:null},i);var j=this;if(i.autoSubmit)this.parents("form").submit(function(){selectChildOptions(j)});if(i.sortOptions){j.sortOptions();$(h).sortOptions()}var k=function(){moveOptions(j,h,i.beforeMove,i.afterMove,i.sortOptions,false)};var l=function(){moveOptions(j,h,i.beforeMove,i.afterMove,i.sortOptions,true)};this.dblclick(k);if(i.trigger)jQuery(i.trigger).click(k);if(i.triggerAll)jQuery(i.triggerAll).click(l);return this;function moveOptions(a,b,c,d,e,f){if(c&&!c())return;var g="option:selected";if(f){g="option"}jQuery(g,a).each(function(){jQuery(this).attr("selected",false).appendTo(b)});if(e){a.sortOptions();$(b).sortOptions()}d&&d()}function selectChildOptions(a){a.children("option").each(function(){this.selected=true})}};jQuery.fn.sortOptions=function(f){var a=typeof(f)=="undefined"?true:!!f;this.each(function(){if(this.nodeName.toLowerCase()!="select")return;var o=this.options;var d=o.length;var e=[];for(var i=0;i<d;i++){e[i]={v:o[i].value,t:o[i].text}}e.sort(function(b,c){o1t=b.t.toLowerCase(),o2t=c.t.toLowerCase();if(o1t==o2t)return 0;if(a){return o1t<o2t?-1:1}else{return o1t>o2t?-1:1}});for(var i=0;i<d;i++){o[i].text=e[i].t;o[i].value=e[i].v}});return this};jQuery.fn.selectAdjustWidth=function(a){var b=$(this)[0];var c=$(a);var d=$(c)[0];var e=b.offsetWidth;if(d.offsetWidth>e){e=d.offsetWidth}$(this).width(e);$(c).width(e);return this};