var FloatTargetId ='Floater'; /* change this to the ID of the floatable object */
var FloatTarget;
var preInitTimer;
var padding;
FloatpreInit();

/* functions */

function FloatpreInit() 
{
    padding = 10;
    if ((document.getElementById) && (FloatTarget = document.getElementById(FloatTargetId))) {
        if (typeof preInitTimer != 'undefined') clearTimeout(preInitTimer); 
    } else {
        preInitTimer = setTimeout("FloatpreInit()", 4);
    }
}

function FloatInit() {
    if (document.getElementById) {
        FloatpreInit(); 
        window.setTimeout("StartFloat()", 1);
    }
}

function StartFloat() 
{
    if (FloatTarget) 
    {
        FloatTarget.style.margin = padding + 'px 0 10px 0';
        padding = 0;
        if (window.pageYOffset - 400 > 0) 
        {
            padding = window.pageYOffset - 400;
        }
        if (padding == 0) {
            if (document.documentElement && !document.documentElement.scrollTop) {
                // IE6 +4.01 but no scrolling going on
                padding = 0;
            }
            else if (document.documentElement && document.documentElement.scrollTop) {
                // IE6 +4.01 and user has scrolled
                if (document.documentElement.scrollTop - 300 > 0) {
                    padding = document.documentElement.scrollTop - 300;
                }
            }
            else if (document.body && document.body.scrollTop) {
                // IE5 or DTD 3.2
                if (document.documentElement.scrollTop - 300 > 0) {
                    padding = document.body.scrollTop - 300;
                }
            }
        }
        window.setTimeout("StartFloat()", 1);
    }
}

addEvent(window, 'load', FloatInit)



/* 3rd party helper functions */

/* addEvent handler for IE and other browsers */
function addEvent(elm, evType, fn, useCapture)
// addEvent and removeEvent
// cross-browser event handling for IE5+,  NS6 and Mozilla
// By Scott Andrew
{
    if (elm.addEventListener) {
        elm.addEventListener(evType, fn, useCapture);
        return true;
    } else if (elm.attachEvent) {
        var r = elm.attachEvent("on" + evType, fn);
        return r;
    }
} 
