var layer, lastLayer, lyrTime, incTimeout, fullHeight = new Object();

var incSpeed = 10;
var incAmount = 8; 

function showLyr(lyr, obj, skip) {
	
	skip = skip == null ? false : true;
	
	if (lyrTime) clearTimeout(lyrTime);
	
	layer = document.getElementById(lyr);
	
	if (layer.style.visibility == "visible") return false;
	
	// close last 

	if (lastLayer && lastLayer != layer) {
		if (lastLayer.style) {
			lastLayer.style.visibility = "hidden";
			
		}
	}

	layer.style.top  = findPosY(obj) + 40 + 'px';
	layer.style.left = findPosX(obj) + 'px';
	
	if (layer.offsetHeight && layer.offsetHeight > 0 && !skip) {
		if (!fullHeight[lyr]) {
			fullHeight[lyr] = parseInt(layer.offsetHeight);
		}
		layer.style.height = parseInt(parseInt(fullHeight[lyr]) * 0.1) + 'px';
		//incSpeed = parseInt(parseInt(fullHeight[lyr]) * 0.05);
		//layer.style.height = incStart;
		
		if (layer.style.visibility == "hidden") {
			layer.style.visibility = "visible";
			increaseLyr();
			
		}
		

	} else {
		layer.style.visibility = "visible";
	}
	
	lastLayer = layer;
	
	return false;
}

function hideLyr(lyr) {

	if (layer) {
		if (layer.style) {
			layer.style.visibility = "hidden";
		}
	} else if (lyr) {
		layer = document.getElementById(lyr);
		layer.style.visibility = "hidden";
	}
	
	return false;
}

function increaseLyr () {
	
	
	if (incTimeout) clearTimeout(incTimeout);
	
	if (parseInt(layer.style.height) >= fullHeight[layer.id] - incAmount) {

		layer.style.height = parseInt(fullHeight[layer.id]) + 'px';
		return true;
	}
	var currentHeight = parseInt(layer.style.height);
	layer.style.height = (currentHeight + incAmount) + 'px';
	
	incTimeout = setTimeout("increaseLyr()", incSpeed);
}

function closeLyr() {
	if (lyrTime) clearTimeout(lyrTime);
	lyrTime = setTimeout("hideLyr()", 1000);
}


var rcValue;

function showSelected () {
	if (!rcValue) return false;
	if (!document.getElementById(rcValue)) return false;
	
	showLyr(rcValue,'overthere', true)
	
}

function findPosX(id)
{
	
	var object = document.getElementById(id);
	var curleft = 0;
	if (object.offsetParent)
	{
		while (object.offsetParent)
		{
			curleft += object.offsetLeft
			object = object.offsetParent;
		}
	}
	else if (object.x)
		curleft += object.x;
	return curleft;
}

function findPosY(id)
{

	var object = document.getElementById(id);
	
	var curtop = 0;
	var printstring = '';
	if (object.offsetParent)
	{
		while (object.offsetParent)
		{

			curtop += object.offsetTop
			object = object.offsetParent;
		}
	}
	else if (object.y)
		curtop += object.y;
	return curtop;
}
