// JavaScript Document

	function getCookie (name) 
		{
			var dcookie = document.cookie; 
			//alert("Cookie = " + dcookie);
			var cname = name + "=";
			var clen = dcookie.length;
			var cbegin = 0;
				while (cbegin < clen) 
					{
						var vbegin = cbegin + cname.length;
						if (dcookie.substring(cbegin, vbegin) == cname) 
							{ 
							var vend = dcookie.indexOf (";", vbegin);
							if (vend == -1) vend = clen;
							return unescape(dcookie.substring(vbegin, vend));
							}
						cbegin = dcookie.indexOf(" ", cbegin) + 1;
						if (cbegin == 0) break;
					}
			return null;
		}

	function setCookie (name, value, expires) 
		{
			if (!expires) expires = new Date();
			document.cookie = name + "=" + escape (value) //+ "; expires=" + expires.toGMTString() +  "; path=/";
			//alert(name + "=" + escape (value)); //+ "; expires=" + expires.toGMTString() +  "; path=/");
			updateCartInfo();
		}

	function delCookie (name) 
		{
			document.cookie = name + "=";// + "; expires=Thu, 01-Jan-70 00:00:01 GMT" +  "; path=/";
			updateCartInfo();
		}

	function changeQty(iChange,num)
		{
		var sLevel1 = document.cookie.split(";");
		var sLevel2;
		var sLevel3;
		
		for(n = 0 ; n < sLevel1.length ; n++)
			{
			var sLevel2 = sLevel1[n].split("=");
			//alert(e2[0]);
			if(sLevel2[0] == iChange) 
				{
					sLevel3 = unescape(sLevel2[1]).split("||");
					var oldVal = sLevel3[2];
					oldVal = Number(oldVal) + num;
					if(oldVal<1) {oldVal = 1;}
					//write back to the cookie
					setCookie(sLevel2[0],sLevel3[0] + "||" + sLevel3[1] + "||" + oldVal);
				}
			}
			updateCartInfo();
		}
		
	function updateCartInfo()
		{
		var sLevel1 = document.cookie.split(";");
		var sLevel2;
		var sLevel3;
		var sReport = "";
		var dCost = 0;
		
		sReport = "<table border='1'><tr><td width='100px;'>Name</td><td width='100px;'>Number</td><td width='100px;'>Unit Cost</td><td width='50px;'>Qty</td><td width='50px;'>Cost</td><td width='50px'>Inc / Dec</td><td width='50px'>Del</td></tr>";

		for(n = 0 ; n < sLevel1.length ; n++)
			{
			var sLevel2 = sLevel1[n].split("=");

				if(IsNumeric(trim(sLevel2[0])))
					{
					sLevel3 = unescape(sLevel2[1]).split("||");
					if(sLevel3[1])
						{
							var sName = sLevel3[0];
							var sCode = Number(sLevel2[0]);
							var dUnit = Number(sLevel3[1]);
							var dQty = Number(sLevel3[2]);
							var dTotal = dUnit * dQty;
							
							sReport = sReport + "<tr><td>" + sName + "</td><td>" + sCode + "</td><td>£" + dUnit.toFixed(2) + "</td><td>" + dQty + "</td><td>£" + dTotal.toFixed(2) + "</td><td><span onClick='changeQty(" + sLevel2[0] + ",1)'>+</span>&nbsp;|&nbsp;<span onClick='changeQty(" + sLevel2[0] + ",-1)'>-</span></td><td><span onClick='delCookie(" + sLevel2[0] + ")'>O</span></td></tr>";
							dCost = dCost + Number(sLevel3[2]) * Number(sLevel3[1]);
						}
					}
			}
			
			sReport = sReport + "<tr><td></td><td></td><td></td><td></td><td></td><td></td><td>£" + dCost.toFixed(2) + "</td></tr>";
			sReport = sReport + "</table>";
			
			
			if(dCost==0) {
					sReport = "There is nothing in the basket at the moment.";
					}
			
			if (document.layers) 
  			{
     
  			}
  			else if (document.getElementById)
    			document.getElementById('cart_info').innerHTML =  sReport;
  			else if (document.all)
    			document.all.cart_info.innerHTML = sReport;
		}
		
		
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }

	function updateCartInfo()
		{
		var sLevel1 = document.cookie.split(";");
		var sLevel2;
		var sLevel3;
		var sReport = "";
		var dCost = 0;
		
		sReport = "<table border=0 width=100% cellspadding='0' cellspacing='0'>";

		for(n = 0 ; n < sLevel1.length ; n++)
			{
			var sLevel2 = sLevel1[n].split("=");

				if(IsNumeric(trim(sLevel2[0])))
					{
					sLevel3 = unescape(sLevel2[1]).split("||");
					if(sLevel3[1])
						{
							var sName = sLevel3[0];
							var sCode = Number(sLevel2[0]);
							var dUnit = Number(sLevel3[1]);
							var dQty = Number(sLevel3[2]);
							var dTotal = dUnit * dQty;
							sReport = sReport + "<tr><td width=250 style='color:white;font-size:xx-small;'>";
							sReport = sReport + "&nbsp;&nbsp;" + dQty + " x " + sName + " = £" + dTotal.toFixed(2);
							sReport = sReport + "</td>";
							
							sReport = sReport + "<td width=10 align=center valign=top><div style='cursor:pointer;' onClick='changeQty(" + sLevel2[0] + ",-1)'>-</div></td>";
							sReport = sReport + "<td width=10 align=center valign=top><div style='cursor:pointer;' onClick='changeQty(" + sLevel2[0] + ",1)'>+</div></td>";
							sReport = sReport + "<td width=10 align=center valign=top><div style='cursor:pointer;' onClick='delCookie(" + sLevel2[0] + ")'>x</div></td>";
							
							sReport = sReport + "</tr>";
							sReport = sReport + "<tr><td height=10>&nbsp;</td></tr>";
							dCost = dCost + Number(sLevel3[2]) * Number(sLevel3[1]);
						}
					}
			}
			sReport = sReport + "<tr><td colspan='4' align='center'><hr></td></tr>";
			sReport = sReport + "<tr><td colspan='4' style='color:white;font-size:xx-small;'><div class='basketTotalCost'>Total Cost : £" + dCost.toFixed(2) + "&nbsp;&nbsp;</div></td></tr>";
			sReport = sReport + "<tr><td colspan='4' align='center'><hr></td></tr>";
			sReport = sReport + "<tr><td colspan='4' align=center><div class='checkoutButton' onClick=location.href='checkout.asp'>Proceed to Checkout</div></td></tr>";
			
			if(dCost==0) {sReport = "<tr><td colspan='4' align=center><div class='basketEmpty'>The basket is empty.</div></td></tr>";}
			
			sReport = sReport + "</table>";
			
			
			//alert(document.cookie.count);
			
			if (document.layers) 
  			{
     
  			}
  			else if (document.getElementById)
    			document.getElementById('cart_info').innerHTML =  sReport;
  			else if (document.all)
    			document.all.cart_info.innerHTML = sReport;
		}



