var xhr = null;

function getXhr()
 {
  if(window.XMLHttpRequest) xhr = new XMLHttpRequest(); 
  else if(window.ActiveXObject)
   {  
    try
     {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
     }
    catch (e)
     {
      xhr = new ActiveXObject("Microsoft.XMLHTTP");
     }
   }
  else 
   { 
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest, veuillez le mettre à jour"); 
    xhr = false; 
   } 
 }
 
function affiche_ajout_panier(ref,event) {
document.ajout_panier.ref.value=ref;
document.getElementById('ajout_panier_ok').style.display="none";
document.getElementById('formulaire_ajout_panier').style.display="block";
var x = event.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft);
var y = event.clientY + (document.body.scrollTop || document.documentElement.scrollTop);

	document.getElementById("ajout_panier").style.left=x+"px";
	document.getElementById("ajout_panier").style.top=y+"px";
	document.getElementById("ajout_panier").style.visibility="visible";
}

function disable_ajout_panier() {
document.ajout_panier.ref.value="";
document.getElementById("ajout_panier").style.visibility="hidden";
}

function affiche_modif_qte(ref,event) {
document.modif_qte.ref.value=ref;
var x = event.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft);
var y = event.clientY + (document.body.scrollTop || document.documentElement.scrollTop);

	document.getElementById("modif_qte").style.left=x+"px";
	document.getElementById("modif_qte").style.top=y+"px";
	document.getElementById("modif_qte").style.visibility="visible";
}

function disable_modif_qte() {
document.modif_qte.ref.value="";
document.getElementById("modif_qte").style.visibility="hidden";
}

 function prod_ajout_panier() {
  getXhr();
  xhr.onreadystatechange = function()
   {
    if(xhr.readyState == 4 && xhr.status == 200)
     {
	  var response = xhr.responseText;
	  
      if (response=="1") {
		  document.getElementById('ajout_panier_ok').style.display='block';
		  document.getElementById('formulaire_ajout_panier').style.display='none';
		  document.getElementById('lien_ajout_panier_'+document.ajout_panier.ref.value).style.visibility='hidden';
		  document.getElementById('erreur').innerHTML='';
		  if (document.getElementById('contenu_panier')) {
			var panier=document.getElementById('contenu_panier').innerHTML;	
		  	if (panier=="Panier vide") document.getElementById('contenu_panier').innerHTML='1 article';
			else {
				var maReg = new RegExp( "^[0-9]+", "gi" ) ;
				var resultat = panier.match( maReg ) ;
				var nbre=resultat[0];
				document.getElementById('contenu_panier').innerHTML= (parseInt(nbre)+1)+' articles';
			}
		  }
	  } else document.getElementById('erreur').innerHTML=response;
     }
   }
  // On envoie la requete
  xhr.open("POST",'/includes/ajout_panier.php',true);
  xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  xhr.send("ref="+document.ajout_panier.ref.value+"&qte="+document.ajout_panier.qte.value);
 }

function prod_modif_qte() {
var qte=document.modif_qte.qte.value;
if (!qte) alert ('Erreur: indiquez la quantité souhaité avant de valider !');
	else if (qte==0) alert ('Erreur: la quantité ne peut être nulle !');
		else {
		var MonReg = new RegExp("^[0-9]+$", "g");
		if (!MonReg.test(qte) ) alert ('Erreur: la quantité ne doit contenir que des chiffres !'); else document.modif_qte.submit();
		}
}

function sup_panier(ref) {
resultat=confirm('Etes vous sûr(e) de vouloir supprimer ce produit de votre panier ?');
if (resultat=="1") document.location.href="panier.php?sup="+ref;
}

function vider_panier() {
resultat=confirm('Etes vous sûr(e) de vouloir vider votre panier ?');
if (resultat=="1") document.location.href="panier.php?vider=1";
}

