var popctrl=new Array();
var elem=new Array();
var opc=new Array();
var incrementor=new Array();
var fadeoutctrl=new Array();

var fadein_amount=10;
var fadeout_amount=10;
var popspeed=20;
var fadespeed=20;

function imagePop(targeturl, w, h) {    popwin(targeturl, w, h, "img", "no");   }

function showsubmenu(nr) {
    // Init
    if(typeof(elem[nr])=="undefined")  {
        if(!(elem[nr]=document.getElementById("submenu"+nr))) { elem[nr]=false; }
    } 

    if(typeof(incrementor[nr])=="undefined") {
        incrementor[nr]=0; 
    }
    
    // Start
    if(elem[nr]) {
        if(!opc[nr]) { 
            opc[nr] = 0; 
        }
        clearInterval(fadeoutctrl[nr]);
        if(opc[nr] == 0) {
            opc[nr]=1;
            set_submen_opacity(nr);
        }
        
        if(incrementor[nr] < 1) {
            clearInterval(popctrl[nr]);
            incrementor[nr]=fadein_amount;
            popctrl[nr]=setTimeout("submenu_fade("+nr+");",popspeed);
        }
    }   
}

function hidesubmenu(nr)
{
    if(elem[nr]) {
        fadeoutctrl[nr]=setTimeout("hidesubmenu_now("+nr+");", 30);
    }
}

function hidesubmenu_now(nr)
{
    incrementor[nr]= -fadeout_amount;
    popctrl[nr]=setTimeout("submenu_fade("+nr+");", popspeed);
}

function submenu_fade(nr)
{
    incrdecr=incrementor[nr];
    if(elem[nr]) {
        opc[nr] += incrdecr;
        if(opc[nr] < 0) {
            opc[nr]=0;
            set_submen_opacity(nr);
            incrementor[nr]=0;
        } else if(opc[nr] > 100) {
            opc[nr]=100;
            set_submen_opacity(nr);
            incrementor[nr]=0;
        } else {
            set_submen_opacity(nr);
            popctrl[nr]=setTimeout("submenu_fade("+nr+", "+incrdecr+");",fadespeed);
        }
    }
}

function set_submen_opacity(nr)
{
    if(elem[nr]) {
        op=opc[nr];
        elem[nr].style.opacity=(op/100);
        elem[nr].style.filter='alpha(opacity='+op+')';
        if(op < 1) {
            elem[nr].style.visibility = "hidden";
            elem[nr].style.top="-1000px";
        } else {
            elem[nr].style.visibility = "visible";
            elem[nr].style.top="20px";
        }
    }
}
