function clientsize() {
    if (self.innerWidth)
    {
        frameWidth = self.innerWidth;
        frameHeight = self.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientWidth)
    {
        frameWidth = document.documentElement.clientWidth;
        frameHeight = document.documentElement.clientHeight;
    }
    else if (document.body)
    {
        frameWidth = document.body.clientWidth;
        frameHeight = document.body.clientHeight;
    }
    return frameWidth+frameHeight;
}


function sr() {
    return screen.width+
    screen.height+
    clientsize() +
    screen.availWidth+screen.availHeight+
    screen.colorDepth;
}



var dDate;
var uDate;
var iks1;
var iks2;

var iksdtimes = new Array();
var iksutimes = new Array();

function ascending(a,b){ return a-b; }

function iksd(e) {
    dDate   = new Date();
    if (uDate) {
        tDiff = dDate.getTime() - uDate.getTime();
        if (tDiff < 600) {
            iksutimes.push(tDiff);
        }
    }
    return true;
}


function iksu(e) {
    uDate = new Date();
    var tDiff = uDate.getTime() - dDate.getTime();
    iksdtimes.push(tDiff);
    return true;
}

function computeiks() {
    var avdtime = 0;
    iksdtimes.sort(ascending);
    iksdtimes.pop();  iksdtimes.pop(); // Throw away the outliers
    iksdtimes.shift(); iksdtimes.shift();

    var times = '';
    for (x in iksdtimes) {
        times += ' ' + iksdtimes[x];
        avdtime += iksdtimes[x];
    }
    avdtime = avdtime / iksdtimes.length;

    var avutime = 0;
    iksutimes.sort(ascending);
    iksutimes.pop();
    iksutimes.shift();
    times = '';
    for (x in iksutimes) {
        times += ' ' + iksutimes[x];
        avutime += iksutimes[x];
    }
    avutime  = avutime / iksutimes.length;

    iksdtimes = new Array();  //  For testing.
    iksutimes = new Array();  // For testing.
    uDate     = null;
    iks1.obj.value = Math.round(avdtime*10)/10;
    iks2.obj.value = Math.round(avutime*10)/10;
    return true;
}


function getObj(name)
{
  if ( document.getElementById )
  {
        this.obj = document.getElementById(name);
        this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
        this.obj = document.all[name];
        this.style = document.all[name].style;
  }
  else if (document.layers)
  {
        this.obj = document.layers[name];
        this.style = document.layers[name];
  }
}


function formsubmit() {
    computeiks();
    saveForm( document.getElementById('login') );
}


function inithandlers() {
    var uname = new getObj('uname');
    var pword = new getObj('pword');
    var login = new getObj('login');
    iks1      = new getObj('iksu');
    iks2      = new getObj('iksd');
    var isr   = new getObj('sr');
    uname.obj.onkeyup    = iksu;
    uname.obj.onkeydown  = iksd;
    pword.obj.onkeyup    = iksu;
    pword.obj.onkeydown  = iksd;
    login.obj.onsubmit   = formsubmit;
    uname.obj.onblur         = uDate=null;
    pword.obj.onblur         = uDate=null;
    isr.obj.value = sr();
}


