var maxY = 0;
var dbody = {};
var tt = {};
var sh = {};
var thumbs = {};
var OFFSET = 3;

window.onload = function()
{
	var anchors = document.getElementsByTagName('A');
	for (var i = 0; i < anchors.length; i++)
	{
		if(thumb = anchors[i].getAttribute("thumb"))
		{
			anchors[i].onmouseover = mouseOver;
			anchors[i].onmouseout = mouseOut;

			thumbs[thumb] = new Image();
			thumbs[thumb].src = getFolderThumb(anchors[i]);
		}
	}
    dbody = (document.documentElement) ? document.documentElement : document.body;
	tt = document.getElementById("tooltip");
	sh = document.getElementById("shadow");
}

function mouseOver(e)
{
	if(!e)
		var e = window.event;
	var el = e.currentTarget || e.srcElement;
	showTooltip(el);
}

function mouseOut(e)
{
    if(!e)
	    var e = window.event;
	var el = e.relatedTarget || e.toElement;
	hideTooltip();
}

function showTooltip(el)
{
    var x = getOffsetLeft(el) + el.offsetWidth;
    var y = getOffsetTop(el);
	tt.style.left = x.toString() + "px";
	tt.style.top = y.toString() + "px";

	fillTooltip(el);

	tt.style.display = "block";

	maxY = dbody.scrollTop + dbody.clientHeight;
	if(y + tt.offsetHeight >= maxY)
	{
		y = y + el.offsetHeight - tt.offsetHeight;
		tt.style.top = y.toString() + "px";
	}

	sh.style.width = tt.offsetWidth.toString() + "px";
	sh.style.height = tt.offsetHeight.toString() + "px";
	sh.style.left = (x + OFFSET).toString() + "px";
	sh.style.top = (y + OFFSET).toString() + "px";
	sh.style.display = "block";
}

function hideTooltip()
{
	tt.style.display = "none";
	sh.style.display = "none";
}

function fillTooltip(el)
{
	if(typeof(thumbs[el.getAttribute("thumb")]) != "undefined")
		document.getElementsByTagName("IMG")[0].src = thumbs[el.getAttribute("thumb")].src;
	else
		document.getElementsByTagName("IMG")[0].src = getFolderThumb(anchors[i]);
	var pp = tt.getElementsByTagName("P");
	pp[0].innerHTML = el.firstChild.nodeValue;
	pp[1].innerHTML = el.parentNode.parentNode.cells[1].innerHTML;
	pp[2].innerHTML = getNumberOfPhotos(el);
}

function getNumberOfPhotos(el)
{
	if(el.nodeType == 1)
	{
		var count = el.getAttribute("count");
/*
		if(count == "1")
			return "1 photo";
		else
			return count + " photos";
*/
		return count + " фото";
	}
	return "";
}

function getFolderThumb(el)
{
	if(el.nodeType == 1)
	{
		var thumb = el.getAttribute("thumb");
		return el.href + "thumbs/" + thumb;
	}
	return "";
}

function getOffsetLeft(el)
{
	var offset = el.offsetLeft;
	if(el.offsetParent)
		offset += getOffsetLeft(el.offsetParent);

	return offset;
}

function getOffsetTop(el)
{
	var offset = el.offsetTop;
	if(el.offsetParent)
		offset += getOffsetTop(el.offsetParent);

	return offset;
}

