var LoadingScreen = {

	show: function() {
		// Create Loading div
		this.create_div();

		// Set initial position				
		this.set_position();

		// Attach event handler to onScroll to keep in position
		this.addEventHandler(window, 'scroll', this.set_position);

		// Start the moving dots
		setInterval(this.moving_dots, 500);

	},

	hide: function() {
		var div = document.getElementById('loading_message');
		if (div == null || div == '' || typeof(div) != 'object') { return false; }

		document.body.removeChild(div);
	},

	moving_dots: function() {
		var div = document.getElementById('loading_message');
		if (div == null || div == '' || typeof(div) != 'object') { return false; }

		var html = div.innerHTML;

		// Add dot or start over?
		var num_dots = html.split('.').length-1;
		if (num_dots > 4) {
			div.innerHTML = 'Loading';
		} else {
			div.innerHTML = html + '.';
		}

	},


	set_position: function () {
		var div = document.getElementById('loading_message');
		if (div == null || div == '' || typeof(div) != 'object') { return false; }

		var scrollTop = LoadingScreen.f_scrollTop();
		var scrollLeft = LoadingScreen.f_scrollLeft();
		var clientWidth = LoadingScreen.f_clientWidth();

		// Calculate left position
		//alert(scrollTop);
		scrollTop = scrollTop + 400;
		var left = clientWidth - div.offsetWidth;
		left = scrollLeft + 500; // + left;
			
		// Set position
		div.style.position = 'absolute';
		div.style.left = left + 'px';
		div.style.top = scrollTop + 'px';
		//div.style.zIndex='200px';
	},

	create_div: function () {
		var div = document.createElement('DIV');
		div.id = 'loading_message';

		div.innerHTML = 'Loading';

/*		var css = "border: 1px solid rgb(250,200,250);"
		css += "width: 200px;";
		css += "padding-left: 30px;";
		css += "background-color: black;";
		css += "color: red;";
		css += "";*/

		var css = "background-color:#08335f;";
		css += "color:white;";
		css += "border: 1px solid #6F8EB8;";
		css += "width: 200px;";
		css += "height: 30px;";
		css += "padding-top: 10px;";
		css += "padding-left: 30px;";

		div.style.cssText = css;

		document.body.appendChild(div);

		return div;
	},

	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;
		} 
	}

}
			

			

			

			

			