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 = 'Töltés';
		} 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
		var left = clientWidth - div.offsetWidth;
		left = scrollLeft + left;
			
		// Set position
		div.style.position = 'absolute';
		div.style.left = left + 'px';
		//div.style.left = (window.screen.width/2) + 'px';
		div.style.top = scrollTop + 'px';
		//div.style.left = (window.screen.height/2) + 'px';
	},

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

		div.innerHTML = '<img src=images/loading.gif align=center>&nbsp;Töltés';

		var css = "border: 1px solid black;"
		css += "width: 100px;";
		css += "padding: 10px;";
		css += "background-color: #EFEFEF;";
		css += "color: #050c1c;";
		css += "font-weight: bold;";

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

}
			

			

			

			

			