function getDivObj(divName)
{
	if (document.all && document.all[divName])
		return document.all[divName];
	else if (document.getElementById)
		return document.getElementById(divName);

}

function divStatus(divName)
{
	if (!(divObj = getDivObj(divName)))
		return null;

	if (divObj.style.display == '' || divObj.style.display == 'block')
		return true;
	else
		return false;
	
}

function divSet(divName, flag)
{
	if (typeof(divName) == 'object')
		divObj = divName;
	else if (!(divObj = getDivObj(divName)))
		return;
	
	var			style = 'block';

	if (typeof(flag) == 'string')
		style = flag;

	if (flag)
		divObj.style.display = (document.getElementById) ? style : '';
	else
		divObj.style.display = 'none';
}

function divToggle(divName) 
{
	if (divStatus(divName)) {
		divSet(divName, false)
		return false;
	} else {
		divSet(divName, true);
		return true;
	}
}

function divSwap(div1, div2)
{
	divToggle(div1);
	divToggle(div2);
}

// ########## "prompt" stuff ##########

var		PROMPT_DIVOBJ = null;
var		PROMPT_OFFSET_Y = 0;

function promptActive()
{
	return PROMPT_DIVOBJ;
}

// NOTE: offset argument can be boolean (true/false), number (pixel offset),
// or HTML object (offset will be determined based on position on page)
function promptOpen(name, offset, force)
{
	if (!force && PROMPT_DIVOBJ)
		return false;

	if (!(divObj = getDivObj(name))) {
		//alert('Please wait until the page has completed loading.');
		return false;
	}

	PROMPT_DIVOBJ = divObj;
	if (offset) {
		switch (typeof(offset)) {
		case 'boolean':
			divObj.style.top = PROMPT_OFFSET_Y + 'px'; break;
		case 'number':
			divObj.style.top = offset + 'px'; break;
		case 'object':
			try { ToolMan && ToolMan.coordinates(); } 
			catch (e) { alert(e); return; }
			var		TM = ToolMan.coordinates();
			var		pos = TM.topLeftOffset(offset);
			divObj.style.top = pos.y + 'px'; break;
		}
	}
	divObj.style.visibility = 'visible';
	return true;
}

function promptForce(name, offset)
{
	if (!offset) offset = false;
	promptClose();
	promptOpen(name, offset);
}

function promptClose()
{
	if (!PROMPT_DIVOBJ) return;
	PROMPT_DIVOBJ.style.visibility = 'hidden';
	PROMPT_DIVOBJ = null;
	return;
}

function promptOffset(elem, offset)
{
	try { ToolMan && ToolMan.coordinates(); } 
	catch (e) { alert(e); return; }

	var		TM = ToolMan.coordinates();
	var		pos = TM.topLeftOffset(elem);

	if (offset) pos.y += offset;
 
	PROMPT_OFFSET_Y = pos.y
}

