// JavaScript Document

/* prix_total_panier, quantite_total_panier */

function	get_element(chaine, sous_chaine)
{
	var pos_begin = chaine.indexOf(sous_chaine, 0) + sous_chaine.length + 1;	
	var pos_end = chaine.indexOf("&", pos_begin);
	
	if (pos_end == -1)
		pos_end = chaine.length;
	
	var result = chaine.substring(pos_begin, pos_end);
	
	return (result);
}

function	init_xhr()
{
	var xhr;
		
	 try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
		catch (e) 
		{
			try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
			catch (e2) 
			{
			  try {  xhr = new XMLHttpRequest();     }
			  catch (e3) {  xhr = false;   }
			}
		 }
		 
	return (xhr);	 
}

function	ajouter_produit_au_panier(id_produit, stock, prix)
{
	var prix_total_panier = document.getElementById("prix_total_panier");
	var quantite_total_panier = document.getElementById("quantite_total_panier");
	var quantite_produit = document.getElementById("quantite").value;
	var personnalisation = document.getElementById("personnalisation").value;
	var option_produit2 = document.getElementById("option_produit2").value;

	var regexp = new RegExp("^[ a-zA-Z0-9]+$");
	if(regexp.test(personnalisation) == false && personnalisation.length != 0) {
		alert("Le message de personnalisation doit uniquement \ncontenir des lettres et/ou des chiffres");
		return;
	}
	
    if ( typeof this.reste == 'undefined' ) this.reste = stock;
	if (stock == 0 || this.reste == 0)
		{
		alert("Soit le produit est \351puis\351, soit tout notre stock se trouve dans votre panier!");
		return ;
		}
	this.reste -= quantite_produit;
	if (this.reste)
	{
	aff_quantite = '<select name="quantite" class="champ_attribut" id="quantite">';
	for (var i = 1; i <= this.reste; i++)
		aff_quantite += "<option value='" + i + "'>" + i + "</option>";
	aff_quantite += "</select>";
    document.getElementById("quantite_produit").innerHTML = aff_quantite;
	}
	else
	document.getElementById("quantite_produit").innerHTML =  '<select name="quantite" class="champ_attribut" id="quantite"> <option value="0">0</option></select>';

	var xhr = init_xhr();
 
    xhr.onreadystatechange  = function()
    { 
         if(xhr.readyState  == 4)
         {
              if(xhr.status  == 200)
			  	{
				var prix_panier_total = get_element(xhr.responseText, "prix_total");
					
				document.getElementById("quantite_popup").innerHTML = quantite_produit;
				document.getElementById("prix_total_popup").innerHTML = quantite_produit + " * " + prix + " = "  + (quantite_produit * prix) + "euros";
				document.getElementById("panier_total_popup").innerHTML = prix_panier_total + " euros";
				
				/*if (navigator.userAgent)if (agt.indexOf("safari") != -1)*/
				$(".produit_popup").fadeIn("fast");
				var quantite_total = get_element(xhr.responseText, "quantite_total");
				 prix_total_panier.innerHTML = prix_panier_total;
				 if (quantite_total == "0" || quantite_total == "1")
					 quantite_total_panier.innerHTML = "(" + get_element(xhr.responseText, "quantite_total") + ")" + " article";
				 else
					 quantite_total_panier.innerHTML = "(" + get_element(xhr.responseText, "quantite_total") + ")" + " articles";
				}
              else 
                 alert("Le serveur ne répond pas");
         }
    }; 

   xhr.open("get", "gere_panier.php?action=ajouter&id_produit=" + id_produit + "&quantite_produit=" + quantite_produit + "&personnalisation=" + personnalisation + "&option2=" + option_produit2, true);
   xhr.send(null);	
}

