 // javascript for the ibgmenu

var subVisible = 0;
var elems =new Array();



// timer functions
var secs
var timerID = null
var timerRunning = false
var delay = 1000

var bbDelay = 500;
var bbTimer = false;

function InitializeTimer()
{
    // Set the length of the timer, in seconds
    secs = 1
    StopTheClock()
    StartTheTimer()
}

function StopTheClock()
{
    if(timerRunning)
        clearTimeout(timerID)
    timerRunning = false
}

function StartTheTimer()
{
    if (secs==0)
    {
        StopTheClock()
        // Here's where you put something useful that's
        // supposed to happen after the allotted time.
        // For example, you could display a message:
        //alert("You have just wasted 10 seconds of your life.")
        showAllElements();
    }
    else
    {
        self.status = secs
        secs = secs - 1
        timerRunning = true
        timerID = self.setTimeout("StartTheTimer()", delay)
    }
}


showAllElems = function() {
	InitializeTimer();
}
// timer functions end

showAll = function() {
	if (subVisible != 0) return;
	/*
  var elems = document.getElementById("ibgnav").getElementsByTagName("LI");        
  for (var i=0; i<elems.length; i++) {
	  elems[i].className += " sfhover";
  }*/
	document.getElementById("ibgnavdiv").className += " sfhover";
  subVisible = 1;
  bbTimer = false;
}

hideAll = function() {
  if (bbTimer == true) {
		window.clearTimeout(bbTimer);
		bbTimer = false;
  }
  if (subVisible == 0) return;
  /*
  var elems = document.getElementById("ibgnav").getElementsByTagName("LI");

  for (var i=0; i<elems.length; i++) {
		elems[i].className = elems[i].className.replace(/ sfhover/gi, "");
	}
*/
	document.getElementById("ibgnavdiv").className = document.getElementById("ibgnavdiv").className.replace(/ sfhover/gi, "");
  subVisible = 0;
}
doShow = function() {
/*
	if (subVisible == 0) {
		showAll();
	} else if (bbTimer == false) {
		bbTimer = window.setTimeout("showAll()",bbDelay);
	} */
	if (subVisible == 0 && bbTimer == false) {
		bbTimer = window.setTimeout("showAll()",bbDelay);
	}
}

doHide = function() {
	if (subVisible == 1) {
		hideAll();
	} else if (bbTimer == true) {
		window.clearTimeout(bbTimer);
		bbTimer = false;
	}
}

var getElementsByClassName=function(className,parentNode) {
 var results = [];
 //if (document.getElementsByClassName) document.getElementsByClassName(className,parentNode);//this is the code for FF3. Prototype 1.5 doesn't play nice with this code, though.
 if (document.evaluate) {
  var query = document.evaluate(".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]", parentNode || document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
  for (var i = 0, length = query.snapshotLength; i < length; i++) results.push(query.snapshotItem(i));
 }
 else {
  var nodes = (parentNode || document).getElementsByTagName("*");
  for (var i = 0, j = 0, length = nodes.length; i < length; i++) {
   var nodes_i=nodes[i];
   if ((" "+nodes_i+" ").indexOf(" "+className+" ") > -1) results[j++] = nodes_i;
  }
 }
 return results;
};

window.addEvent('domready', function() {		
		
	$('ibgnavdiv').addEvent(
		'mouseover', function(){

			if (subVisible == 0 && bbTimer == false) {
				bbTimer = window.setTimeout("showAll()",bbDelay);
			}
		}
	);

	$('ibgnavdiv').addEvent(	
		'mouseleave', function(){
			
			if (bbTimer != false) {
				window.clearTimeout(bbTimer);
				bbTimer = false;
			} else {
				hideAll();
			}
		}
	);
	
	
});

