
POPUP_HELP_WIDTH = 250;
POPUP_HELP_HEIGHT = 200;


function popupHelp_toggle(popupID,event) {
	var targetWindow = document.getElementById("HelpPopupWindow" + popupID);
	
	if (targetWindow.style.visibility == "visible") {
		targetWindow.style.visibility = "hidden";
		//Show all the elements that may have been made invisible by the previous toggle
		if (isIE) {
			popupHelp_showElement("SELECT");
			popupHelp_showElement("OBJECT");
			popupHelp_showElement("APPLET");
		}
		return true;
	}
	
	
	if (window.event) {
		// this works on internet explorer only!
		var srcElement = window.event.srcElement;
	} else {
		var srcElement = event.currentTarget;
	}
	
	
	var nTop = 0;
	var nLeft = 0;
	
	var element = srcElement;
	
	while (element.tagName.toUpperCase() != "BODY") {
		nTop  += element.offsetTop;
		nLeft += element.offsetLeft;
		element=element.offsetParent;
	}
	if (nLeft + POPUP_HELP_WIDTH > document.body.offsetWidth) {
		nLeft = document.body.offsetWidth - POPUP_HELP_WIDTH - 10;
	}
	
	
	targetWindow.style.top = nTop;
	targetWindow.style.left = nLeft;
	
	targetWindow.style.width = POPUP_HELP_WIDTH;
	targetWindow.style.height = POPUP_HELP_HEIGHT;
	
	var targetContent = document.getElementById("HelpPopupContent" + popupID);
	var targetToolbar = document.getElementById("HelpPopupToolbar" + popupID);
	if (isIE) {
		targetToolbar.style.width = POPUP_HELP_WIDTH;
		targetContent.style.width = POPUP_HELP_WIDTH;
		targetContent.style.height = POPUP_HELP_HEIGHT - targetContent.offsetTop;
	} else {
		targetContent.style.width = POPUP_HELP_WIDTH - (2 * parseInt(targetContent.style.padding));
		targetContent.style.height = POPUP_HELP_HEIGHT - targetContent.offsetTop - (2 * parseInt(targetContent.style.padding));	
	}
	targetWindow.style.visibility = "visible";
	// Hide windowed elements
	if (isIE) {
		popupHelp_hideElement("SELECT",targetWindow);
		popupHelp_hideElement("OBJECT",targetWindow);
		popupHelp_hideElement("APPLET",targetWindow);	
	}
	return true;
}

var dragElement;
var lastx = 0;
var lasty = 0;

function popupHelp_dragStart(popupID,event) {
	if (window.event) {event = window.event};
	
	document.body.style.cursor = "move";
	dragElement = document.getElementById("HelpPopupWindow" + popupID);
	document.getElementById("HelpPopupToolbar" + popupID).title="";
	lastx= event.clientX;
	lasty= event.clientY;

}
	
document.onmousemove = function (event) {
	if (dragElement) {
		if (window.event) {event = window.event};
	
		var deltax = event.clientX - lastx;
		var deltay = event.clientY - lasty;
		
		
	
		var nLeft = parseInt(dragElement.style.left) + deltax;
		var nTop = parseInt(dragElement.style.top) + deltay;	
		
		if (nLeft < 0) nLeft = 0;
		if (nTop < 0) nTop = 0;
		
		dragElement.style.left = nLeft;
		dragElement.style.top = nTop;
		
		if (nLeft == 0 || nTop == 0) {
			popupHelp_dragEnd();
		}

		
		lastx=event.clientX;
		lasty=event.clientY;
	}	
}

function popupHelp_dragEnd() {
	lastx=lasty=0;
	dragElement = null;
	document.body.style.cursor = "default";
	
}

	
function popupHelp_hideElement(elementType,popupElement) {
	var elementCol = document.getElementsByTagName(elementType);
	
	for (i = 0; i < elementCol.length; i++) {
		obj = elementCol[i];
		if (! obj || ! obj.offsetParent)
			continue;

		// Find the element's offsetTop and offsetLeft relative to the BODY tag.
		objLeft   = obj.offsetLeft;
		objTop    = obj.offsetTop;
		objParent = obj.offsetParent;
		while (objParent.tagName.toUpperCase() != "BODY") {
			objLeft  += objParent.offsetLeft;
			objTop   += objParent.offsetTop;
			objParent = objParent.offsetParent;
		}
		

		if ((popupElement.offsetLeft > objLeft + obj.offsetWidth) ||
			(objLeft > popupElement.offsetLeft + popupElement.offsetWidth));
		else if ((popupElement.offsetTop > objTop + obj.offsetHeight) ||
				 (objTop > popupElement.offsetTop + popupElement.offsetHeight));
		else
			obj.style.visibility = "hidden";
	}
}

function popupHelp_showElement(elementType) {
	var elementCol = document.getElementsByTagName(elementType);
	
	for (i = 0; i < elementCol.length; i++) {
		obj = elementCol[i];
		if (! obj || ! obj.offsetParent)
			continue;
		obj.style.visibility = "";
	}
}

