queued = new Object;
visible = new Object;
intr = 300;
isMos = 0;
if (navigator.appName == "Netscape")
        isMos = 1;

function cancel_queue() {
        try {clearTimeout(ti);}
        catch(f) {}
}

function popup(ev, pa, ch) {
        try {visible.style.visibility = 'hidden';visible.style.display = 'none';}
        catch(f) {}
        try {
                clearTimeout(ti);
                queued.style.visibilty = 'hidden';queued.style.display = 'none';
        }
        catch(f) {}
        ch = document.getElementById(ch);
        var rr = getDim(pa);
        if (isMos != 1) {
                ch.style.pixelLeft = rr.x - 1;
                ch.style.pixelTop = rr.y + pa.offsetHeight;
        }
        else {
                ch.style.left = rr.x - 1 + 'px';
                ch.style.top = (rr.y + pa.offsetHeight) + 'px';
        }
        ch.style.visibility = 'visible';ch.style.display = 'block';
        visible = ch;
}

function popdown(event, wh) {
        if (isMos != 1) {
                if (!wh.contains(event.toElement)) {
                        ti = setTimeout(hide, intr);
                        queued = wh;
                }
        }
        else {
                ti = setTimeout(hide, intr);
                queued = wh;
        }
        
        function hide() {
                wh.style.visibility = 'hidden';wh.style.display = 'none';
        }
}

function popdown_1(event, pa, ch) {
        ch = document.getElementById(ch);
        if (isMos != 1) {
                if (event.toElement != ch && !ch.contains(event.toElement) && !pa.contains(event.toElement)) {
                        ti = setTimeout(hide, intr);
                        queued = ch;
                }
        }
        else {
                if (event.relatedTarget != ch && event.relatedTarget.parentNode != ch && event.relatedTarget.parentNode.parentNode != ch && event.relatedTarget.parentNode != pa)
                        ti = setTimeout(hide, intr);
                        queued = ch;
        }
        function hide() {
                ch.style.visibility = 'hidden';ch.style.display = 'none';
        }
}

function getDim(el){
for (var lx=0,ly=0;el!=null;
lx+=el.offsetLeft,ly+=el.offsetTop,el=el.offsetParent);
return {x:lx,y:ly}
}

