var timerID2 = null;
var delay = 25;
var action = null;
var distance = 0;
var ctrl = null;
var ctrl2 = null;
var EventSource = null;
var maxheight = 0;

//This function was created to handle IE8
function getInternetExplorerVersion() {
  var rv = -1;
  // Return value assumes failure.    
  if (navigator.appName == 'Microsoft Internet Explorer') {
    var ua = navigator.userAgent;
    var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat(RegExp.$1);
  }
  return rv;
}

//This function restores original images and swap function for each button
function restore() {

  var home = document.getElementById("home");
  home.src = '/images/btn_home.png';
  home = null;
  var homelink = document.getElementById("homelink");
  homelink.onmouseout = function() { MM_swapImgRestore(); }
  homelink = null;

  var needs = document.getElementById("needs");
  needs.src = '/images/btn_needs.png';
  needs = null;
  var needslink = document.getElementById("needslink");
  needslink.onmouseout = function() { MM_swapImgRestore(); }
  needslink = null;

  var about = document.getElementById("about");
  about.src = '/images/btn_about.png';
  about = null;
  var aboutlink = document.getElementById("aboutlink");
  aboutlink.onmouseout = function() { MM_swapImgRestore(); }
  aboutlink = null;

  var involved = document.getElementById("involved");
  involved.src = '/images/btn_involved.png';
  involved = null;
  var involvedlink = document.getElementById("involvedlink");
  involvedlink.onmouseout = function() { MM_swapImgRestore(); }
  involvedlink = null;

  var support = document.getElementById("support");
  support.src = '/images/btn_support.png';
  support = null;
  var supportlink = document.getElementById("supportlink");
  supportlink.onmouseout = function() { MM_swapImgRestore(); }
  supportlink = null;

  var resources = document.getElementById("resources");
  resources.src = '/images/btn_resources.png';
  resources = null;
  var resourceslink = document.getElementById("resourceslink");
  resourceslink.onmouseout = function() { MM_swapImgRestore(); }
  resourceslink = null;

  var contact = document.getElementById("contact");
  contact.src = '/images/btn_contact.png';
  contact = null;
  var contactlink = document.getElementById("contactlink");
  contactlink.onmouseout = function() { MM_swapImgRestore(); }
  contactlink = null;

}

//This function initialises ctrl and ctrl2 globals
function init() {
 ctrl = document.getElementById('bottomNav');
 ctrl2 = document.getElementById('bottomMenu');
}

function StopTheClock() {
  clearTimeout(timerID2)
  var toggle = document.getElementById("toggle");
  restore();
  if (action == 'slideUp' ) {
   ctrl2.style.visibility = 'visible';
   ctrl2.setAttribute("class", "");
   ctrl2.setAttribute("className", "");
    //show selected div according to source ID and update toggle button
    switch (EventSource) {
     case 1:
      hideMenu();
      var ulneeds = document.getElementById("ulneedsDiv");
      ulneeds.setAttribute("class", "");
      ulneeds.setAttribute("className", "");
      ulneeds = null;
      //set selected image then remove swap function for that button
      var needs = document.getElementById("needs");
      needs.src = '/images/btn_needs_o.png';
      needs = null;
      var needslink = document.getElementById("needslink");
      needslink.onmouseout = function() { }
      needslink = null;
      break;
      case 2:
        hideMenu();
        var ulabout = document.getElementById("ulaboutDiv");
        ulabout.setAttribute("class", "");
        ulabout.setAttribute("className", "");
        ulabout = null;
        //set selected image then remove swap function for that button
        var about = document.getElementById("about");
        about.src = '/images/btn_about_o.png';
        about = null;
        var aboutlink = document.getElementById("aboutlink");
        aboutlink.onmouseout = function() { }
        aboutlink = null;
        break;
      case 3:
        hideMenu();
        var ulinvolved = document.getElementById("ulinvolvedDiv");
        ulinvolved.setAttribute("class", "");
        ulinvolved.setAttribute("className", "");
        ulinvolved = null;
        //set selected image then remove swap function for that button
        var involved = document.getElementById("involved");
        involved.src = '/images/btn_involved_o.png';
        involved = null;
        var involvedlink = document.getElementById("involvedlink");
        involvedlink.onmouseout = function() { }
        involvedlink = null;
        
        break;
      case 4:
        hideMenu();
        var ulsupport = document.getElementById("ulsupportDiv");
        ulsupport.setAttribute("class", "");
        ulsupport.setAttribute("className", "");
        ulsupport = null;
        //set selected image then remove swap function for that button
        var support = document.getElementById("support");
        support.src = '/images/btn_support_o.png';
        support = null;
        var supportlink = document.getElementById("supportlink");
        supportlink.onmouseout = function() { }
        supportlink = null;
        
        break;
      case 5:
        hideMenu();
        var ulresourcesDiv = document.getElementById("ulresourcesDiv");
        ulresourcesDiv.setAttribute("class", "");
        ulresourcesDiv.setAttribute("className", "");
        ulresourcesDiv = null;
        //set selected image then remove swap function for that button
        var resources = document.getElementById("resources");
        resources.src = '/images/btn_resources_o.png';
        resources = null;
        var resourceslink = document.getElementById("resourceslink");
        resourceslink.onmouseout = function() { }
        resourceslink = null;
        
        break;
      case 6:
        hideMenu();
        var ulcontactDiv = document.getElementById("ulcontactDiv");
        ulcontactDiv.setAttribute("class", "");
        ulcontactDiv.setAttribute("className", "");
        ulcontactDiv = null;
        //set selected image then remove swap function for that button
        var contact = document.getElementById("contact");
        contact.src = '/images/btn_contact_o.png';
        contact = null;
        var contactlink = document.getElementById("contactlink");
        contactlink.onmouseout = function() { }
        contactlink = null;
        
        break;
      default:

    }
    //show close button

    $('closelink').setAttribute("class", "");
    $('closelink').setAttribute("className", "");
    $('navclose').src = '/images/btn_close.png';    
    
  }
  else {
    //Hide close button when menu is open and highlight HOME button
   $('navclose').src = '/images/nav_closed_none.png';
   $('closelink').setAttribute("class", "hidden");
   $('closelink').setAttribute("className", "hidden");
    //$('home').src = '/images/btn_home.png';
    //$('homelink').onmouseout = function() { }
  }
  toggle = null;
}

