// Global array variables.
var catNo = new Array();         // catalog number
var itemName = new Array();      // item name
var itemDesc = new Array();      // item description
var price = new Array();         // item price
var image = new Array();         // image 
var ordQty = new Array();        // order qty
var shippingType = new Array();  // shipping type
var shippingValue = new Array(); // shippping amount

// Function builds different arrays that make up the catalog
function loadCatalog(num,catalogNum,Name,Description,cost,picture,shipping_type,shipping_value) {
 catNo[num] = catalogNum;
 itemName[num] = Name;
 itemDesc[num] = Description;
 price[num] = cost;
 image[num] = picture;
 shippingType[num] = shipping_type
 shippingValue[num] = shipping_value
}


// Function to write the content for each table row.
// This reads the array data and populates the html table 
// for catalog display.
function writeTableRow(i,table_color,image_column) {
 document.write('<tr bgcolor=#' + table_color + '>');
 if (image_column != "no") { 
  //document.write('<td width="122" height="92" align="center"><font size =-1 face="Arial, Helvetica, sans-serif">' + image[i] + '</font></td>');
  if (image[i] != "") {
    document.write('<td width="122" height="92" align="center"><font size =-1 face="Arial, Helvetica, sans-serif"><a href="pictures/' + image[i] + 'a.jpg" target="_blank"><img src="pictures/' + image[i] + 'b.jpg"></a></font></td>');
  } else {
    document.write('<td width="122" height="92" align="center"><font size =-1 face="Arial, Helvetica, sans-serif">&nbsp;</font></td>');  
  }
 }
 document.write('<td><b><font size =-1 face="Arial, Helvetica, sans-serif">'
  + itemName[i] + '</font></b><br><font size =-2 face="Verdana, Arial, Helvetica, sans-serif">'
  + itemDesc[i] + '<br></font>');
 document.write('<table width=100 align="right"><tr><td align="right">'
  + '<font face="Arial, Helvetica, sans-serif"><br>Price:&nbsp;<font size=4><b>'
  + price[i] + '</font></b>&nbsp;&nbsp;</font></td></tr></table>');  
 document.write('</td>');
 //
  document.write('<td align="center">&nbsp;<select name="q'+i+'">');
 if (shippingType[i] != "wholesale") {
   document.write('<option value="1" selected>1</option>'
    + '<option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option>'
    + '<option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option>'
    + '<option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option>'
    + '<option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option>'
    + '<option value="18">18</option><option value="19">19</option><option value="20">20</option>');
 } else {
   document.write('<option value="25" selected>25</option>'
    + '<option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option>'
    + '<option value="30">30</option><option value="31">31</option><option value="32">32</option><option value="33">33</option>'
    + '<option value="34">34</option><option value="35">35</option><option value="36">36</option><option value="37">37</option>'
    + '<option value="38">38</option><option value="39">39</option><option value="40">40</option><option value="45">45</option>'
    + '<option value="50">50</option><option value="55">55</option><option value="60">60</option><option value="65">65</option>'
	+ '<option value="70">70</option><option value="80">80</option><option value="90">90</option><option value="100">100</option>');
 } 
 document.write('</select>&nbsp;<br><a href="javascript:addItem(' + i + ')"><img src="pictures/plus.gif" border="0" alt="Click to Add Item To Your Shopping Cart"></a>&nbsp;'
  + '</td></tr>');
}



// **Function to write the catalog display table to **
// **the current document.**

function writeTable(start, end, table_width, header_color, table_color, border_size, cell_spacing, cell_padding, image_column) {
 document.write('<form name="form1"><table width="' + table_width + '" border="' + border_size + '" cellspacing="' + cell_spacing + '" cellpadding="' + cell_padding + '">'
  + '<tr bgcolor=#' + header_color + '>');
 if (image_column != "no") { 
  document.write('<td width="120"><div align="center">' + '<b><font size =-2 face="Verdana, Arial, Helvetica">Image</font></b>' + '</div></td>');
 }
 document.write('<td><div align="center">' + '<b><font size =-2 face="Verdana, Arial, Helvetica">Item</font></b>' + '</div></td>'
  //+ '<td width="35" align="center"><b><font size =-2 face="Verdana, Arial, Helvetica">Price</font></b></td>' 
  + '<td align="center" width="45"><b><font size =-2 face="Verdana, Helvetica">Add<br>to Cart</font></b></td>'
  + '</tr>');
  //
 if (start==10000) {
  for (i=0; i < catNo.length; i++) {
   writeTableRow(i,table_color,image_column);
  }
 } else {
  for(i=start; i<=end; i++) {
   writeTableRow(i,table_color,image_column);
  }
 }
 document.write('</table>');
}
// ****End code section for writing catalog content.****


