function Search()
{
  var urlstring;
  
  if (document.form1.q.value>"")
  {
    urlstring="http://search.savers-uk.com/search?site="+document.form1.site.value+"&client="+document.form1.client.value+"&proxystylesheet="+document.form1.proxystylesheet.value+"&output=xml_no_dtd&filter=0&q="+document.form1.q.value;
    window.location="/search.php?"+urlstring;
    return false;
  }
}

function CashFormat(amount)
{
  var i = parseFloat(amount);
  if(isNaN(i)) { i = 0.00; }
  var minus = '';
  if(i < 0) { minus = '-'; }
  i = Math.abs(i);
  i = parseInt((i + .005) * 100);
  i = i / 100;
  s = new String(i);
  if(s.indexOf('.') < 0) { s += '.00'; }
  if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
  s = minus + s;
  return s;
}

var VItemList="";
var OrderNumber=0;
var OrderNotes="";
var CanExport=1;
var Referrer="";
var CID="";

function ItemCount()
{
  var LastPos;
  var Items=0;

  LastPos=VItemList.indexOf("#",LastPos);
  while (LastPos>-1)
  {
    Items+=1;
    LastPos=VItemList.indexOf("#",LastPos+1);
  }
  return(Items);
}

function GetItemData(ItemOffset)
{
  var StartPos=-1;
  var EndPos=-1;
  var Items;

  for (Items=0;Items<=ItemOffset;Items++)
  {
    StartPos=VItemList.indexOf("#",StartPos+1);
    if (StartPos==-1)
    {
      return(-1);
    }
  }
  EndPos=VItemList.indexOf("#",StartPos+1);
  if (EndPos==-1)
  {
    EndPos=1000;
  }
  return(VItemList.substring(StartPos+1,EndPos));
}

function BasketCount()
{
  var Items;
  
  Items=ItemCount();
  document.form1.BasketStatus.value=Items;
  document.form1.OrderTotal.value="£"+GetOrderTotal();
}

function AddToBasket(PCode,PDescription,PPrice,Exportable)
{
  if (ItemCount()<10)
  {
    VItemList=VItemList+"#"+PCode+"&"+PDescription+"&"+PPrice;
    if (Exportable==0)
    {
      CanExport=0
    }
    WriteCookie();
    BasketCount();
    alert("1 "+PDescription+" at £"+PPrice+" has been added to your basket");
    location="/viewbasket.htm";
  }
  else
  {
    alert("Your basket is full, if you require further items, please submit another order, Thank you.");
  }
}

function CheckForDiscounts()
{
  var Items;

  Items=ItemCount();
  for (x=0;x<Items;x++)
  {
    var ItemRef;
    var ItemData;
    var ItemDataArray;

    ItemData=GetItemData(x);
    ItemDataArray=ItemData.split("&");
    if (ItemDataArray[0].substring(0,6)=="SB DIS")
    {
      alert("There are discounts within your basket.\r\nPlease use the 'Clear Basket' function.");
      return(1);
    }
    if (ItemDataArray[2]=="0.00")
    {
      alert("There are linked offers within your basket.\r\nPlease use the 'Clear Basket' function.");
      return(1);
    }
  }
  return(0);
}

function RemoveItem(ItemOffset)
{
  var LastPos;
  var Items;
  var NewVItemList;

  if (CheckForDiscounts()==0)
  {
    LastPos=-1;
    for (Items=0;Items<=ItemOffset;Items++)
    {
      LastPos=VItemList.indexOf("#",LastPos+1);
      if (LastPos==-1)
      {
        return;
      }
    }
    NewVItemList=VItemList.substring(0,LastPos);
    LastPos=VItemList.indexOf("#",LastPos+1);
    if (LastPos>-1)
    {
      NewVItemList+=VItemList.substring(LastPos,1000);
    }
    VItemList=NewVItemList;

    WriteCookie();
    BasketCount();
    location.reload();
  }
}

function ClearBasket()
{
  OrderNumber="";
  VItemList="";
  OrderNotes="";
  CanExport=1;
  WriteCookie();
  BasketCount();
}

function AddNotes(Notes)
{
  OrderNotes+=Notes;
  WriteCookie();
}

