function parseQueryString (str) {
  str = str ? str : location.search;
  var query = str.charAt(0) == '?' ? str.substring(1) : str;
  var args = new Object();
  if (query) {
    var fields = query.split('&');
    for (var f = 0; f < fields.length; f++) {
      var field = fields[f].split('=');
      args[unescape(field[0].replace(/\+/g, ' '))] = unescape(field[1].replace(/\+/g, ' '));
    }
  }
  return args;
}

function getstats(domain,page){

//
// base url
//
var url = 'http://stats.iwg.nl/istats.php';

//
// get statistics
//
var screencolors = screen.colorDepth;
var screenwidth  = screen.width;
var screenheight = screen.height;
var windowwidth  = window.screen.availWidth;
var windowheight = window.screen.availHeight;

var browsername     = navigator.appName;
var browserversion  = navigator.appVersion;
var browsercodename = navigator.appCodeName;
var browserplatform = navigator.platform;
var browserjava     = (navigator.javaEnabled()?1:0);
var browserdate     = new Date();
var browsertime     = yearfix(browserdate.getYear());
    browsertime    += leadingzero(browserdate.getMonth()+1);
    browsertime    += leadingzero(browserdate.getDate());
    browsertime    += leadingzero(browserdate.getHours());
    browsertime    += leadingzero(browserdate.getMinutes());
    browsertime    += leadingzero(browserdate.getSeconds());
var browsertimezone = browserdate.getTimezoneOffset();
var pagereferrer    = document.referrer;
var randomvalue     = parseInt(2000000000*Math.random());
var ident           = Get_Cookie('msession');
var sessionident    = Get_Cookie('vsession');
var browsercookies  = 1;

var args            = parseQueryString ();

if ((args["ref"] != null)) {
  pagereferrer = args["ref"];
}

if (ident == null) {
  ident = browsertime;
  ident += '-';
  ident += parseInt(2000000000*Math.random());
  if (args["vsession"] != null) {
    ident = args["vsession"];
  }
  SimpleSet_Cookie('msession', ident);
  if (Get_Cookie('msession') != ident) { 
//    ident += 'nocookies'; 
  }
} else SimpleSet_Cookie('msession', ident);

if (sessionident == null) {

  if (args["vsession"] != null) {
    sessionident = args["vsession"];
  } else {
    sessionident = browsertime;
    sessionident += '-';
    sessionident += parseInt(2000000000*Math.random());
  }

  SimpleSet_NPCookie('vsession', sessionident);
  if (Get_Cookie('vsession') != sessionident) { 

    browsercookies = 0;

    for (var i=0; i<document.links.length; i++) {
      if ((document.links[i].href.indexOf('mailto:') == -1)) {  

        if (browserversion.indexOf('MSIE') > -1) {
          var ih = document.links[i].innerHTML;
        }

        if (document.links[i].href.indexOf('?') > -1)  {  
          document.links[i].href += '&';
        } else {
          document.links[i].href += '?';
        }
        document.links[i].href += 'vsession=' + escape(sessionident);

        if (browserversion.indexOf('MSIE') > -1) {
          if (ih != document.links[i].innerHTML) { document.links[i].innerHTML = ih; }
        }
      }
    }

//    sessionident += 'nocookies'; 

  }
}


//
// compose url
//
url = url + '?sc='+screencolors;
url = url + '&sw='+screenwidth;
url = url + '&sh='+screenheight;
url = url + '&ww='+windowwidth;
url = url + '&wh='+windowheight;
url = url + '&bn='+escape(browsername);
url = url + '&bv='+escape(browserversion);
url = url + '&bc='+escape(browsercodename);
url = url + '&bp='+escape(browserplatform);
url = url + '&bj='+browserjava;
url = url + '&bz='+browsertimezone;
url = url + '&bt='+escape(browsertime);
url = url + '&bk='+browsercookies;
url = url + '&pr='+escape(pagereferrer);
url = url + '&dn='+escape(domain);
url = url + '&dp='+escape(page);
url = url + '&ms='+escape(ident);
url = url + '&vs='+escape(sessionident);
url = url + '&random='+randomvalue;


mainVersion=navigator.appVersion.charAt(0);
if(mainVersion>3){
  ImageObject=new Image(1,1);
  ImageObject.src=url;
  return ''; 
} else {
  url = '<img src="' + url + '" width="1" height="1">';
  return url;
}

}

//
// output image url to browser
//

function logstats(domain,page){
  document.write(getstats(domain,page));
}


//
// Get cookie
//

function Get_Cookie(name) {
    var start = document.cookie.indexOf(name+"=");
    var len = start+name.length+1;
    if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
    if (start == -1) return null;
    var end = document.cookie.indexOf(";",len);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len,end));
}


//
// Set cookie
//
 
function Set_Cookie(name,value,expires,path,domain,secure) {
    document.cookie = name + "=" +escape(value) +
        ( (expires) ? ";expires=" + expires.toGMTString() : "") +
        ( (path) ? ";path=" + path : "") + 
        ( (domain) ? ";domain=" + domain : "") +
        ( (secure) ? ";secure" : "");
}

function SimpleSet_Cookie(name,value) {
    var today = new Date(); 
    var expires = new Date(today.getTime() + (56 * 86400000)); 
    Set_Cookie(name,value,expires,'/');
}

function SimpleSet_NPCookie(name,value) {
    Set_Cookie(name,value,0,'/');
}

function leadingzero(n){
  var rv=''+n;
  return(rv.length<2?'0'+rv:rv)
};

function yearfix(n){
  return(n>200?n:1900+n)
};

