// UPaniers.js v1.50
// (c) ThA 2010. Utilise procedures loadHttpX et autres de Utils.js (ATUtils.js)
	// Id de l'objet (Le Select)
	var stPanierLstId='PaniersLst';
	// Id de l'objet avec le Nb d'items
	var stPanierNbId='PanierNbItems';
	// Dans les pages ou on affiche le panier, mettre sur true pour empêcher modifs
	var DoReloadIfPanierSelChange=false; 
	// DtpMsgCreate et DtpMsgCopy sont redefinis en dehors pour les langues
	var DtpMsgCreate='Nouveau Panier:';
	var DtpMsgCopy='Nouveau Panier:';
	var DtpMsgDel='Destruction du panier \'';
	// Si ces messages existent ils s'affichent et les boites de dialogues s'ajustent. Sinon Rien
	var DtpMsgAddOk='Ajout réalisé.';
	var DtpMsgAddNotOk='Ajout NON réalisé.';
	var DtpMsgAddGoSee='Voulez vous voir votre panier ?';
	
	var DtpSelOptXFMsg='*';
	var DtpSelOptXFgotoPage=''; // Envoi vers la page..

	function DtpPaniersXMLX2(st,XAction,ixx) {
		var i=st.indexOf('\r\n');
		// alert('Session'+XAction+' - ' +ixx+'\r\nRetour: \''+st+'\'');
		var ob=document.getElementById(stPanierLstId);
		switch (XAction) {
			case 'del' : // Recoit le nouvel "actif"
				if (ixx) ob.options[ixx]=null;
				DtpDisplayAllPaniers(false,eval(st))
				break;
			case 'new' : case 'copy' : // Recoit le nouvel index
				i=eval(st);
				DoAddOption(stPanierLstId,i,ixx);
				DtpDisplayAllPaniers(false,i)
				break;
			case 'sel' : // On devrait avoir en retour la même chose que le value du truc sélectionné..
				i=eval(st);
				if (ob.options[ob.selectedIndex].value != i) {DtpDisplayAllPaniers(false,i);}
				break;
			case 'add' :
				var n=eval(st);
				if (n > 0) {
					DtpSetNbEltsPanier(n);
					}
				if (DtpMsgAddGoSee != '') {
					var stx='';
					if (DtpMsgAddOk+DtpMsgAddNotOk != '') stx=((n<0)?DtpMsgAddNotOk: DtpMsgAddOk)+'\r\n\r\n';
					if (confirm(stx+DtpMsgAddGoSee)) document.location='selection.asp';
					}
				else {
					if (DtpMsgAddOk+DtpMsgAddNotOk != '') alert((n<0)?DtpMsgAddNotOk: DtpMsgAddOk);					
					}
				break;
			default: 
				DtpDisplayAllPaniers(false,0); break;
			}
			if (DoReloadIfPanierSelChange) document.location=document.location.href.replace('?add=1','?z').replace('&add=1','').replace('?mod=1','?z').replace('&mod=1','');
	}
	// function DtpPaniersXMLX(XAction,ixx) {DtpPaniersXMLX=DtpPaniersXMLX2(req.responseText,XAction,ixx);}

	function DtpDisplayAllPaniers(Reload,iActif) {
		// alert('Hop '+Reload+','+iActif);
		if (Reload) {
			loadXMLDoc('CodeDtp.asp?DoPage=Xcall&DtpXCall=dtpPanierLoad&DtpXParams=-1','DtpPaniersXMLX2(req.responseText)');
			return;
		}
		var ob=document.getElementById(stPanierLstId);
		if (ob.options.length <= 0) {
			DoAddOption(stPanierLstId, 0, '(-)');
			}
		else {
			if (iActif >= 0) {
				for (var i=ob.options.length-1; i>=0; i--) {
					if (ob.options[i].value==iActif) {
						ob.selectedIndex=i;
						break;
						}
					}
				}
			}
	}

	function DtpGetPaniersLstSel(GetPanierIdx) {
		// retourne index ou pos de l'item selectionné
		var ob=document.getElementById(stPanierLstId);
		if (!ob) return -1;
		var i=ob.selectedIndex;
		if (i < 0) return -1;
		return ((GetPanierIdx) ? ob.options[i].value : i);
	}

	function DtpCheckNomPanier(st) {
		// Dedoublonnage noms
		var ob=document.getElementById(stPanierLstId);
		var stx=st;
		var k=0;
		for (var i=ob.options.length-1; i >= 0;) {
			if (stx==ob.options[i].text) {
				k++;
				stx = st + " - " + k;
				i=ob.options.length-1;
				}
			else {
				i--;
				}
			}
		return stx;
	}
	
	function DtpCreatePanier() {
		var d=new Date();
		var st=d.getFullYear()+'/'+((d.getMonth()<9) ? '0':'')+(d.getMonth()+1)+'/'+((d.getDate()<=9) ? '0':'')+d.getDate();
		for (;;) {
			st=prompt(DtpMsgCreate,DtpCheckNomPanier(st));
			if (!st) return;
			if (st==DtpCheckNomPanier(st)) break;
		}
		loadHttpX('CodeDtp.asp?DoPage=Xcall&DtpXCall=dtpPanierNew&DtpXParams='+escape(st),'DtpPaniersXMLX2(req.responseText,\'new\',\''+st.replace('\'','\\\'')+'\')',true);
	}

	function DtpCopyPanier(stIdObj) {
		var ob=document.getElementById(stPanierLstId);
		var st=DtpCheckNomPanier(ob.options[ob.selectedIndex].text);
		for (;;) {
			st=prompt(DtpMsgCopy,DtpCheckNomPanier(st));
			if (!st) return;
			if (st==DtpCheckNomPanier(st)) break;
		}
		loadHttpX('CodeDtp.asp?DoPage=Xcall&DtpXCall=dtpPanierCopy&DtpXParams='+escape(st),'DtpPaniersXMLX2(req.responseText,\'copy\',\''+st.replace('\'','\\\'')+'\')',true);
		document.getElementById(stIdObj).value=st;
	}

	function DtpSelPanier() {
		var i=DtpGetPaniersLstSel(true);
		// alert('Sel ' +i);
		if (i > 0) {
			loadHttpX('CodeDtp.asp?DoPage=Xcall&DtpXCall=dtpPaniersLoad&DtpXParams='+i,'DtpPaniersXMLX2(req.responseText,\'sel\')',true);
			}
	}

	function DtpDelPanier() {
		var i=DtpGetPaniersLstSel(false);
		if (i < 0) return;
		var ob=document.getElementById(stPanierLstId);
		if (!confirm(DtpMsgDel + ob.options[i].text + '\' ?')) return;
		loadHttpX('CodeDtp.asp?DoPage=Xcall&DtpXCall=dtpPaniersDel&DtpXParams='+ob.options[i].value,'DtpPaniersXMLX2(req.responseText,\'del\','+i+')',true);
	}

	function DtpRenamePanier(stIdObj) {
		var obTxt=document.getElementById(stIdObj);
		var stNom=obTxt.value;
		var ob=document.getElementById(stPanierLstId);
		stNom=XTrim(stNom);
		if ((stNom == '') || (stNom == ob.options[ob.selectedIndex].text)) return;
		stNom=DtpCheckNomPanier(stNom);
		obTxt.value=stNom;
		loadHttpX('CodeDtp.asp?DoPage=Xcall&DtpXCall=dtpPanierSave&DtpXParams='+escape(stNom),'',false);
		if (ob) {
			ob.options[ob.selectedIndex].text=stNom;
			}
	}
	
	function DtpAddPanier(PdtIdx) {
		//var st=(PdtIdx)?'&PdtIdx='+PdtIdx:'';
		var st=''+((PdtIdx)?PdtIdx:'');
		if ((st.indexOf('&Q=')<0) && (document.getElementById('Q'))) st+='&Q='+document.getElementById('Q').value;
		if ((st.indexOf('&PU=')<0) && (document.getElementById('PU'))) st+='&PU='+document.getElementById('PU').value;
		if ((st.indexOf('&PtsU=')<0) && (document.getElementById('PtsU'))) st+='&PtsU='+document.getElementById('PtsU').value;
		if ((st.indexOf('&PdtColIdx=')<0) && (document.getElementById('PdtColIdx'))) st+='&PdtColIdx='+document.getElementById('PdtColIdx').value;
		if ((st.indexOf('&PdtSizeIdx=')<0) && (document.getElementById('PdtSizeIdx'))) st+='&PdtSizeIdx='+document.getElementById('PdtSizeIdx').value;
		if ((st.indexOf('&PdtFabIdx=')<0) && (document.getElementById('PdtFabIdx'))) st+='&PdtFabIdx='+document.getElementById('PdtFabIdx').value;
		if ((st.indexOf('&PdtMarqIdx=')<0) && (document.getElementById('PdtMarqIdx'))) st+='&PdtMarqIdx='+document.getElementById('PdtMarqIdx').value;
		if ((st.indexOf('&PdtMarqOptionIdx=')<0) && (document.getElementById('PdtMarqOptionIdx'))) st+='&PdtMarqOptionIdx='+document.getElementById('PdtMarqOptionIdx').value;
		loadHttpX('CodeDtp.asp?DoPage=Xcall&DtpXCall=dtpPanierAdd&DtpXParams='+st,'DtpPaniersXMLX2(req.responseText,\'add\')',false);
	}
	
	function DtpSetNbEltsPanier(n) {
		if (document.getElementById(stPanierNbId)) {
			document.getElementById(stPanierNbId).value=n;
			document.getElementById(stPanierNbId).innerHTML=n;
			}
		try {	
			if (window.parent.document.getElementById(stPanierNbId)) {
				window.parent.document.getElementById(stPanierNbId).value=n;
				window.parent.document.getElementById(stPanierNbId).innerHTML=n;
				}
			}catch(e){}
		try {	
			if (window.top.document.getElementById(stPanierNbId)) {
				window.top.document.getElementById(stPanierNbId).value=n;
				window.top.document.getElementById(stPanierNbId).innerHTML=n;
				}
			}catch(e){}
	}
	
	function DtpSelOptXF(PdtIdx,ColIdx,SizeIdx,FabIdx,MarqIdx,LocIdx,gotoPage) {
		if (ColIdx==-1) {
			for (var i=1;;i++) {
				if (!document.getElementById('PdtColIdx'+i)) break;
				DtpSelOptXF(PdtIdx,document.getElementById('PdtColIdx'+i).value,SizeIdx,FabIdx,MarqIdx,LocIdx);
				}
			}
		else {
			if (SizeIdx==-1) {
				for (var i=1;;i++) {
					if (!document.getElementById('PdtSizeIdx'+i)) break;
					DtpSelOptXF(PdtIdx,ColIdx,document.getElementById('PdtSizeIdx'+i).value,FabIdx,MarqIdx,LocIdx);
					}
				}
			else {
				if (FabIdx==-1) {
					for (var i=1;;i++) {
						if (!document.getElementById('PdtFabIdx'+i)) break;
						DtpSelOptXF(PdtIdx,ColIdx,SizeIdx,document.getElementById('PdtFabIdx'+i).value,MarqIdx,LocIdx);
						}
					}
				else {
					if (MarqIdx==-1) MarqIdx=0;
					if (LocIdx==-1) LocIdx=0;
					var stx='_'+ColIdx+'x'+SizeIdx+'x'+FabIdx+'x'+MarqIdx+'x'+LocIdx;
					var q=eval(document.getElementById('Q'+stx).value);
					if (q) {
						if (document.getElementById('QS'+stx)) {
							var qs=eval(document.getElementById('QS'+stx).value);
							iQStock=qs; // Global de la fiche !
							// if (q > qs) {q=qs;document.getElementById('Q'+stx).value=q;}
							}
						if (ColIdx > 0) document.getElementById('PdtColIdx').value=ColIdx;
						if (SizeIdx > 0) document.getElementById('PdtSizeIdx').value=SizeIdx;
						if (FabIdx > 0) document.getElementById('PdtFabIdx').value=FabIdx;
						document.getElementById('Q').value=q;
						if (checkQminiCSFML()) {
							DtpAddPanier(PdtIdx);
							if (DtpSelOptXFMsg != '') {
								var stx='';
								if (ColIdx>0) stx += ' - ' + document.getElementById('PdtColNomIdx'+ColIdx).innerHTML;
								if (SizeIdx>0) stx += ' - ' + document.getElementById('PdtSizeNomIdx'+SizeIdx).innerHTML;
								if (FabIdx>0) stx += ' - ' + document.getElementById('PdtFabNomIdx'+FabIdx).innerHTML;
								alert(q + ' "'+ document.getElementById('pPdtNom').innerHTML+stx+ '" ajouté'+((q>1)?'s':'')+'.');
								}
							}
						}
					}
				}
			}
		if ((gotoPage) && (gotoPage+'x' != 'x')) {
			window.setTimeout('document.location=\''+gotoPage+'\'',100);
			}
		else if (DtpSelOptXFgotoPage != '') {
			window.setTimeout('document.location=\''+DtpSelOptXFgotoPage+'\'',100);
			}
	}
		

