// global vars
var timeoutVar = null,
	lastActiveDiv = null,
	vDiv = 0,
	milliseconds = 400,
	nonDOM = (document.all && !document.getElementById)?1:0;

function showHide(div, state) { // function to show and hide div's, also prevents two div's to show simultaneously
var doc = (nonDOM)?eval("document.all.div" + div.id):document.getElementById("div" + div.id);

	if (state) {
		if (lastActiveDiv != null) 
			closeDiv(lastActiveDiv);
		lastActiveDiv = div.id;
		doc.style.visibility = 'visible';
		vDiv = 1;
	} else {
		closeDiv(div.id);
		vDiv = 0;
	}
}

function closeDiv(divID) { // function to help the div to close with some delay
var doc = (nonDOM)?eval("document.all.div" + divID):document.getElementById("div" + divID);

	if (vDiv) {
		timeoutVar = setTimeout("closeDiv('" + divID + "');", milliseconds);
		vDiv = 0;
	} else {
		doc.style.visibility = 'hidden';
		clearTimeout(timeoutVar);
	}
}

function keepActive(state) { // function to keep the active div "alive"
	if(state) {
		vDiv = 1;
		keepActiveVar = setTimeout("keepActive('" + state + "');", 100);
	} else {
		clearTimeout(keepActiveVar);
		vDiv = 0;
	}
}