
var qty;
var strains;
var nobasket;
var totalqty;
var totmed;
var totstr;

function srchArray(oNeedle,oHaystack) {
  for( var i = 0; i < oHaystack.length; i++ ) {
    if( oNeedle == oHaystack[i] ) { return i; }
  }
  return -1;
}

function editBasket(eqty,estrns) {
//'eqty' array of quantity - IF ZERO, then delete item, if negative then add to existing qty, if positive overwrite existing quantity
//'estrns' - array of Strain numbers to add\edit/delete - tied to 'qty' array
//1. GET EXISTING BASKET
getBasket();
//2. EDIT EXISTING BASKET	
for (i=0;i<eqty.length;i++) {
   if (!nobasket) 
      {
	  idx=srchArray(estrns[i],strains); //Find if it alreday exists in basket
      cnt=qty.length-1;
	  }
   else {
      cnt=-1;idx=-1;
	  }
	  //alert("Idx: "+idx+" qty: "+eqty[i]+"  nstrn:"+estrns[i]);
   if (idx==-1 && eqty[i]!=0) {
	 //Add it to basket - does not exist
	 if (cnt==-1) { 
		qty=new Array(1);strains=new Array(1); 
	    }
	 cnt=cnt+1
	 qty[cnt]=Math.abs(eqty[i]);
	 strains[cnt]=estrns[i];
     }
	else if (idx!=-1){
	 //Alreday EXISTS so amend quantity (or delete !)
	 if (eqty[i]>0) 
	    { qty[idx]=eqty[i];} //overwrite value
	 else if (eqty[i]<0)
	    { qty[idx]=Number(qty[idx])+ (-1*eqty[i]);} //append to value
	 else {//DELETE
	      deleteItem(idx);
	    }
	  } //idx!=-1
   } //for
//3. SAVE NEW BASKET
saveBasket();

}

function findstrainjs(strn) {
//Retrun number
getBasket();
//2. EDIT EXISTING BASKET	
if (!nobasket) {
      idx=srchArray(strn,strains);
      if (idx!=-1)
	     return qty[idx];
   }
return 0;
}

function deleteFromBasket(idx) {
getBasket();
deleteItem(idx);
saveBasket();
}

function deleteItem(idx) {
for (j=idx+1;j<qty.length;j++) {
  	   qty[j-1]=qty[j];
	   strains[j-1]=strains[j];
		}
qty.length=qty.length-1;
strains.length=strains.length-1;
}

function displaybasket() {
getBasket();
document.write("<span id=\"basketstat\" Title=\"Click to go to Order Form\" onclick=\"javascript:window.location='/order_form.php'\" >");
document.write("&nbsp;&nbsp;Basket&nbsp;");
document.write("<img src=\"/include/basket.gif\" width=\"16\" height=\"12\" />&nbsp;");
document.write("<span id=\"basketcontents\">"+totalqty+" items "+(totalqty==0?"":"("+totstr+" strains, "+totmed+" media)")+"</span>");
document.write("</span>");
}

function getBasket() {
//RETURNS ITEMS IN BASKET	
//'qty' array of quantity
//'strains' - array of Strain numbers - tied to 'qty' array
totalitems=0;
totalqty=0;
totmed=0;
totstr=0;
if (GetCookie('ccap_basket')) {
	bskt=GetCookie('ccap_basket');
	//alert(bskt);
	basket=bskt.split(";")
	qty=new Array(1);strains=new Array(1);
    for (i=0;i<basket.length/2;i++) {
       qty[i]= basket[i*2];	 
	   totalqty=totalqty+parseInt(qty[i]);
       strains[i] =basket[i*2+1];
	   //Media or strain
	   if (strains[i].indexOf('Media')==0) 
	      totmed=totmed+1; 
	   else
	      totstr=totstr+1
      }
    nobasket=false;
	//alert("items: "+totalqty+" ["+(totmed+totstr)+": strains "+totstr+" media "+totmed);
	return
	}
nobasket=true;	
}


function saveBasket() {	
var expdate = new Date ();
FixCookieDate (expdate); // Correct for Mac date bug - call only once for given Date object!
expdate.setTime (expdate.getTime() + (7*24 * 60 * 60 * 1000)); // 7 day expiry
var basket="";
//alert(qty.length);
for (i=0;i<qty.length;i++) 
    basket=basket+((basket)?";":"")+qty[i]+";"+strains[i];   
//alert(basket);
SetCookie('ccap_basket',basket,expdate,"/","ccap.ac.uk");  //TODO Chnageback to ccap.ac.uk

}

function emptyBasket() {
DeleteCookie('ccap_basket',"/","ccap.ac.uk");	
}