/**********************************/

/* Transforme certains caractères en leur équivalent hexadécimal (ex: é -> %E9).
*/
function url_encode (plaintext)
{
	var SAFECHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.!~*'()";
	var HEX = "0123456789ABCDEF";

	var encoded = "";
	var ch = "";
	var charCode = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		ch = plaintext.charAt(i);
		if (ch == " ")
			encoded += "+"; // x-www-urlencoded, rather than %20
		else if (SAFECHARS.indexOf(ch) != -1)
			encoded += ch;
		else {
			charCode = ch.charCodeAt(0);
			if (charCode > 255) {
				encoded += "+";
			}
			else
				encoded += "%" + HEX.charAt((charCode >> 4) & 0xF) + HEX.charAt(charCode & 0xF);
		}
	}
	return encoded;
}


function sendData (page, data, method, elementid) {
	if (document.all) // Internet Explorer
		var XhrObj = new ActiveXObject ("Microsoft.XMLHTTP");
	else // Mozilla
		var XhrObj = new XMLHttpRequest ();
	
	method = method.toUpperCase ();
	
	if (method == "POST")
		XhrObj.open ("POST", page, false);
	else  {
		if (data == 'null')
			XhrObj.open ("GET", page, false);
		else
			XhrObj.open ("GET", page+"?"+data, false);
	}
	
	/*XhrObj.onreadystatechange = function () {
		
	}*/
		
	if (method == "POST") 
	{
		XhrObj.setRequestHeader ('Content-Type','application/x-www-form-urlencoded');
		XhrObj.send (data);
		if (XhrObj.readyState == 4 && XhrObj.status == 200)
			document.getElementById (elementid).innerHTML = XhrObj.responseText;
		if (XhrObj.readyState == 4 && XhrObj.status == 404)
			alert('Fichier inexistant : ' + page);
	}
	else
	{
		XhrObj.send (null);
		if (XhrObj.readyState == 4 && XhrObj.status == 200)
			document.getElementById (elementid).innerHTML = XhrObj.responseText;
		if (XhrObj.readyState == 4 && XhrObj.status == 404)
			alert('Fichier inexistant : ' + page);
	}
}

/* Version perso
*/
function submit_ajax (input, elementid) 
{
 	//alert(input);
	var form = input.form;
	
	var elts = form.elements;
	
	var data = '';
	
	// Récupération de tous les champs du formulaire.
	for (i = 0; i < elts.length; ++i) 
	{
		if (data == '')
			data = url_encode(elts[i].name) + '=' + url_encode(elts[i].value);
		else
			data += '&' + url_encode(elts[i].name) + '=' + url_encode(elts[i].value);
	}
	
	//alert (form.action);
	//alert(elementid);
	//alert(	document.getElementById(elementid));
	//document.getElementById(elementid).innerHTML = '-- Traitement en cours --';
	sendData (form.action, data, form.method, elementid);
}
function prepare_data (input) 
{
 	//alert(input);
	var form = input.form;
	
	var elts = form.elements;
	
	var data = '';
	
	// Récupération de tous les champs du formulaire.
	for (i = 0; i < elts.length; ++i) 
	{
		if (data == '')
			data = url_encode(elts[i].name) + '=' + url_encode(elts[i].value);
		else
			data += '&' + url_encode(elts[i].name) + '=' + url_encode(elts[i].value);
	}
	
	//alert (form.action);
	//alert(elementid);
	//alert(	document.getElementById(elementid));
	//document.getElementById(elementid).innerHTML = '-- Traitement en cours --';
	return(data);
}


function submit_ajax_w_data (input, elementid, data) 
{
 	var form = input.form;
	
	var elts = form.elements;
	
	
	document.getElementById (elementid).innerHTML = '-- Traitement en cours --';
	sendData (form.action, data, form.method, elementid);
}


function confirm_and_submit_ajax(confirmation, input, elementid)
{
	if (confirm(confirmation))
	{
		submit_ajax (input, elementid, data);
	}
}

function confirm_and_submit_ajax_w_data(confirmation, input, elementid, data)
{
	if (confirm(confirmation))
	{
		submit_ajax_w_data (input, elementid, data);
	}
}


function sendData_with_code_after_exec (page, data, method, elementid, pos) 
{
	if (document.all) // Internet Explorer
		var XhrObj = new ActiveXObject ("Microsoft.XMLHTTP");
	else // Mozilla
		var XhrObj = new XMLHttpRequest ();
	
	method = method.toUpperCase ();
	
	if (method == "POST")
		XhrObj.open ("POST", page, false);
	else  
	{
		if (data == 'null')
			XhrObj.open ("GET", page, false);
		else
			XhrObj.open ("GET", page+"?"+data, false);
	}
			
	if (method == "POST") 
	{
		XhrObj.setRequestHeader ('Content-Type','application/x-www-form-urlencoded');
		XhrObj.send (data);
		if (XhrObj.readyState == 4 && XhrObj.status == 200)
		{	
			document.getElementById (elementid).innerHTML = XhrObj.responseText;
			for (ct= 1; ct < 100; ct++)
		{
				pos2 =  document.getElementById("reponses").scrollTop ;
			}				
			document.getElementById("reponses").scrollTop = pos;	
		}
		else
		{	
			alert (XhrObj.readyState);
		}		
		
		if (XhrObj.readyState == 4 && XhrObj.status == 404)
		{
			alert('Fichier inexistant : ' + page);
		}
	}
	
}

function pop_up(URL)
{
  day = new Date();
  id = day.getTime();
  eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=380,height=200,left = 140,top = 107');");
}
	
