

var eComm_LangueID=1



function eComm_affichePrix(Prix){
	Prix=Math.round(Prix*100)/100
	var rep=""+Prix;
	var pos=rep.indexOf(".");
	if (pos==-1) rep+=".00";
	else if (pos==rep.length-2) rep+="0";
	return rep;	
	
}



function eComm_ModifierPanier( params , URLRetour ){
		// exemple :
		// 	FichierID / Reference / Quantite
		//	TransporteurID
		//	CodePays
		// 
		if (typeof(URLRetour)=='undefined' || URLRetour=='')URLRetour=document.location+""
		var posDieze=URLRetour.indexOf("#")
		if(posDieze>0){
			URLRetour=URLRetour.substring(0,posDieze)	
			//alert(URLRetour)
		}
		//alert("/" + "consulter" + "/" + "PanierModif" + "." + "a" + "s" + "p" + "?"+ params +"&URLRetour="+ escape(URLRetour))
		document.location="/" + "consulter" + "/" + "PanierModif" + "." + "a" + "s" + "p" + "?"+ params +"&URLRetour="+ escape(URLRetour)
}


function eComm_AjouterPanier( form , fichierID ){
	if (typeof(eComm_AjouterPanierXSL)=="undefined"){alert("Parametre eComm_AjouterPanierXSL non initialisé !");return false;}

	//recuperation des variables de choix de ce produit
	var objProduit=eval("produit"+ fichierID)
	var choixArray=objProduit.getParamsArray( form)
	var params1=choixArray[0]
	var params2=choixArray[1]
	var params3=choixArray[2]
	var params4=choixArray[3]
	
	var Ref=objProduit.getVariable("Ref" , params1 , params2 , params3 , params4 )
	var Designation=objProduit.getVariable("Designation" , params1 , params2 , params3 , params4 )
	
	/* InfoDispo ne semble pas exister ... */
	var InfoDispo=objProduit.getVariable("InfoDispo" , params1 , params2 , params3 , params4 )
	
	var Detail=objProduit.getVariable("Detail" , params1 , params2 , params3 , params4 )
	var RefExt=objProduit.getVariable("RefExt" , params1 , params2 , params3 , params4 )
	var RefInt=objProduit.getVariable("RefInt" , params1 , params2 , params3 , params4 )
	var TVA=objProduit.getVariable("TVA" , params1 , params2 , params3 , params4 )
	var Delai=objProduit.getVariable("Delai" , params1 , params2 , params3 , params4 )
	var LotDe=objProduit.getVariable("LotDe" , params1 , params2 , params3 , params4 )
	var NomUnite=objProduit.getVariable("NomUnite" , params1 , params2 , params3 , params4 )
	var TypeProduit=objProduit.getVariable("TypeProduit" , params1 , params2 , params3 , params4 )
	
	eval ("var objQte= form.Qte_"+ fichierID )
	var Qte=( typeof(objQte)=='object' && objQte.options )?objQte.options[  objQte.options.selectedIndex ].value:((typeof(objQte)=='object' && objQte.value && !isNaN(objQte.value) )?objQte.value:1);
	var req=("/" + "consulter" + "/" + "PanierAjout" + "." + "a" + "s" + "p" + "?" + "LangueID="+ eComm_LangueID +"&panier_XSL="+ escape(eComm_AjouterPanierXSL) +"&panier_FichierID="+ fichierID +"&panier_ReferenceRef="+ Ref +"&panier_Quantite="+ Qte +"&panier_NomProduit="+ escape(Designation)  )

	var langueArray=(",fr,us,es,us,us,us,us,us").split(",")
	var My_RCAjax=new RC_Ajax(  langueArray[eComm_LangueID] )
	
	
	
	var bCaMarche=false
	if (typeof(My_RCAjax.ajax_createRequestObject() && document.getElementById && document.getElementById("divConfirmPanier") ) == "object"){
		My_RCAjax.getURL(req +"&ajid=toto" , "divConfirmPanier") 
		document.getElementById("divConfirmPanier").style.visibility = "visible";
		bCaMarche=true
	}else{
		//l'AJAX ne marche pas on utilise les IFRAME ou ILAYER
		if(document.layers){
			if(document.layers['FrameConfirmPanier']){
				document.layers['FrameConfirmPanier'].src=req
				bCaMarche=true
			}
		}else{
			if(top.FrameConfirmPanier){
				top.FrameConfirmPanier.document.location=req
				bCaMarche=true
			}
		}
	}						
	if (!bCaMarche){
		var F2=window.open(req+"&ajid=toto","fenetreAjoutPanierPopUp","width=600,height=400,left=320,top=0");
		var tmp=setTimeout( F2.focus() , 1000 );
	}
	
	if(typeof(updateMyBasketDiv)=="function"){  var Time_updateMyBasketDiv=setTimeout( updateMyBasketDiv , 2000 );  }
}