// Example:

// simplePreload( '01.gif', '02.gif' ); 

function simplePreload()

{ 

  var args = simplePreload.arguments;

  document.imageArray = new Array(args.length);

  for(var i=0; i<args.length; i++)

  {

    document.imageArray[i] = new Image;

    document.imageArray[i].src = args[i];

  }

}



// * Dependencies * 

// this function requires the following snippets:

// JavaScript/images/switchImage

//

// BODY Example:

// <body onLoad="mySlideShow1.play(); mySlideShow2.play();">

// <img src="originalImage1.gif" name="slide1">

// <img src="originalImage2.gif" name="slide2">

//

// SCRIPT Example:

// var mySlideList1 = ['image1.gif', 'image2.gif', 'image3.gif'];

// var mySlideShow1 = new SlideShow(mySlideList1, 'slide1', 3000, "mySlideShow1");

// var mySlideList2 = ['image4.gif', 'image5.gif', 'image6.gif'];

// var mySlideShow2 = new SlideShow(mySlideList2, 'slide2', 1000, "mySlideShow2");

function SlideShow(slideList, image, speed, name)          

{

  this.slideList = slideList;

  this.image = image;

  this.speed = speed;

  this.name = name;

  this.current = 0;

  this.timer = 0;

}

SlideShow.prototype.play = SlideShow_play;  

function SlideShow_play()       

{

  with(this)

  {

    if(current++ == slideList.length-1) current = 0;

    switchImage(image, slideList[current]);

    clearTimeout(timer);

    timer = setTimeout(name+'.play()', speed);

  }

}


function switchImage(imgName, imgSrc) 

{

  if (document.images)

  {

    if (imgSrc != "none")

    {

      document.images[imgName].src = imgSrc;

    }

  }

}



		function openWindow(strPath,strHeight,strWidth)
			{
			window.open(strPath,"window","menubar=no,location=no,resizable=yes,scrollbars=yes,status=no,height=" + strHeight + ", width=" + strWidth + ",top=100,left=100"); 
			}


