if (!f_offsetTop) {
function f_offsetTop(el) {
  y = el.offsetTop
  for (e = el.offsetParent; e; e = e.offsetParent)
    y += e.offsetTop;
  return y
}
}

if (!f_offsetLeft) {
function f_offsetLeft(el) {
  x = el.offsetLeft
  for (e = el.offsetParent; e; e = e.offsetParent)
    x += e.offsetLeft;
  return x
}
}

var stoppedUpdater = new Array();

function stopUpdater(Updater) {
  Updater.stop();
  stoppedUpdater.push(Updater);
}

function restartUpdater() {
  for (i=0; i<stoppedUpdater.length; i++) {
    stoppedUpdater[i].start();
  }
}

var objIDsAjaxUpdater = new Array();

function ajaxLoading(ciID) {
  for (i=0; i<objIDsAjaxUpdater.length; i++) {
    if (objIDsAjaxUpdater[i] == ciID) {
      return false;
    }
  }
  objIDsAjaxUpdater.push(ciID);
  ci = document.getElementById(ciID);
  if (ci) {
    ci.innerHTML += '<table id="ti_'+ciID+'" border=0 cellspacing=0 cellpadding=0 style="background: #fff3e8; text-align: center; position:absolute"><tr><td id="li_'+ciID+'" valign=middle></td></tr></table>';
    li = document.getElementById('ti_'+ciID);
    li.style.top = f_offsetTop(ci);
    li.style.left = f_offsetLeft(ci);
    li.style.height = ci.offsetHeight;
    li.style.width = ci.offsetWidth;
    window.setTimeout("ajaxUpdater('"+ciID+"', 0)", 1);
  }
  return true;
}

function ajaxEndloading(ciID) {
  for (i=0; i<objIDsAjaxUpdater.length; i++) {
    if (objIDsAjaxUpdater[i] == ciID) {
      objIDsAjaxUpdater.splice(i, 1);
      return true;
    }
  }
  return false;
}

function ajaxUpdater(ciID, count) {
  var is_running = false;
  for (i=0; i<objIDsAjaxUpdater.length; i++) {
    if (objIDsAjaxUpdater[i] == ciID) {
      is_running = true;
      break;
    }
  }
  if (!is_running) { return false; }
  count = (count%18)+1;
  document.getElementById('li_'+ciID).innerHTML = '<img src="/img/ajax_loading/li_'+((count < 10) ? '0' : '')+count+'.gif" border=0 style="margin: 10px" align=absmiddle>';
  window.setTimeout("ajaxUpdater('"+ciID+"', "+count+")", 56);
}

function openUserContext(Ereignis, u_id, nick) {
  if (!Ereignis)
    var Ereignis = window.event;
//  alert((Ereignis.clientX+document.body.scrollLeft)+':'+(Ereignis.clientY+document.body.scrollTop));
  var Div = document.createElement('div');
  var innerDiv = document.createElement('div');
  var attr = document.createAttribute('id');
  attr.nodeValue = 'usercontext'+u_id;
  innerDiv.setAttributeNode(attr);
  Div.appendChild(innerDiv);
  createExtraTBL(nick, Div.childNodes, { width: 101, posX: Ereignis.clientX+document.body.scrollLeft, posY: Ereignis.clientY+document.body.scrollTop });
  var u = new Ajax.Updater
  ( 'usercontext'+u_id
  , '/en/ajax/userdetails/u_id='+u_id
  , { method: 'get'
    , requestHeaders: { 'If-Modified-Since': new Date(0) }
    }
  );
  return false;
}

pu_whoisonline = new Ajax.PeriodicalUpdater('whoisonline', '/en/ajax/whoisonline',
  { method: 'get'
  , frequency: 30
  , decay: 1.1
  , requestHeaders: { 'If-Modified-Since': new Date(0) }
  , onCreate: function(transport) {
      ajaxLoading('whoisonline');
    }
  , onSuccess: function(transport) {
      ajaxEndloading('whoisonline');
    }
});
