var bites = document.cookie.split("; ");
var today = new Date();
var expiry = new Date(today.getTime() + 60 * 60 * 1000); // plus 1 hour

function getCookie(name) // use: getCookie("name");
{
  for (var i=0; i < bites.length; i++)
  {
    nextbite = bites[i].split("="); // break into name and value
    if (nextbite[0] == name) // if name matches
      return unescape(nextbite[1]); // return value
  }
  return null;
}

function setCookie(name, value) // use: setCookie("name", value);
{
  if(value != null && value != "")
    document.cookie=name + "=" + escape(value) + "; expires=" + expiry.toGMTString();
  bites = document.cookie.split("; "); // update cookie bites
}

function product(name, price, amount)
{
  this.name = name;
  this.price = price;
  this.amount = amount;
}

function getbasket()
{
  var basket = new Array();
  if(getCookie("basket")!=null)
  {
    var items = getCookie("basket").split("¤");
    for(var i=0; i<items.length; i++)
    {
      var productbits = items[i].split("@");
      basket.push(new product(productbits[0], productbits[1], productbits[2]));
    }
  }
  return basket
}

function setbasket(basket)
{
  var cookiestr="";
  for(var i=0; i<basket.length; i++)
  {
    if(i>0) cookiestr += "¤";
    cookiestr += basket[i].name + "@" + basket[i].price + "@" + basket[i].amount;
  }
  setCookie("basket", cookiestr);
}

function addtobasket()
{
  var form = document.myForm;
  var basket = getbasket();
  basket = getbasket();
  for(i=0;i<form.elements.length;i++)
  {
    var element = form.elements[i];
    if(element.type=="text")
    {
      var name = element.name.split("_")[0];
      var price = element.name.split("_")[1];
      var amount = 0;
      if(element.value.length>0 && !isNaN(element.value))
        amount = element.value;
      var index=findproduct(basket, name);
      if(index>=0)
        basket[index] = new product(name, price, amount);
      else
        basket.push(new product(name, price, amount));
    }
  }
  setbasket(basket);
}

function findproduct(_basket, _element)
{
  var j;
  for(j=0;j<_basket.length;j++)
  {
    var p = _basket[j];
    if(p.name==_element)
     return j;
  }
  return -1;
}

function fillform()
{
  var form = document.myForm;
  var basket = getbasket();
  for(i=0;i<form.elements.length;i++)
  {
    var element = form.elements[i];
    if(element.type=="text")
    {
      var name = element.name.split("_")[0];
      var price = element.name.split("_")[1];
      var amount = 0;
      var index=findproduct(basket, name);
      if(index>=0)
        element.value=basket[index].amount;
    }
  }
}

function buildemail()
{
  var basket=getbasket();
  var message="";
  var total=0;

  message += "<table class=order>";
  message += "<tr>"
  message += "<td width=272><b>Tuote</b></td>";
  message += "<td width=92><b>Määrä</b></td>";
  message += "<td width=80><b>Hinta</b></td>";
  message += "<td width=90><b>Yhteensä</b></td>";
  message += "</tr>"

  for(j=0;j<basket.length;j++)
  {
    var p = basket[j];
    if(p.amount>0)
    {
      total += p.price*p.amount;
      message += "<tr>"
      message += "<td>" + p.name + "</td>";
      message += "<td>" + p.amount + " kpl</td>";
      message += "<td>" + p.price + " EUR</td>";
      message += "<td>" + p.price*p.amount + " EUR</td>";
      message += "</tr>"
    }
  }

  message += "<tr><td colspan=4>&nbsp;</td></tr><tr>"
  message += "<td>&nbsp</td>";
  message += "<td>&nbsp</td>";
  message += "<td>yhteensä</td>";
  message += "<td><b>"+total+" EUR</b> (+toimituskulut)</td>";
  message += "</tr>"
  message += "</table>"

  return message;
}

function buildtextemail()
{
  var basket=getbasket();
  var message="";
  var total=0;
  message += "\n";
  for(j=0;j<basket.length;j++)
  {
    var p = basket[j];
    if(p.amount>0)
    {
      total += p.price*p.amount;
      message += "\n" + p.name;
      message += "  " + p.amount + " kpl";
      message += "  " + p.price + " EUR/kpl";
      message += "  yht." + p.price*p.amount + " EUR";
    }
  }
  message += "\n\n";
  message += "yhteensä: "+total+" EUR (+toimituskulut)";
  message += "\n\n";
  return message;
}

function emptybasket()
{
  var basket = new Array();
  setbasket(basket);
}
