var LoadingScreen = {

	show: function() {
		this.set_position();
		this.addEventHandler(window, 'scroll', this.set_position);
		var loadingDIV = GetItemById('updating');
		if (loadingDIV == null || loadingDIV == '' || typeof(loadingDIV) != 'object') { return false; }
		loadingDIV.style.display = '';
	},

	hide: function() {
		var loadingDIV = GetItemById('updating');
		if (loadingDIV == null || loadingDIV == '' || typeof(loadingDIV) != 'object') { return false; }
		loadingDIV.style.display = 'none';
	},

	set_position: function () {
		var loadingDIV = GetItemById('updating');
		if (loadingDIV == null || loadingDIV == '' || typeof(loadingDIV) != 'object') { return false; }

		var scrollTop = LoadingScreen.f_scrollTop();
		var scrollLeft = LoadingScreen.f_scrollLeft();
		var clientWidth = LoadingScreen.f_clientWidth();

		var left = clientWidth/2 + scrollLeft;
		var top = scrollTop + 250;
			
		// Set position
		loadingDIV.style.position = 'absolute';
		loadingDIV.style.left = left + 'px';
		loadingDIV.style.top = top + 'px';
	},

	f_clientWidth: function () {
		return this.f_filterResults (
			window.innerWidth ? window.innerWidth : 0,
			document.documentElement ? document.documentElement.clientWidth : 0,
			document.body ? document.body.clientWidth : 0
		);
	},

	f_scrollLeft: function () {
		return this.f_filterResults (
			window.pageXOffset ? window.pageXOffset : 0,
			document.documentElement ? document.documentElement.scrollLeft : 0,
			document.body ? document.body.scrollLeft : 0
		);
	},

	f_scrollTop: function () {
		return this.f_filterResults (
			window.pageYOffset ? window.pageYOffset : 0,
			document.documentElement ? document.documentElement.scrollTop : 0,
			document.body ? document.body.scrollTop : 0
		);
	},

	f_filterResults: function (n_win, n_docel, n_body) {
		var n_result = n_win ? n_win : 0;
		if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
		return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
	},

	addEventHandler: function (oTarget, sEventType, fnHandler) {
		if (oTarget.addEventListener) {
			oTarget.addEventListener(sEventType, fnHandler, false);
		} else if (oTarget.attachEvent) {
			oTarget.attachEvent('on' + sEventType, fnHandler);
		} else {
			oTarget['on' + sEventType] = fnHandler;
		} 
	}
}

function GetItemById(id){
	return (document.all ? document.all[id] : document.getElementById(id));
}
