// (C) 2000 John M Hanna under the terms of the GPL
// (C) 2002 Jose A Coste under the terms of the GPL
// copy freely if you include source!
// version 2.01 ---> 03/05/2002 02:17
// script for shopping cart w/ encryption (soon to be)
// put onClick="itemAdd(description, quantity, price)" in your html
// and showItems() to show the cart
// You may need to customize buyItems() for your server
// change this if you're not using dollars
currency="eu"
// if you need descriptions longer than 60 chars change this:
dlen=60
// if your quantity or price need be longer than 6 chars, change this:
qlen=6
plen=6
hlen=60
// if this cookie name conflicts with another javascript cookie, change this
basket="julBasket";


carttotal=0 // it helps ......
// return nbitems .. for example if more than 12 items you can offer one
function cartnbitems() {

 var nbitems = 0
 var m=itemCount(getCookie())
 for(n=0; n<m; n++) {
  nbitems = nbitems + Math.floor(itemQuantity(n))
    
  }
return nbitems
}
// how do you calculate shipping costs
// return total/10; // shipping for us is 10% of total
// If more than 8 items return 0
//return( (cartnbitems() >= 8 ) ? 0 :  total/10)
function shipping(total) {
return(8.50)
}

tlen=(dlen+qlen+plen+hlen)+1
cookie=''
function getCookie() {
 if(cookie) return cookie
 cookie=document.cookie.substr(document.cookie.indexOf(basket+"=")+1+basket.length)
 return cookie
}
function setCookie(c) {
 cookie=c
 document.cookie=basket+"="+c
}
function itemCount(c) { // return number of items in basket
 n=Math.floor(c.length/tlen);
 return Math.floor(c.length/tlen)
}
function chop(s,start,end) { return s.substr(0,start)+s.substr(end) }

