\n");
WriteCartTable(targetWindow,true); // write out the shopping cart table & include the update-qty stuff
doc.write(" \n");
doc.write("
\n");
// doc.write('
\n");
doc.write("\n");
doc.write("\n"); // Had to bust up cause netobjects import was messing up
doc.close();
} // end function showcart()
/*
-------------------------------------------------------------------------------------------------------------------
WriteCartTable(targetWindow);
- writes a table containing the shopping cart out to targetWindow
-------------------------------------------------------------------------------------------------------------------
*/
function WriteCartTable(targetWindow,includeQtyUpdate)
{
var doc = targetWindow.document; // overwrite this document for now as a test
var lineCost;
var digMatch; // local var, used to test for inclusion of digital file in order
if(includeQtyUpdate==null){
includeQtyUpdate=false;
}
IncludesDigitalFile=false; // reset and re-assessed each time just in case cart is modified to add/delete
IncludesPrint=false; // reset and re-assessed each time just in case cart is modified to add/delete
IncludesLisaFiles=false;
IncludesNonLisaFiles=false;
doc.write("
\n");
doc.write("
\n");
doc.write("YOUR SHOPPING CART \n");
doc.write("Large order discounts will be automatically added \n");
doc.write("10% break at $50, 15% break at $100, 20% break at $200
\n");
doc.write("
\n");
doc.write("\n");
doc.write("
\n");
doc.write("
\n
Item or image name
\n");
doc.write("
Image Date/time Event ID
\n");
doc.write("
Unit Price
\n");
doc.write("
Size
\n");
doc.write("
Qty
\n");
doc.write("
Line Total
\n");
doc.write("
Remove Item
\n");
doc.write("
Thumbnail - click image to view full-size
\n");
doc.write("
\n");
// Write out a line in the table for each item in the shopping cart
Subtotal = 0;
DiscountedSubtotal=0;
DontChargeShipping=true;
// doc.write("\n");
//------ Write subtotal, tax, and total to visible table
doc.write("
\n");
}
TaxTotal = (TaxRate*DiscountedSubtotal);
ShippingTotal=ShippingRate;
if((DontChargeShipping==true) || (DiscountedSubtotal == 0) || (IncludesDigitalFile & !IncludesPrint & !ShipDigitalFiles)){
ShippingTotal=0;
} else {
if(IncludesLisaFiles && !IncludesNonLisaFiles){
ShippingTotal=ShippingRateLB2; // for orders with only Lisa Bradley files
}
}
GrandTotal = DiscountedSubtotal+TaxTotal+ShippingTotal;
doc.write("
Sales tax (6.25%) is:
"
+ TaxTotal.toFixed(2) + "
\n")
doc.write("
Packaging and mailing:
"
+ ShippingTotal.toFixed(2) + "
\n")
doc.write("
\n
Total (shipping included):
\n
"
+ GrandTotal.toFixed(2) + "
\n")
return;
}
// aFavoriteURL FavCount
function ClearCart(targetWindow) {
if(confirm("Delete everything in the shopping cart")){
aDescriptor_1.length=0; aDescriptor_2.length=0; aDescriptor_3.length=0;
aOption_1.length=0; aOption_2.length=0; aOption_3.length=0;
aQuantity.length=0;
aQtyUpdate.length=0;
aPriceStructRef.length=0;
aSpecialInstructions.length=0;
aFullThumbnailURL.length=0;
aFullImageURL.length=0;
}
LineItems = 0;
IncludesDigitalFile=false; // used to decide whether or not to add shipping to grand total
IncludesPrint=false; // used to decide whether or not to add shipping to grand total
ShowCart(targetWindow); // re-display the updated cart
return;
}
/*
-------------------------------------------------------------------------------------------------------------------
Cookie stuff, copied from O'Reilly Javascript book
-------------------------------------------------------------------------------------------------------------------
*/
function Cookie(document, name, hours, path, domain, secure)
{
// All the predefined properties of this object begin with '$'
// to distinguish them from other properties which are the values to
// be stored in the cookie.
this.$document = document;
this.$name = name;
if (hours)
this.$expiration = new Date((new Date()).getTime() + hours*3600000);
else this.$expiration = null;
if (path) this.$path = path; else this.$path = null;
if (domain) this.$domain = domain; else this.$domain = null;
if (secure) this.$secure = true; else this.$secure = false;
}
// This function is the store() method of the Cookie object.
Cookie.prototype.store = function () {
// First, loop through the properties of the Cookie object and
// put together the value of the cookie. Since cookies use the
// equals sign and semicolons as separators, we'll use colons
// and ampersands for the individual state variables we store
// within a single cookie value. Note that we escape the value
// of each state variable, in case it contains punctuation or other
// illegal characters.
var cookieval = "";
for(var prop in this) {
// Ignore properties with names that begin with '$' and also methods.
if ((prop.charAt(0) == '$') || ((typeof this[prop]) == 'function'))
continue;
if (cookieval != "") cookieval += '&';
cookieval += prop + ':' + escape(this[prop]);
}
// Now that we have the value of the cookie, put together the
// complete cookie string, which includes the name and the various
// attributes specified when the Cookie object was created.
var cookie = this.$name + '=' + cookieval;
if (this.$expiration)
cookie += '; expires=' + this.$expiration.toGMTString();
if (this.$path) cookie += '; path=' + this.$path;
if (this.$domain) cookie += '; domain=' + this.$domain;
if (this.$secure) cookie += '; secure';
// Now store the cookie by setting the magic Document.cookie property.
this.$document.cookie = cookie;
}
// This function is the load() method of the Cookie object.
Cookie.prototype.load = function() {
// First, get a list of all cookies that pertain to this document.
// We do this by reading the magic Document.cookie property.
var allcookies = this.$document.cookie;
if (allcookies == "") return false;
// Now extract just the named cookie from that list.
var start = allcookies.indexOf(this.$name + '=');
if (start == -1) return false; // Cookie not defined for this page.
start += this.$name.length + 1; // Skip name and equals sign.
var end = allcookies.indexOf(';', start);
if (end == -1) end = allcookies.length;
var cookieval = allcookies.substring(start, end);
// Now that we've extracted the value of the named cookie, we've
// got to break that value down into individual state variable
// names and values. The name/value pairs are separated from each
// other by ampersands, and the individual names and values are
// separated from each other by colons. We use the split method
// to parse everything.
var a = cookieval.split('&'); // Break it into array of name/value pairs.
for(var i=0; i < a.length; i++) // Break each pair into an array.
a[i] = a[i].split(':');
// Now that we've parsed the cookie value, set all the names and values
// of the state variables in this Cookie object. Note that we unescape()
// the property value, because we called escape() when we stored it.
for(var i = 0; i < a.length; i++) {
this[a[i][0]] = unescape(a[i][1]);
}
// We're done, so return the success code.
return true;
}
// This function is the remove() method of the Cookie object.
Cookie.prototype.remove = function() {
var cookie;
cookie = this.$name + '=';
if (this.$path) cookie += '; path=' + this.$path;
if (this.$domain) cookie += '; domain=' + this.$domain;
cookie += '; expires=Fri, 02-Jan-1970 00:00:00 GMT';
this.$document.cookie = cookie;
}
/*
-------------------------------------------------------------------------------------------------------------------
Your Favorites dev code
-------------------------------------------------------------------------------------------------------------------
*/
function userLogIn(userID) {
top.footer.UserLogonName=userID;
top.main.header.location = '/html/header.html'; // Force reload to display "Logged in as ..."
}
function userLogOut() {
top.footer.UserLogonName='';
top.main.header.location = '/html/header.html'; // Force reload to un-display "Logged in as ..."
}
function Add2Fav(iURL) {
var rtnURL=document.url;
alert("Adding " + iURL + " to Favorites array");
aFavoriteURL[top.footer.FavCount]=iURL;
top.footer.FavCount++;
location="/php/add2Fav.php?favURL="+rtnURL; // call the PHP page that adds-2-fav and re-displays this same page
return;
}
function ShowFavs(targetWindow)
{
var doc = targetWindow.document; // overwrite this document for now as a test
doc.clear();
doc.write("\n\n"); // Had to bust up cause netobjects import was messing up
doc.write("\n");
doc.write("\n");
for(i=0;i");
}
doc.write("\n");
doc.close();
} // end show favorites()
// -->