// JavaScript Document

today=new Date();
today.setTime(today.getTime() + (36000000));
today=today.toGMTString();
currentdate=new Date();
currentdate=currentdate.toLocaleString();
var cookieToday = new Date(); 
var expiryDate = new Date(cookieToday.getTime() + (365 * 86400000)); // a year

index = document.cookie.indexOf('TheBasketName');
if (index > -1) {
   countbegin=(document.cookie.indexOf('=',index)+1);
   countend=document.cookie.indexOf(';',index);
   if(countend==-1) {
      fulllist='';
   } else {
      fulllist=document.cookie.substring(countbegin,countend);
   }
} else {
   fulllist='';
}
if(fulllist.length < 1) {
   document.cookie='TheBasketCode=.; expires='+today;
   document.cookie='TheBasketName=.; expires='+today;
   document.cookie='TheBasketWeight=.; expires='+today;
   document.cookie='TheBasketTaxable=.; expires='+today;
   document.cookie='TheBasketPrice=.; expires='+today;
   document.cookie='TheBasketExtraFields=.; expires='+today;
   document.cookie='TheBasketAdvanced=.; expires='+today;
   document.cookie='TheBasketQuantity=.; expires='+today;
   document.cookie='TheCurrency=1; expires='+today;
   document.cookie='Referrer=.; expires='+today;
}

currencyCode = new Array(3); currencyName = new Array(3); currencyDecimals = new Array(3); currencyPre = new Array(3); currencyMiddle = new Array(3); currencyPost = new Array(3); 
currencyCode[1]='GBP'; currencyName[1]='GBP'; currencyDecimals[1]='2'; currencyPre[1]='£'; currencyMiddle[1]='.'; currencyPost[1]=''; 
currencyCode[2]='USD'; currencyName[2]='United States Dollars'; currencyDecimals[2]='2'; currencyPre[2]='$'; currencyMiddle[2]='.'; currencyPost[2]=''; 
currencyCode[3]='EUR'; currencyName[3]='Euro'; currencyDecimals[3]='2'; currencyPre[3]=''; currencyMiddle[3]='.'; currencyPost[3]='Eur'; 
    function goBuy() {
        ilist='';
        ilist=ilist+retrieveCookie('TheBasketCode',0,0)+'^';
        ilist=ilist+retrieveCookie('TheBasketName',0,0)+'^';
        ilist=ilist+retrieveCookie('TheBasketWeight',0,0)+'^';
        ilist=ilist+retrieveCookie('TheBasketTaxable',0,0)+'^';
        ilist=ilist+retrieveCookie('TheBasketPrice',0,0)+'^';
        ilist=ilist+retrieveCookie('TheBasketExtraFields',0,0)+'^';
        ilist=ilist+retrieveCookie('TheBasketAdvanced',0,0)+'^';
        ilist=ilist+retrieveCookie('TheBasketQuantity',0,0)+'^';
        ilist=ilist+retrieveCookie('TheCurrency',0,0)+'^';
        ilist=ilist+retrieveCookie('Referrer',0,0)+'^';
		ilist=changeUnwanted(ilist);
        ilist=escape(ilist);
        ilist=changePercent(ilist);

             top.name=ilist;
             top.location='buy.htm';
     }



function changeUnwanted(tstring) {
    nstring='';
    for (var i=0; i <= tstring.length; i++) {
        nchar=tstring.charAt(i);
        if (nchar=='*') { nchar='!&1'; }
        if (nchar=='+') { nchar='!&2'; }
        if (nchar=='@') { nchar='!&3'; }
        if (nchar=='.') { nchar='!&4'; }
        if (nchar=='/') { nchar='!&5'; }
        if (nchar=='-') { nchar='!&6'; }
        nstring=nstring+nchar;
    }
    return nstring;
}
function changePercent(tstring) {
    nstring='';
    for (var i=0; i <= tstring.length; i++) {
        nchar=tstring.charAt(i);
        if (nchar=='%') { nchar='_'; }
        nstring=nstring+nchar;
    }
    return nstring;
}

