	var floatingMenuId = 'floatdiv';  
	var floatingMenu =  
	{  
	    targetX: 20,  <!--lage des kastens links-->
	    targetY: 100,  <!--lage des kastens oben-->

	    hasInner: typeof(window.innerWidth) == 'number',  
	    hasElement: typeof(document.documentElement) == 'object'  
	        && typeof(document.documentElement.clientWidth) == 'number',  
	  
	    menu:  
	        document.getElementById  
	        ? document.getElementById(floatingMenuId)  
	        : document.all  
	          ? document.all[floatingMenuId]  
	          : document.layers[floatingMenuId]  
	};  
	  
	floatingMenu.move = function ()  
	{  
	    floatingMenu.menu.style.left = floatingMenu.nextX + 'px';  
	    floatingMenu.menu.style.top = floatingMenu.nextY + 'px';  
	}  
	
<!--lage kasten links und fluss-->
	floatingMenu.computeShifts = function ()
	{  
	    var de = document.documentElement;  
	  
	    floatingMenu.shiftX =    
	        floatingMenu.hasInner    
	        ? pageXOffset    
	        : floatingMenu.hasElement    
	          ? de.scrollLeft    
	          : document.body.scrollLeft;    
	    if (floatingMenu.targetX < 0)  
	    {  
	        floatingMenu.shiftX +=  
	            floatingMenu.hasElement  
	            ? de.clientWidth  
	            : document.body.clientWidth;  
	    }  
	  
<!--lage kasten oben und fluss-->
	    floatingMenu.shiftY =   
	        floatingMenu.hasInner  
	        ? pageYOffset  
	        : floatingMenu.hasElement  
	          ? de.scrollTop  
	          : document.body.scrollTop;  
	    if (floatingMenu.targetY < 0)  
	    {  
	        if (floatingMenu.hasElement && floatingMenu.hasInner)  
	        {  
	            // Handle Opera 8 problems  
	            floatingMenu.shiftY +=  
	                de.clientHeight > window.innerHeight  
	                ? window.innerHeight  
	                : de.clientHeight  
	        }  
	        else  
	        {  
	            floatingMenu.shiftY +=  
	                floatingMenu.hasElement  
	                ? de.clientHeight  
	                : document.body.clientHeight;  
	        }  
	    }  
	}  
	 
<!--lage kasten links und fluss-->
	floatingMenu.calculateCornerX = function()  
	{  
	    if (floatingMenu.targetX != 'center')  
	        return floatingMenu.shiftX + floatingMenu.targetX;  
	  
	    var width = parseInt(floatingMenu.menu.offsetWidth);  
	  
	    var cornerX =  
	        floatingMenu.hasElement  
	        ? (floatingMenu.hasInner  
	           ? pageXOffset  
	           : document.documentElement.scrollLeft) +   
	          (document.documentElement.clientWidth - width)/2  
	        : document.body.scrollLeft +   
	          (document.body.clientWidth - width)/2;  
	    return cornerX;  
	};  
	 
<!--lage kasten oben und fluss-->
	floatingMenu.calculateCornerY = function()  
	{  
	    if (floatingMenu.targetY != 'center')  
	        return floatingMenu.shiftY + floatingMenu.targetY;  
	  
	    var height = parseInt(floatingMenu.menu.offsetHeight);  
	  
	    // Handle Opera 8 problems  
	    var clientHeight =   
	        floatingMenu.hasElement && floatingMenu.hasInner  
	        && document.documentElement.clientHeight   
	            > window.innerHeight  
	        ? window.innerHeight  
	        : document.documentElement.clientHeight  
	  
	    var cornerY =  
	        floatingMenu.hasElement  
	        ? (floatingMenu.hasInner    
	           ? pageYOffset  
	           : document.documentElement.scrollTop) + 
	          (clientHeight - height)/2  
	        : document.body.scrollTop +   
	          (document.body.clientHeight - height)/2;  
	    return cornerY;  
	};  
	  
	floatingMenu.doFloat = function()  
	{  
	    // Check if reference to menu was lost due  
	    // to ajax manipuations  
	    if (!floatingMenu.menu)  
	    {  
	        menu = document.getElementById  
	            ? document.getElementById(floatingMenuId)  
	            : document.all  
	              ? document.all[floatingMenuId]  
	              : document.layers[floatingMenuId];  
	  
	        initSecondary();  
	    }  
	  
	    var stepX, stepY;  
	  
	    floatingMenu.computeShifts();  
	  
	    var cornerX = floatingMenu.calculateCornerX();  
	  
	    var stepX = (cornerX - floatingMenu.nextX) * .07;  
	    if (Math.abs(stepX) < .5)  
	    {  
	        stepX = cornerX - floatingMenu.nextX;  
	    }  
	  
	    var cornerY = floatingMenu.calculateCornerY();  
	  
	    var stepY = (cornerY - floatingMenu.nextY) * .07;  
	    if (Math.abs(stepY) < .5)  
	    {  
	        stepY = cornerY - floatingMenu.nextY;  
	    }  
	  
	    if (Math.abs(stepX) > 0 ||  
	        Math.abs(stepY) > 0)  
	    {  
	        floatingMenu.nextX += stepX;  
	        floatingMenu.nextY += stepY;  
	        floatingMenu.move();  
	    }  
<!--fliessgeschwindigkeit-->
	    setTimeout('floatingMenu.doFloat()', 2);  
	};  
  
<!--lage kasten oben, links und fluss-->
	floatingMenu.init = function()  
	{  
	    floatingMenu.initSecondary();  
	    floatingMenu.doFloat();  
	};  
	  
	// Some browsers init scrollbars only after  
	// full document load.  
	floatingMenu.initSecondary = function()  
	{  
	    floatingMenu.computeShifts();  
	    floatingMenu.nextX = floatingMenu.calculateCornerX();  
	    floatingMenu.nextY = floatingMenu.calculateCornerY();  
	    floatingMenu.move();  
	}  
	  
	if (document.layers)  
	    floatingMenu.addEvent(window, 'onload', floatingMenu.init);  
	else  
	{  
	    floatingMenu.init();  
	    floatingMenu.addEvent(window, 'onload',  
	        floatingMenu.initSecondary);  
	}  
