function explain(id, obj)
{
	var strText="", strWork, iTop, iLeft, iHeight, iWidth;
	
	strWork = obj.name;
	if (strWork.length != 0)
	{
	}
	else
		strWork = obj.id
		
	switch(id)
	{
		case -1:
			strText = "";
			break;
		case 0:
			strText = "Click to <b>return</b> to the main menu.";
			break;
		case 1:
			strText = "Click to add, edit or delete Files.";
			break;
		case 2:
			strText = "Click to manage your books.";
			break;
		case 3:
			strText = "Click to add or edit <b>Contacts</b>.";
			break;
		case 4:
			strText = "Click to add, edit or delete <b>Subscribers</b>.";
			break;
		case 5:
			strText = "Click to add, edit or delete <b>Directors</b>.";
			break;
		case 6:
			strText = "Click to add, edit or delete <b>Quality Control</b>.";
			break;
		case 7:
			strText = "Click to add, edit or delete <b>Authors</b>.";
			break;
		case 8:
			strText = "Click to add, edit or delete <b>Publishers</b>.";
			break;
		case 9:
			strText = "Click to add, edit or delete <b>Book Status Codes</b>."
			break;
		case 10:
			strText = "Click to add, edit or delete <b>Quality Control Sessions</b>."
			break;
		case 11:
			strText = "Click to view download history."
			break;
		case 12:
			strText = "Click to assign <b>Catalog Access</b> rights to Users."
			break;
		case 13:
			strText = "Click to manage <b>Image Folders</b>."
			break;
		case 14:
			strText = "Click to assign <b>Image Folder Access</b> rights to Users."
			break;
		case 20:
			strText = "Click to <b>save</b> this new entry."
			break;
		case 21:
			strText = "Click to <b>edit</b> this entry."
			break;
		case 22:
			strText = "Click to <b>delete</b> this entry."
			break;
		case 23:
			strText = "Click to <b>discard</b> the changes you have made."
			break;
		case 24:
			strText = "Click to <b>save</b> the changes you have made."
			break;
		case 25:
			strText = "Item 25"
			break;
		case 26:
			strText = "Click to <b>add</b> a new entry."
			break;
		case 27:
			strText = "Go to Administration Home Menu"
			break;
		case 30:
			strText = "Click to <b>sort</b> the entire list by this <b>column</b>."
			break;
		case 40:
			strText = "Go to <b>first</b> page."
			break;
		case 41:
			strText = "Go to <b>previous</b> page."
			break;
		case 42:
			strText = "Go to <b>next</b> page."
			break;
		case 43:
			strText = "Go to <b>last</b> page."
			break;
		case 44:
			strText = "Enter term to search for."
			break;
		case 45:
			strText = "Select a filter."
			break;
		case 50:
			strText = "Select a catalog to upload files to."
			break;
	}

	if (strText.length != 0)
	{
		document.getElementById("explanation").innerHTML = "<div class='bbot' id='bbot'><div class='btext' id='btext'>" + strText + "</div></div>";
		obj.style.textDecoration="blink";
	}
	else
	{
		document.getElementById("explanation").innerHTML = "";
		obj.style.textDecoration="";
	}

	toggleLayer('explanation');
	position_msg("explanation", getAbsoluteTop(obj), getAbsoluteLeft(obj));

}

function toggleLayer(whichLayer)
{
	if (document.getElementById)
	{
		var style2 = document.getElementById(whichLayer).style;
		style2.display = style2.display? "":"block";
	}
	else if (document.all)
	{
		var style2 = document.all[whichLayer].style;
		style2.display = style2.display? "":"block";
	}
	else if (document.layers)
	{
		var style2 = document.layers[whichLayer].style;
		style2.display = style2.display? "":"block";
	}
}

function position_msg(obj_name, top, left)
{
    var oWidth = 100;
    var oHeight = 20;
    
    if ((left + oWidth) > screen.availWidth)
        left = screen.availWidth - oWidth;
    else
        left = left + 10;
        
	document.getElementById(obj_name).style.left = left;
	document.getElementById(obj_name).style.top = top + 20;
}

function positionitem2(float_name, obj_name) {
	var ihgt_1, ihgt_2, iwth_1, iwth_2, ioff_l, ioff_t, strText, ileft, itop;
	var iHeight, iWidth, of, ob;
	
	
	iHeight = screen.availHeight;
	iWidth = screen.availWidth;
	of = document.getElementById(float_name);
	ob = document.getElementById(obj_name);

	ihgt_1 = Number(ob.offsetHeight);
	ihgt_2 = Number(of.offsetHeight);
	
	iwth_1 = Number(ob.offsetWidth);
	iwth_2 = Number(of.offsetWidth);
	
	ioff_l = Number(ob.offsetLeft);
	ioff_t = Number(ob.offsetTop);

	
	if (iwth_1 >= iwth_2)
		ileft = ioff_l + (iwth_1 - iwth_2)/2;
	else
		ileft = ioff_l + (iwth_2 - iwth_1)/2;

	if (ihgt_1 >= ihgt_2)
		itop = ioff_t + (ihgt_1 - ihgt_2)/2;
	else
		itop = ioff_t + (ihgt_2 - ihgt_1)/2;
	
	
}

function positionitem(strItemID) {
	var ihgt_1, ihgt_2, iwth_1, iwth_2, ioff_l, ioff_t, strText, ileft, itop;
	var iHeight, iWidth;
	
	
	iHeight = screen.availHeight;
	iWidth = screen.availWidth;

	ihgt_1 = Number(document.getElementById("maintable").offsetHeight);
	ihgt_2 = Number(document.getElementById(strItemID).offsetHeight);
	iwth_1 = Number(document.getElementById("maintable").offsetWidth);
	iwth_2 = Number(document.getElementById(strItemID).offsetWidth);
	ioff_l = Number(document.getElementById("maintable").offsetLeft);
	ioff_t = Number(document.getElementById("maintable").offsetTop);

	
	if (iwth_1 >= iwth_2)
		ileft = ioff_l + (iwth_1 - iwth_2)/2;
	else
		ileft = ioff_l + (iwth_2 - iwth_1)/2;

	if (ihgt_1 >= ihgt_2)
		itop = ioff_t + (ihgt_1 - ihgt_2)/2;
	else
		itop = ioff_t + (ihgt_2 - ihgt_1)/2;
	
	document.getElementById(strItemID).style.left = ileft;
	document.getElementById(strItemID).style.top = itop;
	
}


function getAbsoluteLeft(o) {
	oLeft = o.offsetLeft;
	while(o.offsetParent!=null) {
		oParent = o.offsetParent;
		oLeft += oParent.offsetLeft;
		o = oParent;
	}
	return oLeft;
}

function getAbsoluteTop(o) {
	oTop = o.offsetTop;
	while(o.offsetParent!=null) {
		oParent = o.offsetParent;
		oTop += oParent.offsetTop;
		o = oParent;
	}
	return oTop;
}
