function center(divObjOrId) {
	var div;
	if(typeof divObjOrId == "string") {
		div = document.getElementById(divObjOrId);
	} else {
		div = divObjOrId;
	}

	var viewPortWidth = windowState.getWidth();
	var viewPortHeight = windowState.getHeight();
	var horizontalScroll = windowState.getScrollX();
	var verticalScroll = windowState.getScrollY();
	if(div) {
		var divStyle = div.style;
		var divWidth = divStyle.width;
		var divHeight = divStyle.height;

		if(typeof divWidth == "string") {
			divWidth = parseInt (divWidth)
		}
		if(typeof divHeight == "string") {
			divHeight = parseInt (divHeight)
		}
		
		var hPos = Math.round(horizontalScroll+((0 + viewPortWidth-divWidth)/2));
		var vPos = Math.round(verticalScroll+((0 + viewPortHeight-divHeight)/2));
		if(hPos < 0) {
			hPos=0;
		}
		if(vPos < 0) {
			vPos=0;
		}
		var positionMod = ((typeof divStyle.top) == "string") ? "px" : 0;
		divStyle.top = vPos + positionMod;
		divStyle.left = hPos + positionMod;
	}
 }

function fadeIn(objectId) {
	for(var opacity = 0; opacity <= 1; opacity+=0.1) {
		var delay = 50 + opacity*100*3;
		setTimeout("setOpacity('" + objectId + "', " + opacity + ")", delay);
	}
}

function fadeOut(objectId) {
	for(var opacity = 1; opacity <= 0; opacity-=0.1) {
		var delay = 50 + opacity*100*3;
		setTimeout("setOpacity('" + objectId + "', " + opacity + ")", delay);
	}
}


function setOpacity(objectId, opacity) {
	var object = document.getElementById(objectId);
	if(object) {
    	object.style.opacity = opacity;
    	object.style.MozOpacity = opacity;
    	object.style.KhtmlOpacity = opacity;
    	object.style.filter = "alpha(opacity=" + opacity*100 + ")";
	}
}



var windowState = (function(){
	var readScroll = {scrollLeft:0,scrollTop:0};
	var readSize = {clientWidth:0,clientHeight:0};
	var readScrollX = 'scrollLeft';
	var readScrollY = 'scrollTop';
	var readWidth = 'clientWidth';
	var readHeight = 'clientHeight';
	
	function otherWindowTest(obj){
		if((document.compatMode)&& (document.compatMode == 'CSS1Compat')&& (document.documentElement)){
			return document.documentElement;
		}else if(document.body){
			return document.body;
		}else{
			return obj;
		}
	};
	
	if((typeof this.innerHeight == 'number')&&(typeof this.innerWidth == 'number')){
		readSize = this;
		readWidth = 'innerWidth';
		readHeight = 'innerHeight';
	}else{
		readSize = otherWindowTest(readSize);
	}
	if((typeof this.pageYOffset == 'number') && (typeof this.pageXOffset == 'number')){
		readScroll = this;
		readScrollY = 'pageYOffset';
		readScrollX = 'pageXOffset';
	}else{
		readScroll = otherWindowTest(readScroll);
	}
	
	return {
		getScrollX:function(){
			return (readScroll[readScrollX]||0);
		},
		getScrollY:function(){
			return (readScroll[readScrollY]||0);
		},
		getWidth:function(){
			return (readSize[readWidth]||0);
		},
		getHeight:function(){
			return (readSize[readHeight]||0);
		}
	};
})();
