// jshop.js JavaScript Development by JavaScriptDesign.com
// email solutions@javascriptdesign.com  Copyright 2000
// All Rights Reserved. Copyright Notice Must Remain in
// Source files and Catalog Pages.

// ****Begin code section for catalog display****

// **Establish array variables. These must match the**
// **catalog array constructionin each page.**
var catNo = new Array(); // The catalog number
var itemName = new Array(); // The item name
var itemDesc = new Array(); // The item description
var price = new Array(); // The item price
var ordQty = new Array(); // Array to store order qty

// **Object constructor to build the catalog array.**
// **Catalog entries are in an array on each page.**

function loadCatalog(num,iNum,iName,iDesc,cost) {
 catNo[num] = iNum;
 itemName[num] = iName;
 itemDesc[num] = iDesc;
 price[num] = cost;
}

// **Function to write the content for each table row.**
// **This reads the array data and populates a table **
// **for catalog display.

function writeTableRow(i) {
 document.write('<tr><td bgcolor=EEEEEE align=center>' + itemName[i] + '</td>'
  + '<td bgcolor=EEEEEE align=center>' + price[i] + '</td>'
  + '<td bgcolor=EEEEEE align=center><input type="text" size="2" value="" name="q'+i+'">'
  + '<td bgcolor=EEEEEE align=center>'
  + '<a href="javascript:addItem(' + i + ')"><img src="icn_buy.gif" border="0" '
  + 'alt="Click to Add Item To Your Shopping Cart"></a>'
  + '</td></tr>');
}

// **Function to write the catalog display table to **
// **the current document.**

function writeTable() {
 document.write('<form name="form1"><table border="1" width="100%"	>'
  + '<tr><td bgcolor=FFFAC4 align=center><b>Product</b></td>'
  + '<td bgcolor=FFFAC4 align=center><b>Price</b></td>'
  + '<td bgcolor=FFFAC4 align=center><b>Qty</b></td>'
  + '<td bgcolor=FFFAC4 align=center><b>Add to Cart</b>'
  + '</td></tr>');
 for (i=0; i < catNo.length; i++)
  writeTableRow(i);
 document.write('</table></form>');
}

// ****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]")
 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;
  }
 }
// return true;
 if (confirm("Add Item " + catNo[num] + " To Your Shopping Cart?")) {
 addCart = '' + a + '`' + ordQty[num] + '*' + itemName[num] + ' ' + itemDesc[num] + '~' + price[num] + '^'
 cookData += eval("addCart")
 setCookieData("Scart", cookData, expdate.toGMTString())
 window.location.href = 'cart.htm';
 }
}

// ****End code section for updating the cookie.****

// ****Function to reset the form elements everytime the page loads
// ****Remove th onLoad() event handler from the catalog body tags
// ****to eliminate this feature.

function clearQtys() {
 document.form1.reset()
}

// ****Debugging function to display cookie contents.****

function showMe() {
 display = getCookieData("Scart");
 alert(display)
}


