﻿// viewport.js
// Window Viewport Functions
// Justin Evans
// TribeAgency, LLC

// Cross-browser viewport dimension function

function getViewport()
{
    var viewport = {x:0,y:0,width:0,height:0};

    if (typeof window.scrollX != 'undefined')
    {
        viewport.x = window.pageXOffset;
        viewport.y = window.pageYOffset;
        viewport.width = window.innerWidth;
        viewport.height = window.innerHeight;
        return viewport;
    } else {
        if  (document.documentElement &&
            (typeof document.documentElement.scrollLeft != 'undefined') &&
            (document.documentElement.scrollLeft != 0))
        {
            viewport.x = document.documentElement.scrollLeft;
            viewport.y = document.documentElement.scrollTop;
            viewport.width = document.documentElement.clientWidth;
            viewport.height = document.documentElement.clientHeight;
            
            return viewport;
        } else {
            if  (document.body &&
                (typeof document.body.scrollLeft != 'undefined'))
            {
                viewport.x = document.body.scrollLeft;
                viewport.y = document.body.scrollTop;

                if (document.compatMode == "CSS1Compat")
                {
                    viewport.width = document.body.parentNode.clientWidth;
                    viewport.height = document.body.parentNode.clientHeight;
                } else {
                    viewport.width = document.body.clientWidth;
                    viewport.height = document.body.clientHeight;
                }

                return viewport;
            }
        }
    }

    return(null);
}


// To use in practice:
/*
    var viewPort = getViewport();
    var windowHeight = viewPort.height;
    var windowWidth = viewPort.width;
    var offsetTop = (windowHeight / 2);
    var offsetLeft = (windowWidth / 2);
    var offsetPosition = 0;
    var divHeight = 0;
    var divWidth = 0;
*/

/* 
    
$('imgDetail').moveTo(viewPort.x, viewPort.y);

*/