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}
}