function	changer_quantite_produit_au_panier(id_produit, quantite, ports, reduc)
{
	var prix_total_panier = document.getElementById("prix_total_panier");
	var quantite_total_panier = document.getElementById("quantite_total_panier");
	var panier_prix_general = document.getElementById("panier_prix_general");
	var panier_quantite_general = document.getElementById("panier_quantite_general");
	var panier_prix_final = document.getElementById("panier_prix_final");
	
	var prix_total_this_produit = document.getElementById("prixtotal" + id_produit);
//typeOf(maVariable)=='undefined
	//if(typeof(document.getElementById("detail_personnalisation_" + id_produit))=="undefined")
		var detail_personnalisation = document.getElementById("detail_personnalisation_" + id_produit);
	//else
		
	
	var xhr = init_xhr(); 
	
    xhr.onreadystatechange  = function()
    { 
         if(xhr.readyState  == 4)
         {
              if(xhr.status  == 200)
			  {
				var p_total = get_element(xhr.responseText, "prix_total");
				var personnalisation = get_element(xhr.responseText, "personnalisation");
				
				detail_personnalisation.innerHTML = personnalisation;

				panier_prix_general.innerHTML = p_total + "&euro;";
			    prix_total_panier.innerHTML = p_total;
			    panier_prix_final.innerHTML = (Number(p_total) + Number(ports)) - (Number(reduc)) + "&euro;";
				
				prix_total_this_produit.innerHTML = get_element(xhr.responseText, "this_total") + "&euro;";
				
				panier_quantite_general.innerHTML = get_element(xhr.responseText, "quantite_total");
				
				 var quantite_total = get_element(xhr.responseText, "quantite_total");
				 
				 
				 if (quantite_total == "0" || quantite_total == "1")
					 quantite_total_panier.innerHTML = "(" + get_element(xhr.responseText, "quantite_total") + ")" + " article";
				 else
					 quantite_total_panier.innerHTML = "(" + get_element(xhr.responseText, "quantite_total") + ")" + " articles";
				
				}
              else 
                 alert("Le serveur ne répond pas");
         }
    }; 

   xhr.open("get", "gere_panier.php?action=changer&id_produit=" + id_produit + "&quantite=" + quantite, true);
   xhr.send(null);	
}

function	vider_panier()
{	
	if (confirm("Voulez-vous vraiment vider le panier?"))
	{
		var currentLocation =  document.location.href;
		var prix_total_panier = document.getElementById("prix_total_panier");
		var quantite_total_panier = document.getElementById("quantite_total_panier");
		var xhr = init_xhr(); 
	 	
		xhr.onreadystatechange  = function()
		{ 
			 if(xhr.readyState  == 4)
			 {
				if(xhr.status  == 200)
				{
					var quantite_total = get_element(xhr.responseText, "quantite_total");
					prix_total_panier.innerHTML = get_element(xhr.responseText, "prix_total");
					if (quantite_total == "0" || quantite_total == "1")
						quantite_total_panier.innerHTML = "(" + get_element(xhr.responseText, "quantite_total") + ")" + " article";
					else
						quantite_total_panier.innerHTML = "(" + get_element(xhr.responseText, "quantite_total") + ")" + " articles";
					
					if (currentLocation.indexOf("/article",0) != "-1" || currentLocation.indexOf("/panier.php",0) != "-1")
					window.location.replace(currentLocation);
				}
				else 
					alert("Le serveur ne répond pas");
			 }
		}; 
	
	   xhr.open("get", "gere_panier.php?action=vider", true);
	   xhr.send(null);	
	}
}

function	changer_image_option()
{	
	var id_option = document.getElementById("option_produit2").value;
	var option_image = document.getElementById("option_image");
	var option_prix = document.getElementById("option_prix");
	
	//alert(id_option);
	//alert(option_image);
	
	var xhr = init_xhr(); 
 
	xhr.onreadystatechange  = function()
	{ 
		if(xhr.readyState  == 4)
		{
			if(xhr.status  == 200)
			{
				//alert(get_element(xhr.responseText, "source"));
				option_image.setAttribute("src", get_element(xhr.responseText, "source"));
				option_prix.innerHTML = get_element(xhr.responseText, "prix") + " &euro;";
			}
			else 
			{
				alert("Le serveur ne répond pas");
			}
		 }
	}; 

   xhr.open("get", "option.php?id_option=" + id_option, true);
   xhr.send(null);	
}

