
// Gestionnaire d'évènements CZ (maj 12/04/10) => Jérôme
function cz_addEvent(obj, type, fn, par){
	if(obj.addEventListener){
		obj.addEventListener(type, function(event){        
			return fn.call(obj, event, par);
		}, false );
	}else if(obj.attachEvent){
		obj.attachEvent("on"+type, function(e){
			if (!e) var e = window.event;   
			return fn.call(obj, e, par);
		});
	}
}

var Class = {
	create: function() {
		return function() { this.initialize.apply(this, arguments); }
	}
};

if (!window.Event) {
  var Event = new Object();
}
//

function $(id) {  
	if (id == undefined) return false;
	return (document.getElementById(id.toString())) ? document.getElementById(id.toString()) : false; 
}

function cz_evenementsFormPaiement(popup) {
	
	var self = this;
	this.popup = popup;
	this.permitionSubmit = false;
	this.formulaire = "";
	this.nameclick = "";
	this.champhidden = "";

	this.postForm = function() {
		if(self.permitionSubmit == false) {
			return false;
		} else {
			return true;
		}
	}

	// Evenements bouton fermeture
	cz_addEvent($(this.popup.popupVoile),'click',function(event,index){
		self.permitionSubmit = true;
		if(self.formulaire) {
			self.formulaire.submit();
		}
		return false;
	});

	// Ok pour submit
	cz_addEvent($('lien_ok_paiement'),'click',function(event,index){
		self.permitionSubmit = true;
		if(self.formulaire) {
			self.formulaire.submit();
		}
		return false;
	});
	
	if(document.forms.length > 0) {
		var listeForm = document.getElementsByTagName('form');
		for(var a = 0; a < listeForm.length; a++) {
			// Detection du bon formulaire
			if ( listeForm[ a ].action == 'https://paiement.sogenactif.com/cgis-payment-sogenactif/prod/callpayment' || listeForm[ a ].action == "https://paiement.sogenactif.com:443/cgis-payment-sogenactif/prod/callpayment" ) {
				self.formulaire = listeForm[ a ];
				listeForm[ a ].onsubmit = self.postForm;
			}
		}
	}
	
	// Detection des input et ajout méthode pour ouvrir fenetre
	if(document.forms.length > 0) {
		var listeInput = document.getElementsByTagName('input');
		for(var a = 0; a < listeInput.length; a++) {
			if ( listeInput[ a ].type == 'image' && ( listeInput[ a ].name == 'CB' || listeInput[ a ].name == 'VISA' || listeInput[ a ].name == 'MASTERCARD' )) {
				cz_addEvent(listeInput[ a ],'click',function(event,index){
					self.nameclick = index.name;
					$('envoi_Paiement1').value = "37";
					$('envoi_Paiement1').name = self.nameclick+".x";
					$('envoi_Paiement2').value = "32";
					$('envoi_Paiement2').name = self.nameclick+".y";
					self.popup.ouvrePopup('','','100','50');
					return false;
				},listeInput[ a ]);
			} else if ( listeInput[ a ].type == 'hidden' && listeInput[ a ].name == 'DATA' ) {
				this.champhidden = listeInput[ a ];
			}
		}
	}

}

