function setc(name, value, expires, path, domain, secure) {
  var today = new Date();
  today.setTime(today.getTime());

  if (expires) {
    expires = expires * 1000 * 60 * 60 * 24;
  }
  var expires_date = new Date(today.getTime() + (expires));

  document.cookie = name + "=" +escape(value) +
    ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
    ( ( path ) ? ";path=" + path : "" ) +
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ( ( secure ) ? ";secure" : "" );
}

function getc(c_name) {
  var i,x,y,ARRcookies=document.cookie.split(";");
  for (i=0;i<ARRcookies.length;i++)
  {
    x = ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
    y = ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
    x = x.replace(/^\s+|\s+$/g,"");
    if (x == c_name) {
      return unescape(y);
    }
  }
}

function eimg(u, r, a) {
  var img = document.createElement('img');
  img.setAttribute('src', 'http://www.ranking-metrics.fr/enr.cgi?u=' + escape(u) + '&r=' + escape(r) + '&a=' + escape(a));
}

function gd(url) {
  return url.match(/:\/\/(.[^/]+)/)[1];
}

function afft(code) {
  var Chars = code.split('');

  if (Chars.length <= 0)
    return;

  if (Chars[0] != 't')
    return;

  // ---
  var allElements = document.getElementsByTagName('div');
  var results = [];
  var element;
  for (var i = 0; (element = allElements[i]) != null; i++) {
    var elementClass = element.className;
    if (elementClass && elementClass == 'tabberlive') {
        results.push(element);
    }
  }
  // ---

  for (i=0; i < results.length; i++) {
    try {
      results[i].tabber.tabShow(Chars[i+1]-1);
    } catch(err) {}
  }
}

function gup(name) {
  var url = window.location.href;
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var results = new RegExp("[\\?&]"+name+"=([^&#]*)").exec(url);
  if (results == null)
    return null;
  else
    return decodeURIComponent(results[1].replace(/\+/g," ")); // decodeURIComponent doesn't recognize + as encoding for space
}

function cgh() {
  var Varstr = '';
  var Re;
  var Referrer = document.referrer;

  if (Referrer.indexOf('ranking-metrics.fr') > -1) {
    return;
  }

  var Gclid = gup('gclid');

  var Match = new Array();
  Re = /^(.+)#(.+)$/;

  if (typeof(cgh_url) != 'undefined' && cgh_url) {
    Match = Re.exec(cgh_url);
  } else {
    Match = Re.exec(location.href);
  }

  if (Gclid != null) {
    Varstr = 'utm_source=google&utm_medium=cpc';

  } else if (Match) {
    var Url     = Match[1];
    var Anchor  = Match[2];

    var Liste = new Array();

    var Variables = Anchor.split('&');
    for (i=0; i < Variables.length; i++) {
      var Ope = Variables[i].split('=');
      if (Ope.length != 2) {
        continue;
      }

      if (Ope[0] == 'anchor') {
        if (document.getElementsByName(Ope[1]).length > 0) {
          window.location = String(window.location).replace(/\#.*$/, '') + '#' + Ope[1];
        } else {
          var oldOnLoad = window.onload;
          if (typeof window.onload != 'function') {
            window.onload = function() {
              afft(Ope[1]);
            };
          } else {
            window.onload = function() {
              oldOnLoad();
              afft(Ope[1]);
            };
          }
        }
      } else {
        Liste.push(Ope[0] + '=' + Ope[1]);
      }
    }
    Varstr = Liste.join('&');

    eimg(Url, Referrer, Anchor);

  } else if (Referrer) {
    var Nddref = gd(Referrer);
    Varstr = 'utm_source=' + Nddref;
    if (Nddref.indexOf('google') > -1) {
      Varstr += '&utm_medium=organic';

      var results = new RegExp("q=([^&#]*)").exec(Referrer);
      if (results != null)
        Varstr += '&utm_term=' . results[1];

    } else {
      Varstr += '&utm_medium=referral&utm_content=' + escape(Referrer);
    }

  } else if (!getc('directtem')) {
    Varstr = 'utm_source=direct';
    Re = /([^\.]+\.[^\.]+)$/;
    Match = Re.exec(window.location.hostname);
    var Domaine = '.' + Match[1];
    setc('directtem', 1, 1, '/', Domaine, '');
  }

  if (Varstr == '')
    return;

  Re = /([^\.]+\.[^\.]+)$/;
  Match = Re.exec(window.location.hostname);
  var Domaine = '.' + Match[1];
  var ts = Math.round((new Date()).getTime() / 1000);

  setc('varts_' + ts, Varstr, 365, '/', Domaine, '');
}

cgh();

