//var httpObj=null;

function newHermes()
{
       try {
              return new XMLHttpRequest();
       } catch (e) {
              return new ActiveXObject("Microsoft.XMLHTTP");
       }
}

function xhrPost(method,params)
{
	//if ( httpObj != null ) return;
	
	hermes = newHermes();
	hermes.open("POST",method+".ajax",true);

	hermes.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	hermes.setRequestHeader("Content-length", params.length);
	hermes.setRequestHeader("Connection", "close");

	hermes.onreadystatechange = function(){
		if ( hermes.readyState==4 ) {
			if (hermes.status==200 ) {
					crossRoad(hermes.responseXML);
			} else {
					alert("AJAX ERROR ["+hermes.status+"]");
			}
			//hermes = null;
		}
	}
	
	hermes.send(params);
}

function crossRoad(mythXML)
{
	//get all the actions
	var actions = mythXML.getElementsByTagName('action');
	
	//manage each action
	for (step=0;step<actions.length;step++)
	{
		//get function name
		var executed = actions[step].getAttribute("function");
		
		//get parametres
		if ( (actions[step].childNodes.length == 1) && 
			( (actions[step].firstChild.nodeType == 3) || (actions[step].firstChild.nodeType == 4) ) ){
			var params = actions[step].firstChild.nodeValue;
		} else {
			var params = actions[step];
		}
		
		//run function if exists
		if ((typeof window[executed]) == "function"){
			window[executed](params);
		}
	}
}


function jsEval(element)
{
	var AllScripts=document.getElementById(element).getElementsByTagName("script");
	for (var i=0; i<AllScripts.length; i++) {
		var s=AllScripts[i];
		if (s.src && s.src!="") {
			// Précédement asynchrone, mis en synchrone pour éviter des problèmes de dépendances de scripts
			eval(getFileContent(s.src))
		} else {
			eval(s.innerHTML)
		}
	}
}

