// ****Note: Roy; 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 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,info) { 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 the array data and populates a table ** // **for catalog display. function writeTableRow(i) { document.write('' + itemName[i] + '' + '' + itemDesc[i] + '' + price[i] + '' + '' + '' + '' + '' + notes[i] + ''); } // **Function to write the catalog display table to ** // **the current document.** function writeTable() { document.write('
' + '' + ''); for (i=0; i < catNo.length; i++) writeTableRow(i); document.write('
ITEMDESCRIPTIONPRICEQTYORDER' + 'NOTES
'); } // ****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 " + a + " To Your Shopping Cart?")) { addCart = '' + a + '`' + ordQty[num] + '*' + itemName[num] + ' ' + itemDesc[num] + '~' + price[num] + '^' cookData += eval("addCart") setCookieData("Scart", cookData, expdate.toGMTString()) } } // ****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) }