var Viewport = {
	getWidth: function() {
		var width = 0;
		if (document.documentElement && document.documentElement.clientWidth) {
			width = document.documentElement.clientWidth;
		} else if (document.body && document.body.clientWidth) {
			width = document.body.clientWidth;
		} else if (window.innerWidth) {
			width = window.innerWidth - 18;
		}
		return width;
	},
	
	getHeight: function() {
		var height = 0;
		if (document.documentElement && document.documentElement.clientHeight) {
			height = document.documentElement.clientHeight;
		} else if (document.body && document.body.clientHeight) {
			height = document.body.clientHeight;
		} else if (window.innerHeight) {
			height = window.innerHeight - 18;
		}
		return height;
	},
	
	getScrollX: function() {
		var scrollX = 0;
		if (document.documentElement && document.documentElement.scrollLeft) {
			scrollX = document.documentElement.scrollLeft;
		} else if (document.body && document.body.scrollLeft) {
			scrollX = document.body.scrollLeft;
		} else if (window.pageXOffset) {
			scrollX = window.pageXOffset;
		} else if (window.scrollX) {
			scrollX = window.scrollX;
		}
		return scrollX;
	},
	
	getScrollY: function() {
		var scrollY = 0;
		if (document.documentElement && document.documentElement.scrollTop) {
			scrollY = document.documentElement.scrollTop;
		} else if (document.body && document.body.scrollTop) {
			scrollY = document.body.scrollTop;
		} else if (window.pageYOffset) {
			scrollY = window.pageYOffset;
		} else if (window.scrollY) {
			scrollY = window.scrollY;
		}
		return scrollY;
	},
	
	centerElement: function(id) {
		var element = document.getElementById(id);
		var width = element.offsetWidth ? element.offsetWidth : element.style.width ? parseInt(element.style.width) : 0;
		var height = element.offsetHeight ? element.offsetHeight : element.style.height ? parseInt(element.style.height) : 0;
		
		var left = Math.round((Viewport.getWidth() / 2) - (width / 2));
		var top = Math.round((Viewport.getHeight() - height) / 2);
		
		if (left < 0) left = 0;
		if (top < 0) top = 0;
		
		left = left + Viewport.getScrollX();
		top = top + Viewport.getScrollY();
		
		element.style.zIndex = 3000;
		element.style.left = left + 'px';
		element.style.top = top + 'px';
	}
};