
function apsInitializePopup(triggerId, paneId, popupDelay)
{
	if(typeof(popupDelay) == "undefined")
	{
		popupDelay = 500;
	}

	var trigger = document.getElementById(triggerId);
	var pane = document.getElementById(paneId);

	trigger.onmouseover = function()
	{
		pane.style.zIndex = 100000;
		pane.style.display = "block";
		pane.__apsIsOverTrigger = true;
	}

	trigger.onmouseout = function()
	{
		pane.__apsIsOverTrigger = false;
		window.setTimeout(
			function()
			{
				if(!pane.__apsIsOverTrigger && !pane.__apsIsOverPane)
				{
					pane.style.zIndex = 990000;
					pane.style.display = "none";
				}
			},
			popupDelay
		);
	}

	pane.onmouseover = function()
	{
		pane.style.zIndex = 100000;
		pane.style.display = "block";
		pane.__apsIsOverPane = true;
	}

	pane.onmouseout = function()
	{
		pane.style.zIndex = 990000;
		pane.style.display = "none";
		pane.__apsIsOverPane = false;
	}
}



var g_hangTableResizerId = "1";
function hangTableResizer(tableId, tagName, className)
{
	var table = document.getElementById(tableId);
	var nodes = table.getElementsByTagName(tagName);

	for(var i = 0; i < nodes.length; i++)
	{
		var node = nodes.item(i);
		if(typeof(className) == "undefined" || node.className == className)
		{
			if(!node.id)
			{
				node.id = "hangTableResizer_" + (g_hangTableResizerId++);
			}
			hangColumnResizer(node.id);
		}
	}
}

function hangColumnResizer(columnId)
{
	var td = document.getElementById(columnId);

	var div = document.createElement("div");
	div.style.position = "relative";

	div.innerHTML = td.innerHTML;

	td.innerHTML = "";

	td.appendChild(div);

	var elHeadResizer = div.appendChild(document.createElement("span"));
	elHeadResizer.id = columnId + "-resizer";
	elHeadResizer.className = "yui-dt-headresizer";
	elHeadResizer.style.borderLeft = "2px solid #eeeeee";

	ddResizer = new YAHOO.util.WidthResizer(
		this, columnId, elHeadResizer, elHeadResizer
	);

	var cancelClick = function(e) {
		YAHOO.util.Event.stopPropagation(e);
	};

	YAHOO.util.Event.addListener("resizer", "click", cancelClick);
}


function apsChangeNodeParent(nodeId, newParentClassName)
{
	var node = document.getElementById(nodeId);

	var targetNode = node;

	while(targetNode.parentNode && targetNode.className != newParentClassName)
	{
		targetNode = targetNode.parentNode;
	}

	addOnLoadHandler(
		function ()
		{
			var parentNode = node.parentNode;
			var freeNode = parentNode.removeChild(node);
			targetNode.appendChild(freeNode);
		}
	);
}


function apsInsertTextAtCursorPosition(control, text)
{
	if(typeof(control) == "string")
	{
		control = document.getElementById(control);
	}

	if(navigator.userAgent.indexOf("Opera") == -1)
	{
		control.focus();
	}

	if(document.selection)
	{
		document.selection.createRange().text = text;
	}
	else
	{
		var str1 = control.value.substr(0, control.selectionStart);
		var str2   = control.value.substr(control.selectionStart, control.value.length);
		control.value = str1 + text + str2;
		control.selectionStart = control.selectionEnd = str1.length + text.length;
	}
}