function showPrice(pricestring) {
    index = document.cookie.indexOf('TheCurrency');
    countbegin=(document.cookie.indexOf('=',index)+1);
    countend=document.cookie.indexOf(';',index);
    if(countend==-1) { countend=document.cookie.length; }
    theCurrency=document.cookie.substring(countbegin,countend);
    thisitem=0;
    itemstart=0;
    theprice=0;
    for (var i=0; i<pricestring.length; i++) {
       if (pricestring.substring(i,i+1)=='~') {
          thisitem++;
          if (thisitem==eval(theCurrency)) {
             theprice=pricestring.substring(itemstart,i);
          }
          itemstart=i+1;
       }
    }
    return presentValue(theprice,currencyDecimals[theCurrency],currencyPre[theCurrency],currencyMiddle[theCurrency],currencyPost[theCurrency]);
}
function showPriceSingle(pricestring) {
    index = document.cookie.indexOf('TheCurrency');
    countbegin=(document.cookie.indexOf('=',index)+1);
    countend=document.cookie.indexOf(';',index);
    if(countend==-1) { countend=document.cookie.length; }
    theCurrency=document.cookie.substring(countbegin,countend);
    return presentValue(pricestring,currencyDecimals[theCurrency],currencyPre[theCurrency],currencyMiddle[theCurrency],currencyPost[theCurrency]);
}
function showPricePlain(pricestring) {
    index = document.cookie.indexOf('TheCurrency');
    countbegin=(document.cookie.indexOf('=',index)+1);
    countend=document.cookie.indexOf(';',index);
    if(countend==-1) { countend=document.cookie.length; }
    theCurrency=document.cookie.substring(countbegin,countend);
    return presentValue(pricestring,currencyDecimals[theCurrency],'',currencyMiddle[theCurrency],'');
}
function getPrice(pricestring) {
    index = document.cookie.indexOf('TheCurrency');
    countbegin=(document.cookie.indexOf('=',index)+1);
    countend=document.cookie.indexOf(';',index);
    if(countend==-1) { countend=document.cookie.length; }
    theCurrency=document.cookie.substring(countbegin,countend);
    thisitem=0;
    itemstart=0;
    theprice=0;
    for (var i=0; i<pricestring.length; i++) {
       if (pricestring.substring(i,i+1)=='~') {
          thisitem++;
          if (thisitem==eval(theCurrency)) {
             theprice=pricestring.substring(itemstart,i);
          }
          itemstart=i+1;
       }
    }
    return theprice;
}
    function presentValue(value,dp,pt,mt,at) {
        if(value<=0.9999) {
            newPounds='0';
        } else {
            newPounds=parseInt(value);
        }
        dec='1';
        for (var i=1; i<=dp;i++) {
            dec=dec+'0';
        }
        if (value>0) {
            newPence=Math.round((eval(value)+.000008 - newPounds)*(eval(dec)));
        } else {
            newPence=0;
        }
        compstring='9';
        for (var i=1; i <=dp-1;i++) {
            if (eval(newPence) <= eval(compstring)) newPence='0'+newPence;
            compstring=compstring+'9';
        }
        if (dp>0) {
            if (newPence==eval(dec)) { newPounds++; newPence=0; }
            newString=pt+newPounds+mt+newPence+at;
        } else {
            newString=pt+newPounds+at;
        }
        return (newString);
    }

