function clock_timer()
{
  var z = new Date();
  var d = z.getDate();
  var m = z.getMonth();
  var y = z.getFullYear();
  var s = "";
  var r = "";
  var months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
 // var months = new Array("Jan", "Feb", "Marh", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec");

  switch (d % 10)
  {
      case 1:
      if (11 != d) r = 'st'; else r = 'th';
      break;

      case 2:
      if (12 != d) r = 'nd'; else r = 'th';
      break;

      case 3:
      if (13 != d) r = 'rd'; else r = 'th';
      break;

      default:
      r = 'th'

  }
  s = d  + " " + months[m] + ", " + y + ' | ' + (z.getHours() > 12 ? z.getHours() - 12 : z.getHours()) + ':' + (z.getMinutes() < 10 ? '0' + z.getMinutes() : z.getMinutes()) + " " + (z.getHours() > 12 ? 'PM' : 'AM');
  document.getElementById('current_time').innerHTML = s;

  window.setTimeout('clock_timer()', 10000);
}

/*************************************************************************************************/

function get_offset_left(elt)
{
  if (null == elt) return 0;

  var result = 0;
  while (elt != document)
  {
    if (('TBODY' != elt.tagName) && ('TR' != elt.tagName)) result += elt.offsetLeft;
    elt = elt.parentNode;
  }

  return result;
}

function get_offset_top(elt)
{
  if (null == elt) return 0;

  var result = 0;
  while (elt != document)
  {
    if (('TBODY' != elt.tagName) && ('TR' != elt.tagName)) result += elt.offsetTop;
    elt = elt.parentNode;
  }

  return result;
}

/*************************************************************************************************/

var menu_stack = new Array(); /* stores ids of popups */
var timeout_stack = new Array();
var timeout_pointer = 0;
var temp_timeout_pointer = 0;
var timeout_max = 7;

function init_menus()
{
  window.setInterval(timeout_tick, 100);
}

function stack_flush(level)
{
  if (0 > level) return;

  while (menu_stack.length > level)
  {
    var id = menu_stack.pop();
    hide_menu(id);
  }
}

function stack_push(id)
{
  menu_stack.push(id);
}

function stack_pop()
{
  if (0 == menu_stack.length) return;
  var id = menu_stack.pop();
  hide_menu(id);
}

function show_menu(id)
{
  var div = document.getElementById(id);
  if (!div) return;

  if (0 == div.className.indexOf('popup'))
  {
      var rel = id.search('popup') ? 1: 0;
      stack_flush(rel);
  }
  stack_push(div.id);
  div.style.display = 'block';
}


function hide_menu(id)
{
  var div = document.getElementById(id);
  if (!div) return;
  div.style.display = 'none';
}

function set_timeout()
{
  if (temp_timeout_pointer)
  {
    timeout_pointer = temp_timeout_pointer;
    temp_timeout_pointer = 0;
  }

  timeout_pointer++;
  timeout_stack[timeout_pointer] = timeout_max;
}

function reset_timeout()
{
  temp_timeout_pointer = timeout_pointer;
  timeout_pointer = 0;
}

function timeout_tick()
{
  if (!timeout_pointer) return;
  timeout_stack[timeout_pointer] = timeout_stack[timeout_pointer] - 1;
  if (0 == timeout_stack[timeout_pointer])
  {
    stack_pop();
    timeout_pointer--;
  }
}

