﻿//Initialize and load in index content
var current = 12;
var timer;
var speed = 300;
var complete = true;
var lastupdate = 12;
Event.observe(window,"load",initHome,false);

//Initialize Function
function initHome() {
  Event.observe($('nav'),"mouseover", enterNav,false);
  Event.observe($('nav'),"mouseout", leaveNav,false);
  arrHovers[12] = $('homeView').innerHTML;
  var links = $$('#nav li.AspNet-Menu-Leaf');
  var c = 0;
  for(var i=0;i<13;i++) {
    if($(links[i]).down('a')) {
      links[i].hover = c;
      links[i].onmouseover = function() { 
        if(current != this.hover || !complete) {
          clearHover();
          timer = setTimeout("startHover()",speed);
          complete = false;
        }
        current = this.hover;      
      }
      Event.observe($(links[i]),"mouseout",
      function(e) {
        if(!Position.within($(links[i]),Event.pointerX(e),Event.pointerY(e))) {
          clearHover();
        }
      },false);
      c += 1;
    }
  }
}

function leaveNav(e) {
  if(!Position.within($('nav'),Event.pointerX(e),Event.pointerY(e))) {
    clearHover();
    if(lastupdate != 12)
      $$('#nav li a')[lastupdate].addClassName("AspNet-Menu-Selected");
  }
}

function enterNav(e) {
  $$('#nav li a').invoke('removeClassName','AspNet-Menu-Selected');
}

function clearHome(e) {
  if(!Position.within($('titleBar'),Event.pointerX(e),Event.pointerY(e))) {
    clearHover();
  }
}

//Clear Hover Timer
function clearHover() {
  if(timer) {
    clearTimeout(timer);
  }
}

//Start New Hover Content
function startHover() {
  complete = true;
  clearHover();
  new Effect.Fade('homeView', {duration: 0.2, afterFinish: showHover});
}

//Show New Hover Content
function showHover(obj) {
  $(obj.element).update(arrHovers[current]);
  new Effect.Appear('homeView', {duration: 0.6});
  lastupdate = current;
}

//Reset to Home Content
function resetHover() {
  if(current != 12 || !complete) {
    clearHover();
    startHover();
    $$('#nav li a').invoke('removeClassName','AspNet-Menu-Selected');
  }
  current = 12;
  outside = false;
}
