function showDDLink(itemName, itemTableName)
{

	
	if(document.getElementById(itemTableName).style.display == 'none')
	{
		
		document.getElementById(itemTableName).style.display = 'inline';
		
		if(document.getElementById('curDDLink').value.length > 0)
		{
			
			document.getElementById(document.getElementById('curDDLink').value).style.display = 'none';
		}	
		
		document.getElementById('curDDLink').value = itemTableName;
	}
	else
	{
		document.getElementById(itemTableName).style.display = 'none';
		document.getElementById('curDDLink').value = '';
	}
	
	document.getElementById(itemTableName).style.left = 
		findPosX(document.getElementById(itemName)) +  
		document.getElementById(itemName).offsetWidth  - 
		document.getElementById(itemTableName).offsetWidth;
		
	
	
};

function ProcessDDLinkUI()
{
	var ctrlName;
	var x, y, width, height;
	var obj;
	var objPos;
	
	var cursor;
	cursor = findCursorPosition (event);
	
	var containerTbl;
	
	if (document.getElementById('curDDLink').value != "") 
	{
		obj = document.getElementById(document.getElementById("curDDLink").value);
		if (obj.style.display == 'inline')
		{		
			objPos = findObjectPosition(obj);
			x = objPos[0];
			y = objPos[1];
			
			containerTbl = document.getElementById(document.getElementById('curDDLink').value.replace("tDD", "tMain"));
			if (containerTbl)
			{
				if (y > containerTbl.offsetHeight) 
				{
					y -= containerTbl.offsetHeight;	//subtract the height of the folder/doc link obj	
				}						
			}
			
			width = parseInt(obj.offsetWidth);							
			height = parseInt(obj.offsetHeight);
			
			if (cursor.x < x || cursor.x > x + width || cursor.y < y || cursor.y > y + height)
			{
				obj.style.display = 'none';
				document.getElementById('curDDLink').value = '';
			}
		}
	}
	
	return;
}

function findObjectPosition(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function findCursorPosition(e) {
	e = e || window.event;
	var cursor = {x:0, y:0};
	if (e.pageX || e.pageY) {
		cursor.x = e.pageX;
		cursor.y = e.pageY;
	} 
	else {
		var de = document.documentElement;
		var b = document.body;
		cursor.x = e.clientX + 
			(de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
		cursor.y = e.clientY + 
			(de.scrollTop || b.scrollTop) - (de.clientTop || 0);
	}
	return cursor;
}


