var produit = {
	loaderImg: '',
	timer: null,
	timeout: 1000,
	need2ReloadCmd1:false,
	init: function(){
		YAHOO.util.Event.addListener(	YAHOO.util.Dom.getElementsByClassName('vignette','img','vignettes'),
										'mouseover',
										produit.gestionVignette);	
	/*	YAHOO.util.Event.addListener(	YAHOO.util.Dom.getElementsByClassName('vignette','img','vignettes'),
										'mouseout',
										produit.resetVignetteTempo);		*/
		
		YAHOO.util.Event.addListener(	'ID_DECLINAISON',
										'change', 
										produit.loadProduitFromDeclinaison);
		YAHOO.util.Event.addListener(	'plusDetails',
										'click', 
										produit.showDetails);
		YAHOO.util.Event.addListener(	'infosTechniques',
										'click', 
										produit.showInfosTechniques);
		YAHOO.util.Event.addListener(	'ancreVideo',
										'click', 
										produit.showInfosTechniques);
		YAHOO.util.Event.addListener(	YAHOO.util.Dom.getElementsByClassName('ID_DECLINAISON','SELECT'),
										'change', 
										produit.loadProduitListeFromDeclinaison);
		YAHOO.util.Event.addListener(	YAHOO.util.Dom.getElementsByClassName('nbProdInput','INPUT'),
				'keyup', 
				produit.checkQuantite);
		YAHOO.util.Event.addListener(	YAHOO.util.Dom.getElementsByClassName('image','INPUT','contenu'),
			'click', 
			produit.ajoutPanier);
			YAHOO.util.Dom.getElementsByClassName(
					'image',
					'INPUT',
					'contenu', 
					function(){
						var formElmt = this;
						while(formElmt.tagName!='FORM'){
							formElmt = formElmt.parentNode;	
							if (formElmt.tagName == 'BODY') {
								break;
							}							
						}
						if (formElmt.tagName=='FORM'){ // si il existe bien un formulaire
							formElmt.action = 'javascript: void(0);';
						}
					});		
		if(document.getElementById('majMontant')){
			YAHOO.util.Dom.addClass('majMontant','invisible');
		}
		YAHOO.util.Dom.getElementsByClassName('majPanierPlus','A','formCommande', function(){ this.href="javascript:void(0);"; });
		YAHOO.util.Event.addListener(	YAHOO.util.Dom.getElementsByClassName('majPanierPlus','A','formCommande'),
				'click', 
				produit.majMontantPlus);
		YAHOO.util.Dom.getElementsByClassName('majPanierMoins','A','formCommande', function(){ this.href="javascript:void(0);"; });
		YAHOO.util.Event.addListener(	YAHOO.util.Dom.getElementsByClassName('majPanierMoins','A','formCommande'),
				'click', 
				produit.majMontantMoins);
		YAHOO.util.Dom.getElementsByClassName('majPanierDel','A','formCommande', function(){ this.href="javascript:void(0);"; });
		YAHOO.util.Event.addListener(	YAHOO.util.Dom.getElementsByClassName('majPanierDel','A','formCommande'),
				'click', 
				produit.majMontantZero);		

		
	},
	majMontantPlus: function(){
		var idP = YAHOO.util.Dom.getElementsByClassName('idP','INPUT',this.parentNode.parentNode)[0].value;
		var callback = {
				success: function(o){
					produit.majTabloCmd1();
				}, 
				failure: function(o){
					//alert("Erreur Ajax majMontantPlus!!\nStatus: "+ o.status + "\nMessage: "+ o.statusText);
				}
			};
		var sURL = 'cmdEtape1XML.php?idP='+idP+'&nb=1&cmdEtape1=1';	
		YAHOO.util.Connect.asyncRequest('GET', sURL, callback, null);
	},
	majMontantMoins: function(){
		var result= true;
		var idP = YAHOO.util.Dom.getElementsByClassName('idP','INPUT',this.parentNode.parentNode)[0].value;
		var inputNb = YAHOO.util.Dom.getElementsByClassName('nbProdInput','INPUT',this.parentNode.parentNode)[0].value;
		var callback = {
				success: function(o){
					produit.majTabloCmd1();
				}, 
				failure: function(o){
					//alert("Erreur Ajax majMontantMoins!!\nStatus: "+ o.status + "\nMessage: "+ o.statusText);
				}
			};
		var sURL = 'cmdEtape1XML.php?idP='+idP+'&nb=-1&cmdEtape1=1';
		if((inputNb-1)==0){
			result = confirm('Etes vous sûr de vouloir supprimer ce produit de votre panier ?');
		}
		if(!result){
			return false;
		}
		YAHOO.util.Connect.asyncRequest('GET', sURL, callback, null);
	},
	majMontantZero: function(){
		var result=true;
		var idP = YAHOO.util.Dom.getElementsByClassName('idP','INPUT',this.parentNode.parentNode)[0].value;
		var nb  = YAHOO.util.Dom.getElementsByClassName('qty','INPUT',this.parentNode.parentNode)[0].value;
		result = confirm('Etes vous sûr de vouloir supprimer ce produit de votre panier ?');
		if(!result){
			YAHOO.util.Dom.getElementsByClassName('nbProdInput','INPUT',this.parentNode.parentNode)[0].value = nb;
			return false;
		}
		var callback = {
				success: function(o){
					produit.majTabloCmd1();
				}, 
				failure: function(o){
					//alert("Erreur Ajax majMontantMoins!!\nStatus: "+ o.status + "\nMessage: "+ o.statusText);
				}
			};
		var sURL = 'cmdEtape1XML.php?idP='+idP+'&nb=-'+nb+'&cmdEtape1=1';
		YAHOO.util.Connect.asyncRequest('GET', sURL, callback, null);
	},
	need2ReloadTabloCmd1 : function() {
		produit.need2ReloadCmd1 = true;
	},
	majTabloCmd1NoReload : function() {
		produit.majTabloCmd1(true);

	},
	majTabloCmd1: function(noReload){
		if (produit.need2ReloadCmd1 && !noReload) {
			window.location = window.location.href;
			return;
		}
		var callback = {
				success: function(o){
					var resultat=o.responseText;
					if(resultat=='NoCommande'){
						//alert('Panier vide');
						history.go(-1) ;
					}else{
						document.getElementById('tabloCmd1').innerHTML = o.responseText;
					}
					if(document.getElementById('majMontant')){
						YAHOO.util.Dom.addClass('majMontant','invisible');
					}
					YAHOO.util.Dom.getElementsByClassName('majPanierPlus','A','formCommande', function(){ this.href="javascript:void(0);"; });
					YAHOO.util.Event.addListener(	YAHOO.util.Dom.getElementsByClassName('majPanierPlus','A','formCommande'),
							'click', 
							produit.majMontantPlus);
					YAHOO.util.Dom.getElementsByClassName('majPanierMoins','A','formCommande', function(){ this.href="javascript:void(0);"; });
					YAHOO.util.Event.addListener(	YAHOO.util.Dom.getElementsByClassName('majPanierMoins','A','formCommande'),
							'click', 
							produit.majMontantMoins);							
					YAHOO.util.Dom.getElementsByClassName('majPanierDel','A','formCommande', function(){ this.href="javascript:void(0);"; });
					YAHOO.util.Event.addListener(	YAHOO.util.Dom.getElementsByClassName('majPanierDel','A','formCommande'),
							'click', 
							produit.majMontantZero);		
							
							
				}, 
				failure: function(o){
					//alert("Erreur Ajax majTabloCmd1!!\nStatus: "+ o.status + "\nMessage: "+ o.statusText);
				}
			};
		var sURL = 'cmdEtape1.php?FromAjax=1';	
		YAHOO.util.Connect.asyncRequest('GET', sURL, callback, null);
	},
	showDetails: function(){
		YAHOO.util.Dom.getElementsByClassName(
			'invisible',
			'DIV',
			document.getElementById('plusDetails').parentNode, 
			function(){
				if(YAHOO.util.Dom.getStyle(this,'display')=='none'){
					YAHOO.util.Dom.setStyle(this,'display',"block");
					document.getElementById('pictoDetail').src='images/pictoMoins.png';
					
				}else{
					YAHOO.util.Dom.setStyle(this,'display',"none");
					document.getElementById('pictoDetail').src='images/pictoPlus.png';
				}
			}
		);
	},
	showInfosTechniques: function(){
		YAHOO.util.Dom.getElementsByClassName(
				'invisible',
				'DIV',
				document.getElementById('infosTechniques').parentNode, 
				function(){
					if(YAHOO.util.Dom.getStyle(this,'display')=='none'){
						YAHOO.util.Dom.setStyle(this,'display',"block");
						document.getElementById('pictoInfo').src='images/pictoMoins.png';
					}else{
						YAHOO.util.Dom.setStyle(this,'display',"none");
						document.getElementById('pictoInfo').src='images/pictoPlus.png';
					}
				}
			);
		},
	gestionVignette: function(){
		if(produit.timer!=null){
			clearTimeout(produit.timer);
		}
		document.getElementById('imagePrincipale').src = this.src; 
	},
	resetVignette: function(){
		document.getElementById('imagePrincipale').src = YAHOO.util.Dom.getElementsByClassName('vignette','img','vignettes')[0].src;
	},
	resetVignetteTempo: function(){
		produit.timer = setTimeout("produit.resetVignette();",produit.timeout);
	},
	startLoadingAnim: function(){
		if(document.getElementById('loadingImg')){
			document.getElementById('loadingImg').style.display = 'block';
		}
	},
	loadProduitFromDeclinaison: function(){
		if(document.getElementById('ID_DECLINAISON').value!=''){
			var callback = {
				success: function(o){
					document.getElementById('tpl_produit').innerHTML = o.responseText;
					produit.init();
				}, 
				failure: function(o){
					//alert("Erreur Ajax loadProduitFromDeclinaison!!\nStatus: "+ o.status + "\nMessage: "+ o.statusText);
				}
			};
			var sURL = document.getElementById('ID_DECLINAISON').value;
			aR = document.getElementsByName('idR');
			if (aR.length > 0 && aR[0].value > 0) {
				sURL += '&idR=' + aR[0].value;
				aS = document.getElementsByName('idS');
				if (aS.length > 0 && aS[0].value > 0) {
					sURL += '&idS=' + aS[0].value;
					aF = document.getElementsByName('idF');
					if (aF.length > 0 && aF[0].value > 0) {
						sURL += '&idF=' + aF[0].value;
						aSF = document.getElementsByName('idSF');
						if (aSF.length > 0 && aSF[0].value > 0) {
							sURL += '&idSF=' + aSF[0].value;
						}
					}
				}
			}
			produit.startLoadingAnim();
			YAHOO.util.Connect.asyncRequest('GET', sURL, callback, null);
		}
	},
	loadProduitListeFromDeclinaison: function(){
		if(this.value!=''){
			var obj = this;
			var callback = {
				success: function(o){
					var parent = obj.parentNode;
					while(!YAHOO.util.Dom.hasClass(parent,'produitEnglob')){
						parent = parent.parentNode;
					}
					parent.innerHTML = o.responseText;
					
            		YAHOO.util.Event.addListener(	YAHOO.util.Dom.getElementsByClassName('ID_DECLINAISON','SELECT',parent)[0],
							'change', 
							produit.loadProduitListeFromDeclinaison);
            		YAHOO.util.Event.addListener(	YAHOO.util.Dom.getElementsByClassName('image','INPUT',parent),
            				'click', 
            				produit.ajoutPanier);
            		YAHOO.util.Dom.getElementsByClassName(
            				'image',
            				'INPUT',
            				parent, 
            				function(){
            					var formElmt = this;
            					while(formElmt.tagName!='FORM'){
            						formElmt = formElmt.parentNode;				
            					}
            					formElmt.action = 'javascript: void(0);';
            				});
				}, 
				failure: function(o){
					//alert("Erreur Ajax loadProduitFromDeclinaison!!\nStatus: "+ o.status + "\nMessage: "+ o.statusText);
				}
			};		
			var sURL = 'produitListe_Async.php?ForAjax=1&'+this.value;	
			YAHOO.util.Connect.asyncRequest('GET', sURL, callback, null);
		}
	},
	loadProduitFromCrossSelling: function(){
		var callback = {
			success: function(o){
				document.getElementById('tpl_produit').innerHTML = o.responseText;
				produit.init();
			}, 
			failure: function(o){
				//alert("Erreur Ajax loadProduitFromCrossSelling!!\nStatus: "+ o.status + "\nMessage: "+ o.statusText);
			}
		};
		var sURL = this.rel;
		produit.startLoadingAnim();
		YAHOO.util.Connect.asyncRequest('GET', sURL, callback, null);
	},
	ajoutCommande: function(idP,nb,idR,idS,idF,idSF,qty){
		var result=true;
		if((qty-1)==0){
			result = confirm('Etes vous sûr de vouloir supprimer ce produit de votre panier ?');
		}
		var callback = {
			success: function(o){				
				if(o.responseText!='Ok'){
					alert("Erreur, le produit n'a pas pu être ajouté au panier." + o.responseText);	
				}else{
					produit.majPanier(idR,idS,idF,idSF);
				}
			}, 
			failure: function(o){
				//alert("Erreur Ajax ajoutPanier!!\nStatus: "+ o.status + "\nMessage: "+ o.statusText);
			}
		};
		var sURL = 'cmdEtape1XML.php?updateCommande=1&idP='+idP+'&nb='+nb;
		if(!result){
			return false;
		}
		YAHOO.util.Connect.asyncRequest('GET', sURL, callback, null);		
	},
	ajoutCommande2: function(idP,nb,idR,idS,idF,idSF,qty){
		var result=true;
		if((nb==0) && (nb!='')){
			result = confirm('Etes vous sûr de vouloir supprimer ce produit de votre panier ?');
		}
		var callback = {
			success: function(o){				
				if(o.responseText!='Ok'){
					alert("Erreur, le produit n'a pas pu être ajouté au panier." + o.responseText);	
				}else{
					produit.majPanier(idR,idS,idF,idSF);
				}
			}, 
			failure: function(o){
				//alert("Erreur Ajax ajoutPanier!!\nStatus: "+ o.status + "\nMessage: "+ o.statusText);
			}
		};
		var sURL = 'cmdEtape1XML.php?updateCommande=2&idP='+idP+'&nb='+nb;
		if(!result){
			sURL = 'cmdEtape1XML.php?updateCommande=2&idP='+idP+'&nb='+qty;
		}		
		YAHOO.util.Connect.asyncRequest('GET', sURL, callback, null);
		
	},
	checkQuantite: function(){
		var nb  = YAHOO.util.Dom.getElementsByClassName('qty','INPUT',this.parentNode.parentNode)[0].value;
		var nbP = YAHOO.util.Dom.getElementsByClassName('nbProdInput','INPUT',this.parentNode.parentNode)[0].value;
		if((nbP != '')&&(nbP==0)){
			var result = confirm('Etes vous sûr de vouloir supprimer ce produit de votre panier ?');
			if(!result)
				YAHOO.util.Dom.getElementsByClassName('nbProdInput','INPUT',this.parentNode.parentNode)[0].value=nb;
		}
		return true;
	},
	ajoutPanier: function(){
		var aInput = YAHOO.util.Dom.getElementsByClassName('image','INPUT','contenu');
		var parent = this.parentNode.parentNode;
		var inputNb = YAHOO.util.Dom.getElementsByClassName('nbProdInput','INPUT',this.parentNode.parentNode)[0];
		var idP = YAHOO.util.Dom.getElementsByClassName('idP','INPUT',this.parentNode.parentNode)[0];
		var idR = YAHOO.util.Dom.getElementsByClassName('idR','INPUT',this.parentNode.parentNode)[0];
		var idS = YAHOO.util.Dom.getElementsByClassName('idS','INPUT',this.parentNode.parentNode)[0];
		var idF = YAHOO.util.Dom.getElementsByClassName('idF','INPUT',this.parentNode.parentNode)[0];
		var idSF = YAHOO.util.Dom.getElementsByClassName('idSF','INPUT',this.parentNode.parentNode)[0];
		
		if(!idP || isNaN(idP.value)){
			alert("Aucun produit n'est associé!");
			return false;
		}
		if(!inputNb || inputNb.value<=0){
			alert("Ce n'est pas un nombre d'articles valide.");		
			return false;
		}
		
		var sURL = 'cmdEtape1XML.php?idP='+idP.value+'&nb='+inputNb.value;
		if(idR){
			sURL += "&idR="+idR.value;
			if(idS){
				sURL += "&idS="+idS.value;
				if(idF){
					sURL += "&idF="+idF.value;
					if(idSF){
						sURL += "&idSF="+idSF.value;
					}
				}
			}
		}
		
		var callback = {
			success: function(o){
				if(o.responseText!='Ok'){
					alert("Erreur, le produit n'a pas pu être ajouté au panier.");	
				}else{
					if(idR){
						if(idS){
							if(idF){
								if(idSF){
									produit.majPanier(idR.value,idS.value,idF.value,idSF.value);
								}else{									
									produit.majPanier(idR.value,idS.value,idF.value,'');
								}
							}else{
								produit.majPanier(idR.value,idS.value,'','');
							}
						}else{
							produit.majPanier(idR.value,'','','');
						}
					}else{
						produit.majPanier('','','','');
					}
				}
			}, 
			failure: function(o){
				//alert("Erreur Ajax ajoutPanier!!\nStatus: "+ o.status + "\nMessage: "+ o.statusText);
			}
		};
		
		YAHOO.util.Connect.asyncRequest('GET', sURL, callback, null);
		
		return true;
	},
	majPanier: function(idR,idS,idF,idSF, order){
		var callback = {
			success: function(o){
				document.getElementById('colonneDroiteForm').innerHTML = o.responseText.replace(/panier\.php/g,'produitListe.php');
				if (readCookie('showPanierDetails') == 'true') {
					produit.showPanierDetails();
				}
			}, 
			failure: function(o){
				//alert("Erreur Ajax : Le panier n'a pas pu être mis à jour.!!\nStatus: "+ o.status + "\nMessage: "+ o.statusText);
			}
	};

		var sURL = 'panier.php';

		if(idR){
			sURL += "?idR="+idR;
			if(idS){
				sURL += "&idS="+idS;
				if(idF){
					sURL += "&idF="+idF;
					if(idSF){
						sURL += "&idSF="+idSF;
					}
				}
			}
		}
		if(order){
			sURL += 'order='+order;
		}
		YAHOO.util.Connect.asyncRequest('GET', sURL, callback, null);
	},
	
	showPanierDetails: function() {
		if (document.getElementById('moreDetails')) {
			YAHOO.util.Dom.getElementsByClassName(
				'invisible',
				'DIV',
				document.getElementById('moreDetails').parentNode, 
				function(){
					Dom = YAHOO.util.Dom;
					isToShow = Dom.getStyle(this,'display') == 'none';
					Dom.setStyle(this,'display', (isToShow ? 'block' : 'none'));
					createCookie('showPanierDetails', isToShow, 1);
					if (Dom.getStyle(this,'display') == 'none'){
				 		document.getElementById('moreDetails').innerHTML= "<img src='../../images/3plus.gif' alt=''> &nbsp; Plus de détails";	
					} else {
						document.getElementById('moreDetails').innerHTML= "<img src='../../images/3minus.gif' alt=''> &nbsp; Moins de détails";
					}
				}
			);
		}
	}
};
YAHOO.util.Event.addListener(window, 'load', produit.init);
