var clientY = 0;
var clientX = 0;
var iframetop = 0;
var iframeleft = 0;
var scroll = 0;
var visible = false;
var toolbox = null;
var toolboxiframe = null;

function linktooltipp() {
	var links = document.getElementsByTagName("a");
	for (i=0; i < links.length; i++) {
		if (links[i].className.toLowerCase().indexOf("tooltipp")>= 0 || links[i].className.toLowerCase().indexOf("tooltippleer")>= 0)
		{
			links[i].onmouseover= function(Ereignis){ showbox('', this.href, Ereignis);};
			links[i].onmouseout= hidebox;
			links[i].onclick= function(){ return false;};
			if (links[i].innerHTML.length < 1) {
				links[i].innerHTML = "&nbsp;";
			}
		}
	}
}

function linktooltippiframe() {
	var links = document.getElementsByTagName("a");
	for (i=0; i < links.length; i++) {
		if (links[i].className.toLowerCase().indexOf("tooltipp")>= 0 || links[i].className.toLowerCase().indexOf("tooltippleer")>= 0)
		{
			links[i].onmouseover= function(Ereignis){ showboxIframe('', this.href, Ereignis);};
			links[i].onmouseout= hidebox;
			links[i].onclick= function(){ return false;};
			if (links[i].innerHTML.length < 1) {
				links[i].innerHTML = "&nbsp;";
			}
		}
	}
}

function showbox(name, url, Ereignis) {
	mousemove(Ereignis);
	document.onmousemove = mousemove;
	if(toolbox == null)
	{
		toolbox = document.createElement("div");
		toolbox.style.position = "absolute";
		toolbox.style.visibility = "hidden";
		toolbox.style.zIndex = 150;
		document.getElementsByTagName("body")[0].appendChild(toolbox);
	}
	
	if(toolboxiframe == null)
	{
		toolboxiframe = document.createElement("iframe");
		toolboxiframe.style.position = "absolute";
		toolboxiframe.style.visibility = "hidden";
		toolboxiframe.style.zIndex = 149;
		toolboxiframe.frameBorder = 0;
		document.getElementsByTagName("body")[0].appendChild(toolboxiframe);
	}
	toolbox.innerHTML = "";
	loadBox(url);
		
	if (toolbox != null && toolboxiframe != null) {
		toolbox.style.top = (0 + clientY + scroll) + "px";
		toolbox.style.left = (20 + clientX) + "px";
		
		toolboxiframe.style.top = (0 + clientY + scroll) + "px";
		toolboxiframe.style.left = (20 + clientX) + "px";
		toolboxiframe.style.width = toolbox.offsetWidth + "px";
		toolboxiframe.style.height = toolbox.offsetHeight + "px";
		toolboxiframe.style.filter = "Alpha(opacity=0)";

		if (toolbox.style.visibility != "visible")
			toolbox.style.visibility = "visible";
		
		if (toolboxiframe.style.visibility != "visible")
			toolboxiframe.style.visibility = "visible";

		visible = true;
	}
}

function showboxIframe(name, url, Ereignis) {
	mousemoveIframe(Ereignis);
	document.onmousemove = mousemoveIframe;
	
	var divs = top.document.getElementsByTagName("body")[0].getElementsByTagName("div");
	for(i=0; i<divs.length; i++)
	{
		if(divs[i].id.indexOf("LayerContent") >= 0)
		{			
			iframetop = parseInt(divs[i].style.top);
			iframeleft = parseInt(divs[i].style.left);
		}
	}
	
	if(toolbox == null)
	{
		toolbox = top.document.createElement("div");
		toolbox.style.position = "absolute";
		toolbox.style.visibility = "hidden";
		toolbox.style.zIndex = 150;
		top.document.getElementsByTagName("body")[0].appendChild(toolbox);
	}
	
	if(toolboxiframe == null)
	{
		toolboxiframe = top.document.createElement("iframe");
		toolboxiframe.style.position = "absolute";
		toolboxiframe.style.visibility = "hidden";
		toolboxiframe.style.filter = "Alpha(opacity=0)";
		toolboxiframe.style.zIndex = 149;
		toolboxiframe.frameBorder = 0;
		top.document.getElementsByTagName("body")[0].appendChild(toolboxiframe);
	}
	toolbox.innerHTML = "";
	loadBox(url);
	
	if (toolbox != null && toolboxiframe != null) {
		toolbox.style.top = (35 + clientY + scroll + iframetop) + "px";
		toolbox.style.left = (25 + clientX + iframeleft) + "px";
		
		toolboxiframe.style.top = (35 + clientY + scroll + iframetop) + "px";
		toolboxiframe.style.left = (25 + clientX + iframeleft) + "px";

		if (toolbox.style.visibility != "visible")
			toolbox.style.visibility = "visible";
		
		if (toolboxiframe.style.visibility != "visible")
			toolboxiframe.style.visibility = "visible";

		visible = true;
	}
}

function loadBox(url) {
	var req = getXMLHttpRequest();

	// anfrage erstellen (GET, url ist localhost,
	// request ist asynchron
	req.open("GET", url, false);

	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
	req.send(null);
	
	if (req.status != 200) {
	} else {
		var text = req.responseText;
		text = text.substring(text.indexOf("<divtoolbox>") + 12, text.indexOf("</divtoolbox>"));
		toolbox.innerHTML = text;
	}
}

function hidebox() {
	document.onmousemove = "";
	
	if (toolboxiframe != null) {
		toolboxiframe.style.visibility = "hidden";
	}
	
	if (toolbox != null) {
		toolbox.style.visibility = "hidden";
		visible = false;
	}
}

function mousemove(Ereignis) {
	if (!Ereignis)
		Ereignis = window.event;

	if (document.all) {
		clientY = Ereignis.clientY;
		clientX = Ereignis.clientX;
		if ((clientX + 200) > document.body.offsetWidth)
			clientX = clientX - 235;
	} else { 
		clientY = Ereignis.pageY;
		clientX = Ereignis.pageX;
		if ((clientX + 200) > window.innerWidth - 40)
			clientX = clientX - 235;
	}
	
	if(document.all)
		scroll = document.documentElement.scrollTop;

	if (visible && toolbox != null) {
		toolbox.style.top = (0 + clientY + scroll) + "px";
		toolbox.style.left = (20 + clientX) + "px";
	}
	
	if (visible && toolboxiframe != null) {
		toolboxiframe.style.top = (0 + clientY + scroll) + "px";
		toolboxiframe.style.left = (20 + clientX) + "px";
	}
}

function mousemoveIframe(Ereignis) {
	if (!Ereignis)
		Ereignis = window.event;

	if (document.all) {
		clientY = Ereignis.clientY;
		clientX = Ereignis.clientX;
		if ((clientX + 200) > top.document.body.offsetWidth)
			clientX = clientX - 235;
	} else { 
		clientY = Ereignis.pageY;
		clientX = Ereignis.pageX;
		if ((clientX + 200) > top.window.innerWidth - 40)
			clientX = clientX - 235;
	}
	/*
	if(document.all)
		scroll = top.document.documentElement.scrollTop;
	*/

	if (visible && toolbox != null) {
		toolbox.style.top = (35 + clientY + scroll + iframetop) + "px";
		toolbox.style.left = (25 + clientX + iframeleft) + "px";
	}
	
	if (visible && toolboxiframe != null) {
		toolboxiframe.style.top = (0 + clientY + scroll + iframetop) + "px";
		toolboxiframe.style.left = (20 + clientX + iframeleft) + "px";
	}
}
