function addEvent(el,ev,fn){
if(el.attachEvent){
el.attachEvent("on"+ev,fn);
}else{
if(el.addEventListener){
el.addEventListener(ev,fn,false);
}
}
}
addEvent(window,"load",buildMultiselects);
function buildMultiselects(){
do{
found=0;
a=document.getElementsByTagName("select");
for(b=0;b<a.length,!found;b++){
var ms=a[b];
if(ms==null){
break;
}
if(ms.name.substring(ms.name.length-2,ms.name.length)=="[]"){
found=1;
disabled=(ms.disabled)?1:0;
width=ms.offsetWidth;
height=ms.offsetHeight;
el=document.createElement("div");
el.style.overflow="auto";
el.style.width=width+10+"px";
el.style.height=height+"px";
el.style.border="1px solid #000";
el.style.borderColor="#333 #ccc #ccc #333";
c=ms.getElementsByTagName("option");
for(d=0;d<c.length;d++){
el2=document.createElement("label");
el2.style.display="block";
el2.style.border="1px solid #eee";
el2.style.backgroundColor="#fff";
el2.style.borderWidth="1px 0";
el2.style.font="10px arial";
el2.style.lineHeight="10px";
el2.style.paddingLeft="20px";
el3=document.createElement("input");
el3.type="checkbox";
if(c[d].selected){
el3.checked="checked";
el3.defaultChecked=true;
}
if(disabled){
el3.disabled="disabled";
}
el3.value=c[d].value;
el3.style.marginLeft="-16px";
el3.style.marginTop="-2px";
el3.name=ms.name;
el4=document.createTextNode(c[d].innerHTML);
el2.appendChild(el3);
el2.appendChild(el4);
el.appendChild(el2);
}
ms.parentNode.insertBefore(el,ms);
ms.parentNode.removeChild(ms);
}
}
}while(found);
}

