Object.extend(Element, {
    getX: function (element)
    {
        var curleft = 0;
        if (element.offsetParent)
        {
            while (element.offsetParent)
            {
                curleft += element.offsetLeft
                element = element.offsetParent;

            }
        }
        else if (element.x)
        curleft += element.x;
        return curleft;
    },
    getY: function (element)
    {
        var curtop = 0;
        if (element.offsetParent)
        {
            while (element.offsetParent)
            {
                curtop += element.offsetTop
                element = element.offsetParent;
            }
        }
        else if (element.y)
        curtop += element.y;
        return curtop;
    }
});

Object.extend(Event, {
    getX: function(e) {
        if (!e) var e = window.event;
        var posx = 0;
        if (e.pageX)
        {
            posx = e.pageX;
        }
        else if (e.clientX)
        {
            posx = e.clientX + document.body.scrollLeft;
        }
        return posx;
    },
    getY: function(e) {
        if (!e) var e = window.event;
        var posy = 0;
        if (e.pageY)
        {
            posy = e.pageY;
        }
        else if (e.clientY)
        {
            posy = e.clientY + document.body.scrollTop;
        }
        return posy;
    }
});
