var randomNum=Math.random();
var requests = 0;

function xmlRequest(controller,command,params) {
	
	$('loading_screen').show();
	requests++;
	
	var url = '/cgi-bin/aeneas';
	var rid = requests + randomNum;
	var pars = 'rid=' + rid;
	if (controller) {
		pars += '&controller=' + controller;
	}
	if (command) {
		pars += '&command=' + command;
	}
	if (params) {
		pars = pars + '&' + params;
	}
	
	var myAjax = new Ajax.Request(url,
		{
			method: 'post',
			parameters: pars,
			onSuccess: processSuccess,
			onFailure: processFailure
		});
		
}

function processSuccess(response) {
	$('loading_screen').hide();
	var xmldoc = response.responseXML.documentElement.getElementsByTagName('result');
	var i = 0;
	while (xmldoc[i]) {
		var type = xmldoc[i].getElementsByTagName('type')[0].firstChild.data;
		var content = xmldoc[i].getElementsByTagName('content')[0].firstChild.data;
		if (type == 'Error') {
			Element.update('body_box',content);
		}
		else if (type == 'Add') {
			var element_id = xmldoc[i].getElementsByTagName('element_id')[0].firstChild.data;
			new Insertion.Bottom(element_id, content);
		}
		else if (type == 'Update') {
			var element_id = xmldoc[i].getElementsByTagName('element_id')[0].firstChild.data;
			Element.update(element_id, content);
		}
		else if (type == 'Script') {
			eval(content);
		}
		else {
			alert('Invalid Type in Result');
		}
		i++;
	}
	//Element.update('main_body', response.responseText);
	
}

function processFailure(response) {
	Element.update('main_body', response.responseText);
	$('loading_screen').hide();
//	alert('Ajax Failed: '+response.responseText);
}

function setCookie(cookieName,cookieValue,nDays) {
	var today = new Date();
	var expire = new Date();
	if (nDays==null || nDays==0) nDays=1;
	expire.setTime(today.getTime() + 3600000*24*nDays);
	document.cookie = cookieName+"="+escape(cookieValue) + ";path=/;expires="+expire.toGMTString();
}
