function getXMLHttpRequest() {
	var xhr = null;
	
	if (window.XMLHttpRequest || window.ActiveXObject) {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			xhr = new XMLHttpRequest(); 
		}
	} else {
		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
		return null;
	}
	
	return xhr;
}


function page_php(page, fonction)
{
	var xhr = getXMLHttpRequest();

	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
			fonction(xhr.responseText); // C'est bon \o/
		}
	};

	xhr.open("GET", page, true);
	xhr.send(null);
}

function replaceAll(str, search, repl) {
 while (str.indexOf(search) != -1)
  str = str.replace(search, repl);
 return str;
}

// Remplace les caractères accentués
function supprimer_accent(str) {
 var norm = new Array('À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë',
'Ì','Í','Î','Ï', 'Ð','Ñ','Ò','Ó','Ô','Õ','Ö','Ø','Ù','Ú','Û','Ü','Ý',
'Þ','ß', 'à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î',
'ï','ð','ñ', 'ò','ó','ô','õ','ö','ø','ù','ú','û','ü','ý','ý','þ','ÿ');
var spec = new Array('A','A','A','A','A','A','A','C','E','E','E','E',
'I','I','I','I', 'D','N','O','O','O','0','O','O','U','U','U','U','Y',
'b','s', 'a','a','a','a','a','a','a','c','e','e','e','e','i','i','i',
'i','d','n', 'o','o','o','o','o','o','u','u','u','u','y','y','b','y');
 for (var i = 0; i < spec.length; i++)
  str = replaceAll(str, norm[i], spec[i]);
 return str;
 }

 
 
 
 
 
//##################################################################
// fonction change_checkbox_bdd : 
// fonction appellé par la fonction change_checkbox pour modifier la checkbox dans la BDD
//
// id: id de l'element a modifier dans la bdd
// champs: le chmps de la bdd a modifier
// la table de la bdd a modifier
//##################################################################

function change_checkbox_bdd(table,champs,id){
	

	var xhr = getXMLHttpRequest(); // Voyez la fonction getXMLHttpRequest() définie dans la partie précédente
	xhr.open("POST", "commun/ajax/editCheckbox.php?champs="+champs+"&table="+table+"&id="+id, true);

	xhr.send(null);
}
		
		 
//##################################################################
// fonction changeCheckbox 
// fonction gerant les checkbox utilisant les images tick.JPg et cross.JPG
//
// id_checkbox: id du checkbox qui sera modifié
// id_image: id de l'image qui sera modifié
// texte_span_oui, texte_span_non : valeurs du span, ce span prend la valeur de texte_span_oui si la checkbox est cochée, texte_span_non sinon.
// id_span: id du span qui contient le texte "option activé / desactivé" /!\laisser null si il y a pas besoin de texte
// table, champs,id_bdd: ce que la checkbox doit modifié dans la bdd 	/!\ laisser null si pas de modification dans la BDD
// arborescence: voir fonction_arbo()
//##################################################################
function changeCheckbox(id_checkbox,id_image,id_span,table,champs,id_bdd){

	if(document.getElementById(id_checkbox).checked == true){ // si la checkbox est coché
		document.getElementById(id_checkbox).checked = false;	// on décoche la checkbox
		document.getElementById(id_image).src = "../img/structure/cross.png"; // on change limage par la croix
		
		if(!(id_bdd == null || table == null || champs == null)) { // on modifit dans la BDD si nécéssaire (aucun champs null)
			change_checkbox_bdd(table,champs,id_bdd);
		}
		temp = id_checkbox.split('_');
		if(temp[1] == 'checkLivraisonProduit')
		{
			document.getElementById("div_livre_produit_"+temp[2]).style.display ="block";
			document.getElementById("definir_nombre_livre_"+temp[2]).style.display ="none";

			document.getElementById("commande_produit_action_ligne_"+temp[2]).style.backgroundColor="#FFbbb9";
			if(document.getElementById('code_vendeur_livraison') == null)
			{
				document.getElementById("commande_bouton_livre__submit").className="ajout";
				document.getElementById("commande_bouton_livre__submit").disabled="";
			}

		}
		
			
	}
	else{ // si checkbox non coché
		document.getElementById(id_checkbox).checked = true;	// on coche la checkbox
		document.getElementById(id_image).src = "../img/structure/tick.png";	//on change limage par le tick
		
		if(!(id_bdd == null || table == null || champs == null)) {	// on modifit la bdd si necessaire (aucun champs null)
			change_checkbox_bdd(table,champs,id_bdd);
		}
		temp = id_checkbox.split('_');
		if(temp[1] == 'checkLivraisonProduit')
		{
			document.getElementById("div_livre_produit_"+temp[2]).style.display ="none";
					document.getElementById("definir_nombre_livre_"+temp[2]).style.display ="block";

			document.getElementById("commande_produit_action_ligne_"+temp[2]).style.backgroundColor="#c8Fec8";
			if(document.getElementById('code_vendeur_livraison') == null)
			{
				document.getElementById("commande_bouton_livre__submit").className="ajout";
				document.getElementById("commande_bouton_livre__submit").disabled="";
			}
				
		}
		
			
	}
}
