////////////////////////////////////////////////////////////
// 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.				    //
//  									    //
//    Modified By Jared Herweg for Regener Demo Book      //
// 				Oct. 2001				    //
// 									    //
//  Explination of jshop.js:					    //
//   - This script handles loading the cart on description//
//     pages so items can be placed into the cart.        //
//   - The cookie that holds the items in a string is     //
//     defined in this script.  The cookie is created and //
//     added to as long as the user has an active window  //
//     open for ordering items.                           //
//   - When the user wants to "Go To Shopping Cart" they  //
//     are directed to scart.htm.  				    //
//									    //
////////////////////////////////////////////////////////////

// ****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 notes = new Array(); // Notes - field not submitted

// **Object constructor to build the catalog array.**
// **Catalog entries are in an array on each page.**

function loadCatalog(num,iNum,iName) {
 catNo[num] = iNum;
 itemName[num] = iName;
 //itemDesc[num] = iDesc;
 //price[num] = cost;
 //notes[num] = info;
}

// **Function to write the content for each table row.**
// **This reads th array data and populates a table **
// **for catalog display.

function writeTableRow(i) {
 document.write('<tr><td align=center>'
  + catNo[i] 
  + '</td><td>' + itemName[i] 
  + '</a>&nbsp;&nbsp;&nbsp;<a href="javascript:addItem(' + i + ')"></a></td>');
}

// **Function to write the catalog display table to **
// **the current document.**

function writeTable() {
 document.write('<table border="1">'
  + '<tr><td align="center"><b>PIRA #</b>'
  + '</td><td><b> ITEM </b></td>');
 for (i=0; i < catNo.length; i++)
  writeTableRow(i);  
 document.write('</table>');
 document.write('<p><a href="javascript:addItem(' + 0 + ')"><b>Put item in cart</b></a>');
 document.write('<p><a href="protected/scart.htm"><b>Go To Shopping Cart</b></a>');
  //document.write('<form><input type="submit" value="put item in cart" onClick=""></form>');
 //showMe();
}

// ****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]")
 addCart = '' + a + '`' + itemName[num] + ' ' + '~' + '^'
 cookData += eval("addCart")
 setCookieData("Scart", cookData, expdate.toGMTString())
  //navigate("./scart.htm")
}

// ****End code section for updating the cookie.****


// ****Debugging function to display cookie contents.****

function showMe() {
 display = getCookieData("Scart");
 alert(display)
}



