/**
 * @author dan
 */
function getScrollTop(){
	if(document.body.scrollTop){
		return document.body.scrollTop;
	}else{
		return document.documentElement.scrollTop;
	}
}

function getClientHeight(){
	if(document.clientHeight){
		return document.clientHeight;
	}else if(document.documentElement.clientHeight){
		return document.documentElement.clientHeight;
	}
}

function getClientWidth(){
	if(document.clientWidth){
		return document.clientWidth;
	}else{
		return document.documentElement.clientWidth;
	}
}

function RGetElementLeft(eElement){
    var nLeftPos = eElement.offsetLeft;          // initialize var to store calculations
    var eParElement = eElement.offsetParent;     // identify first offset parent element  
    while (eParElement != null)
    {                                            // move up through element hierarchy
        nLeftPos += eParElement.offsetLeft;      // appending left offset of each parent
        eParElement = eParElement.offsetParent;  // until no more offset parents exist
    }
    return nLeftPos;                             // return the number calculated
}

function RGetElementTop(eElement){
    var nTopPos = eElement.offsetTop;            // initialize var to store calculations
    var eParElement = eElement.offsetParent;     // identify first offset parent element  
    while (eParElement != null)
    {                                            // move up through element hierarchy
        nTopPos += eParElement.offsetTop;        // appending top offset of each parent
        eParElement = eParElement.offsetParent;  // until no more offset parents exist
    }
    return nTopPos;                              // return the number calculated
}