function getposOffset(overlay, offsettype) {
	var totaloffset=(offsettype=="left")? overlay.offsetLeft : overlay.offsetTop;
	var parentEl=overlay.offsetParent;
	while (parentEl!=null) {
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}

function overlay(curobj, subobjstr, opt_position) {
	if (document.getElementById) {
		var subobj=document.getElementById(subobjstr)
		subobj.style.display=(subobj.style.display!="block")? "block" : "none"
		var xpos = getposOffset(curobj, "left")+((typeof opt_position!="undefined" && opt_position.indexOf("right")!=-1)? -(subobj.offsetWidth-curobj.offsetWidth) : 0) 
		var ypos = getposOffset(curobj, "top")+((typeof opt_position!="undefined" && opt_position.indexOf("bottom")!=-1)? curobj.offsetHeight : 0)
		subobj.style.left = xpos+"px"
		subobj.style.top = ypos+"px"
		return false
	} else {
		return true
	}
}
	
function overlayclose(subobj) {
	document.getElementById(subobj).style.display = "none"
}

/**
 * event-listener to close bookmark-window when leaving
 */
function checkBookmarkWindow(ereignis) {
	
	if (document.getElementById) {
		obj = document.getElementById('bookmark');
	} else if (document.all) {
		obj = document.all.bookmark;
	}
	
	if (obj.style.display == 'block') {
		//alert("obj: " + obj + "\nposX: " + posX + "\nposY: " + posY + "\nobjX: " + objX + "\nobjY: " + objY + "\nobjW: " + objW + "\nobjH: " + objH);

		if (!ereignis) {
			ereignis = window.event;
		}

		if (ereignis.pageX) {
			posX = ereignis.pageX;
			posY = ereignis.pageY
		} else if (ereignis.clientX) {
			posX = ereignis.clientX;
			posY = ereignis.clientY;
		}

		objX = obj.offsetLeft;
		objY = obj.offsetTop - 50;
		objW = obj.offsetWidth;
		//objH = obj.offsetHeight
		objH = 190;
		
		if (posX < objX || 
			posX > objX + objW ||
			posY < objY ||
			posY > objY + objH) {
			
			//alert("obj: " + obj + "\nposX: " + posX + "\nposY: " + posY + "\nobjX: " + objX + "\nobjY: " + objY + "\nobjW: " + objW + "\nobjH: " + objH);
			return overlay(document.getElementById('bookmark'), 'bookmark')
		}
	}
}

/**
 * adds the title (second h1-tag) at the end of the url in the link-object
 */
function addTitle(linkObj) {
	linkObj.href += document.getElementsByTagName("h1")[1].innerHTML;
}