// Gestion de la popup (nouveau système maj 12/04/10) => Jérôme
function cz_gestionPopup(popupVoile, popupMessage) {
	
	var self = this;

	this.popupOpen = false;
	this.popupBeingClose = false;
	this.timeRedimensionne;

	this.popupVoile = popupVoile;
	this.popupMessage = popupMessage;

	

	this.getDocumentSize = function() {
		// Mozilla
		var height = document.documentElement.scrollHeight;
		var width = document.documentElement.scrollWidth;
		// IE et opéra
		if(document.documentElement.clientHeight > height) {
			height = document.documentElement.clientHeight;
		}
		if(document.documentElement.clientWidth > width) {
			width = document.documentElement.clientWidth;
		}
		// Safari
		if(document.body.scrollHeight > height) {
			height = document.body.scrollHeight;
		}
		if(document.body.scrollWidth > width) {
			width = document.body.scrollWidth;
		}
		return new Array(width,height);
	}

	this.getDisplaySize = function() {
		var myWidth = 0, myHeight = 0;
		if( typeof( window.innerWidth ) == 'number' ) {
			//Non-IE
			myWidth = window.innerWidth;
			myHeight = window.innerHeight;
		} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
			//IE 6+ in 'standards compliant mode'
			myWidth = document.documentElement.clientWidth;
			myHeight = document.documentElement.clientHeight;
		} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
			//IE 4 compatible
			myWidth = document.body.clientWidth;
			myHeight = document.body.clientHeight;
		}
		return new Array(myWidth,myHeight);
	}

	this.ouvrePopup = function(largeur,hauteur,maxopamessage,maxopacadre,ie) {

		// On récupère les dimensions du document
		var tailleDocument = self.getDocumentSize();
		var largeurEcran = tailleDocument[0];
		var hauteurEcran = tailleDocument[1];
		// On calcul les dimension des scrolls
		var decalageX = (document.documentElement.scrollLeft)?document.documentElement.scrollLeft:document.body.scrollLeft;
		var decalageY = (document.documentElement.scrollTop)?document.documentElement.scrollTop:document.body.scrollTop;

		// *************************************//
		// Popup
		var layer = $(self.popupMessage);

		// On initialise les dimensions pour éviter les petits bug liés aux navigateurs
		layer.style.height = '';
		layer.style.width = '';
		
		// On récupère les informations de taille de la zone d'affichage
		var tailleAffichage = self.getDisplaySize();

		// On positionne le layer à 50% en top et left
		layer.style.left = ( tailleAffichage[0] / 2)+decalageX+"px";
		layer.style.top = ( tailleAffichage[1] / 2)+decalageY+"px";

		// On récupère la taille du layer (suite au innerHTML)
		hauteur = layer.offsetHeight;
		largeur = layer.offsetWidth;

		// Si la largeur est plus grande que la largeur de la fenêtre on réduit la taille
		if(largeur > (largeurEcran - decalageX) ) { largeur = (largeurEcran - decalageX) - 150; }
		// Si la hauteur est plus grande que la hauteur de la fenêtre on réduit la taille
		if(hauteur > (hauteurEcran - decalageY)) { hauteur = (hauteurEcran - decalageY) - ((decalageY)?20:0) - 150; }

		// On calcul les marges pour positionner le layer au centre
		var margeTop = (((hauteur)/2)-((decalageY)?20:0));
		var margeLeft = (((largeur)/2)-((decalageX)?20:0));

		// Si la marge est supérieur au positionnement du layer, le layer va sortir de l'écran, il faut donc le repositionner
		if(margeTop > layer.style.top) margeTop = margeTop - (layer.style.top - margeTop) - 20;
		if(margeLeft > layer.style.left) margeLeft = margeLeft - (layer.style.left - margeLeft) - 20;

		// On applique les marges
		layer.style.marginTop = "-"+margeTop+"px";
		layer.style.marginLeft = "-"+margeLeft+"px";
		
		// On applique la dimensions au layer
		layer.style.height = (hauteur)+'px';
		layer.style.width = (largeur)+'px';

		// On place le layer devant le voile
		layer.style.zIndex = 1001;
		// Si pas IE6 et < ou si la fenetre n'est pas ouverte, on l'ouvre en fondu
		if(!ie && !self.popupOpen) self.apparitionPopup(self.popupMessage,0,maxopamessage,1,0.5);

		// *************************************//
		// Voile

		var layer = $(self.popupVoile);
		// On le place en haut à gauche
		layer.style.top = "0px";
		layer.style.left = "0px";
		// On l'étire sur tout la longueur de la page
		layer.style.width =  largeurEcran+decalageX+"px";;
		layer.style.height = hauteurEcran+decalageY+"px";
		// On lui applique une couleur de fond si elle n'existe pas
		//if(layer.style.backgroundColor == "") layer.style.backgroundColor = "black";
		// On le place sous la popup
		layer.style.zIndex = 1000;
		// Si la fenetre n'est pas ouverte, on l'ouvre en fondu
		if(!self.popupOpen) self.apparitionPopup(self.popupVoile,0,maxopacadre,1,1);
		self.popupBeingClose = false;

	}

	this.opacifie = function(sId, nPourcentage) {
		var calque = $(sId).style;
		calque.opacity = (nPourcentage / 100);
		calque.MozOpacity = (nPourcentage / 100);
		calque.KhtmlOpacity = (nPourcentage / 100);
		calque.filter = "alpha(opacity=" + nPourcentage + ")";
	}

	this.retournOpacity = function(sId) {
		var calque = $(sId).style;
		if(calque.opacity) return calque.opacity*100;
		else if(calque.MozOpacity) return calque.MozOpacity*100;
		else if(calque.KhtmlOpacity) return calque.KhtmlOpacity*100;
		else if(calque.filters.item("DXImageTransform.Microsoft.Alpha").Opacity) return calque.filters.item("DXImageTransform.Microsoft.Alpha").Opacity;
	}

	this.apparitionPopup = function(layer,opacity,opacityFin,vitesse,cadence,palier) {
		if(!palier) palier = 10;
		opacity = Math.round( ( (Math.log(palier)-1) / (Math.log(opacityFin)-1) ) * 100);
		if(opacityFin >= opacity) {
			self.opacifie(layer, opacity);
			//eval("tPopup = setTimeout(\"apparitionPopup('"+layer+"', "+opacity+", "+opacityFin+", "+vitesse+", "+cadence+", "+(palier+(10/cadence))+")\", "+vitesse+")");
			setTimeout( function () { self.apparitionPopup(layer, opacity, opacityFin, vitesse, cadence, (palier+(10/cadence)) ); }, vitesse);
		} else {
			self.opacifie(layer, opacityFin);
			self.popupOpen = true;
		}
	}

	this.disparitionPopup = function(layer,opacity,opacityFin,vitesse,cadence,palier) {
		if(!palier) palier = opacity/10;
		opacity = Math.round(Math.exp( (palier * (4.6/10)) ));
		if(opacity > 1) {
			self.opacifie(layer, opacity);
			//eval("tPopup = setTimeout(\"disparitionPopup('"+layer+"', "+opacity+", "+opacityFin+", "+vitesse+", "+cadence+", "+(palier-(10/cadence))+")\", "+vitesse+")");
			setTimeout( function () { self.disparitionPopup(layer, opacity, opacityFin, vitesse, cadence, (palier-(10/cadence)) ); }, vitesse);
		} else {
			self.opacifie(layer, 0);
			$(layer).style.left = "-4000px";
			self.popupOpen = false;
		}
	}

	this.fermePopupFondu = function() {

		self.popupBeingClose = true;
		clearTimeout(self.timeRedimensionne);
		var opacity = self.retournOpacity(self.popupMessage);
		self.disparitionPopup(self.popupMessage,opacity,0,1,2);
		var opacity = self.retournOpacity(self.popupVoile);
		self.disparitionPopup(self.popupVoile,opacity,0,1,9);
	}

	this.fermePopup = function() {

		self.popupBeingClose = true;
		clearTimeout(self.timeRedimensionne);
		$(self.popupMessage).style.left = "-4000px";
		$(self.popupVoile).style.left = "-4000px";
	}

	
	
	// Gestionnaire formulaire paiement
	cz_evenementsFormPaiement(this);

	

}

