/**
 *$Id: window.js 70 2008-09-25 15:01:48Z vkarpov $
 *
 * Работа с окном браузера
 */
PuskFramework.window = new function()
{
    var pf = PuskFramework;

    /**
     * Размер клиентской области окна по горизонтали
     * @return {Integer}
     */
    this.getClientWidth = function()
    {
        var w=0;
        if (document.body)
        {
            w = Math.min(document.body.clientWidth, document.body.scrollWidth);
        }
        return w;
    };

    /**
     * Размер клиентской области окна по вертикали
     * @return {Integer}
     */
    this.getClientHeight = function()
    {
        var h=0;
        if (self.innerHeight) h = self.innerHeight;
        else if (document.documentElement && document.documentElement.clientHeight) h = document.documentElement.clientHeight;
        else if (document.body) h = document.body.clientHeight;

        return h;
    };

    /**
     * Размер документа по горизонтали
     * @return {Integer}
     */
    this.getDocumentWidth = function()
    {
        var size = 0;
        var d = (document.documentElement && document.documentElement.offsetWidth) ? document.documentElement : document.body;
        return (d.scrollWidth > d.offsetWidth)?d.scrollWidth:d.offsetWidth-size;
    };

    /**
     * Размер документа по вертикали
     * @return {Integer}
     */
    this.getDocumentHeight = function()
    {
        var d = (document.documentElement && document.documentElement.offsetHeight) ? document.documentElement : document.body;
        return (d.scrollHeight > d.offsetHeight)?d.scrollHeight:d.offsetHeight;
    };

    /**
     * Скролл по вертикали
     * @return {Integer}
     */
    this.getBodyScrollTop = function()
    {
        return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
    };

    /**
     * Скролл по горизонтали
     * @return {Integer}
     */
    this.getBodyScrollLeft = function()
    {
        return self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);
    };
};
