
/**
* Dynamic Scrolling based on pageWrapper/objReference - JTG - 2008-12-03
* 
* EXAMPLE(referenceObjId):
* #page
* {
*    top:50%;
*    left:50%;
*    margin-top:-300px;
*    margin-left:-475px;
*    height:600px; 
*    width:950px;
* }
* 
* EXAMPLE(wrapper):
* #wrapper
* {
*    postion:absolute;
*    height:100%; 
*    width:100%; 
* }
* 
*/ 


/******************
    CONFIG
******************/
//# dynamicScroll #
//reference div being centered w/ css
var referenceObjId = 'page';
//wrapper div
var wrapperID      = 'wrapper';

//# winDimensions #
//dimensions array
var winDims = new Array(2);



/**
* DYNAMIC SCROLLING FUNCTION 
* 
* Example CALL: <bod onresize="dynamicScroll()">
*/
function dynamicScroll()
{
    var wrapper   = getObj(wrapperID);
    var refObj    = getObj(referenceObjId);
    var refHeight = refObj.clientHeight+20;
    var refWidth  = refObj.clientWidth+20;
    var dimension = winDimensions();
    
    //dynamic height
    if(refObj.offsetTop<10)
    {
        wrapper.style.height = refHeight+'px';
    }
    else if(dimension['h']>refHeight)
    {
        wrapper.style.height = '100%';
    }
    
    //IE7 bandaid
    //IE7 is not reading offsetLet properly when page loads
    var offsetBug = ((refObj.offsetLeft + refObj.clientWidth/2)==0);
    
    //dynamic width
    if(!offsetBug && refObj.offsetLeft<10)
    {
        wrapper.style.width = refWidth+'px';
    }
    else if(dimension['w']>refWidth)
    {
        wrapper.style.width = '100%';
    }
}


/**
* BROWSER WINDOW DIMENSIONS
*/ 
function winDimensions() 
{
    var nonIE_test = (typeof( window.innerWidth ) == 'number');
    
    winDims['w'] = (nonIE_test)? window.innerWidth : document.documentElement.clientWidth;
    winDims['h'] = (nonIE_test)? window.innerHeight : document.documentElement.clientHeight;
    
    return winDims;
}