function dropdownClass(_1,_2,_3,_4,_5,_6,_7,_8,_9){
this.idx=_2;
this.form_name=_3;
this.field_name=_4;
this.id="d"+this.idx+Math.floor(Math.random()*100000000);
this.mouse_down_processed=false;
this.title=_5;
this.client_width=_6;
this.read_only_element=-1;
this.max_values=_7;
for(var i=0;i<_9.length;i++){
_9[i]=unescape(_9[i]);
}
_9.sort();
this.elements=new Array();
for(var i=0;i<_9.length;i++){
this.elements.push({id:this.id+"_"+i,type:"checkbox",value:_9[i],checked:false});
}
this.load=function(){
var _c=document.forms[this.form_name][this.field_name].value.split(",");
for(var i=0;i<_c.length;i++){
_c[i]=unescape(_c[i]);
}
_c.sort();
if(el=document.getElementById(this.id+"_value")){
var _e=_c.join(", ");
el.innerHTML="<nobr>"+this.html_lify(_e!=""?_e:this.title)+"</nobr>";
if(el=document.getElementById(this.id+"_dots")){
el.innerHTML=_e.length*4.8>this.client_width?"...":"<font color=\""+(_e!=""?"#e7ebf5":"#ffffff")+"\">...</font>";
}
if(el=document.getElementById(this.id)){
el.bgColor=_e!=""?"#e7ebf5":"#ffffff";
}
}
for(var i=0;i<this.elements.length;i++){
el=this.elements[i];
if(el.type=="checkbox"){
el.checked=false;
for(var j=0;j<_c.length;j++){
if(_c[j]==el.value){
el.checked=true;
_c.splice(j,1);
break;
}
}
}
}
};
this.on_mouse_down=function(){
if(this.close()){
return;
}
var pos=this.calc_dialog_pos(this.id);
div=document.createElement("DIV");
div.id=this.id+"_popup";
div.style.position="absolute";
div.style.zIndex=99999;
div.style.display="block";
div.style.left=pos.x+"px";
div.style.top=pos.y+"px";
div.innerHTML=this.build_items_html();
document.body.appendChild(div);
this.trim_dialog_pos(div);
if(navigator&&navigator.appVersion&&navigator.appVersion.search(/msie +6\./i)!=-1){
var ifr=document.createElement("IFRAME");
ifr.id=this.id+"_iframe";
ifr.scrolling="no";
ifr.style.zIndex=99998;
ifr.style.filter="alpha(opacity=0)";
ifr.style.position="absolute";
ifr.style.border="0";
ifr.style.top=div.offsetTop+"px";
ifr.style.left=div.offsetLeft+"px";
ifr.style.height=div.offsetHeight+2+"px";
ifr.style.width=div.offsetWidth+2+"px";
ifr.style.display="block";
document.body.appendChild(ifr);
}
this.mouse_down_processed=true;
};
this.build_items_html=function(){
var _13=Math.floor(Math.sqrt(this.elements.length/4));
if(_13==0){
_13++;
}
var _14=new Array();
var _15=Math.floor(this.elements.length/_13);
for(var i=0;i<_13;i++){
_14[i]=_15;
}
for(i=0;i<this.elements.length%_13;i++){
_14[i]++;
}
var _17="<div style=\"border:1px solid #bdc7d8; margin:0; padding:3px; background:#ffffff; background-color:#ffffff; bgcolor:#ffffff;\">";
_17+="<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">";
for(var i=0;i<_14[0];i++){
_17+="<tr>";
var k=0;
for(var j=0;j<_13;j++){
k+=j==0?0:_14[j-1];
_17+="<td align=\"left\" valign=\"top\">";
if(i<_14[j]){
el=this.elements[i+k];
if(el.type=="checkbox"){
_17+="<div onmouseover=\"this.style.backgroundColor = '#e7ebf5';\" onmouseout=\"this.style.backgroundColor = '#ffffff';\" onmousedown=\""+_1+".on_item_mouse_down("+this.idx+");\">\t<input type=\"checkbox\" name=\""+el.id+"\" id=\""+el.id+"\""+(el.checked?" checked":"")+" onClick=\""+_1+".on_checkbox_click("+this.idx+");\"><label for=\""+el.id+"\">"+this.html_lify(el.value)+"</label></div>";
}
}else{
_17+="&nbsp;";
}
_17+="</td>";
}
_17+="</tr>";
}
_17+="</table></div>";
return _17;
};
this.process_input=function(){
for(var i=0;i<this.elements.length;i++){
if(i==this.read_only_element){
this.read_only_element=-1;
continue;
}
el=this.elements[i];
if(el.type=="checkbox"){
el.checked=false;
if(obj=document.getElementById(el.id)){
if(obj.checked){
el.checked=true;
}
}
}
}
var _1c=new Array();
for(var i=0;i<this.elements.length;i++){
el=this.elements[i];
if(el.type=="checkbox"&&el.checked){
_1c.push(escape(el.value));
}
}
document.forms[this.form_name][this.field_name].value=_1c.join(",");
this.load();
};
this.close=function(){
if(div=document.getElementById(this.id+"_popup")){
this.process_input();
document.body.removeChild(div);
if(div=document.getElementById(this.id+"_iframe")){
document.body.removeChild(div);
}
return true;
}
return false;
};
this.on_doc_mouse_down=function(){
if(!this.mouse_down_processed){
this.close();
}
this.mouse_down_processed=false;
};
this.on_item_mouse_down=function(){
this.mouse_down_processed=true;
};
this.calc_dialog_pos=function(_1e){
var pos=this.element_pos(_1e);
if(el=document.getElementById(_1e)){
if(el.offsetHeight>0){
pos.y+=el.offsetHeight-1;
}
}
return pos;
};
this.trim_dialog_pos=function(el){
if(!el){
return;
}
var x=el.offsetLeft;
var y=el.offsetTop;
var w=el.offsetWidth;
var h=el.offsetHeight;
var _25=this.window_size();
var _26=this.window_scroll_pos();
var _27=_25.h+_26.y;
var _28=_25.w+_26.x;
if(_27>h&&y+h>_27){
y=_27-h;
}
if(_28>w&&x+w>_28){
x=_28-w;
}
if(x<_26.x){
x=_26.x;
}
if(y<_26.y){
y=_26.y;
}
if(el.style.left!=x||el.style.top!=y){
el.style.left=x+"px";
el.style.top=y+"px";
}
};
this.element_pos=function(_29){
var pos={x:0,y:0};
if(obj=document.getElementById(_29)){
if(obj.offsetParent){
pos.x=obj.offsetLeft;
pos.y=obj.offsetTop;
while(obj=obj.offsetParent){
pos.x+=obj.offsetLeft;
pos.y+=obj.offsetTop;
}
}
}
return pos;
};
this.window_size=function(){
var _2b={w:0,h:0};
if(typeof (window.innerWidth)=="number"){
_2b.w=window.innerWidth;
_2b.h=window.innerHeight;
}else{
if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){
_2b.w=document.documentElement.clientWidth;
_2b.h=document.documentElement.clientHeight;
}else{
if(document.body&&(document.body.clientWidth||document.body.clientHeight)){
_2b.w=document.body.clientWidth;
_2b.h=document.body.clientHeight;
}
}
}
return _2b;
};
this.window_scroll_pos=function(){
var pos={x:0,y:0};
if(typeof (window.pageYOffset)=="number"){
pos.y=window.pageYOffset;
pos.x=window.pageXOffset;
}else{
if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){
pos.y=document.body.scrollTop;
pos.x=document.body.scrollLeft;
}else{
if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){
pos.y=document.documentElement.scrollTop;
pos.x=document.documentElement.scrollLeft;
}
}
}
return pos;
};
this.build_html=function(){
var _2d="<table id=\""+this.id+"\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"border:1px solid #bdc7d8; margin:0; padding:0; cursor:default;\" onmousedown=\""+_1+".on_mouse_down("+this.idx+");\">\t<tr>\t\t<td align=\"left\" valign=\"middle\" nowrap><div id=\""+this.id+"_value\" style=\"width:"+this.client_width+"px; overflow:hidden; display:block; margin:0 0 0 1px; padding:0; font:normal 11px 'lucida grande',tahoma,verdana,arial,sans-serif;\">"+this.html_lify(this.title)+"</div></td>        <td align=\"left\" valign=\"middle\"><div id=\""+this.id+"_dots\" style=\"margin:0; padding:0; display:block; font:normal 11px 'lucida grande',tahoma,verdana,arial,sans-serif;\"><font color=\"#fffffe\">...</font></div></td>\t\t<td align=\"right\" valign=\"middle\" width=\"17\"><img src=\"http://www.hopstop.com/facebook/img/dropdown_arrow.gif\" width=\"17\" height=\"18\" border=\"0\" style=\"margin:1px 1px 1px 0; padding:0;\"></td>\t</tr></table>";
return _2d;
};
this.html_lify=function(str){
return str.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");
};
}
function dropdownsClass(_2f){
this.dropdown=new Array();
this.add_dropdown=function(_30,_31,_32,_33,_34,_35,_36){
var _37=new dropdownClass(_2f,this.dropdown.length,_30,_31,_32,_33,_34,_35,_36);
this.dropdown.push(_37);
return _37.build_html();
};
this.on_doc_mouse_down=function(e){
for(var i=0;i<this.dropdown.length;i++){
this.dropdown[i].on_doc_mouse_down();
}
};
this.on_item_mouse_down=function(idx){
this.dropdown[idx].on_item_mouse_down();
};
this.on_mouse_down=function(idx){
this.dropdown[idx].on_mouse_down();
};
this.on_checkbox_click=function(idx){
this.dropdown[idx].process_input();
};
this.init=function(){
for(var i=0;i<this.dropdown.length;i++){
this.dropdown[i].load();
}
var _3e=this;
document.onmousedown=function(e){
_3e.on_doc_mouse_down(e);
};
};
}


