var timerArray = new Array();
var timerCount = 0;

function getIndex(elm) { 
  var nodes = elm.parentNode.childNodes, node; 
  var i = count = 0; 
  while( (node=nodes.item(i++)) && node!=elm ) 
  if( node.nodeType==1 ) count++; 
  return count;
}

function triggerWidget(triggerObj) {    
  $("div#NavigationWidget ul#Triggers li.TriggerSelected").removeClass("TriggerSelected");
  $("div#NavigationWidget div#WidgetItems div.WidgetOpen").removeClass("WidgetOpen");                                              
  $("div#NavigationWidget div#WidgetItems div:eq("+getIndex(triggerObj)+")").addClass("WidgetOpen");
  $(triggerObj).addClass("TriggerSelected");
}
  
function createWidgetTimer(triggerObj) {
  timerCount++;
  timerArray[timerCount]=setTimeout(function() {
    triggerWidget(triggerObj);
  }, 250);
}
  
function clearWidgetTimers() {
  for (i = 0; i < timerCount; i++) {
    clearTimeout(timerArray[timerCount]);
  }
  timerCount = 0;
}

$(document).ready(function() {
  $("div#NavigationWidget ul#Triggers li").click(function() {    
    triggerWidget(this);
  });
  $("div#NavigationWidget ul#Triggers li").mouseover(function() {
    $(this).addClass("TriggerOver");
    createWidgetTimer(this);
  });
  $("div#NavigationWidget ul#Triggers li").mouseout(function() {
    $(this).removeClass("TriggerOver");
    clearWidgetTimers();
  });
});