var loading_frame_width = 80;
var loading_movebar_width = 20;
var loading_step = 2;
var loading_step_interval = 30;
var loading_ping = true;
var loading_direction = "+"; // smer pohybu "+" je doprava, "-" dolava

var loading_do = false;
var loading_do_init = false;

var i_loading_block   = "loading_block";
var i_loading_movebar = "loading_movebar";
var e_loading_block = null;
var e_loading_movebar = null;

function loading_init()
{
	e_loading_movebar = document.getElementById(i_loading_movebar);
	e_loading_block   = document.getElementById(i_loading_block);
	//set_opacity(e_loading_block, 70);
	fadein2(e_loading_block, 0, 30, 80);
	setTimeout("loading_do_init = false;", 30*25)
	e_loading_movebar.style.left = "-" + loading_movebar_width + "px";

	loading_start();
}

function loading_stop()
{
	if(loading_do_init)
	{

		setTimeout("loading_stop();", 50);
		return;
	}

	if(loading_do)
	{
		loading_do = false;
		//e_loading_block.style.display = "none";
		fadeout(e_loading_block, 80, 30);
	}
}

function loading_message(id, message)
{
	var elem = document.getElementById(id);
	if(elem)
	{
		elem.innerHTML = message;
	}
}

function loading_start()
{
	if(! loading_do)
	{
		loading_do_init = true;
		loading_do = true;
		loading_progress();
		e_loading_block.style.display = "block";
	}
}

function loading_progress()
{
	if(loading_do)
	{
		loading_movebar_step();
		setTimeout("loading_progress();", loading_step_interval);
	}
}

function loading_movebar_step()
{
	var movebar_position = parseInt(e_loading_movebar.style.left, 10);

	if(loading_ping)
	{
		if((loading_direction == "+") && (movebar_position >= (loading_frame_width - loading_movebar_width)))
		{
			loading_change_direction();
		}
		else if((loading_direction == "-") && (movebar_position <= 0))
		{
			loading_change_direction();
		}

		if(loading_direction == "+")
			e_loading_movebar.style.left = (movebar_position + loading_step) + "px";
		else
			e_loading_movebar.style.left = (movebar_position - loading_step) + "px";

	}
	else
	{
		if(loading_direction == "+")
		{
			if(movebar_position < loading_frame_width)
			{
				e_loading_movebar.style.left = (movebar_position + loading_step) + "px";
			}
			else
			{
				e_loading_movebar.style.left = loading_changed_direction() + loading_movebar_width + "px";
			}
		}
		else if(loading_direction == "-")
		{
			if(movebar_position > (- loading_movebar_width))
			{
				e_loading_movebar.style.left = (movebar_position - loading_step) + "px";
			}
			else
			{
				e_loading_movebar.style.left = loading_changed_direction() + (loading_frame_width) + "px";
			}
		}
	}
}

function loading_changed_direction()
{
	if(loading_direction == "+")
		return "-";
	else if(loading_direction == "-")
		return "+";
	else
		return "+";
}
function loading_change_direction()
{
	loading_direction = loading_changed_direction();
}
function loading_change_ping(){
	loading_ping = ! loading_ping;
}