function $(string){ 
  return document.getElementById(string); 
}

// Affiche/Cache un bloc avec ID
function affCache_bloc(id){
  if ( $(id).style.display == "none" ){
    $(id).style.display = "block";
  }
  else{
    $(id).style.display = "none";
  }
}

// Affiche un bloc et cache l'autre bloc
function affAltern_bloc(id1, id2){
  if( $(id1).style.display == "block" || $(id2).style.display == "none" ){
    $(id2).style.display = "block";
    $(id1).style.display = "none";
  }
  else if( $(id2).style.display == "block" || $(id1).style.display == "none" ){
    $(id2).style.display = "none";
    $(id1).style.display = "block";
  }
}

// Popup
function popup(page, width, height){
  window.open(page, '', config='height='+height+', width='+width+', toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no');
}

/*------------------------------------------*/
/*  Création d'une instance XMLHttpRequest  */
/*------------------------------------------*/
function xmlGetObject() {
  var xhr_object = null;
  if( window.XMLHttpRequest ) //Firefox, Opéra
	{
		xhr_object = new XMLHttpRequest();
		if (xhr_object.overrideMimeType) 
		{
			xhr_object.overrideMimeType('text/xml');
		}
	} 
	else if( window.ActiveXObject ) //Internet Explorer
	{
		try {
			xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e)	{
			try {
				xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
			}
		}
  }
  return xhr_object;
}

/*------------------------*/
/* Appel d'un fichier PHP */
/*------------------------*/
function file(fichier){
  var xhr_object = xmlGetObject();
  xhr_object.open("GET", fichier, false); //méthode, URL, false=synchrone/true=asynchrone
  xhr_object.setRequestHeader("Content-Type", "text/xml; charset=iso-8859-1");
  xhr_object.send(null);  //Envoi la requête sans paramètres
  
  if( xhr_object.status == 200 ){ //Si la réponse ne contient pas d'erreur
    return (xhr_object.responseText); //Renvoi du résultat en format texte
  }
  else{
    return (xhr_object.responseText); //Renvoi l'erreur
  }
}

/*-------------------*/
/* Actualiser un DIV */
/*-------------------*/

function refreshDiv(id, fichier, method){
var xhr_object = xmlGetObject();
	xhr_object.open(method, fichier, true);
	xhr_object.onreadystatechange = function()
	{
		if(xhr_object.readyState == 4 && xhr_object.status == 200){
			$(id).innerHTML = xhr_object.responseText;
		}
		else{
      $(id).innerHTML = '<img src="/images/design/handle_big.gif" />';
    }
	}
	xhr_object.setRequestHeader('Content-Type','text/xml; charset=iso-8859-1');
	xhr_object.send(null);
}

/**
 *@desc		Générer nouveau mot de passe
 *@param	void
 *@return	string
 */   
function updatePassword(){
	
	var email = $('email').value;
	
	result = file("/html_include/javascript/ajax_boutique/ajax-recuperation-mdp.php?email="+email);

	if( result != '' ){
		alert(result);
	}
}

/*--------------------*/
/* Ajouter un produit */
/*--------------------*/
function ajoutProduit(id){
  var prix_unitaire = $('prix_unitaire').innerHTML;
  var tab_pu = prix_unitaire.split("&nbsp;");
  prix_unitaire = tab_pu[0];
  var nom = $('nom_produit').innerHTML;
  var reference = $('reference_produit').innerHTML;
  	
  result = file("/html_include/javascript/ajax_boutique/ajax-ajout-produit.php?id_produit="+id+"&prixunit="+prix_unitaire+"&nom="+nom+"&ref="+reference);
  
  if( result == true ){
    $('popup').style.display = "block"; //Popup indiquant que l'article a été ajouté
    $('message').innerHTML = "La référence suivante a été ajoutée à votre panier :";
    $('description').innerHTML = nom+" (";
    $('description').innerHTML += reference+")";
  }
  else{
    $('popup').style.display = "block";
    $('message').innerHTML = "Une erreur est survenue !";
    $('description').innerHTML = result;
  }
}

/*----------------------*/
/* Supprimer un produit */
/*----------------------*/
function supprimerProduit(id){
  	
  result = file("/html_include/javascript/ajax_boutique/ajax-suppr-produit.php?id_produit="+id);
  
  //Popup
  if( result == true ){
    $('popup_suppression').style.display = "block";
    $('message_suppr').innerHTML = "Le produit a été supprimé";
    $('description_suppr').innerHTML = '';
  }
  else{
    $('popup_suppression').style.display = "block";
    $('message_suppr').innerHTML = "Une erreur est survenue !";
    $('description_suppr').innerHTML = result;
  }
  
  //Recharger la liste de sélection
  //refreshDiv('panier', 'liste_article.php', 'post');
}

/*---------------------*/
/* Modifier un produit */
/*---------------------*/
function modifProduit(id){  
	setTimeout('recalcul('+id+')', 1000);
}

function recalcul(id){
	var quantite = $('qte-'+id).value;
	if(quantite!=""){
	  //Modifie la session avec la quantité
	  retour = file('/html_include/javascript/ajax_boutique/ajax-modif-produit.php?id_produit='+id+'&quantite='+quantite);
	  
	  if(retour != 1){
	  	alert(retour);
	  }
	  
	  //Rappel de la page pour actualiser
	  window.location = "/index.php?section=15&etape=1";
  }
}

/*------------------------------*/
/* Gestion du mode de livraison */
/*------------------------------*/
function modeLivraison(id){
  
  result = file("/html_include/javascript/ajax_boutique/ajax-choix-livraison.php?livraisonID="+id);
  $('total').innerHTML = result;
}


/*------------------------------*/
/* Vérification d'un formulaire */
/*------------------------------*/
function checkForm(formulaire){
  
  var form = document.forms[formulaire];
  var element = form.elements;
  var regEx =/^check-(.+)/;
  
  function trim(string){
    return string.replace(/^\s+/g,'').replace(/\s+$/g,'');
  } 
  
  for( var i = 0 ; i < element.length ; i++ ){
    
    if( regEx.test( trim(element[i].id.toString()) ) ){
    
      switch(element[i].type){
        
        case "text":
        if( trim(element[i].value).length <= 0 ){
          alert("Vous devez entrer un identifiant");
          element[i].style.backgroundColor = "#EF5959";
          element[i].focus();
          return false;
        }
        break;
        
        case "password":
        if( trim(element[i].value).length <= 0 ){
          alert("Vous devez entrer un mot de passe");
          element[i].style.backgroundColor = "#EF5959";
          element[i].focus();
          return false;
        }
        break;
      }
    }
  }
}

function couleur(obj){
  obj.style.backgroundColor = "#FFFFFF";
}

function remplirChamp(id, champ){
  if((champ.value != '') && ($(id).value == '')){
    $(id).value = champ.value;
  }
}

function listeChange(liste, index){
  $(liste).options.selectedIndex = index;
}

/* Vérifie si la case CGV est coché */
function validCgv(){
	
	if( $('cgv').checked == true ){ 
		return(true); 
	}else{
		alert("Vous devez accepter les conditions générales de vente pour passer à l'étape suivante");
		return(false);
	}
}
