	var lastElement = '';
	var minHeight = 0;
	var mouseX = 0;
	var mouseY = 0;			

	if (document.layers)
	{
		document.captureEvents(Event.MOUSEMOVE);
	}

	document.onmousemove = getMousePos;

	
	function displayHide(objName,type)
	{
		if (lastElement != objName && type == 'show')
		{								
			displayHide(lastElement,'hide');
		}		
		
		if (type == 'show')
		{
			lastElement = objName;
		}			
		
		showHideImage(objName,type);						
	}

	function showHideDiv(objName,type)
	{
		var elementDiv;
		var xPos = 0;
		var yPos = 0;
		
		elementDiv = document.getElementById('div_' + objName);		
				
		if (type == 'show')
		{			
			if (elementDiv)
			{
				xPos = xyPos(objName).xPos;
				yPos = xyPos(objName).yPos;

				elementDiv.style.visibility = 'visible';
				elementDiv.style.left = xPos;
				elementDiv.style.top = yPos;						
			}				
		}	
		else
		{			
			if (elementDiv)
			{				
				elementDiv.style.visibility = 'hidden';									
			}	
		}	
	}

	function xyPos(objName)
	{
		var elementImage;
		var parentElement;
		var currentElement;		
		var leftPadding = 263;		
		var centerXPos = leftPadding + 322;
		var xPos = 0;
		var yPos = 0;

		elementImage = document.getElementById('bg_' + objName);
		parentElement = document.getElementById(objName);
		currentElement = parentElement;
		
		
		if (currentElement.offsetParent)
		{
			yPos = parentElement.height + 10;

			do {
				xPos += currentElement.offsetLeft;
				yPos += currentElement.offsetTop;
			} while (currentElement = currentElement.offsetParent);	

			if (elementImage.xPos == null)
			{
				elementImage.xPos = xPos;
				elementImage.maxXPos = xPos + parentElement.width;
			}	
			
			if (elementImage.yPos == null)
			{
				elementImage.yPos = yPos - parentElement.height - 10;
				elementImage.maxYPos = yPos - 10;
			}

									
			if (xPos + (elementImage.origWidth/2) > centerXPos)
			{										
				xPos += parentElement.width - elementImage.origWidth;				
			}							
		}				
			
		return {xPos:xPos, yPos:yPos};
	}

	function showHideImage(objName,type)
	{		
		var elementImage;
		var sizeIncrement;
		
		elementImage = document.getElementById('bg_' + objName);		

		if (type == 'show')
		{
			if (elementImage)
			{
				if (elementImage.origHeight == null)
				{
					elementImage.origHeight = elementImage.height;
				}
				
				if (elementImage.origWidth == null)
				{
					elementImage.origWidth = elementImage.width;
				}

				elementImage.State = type;
				
				showHideDiv(objName,elementImage.State);

				sizeIncrement = getSizeIncrement(elementImage.origHeight);								
				elementImage.height = minHeight;
				animation(objName,sizeIncrement,elementImage.State);				
			}
		}
		else
		{
			if (elementImage)
			{
				if (elementImage.height > minHeight)
				{
					elementImage.State = type;
					sizeIncrement = getSizeIncrement(elementImage.origHeight) * -1;	
					animation(objName,sizeIncrement,elementImage.State);
				}
			}
		}
	}	


	function getSizeIncrement(height)
	{
		var sizeIncrement;
		var dividend;

		dividend = 5;
		sizeIncrement = height/dividend
		
		return sizeIncrement;	
	}
	

	function animation(objName,sizeIncrement,type)
	{
		var speed = 50;
		var elementImage;		
				
		elementImage = document.getElementById('bg_' + objName);

		elementImage.height += sizeIncrement;
											
		if(type == 'show')
		{					
			if(elementImage.height < elementImage.origHeight && lastElement == objName && (mouseX >= elementImage.xPos || mouseX <= elementImage.maxXPos) && (mouseY >= elementImage.yPos || mouseY <= elementImage.maxYPos) && elementImage.State == 'show')
			{							
				elementImage.showTimerObj = setTimeout(function(){animation(objName,sizeIncrement,type);},speed);						
			}
			else
			{
				
				elementImage.height = elementImage.origHeight;
				clearTimeout(elementImage.showTimerObj);				

				if (lastElement != objName || (mouseX < elementImage.xPos || mouseX >= elementImage.maxXPos) || (mouseY <= elementImage.yPos || mouseY >= elementImage.maxYPos))
				{										
					displayHide(objName,'hide');
				}							
				
			}			
		}
		else
		{		
			if(elementImage.height > minHeight)
			{							
				elementImage.hideTimerObj = setTimeout(function(){animation(objName,sizeIncrement,type);},speed);
			}
			else
			{															
				elementImage.height = minHeight;
				clearTimeout(elementImage.hideTimerObj);
				showHideDiv(objName,type);
			}
		}
		
	}

	function getMousePos(e)
	{	
		if (document.all)
		{
			mouseX = event.clientX + document.body.scrollLeft;
			mouseY = event.clientY + document.body.scrollTop;			
		}
		else
		{
			mouseX = e.pageX;
			mouseY = e.pageY;
		}
	}