function StartTheTimer() {
  timerRunning = true;
  if (action == 'slideUp') {
    if (distance < maxheight) {
      slideUp();
      timerID2 = self.setTimeout("StartTheTimer()", delay);
    }
    else
      StopTheClock();
  }
  else {
    if (distance > 0) {
      slidedown();
      timerID2 = self.setTimeout("StartTheTimer()", delay);
    }
    else
      StopTheClock();
  }
}

function mouseover(source) {
  init();
  maxheight = ctrl2.offsetHeight;
  action = 'slideUp';
  EventSource = source;
  StartTheTimer();
 
}

function hideMenu() {
 var ulneeds = document.getElementById("ulneedsDiv");
 ulneeds.setAttribute("class", "hidden");
 ulneeds.setAttribute("className", "hidden");

 var ulabout = document.getElementById("ulaboutDiv");
 ulabout.setAttribute("class", "hidden");
 ulabout.setAttribute("className", "hidden");

 var ulinvolved = document.getElementById("ulinvolvedDiv");
 ulinvolved.setAttribute("class", "hidden");
 ulinvolved.setAttribute("className", "hidden");

 var ulsupport = document.getElementById("ulsupportDiv");
 ulsupport.setAttribute("class", "hidden");
 ulsupport.setAttribute("className", "hidden");

 var ulresourcesDiv = document.getElementById("ulresourcesDiv");
 ulresourcesDiv.setAttribute("class", "hidden");
 ulresourcesDiv.setAttribute("className", "hidden");

 var ulcontact = document.getElementById("ulcontactDiv");
 ulcontact.setAttribute("class", "hidden");
 ulcontact.setAttribute("className", "hidden");

 ulneeds = null; ulabout = null; ulinvolved = null;
 ulsupport = null; ulresourcesDiv = null; ulcontact = null;
}

function mouseout() {
    init();
    action = 'slidedown';
    ctrl2.style.visibility = 'hidden';
    StartTheTimer();

}

function slideUp() {
  var top;
  //IE8 calculates offsetTop diffrently
    if (getInternetExplorerVersion() >= 8.0) {
      top = ctrl2.offsetTop + ctrl2.parentNode.offsetTop;
  }
  else {
    top = ctrl2.offsetTop.toString().substr(0, ctrl2.style.top.toString().length - 2) * 1;
    if (top == 0) top = ctrl2.offsetTop;
  }
  ctrl2.style.top = top - 20 + "px";

  if (getInternetExplorerVersion() >= 8.0) {
    top = ctrl.offsetTop + ctrl.parentNode.offsetTop;
  }
  else {
    top = ctrl.offsetTop.toString().substr(0, ctrl.style.top.toString().length - 2) * 1;
    if (top == 0) top = ctrl.offsetTop;
  }
  ctrl.style.top = top - 20 + "px";

  distance = distance + 20;
  top = null;
}

function slidedown() {
  var top;
  if (getInternetExplorerVersion() >= 8.0) {
    top = ctrl2.offsetTop + ctrl2.parentNode.offsetTop;
  }
  else {
    top = ctrl2.offsetTop.toString().substr(0, ctrl2.style.top.toString().length - 2) * 1;
    if (top == 0) top = ctrl2.offsetTop * 1;
  }
  ctrl2.style.top =  top + 20 + "px";

  if (getInternetExplorerVersion() >= 8.0) {
    top = ctrl.offsetTop + ctrl.parentNode.offsetTop;
  }
  else {
    top = ctrl.offsetTop.toString().substr(0, ctrl.style.top.toString().length - 2) * 1;
    if (top == 0) top = ctrl.offsetTop;
  }  
    ctrl.style.top = top + 20 + "px";
  
  
  distance = distance - 20;
  top = null;
}
