var caution = false 

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" : "") 
if (!caution || (name + "=" + escape(value)).length <= 4000) 
document.cookie = curCookie 
else 
if (confirm("Cookie exceeds 4KB and will be cut!")) 
document.cookie = curCookie 
} 

function getCookie(name) { 
  var prefix = name + "=" 
  var cookieStartIndex = document.cookie.indexOf(prefix) 
  if (cookieStartIndex == -1) 
  return null 
  var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + 
  prefix.length) 
  if (cookieEndIndex == -1) 
  cookieEndIndex = document.cookie.length 
  return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex)) 
} 

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" } 
} 

function fixDate(date) { 
  var base = new Date(0) 
  var skew = base.getTime() 
  if (skew > 0) 
  date.setTime(date.getTime() - skew) 
} 

function setDocCookie(id) {
  var ckname = "doc_" + id;

  if (!getCookie(ckname)) {

    var now = new Date();
    fixDate(now) ;
    now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);

    // Set Cookie with Doc ID and requested type
    setCookie(ckname, id, now, '/');

    // Swap Image
    document.getElementById("item_"+id).src = cart_added.src;

  // Delete it otherwise
  } else {
    deleteCookie(ckname, '/');

    // Swap Image
    document.getElementById("item_"+id).src = cart_add.src;
  }
}

function setMSCookie(email,rid) {
  var ckname = "ms_email";
  var idname = "im_id";
  var now = new Date();
  fixDate(now) ;
  now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
  setCookie(ckname, email, now, '/');
  setCookie(idname, rid, now, '/');
}

function deleteMSCookie() {
  var ckname = "ms_email";
  deleteCookie(ckname, '/');
}

function setSearchCookie(ckname,ckval) {
  var now = new Date();
  fixDate(now) ;
  now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
  setCookie(ckname, ckval, now, '/');
}

function setDocCookieChkOut(id,chk) {
  var ckname = "doc_" + id;
  if (chk) {
    var now = new Date();
    fixDate(now) ;
    now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);

    // Set Cookie with Doc ID and requested type
    setCookie(ckname, id, now, '/');

  // Delete it otherwise
  } else {
    deleteCookie(ckname, '/');
  }
}

function nukeDocCookie(id) { 
  if (document.cookie != "") {
    var cookieInfo, cookieData;
    cookieInfo = document.cookie.split("; ");
    for (counter=0; counter<cookieInfo.length; counter++) {

      // Get the cookie name
      cookieName = cookieInfo[counter].split("=")[0];

      // Check if it is a document cookie and expire if so
      if (cookieName.indexOf("doc_"+id)!=-1) {
	deleteCookie(cookieName, '/');
      }
    }
  }
} 

function nukeDocCookies() { 
  if (document.cookie != "") {
    var cookieInfo, cookieData;
    cookieInfo = document.cookie.split("; ");
    for (counter=0; counter<cookieInfo.length; counter++) {

      // Get the cookie name
      cookieName = cookieInfo[counter].split("=")[0];

      // Check if it is a document cookie and expire if so
      if (cookieName.indexOf("doc_")!=-1) {
	deleteCookie(cookieName, '/');
      }
    }
  }
} 

function setDocHist(email) {
  var now = new Date();
  fixDate(now) ;
  now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
  setCookie('dochist', email, now, '/');
}

function unsetDocHist() {
  deleteCookie('dochist', '/');
}

function setPSLID(id) {
  if (id != 0) {
    var now = new Date();
    fixDate(now) ;
    now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
    setCookie('impsl', id, now, '/');
  }
}

function setPSLVID(id) {
  var now = new Date();
  fixDate(now) ;
  now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
  setCookie('impslvid', id, now, '/');
}

function setSubscriberCookie(cid,id) {
  var now = new Date();
  fixDate(now) ;
  now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
  setCookie('imsub_'+cid, id, now, '/');
}

function setSurveyResponseCookie(svid, srid) {
  var now = new Date();
  fixDate(now);
  now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
  setCookie('svy_'+svid, srid, now, '/');
}