var Ajax = Class.create();

Ajax.prototype = {

	// Constructeur

	initialize: function(sUrl, scope) {

		if (scope == undefined) { 
			this.scope = window; 
		} else {
			this.scope = scope; 
		} 

		this.sUrl = sUrl;
		this.oXmlHttp = false;
		this.sVariables = "";
		this.aArguments = [];

		/*@cc_on
		@if(@_jscript_version >= 5)
			try {
				this.oXmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					this.oXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (E) {
					this.oXmlHttp = false;
				}
			}
		@else
			this.oXmlHttp = false;
		@end @*/
		if(!this.oXmlHttp && typeof XMLHttpRequest != 'undefined') {
			try {
				this.oXmlHttp = new XMLHttpRequest();
			} catch (e) {
				this.oXmlHttp = false;
			}
		}
		if (!this.oXmlHttp) {
			// XMLHttpRequest n'est pas supporte pas le client
		}
	},
	// Envoi
	envoie: function(fonctionRetour) {

		this.fonctionRetour = fonctionRetour;
		this.oXmlHttp.abort();
		this.oXmlHttp.open('POST', this.sUrl, true);
		this.oXmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

		for (var i = 0; i < this.aArguments.length; i++) {
			this.sVariables += "&"+this.aArguments[i].nom+"="+this.aArguments[i].valeur;
		}

		this.oXmlHttp.send(this.sVariables);
		var _this = this;

		this.oXmlHttp.onreadystatechange = function () {
			try {
				if (_this.oXmlHttp.status == 200 && _this.oXmlHttp.readyState == 4) {
					_this.fonctionRetour.apply(_this.scope, [_this.oXmlHttp.responseText]);
				}
			} catch (e) {
				// debug seulement
			}
		}
	},

	// Ajoute
	ajoute: function(nom, valeur) {
		var bExiste = false;
		for (var i = 0; i < this.aArguments.length; i++) {
			if (this.aArguments[i].nom == nom) {
				bExiste = true;
				this.aArguments[i].valeur = valeur;
				break;
			}
		}
		if (!bExiste) {
			this.aArguments.push( {nom: nom, valeur: valeur} );
		}
	}

};

