var produitEnCours = new Produit;
// Toggler divers
toggleLoading = function() {
	$('loading').toggle();
	$('loading_contener').toggle();
};
toggleError = function(data) {
	$('ajaxError').toggle();
	//alert(data);
}


// Global responder (loading manager)
Ajax.Responders.register({
  onCreate: toggleLoading,
  onComplete: toggleLoading
});


// Ajout d'un produit au panier
function panier_Ajouter(pid,libelle) {
produitEnCours.pid = pid;
produitEnCours.libelle = libelle;
produitEnCours.qte = 1;
new Ajax.Request('/ajaxGateway.php',
  {
    method:'post',
    parameters: {action: 'panierAjout', produit: Object.toJSON(produitEnCours)},
    onSuccess: function(transport){
      var resultat = transport.responseText.evalJSON();
      if(resultat.success != "1")
      	toggleError(resultat);
      else {
      	// Affichage de la boite de confirmation
        if($('produitAjoute').visible() == false)
        	$('produitAjoute').toggle();
        $('produitAjoute_libelle').innerHTML = "1x "+produitEnCours.libelle;
        // Mise à jour du panier
        if($('panierVide').visible() == true) {
        	$('panierVide').toggle();
        	$('panier').toggle();
        }
        $('panierNb').innerHTML = resultat.nbProduits+" produit"+(parseInt(resultat.nbProduits) > 1 ? 's' : '');
        $('panierTotalHT').innerHTML = resultat.totalTTC+"&euro;";
        centrerProduitAjoute();
      }
      produitEnCours = new Produit;
    },
    onFailure: toggleError
  });
}

function centrerLayer(myLayer) {
	if (navigator.appName=="Microsoft Internet Explorer") {
		ScrollY = document.documentElement.scrollTop + document.body.scrollTop;
		ScrollX = document.documentElement.scrollLeft + document.body.scrollLeft;
	}else{
		ScrollY = window.pageYOffset;
		ScrollX = window.pageXOffset;
	}
	var View = {
				width 	: (
					// W3C Compliant calculation
					window.innerWidth ? 
						window.innerWidth : 
						// IE 6 + 
						( document.documentElement && document.documentElement.clientWidth ) ?
							document.documentElement.clientWidth  : 
						// IE 4
						document.body.clientWidth
					),
				height  : (
						// W3C Compliant calculation
						window.innerHeight ? 
							window.innerHeight  : 
							// IE 6 + 
							( document.documentElement && document.documentElement.clientHeight ) ?
								document.documentElement.clientHeight  : 
								// IE 4
								document.body.clientHeight
					)
				}
				
	myLayer.style.left = (View.width / 2 	- myLayer.offsetWidth / 2 + ScrollX) + 'px';
	myLayer.style.top = (View.height / 2 	- myLayer.offsetHeight / 2 + ScrollY ) + 'px';
}

function centrerProduitAjoute() {
	if (navigator.appName=="Microsoft Internet Explorer") {
		ScrollY = document.documentElement.scrollTop + document.body.scrollTop;
		ScrollX = document.documentElement.scrollLeft + document.body.scrollLeft;
	}else{
		ScrollY = window.pageYOffset;
		ScrollX = window.pageXOffset;
	}
	var View = {
				width 	: (
					// W3C Compliant calculation
					window.innerWidth ? 
						window.innerWidth : 
						// IE 6 + 
						( document.documentElement && document.documentElement.clientWidth ) ?
							document.documentElement.clientWidth  : 
						// IE 4
						document.body.clientWidth
					),
				height  : (
						// W3C Compliant calculation
						window.innerHeight ? 
							window.innerHeight  : 
							// IE 6 + 
							( document.documentElement && document.documentElement.clientHeight ) ?
								document.documentElement.clientHeight  : 
								// IE 4
								document.body.clientHeight
					)
				}
				
	$('produitAjoute').style.left = (View.width / 2 	- $('produitAjoute').offsetWidth / 2 + ScrollX) + 50 + 'px';
	$('produitAjoute').style.top = (View.height / 2 	- $('produitAjoute').offsetHeight / 2 + ScrollY ) + 'px';
}



// Inscription d'une adresse email à la newsletter
function newsletterInscription(email) {
   // E-mail vide
   if(trim(email) == '') {
   		if($('messageErreur').visible() == false)
   			$('messageErreur').toggle();
        $('messageErreur_texte').innerHTML = "Veuillez saisir votre adresse e-mail";
        centrerLayer($('messageErreur'));
  		return false;
   }
new Ajax.Request('/ajaxGateway.php',
  {
    method:'post',
    parameters: {action: 'inscriptionNewsletter', email: Object.toJSON(email)},
    onSuccess: function(transport){
      var resultat = transport.responseText.evalJSON();
      if(resultat.success != "1")
      	toggleError(resultat);
      else {
      	if(resultat.addError == 0) {
      		// Affichage de la boite de confirmation
       	 	if($('messageConfirmation').visible() == false)
        		$('messageConfirmation').toggle();
        	$('messageConfirmation_texte').innerHTML = "Votre adresse e-mail est enregistrée.<br><br>Veuillez confirmer votre inscription en suivant la procédure qui vous a été envoyée par email.";
        	centrerLayer($('messageConfirmation'));
        }else{
        	// E-mail  existant
       	 	if($('messageErreur').visible() == false)
        		$('messageErreur').toggle();
        	$('messageErreur_texte').innerHTML = "L'adresse e-mail que vous avez saisi existe déjà.";
        	centrerLayer($('messageErreur'));
        }
      }
      produitEnCours = new Produit;
    },
    onFailure: toggleError
  });
}



// Changement du mode d'affichage
function refreshDisplay(newDisplay) {
	if(newDisplay == 'miniatures') {
       	if($('contentProduits_miniatures').visible() == false)
			$('contentProduits_miniatures').toggle();
       	if($('contentProduits_liste').visible() == true)
			$('contentProduits_liste').toggle();
	}
	if(newDisplay == 'liste') {
       	if($('contentProduits_miniatures').visible() == true)
			$('contentProduits_miniatures').toggle();
       	if($('contentProduits_liste').visible() == false)
			$('contentProduits_liste').toggle();
	}
}
// Changement du tri
function refreshSort(newTri,args) {
	posSep = document.location.href.indexOf(';');
	if(posSep != -1)
		document.location.href = document.location.href.substring(0,posSep)+";tri="+newTri+args;
	else
		document.location.href += ";tri="+newTri+args;
}
// Changement du filter
function refreshFilter(newFilter,args) {
	posSep = document.location.href.indexOf(';');
	if(posSep != -1)
		document.location.href = document.location.href.substring(0,posSep)+args+";filtre="+newFilter;
	else
		document.location.href += args+";filtre="+newFilter;
}
// Afficher les articles en stock only
function refreshFilterStock(newStockState,args) {
	posSep = document.location.href.indexOf(';');
	if(posSep != -1)
		document.location.href = document.location.href.substring(0,posSep)+args+";stock="+(newStockState == true ? 1 : 0);
	else
		document.location.href += args+";stock="+(newStockState == true ? 1 : 0);
}