
// Top menus
//  Modified from javascript-array.com/scripts/jquery_simple_drop_down_menu

var timeout    = 500;
var closetimer = 0;
var topmenuItem = 0;

function topmenu_open()
{
  topmenu_canceltimer();
  topmenu_close();
  topmenuItem = $(this).find('ul').css('visibility', 'visible');
}

function topmenu_close()
{
  if (topmenuItem)
    topmenuItem.css('visibility', 'hidden');
}

function topmenu_timer()
{
  closetimer = window.setTimeout(topmenu_close, timeout);
}

function topmenu_canceltimer()
{
  if (closetimer)
  {
    window.clearTimeout(closetimer);
    closetimer = null;
  }
}

$(document).ready(function()
{
  $('#topmenu > li').bind('mouseover', topmenu_open)
  $('#topmenu > li').bind('mouseout',  topmenu_timer)
  
  // Set active menu.
  $("#topmenu > li > a:containsExact('" + activeMenu + "')").addClass('active');

});

document.onclick = topmenu_close;


// Extensions

// Contains exactly, instead of a subset.
//  Example: $("div:containsExact('john')").css({ color: "#F00" });
//  See api.jquery.com/contains-selector/, Gibran's comment.
$.expr[":"].containsExact = function(obj, index, meta, stack)
{
  return (obj.textContent || obj.innerText || $(obj).text() || "").toLowerCase() == meta[3].toLowerCase();
}

