var WebAudit = {
  WACID: null,
  WACIDName: "WACID",
  code: null,
  getCookie: 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;
  },
  setCookie: function(name,value,topDomain) {
    var date = new Date(2020,12,31,23,59,59);
    var expires = "; expires="+date.toGMTString();
    document.cookie = name+"="+value+expires+"; path=/; domain=" + topDomain;  
  },
  generateID: function(splitter) {
    var sp = (splitter) ? splitter : 'A';
    var now = new Date();
    return Date.parse(now.toGMTString()) + sp + Math.floor(Math.random()*1000000000);
  },
  getTopDomain: function(fullDomain) {
    var parts = fullDomain.split('.');
    return parts[(parts.length-2)] + '.' + parts[(parts.length-1)];
  },
  getDomain: function(url) {
    var parts = url.split('/');
    return parts[2];
  },
  init: function() {
    WebAudit.WACID = WebAudit.getCookie(WebAudit.WACIDName);
    if (WebAudit.WACID == null) {
      WebAudit.WACID = WebAudit.generateID('A');
      WebAudit.setCookie(WebAudit.WACIDName, WebAudit.WACID, WebAudit.getTopDomain(WebAudit.getDomain(document.URL)));
    }
    WebAudit.code  = "@c=" + WebAudit.WACID;
    WebAudit.code += screen ? "@s=" + screen.width+'x'+screen.height : "";
    WebAudit.code += document.URL ? "@u=" + document.URL : "@u=";
    WebAudit.code += document.referrer ? "@r=" + document.referrer : "@r=";
  },
  measure: function(id) {
    if (!WebAudit.code) WebAudit.init();
    var rnd = Math.floor(Math.random()*1000000);
    var img = document.createElement("img");
    img.style.position = "absolute";
    img.style.top = "-100px";
    img.style.left = "-100px";
    img.width = "1";
    img.height = "1";
    img.src = "http://audit.median.hu/cgi-bin/track.cgi?uc=" + id + "&dc=1&ui=" + rnd + WebAudit.code;
    document.body.appendChild(img);
  }
};