// ****Begin shared cookie functions****
// **Global expdate variable for cookies**
// **Cookie is set to expire in 24 hours**

var expdate = new Date()
expdate.setTime (expdate.getTime() + (1 * 24 * 60 * 60 * 1000))

// **Read cookie data.**


function getCookieData(name) {
	var label = name + "="
	var labelLen = label.length
	var cLen = document.cookie.length
	var i = 0
	while (i < cLen) {
		var j = i + labelLen
		if (document.cookie.substring(i,j) == label) {
			var cEnd = document.cookie.indexOf(";",j)
			if (cEnd == -1) {
				cEnd = document.cookie.length
			}
			return unescape(document.cookie.substring(j,cEnd))
		}
		i++
	}
	return ""
}


// **Write cookie data**
function setCookieData(name,value,expires) {
        counter ++
	document.cookie = name + "=" + counter + "@" + value + "; expires=" + expires
}



// **Kill cookie function. When the order is submitted**
// **the cookie is killed via an event handler call.**

function killCookie(name) {
 if (getCookieData(name)) {
 document.cookie = name + "=" + "; expires = Thu, 01-Jan-70 00:00:01 GMT";
 cookData = ""
 counter = 0
// history.go(0)
 }
}
// ****End shared cookie functions****



// ****Begin code section to update the cookie to ****
// ****add items to the shopping cart cookie 'Scart'.****

// **Global variables.**
var counter = 0
var cookData = ""

// **Extract current value of cookie when page loads **
// **and store the values in the global variables.**

if (getCookieData("Scart")) {
 orderString = getCookieData("Scart")
 cLen = orderString.length
 countEnd = orderString.indexOf("@")
 pointer = countEnd + 1
 counter = orderString.substring(0,countEnd)
 cookData = orderString.substring(pointer,cLen)
}

// **Function to add an item to the shopping cart cookie.**

function addItem(num) {
// a = eval("catNo[num]")
 a = eval("itemName[num]")
 ordQty[num]=eval("document.form1.q"+num+".value");
 b = eval("ordQty[num]")
 if (ordQty[num] == 0) {
  alert("Please enter your order quantity");
  return;
 }
 for (var i = 0; i < b.length; i++) {
  var oneChar = b.substring(i, i + 1)
  if (oneChar < 0 || oneChar > 9) {
   alert("Please make sure entries are numbers only.");
   eval("document.form1.q"+num+".value = ''");
   return;
  }
 }
 addCart = '' + a + '{' + ordQty[num] + '*' + image[num] + '~' + price[num] + '}' + catNo[num] + '^' + shippingType[num] + '%' + shippingValue[num] + '?';
 cookData += eval("addCart");
 setCookieData("Scart", cookData, expdate.toGMTString());
 //
 history.go(0);
 //window.location.reload();
}
// ****End code section for updating the cookie.****


// ****Function to reset the form elements everytime the page loads.  Remove the
// ****onLoad() event handler from the catalog body tags to eliminate this feature.
function clearQtys() {
 document.form1.reset()
}

// ****************************************************************************************************************************************
// CART_COUNTER.JS
// *** writeItemCounter(), orderDetail(), calculateQty(), showMe()
// *** ============================================================================================================================================================
// *** ITEM COUNTER FUNCTION

// Global variables
var itemQty = new Array();
var cartQty = new Array();
var cartImage = new Array();
var cartName = new Array();
var itemCounter = 0;
var cartCounter = 0;
var cart_total_qty = 0;

