function $()
{
    var elements = new Array();
    for (var i = 0; i < arguments.length; i++)
    {
        var element = arguments[i];
        if (typeof element == 'string')
            element = document.getElementById(element);
        if (arguments.length == 1)
            return element;
        elements.push(element);
    }
    return elements;
}

var nt = new Array();

function showSubMenu(id)
{
  /* to not trigger errors, check element not found
   * exception
   */
  try
  {
    clearTimeout(nt[id]);
    div = document.getElementById(id).style;
    div.display = "block";
  }
  catch ( exception )
  {
    return false; 
  }
}

function hideSubMenu(id)
{
  nt[id] = setTimeout("hSubMenu(\""+id+"\")", 500);
}

function hSubMenu(id)
{
  try
  {
    div = document.getElementById(id).style;
    div.display = "none";
  }
  catch ( exception )
  {
    return false;
  }
}

function toggleSubMenu(id)
{
  try
  {
    div = document.getElementById(id).style;
    if ( div.display == "none" )
    {
      div.display = "block";
      return true;
    }
    div.display = "none";
  }
  catch ( exception )
  {
    return false;
  }
}

function update_user_edit_form()
{
  var form = $('usernameForm');
  form.submit();
}

function check_email(emailelem)
{
  var email = emailelem.value;
  if ( window.RegExp )
  {
    re = new RegExp("^[^@]+@[^.]+\\..+$");
    if ( !re.test(email) )
    {
      emailelem.style.border = '1px solid red';
      document.getElementById('email_err').innerHTML = '!!!!';
    }
    else
    {
      emailelem.style.border = '1px solid #a9a9a9';
      document.getElementById('email_err').innerHTML = '';
    }
  }
}

function check_password(passwelem)
{
  var pass = passwelem.value;
  if ( pass == '' )
  {
    passwelem.style.border = '1px solid red';
    document.getElementById('passw_err').innerHTML = '!!!!';
  }
  else
  {
    passwelem.style.border = '1px solid #a9a9a9';
    document.getElementById('passw_err').innerHTML = '';
  }
}
