var container = null;
var defaultParameter = null;
var loadingScreenIsCreated = false;		//can be set true to use own created window

var lock = false;

var pageAddress = "loader.php"

$(document).ready(
	function() {
		Start('MiddleContent');

		$("#navigationList a").bind('click', onSendRequest);
	}
);

function onSendRequest(event)
{
	var adress = $(this).attr('href');
	$(this).addClass('loading');
	sendRequest(adress);
	event.preventDefault();
	return true;
}

//This function is called to change a page or make an event
function sendRequest(adress)
{
	if (lock)
	{
		$("#navigationList a").css('color','gray');
		return;
	}
	var addressParts;
	var place;
	
	if ((place = adress.search(/\?/)) >= 0)
	{
		addressParts = adress.split("?");
	}
	else if ((place = adress.search(/#/)) >= 0)
	{
		addressParts = adress.split('#');
	}
	else
	{
		addressParts = ['',adress];
	}
	var parameters = addressParts[1];
	
	var params = parameters.split('&');
	var ArrParameters = {};
	for (i = 0; i < params.length; i++)
	{
		var variable = params[i].split('=');
		ArrParameters[variable[0]] = variable[1];
	}
	
	$.post(pageAddress, ArrParameters, pageHandler);
	
	if (parameters.length > 0)
	{
		location.href = "#"+parameters;
	}
	
	lock = true;
}

//This method is called by tge http request state changer
function pageHandler(data, textStatus, XMLHttpRequest)
{
	//load javascript
	var scriptTagStart = "<jscript>";
	var scriptTagEnd = "</jscript>";
	
	var startJSLine = data.search(scriptTagStart);
	var endJSLine = data.search(scriptTagEnd);
	
	if (startJSLine >= 0)
	{
		var javascript = data.substring(startJSLine + scriptTagStart.length,endJSLine);
		
		//execute javascript
		eval(javascript);
	}
	
	
	//load html
	var htmlTagStart = "<phtml>";
	var htmlTagEnd = "</phtml>";
	
	var startHTMLLine = data.search(htmlTagStart);
	var endHTMLLine = data.search(htmlTagEnd);

	if (startHTMLLine >= 0)
	{
		var html = data.substring(startHTMLLine + htmlTagStart.length,endHTMLLine);
		
		//place html
		if (container && html.length > 0)
		{
			$("#"+container).html(html);
			$("#ContentMiddle").css('display','block');
		}
	}
	
	lock = false;
	$("#navigationList a").removeClass('loading');
	$("#navigationList a").css('color','');
}

function Start(containerName)
{
	container = containerName;
	
	//read url
	var pageURL = document.location.toString();
	
	var delimeter = pageURL.search('#');
	
	if (delimeter < 0)
	{
		pageURL = "index.php?page=standard&id=12";
		delimeter = pageURL.search("page") - 1;
	}
	
	if (delimeter >= 0) {
		var pageInfo = pageURL.substring(delimeter + 1, pageURL.length);
		
		sendRequest(pageInfo);
	}
	else 
	{
		sendRequest(defaultParameters);
	}
}