function WriteCookie()
{
  var Then = new Date();

  Then.setTime(Then.getTime()+30*24*60*60*1000);
  document.cookie="vbasket="+encodeURIComponent(VItemList)+"; expires="+Then.toGMTString()+"; path=/";
  document.cookie="order="+encodeURIComponent(OrderNumber)+"; expires="+Then.toGMTString()+"; path=/";
  document.cookie="notes="+encodeURIComponent(OrderNotes)+"; expires="+Then.toGMTString()+"; path=/";
  document.cookie="ref="+encodeURIComponent(Referrer)+"; expires="+Then.toGMTString()+"; path=/";
  document.cookie="exportable="+escape(CanExport)+"; expires="+Then.toGMTString()+"; path=/"
  document.cookie="cid="+encodeURIComponent(CID)+"; expires="+Then.toGMTString()+"; path=/";
  if (document.cookie.length==0)
  {
    window.name="vbasket="+encodeURIComponent(VItemList)+";order="+encodeURIComponent(OrderNumber)+";notes="+encodeURIComponent(OrderNotes)+";ref="+encodeURIComponent(Referrer)+";cid="+encodeURIComponent(CID);
  }
}

function ReadCookie()
{
  var cookies = [];

  cookies = {};
  var pair, name, value, separated;

  if (document.cookie.length>0)
  {
    separated = document.cookie.split(';');
  }
  else
  {
    separated = window.name.split(';');
  }
  for (var i = 0; i < separated.length; i = i + 1)
  {
    pair = separated[i].split('=');
    if (pair.length==2)
    {
      name = pair[0].replace(/^\s*/,'').replace(/\s*$/,'');
      value = decodeURIComponent(pair[1]);
      if (name.substr(0,1)!="X") // this stops a funny with Namesco hosting!
      {
        cookies[name] = value;
      }
    }
  }
  OrderNotes=cookies['notes'];
  if (OrderNotes==undefined) OrderNotes="";
  OrderNumber=cookies['order'];
  if (OrderNumber==undefined) OrderNumber="";
  VItemList=cookies['vbasket'];
  if (VItemList==undefined) VItemList="";
  Referrer=cookies['ref'];
  if (Referrer==undefined) Referrer="";
  CanExport=cookies['exportable'];
  if (CanExport==undefined) CanExport=1;
  CID=cookies['cid'];
  if (CID==undefined) CID="";
}

function GetOrderTotal()
{
  var TotalPrice=0;

  Items=ItemCount();
  for (x=0;x<Items;x++)
  {
    var ItemRef;
    var ItemData;
    var ItemDataArray;

    ItemData=GetItemData(x);
    ItemDataArray=ItemData.split("&");
    TotalPrice+=parseFloat(ItemDataArray[2]);
  }
  return(CashFormat(TotalPrice));
}

function SetOrderNumber()
{
  OrderNumber=110000+Math.round(890000 * Math.random());
  WriteCookie();
}

function Checkout()
{
  Items=ItemCount();
  if (Items==0)
  {
    alert("You need to add items to your basket first.");
    return(false);
  }
  SetOrderNumber();
  ArgString=";"+escape(OrderNumber);
  ArgString+=";"+escape(OrderNotes);
  TotalPrice=parseFloat(GetOrderTotal());
  if ((TotalPrice < 9.99) && (GetItemData(0).indexOf("DEL",0)!=0))
  {
    ArgString+=";"+escape(Items+1);
    ArgString+=";"+escape(CashFormat(TotalPrice+1));
  }
  else
  {
    ArgString+=";"+escape(Items);
    ArgString+=";"+escape(TotalPrice);
  }
  ArgString+=";"+escape(document.URL);
  ArgString+=";"+escape(Referrer);
  for (x=0;x<Items;x++)
  {
    var ItemRef;
    var ItemData;
    var ItemDataArray;

    ItemData=GetItemData(x);
    ItemDataArray=ItemData.split("&");
    ArgString+=";"+escape(ItemDataArray[0]);
    ArgString+=";"+escape(ItemDataArray[1]);
    ArgString+=";"+escape(ItemDataArray[2]);
  }
  if ((TotalPrice < 9.99) && (GetItemData(0).indexOf("DEL",0)!=0))
  {
    ArgString+=";DEL";
    ArgString+=";Small Order Surcharge (for orders less than %A310)";
    ArgString+=";1.00";
  }
  document.DataForm.OrderDetails.value=ArgString;
  document.DataForm.CanExport.value=CanExport;
  document.DataForm.CID.value=CID;
  document.DataForm.method="POST";
  document.DataForm.action="https://www.savers-uk.com/securecheckout.php?"+ArgString;
  document.DataForm.submit();
}

ReadCookie();
if (Referrer=="")
{
  var RefArr=document.referrer.split("?");
  Referrer=RefArr[0];
  WriteCookie();
}
if (CID=="")
{
  if (document.URL.indexOf(";cid=")>-1)
  {
    CID=document.URL.slice(document.URL.indexOf(";cid=")+5,document.URL.indexOf(";cid=")+10);
    WriteCookie();
  }
}
