hovering_user = null;
hovering_element = null;
hover_timeout = null;
links = [];

function users_init() {
  return;
  if (user != 'paul' && user != 'max') return;
  var users = document.getElementsByClassName('username');
  for (var n = 0; n< users.length; n++) try {
    try {
      users[n].addEventListener('mouseover', user_over, true);
      users[n].addEventListener('mouseout', user_out, true);
    } catch (e) {}
    try {
      users[n].attachEvent('onmouseover', user_over);
      users[n].attachEvent('onmouseout', user_out);
    } catch (e) {}
  }
  catch (e) {}
}

function users_update() {
  return;
  var users = document.getElementsByClassName('username');
  for (var n = 0; n< users.length; n++) try {
    try {
      users[n].removeEventListener('mouseover', user_over, true);
      users[n].removeEventListener('mouseout', user_out, true);
      users[n].addEventListener('mouseover', user_over, true);
      users[n].addEventListener('mouseout', user_out, true);
    } catch (e) {}
    /*try {
      users[n].attachEvent('onmouseover', user_over);
      users[n].attachEvent('onmouseout', user_out);
    } catch (e) {}*/
  }
  catch (e) {}
}

function user_links(link) {
  links.push(link);
}

function user_over(evt) {
  hovering_user = this.innerHTML.match(/^[a-z0-9]+/)[0];
  hovering_element = this;
  hover_timeout = setTimeout(user_dropdown, 500);
}

function user_out(evt) {
  clearTimeout(hover_timeout);
}

function user_dropdown() {
  var width = hovering_element.scrollWidth + 20;
  var height = hovering_element.scrollHeight + 2;
  var position = Position.cumulativeOffset(hovering_element);
  var left = position[0];
  var top = position[1];
  //alert(height + 'x' + width + ', ' + top + 'x' + left);
  var div = document.createElement('div');
  try {
    div.addEventListener('mouseout', user_clear_dropdown, false);
    div.addEventListener('mouseover', user_unclear_dropdown, false);
  } catch (e) {}
  try {
    div.attachEvent('onmouseout', user_clear_dropdown);
    div.attachEvent('onmouseover', user_unclear_dropdown);
  } catch (e) {}
  div.className = 'username_hover';
  div.style.left = left + 'px';
  div.style.top = top + 'px';
  div.style.width = width + 'px';
  div.style.height = height + 'px';
  var button = document.createElement('div');
  button.className = 'username_button';
  button.addEventListener('mouseover', user_dropdown_options, false);
  button.innerHTML = 'v';
  div.appendChild(button);
  document.body.appendChild(div);
  function user_dropdown_options(evt) {
    this.removeEventListener('mouseover', user_dropdown_options, false);
    this.className = 'username_button hover';
    this.style.height = this.scrollHeight + 'px';
    var container = this.parentNode;
    var list = document.createElement('ul');
    list.className = 'username_action_list';
    for (var n = 0; n < links.length; n++) {
      var row = document.createElement('li');
      var link = document.createElement('a');
      link.href = links[n].url;
      link.innerHTML = links[n].title;
      row.appendChild(link);
      list.appendChild(row);
    }
    container.appendChild(list);
    container.style.height = 'auto';
    container.style.width = Math.max(60, parseInt(container.scrollWidth)) + 'px';
  }
  function user_clear_dropdown(evt) {
    this.user_clear_dropdown_timeout = setTimeout(function() {document.body.removeChild(div);}, 1000);
  }
  function user_unclear_dropdown(evt) {
    try {clearTimeout(this.user_clear_dropdown_timeout);} catch (e) {}
  }
}