

function AdjustControlPanelLayout(panelId)
{
	var panel = document.getElementById(panelId);
	if (panel == null || panel.style.display == "none")
		return;
			
	var scrollHeight = panel.scrollHeight;
	var scrollWidth = panel.scrollWidth;	
	var bodyClientHeight = document.body.clientHeight;
	var bodyClientWidth = document.body.clientWidth;
	
	var topMargin = GetAbsolutePosition(panel).y;
	
	if(scrollHeight + topMargin > bodyClientHeight)
	{
		panel.style.overflow = 'auto';
		panel.style.width = 'auto';
		if(bodyClientHeight - topMargin < 0)
			panel.style.height = topMargin;
		else
			panel.style.height = bodyClientHeight - topMargin;
	}
	else
	{
		panel.style.overflow = 'hidden';
		panel.style.height = 'auto';
		panel.style.width = 'auto';
	}
}

function ResizeCanvasPanel(panelId)
{
	var canvasPanel = document.getElementById(panelId);
	
	var clientWidth = document.body.clientWidth
	var clientHeight = document.body.clientHeight;
	
	if (clientHeight > GetAbsolutePosition(canvasPanel).y)
		canvasPanel.style.height = clientHeight - GetAbsolutePosition(canvasPanel).y;		
		
	canvasPanel.style.width = clientWidth;
}

function MoveDivToWindowCenter(elmId)
{
	var elem = document.getElementById(elmId);
	if (elem == null)
		return;
		
	elem.style.top = (document.body.offsetHeight - elem.clientHeight) / 2 + 'px';
	elem.style.left = (document.body.offsetWidth - elem.clientWidth) / 2 +  'px';
	elem.style.visibility = 'visible';
}

function ToggleImage(imageId, selected)
{
 	var imageElement = document.getElementById(imageId);	
	var imageSrc = imageElement.src;
	var prefix = imageSrc.substring(0, imageSrc.toLowerCase().indexOf('.gif')-1); 
	var subfix = imageSrc.substring(imageSrc.toLowerCase().indexOf('.gif'), imageSrc.length);

	if (selected)
		imageElement.src = prefix + '1' + subfix;
	else
		imageElement.src = prefix + '2' + subfix;
}


//////////////////////////////////////////////////////
//Common Helper Functions
////////////////////////////////////////////////////////////////////////
function GetAbsolutePosition(elm)
{
 	var rd = {x:0, y:0};
	if(document.layers)
	{
		rd.x = elm.x;
		rd.y = elm.y;
	}
	else
	{
		do
		{
			rd.x += elm.offsetLeft;
			rd.y += elm.offsetTop;
			elm   = elm.offsetParent;
		} 
		while(elm);	
	}		
	
	return(rd)
}

function GetRelativePosition(elm, parent)
{
 	var rd = {x:0, y:0};
	if(document.layers)
	{
		rd.x = elm.x;
		rd.y = elm.y;
	}
	else
	{
		do
		{
			rd.x += elm.offsetLeft;
			rd.y += elm.offsetTop;
			if (elm.parentNode == null)
				break;
			elm = elm.parentNode;
		} 
		while(elm.parentNode != parent.parentNode);
	}
		
	return(rd)
}

function GetParentElementByClass(element, className)
{
 	if (element == null)
 		return null;
 	else if (element.className == className)
 		return element;
 	else
 		return GetParentElementByClass(element.parentElement, className)
}

function GetElementCountByClassName(elementName, className)
{
 	var result = 0;
 	var children = document.getElementById(elementName).children;
 	
 	for (var i=0; i<children.length; i++)
 	{
 		if (children[i].className == className)
 			result++;
 	}
 	
 	return result;
}

////////////////////////////////////////////////////////////////////////
//End Common Helper Functions