// Information des produits en infobulle
function chargeInformationProduit(idProduit) {
	var chargeInformationProduit = new Ajax("../medias/includes/crazy_information_produit.php");
	chargeInformationProduit.ajoute('ajax', 1);
	chargeInformationProduit.ajoute('idProduitACharger', idProduit);
	chargeInformationProduit.envoie(retourChargementInformationProduit);
}
var retourChargementInformationProduit = function(e) {
	$("__infobulle").innerHTML = e;
}

// Déplacement des produits dans le panier vers la poubelle

var ie = document.all;
var xInit, yInit;
var down = false;
var div_x = 0;
var div_y = 0;
var imagePanierActive = 0;
var produitASupprimer = 0;

function desactiveDrag()
{
	down = false
	if(imagePanierActive) {
		if(produitASupprimer) {
			// Supression du produit dans le panier (si suppression activer, voir plus bas)
			//document.getElementById("poubelle").style.zIndex = "3";
			var ajoutAuPanier = new Ajax("../medias/includes/crazy_gestion_panier.php");
			ajoutAuPanier.ajoute('idProduitSupprimer', produitASupprimer);
			ajoutAuPanier.envoie(retourSuppression);
			produitASupprimer = 0;
		} else {
			document.getElementById(imagePanierActive).style.left = div_x+"px";
			document.getElementById(imagePanierActive).style.top = div_y+"px";
			document.getElementById(imagePanierActive).style.zIndex = "1";
		}
	}
	imagePanierActive = 0
}

function deplacer(evt)
{

	if(down==1) {

		posX = div_x + (ie?evt.clientX:evt.pageX) - xInit;
		posY = div_y + (ie?evt.clientY:evt.pageY) - yInit;

		document.getElementById(imagePanierActive).style.left = posX+"px";
		document.getElementById(imagePanierActive).style.top = posY+"px";

	} 

	return false;

}

function activDrag(id, evt)
{
	imagePanierActive = id;
	down = true;
	
	xInit = (ie?evt.clientX:evt.pageX);
	yInit = (ie?evt.clientY:evt.pageY);

	div_x = document.getElementById(id).offsetLeft;
	div_y = document.getElementById(id).offsetTop;

	document.getElementById(imagePanierActive).style.zIndex = "2";

}

