

/******************************************************
* Javascript methods for remember username
******************************************************/
/*
  Method called when form is submitted to save
  username in cookie.
*/
function createRememberMeCookie(flag, username){

   var rememberMeVal = getCookie("rememberMe.passport.resClub");

   if(flag){

      // create an instance of the Date object
      var now = new Date();

      // fix the bug in Navigator 2.0, Macintosh
      fixDate(now);

      //cookie expires in two years
      now.setTime(now.getTime() + 2 * 365 * 24 * 60 * 60 * 1000);

      //create cookie if not present or reset expiration time
      setCookie("rememberMe.passport.resClub", username, now);

   }
   else{
      if(rememberMeVal){

         deleteCookie("rememberMe.passport.resClub");
      }
   }
}

/*
  Method called when page loads to populate username.
*/
function retrieveUsernameCookieValue(){
   var username = getCookie("rememberMe.passport.resClub");

   if(username)
      return username;
   else
      return "";
}


/******************************************************
* Javascript methods for remind me later
******************************************************/
/*
  Method called when form submitted to create remind
  me later cookie, which will expire in 24 hours.
*/
function remindMeLater(value){
   // create an instance of the Date object
   var now = new Date();

   // fix the bug in Navigator 2.0, Macintosh
   fixDate(now);

   //cookie expires in 24 hours
   now.setTime(now.getTime() + 24 * 60 * 60 * 1000);

   //create cookie if not present or reset expiration time
   setCookie("remindMeLater", value, now);
}

/*
  Method called when page loads to determine if user has
  already been prompted and has clicked "remind me later"
*/
function shouldIRemind(value){
   var remindMeLater = getCookie("remindMeLater");
   if(remindMeLater && remindMeLater == value)
      return false;
   else  //user has not yet been prompted
      return true;
}




/******************************************************
* Javascript borrowed from http://www.webreference.com
******************************************************/

/*
   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 EST";
  }
}

// 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);
}
