	function findRoot(l_objSrc, l_strAttribute) {
		// Letar reda på närmaste objekt med attributet [l_strAttribute] satt till true. 
		// Jobbar från sig själv och uppåt. Hittas inget returneras null
		var l_objTest = l_objSrc
		while (l_objTest.getAttribute(l_strAttribute) !== "true" && l_objTest != document.body) {
			l_objTest = l_objTest.parentElement;
		}
		if (l_objTest == document.body) {
			l_objTest = null;
		}
		return l_objTest;
	}
	
	function bounds(l_objSrc) {
		// Tar fram en Array med koordinater och storlek för objektet [l_objSrc]
		var l_intX = 0;
		var l_intY = 0;
		var l_intWidth = l_objSrc.offsetWidth;
		var l_intHeight = l_objSrc.offsetHeight;
		while (l_objSrc != document.body) {
			l_intX = l_intX + l_objSrc.offsetLeft;
			l_intY = l_intY + l_objSrc.offsetTop;
			l_objSrc = l_objSrc.offsetParent;
		}
		return new Array(l_intX,l_intY, l_intWidth, l_intHeight);
	}
	
	function rootObject(l_objSrc, l_strAttribute) {
		// Skapar ett nytt objekt som innehåller rot enligt findRoot och koordinater och storlek enligt bounds.
		var l_objNew = findRoot(l_objSrc, l_strAttribute);
		if (l_objNew !== null) {
			var l_arrPos = bounds(l_objNew)
			l_objNew.oLeft = l_arrPos[0];
			l_objNew.oTop = l_arrPos[1];
			l_objNew.oWidth = l_arrPos[2];
			l_objNew.oHeight = l_arrPos[3];
			return l_objNew;
		} else {
			return null;
		}
	}