// Suppression d'un produit dans le panier (activation de la suppression seulement, voir plus haut pour la suppression)

function supprimerProduit()
{
	//document.getElementById("poubelle").style.zIndex = "1";
	produitASupprimer = imagePanierActive;
}

var retourSuppression = function(e) {
	$("panierCrazy").innerHTML = e;

	actualiseMiniRecap();
}

// Modification de la quantite d'un produit dans le panier
var majChampTotal = 0;

function panierModifierQuantite(idProduitModifier, quantite) {

	var quantiteSaisi = parseInt(quantite, 10);
	if(isNaN(quantiteSaisi)==true) {
		$("qte"+idProduitModifier).value = 1;
		quantiteSaisi = 1;
	} else if(quantiteSaisi!=quantite) {
		$("qte"+idProduitModifier).value = quantiteSaisi;
	}

	var quantiteMaxi = $("quantiteMaxiPanier"+idProduitModifier).value;

	if(quantiteMaxi != "" && parseInt(quantite)>parseInt(quantiteMaxi)) {
		$("qte"+idProduitModifier).value = quantiteMaxi;
		alert("Stock limité, vous ne pouvez commander que "+quantiteMaxi+" exemplaire(s) de ce produit");
		quantiteSaisi = quantiteMaxi;
	}

	var modifierQuantitePanier = new Ajax("../medias/includes/crazy_gestion_panier.php");
	modifierQuantitePanier.ajoute('idProduitModifier', idProduitModifier);
	modifierQuantitePanier.ajoute('nouvelleQuantite', quantiteSaisi);
	if(quantiteSaisi!=0) {
		// Ne modifier que le total produit du panier
		modifierQuantitePanier.envoie(retourModifQuantite);
	} else {
		// Mettre à jour l'ensemble du panier
		modifierQuantitePanier.envoie(retourSuppression);
	}
	actualiseMiniRecap();
	var modifierQuantitePanier = new Ajax("../medias/includes/crazy_gestion_panier.php");
	modifierQuantitePanier.ajoute('estimationPort', "oui");
	modifierQuantitePanier.envoie(retourEstimation);
	actualiseMiniRecap();
}

var retourModifQuantite = function(e) {
	$("totalPanier").innerHTML = e;
}

var retourEstimation = function(e) {
	$("totalPorts").innerHTML = e;
}

function envoiQuantiteModifier(idProduitModifier, quantiteSaisi) {

	var modifierQuantitePanier = new Ajax("../medias/includes/crazy_etape1_recapitulatif_panier.php");
	modifierQuantitePanier.ajoute('idProduitModifier', idProduitModifier);
	modifierQuantitePanier.ajoute('nouvelleQuantite', quantiteSaisi);
	if(quantiteSaisi!=0) {
		// Modifier le total produit du panier
		modifierQuantitePanier.envoie(retourModifQuantiteRecap);

		// Modifier le total de la ligne du panier
		majChampTotal = idProduitModifier;

		//var modifierQuantitePanier = new Ajax("../medias/includes/crazy_etape1_recapitulatif_panier.php");
		//modifierQuantitePanier.ajoute('idProduitTotal', idProduitModifier);
		//modifierQuantitePanier.ajoute('nouvelleQuantite', quantiteSaisi);
		//modifierQuantitePanier.envoie(retourSousTotal);
		//var modifierQuantitePanier = new Ajax("../medias/includes/crazy_etape1_recapitulatif_panier.php");
		//modifierQuantitePanier.ajoute('modifFraisPort', "howi");
		//modifierQuantitePanier.envoie(retourPOOORTT);
	} else {
		// Mettre à jour l'ensemble du panier
		modifierQuantitePanier.envoie(retourSuppressionRecap);
	}
	
	setTimeout("rechargePanier()",200);
}

