
// Global 'corrector' for IE/Mac et al., but doesn't hurt others
var fudgeFactor = {top:-1, left:-1};

// Center a positionable element whose name is passed as 
// a parameter in the current window/frame, and show it
function centerIt(layerName) {
    // 'obj' is the positionable object
    var obj = getRawObject(layerName);
    // set fudgeFactor values only first time
    if (fudgeFactor.top == -1) {
        if ((typeof obj.offsetTop == "number") && obj.offsetTop > 0) {
            fudgeFactor.top = obj.offsetTop;
            fudgeFactor.left = obj.offsetLeft;
        } else {
            fudgeFactor.top = 0;
            fudgeFactor.left = 0;
        }
        if (obj.offsetWidth && obj.scrollWidth) {
            if (obj.offsetWidth != obj.scrollWidth) {
                obj.style.width = obj.scrollWidth;    
            }
        }
    }
    var x = Math.round((getInsideWindowWidth()/2) - (getObjectWidth(obj)/2));
    var y = Math.round((getInsideWindowHeight()/2) - (getObjectHeight(obj)/2));
    shiftTo(obj, x - fudgeFactor.left, y - fudgeFactor.top);
    show(obj);
}

// Special handling for CSS-P redraw bug in Navigator 4
function handleResize() {
    if (isNN4) {
        // causes extra re-draw, but gotta do it to get banner object color drawn
        location.reload();
    } else {
        centerIt("banner");
    }
}

/*******************************************************************************
 * Description: Returns the absolute top position of an HTML Element
 * Parameters:	p_objElement	- the element object to get the top position of
 * Returns:		The absolute top position in pixcels
 *
 * History
 * ver	date		who						comment
 * -----------------------------------------------------------------------------
 * 2	10-Jan-2003	Graeme Wilkinson		Removed Debug alert boxes	
 * 1	07-Jan-2003	Graeme Wilkinson		Created
 ******************************************************************************/
function getAbsoluteTopPosition(p_objElement)
{
    if (!p_objElement && this)
    {
        p_objElement = this;
    }

    var nTopPos = p_objElement.offsetTop;
    var p_objElement = p_objElement.offsetParent;
    while (p_objElement != null)
    {
        nTopPos += p_objElement.offsetTop;
        p_objElement = p_objElement.offsetParent;
    }

    return nTopPos;
} // end of function getAbsoluteTopPosition

/*******************************************************************************
 * Description: Returns the absolute Left position of an HTML Element
 * Parameters:	p_objElement	- the element object to get the top position of
 * Returns:		The absolute top position in pixcels
 *
 * History
 * ver	date		who						comment
 * -----------------------------------------------------------------------------
 * 1	10-Feb-2003	Graeme Wilkinson		Created
 ******************************************************************************/
function getAbsoluteLeftPosition(p_objElement)
{

    if (!p_objElement && this)
    {
        p_objElement = this;
    }

    var nTopPos = p_objElement.offsetLeft;
    var p_objElement = p_objElement.offsetParent;

    while (p_objElement != null)
    {

        nTopPos += p_objElement.offsetLeft;
        p_objElement = p_objElement.offsetParent;
    }

    return nTopPos;
} // end of function getAbsoluteLeftPosition