function retrieveCookie(thecookie,thenumber,theadditional) {
    index = document.cookie.indexOf(thecookie);
    countbegin=(document.cookie.indexOf('=',index)+1);
    countend=document.cookie.indexOf(';',index);
    if(countend==-1) { countend=document.cookie.length; }
    fulllist=document.cookie.substring(countbegin,countend);
    if (thenumber==0) { return fulllist; }
    thisitem=0;
    newcookie='';
    itemstart=0;
    for(var i=0; i<fulllist.length;i++) {
        if (fulllist.substring(i,i+1)=='|') {
            thisitem++;
           itemvalue=fulllist.substring(itemstart,i);
           if (thisitem==thenumber) {
                if (theadditional==0) {
                    return itemvalue;
                } else {
                    itemstarttwo=0;
                    thisitemtwo=0;
                    for (var j=0; j<itemvalue.length; j++) {
                        if (itemvalue.substring(j,j+1)=='~') {
                            thisitemtwo++;
                            itemvaluetwo=itemvalue.substring(itemstarttwo,j);
                            if (thisitemtwo==theadditional) {
                                return itemvaluetwo;
                            }
                            itemstarttwo=j+1;
                        }
                    }
                }
            }
            itemstart=i+1;
        }
    }
    return '';
}
function addToCookie(thecookie,thevalue) {
    fulllist=retrieveCookie(thecookie,0,0);
    if (fulllist=='.') { fulllist=''; }
    fulllist=fulllist+thevalue+'|';
    document.cookie=thecookie+'='+fulllist+'; expires='+today;
}
function removeFromCookie(thecookie,thenumber) {
    fulllist=retrieveCookie(thecookie,0,0);
    thisitem=0;
    newcookie='';
    itemstart=0;
    for(var i=0; i<fulllist.length;i++) {
        if (fulllist.substring(i,i+1)=='|') {
            thisitem++;
            itemvalue=fulllist.substring(itemstart,i);
            if (thisitem!=thenumber) {
                newcookie=newcookie+itemvalue+'|';
            }
            itemstart=i+1;
        }
    }
    if (newcookie=='') { newcookie='.'; }
    document.cookie=thecookie+'='+newcookie+'; expires='+today;
}
function changeCookieValue(thecookie,thenumber,thevalue) {
    fulllist=retrieveCookie(thecookie,0,0);
    thisitem=0;
    newcookie='';
    itemstart=0;
    for(var i=0; i<fulllist.length;i++) {
        if (fulllist.substring(i,i+1)=='|') {
            thisitem++;
            itemvalue=fulllist.substring(itemstart,i);
            if (thisitem==thenumber) {
                itemvalue=thevalue;
            }
            newcookie=newcookie+itemvalue+'|';
            itemstart=i+1;
        }
    }
    document.cookie=thecookie+'='+newcookie+'; expires='+today;
}
function retrieveCookieCount(thecookie) {
   fulllist=retrieveCookie(thecookie,0,0);
   thisitem=0; newcookie=''; itemstart=0;
   for(var i=0; i<fulllist.length;i++) {
    if (fulllist.substring(i,i+1)=='|') {
        thisitem++;
        itemstart=i+1;
    }
   }
   return thisitem;
}
function showCurrency() {   index = document.cookie.indexOf('TheCurrency');   countbegin=(document.cookie.indexOf('=',index)+1);   countend=document.cookie.indexOf(';',index);   if(countend==-1) { countend=document.cookie.length; }   theCurrency=document.cookie.substring(countbegin,countend);   document.basketform.selectcurrency.selectedIndex=theCurrency-1;}function getAdvanced(adv,qty) {
     newAdv='';advlist=0;applicable=true;advnewprice='';
    for (var j=0;j<=adv.length;j++) {
            if (adv.substring(j,j+1) == '{') {
            thisadv=1;
            advstart=j+1;
        } else if (adv.substring(j,j+1) == '}') {
            advend=j;
            advPrice=adv.substring(advstart,advend);
            advlist++; applicable=true;
            if (applicable==true) {
                if (advFrom > 0 && advFrom > eval(qty)) applicable=false;
                if (advTo > 0 && advTo < eval(qty)) applicable=false;
                if (applicable==true) advnewprice=advPrice;
            }
        } else if (adv.substring(j,j+1)=='!') {
            if (thisadv== 1) advFrom=adv.substring(advstart,j);
            if (thisadv== 2) advTo=adv.substring(advstart,j);
            thisadv++;advstart=j+1;
        }
    }
    return advnewprice;
}
function showBasket() {
   sepchar='"';
   totprice=0;
   document.writeln('<table bordercolor=000000 border=0 cellpadding=0 cellspacing=0>');
   document.writeln('<tr>');
   document.writeln("<td bgcolor=FFFFFF>Code</td>");
   document.writeln("<td bgcolor=FFFFFF>Name</td>");
   document.writeln("<td bgcolor=FFFFFF align=right>Quantity</td>");
   document.writeln("<td bgcolor=FFFFFF align=right>..Cost Each</td>");
   document.writeln("<td bgcolor=FFFFFF align=right>..Total Cost</td>");
   document.writeln("<td bgcolor=FFFFFF align=right>Action</td>");
   document.writeln("</tr>");
   for (var i=1;i<=retrieveCookieCount('TheBasketCode');i++) {
       theCode=retrieveCookie('TheBasketCode',i,0);
       theName=retrieveCookie('TheBasketName',i,0);
       theWeight=retrieveCookie('TheBasketWeight',i,0);
       theTaxable=retrieveCookie('TheBasketTaxable',i,0);
       thePrice=retrieveCookie('TheBasketPrice',i,0);
       theAP=retrieveCookie('TheBasketAdvanced',i,0);
       theQuantity=retrieveCookie('TheBasketQuantity',i,0);
       if (theAP!='none') {
           tempprice=getAdvanced(theAP,theQuantity);
           if (tempprice>'') { thePrice=tempprice; }
       }
       itemtotal=eval(theQuantity)*eval(getPrice(thePrice));
       totprice=totprice+itemtotal;
       document.writeln("<td bgcolor=FFFFFF>"+theCode+"</td>");
       document.writeln("<td bgcolor=FFFFFF>"+theName+"</td>");
       document.writeln("<td bgcolor=FFFFFF align=right><input type=text name='quant"+i+"' value='"+theQuantity+"' size=3></td>");
       document.writeln("<td bgcolor=FFFFFF align=right>"+showPrice(thePrice)+"</td>");
       document.writeln("<td bgcolor=FFFFFF align=right>"+showPriceSingle(itemtotal)+"</td>");
       document.writeln("<td bgcolor=FFFFFF align=right><input type=button name='add"+i+"' onClick='removeItem("+i+");' value='Remove'></td>");
       document.writeln("</tr>");
   }
   document.writeln("<tr>");
   document.writeln("<td bgcolor=FFFFFF colspan=4>Total Goods</td>");
   document.writeln("<td bgcolor=FFFFFF align=right>"+showPriceSingle(totprice)+"</td>");
   document.writeln("<td bgcolor=FFFFFF align=right>&nbsp;</td>");
   document.writeln("</tr>");
   document.writeln("</table><br>");
   document.writeln("<input type=button name='clearbasket' onClick='clearBasket();' value='Empty Basket'>&nbsp;");
   document.writeln("<input type=button name='updatebasket' onClick='updateBasket();' value='Update Basket'>");
   document.writeln("&nbsp;&nbsp;<select name=selectcurrency><option>GBP</option><option>United States Dollars</option><option>Euro</option></select>&nbsp;<input type=button name='cchangebutton' onClick='changeCurrency(document.basketform.selectcurrency.selectedIndex);' value='Change Currency'>");
   showCurrency();}

