function getWindowHeight() {
	var windowHeight = 0;
	if (typeof(window.innerHeight) == 'number') {
		windowHeight = window.innerHeight;
	}
	
	else {
		if (document.documentElement && document.documentElement.clientHeight) {
			windowHeight = document.documentElement.clientHeight;
		}
		else {
			if (document.body && document.body.clientHeight) {
				windowHeight = document.body.clientHeight;
			}
		}
	}

	return windowHeight;
}

function getContentHeight() {
	var docHeight = 0;
	var sh = 0;
	var oh = 0;
	
	if(document.documentElement) {
		if(document.documentElement && document.documentElement.scrollHeight) {
			docHeight = document.documentElement.scrollHeight;
		}
    	}

    	if(docHeight == 0 && document.body) {
	    
    	    
    	    if(document.body.scrollHeight) sh = document.body.scrollHeight;
	    if(document.body.offsetHeight) oh = document.body.offsetHeight;
		
    	    if(sh > oh) {
		    docHeight = sh;
	    } else {
		    docHeight = oh;
	    }
    	} 
    
    	
	return docHeight;
}

function getContentHeightOld() {
	return document.documentElement.scrollHeight;
}

function setFooter_spacer(footerSpacerId) {

    var docHeight = getContentHeight();
    var windowHeight = getWindowHeight();
    
    var footerElement = document.getElementById(footerSpacerId);
    if(footerElement) {
	var footerHeight = 0
	var minFooterHeight = 18;
	var spacer = 0;
	if(footerElement.clientHeight) footerHeight = footerElement.clientHeight;
	if(footerElement.offsetHeight) footerHeight = footerElement.offsetHeight;			
	if(footerHeight < minFooterHeight) footerHeight = minFooterHeight;

	if (docHeight > 0  && footerElement != null) {
		var positionTop = eval(docHeight+spacer);
    		if(windowHeight > 0) {
		    //if(docHeight <= windowHeight) footerElement.style.height = '250px';    		
		    var newHeight = eval(windowHeight-350);
		    if(docHeight <= windowHeight) footerElement.style.height = newHeight+'px';
		}
	}
    }	
}

function setFooter(footerId) {

    var docHeight = getContentHeight();
    var windowHeight = getWindowHeight();

    var footerElement = document.getElementById(footerId);
    if(footerElement) {
	var footerHeight = 0
	var minFooterHeight = 18;
	var spacer = 0;
	if(footerElement.clientHeight) footerHeight = footerElement.clientHeight;
	if(footerElement.offsetHeight) footerHeight = footerElement.offsetHeight;			
	if(footerHeight < minFooterHeight) footerHeight = minFooterHeight;

	//window.status ="doch:"+docHeight+" winh:"+windowHeight + " footh:"+footerHeight + " scrollh:"+document.documentElement.scrollHeight + " offh:"+document.documentElement.offsetHeight;

	if (docHeight > 0  && footerElement != null) {
		footerElement.style.position = 'absolute';
		var positionTop = eval(docHeight+spacer);

    		if(windowHeight > 0) {
		    //FIREFOX : shortest content height is the window height so move up.
		    if(docHeight == windowHeight) positionTop = positionTop - ( footerHeight * 2);
		    //dont cause page to scroll if not needed?:
		    if(docHeight <= windowHeight && ((docHeight+spacer+footerHeight) > windowHeight)) positionTop = positionTop - footerHeight;
		    //if window is larger than the document - stick to bottom of window?
		    //if((docHeight+footerHeight*2) < windowHeight) positionTop = windowHeight - footerHeight;
		}
	
		footerElement.style.top = positionTop+'px';    		
		footerElement.style.display = "block";
		//window.status = window.status + " DONE AT "+positionTop + " FH:"+footerElement.offsetHeight;;
	}
    }	
}