function delItem(n) {
 setCookie(chop(getCookie(),n*tlen,(n+1)*tlen))
 refresh()
}
function fetch(s,n) { return s.substr(n*tlen,tlen) }
function itemDescription(n) { // n=item number
 return fetch(getCookie(),n).substr(0,dlen)
}
function itemQuantity(n) {
 return fetch(getCookie(),n).substr(dlen,qlen)
}
function itemPrice(n) {
 return fetch(getCookie(),n).substr(dlen+qlen,plen)
}
function itemHlink(n) {
 return fetch(getCookie(),n).substr(dlen+qlen+plen,hlen)
}
function pad(s,n) {
 var i=n-s.length
 while(i-- > 0) { s+=" " }
 return s.substr(0,n)
}
function itemqSet(n,q) { // just change quantity
 q=pad(q,qlen)
 cookie=getCookie()
 setCookie(cookie.substr(0,n*tlen+dlen)+q+cookie.substr((n+1)*tlen-plen-hlen-1))
 refresh()
}
function itemSet(n,d,q,p,h) { // description, quantity, price, link
 var s=pad(d,dlen)+pad(q,qlen)+pad(p,plen)+pad(h,hlen)
 cookie=getCookie()
 setCookie(cookie.substr(0,n*tlen)+s+"_"+cookie.substr((n+1)*tlen))
}
function itemAdd(d,q,p,h) {
 var hh = ""
 if (!h)  hh="#"
 else hh = h
 itemSet(itemCount(getCookie()),d,q,p,hh);
 alert("ajout d'un article");
// refresh()
}
function emptyCart() {
 setCookie('')
// refresh()
}
function refresh() {
//showItems()
window.location.reload()
}
function money(v) {
 v=Math.round(parseFloat(v)*100)
 v=String(v)
 var l=v.length-2
 v=v.substring(0,l)+"."+v.substring(l)
 return currency+" "+v
}
/////////////////////////////////// FR ANCE ES PANA UK IT ALIA//////////////////////////////////
function showItemsFr(langue) {

var cartmessages = new Array(
"Votre chariot est vide","Your cart is empty" ,"Su carrito esta vacio","Il vostro paniere è vuoto",
"Votre commande ","Your order " ,"Su pedido","Il vostro ordine",
"Description","Description","Descripcion","Prodotto",
"Quantité","Quantity","Cantidad","Quantità",
"Prix unitaire","Price","Precio unitario","Prezzo",
"Prix","Extended","Precio","Totale",
"Action","Action","Accion","Azione",
"Enlever","Remove","Retirar","Cancellare",
"Recalculer","Refresh","Refresh","Refresh",
"Vider le chariot","Empty cart","Vaciar carrito","Cancellare il paniere",
"Frais livraison","Shiping Cost","Gastos de envio","Spese di spedizione",
"Total","Total","Total","Totale",
"Valider votre commande","Proceed to checkout","Confirme su pedido","Chiudete il vostro ordine"
)

 var nblangue= 4
 var n, m=itemCount(getCookie())
 t=0
 if(m==0) {
  document.writeln(''+cartmessages[0*nblangue+langue]+'<p>')
 } else {
  document.writeln('\
<center><font size="4" face="Arial" color=#013A2F><strong>\
'+cartmessages[1*nblangue+langue]+'</strong></font><font size="2" face="Arial"><strong></strong></font>\
<table border="1" cellpadding="2" cellspacing="0" bordercolor="#008080">\
    <tr>\
        <td align="center" bgcolor="#013A2F"><font\
        color="#FFFFFF" size="2" face="Arial"><u>'+cartmessages[2*nblangue+langue]+'</u></font></td>\
        <td align="center" bgcolor="#013A2F"><font\
        color="#FFFFFF" size="2" face="Arial"><u>'+cartmessages[3*nblangue+langue]+'</u></font></td>\
        <td align="center" bgcolor="#013A2F"><font\
        color="#FFFFFF" size="2" face="Arial"><u>'+cartmessages[4*nblangue+langue]+'</u></font></td>\
        <td align="center" bgcolor="#013A2F"><font\
        color="#FFFFFF" size="2" face="Arial"><u>'+cartmessages[5*nblangue+langue]+'</u></font></td>\
        <td bgcolor="#013A2F"><p align="center"><font\
        color="#FFFFFF" size="2" face="Arial"><u>'+cartmessages[6*nblangue+langue]+'</u></font></p>\
        </td>\
    </tr>')
 for(n=0; n<m; n++) {
  var p=itemPrice(n), q=itemQuantity(n), v=parseFloat(p)*parseFloat(q)
  var d=itemDescription(n)
  var h=itemHlink(n)
  t+=v
  document.writeln('\
    <tr>\
        <td align="center"><font face="Arial"><a href='+h+'>'+d+'</a></font></td>\
        <td align="center"><font face="Arial"><input type="text"\
        size="2" value="'+q+'"\
        onchange="itemqSet('+n+',this.value)">\
        </font></td>\
        <td align="right"><font face="Arial">'+money(p)+'</font>\
        </td>\
        <td align="right"><font face="Arial"><em>'+money(v)+'\
        </em></font>\
        </td>\
        <td align="center"><font face="Arial"><input\
        type="button" value=" '+cartmessages[7*nblangue+langue]+'" onclick="delItem('+n+')"></font></td>\
    </tr>')
 }
 document.writeln('\
    <tr>\
        <td>&nbsp;</td>\
        <td>&nbsp;</td>\
        <td align="center"><font color="#008080" size="2"\
        face="Arial"><strong><u>'+cartmessages[10*nblangue+langue]+'</u></strong></font></td>\
        <td align="right"><font face="Arial"><em>\
        '+money(shipping(t))+'</em></font></td>\
        <td>&nbsp;</td>\
    </tr>\
    <tr>\
        <td>&nbsp;</td>\
        <td>&nbsp;</td>\
        <td align="center"><font color="#008080" size="2"\
        face="Arial"><strong><u>'+cartmessages[11*nblangue+langue]+'</u></strong></font></td>\
        <td align="right"><font face="Arial"><strong>\
        '+money(t+shipping(t))+'</strong></font>\
        </td>\
        <td align="center"><font face="Arial"><input\
        type="button" value=" '+cartmessages[8*nblangue+langue]+'" onclick="refresh('+n+')"></font></td>\
</table>\
</center>')
 carttotal=t+shipping(t)
 }
}

function cartString() {
 var n, m=itemCount(getCookie())
 var r=''
 t=0
 if(m==0) {
  return('Empty shopping cart.')
 } else {
  for(n=0; n<m; n++) {
   var p=itemPrice(n), q=itemQuantity(n), v=parseFloat(p)*parseFloat(q)
   var d=itemDescription(n)
   t+=v
   r+=q+"x"+p+d+"/"
  }
  r+="livr "+money(shipping(t))+"/"
  r+="total "+money(t+shipping(t))+"/"
 }

 // trim extra spaces
 m=0; n=0
 var rr='', c
 while(n<r.length) {
  c=r.charAt(n++)
  if(c != ' ' || t != ' ') rr+=c
  t=c
 }
 return rr
}