function showImage(url,w,h){
   var imgWin = window.open('', 'url', "height="+h+",width="+w);
   imgWin.document.write(
      '<HTML><TITLE></TITLE><HEAD>'+
      '</HEAD><BODY  leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">'+
      '<IMG src='+url+' width='+w+' height='+h+' onClick="javascript: window.close()">'+
      '</BODY></HTML>'
   );
}

function init(){
    comboInit();
    if (document.getElementById('mapImg')) setMap();
    document.onclick = click;
}
      
function resize(){
    comboMake();
    if (document.getElementById('mapImg')) setMap();
}
      
function click(){
    comboDocClick();
}

function gotoCompany(){
    var x = document.getElementsByTagName("SELECT")[0].value;
    if(x) location.replace("/holding/company/show/"+x+".htm");
}

function setPosition(obj, al, pnt, ox, oy){
    var hal = document.getElementById(al),
        hob = document.getElementById(obj),
        fal = hal,
        x = 0,
        y = 0,
        m = 0;
    while(hal.tagName!="BODY"){
        x += hal.offsetLeft;
        y += hal.offsetTop;           
        hal = hal.offsetParent;
    }          
    x = (pnt=="tr" || pnt=="br") ? x + fal.clientWidth : x;
    y = (pnt=="br" || pnt=="bl") ? y + fal.clientHeight : y;
    hob.style.top = y + oy + "px";
    hob.style.left = x + ox + "px";
}

var comboListSelected = {},
    comboListValues = {},
    comboArrowButton = "/buttonarrow.gif",
    comboVisible = false,
    comboNum = 0,
    comboClicked = false;

function comboInit(){           
    var i, j, m, n, k, p, q,
        sel = document.getElementsByTagName("SELECT"),
        cnt = 1;
    for(i=0; i<sel.length; i++){
        if("SELECT"==sel[i].tagName && sel[i].className!="mySelect"){ 
            comboListValues[cnt] = {};
            for(j=0; j<sel[i].childNodes.length; j++){
                if("OPTION"==sel[i].childNodes[j].tagName){                          
                    comboListValues[cnt][sel[i].childNodes[j].value] = sel[i].childNodes[j].text;
                }
            }
            sel[i].className = "comboHiddenBlock";
            m = document.createElement("div");
            m.className = "comboHead";
            comboListSelected[cnt] = (sel[i].value) ? (sel[i].value) : 0;
            k = document.createTextNode(comboListValues[cnt][comboListSelected[cnt]]);
            m.appendChild(k);
            m.setAttribute("id", "comboHead"+cnt);
            m.onclick = new Function("", "comboClick("+cnt+")");
            n = document.createElement("div");
            n.className = "comboArrow";
            n.setAttribute("id", "comboArrow"+cnt);
            n.onclick = m.onclick;
            k = document.createElement("img");
            k.setAttribute("src", comboArrowButton);
            n.appendChild(k);                 
            p = document.createElement("div");
            p.setAttribute("id", "comboBody"+cnt);
            p.className = "comboBody comboHiddenBlock";
            for(j in comboListValues[cnt]){
                k = document.createElement("div");
                k.setAttribute("id", "comboOption"+cnt+"-"+j);
                k.onclick = new Function("", "comboSelect("+cnt+","+j+")");
                k.className = "comboOption " + ((j==comboListSelected[cnt]) ? "comboOptionSelected" : "comboOptionPassive");
                k.appendChild(document.createTextNode(comboListValues[cnt][j]));
                p.appendChild(k);                                            
            }
            sel[i].parentNode.insertBefore(m, sel[i]);
            sel[i].parentNode.insertBefore(p, m);
            sel[i].parentNode.insertBefore(n, sel[i]);
            ++cnt;            
        }
    }    
    comboMake();
}

function comboMake(){
    for(var i in comboListSelected){
        setPosition("comboArrow"+i, "comboHead"+i, "tr", -15, 0);
        setPosition("comboBody"+i, "comboHead"+i, "bl", 0, 1);
    }
}

function comboToggleVisibility(id){
    var obj = document.getElementById(id),
        rxHid = /comboHiddenBlock/,
        rxVis = /comboVisibleBlock/,
        cnHid = "comboHiddenBlock",
        cnVis = "comboVisibleBlock";
    if(obj){
        comboVisible = obj.className.match(rxHid);
        obj.className =  comboVisible ?  obj.className.replace(rxHid, cnVis) : obj.className.replace(rxVis, cnHid);                
    }
}

function comboToggleSelected(id){
    var obj = document.getElementById(id),
        rxPas = /comboOptionPassive/,
        rxSel = /comboOptionSelected/,
        cnPas = "comboOptionPassive",
        cnSel = "comboOptionSelected";
    if(obj)
        obj.className = obj.className.match(rxPas) ?  obj.className.replace(rxPas, cnSel) : obj.className.replace(rxSel, cnPas);
}


function comboClick(num){  
    comboClicked = true;
    comboNum = num;
    if(comboNum) comboToggleVisibility("comboBody"+comboNum);          
}

function comboDocClick(){ 
    if(!comboClicked && comboVisible){
        comboClick(comboNum);
    }
    comboClicked = false;
}
 
function comboSelect(com, opt){        
    var i, id, src;
    if(comboListSelected[com]){
        id = "comboOption"+com+"-"+comboListSelected[com];
        comboToggleSelected(id);
    }
    if(com && opt){
        comboListSelected[com] = opt;
        id = "comboOption"+com+"-"+opt;          
        comboToggleSelected(id);
        comboClick(com);
        src = document.getElementById("comboHead"+com);
        if(src){
            for(i in src.childNodes){
                try{ src.removeChild(src.childNodes[i]); } catch(e){};
            }
            src.appendChild(document.createTextNode(comboListValues[com][opt]));
        }
        src = document.getElementsByTagName("SELECT")[com-1];
        if("SELECT"==src.tagName){
            for(i in src.childNodes){
                if("OPTION"==src.childNodes[i].tagName && opt==src.childNodes[i].value){
                    src.childNodes[i].selected = true;   
                    src.childNodes[i].defaultSelected = true;   
                    break;
                }
            }
            var s = src.getAttribute("onChange");
            return "function"==typeof(s) ? s.call() : eval(s);
        }
    }
}