function effaceOption(objet) {
	var j;
	for (j=objet.length-1; j>=0; j--) objet.options[j] = null;
}

 function maj_modeles(marque,modele) {
  getXhr();
  xhr.onreadystatechange = function()
   {
    if(xhr.readyState == 4 && xhr.status == 200)
     {
	  var response = xhr.responseText;
      response = response.split('//');
		  effaceOption(document.search_prod.modele);
		  document.getElementById('select_modele').style.visibility='visible';
		  document.search_prod.modele.options[0]=new Option('Indifférent','');
		  	  
      if (response[0]=="1") {
				liste = response[1].split('&&');
	  		for(var a=0; a < liste.length; a++) document.search_prod.modele.options[a+1]=new Option(liste[a],liste[a]);
	  		document.search_prod.modele.value=modele;
	  	} // else document.getElementById('select_modele').style.visibility='hidden';
     }
   }
  // On envoie la requete
  xhr.open("POST",'/includes/maj_modele.php',true);
  xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  xhr.send("marque="+marque);
 }

function redimImage(inImg, inMW, inMH){  
  // Cette function recoit 3 parametres
  // inImg : Chemin vers l'image
  // inMW  : Largeur maximale
  // inMH  : Hauteur maximale
  var maxWidth = inMW;
  var maxHeight = inMH;
  // Declarations des variables "Nouvelle Taille"
  var dW = 0;
  var dH = 0;
  // Declaration d'un objet Image
  var oImg = new Image();
  // Enregistrement des varaibles sur l'image
  oImg.maxWidth = inMW;
  oImg.maxHeight = inMH;
  
  oImg.onload = function(){
    /* Quand on est dans une fonction évenement, du style onload, "this"
    * correspond à l'objet qui possede la fonction. Dans notre cas, c'est l'image.
    * De même, on est pas sûr de retrouver les variables de la fonction de départ.
    *C'est pour cela que j'ai enregistré les tailles max dans l'objet l'image. */
    
    // On recupere les tailles reelles
    var h = dH = this.height;
    var w = dW = this.width;
    
	// Si la largeur ou la hauteur depasse la taille maximale
    if ((h >= this.maxHeight) || (w >= this.maxWidth)) {
      // Si la largeur et la hauteur depasse la taille maximale
      if ((h >= this.maxHeight) && (w >= this.maxWidth)){
        // On cherche la plus grande valeur
        if (h > w) {
        dH = this.maxHeight;
        // On recalcule la taille proportionnellement
        dW = parseInt((w * dH) / h, 10);
        } else {
        dW = this.maxWidth;
        // On recalcule la taille proportionnellement
        dH = parseInt((h * dW) / w, 10);
        }
      } else if ((h > this.maxHeight) && (w < this.maxWidth)) {
        // Si la hauteur depasse la taille maximale
        dH = this.maxHeight;
        // On recalcule la taille proportionnellement
        dW = parseInt((w * dH) / h, 10);
      } else if ((h < this.maxHeight) && (w > this.maxWidth)) {
        // Si la largeur depasse la taille maximale
        dW =this.maxWidth;
        // On recalcule la taille proportionnellement
        dH = parseInt((h * dW) / w, 10);
      }

    }
	var cadre_photo = document.getElementById('cadre_photo');
	if(cadre_photo){
	cadre_photo.style.width=dW+"px";
	document.getElementById('description').style.width=(630-dW)+"px";
  	this.width = dW;
  	this.height = dH;
  	cadre_photo.appendChild(oImg);
	}      
  }

  // Affectation du chemin de l'image a l'objet
  oImg.src = inImg;
}

// Promo Popup
function initPromoPopup() {
	if (popupPromo<7) {
		document.getElementById('promoPopup').style.display = (document.getElementById('promoPopup').style.display == 'block') ? "none" : "block"; 
		popupPromo++;
        setTimeout("initPromoPopup();",500);
	}
}
        
function closePromoPopup() {
        document.getElementById('promoPopup').style.display = 'none';
		/*var da = new Date();
    	var d = new Date( Date.parse(da) + ( 86400000 ) );
    	document.cookie = "dejaVenu" + "=1;expires=" + d.toGMTString() + ";" ;
		*/
    	document.cookie = "dejaVenu=1";
}        

function suite(oHref){
	document.getElementById("bienvenue").style.overflow="visible";
	document.getElementById("bienvenue").style.height="auto";
	oHref.style.display="none";
}