var DEBUG = false; var gCookieName = "silvaCartID"; var gCartID=getCookie(gCookieName); function doSearch() { if(document.forms[0].query.value == "" || document.forms[0].query.value == "type search string here") return; var vDB = "/silva/home.nsf"; var searchURL="http://" + location.host + vDB + "/SiteSearchView?SearchView&SearchFuzzy=TRUE&SearchWV=TRUE&SearchMax=150&query=" + document.forms[0].query.value; location.href = searchURL; } function cancelSubmit() { return false; } function submitOrder() { if(document.orderForm) { // do field validation here first... alert("Submiting secure order using Authorize.Net...") document.orderForm.submit(); } } function resetCart() { deleteCookie(gCookieName, "/", location.host); clearCart(1); //== clear cart without prompt } function clearCart(force) { //== if force=0, then ask for confirmation if(!force) force = confirm("Remove ALL items in your shopping cart?"); //== otherwise just do it if(force) { var newid = getNewID(); var today = new Date(); var expires = new Date(today.getTime() + 5 * 24 * 60 * 60 * 1000); //set the cookie to expire in 5 days... setCookie(gCookieName, newid, expires, "/", location.host); gCartID = newid; location.reload(true); } } function checkKey() { if(window.event.keyCode == 13) { window.event.returnValue = false; doSearch(); } } function getNewID() { var newid = Math.random().toString(); newid = newid.slice(2, 18); return newid; } function initCart() { if(DEBUG) window.status = "cookie before=" + document.cookie; var cartid = getCookie(gCookieName); if(cartid==null || cartid=="" || cartid=="XXXXXX") { var newid = getNewID(); var today = new Date(); var expires = new Date(today.getTime() + 5 * 24 * 60 * 60 * 1000); //set the cookie to expire in 5 days... var path = "/"; var domain = location.host; //alert(newid + ", " + expires + ", " + path + ", " + domain); setCookie(gCookieName, newid, expires, path, domain); gCartID = newid; } else { gCartID = cartid; } if(DEBUG) window.status = "cookie after=" + document.cookie; //== put the cartid cookie into the field on the form if(document.forms[0].cartid) { document.forms[0].cartid.value = gCartID; } if(document.cartForm) { if(document.cartForm.cartid) document.cartForm.cartid.value = gCartID; } } function addToCart(productNum, quantity) { //if(DEBUG) alert("Item " + productNum + " add to cart"); var vDB = "/silva/home.nsf"; var agentURL = vDB + "/addtocart?openagent&cartid=" + gCartID + "&prodnum=" + productNum + "&qty=" + quantity; if(DEBUG) alert("add to cart:" + agentURL); location.href = agentURL; return false; } function updateCart(flag) { //== if user clicked "Update Quantity", return back to the cart screen //== otherwise, it's "Check out", take them to the check out screen if(flag==0) document.cartForm.action.value = "0"; else document.cartForm.action.value = "1" document.cartForm.submit(); return false; } function removeItem(itemNumber) { var obj = eval("document.cartForm." + itemNumber); if(obj) obj.value = "0" updateCart(0); return false; } function parseCategory(str) { var category = str.substr(str.indexOf("=")+1); var reg = /\++/gi; return category.replace(reg, " "); } //====================================================================================== // name - name of the cookie // value - value of the cookie // [expires] - expiration date of the cookie (defaults to end of current session) // [path] - path for which the cookie is valid (defaults to path of calling document) // [domain] - domain for which the cookie is valid (defaults to domain of calling document) // [secure] - Boolean value indicating if the cookie transmission requires a secure transmission // * an argument defaults when it is assigned null as a placeholder // * a null placeholder is not required for trailing omitted arguments function setCookie(name, value, expires, path, domain, secure) { var curCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); document.cookie = curCookie; } // name - name of the desired cookie // * return string containing value of specified cookie or null if cookie does not exist function getCookie(name) { var dc = document.cookie; var prefix = name + "="; var begin = dc.indexOf("; " + prefix); if (begin == -1) { begin = dc.indexOf(prefix); if (begin != 0) return null; } else begin += 2; var end = document.cookie.indexOf(";", begin); if (end == -1) end = dc.length; return unescape(dc.substring(begin + prefix.length, end)); } // name - name of the cookie // [path] - path of the cookie (must be same as path used to create cookie) // [domain] - domain of the cookie (must be same as domain used to create cookie) // * path and domain default if assigned null or omitted if no explicit argument proceeds function deleteCookie(name, path, domain) { if (getCookie(name)) { document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT"; } } // date - any instance of the Date object // * hand all instances of the Date object to this function for "repairs" function fixDate(date) { var base = new Date(0); var skew = base.getTime(); if (skew > 0) date.setTime(date.getTime() - skew); }