/*
	function delCookieArray(name)
		{
			var i = 0;
			while (getCookie(name + i) != null) 
				{
					delCookie(name + i);
					i++; 
				}        
		}		

	function getCookieArray(name)
		{
			var i = 0;
			while (getCookie(name + i) != null) 
				{
					this[i + 1] = getCookie(name + i);
					i++;
					this.length = i; 
				}
		}

var expdate = new Date();
expdate.setTime (expdate.getTime() +  (24 * 60 * 60 * 1000 * 365)); 

	function setCookieArray(name)
		{
			temp_length = setCookieArray.arguments.length - 1;
			for (var i = 0; i < temp_length; i++) 
				{
					data = setCookieArray.arguments[i + 1]
					setCookie (name + i, data, expdate);
				}        
		}
	





	function get_that_cookie(name)
		{
			var i;
			var sReport;
			var tempArray;
			tempArray = new getCookieArray(name);
			//alert('tempArray.length = '+ tempArray.length);
			for (i=0;i<tempArray.length+1;i++)
				{
					if (tempArray[i])
						{ 	//alert('ship_array[' + i + '] ='+ shiparray[i]);
							sReport = sReport + tempArray[i];
							//alert('ship_details[' + i + '] ='+ ship_details[i]);
						}
					else
						{// to initiate array values
							//ship_details[i] = ''
						}
				}
		
			//alert('shiparray length= ' + shiparray.length + '\nshiparray[1] = ' + shiparray[1] + '\nshiparray[2] = ' + shiparray[2] + '\nshiparray[3] = ' + shiparray[3] + '\nshiparray[4] = ' + shiparray[4] + '\nshiparray[5] = ' + shiparray[5] + '\nshiparray[6] = ' + shiparray[6] + '\nshiparray[7] = ' + shiparray[7] + '\nshiparray[8] = ' + shiparray[8]);

			return sReport;
		}


// shipping details object creation

ship_details = new shipp_details();

function shipp_details()
	{
		this.f_namea = ''
		this.l_namea= ''
		this.ad_onea = ''
		this.ad_twoa = ''
		this.citya = ''
		this.statea =''
		this.zipa = ''
		this.countrya = ''
		this.phonea = ''
		this.faxa = ''
		this.mailon = false
		this.sameflag = false
		this.shipname=''
		this.ad_oneb = ''
		this.ad_twob=''
		this.shipb = ''
		this.stateb=''
		this.zipb=''
		this.countryb=''
		this.phoneb=''
		this.faxb=''
		this.email=''
		this.comments = ''
	}


function refresh_ship_details(shipform)
	{
		document.order.comments.value = shipform.comments
		document.order.name_first.value= shipform.f_namea
		document.order.name_last.value= shipform.l_namea
		document.order.email.value=shipform.email
		document.order.address1.value=shipform.ad_onea
		document.order.address2.value=shipform.ad_twoa
		document.order.city.value=shipform.citya
		document.order.state.value=shipform.statea
		document.order.zip.value=shipform.zipa
		document.order.country.value=shipform.countrya
		document.order.phone.value=shipform.phonea
		document.order.fax.value=shipform.faxa
		document.order.mail_list.value=shipform.mailon
		document.order.same_flag.value=shipform.sameflag
		document.order.ship_name.value=shipform.shipname
		document.order.ship_address1.value=shipform.ad_oneb
		document.order.ship_address2.value=shipform.ad_twob
		document.order.ship_city.value=shipform.shipb
		document.order.ship_state.value=shipform.stateb
		document.order.ship_zip.value=shipform.zipb
		document.order.ship_country.value=shipform.countryb
		document.order.ship_phone.value=shipform.phoneb
	}

function add_ship_details(shipform)
	{
		shipform.comments = document.order.comments.value
		shipform.f_namea = document.order.name_first.value
		shipform.l_namea= document.order.name_last.value
		shipform.email =  document.order.email.value
		shipform.ad_onea =  document.order.address1.value
		shipform.ad_twoa =  document.order.address2.value
		shipform.citya =  document.order.city.value
		shipform.statea = document.order.state.value
		shipform.zipa =  document.order.zip.value
		shipform.countrya = document.order.country.value
		shipform.phonea =  document.order.phone.value
		shipform.faxa =  document.order.fax.value
		shipform.mailon =  document.order.mail_list.value
		shipform.sameflag =  document.order.same_flag.value
		shipform.shipname= document.order.ship_name.value
		shipform.ad_oneb =  document.order.ship_address1.value
		shipform.ad_twob= document.order.ship_address2.value
		shipform.shipb =  document.order.ship_city.value
		shipform.stateb= document.order.ship_state.value
		shipform.zipb= document.order.ship_zip.value
		shipform.countryb= document.order.ship_country.value
		shipform.phoneb= document.order.ship_phone.value
	}

// end of shipping details object handling

*/			
