    
    function setCookie(name, value) {
      var host = document.location.host.toLowerCase().replace('www.','');
      var date = new Date();
      date.setTime(date.getTime()+(31*24*60*60*1000));
      var expires = '; expires='+date.toGMTString();
      var domain = 'domain=.'+host+';';
	  document.cookie = name+"="+escape(value)+expires+"; " + domain + " path=/";
	}
    
	function getCookie(cookieName) {
      var results = document.cookie.match('(^|;) ?' + cookieName + '=([^;]*)(;|$)');
      if (results) return unescape(results[2]);
      else return null;
    }
	
    function getQueryParam(param) {
      var index = location.search.indexOf(param + '=');
      if (index >= 0 && location.search.length >= param.length + 1) {
        var val = location.search.substring(index + param.length + 1);
        index = val.indexOf('&');
        return (index >= 0) ? val.substring(0, index) : val;
      }
      return null;
    }
    

    if (!getCookie('ref_url')) {
        var refUrl = document.referrer || 'NA';
        var refParam = getQueryParam('r');
        if (refParam) {
          refUrl = '[' + refParam + ']' + refUrl;
        }
        setCookie('ref_url', refUrl);
      }
