function bereken()
{
   var totaal=0;
   var totaalprijs=0;
   var x=document.getElementById("winkelform");
   var soorten = new Object();
   for(tel=0;tel<x.length;tel++)
   {
      elem=x[tel];
      if(elem.type=="text" && elem.readOnly==false)
      {
         var lotset=document.getElementsByName(elem.name+"perlot");
         if(lotset.length>0)
         {
            var soortset=document.getElementsByName(elem.name+"soort");
            soorten[soortset[0].value]=0;
         }
      }
   }

   for(tel=0;tel<x.length;tel++)
   {
      elem=x[tel];
      if(elem.type=="text" && elem.readOnly==false)
      {
         var lotset=document.getElementsByName(elem.name+"perlot");
         if(lotset.length>0)
         {
            var perpak=parseInt(lotset[0].value,10);
            aantal=parseInt(elem.value,10);
            if(!isNaN(aantal))
            {
               totaal+=aantal*perpak;
               var prijsset=document.getElementsByName(elem.name+"prijs");
               var prijs=parseFloat(prijsset[0].value);
               totaalprijs+=(aantal*perpak*prijs);
               var soortset=document.getElementsByName(elem.name+"soort");
               soorten[soortset[0].value]+=aantal*perpak;
            }
         }
      }
   }

   totaalprijs=Math.round(totaalprijs*100)/100;
   var effSoorten=0;
   var gewicht=0; // in "wenskaart" eenheden
   var verzending=0; //prijs
   var onberekenbaar=false;
   for(soort in soorten)
   {
      if(soorten[soort]>0)effSoorten++;
   }
   for(soort in soorten)
   {
      if(soorten[soort]>0)
      {
         if(soort=="wenskaart")
         {
            gewicht+=(soorten[soort]);
         }
         else if (soort=="kalender")
         {
            /* Een kalender weegt zoveel als 8 wenskaarten */
            gewicht+=8*(soorten[soort]);
         }
         else if (soort=="boekje")
         {
            /* Een boekje kalender weegt zoveel als 8 wenskaarten */
            gewicht+=8*(soorten[soort]);
         }
         else
         {
            onberekenbaar=true;
         }
      }
   }
   if(gewicht==0)
   {
      verzending=0;
   }
   else if(gewicht<=16)
   {
      verzending=2;
   }
   else if(gewicht<=28)
   {
      verzending=3.5;
   }
   else  /* Eigenlijk tot 110 kaarten, maar dit is een soort korting voor grote klanten */
   {
      verzending=5;
   }

   var korting=0;
   if(totaalprijs>=55)
   {
      korting=Math.round(totaalprijs*10)/100;
   }

   var verztext=document.getElementsByName("verzending");
   for(tel=0;tel<verztext.length;tel++)
   {
      if(onberekenbaar)
      {
         verztext[tel].value="onbekend";
      }
      else
      {
         verztext[tel].value=verzending;
      }
   }
   var tottext=document.getElementsByName("totaal");
   for(tel=0;tel<tottext.length;tel++)
   {
      tottext[tel].value=totaal;
   }
   var totprijstext=document.getElementsByName("totaalprijs");
   for(tel=0;tel<totprijstext.length;tel++)
   {
      totprijstext[tel].value=totaalprijs;
   }
   var korttext=document.getElementsByName("korting");
   for(tel=0;tel<korttext.length;tel++)
   {
      korttext[tel].value=korting;
   }
   var tebetalentext=document.getElementsByName("tebetalen");
   for(tel=0;tel<tebetalentext.length;tel++)
   {
      if(onberekenbaar)
      {
         tebetalentext[tel].value="onbekend";
      }
      else
      {
         tebetalentext[tel].value=Math.round((totaalprijs-korting+verzending)*100)/100;
      }
   }
}


