var EI = window.EI || {}

if (typeof EI.Cookie != 'undefined') {

  // Site Visitor Information
  //
  // Author:  Andrew Waer
  // Date:    July 2009
  // 

  // Referrer class
  // 
  // Encapsulates referrer information
  // 
  EI.Referrer = function() {
    var _referrer = document.referrer;

    this.hostname = function() {
      return _referrer.replace(/(http:\/\/|www\.|\/.*$)/g,'');
    }
    this.toString = function() {
      return _referrer;
    }
  }

  // ReferrerMadness (get it?) core javascript
  // 
  // Requires: Prototype.js, EI.Cookie
  // 
  // This namespace is for managing cookie storage of referrer information
  // 
  EI.ReferrerMadness = function() {
    var _cookie        = new EI.Cookie('_ei_referrer');
    var _referrer      = new EI.Referrer;
    var _last_referrer = _cookie['referrer'] || '';
    var _hostname      = document.location.hostname.replace('www.','');

    function isNewReferrer() {
      if (_referrer.hostname().blank() || _referrer.hostname() == _hostname)
        return false;
      return (_last_referrer != _referrer);
    }

    function storeNewReferrer() {
      _cookie['referrer'] = _referrer;
      _cookie.store(999,'/');
    }

    function initialize() {
      if (isNewReferrer()) {
        storeNewReferrer();
      }
    }
    document.observe('dom:loaded', initialize);
  }(); 

}