function rechargePanier() {
	var modifierQuantitePanier = new Ajax("../medias/includes/crazy_etape1_recapitulatif_panier.php");
	modifierQuantitePanier.ajoute('reload', "oui");
	modifierQuantitePanier.envoie(retourSuppressionRecap);
}

var idTimeEnvoiQuantite;

// Utilisé dans l'Etape 1 du processus de commande
function recapPanierModifierQuantite(idProduitModifier, quantite, sourceAction) {

	if(sourceAction == "bouton") {
		clearTimeout(idTimeEnvoiQuantite);
	} 

	var quantiteSaisi = parseInt(quantite, 10);
	if(isNaN(quantiteSaisi)==true) {
		$("qte"+idProduitModifier).value = 1;
		quantiteSaisi = 1;
	} else if(quantiteSaisi!=quantite) {
		$("qte"+idProduitModifier).value = quantiteSaisi;
	}
	
	var quantiteMaxi = $("quantiteMaxi"+idProduitModifier).value;
	quantite = $("qte"+idProduitModifier).value;

	if(quantiteMaxi != "" && parseInt(quantite)>parseInt(quantiteMaxi)) {
		$("qte"+idProduitModifier).value = quantiteMaxi;
		alert("Stock limité, vous ne pouvez commander que "+quantiteMaxi+" exemplaire(s) de ce produit");
	}

	idTimeEnvoiQuantite = setTimeout("envoiQuantiteModifier("+idProduitModifier+", "+quantiteSaisi+")",500);
	
}

var etape1_offerts_sel = "";

// Utilisé dans l'Etape 1 du processus de commande
function recapPanierModifierQuantiteOfferts(idProduitModifier, quantite) {


  if(idProduitModifier != 0){
      var quantiteSaisi = 1;
   		$("qte_offerts"+idProduitModifier).value = 1;
    	var quantiteMaxi = $("quantiteMaxi_offerts"+idProduitModifier).value;
    	quantite = $("qte_offerts"+idProduitModifier).value;

    	if(quantiteMaxi != "" && parseInt(quantite)>parseInt(quantiteMaxi)) {
    		$("qte_offerts"+idProduitModifier).value = quantiteMaxi;
    		alert("Stock limité, vous ne pouvez commander que "+quantiteMaxi+" exemplaire(s) de ce produit");
    	}
    	var modifierQuantitePanier = new Ajax("../medias/includes/crazy_etape1_recapitulatif_panier.php");
    	modifierQuantitePanier.ajoute('idProduitModifierOfferts', idProduitModifier);
    	modifierQuantitePanier.ajoute('nouvelleQuantiteOfferts', quantiteSaisi);
    	if(quantiteSaisi!=0) {
    		// Modifier le total produit du panier
    		modifierQuantitePanier.envoie(retourModifQuantiteRecap);
    		// Modifier le total de la ligne du panier
    		majChampTotal = idProduitModifier;
    		var modifierQuantitePanier = new Ajax("../medias/includes/crazy_etape1_recapitulatif_panier.php");
    		modifierQuantitePanier.ajoute('idProduitTotalOfferts', idProduitModifier);
    		modifierQuantitePanier.ajoute('nouvelleQuantiteOfferts', quantiteSaisi);
    		modifierQuantitePanier.envoie(retourSousTotalOfferts);
    	}
	} else {
    	 // on vide la session des produits offerts
		var modifierQuantitePanier = new Ajax("../medias/includes/crazy_etape1_recapitulatif_panier.php");
		modifierQuantitePanier.ajoute('videOfferts', "howi");
		modifierQuantitePanier.envoie(retourModifQuantiteRecap);
	}
	var modifierQuantitePanier = new Ajax("../medias/includes/crazy_etape1_recapitulatif_panier.php");
	modifierQuantitePanier.ajoute('modifFraisPortOfferts', "howi");
	modifierQuantitePanier.envoie(retourPOOORTT);
	// on desel l'ancien
	if(etape1_offerts_sel) {
	   	$("qte_offerts"+etape1_offerts_sel).value = 0;
	   	$("total_offerts"+etape1_offerts_sel).innerHTML = "0.00 &#128; TTC";
	}
	etape1_offerts_sel = idProduitModifier;
}


