﻿function $get(id)
{
    return (document.getElementById(id) == null ? null : document.getElementById(id));
}

function $getElementPosition(id)
{
    var offsetTrail = $get(id);
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail)
    {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 && typeof(document.body.leftMargin != "undefined"))
    {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    return {left:offsetLeft, top:offsetTop};
}

function $getObjectTop(id)
{
    var elem = $get(id);
    
    var result = 0;
    if (document.defaultView)
    {
        var style= document.defaultView;
        var cssDecl = style.getComputedStyle(elem, "");
        result = cssDecl.getPropertyValue("top");
    }
    else if (elem.currentStyle)
    {
        result = elem.currentStyle.top;
    }
    else if (elem.style)
    {
        result = elem.style.top;
    }
    else if (document.layers)
    {
        result = elem.top;
    }
    return parseInt(result, 10);
}

function $getObjectLeft(id)
{
    var elem = $get(id);
    var result = 0;
    if (document.defaultView)
    {
        var style= document.defaultView;
        var cssDecl = style.getComputedStyle(elem, "");
        result = cssDecl.getPropertyValue("left");
    }
    else if (elem.currentStyle)
    {
        result = elem.currentStyle.left;
    }
    else if (elem.style)
    {
        result = elem.style.left;
    }
    else if (document.layers)
    {
        result = elem.left;
    }
    return parseInt(result, 10);
}        

function $getObjectHeight(id)
{
    var elem = $get(id);
    var result = 0;
    if (elem.offsetHeight)
    {
        result = elem.offsetHeight;
    }
    else if (elem.clip && elem.clip.height)
    {
        result = elem.clip.height;
    }
    else if (elem.style && elem.style.pixelHeight)
    {
        result = elem.style.pixelHeight;
    }
    return parseInt(result, 10);
} 

function $getObjectWidth(id)
{
    var elem = $get(id);
    var result = 0;
    if (elem.offsetWidth)
    {
        result = elem.offsetWidth;
    }
    else if (elem.clip && elem.clip.width)
    {
        result = elem.clip.width;
    }
    else if (elem.style && elem.style.width)
    {
        result = elem.style.pixelWidth;
    }
    return parseInt(result, 10);
}         