// Parse cookie and extract the quantity of items from the string.  
// Calls calculateQty() to do math 
// The following delimiters are used @, {, ^, ', *, ~, }, ?, % 
function writeItemCounter(option) {
 if (getCookieData('Scart')) {
  //cartCounter = 0
  //counter = 0
  substr0 = getCookieData('Scart')
  cLen = substr0.length
  offset0 = substr0.indexOf('@')
  cartCounter = substr0.substring(0,offset0)
  if (cartCounter == 0) {
   killCookie('Scart')
   history.go(0)
  }
  j = 0;
  for (i=1; i<=cartCounter; i++) {
   offsetq = eval('offset' + j + '');
   substrq = eval('substr' + j + '');
   eval('ind' + i + ' = offsetq + 1');
   eval('substr' + i + ' = substrq.substring(ind' + i + ',cLen)');
   eval('offset' + i + ' = substr' + i + '.indexOf("?")');
   eval('item' + i + ' = substr' + i + '.substring(0,offset' + i + ')');
   eval('Delimiter_name2qty_' + i + ' = item' + i + '.indexOf("{")');
   eval('Delimiter_qty2image_' + i + ' = item' + i + '.indexOf("*")');
   eval('Delimiter_image2price_' + i + ' = item' + i + '.indexOf("~")');
   eval('Delimiter_price2catno_' + i + ' = item' + i + '.indexOf("}")');
   eval('Delimiter_catno2shiptype_' + i + ' = item' + i + '.indexOf("^")');   
   eval('Delimiter_shiptype2shipvalue_' + i + ' = item' + i + '.indexOf("%")');
   //
   eval('item_name' + i + ' = item' + i + '.substring(0,Delimiter_name2qty_' + i + ')');
   eval('item_quantity' + i + ' = item' + i + '.substring((Delimiter_name2qty_'+i+'+1),Delimiter_qty2image_' + i + ')');
   eval('item_image' + i + ' = item' + i + '.substring((Delimiter_qty2image_' + i + ' + 1),Delimiter_image2price_' + i + ')');
   eval('orderDetail(i,item_name' + i + ',item_quantity' + i + ',item_image' + i + ')');
   j++
  }
  // only do quantity calculation if the first time through writeItemCounter() call
  if (cart_total_qty == 0) calculateQty();  
  //
  list = 5;
  if (cartCounter <=4) list=cartCounter;
  if (option == 1) {
  document.write('<table align=center cellspacing="0" cellpadding="0"><tr><td align = center><font color=#330033 size=-2" face="Arial,Verdana, Helvetica">Qty</font></td>')
  document.write('<td align = center><font color=#330033 size=-2" face="Arial,Verdana, Helvetica">Item</font></td></tr>')
  document.write('<tr bgcolor=#330033><td height=1 colspan="2"><img src="pictures/b.gif" width="1" height="1"></td></tr>')  
    for (z = 1; z <= list; z++) {
		document.write('<tr height=80><td width="27" align=middle>')
		document.write('<font color=#0000DD size=-1" face="Arial,Verdana, Helvetica"><b><i>' + cartQty[z] + '</i></b></font></td><td>')
	   	if (cartImage[z] != "") {
			document.write('<img src="pictures/' + cartImage[z] + 'b.jpg" width=108 height=77>')
		} else {
			document.write('<font color=#330033 size=-1" face="Arial,Verdana, Helvetica">' + cartName[z] + '</font><br>')
		}
		document.write('<tr bgcolor=#330033><td height=1 colspan="2"><img src="pictures/b.gif" width="1" height="1"></td></tr>')
	}
	document.write('</table>')
	if (counter > list) document.write('&nbsp;&nbsp;&nbsp;<a href="scart.html" target="_parent">see the rest ....</a><br>')
	document.write('<br>')
  }
  if (cart_total_qty == 1) {
     document.write('<center><font color=#0000CC size=-2" face="Arial,Verdana, Helvetica"><b>' + cart_total_qty + '</b><\/font><font color=#990033 size=-2" face="Arial,Verdana, Helvetica"><b> item in your cart</b><\/font><\/center>')
  } else {
  	 document.write('<center><font color=#0000CC size=-2" face="Arial,Verdana, Helvetica"><b>' + cart_total_qty + '</b><\/font><font color=#990033 size=-2" face="Arial,Verdana, Helvetica"><b> items in your cart</b><\/font><\/center>')
  }
 // if nothing is in cookie then
 } else {
  document.write('<center><font color=#990033 size=-2" face="Arial,Verdana, Helvetica"><b>Cart Is Empty</b><\/font><\/center>');
 }
 document.close();
}

// Writes values into corresponding arrays
function orderDetail(j,name,qt, pic_name) {
 cartName[j] = name
 cartQty[j] = qt
 cartImage[j] = pic_name
}


// function: calculateQty()
// ---------------------
// *** List the quantity of items in the persons cart ***
function calculateQty() {
  for (y = 1; y <= cartCounter; y++) {
	for (p=1; p <= cartQty[y]; p++) cart_total_qty++;
  }
  document.close();
}


// ****Debugging function to display cookie contents.****
function showMe() {
 display = getCookieData("Scart");
 alert(display)
}