var retourModifQuantiteRecap = function(e) {
	$("totalPanier").innerHTML = e;
}

var retourSuppressionRecap = function(e) {
	$("listingRecapPanier").innerHTML = e;
}

var retourSousTotalOfferts = function(e) {
	if(majChampTotal) {
		$("total_offerts"+majChampTotal).innerHTML = e;
	}
	majChampTotal = 0;
}

var retourSousTotal = function(e) {
	if(majChampTotal) {
		$("total"+majChampTotal).innerHTML = e;
	}
	majChampTotal = 0;
}

var retourPOOORTT = function(e) {
	$("totalFraisPort").innerHTML = e;
}

// Pour le listing des produits suivant précédent
function afficherListeProduit(depart, rechercher, idGamme, compatibilite, promo, tri, nombreProduitALister, activerlistepromo) {
	var gestionListeProduit = new Ajax("../medias/includes/crazy_listing_produit.php");
	gestionListeProduit.ajoute('depart', depart);
	gestionListeProduit.ajoute('rechercher', rechercher);
	gestionListeProduit.ajoute('idGamme', idGamme);
	gestionListeProduit.ajoute('compatibilite', compatibilite);
	gestionListeProduit.ajoute('promo', promo);
	gestionListeProduit.ajoute('tri', tri);
	if(!nombreProduitALister) nombreProduitALister = "";
	gestionListeProduit.ajoute('nombreProduitALister', nombreProduitALister);
	gestionListeProduit.ajoute('activerlistepromo', activerlistepromo);
	gestionListeProduit.envoie(retourListeProduit);
}

var retourListeProduit = function(e) {
	$("listingProduit").innerHTML = e;
}

// Ajout au panier depuis le listing des produits 
function ajouterPanier(idProduit) {
	var ajoutAuPanier = new Ajax("../medias/includes/crazy_gestion_panier.php");
	ajoutAuPanier.ajoute('idProduitPanier', idProduit);
	ajoutAuPanier.envoie(retourPanier);
}

var retourPanier = function(e) {
	if(e.length>10) {
		$("panierCrazy").innerHTML = e;
		actualiseMiniRecap();
	} else {
		var quantiteLimite = $("qte"+e).value;
		alert("Stock limité, vous ne pouvez commander que "+quantiteLimite+" exemplaire(s) de ce produit");
	}
}

// Actualise le recap panier 
function actualiseMiniRecap() {
	var actualiseRecapPanier = new Ajax("../medias/includes/crazy_mini_recap_panier.php");
	actualiseRecapPanier.ajoute('actualisePanier', "1");
	actualiseRecapPanier.envoie(retourRecap);
	var actualiseRecapPanier = new Ajax("../medias/includes/crazy_mini_recap_panier.php");
	actualiseRecapPanier.ajoute('actualisePanierV2', "1");
	actualiseRecapPanier.envoie(retourRecapCadre);
}

var retourRecap = function(e) {
	$("recapPanier").innerHTML = e;
}

var retourRecapCadre = function(e) {
	$("conteneurInfoPanier").innerHTML = e;
}

function actualiseRecapFraisPort(idProduit) {
	var actualiseRecapPanierFraisPort = new Ajax("../medias/includes/crazy_fiche_informations_droite.php");
	actualiseRecapPanierFraisPort.ajoute('actualisePortV2', idProduit);
	actualiseRecapPanierFraisPort.ajoute('ajax', 1);
	actualiseRecapPanierFraisPort.envoie(retourRecapCadreFraisPort);
}

var retourRecapCadreFraisPort = function(e) {
	$("conteneurInfoFraisPort").innerHTML = e;
}

var opacityLG = 0;
var idTimeLG;
function opacifie(sId, nPourcentage) {
	var calque = $(sId).style;
	calque.opacity = (nPourcentage / 100);
	calque.MozOpacity = (nPourcentage / 100);
	calque.KhtmlOpacity = (nPourcentage / 100);
	calque.filter = "alpha(opacity=" + nPourcentage + ")";
}