function flipImage(imgname,imgsrc) {
    document.images[imgname].src=imgsrc;
}
    function removeItem(itemno) {
        removeFromCookie('TheBasketCode',itemno);
        removeFromCookie('TheBasketName',itemno);
        removeFromCookie('TheBasketWeight',itemno);
        removeFromCookie('TheBasketTaxable',itemno);
        removeFromCookie('TheBasketPrice',itemno);
        removeFromCookie('TheBasketExtraFields',itemno);
        removeFromCookie('TheBasketAdvanced',itemno);
        removeFromCookie('TheBasketQuantity',itemno);
        self.location = 'basket.htm';
    }

    function clearBasket() {
         {
            index=document.cookie.indexOf('TheBasket');
            document.cookie='TheBasketCode=.; expires='+today;
            document.cookie='TheBasketName=.; expires='+today;
            document.cookie='TheBasketWeight=.; expires='+today;
            document.cookie='TheBasketTaxable=.; expires='+today;
            document.cookie='TheBasketPrice=.; expires='+today;
            document.cookie='TheBasketExtraFields=.; expires='+today;
            document.cookie='TheBasketAdvanced=.; expires='+today;
            document.cookie='TheBasketQuantity=.; expires='+today;
            self.location='basket.htm';
        }
    }
    function changeCurrency(num) {
         index=document.cookie.indexOf('TheCurrency');
         document.cookie='TheCurrency='+(num+1)+'; expires=Friday, 31-Dec-2010 08:00:00 GMT';
         self.location='basket.htm';
    }

    function updateBasket() {
        newItemList='';
        itemlist=0;
        for (var i=1;i<=retrieveCookieCount('TheBasketCode');i++) {
            if (!isNaN(document.basketform.elements['quant'+i].value)) {
                changeCookieValue('TheBasketQuantity',i,eval(document.basketform.elements['quant'+i].value));
            }
        }
        self.location='basket.htm';
    }