// Copyright (c) 1996, 1997, 1998 O'Reilly & Associates. // The constructor function: creates a cookie object for the specified// document, with a specified name and optional attributes.function Cookie(document, name, hours, path, domain, secure){    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.function _Cookie_store() {    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.function _Cookie_load(){    // 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.function _Cookie_remove() {	//    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;}function _Cookie_printVisits () {    if (visitordata.visits == 1) {        document.write ("Hi and welcome to the site!");         visitordata.store();      } else {        document.write ("Your last visit was on" + visitordata.lastvisit) ;        visitordata.store();      }}function _Cookie_Login () {    document.write ("This doesn't work.") ;    /*if (bigjolt_login != "") {        document.write ("'" + bigjolt_login + "' logged in. ");       } else {        document.write ("This doesn't work.") ;      }*/}// Create a dummy Cookie object, so we can use the prototype object to make// the functions above into methods.new Cookie();//Cookie.prototype.store = _Cookie_store;Cookie.prototype.load = _Cookie_load;Cookie.prototype.remove = _Cookie_remove;// Create the IAR cookie. Expiry 3 weeksvar visitordata = new Cookie(document, "bigjoltCookie", 504);// Load cookiesvisitordata.load();// Keep track of how many times this user has visited the page:if (visitordata.visits == null) visitordata.visits = 0;visitordata.visits++;// transfer thisvisit to lastvisitvisitordata.lastvisit = visitordata.thisvisit ;// send the visits info to flash var readCookies = 	'visits=' + visitordata.visits + 							'&lastvisit=' + visitordata.lastvisit ; // Keep track of the last visit:var months = new makeArray ('Jan','Feb','March','April','May','June','Jul','Aug','Sep','Oct','Nov','Dec');var days = new makeArray0('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');var today = new Date();var hour   = today.getHours();var minute   = today.getMinutes();var day   = days[today.getDay()];var date  = today.getDate();var month = today.getMonth() + 1;var year  = y2k(today.getYear());if (hour > 12) {var am_pm = "pm" ; var hour = hour-12;} else { var am_pm = "am" ; }if ((minute >= 0) && (minute <= 9)) {var minute = "0" + minute ; }visitordata.thisvisit = ' ' + day + ' ' + date + ' ' + months[month] + ' ' + year + ' at ' + hour + ":" + minute + ' ' + am_pm;// Store the cookie values, even if they were already stored, so that the // expiration date will be reset to 10 days from this most recent visit.// Also, store them again to save the updated visits state variable.visitordata.store();