var objDiv, objImage, objLabel, objContainer;
var link;
var preLoader, loading;

function initLinkbox()
	{
	if(!document.getElementsByTagName) { return; }
	
	objContainer = document.getElementById('container');
	
	objDiv = document.createElement('div');
	objDiv.setAttribute('id', 'linkbox');
	
	objImage = document.createElement('img');
	objImage.src = 'templates/images/blank.png';
	objDiv.appendChild(objImage);
	
	objLabel = document.createElement('label');
	objDiv.appendChild(objLabel);
	
	document.getElementsByTagName('body')[0].appendChild(objDiv);
	
	links = document.getElementsByTagName('a');
	linkCounter = 0;
	for(var i = 0; i < links.length; i++)
		{
		if(typeof links[i].getAttribute('rel') != 'string')
			{
			continue;
			}
		if(links[i].getAttribute('rel').substr(0, 10) == 'linkbox://')
			{
			links[i].setAttribute('rel', links[i].getAttribute('rel').substr(10));
			links[i].setAttribute('id', "linkBox" + linkCounter++);
			links[i].onmouseover = new Function('link = this; showLinkBox();');
			links[i].onmouseout = function() { hideLinkBox(); }
			}
		}
	preLoaderPreLoader = new Image();
	preLoaderPreLoader.src = 'templates/images/loading.gif';
	}
	
function showLinkBox()
	{
	if(loading == true)
		{
		return;
		}
	hideLinkBox();
	preLoader = new Image();
	preLoader.onload = function()
		{
		if(typeof preLoader.src == 'undefined')
			{
			return;
			}
		objImage.style.width = 300 + 'px';
		objImage.style.height = preLoader.height * (300 / preLoader.width) + 'px';
		objImage.src = preLoader.src;
		loading = false;
		}
		
	objDiv.style.display = 'block';
	objDiv.style.left = (getX(link) + 100) + 'px';
	objDiv.style.top = getY(link) + 'px';
	if(browser() == 'Firefox')
		{
		/* objDiv.style.left = document.getElementById('right').offsetLeft + 100 + 'px';  */
		objDiv.style.left = getX(link.parentNode) + 100 + 'px';
		objDiv.style.top = getY(link.parentNode) + 'px';
		}
	if(browser() == 'Internet Explorer')
		{
		objDiv.style.top = getY(link) + 16 + 'px';
		}
	if(loading == true)
		{
		objDiv.style.visibility = 'visible';
		}
	objLabel.appendChild(document.createTextNode(link.getAttribute('title')));
	objImage.src = 'templates/images/loading.gif';
	preLoader.src = link.getAttribute('rel');
	
	loading = true;
	}
	
function hideLinkBox()	
	{
	preLoader = '';
	loading = false;
	while(objLabel.childNodes.length != 0)
		{
		objLabel.removeChild(objLabel.firstChild);
		}
	objDiv.style.display = 'none';
	objImage.src = 'templates/images/blank.png';
	objImage.style.width = 126 + 'px';
	objImage.style.height = 22 + 'px';
	}
	
function getX(obj)
	{
	var curleft = 0;
	if (obj.offsetParent)
		{
		while (obj.offsetParent)
			{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
			}
		}
	else if (obj.x)
		{
		curleft += obj.x;
		}
	return curleft;
	}
	
function getY(obj)
	{
	var curtop = 0;
	if (obj.offsetParent)
		{
		while (obj.offsetParent)
			{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
			}
		}
	else if (obj.y)
		{
		curtop += obj.y;
		}
	return curtop;
	}