bhvQueue = new Array();
var firstLoad = true;
var bhvSelector = 0;
var bhvListener = 0;

function newBhv(parameters)
{
	bhvQueue.push(parameters);
}

function clearBhvQueue()
{
	bhvQueue.clear();
	bhvSelector = 0;
	bhvListener = 0;
	firstLoad = false;
}

function checkBhvQueue()
{
	if(bhvListener == 0)
	{
		bhvListener == 1;
		execBhvQueue();
	}
}

function execBhvQueue()
{
	
	if(bhvQueue[bhvSelector]["typeBhv"] == 'getUpdater')
	{
		getUpdater();
	}
	else if(bhvQueue[bhvSelector]["typeBhv"] == 'postUpdater')
	{
		postUpdater();
	}
	else if(bhvQueue[bhvSelector]["typeBhv"] == 'getRequest')
	{
		getRequest();
	}
	else if(bhvQueue[bhvSelector]["typeBhv"] == 'postRequest')
	{
		postRequest();
	}
	else if(bhvQueue[bhvSelector]["typeBhv"] == 'staticBhv')
	{
		staticBhv();
	}
	
}

function updateSelector()
{
	bhvSelector = bhvSelector+1;
	if(bhvSelector < bhvQueue.size())
	{

		/*$('loading').setStyle({
			display: 'block'
		});
		
		$('loadingBar').setStyle({
			width: loadBar()+'%'
		});
*/
		
		execBhvQueue();
	}
	else
	{
/*
		$('loading').setStyle({
			display: 'none'
		});*/

		clearBhvQueue();
	}
}


function newGetUpdater(idBhv, idContainer, bhvParams)
{
	newBhv({typeBhv: 'getUpdater', idBhv: idBhv, idContainer: idContainer, bhvParams: bhvParams});
}


function newGetRequest(idBhv, bhvParams)
{
	newBhv({typeBhv: 'getRequest', idBhv: idBhv, bhvParams: bhvParams});
}

function newPostUpdater(idBhv, idContainer, idForm, bhvParams)
{
	newBhv({typeBhv: 'postUpdater', idBhv: idBhv, idContainer: idContainer, idForm: idForm, bhvParams: bhvParams});
}

function newPostRequest(idBhv, idForm, bhvParams)
{
	newBhv({typeBhv: 'postRequest', idBhv: idBhv, idForm: idForm, bhvParams: bhvParams});
}

function newStaticBhv(idBhv, typeStaticBhv, idElement, bhvParams)
{
	
	newBhv({typeBhv: 'staticBhv', idBhv: idBhv, typeStaticBhv: typeStaticBhv, idElement: idElement, bhvParams: bhvParams});
}

function getUpdater()
{
	var idBhv = bhvQueue[bhvSelector]["idBhv"];
	var idContainer = bhvQueue[bhvSelector]["idContainer"];
	var bhvParams = bhvQueue[bhvSelector]["bhvParams"];
	var url = '/core/php/_hivecore.php';
	
	new Ajax.Updater(idContainer, url, {
		parameters: { idBhv: idBhv, idContainer: idContainer, bhvParams: bhvParams },
		method: 'get',
		encoding: 'iso-8859-1',
		
		onCreate: function() {			
		},
		
		onComplete: function() {
			updateSelector();
		}
		
	});
}

function postUpdater()
{
	var idBhv = bhvQueue[bhvSelector]["idBhv"];
	var idContainer = bhvQueue[bhvSelector]["idContainer"];
	var idForm = bhvQueue[bhvSelector]["idForm"];
	var bhvParams = bhvQueue[bhvSelector]["bhvParams"];
	var k = $(idForm).serialize(true);	
	var url = '/core/php/_hivecore.php?idBhv='+idBhv+'&idForm='+idForm+'&idContainer='+idContainer+'&bhvParams='+bhvParams;
	new Ajax.Updater(idContainer, url, {
		parameters:k,
		contentType: 'application/x-www-form-urlencoded',
		method: 'post',
		encoding: 'iso-8859-1',
		
		onCreate: function() {
			
		},
		
		onComplete: function() {
			updateSelector();
		}
		
	});

}

function getRequest()
{
	var idBhv = bhvQueue[bhvSelector]["idBhv"];
	var bhvParams = bhvQueue[bhvSelector]["bhvParams"];
	var url = '/core/php/_hivecore.php';
	
	new Ajax.Request(url, {
		parameters: { idBhv: idBhv, bhvParams: bhvParams },
		method: 'get',
		encoding: 'iso-8859-1',
		
		onCreate: function() {			
		},
		
		onComplete: function() {
			updateSelector();
		}
		
	});
}

function postRequest()
{
	var idBhv = bhvQueue[bhvSelector]["idBhv"];
	var idForm = bhvQueue[bhvSelector]["idForm"];
	var bhvParams = bhvQueue[bhvSelector]["bhvParams"];
	
	var k = $(idForm).serialize(true);	
	var url = '/core/php/_hivecore.php?idBhv='+idBhv+'&idForm='+idForm+'&bhvParams='+bhvParams;
	new Ajax.Request(url, {
		parameters:k,
		contentType: 'application/x-www-form-urlencoded',
		method: 'post',
		encoding: 'iso-8859-1',
		
		onCreate: function() {			
		},
		
		onComplete: function() {
			updateSelector();
		}
		
	});


}

function getAnchor()
{
	var URLanchor =window.location.hash;
	var URLanchor = URLanchor.substring(1,URLanchor.length);
	var reg=new RegExp("/");
	var URLtable=URLanchor.split(reg);
	
	currentPage = new Array();
	currentPage = URLtable;
	
	return currentPage;
}
