var harvest_tracker = {

  create: function(name, value) {
    var date = new Date();
    date.setTime(date.getTime() + 2 * 7 * 24 * 60 * 60 * 1000); //two weeks
    var expires = "; expires=" + date.toGMTString();
    document.cookie = name + "=" + unescape(value) + expires + "; path=/; domain=.getharvest.com";
  },

  read: function(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
      var c = ca[i];
      while (c.charAt(0)== ' ') c = c.substring(1, c.length);
      if (c.indexOf(nameEQ) == 0)
        return c.substring(nameEQ.length, c.length);
    }
    return null;
  },

  create_unless_exists: function(name, value){
    if(null == harvest_tracker.read(name)){
      harvest_tracker.create(name, value);
    }
  },

  add_load_event: function(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
      window.onload = func;
    } else {
      window.onload = function() {
        if (oldonload) {
          oldonload();
        }
        func();
      };
    }
  }
};

harvest_tracker.add_load_event(
  function(){
    harvest_tracker.create_unless_exists('lnd', window.location.href);
    harvest_tracker.create_unless_exists('ref', document.referrer);
  }
);


