var dataSeparator1 = "|" ;
var dataSeparator2 = "#" ;

function sendRequest(url,callback,postData) {
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	req.onreadystatechange = function () {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
//			alert('HTTP error ' + req.status);
			return;
		}
		callback(req);
		
	}
	if (req.readyState == 4) return;
	req.send(postData);
}

/*function sendRequestSimple(url,postData) {
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	req.onreadystatechange = function () {
		if (req.readyState == 4){
			alert(req.responseText);
			return req.responseText ;
		}
		
	}
	req.send(postData);
}*/

var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}

/*  Fonctions custom
	Handlers
*/

function handleRequest_createPassword(req) {
	newPassword = req.responseText;
	document.forms["usagers_form"].mdp.value = newPassword;
}

function handleRequest_buildProvinceList(req) {
		
	var data = req.responseText.split(dataSeparator1) ;
	var form = data[0];
	var obj1 = new getObj("id_province");
	var obj2 = new getObj("province_autre");
	
	// Si le array data est de longueur 1, on a pas de province
	// Seul le nom du formulaire est passé
		
	if (data.length == 1) {
		
		obj1 = new getObj("id_province");
		obj1.style.display = "none";
		obj2.style.display = "inline";
		
	} else {
		
		var objList = document.forms[form].id_province;
		var selectedItem = -1 ;
		
		// On vide la liste
		for (x = objList.length; x >= 0; x--) {
			objList[x] = null;
		}
		
		for (var i = 1; i < data.length-1; i++)
		{
			var arr_data_details = data[i].split(dataSeparator2) ;
			objList[objList.length] = new Option(arr_data_details[1], arr_data_details[0]);
			if (arr_data_details[2] == "1") {
				selectedItem = i-1 ;
			}
		}
		
		// Sélectionne le default
		if (selectedItem >- 0)
		{
			objList.selectedIndex = selectedItem ;
		}
		
		obj1.style.display = "inline";
		obj2.style.display = "none";
	
	}
}

function handleRequest_buildContentList(req) {
	
	
	var obj = new getObj("createFrom_id");
	var objList = document.forms['fnletter'].createFrom_id;
	var selectedItem = -1 ;
	
	// On vide la liste
	for (x = objList.length; x >= 0; x--) {
		objList[x] = null;
	}
	
	if (req.responseText != "") {
		var data = req.responseText.split(dataSeparator1) ;
		for (var i = 0; i < data.length; i++)
		{
			var arr_data_details = data[i].split(dataSeparator2) ;
			objList[objList.length] = new Option(arr_data_details[1], arr_data_details[0]);
			if (arr_data_details[2] == "1") {
				selectedItem = i ;
			}
		}
		
		// Sélectionne le default
		if (selectedItem >= 0)
		{
			objList.selectedIndex = selectedItem ;
		}
		obj.style.display = "block";
	} else {
		obj.style.display = "none";
	}
}

function handleRequest_showGroupName(req) {	
	var typeFournisseur = req.responseText;	
	var obj1 = new getObj("type_fournisseur");
	if(typeFournisseur==1){
		obj1.style.visibility = "visible";
	}
	else{
		obj1.style.visibility = "hidden";
	}
}