function eComm_noshim(){
	var obj=document.getElementById("shim")
	if(obj && obj.style && obj.style.visibility)obj.style.visibility = "";
}

function zoneExists( fichierID , nom ){
	return (document.getElementById("zone_"+ nom +"_"+ fichierID ))
}


function eComm_infosProduit(fichierID){
	this.fichierID=fichierID
	this.subjects=Array
	this.meilleurChoixArray=null

	this.setPrixQteSup1HT = function (theFunction , posParams1, posParams2, posParams3,posParams4 ) {
		var nomFonction="eComm_infosProduit.prototype.getPrixQteSup1HT_"+ posParams1 +"_"+ posParams2 +"_"+  posParams3 +"_"+ posParams4 
		alert(nomFonction +"="+ theFunction)
		eval(nomFonction +"="+ theFunction);
		
		
		var nomFonction="getPrixQteSup1HT_"+ posParams1 +"_"+ posParams2 +"_"+  posParams3 +"_"+ posParams4 +"(15)"
		var nomFonction="getVariable('Delai',   posParams1, posParams2, posParams3,posParams4)"
		
		var objFunction=eval(nomFonction);
		alert(objFunction)
		
		return eval(nomFonction);
	}
	
	
	this.setVariable = function(nomVariable,  valeur , posParams1, posParams2, posParams3,posParams4){
		var tempoPosParams=posParams1 +"_"+ posParams2 +"_"+ posParams3 +"_"+ posParams4
		eval( ("this."+ nomVariable +"_"+ tempoPosParams).toLowerCase()  +"=valeur ");
		
		if (nomVariable.toLowerCase()=="qtemaxi" && valeur>=1 && (this.meilleurChoixArray==null || this.meilleurChoixArray.join("_")>tempoPosParams )  ){
			this.meilleurChoixArray=tempoPosParams.split("_")
			//document.write ("MMM"+tempoPosParams+"--"+valeur)
		}
	}
	this.getVariable = function(nomVariable,   posParams1, posParams2, posParams3,posParams4){
		var tempo=eval( ("this."+ nomVariable +"_"+ posParams1 +"_"+ posParams2 +"_"+ posParams3 +"_"+ posParams4).toLowerCase()  )
		return (typeof(tempo)=="undefined")?"":tempo;
	}
		
	this.addParam = function(paramVarName ,nameOfParam , listeValeurs ){
		switch (paramVarName.toLowerCase()){
					case "params1":	
						this.params1_Name=nameOfParam
						this.params1=listeValeurs
						break;
					case "params2":	
						this.params2_Name=nameOfParam
						this.params2=listeValeurs
						break;
					case "params3":	
						this.params3_Name=nameOfParam
						this.params3=listeValeurs
						break;
					case "params4":	
						this.params4_Name=nameOfParam
						this.params4=listeValeurs
						break;
		}
	}	
	
	this.getParamsArray = function(form ){
			var formParams1=eval("document."+ form.name +".params1_"+ this.fichierID)
			var formParams2=eval("document."+ form.name +".params2_"+ this.fichierID)
			var formParams3=eval("document."+ form.name +".params3_"+ this.fichierID)
			var formParams4=eval("document."+ form.name +".params4_"+ this.fichierID)
			
			var params1=(formParams1 && formParams1.options)?formParams1.options.selectedIndex : (formParams1 && formParams1.value)?formParams1.value:""; "";
			var params2=(formParams2 && formParams2.options)?formParams2.options.selectedIndex : (formParams2 && formParams2.value)?formParams2.value:""; ""; 
			var params3=(formParams3 && formParams3.options)?formParams3.options.selectedIndex : (formParams3 && formParams3.value)?formParams3.value:"";  "";
			var params4=(formParams4 && formParams4.options)?formParams4.options.selectedIndex : (formParams4 && formParams4.value)?formParams4.value:"";  "";

			return (params1+","+params2+","+params3+","+params4).split(",")	
	}
	
	this.getParamsValeursArray = function(form ){
		var choixArray=this.getParamsArray(form)
		var params1=choixArray[0]
		var params2=choixArray[1]
		var params3=choixArray[2]
		var params4=choixArray[3]
		
		var Choix1 =   (params1+"" != "")?this.params1[params1*1]:"" ;
		var Choix2 =   (params2+"" != "")?this.params2[params2*1]:"" ;
		var Choix3 =   (params3+"" != "")?this.params3[params3*1]:"" ;
		var Choix4 =   (params4+"" != "")?this.params4[params4*1]:"" ;
		
		return (Choix1+","+Choix2+","+Choix3+","+Choix4).split(",")	
	}
	
	this.ajoutePanier = function(form){
		var formQte=eval( "document."+ form.name +".Qte_"+ this.fichierID)
		

		var QteCommande;
		if(formQte.options){
			QteCommande=(formQte.options.selectedIndex<=-1)?0:formQte.options[formQte.options.selectedIndex].value;
			
		}else{
			
			QteCommande=parseInt(  (formQte.value<0)?0:formQte.value  );
			if(QteCommande+""==="NaN"){QteCommande=1
				return false;
			}
			//alert(QteCommande)
		}
		
		
		
		//alert(QteCommande)
		if(QteCommande > 0 || (!formQte.options && QteCommande==0 )){
			var infoDispo=""+this.VerifChoix(form)
			//alert(infoDispo)
			if(infoDispo==""){
				eComm_AjouterPanier(form , this.fichierID  )
				return true;
			}else{
				setZoneAffichage("InfoDispo", this.fichierID , infoDispo , 3 )
				return false;
			}
		}else{
			var infoDispo=""+this.VerifChoix(form)
			setZoneAffichage("InfoDispo", this.fichierID , infoDispo , 3 )
			//setZoneAffichage("xx", this.fichierID , infoDispo , 3 )
			return false;
		}
	}
	
	
	this.updateZones=function(form , params1 , params2 , params3 , params4 ){
		
					setZoneAffichage("Designation", this.fichierID , this.getVariable("Designation" , params1 , params2 , params3 , params4 )  )
					setZoneAffichage("Detail", this.fichierID , this.getVariable("Detail" , params1 , params2 , params3 , params4 )  )
					setZoneAffichage("Ref", this.fichierID , this.getVariable("Ref" , params1 , params2 , params3 , params4 ) )
					setZoneAffichage("RefExt", this.fichierID , this.getVariable("RefExt" , params1 , params2 , params3 , params4 )  )
					setZoneAffichage("RefInt", this.fichierID , this.getVariable("RefInt" , params1 , params2 , params3 , params4 )  )
					setZoneAffichage("TVA", this.fichierID , this.getVariable("TVA" , params1 , params2 , params3 , params4 )  )
					setZoneAffichage("Delai", this.fichierID , this.getVariable("Delai" , params1 , params2 , params3 , params4 )  )
					setZoneAffichage("LotDe", this.fichierID , this.getVariable("LotDe" , params1 , params2 , params3 , params4 )  )
					setZoneAffichage("Poids", this.fichierID , this.getVariable("Poids" , params1 , params2 , params3 , params4 )  )
					
					setZoneAffichage("NomUnite", this.fichierID , this.getVariable("NomUnite" , params1 , params2 , params3 , params4 )  )
					
					
					setZoneAffichage("AncienPrixTTC", this.fichierID , this.getVariable("AncienPrixTTC" , params1 , params2 , params3 , params4 )  )
					setZoneAffichage("AncienPrixHT", this.fichierID , this.getVariable("AncienPrixHT" , params1 , params2 , params3 , params4 )  )
					setZoneAffichage("TypeProduit", this.fichierID , this.getVariable("TypeProduit" , params1 , params2 , params3 , params4 )  )
					
					setZoneAffichage("Stock", this.fichierID , this.getVariable("Stock" , params1 , params2 , params3 , params4 )  )
					
					setZoneAffichage("PrixHT", this.fichierID , "" )
					setZoneAffichage("PrixTTC", this.fichierID , "" )
		
					var prixHT;
					var prixTTC;
					var formQte=eval( "document."+ form.name +".Qte_"+ this.fichierID)
					
					var QteCommande;
					if(formQte.options){
						QteCommande=(formQte.options.selectedIndex<=-1)?0:formQte.options[formQte.options.selectedIndex].value;
						
					}else{
						
						QteCommande=parseInt(  (formQte.value<=-1)?0:formQte.value  );
						if(QteCommande+""==="NaN"){QteCommande=1}
						//alert(QteCommande)
					}
		
					if (eval("typeof(this.prixQteSup1HT_"+ params1 +"_"+ params2 +"_"+ params3 +"_"+ params4+"  )")== "function") {
						eval("prixHT=this.prixQteSup1HT_"+ params1 +"_"+ params2 +"_"+ params3 +"_"+ params4   )
						setZoneAffichage("PrixHT", this.fichierID , prixHT(QteCommande)*1 )
					}
		
					if (eval("typeof(this.prixQteSup1TTC_"+  params1 +"_"+ params2 +"_"+ params3 +"_"+ params4+"  )")== "function") {
						eval("prixTTC=this.prixQteSup1TTC_"+ params1 +"_"+ params2 +"_"+ params3 +"_"+ params4   )
						setZoneAffichage("PrixTTC", this.fichierID , prixTTC(QteCommande)*1 )
					}
		
		
					//var formQte=eval( form.name +".Qte_"+ this.fichierID)
					//var QteCommande=formQte.options[formQte.options.selectedIndex].value;
					
					var qteMini= this.getVariable("qteMini" , params1 , params2 , params3 , params4 )
					
					if (qteMini==="")qteMini=0
		
					var qteMaxi= this.getVariable("qteMaxi" , params1 , params2 , params3 , params4 )
					if (qteMaxi==="")qteMaxi=0
					if (qteMaxi<1)qteMaxi=0
					//status="qteMini="+qteMini +"---qteMaxi="+qteMaxi
					qteMini=( (qteMini * 1) <= (qteMaxi * 1))?qteMini * 1:0;
					 
					
					
					
					if(formQte.options){
						formQte.options.length=(qteMaxi*1) - (qteMini*1) +1 ;
						var n=0
						//alert("dropBox length="+formQte.options.length +"--qteMini="+ qteMini +"--qteMaxi="+ qteMaxi)
						for (var i=qteMini*1 ; i <=qteMaxi*1 ; i++){
							formQte.options[n].text=i;
							formQte.options[n].value=i;
							//alert(i)
							n++;
						}
						this.boutonPanierOnOff( ((formQte.options.length>0 )?formQte.options[  formQte.options.selectedIndex ].value : 0 ) , "updateZones")
					}else{
						this.boutonPanierOnOff( formQte.value , "updateZones")
						//alert(formQte.value)
					}
					
					
					//this.boutonPanierOnOff(formQte.options.length , "updateZones")
					//this.boutonPanierOnOff( ((formQte.options.length>0 )?formQte.options[  formQte.options.selectedIndex ].value : 0 ) , "updateZones")
					
					
	}
	
	
	this.ChoixPossibleAuto=function(form){// cherche une combinaison qui marche ET DISPO !
		var choixArray=this.getParamsArray(form)
		var params1=choixArray[0]
		var params2=choixArray[1]
		var params3=choixArray[2]
		var params4=choixArray[3]
		
		var Choix1 =   (params1+"" != "")?this.params1[params1*1]:"" ;
		var Choix2 =   (params2+"" != "")?this.params2[params2*1]:"" ;
		var Choix3 =   (params3+"" != "")?this.params3[params3*1]:"" ;
		var Choix4 =   (params4+"" != "")?this.params4[params4*1]:"" ;
		var tempo=this.getVariable("qteMaxi" , params1 , params2 , params3 , params4 )
		
		if( typeof( tempo )=="undefined" || tempo=="" || tempo<=0 ){
			var ChoixArray=this.meilleurChoixArray
				
			var formParams1=eval("document."+ form.name +".params1_"+ this.fichierID)
			var formParams2=eval("document."+ form.name +".params2_"+ this.fichierID)
			var formParams3=eval("document."+ form.name +".params3_"+ this.fichierID)
			var formParams4=eval("document."+ form.name +".params4_"+ this.fichierID)
			
			if (ChoixArray!=null) {
				if (formParams1 && formParams1.options && ChoixArray[0]!="" ){formParams1.options.selectedIndex=ChoixArray[0];}
				if (formParams2 && formParams2.options && ChoixArray[1]!="" ){formParams2.options.selectedIndex=ChoixArray[1];}
				if (formParams3 && formParams3.options && ChoixArray[2]!="" ){formParams3.options.selectedIndex=ChoixArray[2];}
				if (formParams4 && formParams4.options && ChoixArray[3]!="" ){formParams4.options.selectedIndex=ChoixArray[3];}
			}
		}
		
		this.VerifChoix(form)
		
	}
	
	this.VerifChoix = function(form){
		// renvoi "" si pas de probleme , sinon renvoi l'info de disponibilité !
		var infoDispo="";
		var choixArray=this.getParamsArray(form)
		var params1=choixArray[0]
		var params2=choixArray[1]
		var params3=choixArray[2]
		var params4=choixArray[3]
		
		var Choix1 =   (params1+"" != "")?this.params1[params1*1]:"" ;
		var Choix2 =   (params2+"" != "")?this.params2[params2*1]:"" ;
		var Choix3 =   (params3+"" != "")?this.params3[params3*1]:"" ;
		var Choix4 =   (params4+"" != "")?this.params4[params4*1]:"" ;
		
		infoDispo = ((Choix1!="")? this.params1_Name + " : " +  Choix1 :"")  ;
		infoDispo += (Choix2!="")?(((Choix1!="")?", ":" ")+ this.params2_Name + " : " + Choix2 ): "" ;
		infoDispo += (Choix3!="")?(((Choix2!="")?", ":" ")+ this.params3_Name + " : " + Choix3 ): "" ;
		infoDispo += (Choix4!="")?(((Choix3!="")?", ":" ")+ this.params4_Name + " : " + Choix4 ): "" ;


		
		var prixHT;
		var prixTTC;
		if (eval("typeof(this.prixQteSup1HT_"+ params1 +"_"+ params2 +"_"+ params3 +"_"+ params4+"  )")== "function") {
			eval("prixHT=this.prixQteSup1HT_"+ params1 +"_"+ params2 +"_"+ params3 +"_"+ params4   )
		}
		if (eval("typeof(this.prixQteSup1TTC_"+  params1 +"_"+ params2 +"_"+ params3 +"_"+ params4+"  )")== "function") {
			eval("prixTTC=this.prixQteSup1TTC_"+ params1 +"_"+ params2 +"_"+ params3 +"_"+ params4   )
		}
		if ( typeof(prixHT) == "function" ){
			// on regarde si il en reste
			combienMaxi=this.getVariable("qteMaxi" , params1 , params2 , params3 , params4 )
			if (typeof(combienMaxi) != "undefined"){
				if ( combienMaxi <= 0 ){
					// yen a plus !!
					this.updateZones(form, params1 , params2 , params3 , params4 );
					//alert("yen a plus !!")
					setZoneAffichage("InfoDispo", this.fichierID , infoDispo , 1 )					
					return infoDispo;
				}
			}
			this.updateZones(form,params1 , params2 , params3 , params4 );
			setZoneAffichage("InfoDispo", this.fichierID , this.getVariable("InfoDispo" , params1 , params2 , params3 , params4 ) , 0 )
			
		}else{
			// ca n'existe pas !!
			this.updateZones(form,params1 , params2 , params3 , params4 );
			// mettre une phrase de non disponiblité quelque part
			setZoneAffichage("InfoDispo", this.fichierID , infoDispo , 2 )
			
			return infoDispo;
		}
		return "";
	}


	this.boutonPanierOnOff=function (qteMaxi , fromWhere){
		if(true && document.getElementById && document.getElementById("ajoutePanier_"+ this.fichierID )){
			//alert(fromWhere +"=="+ qteMaxi)
			if(qteMaxi<=0 || qteMaxi===''){
					
					document.getElementById("ajoutePanier_"+ this.fichierID ).style.visibility="hidden"
					document.getElementById("ajoutePanier_"+ this.fichierID ).style.display="none"
			}else{
					document.getElementById("ajoutePanier_"+ this.fichierID ).style.visibility=""
					document.getElementById("ajoutePanier_"+ this.fichierID ).style.display=""
			}
		}		
	}



	
	
	
	this.addLoadEvent=function (func) {
	  var oldonload = window.onload;
	  if (typeof window.onload != 'function') {
	    window.onload = func;
	  } else {
	    window.onload = function() {
	      if (oldonload) {//avoid a runtime error in IE 7
	        oldonload();
	      }
	      func();
	    }
	  }
	  return true
	}











	
	
	/*
	 * (c)2006 Jesse Skinner/Dean Edwards/Matthias Miller/John Resig
	 * Special thanks to Dan Webb's domready.js Prototype extension
	 * and Simon Willison's addLoadEvent
	 *
	 * For more info, see:
	 * http://www.thefutureoftheweb.com/blog/adddomloadevent
	 * http://dean.edwards.name/weblog/2006/06/again/
	 * http://www.vivabit.com/bollocks/2006/06/21/a-dom-ready-extension-for-prototype
	 * http://simon.incutio.com/archive/2004/05/26/addLoadEvent
	 * 
	 *
	 * To use: call addDOMLoadEvent one or more times with functions, ie:
	 *
	 *    function something() {
	 *       // do something
	 *    }
	 *    addDOMLoadEvent(something);
	 *
	 *    addDOMLoadEvent(function() {
	 *        // do other stuff
	 *    });
	 *
	 */
	 
	this.addDOMLoadEvent = (function(){
	    // create event function stack
	    var load_events = [],
	        load_timer,
	        script,
	        done,
	        exec,
	        old_onload,
	        init = function () {
	            done = true;
	
	            // kill the timer
	            clearInterval(load_timer);
	
	            // execute each function in the stack in the order they were added
	            while (exec = load_events.shift())
	                exec();
	
	            if (script) script.onreadystatechange = '';
	        };
	
	    return function (func) {
	        // if the init function was already ran, just run this function now and stop
	        if (done) return func();
	
	        if (!load_events[0]) {
	            // for Mozilla/Opera9
	            if (document.addEventListener)
	                document.addEventListener("DOMContentLoaded", init, false);
	
	            // for Internet Explorer
	            /*@cc_on @*/
	            /*@if (@_win32)
	                document.write("<script id=__ie_onload defer src=//0><\/scr"+"ipt>");
	                script = document.getElementById("__ie_onload");
	                script.onreadystatechange = function() {
	                    if (this.readyState == "complete")
	                        init(); // call the onload handler
	                };
	            /*@end @*/
	
	            // for Safari
	            if (/WebKit/i.test(navigator.userAgent)) { // sniff
	                load_timer = setInterval(function() {
	                    if (/loaded|complete/.test(document.readyState))
	                        init(); // call the onload handler
	                }, 10);
	            }
	
	            // for other browsers set the window.onload, but also execute the old window.onload
	            old_onload = window.onload;
	            window.onload = function() {
	                init();
	                if (old_onload) old_onload();
	            };
	        }
	
	        load_events.push(func);
	    }
	})();








	

}




