// CADDIE VIRTUEL - Tous droits réservés (c)
// Copyright : Olivier Hondermarck  webmaster@toutjavascript.com  
// http://www.ToutJavaScript.com

var kd_cde="commande.html"; var kd_paiement="paiement.html"
var kd_adresse="adresse.html"; var kd_adresse_f="adressef.html"
var kd_remise=0;  kd_txRemise=0.00 //(le taux de remise vaut 5%)
var kd_port=0;	var kd_frais_port=40;
var kd_taille=1;
var kd_couleur=1;
var kd_facturation=0;
var kd_info=1;var kd_info_cols=40; var kd_info_rows=5;
var kd_tel=1;var kd_fax=1;
var kd_voir=1;

var pathname=location.pathname;
var myDomain=pathname.substring(0,pathname.lastIndexOf('/'))+'/';
var myDomain='/';
var dateExp=new Date();
var dateOld=new Date();
dateOld.setTime(dateExp.getTime()-1);
dateExp.setTime(dateExp.getTime()+(365*24*3600*1000));
var montantF=0;var totalF=0; var totalE=0; var masseT=0; var portF=0; var caddieOK=0; var adresseOK=0; var cdePays=""; var remiseF=0;
var taux=1/6.55957
function getCookieVal(offset) {
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) {endstr=document.cookie.length;}
	return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie(name) {
	var arg=name+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen) {
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg)
			return getCookieVal (j);
		i=document.cookie.indexOf(" ",i)+1;
        if (i==0) break;
	}
	return null;
}
function SetCookie(name,value) {
	var argv=SetCookie.arguments;
	var argc=SetCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=name+"="+escape(value)+
		((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
		((path==null) ? "" : ("; path="+path))+
		((domain==null) ? "" : ("; domain="+domain))+
		((secure==true) ? "; secure" : "");
}

function format(valeur) { 
 var f = Math.round(valeur*100)/100;
 f=f+"";
 if (f.indexOf(".",0)<0) { f+=".00";}
 if (f.indexOf(".",0)==f.length-2) {f+="0";}
 return f;
}


function GetNbItem() {
	var NbS=GetCookie("nbitem");
	var Nb=0
	if (NbS!=null) {Nb=parseInt(NbS);}
	return Nb;
}
function SetNbItem(nb) {
	SetCookie("nbitem",nb,dateExp,myDomain)
}
function CreerLien(ref,des,qte,prixU,masse,taille,couleur) {
	var aff="<FORM>"+des+" ";
	aff+='<INPUT name="ref" type="hidden" value="'+ref+'">';
	aff+='<INPUT name="des" type="hidden" value="'+des+'">';
	aff+="<INPUT name='qte' type='text' value='"+qte+"' size=2> ";
	if (kd_taille==1){
		aff+=" <SELECT name='taille' size=1>";
		for (var i=0;i<taille.length;i++){ 
			aff+="<OPTION value='"+taille[i]+"'>"+taille[i]+"</OPTION>";
		}
		aff+="</SELECT>"
	}
	if (kd_couleur==1){
		aff+=" <SELECT name='couleur' size=1>";
		for (var i=0;i<couleur.length;i++){ 
			aff+="<OPTION value='"+couleur[i]+"'>"+couleur[i]+"</OPTION>";
		}
		aff+="</SELECT>"
	}
	aff+="<INPUT name='masse' type='hidden' value='"+masse+"'>";
	aff+="<INPUT name='prixU' type='hidden' value='"+prixU+"'>";
	aff+=" <INPUT type='button' value='Ajouter' onClick='AddItem(this.form)'>";
	aff+="</FORM><BR>";
	document.write(aff);
}
function AddItem(form) {
	if (parseInt(GetNbItem())>=17)	{
		alert("Le caddie est limité à 17 articles. A partir de 18 articles, faites une 2éme commande. Merci");
		return 0;
	}
                   var NoItem=parseInt(GetNbItem())+1;
	var ref=form.ref.value;
	var des=form.des.value;
	var prixU=form.prixU.value;
	var qte=form.qte.value;
	var taille="";
	if (kd_taille==1) {
		if (form.taille) {
			taille=form.taille.options[form.taille.selectedIndex].value;
		} else {
			taille="";
		}
	}
	var couleur="";
	if (kd_couleur==1) {
		if (form.couleur) {
			couleur=form.couleur.options[form.couleur.selectedIndex].value;
		} else {
			couleur="";
		}
	}
	var masse=form.masse.value;
	var	ligne=ref+"¤"+des+"¤"+taille+"¤"+couleur+"¤"+prixU+"¤"+qte+"¤"+masse+"¤";
	SetCookie("itemno"+NoItem,ligne,dateExp,myDomain);
	SetNbItem(NoItem);
	if (kd_voir){MajVoir()}
}

function AddItemSpe(form) {
	if (isNaN(parseFloat(form.prixU.value)))	{
		alert("Entrez un prix valide"); form.prixU.focus();
	} else {
		var NoItem=parseInt(GetNbItem())+1;
		var ref=form.ref.value;
		var des=form.des.value;
		var prixU=form.prixU.value;
		var qte=form.qte.value;
		var taille="";
		var couleur="";
		var masse=form.masse.value;
		var	ligne=ref+"¤"+des+"¤"+taille+"¤"+couleur+"¤"+prixU+"¤"+qte+"¤"+masse+"¤";
		SetCookie("itemno"+NoItem,ligne,dateExp,myDomain);
		SetNbItem(NoItem);
		if (kd_voir){MajVoir()}
	}
}

function SupItem(no) {
	var ligne=GetCookie("itemno"+no);
	var dateAvant=new Date();
	var nb=GetNbItem();
	dateAvant.setTime(dateAvant.getTime() - 1);
	if (ligne!=null) {
		if (confirm("Cet article va être enlevé de votre panier\nEtes-vous d'accord ?")){
			for(var i=no+1;i<=nb;i++) {
				ligne=GetCookie("itemno"+i);
				SetCookie("itemno"+(i-1),ligne,dateExp,myDomain);
			}
			SetNbItem(nb-1);
			if (kd_voir){MajVoir()}
		}
	}
}
function ChangeQte(no) {
	var item=new GetItem(no);
	var new_qte=prompt("Nouvelle quantité pour "+item.des+" ?",item.qte);
	new_qte=Math.round(parseInt(new_qte));
	if (new_qte>0){
		var ligne=item.ref+"¤"+item.des+"¤"+item.taille+"¤"+item.couleur+"¤"+item.pxU+"¤"+new_qte+"¤"+item.masse+"¤";
		SetCookie("itemno"+no,ligne,dateExp,myDomain);
		window.location.reload();
		return false;
	} else {SupItem(no); return true;}
}
function SauveAdresseL(f){SauveAdresse(f,"leclient")}
function SauveAdresseF(f){SauveAdresse(f,"lafacture")}
function SauveAdresse(f,type) {
	var nom=f.f_nom.value; var prenom=f.f_prenom.value; var mail="";
	var ad1=f.f_ad1.value; var ad2=f.f_ad2.value; var cp=f.f_cp.value; var ville=f.f_ville.value; 
	var pays=f.f_pays.options[f.f_pays.selectedIndex].value;
	var tel=""; if (kd_tel==1){tel=f.f_tel.value;}
	var fax=""; if (kd_fax==1){fax=f.f_fax.value;}
	var msg=""; var c="";
	if (nom==""){msg="Saisissez votre nom"; c="f_nom"}
	if (prenom==""){msg="Saisissez votre prénom"; c="f_prenom"}
	if (type=="leclient"){
		mail=f.f_mail.value;
		if (mail.indexOf('@',0)==-1){msg="L'adresse mail est invalide"; c="f_mail"}
        if (tel==""){msg="Saisissez votre numéro de téléphone"; c="f_tel"}
	}
	if (ad1==""){msg="Saisissez votre adresse"; c="f_ad1"}
	if (cp==""){msg="N'oubliez pas le code postal"; c="f_cp"}
	if (ville==""){msg="Saisissez votre ville"; c="f_ville"}
	if (pays==""){msg="Sélectionnez un pays"; c="f_pays"}
	if (msg==""){
		var adresse=nom+"¤"+prenom+"¤"+mail+"¤"+ad1+"¤"+ad2+"¤"+cp+"¤"+ville+"¤"+pays+"¤"+tel+"¤"+fax+"¤ ";
		SetCookie(type,adresse,dateExp,myDomain)
		if (type=="leclient"){SetCookie("lafacture",adresse,dateExp,myDomain)}
		SetCookie("kd","OK",dateExp,myDomain);
		window.location=kd_cde;
		return true;
	} else {
		alert(msg); f.elements[c].focus();
		SetCookie("kd","KO",dateExp,myDomain);
		return false;
	}
}
function GetAdresse(type) {
	var ad=GetCookie(type); var i=0; var j=0;
	if ((ad!="")&&(ad!=null)){
		j=ad.indexOf("¤",i);this.nom=ad.substring(i,j); i=j+1;
		j=ad.indexOf("¤",i);this.prenom=ad.substring(i,j); i=j+1;
		j=ad.indexOf("¤",i);this.mail=ad.substring(i,j); i=j+1;
		j=ad.indexOf("¤",i);this.ad1=ad.substring(i,j); i=j+1;
		j=ad.indexOf("¤",i);this.ad2=ad.substring(i,j); i=j+1;
		j=ad.indexOf("¤",i);this.cp=ad.substring(i,j); i=j+1;
		j=ad.indexOf("¤",i);this.ville=ad.substring(i,j); i=j+1;
		j=ad.indexOf("¤",i);this.pays=ad.substring(i,j); i=j+1;
		j=ad.indexOf("¤",i);this.tel=ad.substring(i,j); i=j+1;
		j=ad.indexOf("¤",i);this.fax=ad.substring(i,j); i=j+1;
		this.exist="YES"
	} else {this.pays="";this.exist="NO"}
}
function InitAdresseL(f){InitAdresse(f,"leclient")}
function InitAdresseF(f){InitAdresse(f,"lafacture")}
function InitAdresse(form,type) {
	var ad=new GetAdresse(type)
	if (ad.exist!="NO")	
	with (form) {
		elements["f_nom"].value=ad.nom;
		elements["f_prenom"].value=ad.prenom;
		if (type=="leclient"){elements["f_mail"].value=ad.mail}
		elements["f_ad1"].value=ad.ad1;
		elements["f_ad2"].value=ad.ad2;
		elements["f_ville"].value=ad.ville;
		elements["f_cp"].value=ad.cp;
		elements["f_pays"].value=ad.pays;
		if (kd_tel==1){elements["f_tel"].value=ad.tel}
		if (kd_fax==1){elements["f_fax"].value=ad.fax}
	}
}
function DispAdresse(type) {
	var ad=new GetAdresse(type);
	if (type=="leclient"){var aff="<B>ADRESSE DE LIVRAISON :</B>&nbsp;&nbsp;<A href='"+kd_adresse+"'>MODIFIER</A><BR>";}
	else {var aff="<B>ADRESSE DE FACTURATION :</B>&nbsp;&nbsp;<A href='"+kd_adresse_f+"'>MODIFIER</A><BR>";}
	var i1=0; var i2=0;
	if (ad.exist!="NO"){
		aff+="<TABLE><TR><TD width=15></TD><TD>";
		var adr=ad.ad1;if (ad.ad2!=""){adr=ad.ad1+"<BR>"+ad.ad2;}
		aff+=ad.prenom+" "+ad.nom
		aff+="<BR>"+adr+"<BR>"+ad.cp+" "+ad.ville+"<BR>"+ad.pays+"<BR>"
		if (type=="leclient"){
			aff+="(Mail : "+ad.mail+")<BR>"
			var suf=""
		} else {var suf="F"}
		if (kd_tel==1){aff+="Tel : "+ad.tel+"<BR>"}
		if (kd_fax==1){aff+="Fax : "+ad.fax+"<BR>"}
		aff+="<BR></TD></TR></TABLE><BR>";
		cdePays=ad.pays;
		aff+='<INPUT type="hidden" name="nom'+suf+'" value="'+ad.prenom+' '+ad.nom+'">'
		aff+='<INPUT type="hidden" name="adresse1'+suf+'" value="'+ad.ad1+'">'
		aff+='<INPUT type="hidden" name="adresse2'+suf+'" value="'+ad.ad2+'">'
		aff+='<INPUT type="hidden" name="ville'+suf+'" value="'+ad.cp+' '+ad.ville+' '+ad.pays+'">'
		aff+='<INPUT type="hidden" name="mail'+suf+'" value="'+ad.mail+'">'
		if (kd_tel==1){aff+='<INPUT type="hidden" name="tel'+suf+'" value="'+ad.tel+'">'}
		if (kd_fax==1){aff+='<INPUT type="hidden" name="fax'+suf+'" value="'+ad.fax+'">'}
	} else {
		aff+="Aucune information saisie.<BR><BR>"
	}
	document.write(aff);
}
function GetItem(no) {
	var l=GetCookie("itemno"+no); var i=0; var j=0
	j=l.indexOf("¤",i); this.ref=l.substring(i,j);i=j+1;
	j=l.indexOf("¤",i); this.des=l.substring(i,j);i=j+1;
	j=l.indexOf("¤",i); this.taille=l.substring(i,j);i=j+1;
	j=l.indexOf("¤",i); this.couleur=l.substring(i,j);i=j+1;
	j=l.indexOf("¤",i); this.pxU=l.substring(i,j);i=j+1;
	j=l.indexOf("¤",i); this.qte=l.substring(i,j);i=j+1;
	j=l.indexOf("¤",i); this.masse=l.substring(i,j);	
}
function CalcPort() {
	var p="?"; var m=masseT;
	if (kd_port==0){
		if (m<25010){p=23.00}if (m<15000){p=18.00}if (m<10000){p=13.00}if (m<5000){p=10.50}if (m<500){p=10.00}if (m<10){p=0.00}
	}
	if (kd_port==1)	{portF=kd_frais_port	}
	if (p!="?"){portF=p}
}
function CalcRemise(){
	if (kd_remise==1) {remiseF=Math.ceil(parseFloat(kd_txRemise*montantF));}
	if (kd_remise==0) {remiseF=0;}
}
var textlim="Version de démonstration limitée à 2 articles dans le caddie";
function DispCaddie(fond,trait,color) {
	var mtF="";var aff="";
	var NbItem=parseInt(GetNbItem());
	if (NbItem>0) {
		aff+="<B>Votre bon de commande : </B><BR>"
		aff+="<TABLE border=0 cellpadding=2 cellspacing=1 bgcolor='"+trait+"'><TR align='center' bgcolor='"+color+"'>"
		aff+="<TD><B>Qtité</B></TD><TD><B>Désignation</B></TD><TD><B>Prix unitaire</B></TD><TD><B>Montant (&euro;)</B></TD><TD><B>Modifications</B></TD></TR>";
		for(var i=1;i<=NbItem;i++) {
			i1=0; i2=0;
			var item=new GetItem(i);
			item.pxU=parseFloat(item.pxU,2);
			mtF=parseFloat(parseInt(item.qte)*parseFloat(item.pxU),2);
			montantF+=mtF; masseT+=item.qte*item.masse;

			if ((kd_taille)&&(item.taille!="")){item.des+=" &nbsp;T"+item.taille+" ";}
			if (kd_couleur){item.des+=" &nbsp;"+item.couleur+" ";}
			aff+="<TR>"
			aff+="<TD bgcolor='"+fond+"' align='right'>"+item.qte+"</TD>";
			aff+="<TD bgcolor='"+fond+"'>"+item.des+"</TD>";
			aff+="<TD bgcolor='"+fond+"' align='right'>"+format(item.pxU)+"</TD>";
			aff+="<TD bgcolor='"+fond+"' align='right'>"+format(mtF)+"</TD>";
			aff+="<TD bgcolor='"+fond+"' align='right'><A href='' onClick='SupItem("+i+"); window.location.reload(); return false'>Supprimer</A>";
			aff+=" <A href='' onClick='ChangeQte("+i+");window.location.reload();return false'>Quantités</A>"
			aff+='<INPUT type="hidden" name="article'+i+'" value="'+item.ref+' '+item.des+' quantite='+item.qte+' montant='+format(mtF)+'"></TD>';
			aff+="</TR>"
		}
		CalcPort(); CalcRemise();
		aff+="<TR><TD colspan=3 align='right' bgcolor='"+fond+"'><B>Montant de la commande</B></TD>";
		aff+="<TD align='right' bgcolor='"+fond+"'>"+format(montantF)+"</TD>";
		aff+="<TD align='right' bgcolor='"+fond+"'>&nbsp;</TD></TR>";
		aff+="<TR><TD colspan=3 align='right' bgcolor='"+fond+"'><B>Remise";
		if (kd_remise==1){aff+=" ("+parseFloat(kd_txRemise*100)+" %)"}
		aff+="</B></TD>";
		aff+="<TD align='right' bgcolor='"+fond+"'>"+format(remiseF)+"</TD>";
		aff+="<TD align='right' bgcolor='"+fond+"'>&nbsp;</TD></TR>";
		aff+="<TR><TD colspan=3 align='right' bgcolor='"+fond+"'><B>Participation au transport </B></TD>";
		aff+="<TD align='right' bgcolor='"+fond+"'>"+format(portF)+"</TD>";
		aff+="<TD align='right' bgcolor='"+fond+"'>&nbsp;</TD></TR>";
		totalF=montantF-remiseF+portF;
		aff+="<TR><TD colspan=3 align='right' bgcolor='"+color+"'><B>TOTAL A PAYER</B></TD>";
		aff+="<TD align='right' bgcolor='"+color+"'>"+format(totalF)+"</TD>";
		aff+="<TD align='left' bgcolor='"+color+"'> Soit "+format(parseFloat(totalF/taux,2))+" F</TD>";
		aff+="</TR></TABLE>";

		aff+="<INPUT type='hidden' name='remise' value='"+format(remiseF)+"'>"
		aff+="<INPUT type='hidden' name='port' value='"+format(portF)+"'>"
		aff+="<INPUT type='hidden' name='total' value='"+format(totalF)+"'>"

		if (kd_info) {
			aff+="<BR>Signalez nous vos heures disponibles pour la livraison <BR><TEXTAREA name='info' rows="+kd_info_rows+" cols="+kd_info_cols+"></TEXTAREA><BR>"
		}

		SetCookie("kd_total",totalF,dateExp,myDomain);
	} else {
		aff="<BR><BR>Le caddie est vide !<BR><BR>";
	}
	document.write(aff);
}
function ViderCaddie() {
	for (var i=0;i<=20;i++){SetCookie("itemno"+i,"",dateOld,myDomain)}
	SetNbItem(0)
}
function ViderTout() {
	ViderCaddie()
	SetCookie("leclient","",dateOld,myDomain)
	SetCookie("lafacture","",dateOld,myDomain)
	SetCookie("kd","",dateOld,myDomain)
}
function DispCommande(fond,trait,color) {
	document.write("<TABLE><TR><TD width=300 valign='top'>");
	DispAdresse("leclient");
	if (kd_facturation==1){
		document.write("</TD><TD valign='top'>")
		DispAdresse("lafacture")	
	}
	document.write("</TD></TR></TABLE>");
	DispCaddie(fond,trait,color);
}
function GetTotal() {return GetCookie("kd_total")}
function Remplace(expr,a,b) {
    expr=Math.floor(expr*100)/100
    expr=expr+""
    var i=0
    while (i!=-1) {
         i=expr.indexOf(a,i);
         if (i>=0) {
            expr=expr.substring(0,i)+b+expr.substring(i+a.length);
            i+=b.length;
         }
      }
      return expr
}

function CreerNoCommande() {
	var d=new Date()
	var y=d.getYear(); if (y<1900) {y=y+1900}
	var m=d.getMonth(); if (m<10) {m="0"+m}
	var j=d.getDate(); if (j<10) {j="0"+j}
	var h=d.getHours(); if (h<10) {h="0"+h}
	var r=Math.random()*99; if (r<10){r="0"+r;}
	r=r+""; r=r.substring(0,2)
	var no=y+""+m+""+j+""+h+""+r
	return no;
}
function Envoyer(f) {
	if (!f.elements["condition-v"].checked){alert("Vous n'avez pas pris connaissance des conditions de vente.")}
	else {
		if (GetNbItem()==0){alert("Le caddie est vide.\nVous ne pouvez pas commander.")}
		if (GetCookie("kd")!="OK"){alert("Vos coordonnées ne sont pas correctes.\nMerci de les compléter ou les enregistrer. ADRESSE DE LIVRAISON: Cliquez sur MODIFIER")}
		if (masseT>25010) {alert("Votre Caddie est plein, le poids de 25 kg de port est atteint. Vous ne pouvez pas dépasser 25000gr de port dans la commande,    il faut que la valeur du transport soit affichée,  enlever des articles pour faire 25 kg.  Si vous voulez commander plus de 25000gr, faites une commande supplémentaire pour continuer vos achats.   Merci,    Le Moulin des Costières"); return 0}
                                     if ((GetNbItem()>0)&&(GetCookie("kd")=="OK")){
			if(confirm("La commande va être envoyée.\nEtes-vous d'accord ?")){
				ViderCaddie();
				f.submit();

			}
		}
	}
}

var KD=new Object;
function InitVoir(ColTexte,ColFond,ColContour,NbPixel,x,y) {
	if (kd_voir) {
		KD.ColTexte=ColTexte;KD.ColFond=ColFond;KD.ColContour=ColContour;KD.NbPixel=NbPixel;
		if (document.layers) {
			document.write("<LAYER name='bulle' top="+y+" left="+x+" visibility='show' z-index=1></LAYER>");
		}
		if ((document.all)||(window.sidebar)) {
			document.write("<DIV id='bulle' style='position:absolute;top:"+y+";left:"+x+";visibility:visible'></DIV>");
		}
	}
}

function MajVoir() {
	var total=CalcTotal();
	var nb=GetNbItem(); var pluriel="&nbsp;"; if (nb>1) {pluriel="s"}
	var texte="Total : "+total+" &euro;<BR>Caddie : "+nb+" article"+pluriel+"&nbsp;&nbsp;";
	var contenu="<TABLE border=0 cellspacing=0 cellpadding="+KD.NbPixel+"><TR bgcolor='"+KD.ColContour+"'><TD align=center><FONT face='arial' size='-1' color='"+KD.ColFond+"'>Votre commande</FONT><BR>"
	contenu=contenu+"<TABLE border=0 cellpadding=2 cellspacing=0 bgcolor='"+KD.ColFond+"'><TR><TD>"
	contenu=contenu+"<FONT size='-1' face='arial' color='"+KD.ColTexte+"'>"+texte+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";
	if (document.layers) {
		document.layers["bulle"].document.write(contenu);
		document.layers["bulle"].document.close();
		document.layers["bulle"].visibility="show";}
	if (document.all) {
		bulle.innerHTML=contenu;
		document.all["bulle"].style.visibility="visible";
	}
}

function CalcTotal() {
	var NbItem=parseInt(GetNbItem()); var mtF=""; montantF=0; masseT=0; var ad=new GetAdresse("leclient");
	if (NbItem>0) {
		for(var i=1;i<=NbItem;i++) {
			var item=new GetItem(i);
			item.pxU=parseFloat(item.pxU,2);
			mtF=parseFloat(parseInt(item.qte)*parseFloat(item.pxU),2);
			montantF+=mtF; masseT+=item.qte*item.masse;
			cdePays=ad.pays;
		}
		CalcPort(); CalcRemise();
		totalF=montantF-remiseF+portF;
	} else {totalF=0}
	return format(totalF);
}