function verifieer()
{
   var tlang=document.getElementsByName("lang");
   var lang=tlang[0].value
   var totprijstext=document.getElementsByName("totaalprijs");
   var prijs=parseInt(totprijstext[0].value,10);
   if(prijs<9)
   {
      if(lang!="fr")
      {
         alert("Deze bestelling is te klein. We verzenden pas vanaf 9 euro");
      }
      else
      {
         alert("Cette commande est trop petite. Nous acceptons de scommandes à partir de 9 euro");
      }
      return false;
   }
   var emails=document.getElementsByName("email");
   if(!emailCheck(emails[0].value))
   {
      if(lang!="fr")
      {
         alert("Email adres "+emails[0].value+" is ongeldig");
      }
      else
      {
         alert("l'adresse email "+emails[0].value+" n'est pas correcte");
      }
      return false;
   }
   var naam=document.getElementsByName("naam");
   if(naam[0].value.length<3)
   {
      if(lang!="fr")
      {
         alert("De naam '"+naam[0].value+"' is wel erg kort");
      }
      else
      {
         alert("Le nom '"+naam[0].value+"' est trop court");
      }
      return false;
   }
   var adres=document.getElementsByName("adres");
   lijnen=adres[0].value.split("\n");
   if(lijnen.length<2 || adres[0].value.length<10)
   {
      if(lang!="fr")
      {
         alert("Het adres '"+adres[0].value+"' is wel erg kort");
      }
      else
      {
         alert("l'adresse '"+adres[0].value+"' est trop courte");
      }
      return false;
   }
   return true;
}

function trysubmit()
{
   var tlang=document.getElementsByName("lang");
   var lang=tlang[0].value
   bereken();
   var totprijstext=document.getElementsByName("tebetalen");
   if(verifieer())
   {
      var tottext=document.getElementsByName("totaal");
      var result;

      if(lang!="fr")
      {
         result=confirm("U heeft "+tottext[0].value+" artikelen gekozen, voor een totaal van "+totprijstext[0].value+" euro. Wilt u bestellen ?")
      }
      else
      {
         result=confirm("Vous avez choisi "+tottext[0].value+" articles, pour un total de "+totprijstext[0].value+" euro. Voulez-vous commander ?")
      }
      if(result==true)
      {
         document.forms[0].submit();
      }
   }
}

function decrement(code)
{
   var aantalel=document.getElementsByName(code);
   var aantal=parseInt(aantalel[0].value,10);
   if(aantal>0)
   {
      aantalel[0].value=(aantal-1);
      bereken();
   }
}

function increment(code)
{
   var aantalel=document.getElementsByName(code);
   var aantal=parseInt(aantalel[0].value,10);
   aantalel[0].value=(aantal+1);
   bereken();
}
function bewaar()
{
   var bestel="";
   var naam=document.getElementsByName("naam");
   if(naam.length>0)
   {
      var datum=new Date();
      var vermelding="bestelling "+naam[0].value+" "+datum.getDate()+"-"+(1+datum.getMonth())+"-"+datum.getFullYear();
      var vermtext=document.getElementsByName("vermelding");
      for(tel=0;tel<vermtext.length;tel++)
      {
         vermtext[tel].value=vermelding;
      }
   }
   var x=document.getElementById("winkelform");
   for(tel=0;tel<x.length;tel++)
   {
      elem=x[tel];
      if(elem.name!="success")
      {
         bestel=bestel+"/"+elem.name+"="+encodeURIComponent(elem.value);
      }
   }
   document.cookie="bestelling="+escape(bestel);
}

function getCookie(c_name)
{
   if (document.cookie.length>0)
   {
      c_start=document.cookie.indexOf(c_name + "=");
      if (c_start!=-1)
      { 
         c_start=c_start + c_name.length+1 ;
         c_end=document.cookie.indexOf(";",c_start);
         if (c_end==-1) c_end=document.cookie.length;
         return unescape(document.cookie.substring(c_start,c_end));
      } 
   }
   return null;
}

function haalop()
{
   var bestelling=getCookie("bestelling");
   if(bestelling!=null)
   {
      var items=bestelling.split("/");
      for(i=0;i<items.length;i++)
      {
         var nvp=items[i].split("=");
         if(nvp.length==2 && nvp[0]!="success")
         {
            var elem=document.getElementsByName(nvp[0]);
            for(tel=0;tel<elem.length;tel++)
            {
               elem[tel].value=decodeURIComponent(nvp[1]);
            }
         }
      }
   }
   bereken();
}

function toondetails()
{
   var bestelling=getCookie("bestelling");
   if(bestelling!=null)
   {
      var items=bestelling.split("/");
      for(i=0;i<items.length;i++)
      {
         var nvp=items[i].split("=");
         if(nvp.length==2)
         {
            var elem=document.getElementById("formitem"+nvp[0]);
            if(elem!=null)
            {
               elem.appendChild(document.createTextNode(decodeURIComponent(nvp[1])));
            }
         }
      }
   }
}

