today=new Date();
today.setTime(today.getTime() + (3600000));
today=today.toGMTString();
currentdate=new Date();
currentdate=currentdate.toLocaleString();
index = document.cookie.indexOf('TheBasketCode');
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=Friday, 31-Dec-2010 08:00:00 GMT';
   document.cookie='JShopReferrer=.; expires='+today;
}

currencyCode = new Array(1); currencyName = new Array(1); currencyDecimals = new Array(1); currencyPre = new Array(1); currencyMiddle = new Array(1); currencyPost = new Array(1); 
currencyCode[1]='GBP'; currencyName[1]='GBP'; currencyDecimals[1]='2'; currencyPre[1]=''; currencyMiddle[1]='.'; currencyPost[1]=''; 
    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('JShopReferrer',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 popupImage(imagename,imagewidth,imageheight) {
   apopup=window.open(imagename,'jsppopupimage','toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizable=yes,copyhistory=no,width='+(imagewidth+20)+',height='+(imageheight+30));
}
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 checkAdvanced(adv,advField0) {
     newAdv='';advlist=0;
    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 (field0!='none' && advField0 != field0) applicable=false;
            if (applicable==true) {
                newAdv = newAdv+ '{'+field0+'!'+advFrom+'!'+advTo+'!'+advPrice+'}'
            }
        } else if (adv.substring(j,j+1)=='!') {
            if (thisadv==1) field0 = adv.substring(advstart, j);
            if (thisadv== 2) advFrom=adv.substring(advstart,j);
            if (thisadv== 3) advTo=adv.substring(advstart,j);
            thisadv++;advstart=j+1;
        }
    }
    if (newAdv=='') newAdv='none';
    return newAdv;
}
    function buyItem(newCode,newItem,newPrice,newTaxable,newWeight,newField0,newAP,newQuantity) {
        if(newQuantity<=0) {
            rc = alert('The quantity entered is incorrect');
        } else {
            if (confirm('Add '+newQuantity+' of "' +newItem+'" to your shopping basket?')) {
                 if (newAP!='none') {
                     newAP=checkAdvanced(newAP,newField0);
                 }
                 amended = false;
                 newItemList=''; itemlist=0;
                 for (var i=1;i<=retrieveCookieCount('TheBasketCode');i++) {
                      theCode=retrieveCookie('TheBasketCode',i,0);
                      theItem=retrieveCookie('TheBasketName',i,0);
                      theQuantity=retrieveCookie('TheBasketQuantity',i,0);
                              theField0 = retrieveCookie('TheBasketExtraFields',i,1);
                      if (theCode==newCode && theItem==newItem  && theField0 == newField0) {
                           amended=true;
                           tempquantity=eval(theQuantity)+eval(newQuantity);
                           changeCookieValue('TheBasketQuantity',i,tempquantity);
                      }
                 }
                 if (amended==false) {
                    addToCookie('TheBasketCode',newCode);
                    addToCookie('TheBasketName',newItem);
                    addToCookie('TheBasketPrice',newPrice);
                    addToCookie('TheBasketWeight',newWeight);
                    addToCookie('TheBasketTaxable',newTaxable);
                    addToCookie('TheBasketExtraFields',newField0+'~');
                    addToCookie('TheBasketAdvanced',newAP);
                    addToCookie('TheBasketQuantity',newQuantity);
                 }
             }
         }
     }

function changeissue() {
	var d=document.forms[0];
	var e=d.cboissues.value;
	var pn;
	if (e=='none') {
		pn='shop.asp';
		if (iseuro()) {
			pn=pn+'?euro=1';
			}
		}
	else
		{
		pn='shop.asp?issue='+e;
		if (iseuro()) {
			pn=pn+'&euro=1';
			}
		}
	window.location.href=pn;
}


function checkout() {
	var pn='checkout.html';
	if (iseuro()) {
		pn=pn+'?euro=1';
		}
	MM_openBrWindow(pn,'bufshopbasket','toolbar=yes,location=yes,scrollbars=yes,resizable=yes,width=1024,height=768');
	//alert('Come back on Wednesday 17th September 2008 when Issue 1 will be available to buy!');
	//alert('We are experiencing some technical problems with the shop, come back later!');
	}

function iseuro() {
	var t=String(location);
	var f=t.indexOf('euro=1');
	if (f!=-1) {
		return true;
		}
	else {
		return false;
		}
	}
