    var floatingBannerRefX = 0;
    var floatingBannerRefY = 0;

    function floatingBannerInit(docid)
    {
        objBanner = document.getElementById(docid);
        docidref = docid + "Ref";
        objBannerRef = document.getElementById(docidref);   
        if(!objBannerRef)
            objBannerRef = document.getElementById("AdOAS_DockRef") //Legacy
            
        if (objBannerRef)
        {
            floatingBannerRefX = findPosX(objBannerRef);
            floatingBannerRefY = findPosY(objBannerRef) - objBannerRef.clientHeight;
            setTimeout('floatingBannerRefX = findPosX(objBannerRef)', 3000);
            setTimeout('floatingBannerRefY = findPosY(objBannerRef) - objBannerRef.clientHeight', 3000);
        }

        floatingBanner(docid, parseInt(objBanner.parentNode.offsetTop), parseInt(objBanner.parentNode.offsetLeft))
        objBanner.parentNode.style.top = parseInt(objBanner.parentNode.offsetTop) - 3000 + "px";
        objBanner.style.display = "block";
    }

    function floatingBanner(docid, topPos, leftPos)
    {
        if(document.all)
        {
            if (document.body && document.body.scrollTop)
               targetValue = (parseInt(document.body.scrollTop) + topPos);
            else
               targetValue = (parseInt(document.documentElement.scrollTop) + topPos);
        }
        else
          targetValue = (parseInt(window.pageYOffset) + topPos)
 
        objBanner = document.getElementById(docid);
        objParent = objBanner.parentNode;
        
        newTopPos = parseInt(objParent.style.top);
        newLeftPos = leftPos;
        scrollSpeed = Math.round(Math.abs(parseInt(targetValue) - parseInt(objParent.style.top)) / 10)
        if (scrollSpeed < 1)
          scrollSpeed = 1
        timeout = 1;  //Standarddelay
            
        //Flytt av annonsen i Y-led     
        if (parseInt(targetValue) > parseInt(objParent.style.top)) {
            newTopPos = parseInt(objParent.style.top) + scrollSpeed;   
        } else if (parseInt(targetValue) < parseInt(objParent.style.top)) {
            newTopPos = parseInt(objParent.style.top) - scrollSpeed;   
        } else {
            timeout = 250; //Delay efter att annonsen kommit till vila (ger överaskningseffekt samt sparar processor på gamla datorer)
        }
        
        //Flytt av annonsen i X-led
        if (parseInt(objParent.style.top) < floatingBannerRefY || floatingBannerRefY == 0) {
            scrollSpeed = Math.round(Math.abs(parseInt(leftPos) - parseInt(objParent.style.left)) / 10)
            if (scrollSpeed<1)
                scrollSpeed = 1
                
            if (leftPos > parseInt(objParent.style.left)) {
                newLeftPos = parseInt(objParent.style.left) + scrollSpeed;
                timeout = 1;
            } 
            //console.log("ÖVER floatingBannerRefX, objParent.style.left, newLeftPos, scrollSpeed: {"+floatingBannerRefX, objParent.style.left, newLeftPos, scrollSpeed + "}");
        }
        else if (parseInt(objParent.style.top) > floatingBannerRefY) {
            scrollSpeed = Math.round(Math.abs(parseInt(floatingBannerRefX) - parseInt(objParent.style.left)) / 10)
            if (scrollSpeed < 1)
                scrollSpeed = 1

            if (floatingBannerRefX < parseInt(objParent.style.left)) {
                newLeftPos = parseInt(objParent.style.left) - scrollSpeed;
                timeout = 1;
            } else {
                newLeftPos = floatingBannerRefX;
            }
            //console.log("UNDER floatingBannerRefX, objParent.style.left, newLeftPos, scrollSpeed: {"+floatingBannerRefX, objParent.style.left, newLeftPos, scrollSpeed + "}");
        }       

        objParent.style.top = newTopPos + "px";
        objParent.style.left = newLeftPos + "px";
        
        setTimeout("floatingBanner('" + docid + "'," + topPos + ",'" + leftPos + "')", timeout);
        //console.log("POST: objBanner, objParent, newTopPos, newLeftPos, scrollSpeed, timeout: {"+ objBanner + "; "+ objParent + "; "+ newTopPos +"; "+ newLeftPos +"; "+ scrollSpeed +"; "+ timeout +"}");
    }

    function findPosY(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;
    }

    function findPosX(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;
    }