function faitApparaitre(element, vitesse) {
   clearTimeout(idTimeLG);
	 opacityLG = opacityLG + 15;
   opacifie(element, opacityLG);
   if(opacityLG <= 100) idTimeLG = setTimeout("faitApparaitre('"+element+"',"+vitesse+")",vitesse);
}

function faitDisparaitre(element, vitesse) {
   clearTimeout(idTimeLG); 
	 opacityLG = opacityLG - 15;
   opacifie(element, opacityLG);
   if(opacityLG > 0) idTimeLG = setTimeout("faitDisparaitre('"+element+"',"+vitesse+")",vitesse);
}

function pauseApparitionDisparition(){
    clearTimeout(idTimeLG);
}

// Confirmation ajout au panier
var idTime1 = 0;
var idTime2 = 0;
var idTime3 = 0;
var idTime4 = 0;
var idTime5 = 0;
var idTime6 = 0;

function crazy_cacheInfoPanier(idChamp, opacity) {
	opacity = opacity - 10;
	opacifie('infoAjoutPanier'+idChamp, opacity);
	if(opacity > 0) {
		eval("idTime"+idChamp+" = setTimeout(\"crazy_cacheInfoPanier("+idChamp+", "+opacity+")\", 10)");
	} else {
		$("infoAjoutPanier"+idChamp).style.display = 'none';
	}
}

function crazy_afficheInfoPanier(idChamp, opacity) {
	opacity = opacity + 10;
	opacifie('infoAjoutPanier'+idChamp, opacity);
	if(opacity < 100) {
		eval("idTime"+idChamp+" = setTimeout(\"crazy_afficheInfoPanier("+idChamp+", "+opacity+")\", 10)");
	}
}

function afficheAjoutPanier(idChamp) {

	//clearTimeout(eval("idTime"+idChamp));
	$("infoAjoutPanier"+idChamp).style.display = 'block';
	//crazy_afficheInfoPanier(idChamp, 0);
}

function afficheCadreInfoPanier() {
  var largeurEcran = screen.width;
  var hauteurEcran = screen.height;
  var positionDivEnHauteur = (hauteurEcran/2) - 120;
  var positionDivEnLargeur = (largeurEcran/2);
  var decalageX = document.documentElement.scrollTop;
  if(decalageX == 0) var decalageX = document.body.scrollTop;
  var decalageY = document.documentElement.scrollLeft;
  if(decalageY == 0) var decalageY = document.body.scrollLeft; 
  var top = decalageX + positionDivEnHauteur;
  var left = decalageY + positionDivEnLargeur + 50;
  $("infoPanier").style.top = ""+top+"px";
  $("infoPanier").style.left = ""+left+"px";
  $("infoFraisPort").style.display = 'none';
  $("infoPanier").style.display = 'block';
}

function afficheCadreFraisPort() {
  var largeurEcran = screen.width;
  var hauteurEcran = screen.height;
  var positionDivEnHauteur = (hauteurEcran/2) - 120;
  var positionDivEnLargeur = (largeurEcran/2);
  var decalageX = document.documentElement.scrollTop;
  if(decalageX == 0) var decalageX = document.body.scrollTop;
  var decalageY = document.documentElement.scrollLeft;
  if(decalageY == 0) var decalageY = document.body.scrollLeft; 
  var top = decalageX + positionDivEnHauteur;
  var left = decalageY + positionDivEnLargeur + 50;
  $("infoFraisPort").style.top = ""+top+"px";
  $("infoFraisPort").style.left = ""+left+"px";
}

// Moteur de recherche
function testMoteurRecherche() {
	motClef = $("champRecherche").value;
	if(motClef=="Rechercher un produit" || motClef=="") {
		alert("Vous devez saisir un mot clé");
		return false;
	} else {
		return true;
	}
}