function multiFocus(J){J=$(J);var B=J.id.substr(5);var N=$("select"+B+"Box");var K=$("select"+B);var D=K.hasClass("multiSelect-noClearWhenFirstSelected");var M=true;var G=false;var O=0;var F=500;var Q=null;var L=";";var H=10;if(K.options.length>H){K.size=H}var P=function(){G=true;$clear(Q);var R=J.getCoordinates();N.setStyles({position:"absolute",display:"block",top:R.bottom+"px",left:R.left+"px"})};var C=function(S){if(!(S===true||M)||!G){return }G=false;N.setStyle("display","none");var R="";if(K.options[0].selected&&!D){R=""}else{R=K.getValue().join(L)}if(R!=J.value){J.value=R;A()}};var I=function(){if(G){C()}else{P();var R=J.value.split(L);$A(K.options).forEach(function(S){if(R.contains(S.value)){S.selected=true}else{S.selected=false}})}};var E=function(){$clear(Q);Q=(function(){C()}).delay(F)};var A=function(){J.effect("backgroundColor",{wait:false,transition:Fx.Transitions.sineIn}).start("#ffff9c","#fff")};J.addEvent("focus",function(){O=(new Date()).getTime();I()});J.addEvent("click",function(){if((new Date()).getTime()-O>F){I()}});J.addEvent("blur",function(){E()});J.addEvent("mouseout",function(){E()});J.addEvent("keypress",function(S){var R=new Event(S);if(R.code!=9){R.stop()}});K.addEvent("keypress",function(R){if(R.keyCode==27){C(true)}else{(new Event(R)).stop()}});N.addEvent("mouseover",function(){M=false;$clear(Q)});N.addEvent("mouseout",function(){M=true;E()})}