window.onerror = null;
var olddiv = new Array(); //this will become a reference to the objects that are being shown or were last shown

// preload aXh.gifs

if (document.images) 
{
   // menu hovers
   im = new Array()
   for (var i = 1; i <= 5; i++)
   {
     im[im.length] = new Image()
     im[im.length-1].src = "images/a"+i+"h.gif"
   }
   // list bullets
   im[5] = new Image()
   im[5].src = "images/bullet1.gif"
   
   im[6] = new Image()
   im[6].src = "images/bullet2.gif"
}


function getRefToDivNest( divID, oDoc )
{
	if( !oDoc ) { oDoc = document; }
	if( document.layers ) {
		if( oDoc.layers[divID] ) { return oDoc.layers[divID]; } else {
			for( var x = 0, y; !y && x < oDoc.layers.length; x++ ) {
				y = getRefToDivNest(divID,oDoc.layers[x].document); }
			return y; } }
	if( document.getElementById ) { return document.getElementById(divID); }
	if( document.all ) { return document.all[divID]; }
	return document[divID];
}



function menuStopTimeOut()
{
  clearTimeout(top.codeid)
  top.code = null
}

function menuTimeOutHandler()
{
  if (top.code == null)
  {
    top.code = function()
    {
      hideDivsToLevel(1)
      top.code = null
    }
    top.codeid = setTimeout(top.code, 500)
  }

//      hideDivsToLevel(1)

}


function loadmenu(strMenu)
{
  /* --| hat menu |-- */
  top.code = null
  var k = getRefToDivNest('level0')
  k.onmouseout = menuTimeOutHandler
  
  // opera 8,7 fix :
  
  var level0 = k.childNodes
  var uls = k.getElementsByTagName('UL')
  for (var i = 0; i<uls.length; i++)
  {
    if (uls[i].style != "undefined")
      uls[i].style.visibility = "hidden"
  }
  
  
  /* --| left menu |-- */
  // set handlers
  var who = document.getElementById(strMenu)
  if ((who == null) || (who.childNodes.length == 0)) return
  var ul = who.childNodes.item(0) // ul
  while ((ul != null) && (ul.nodeName.toLowerCase() != "ul"))
  {
    ul = ul.nextSibling
  }
  if ((ul == null)||(ul.nodeName.toLowerCase() != 'ul')) return
    
  var cn = ul.childNodes // ul::li
  for (var i = 0; i< cn.length; i++)
    if (cn[i].nodeName != '#text')
    {
      cns = cn[i].childNodes
      ultest = 0
      for (var p = 0; p<cns.length; p++)
        if (cns[p].nodeName.toLowerCase() == 'ul')
          ultest = 1
      if (ultest == 0) continue
      cn[i].childNodes.item(0).onclick = function() // set handlers on a & span
      {
        event.returnValue = false
        trigger(this)
      }
      cn[i].childNodes.item(0).style.cursor = "hand"
      if (cn[i].childNodes.item(0).className != 'current') // trigger not current
        trigger(cn[i].childNodes.item(0))
    }
}

function trigger(me)
{
  var who = me.nextSibling
  if (who.nodeName == '#text')
    who = who.nextSibling
  if (who==null) return
    
  if ((who.style.display == '') || (who.style.display == 'block'))
    who.style.display = "none"
  else
    who.style.display = "block"
}

function showdiv(thisdiv,mylevel) {
  menuStopTimeOut()
	//this function shows the div and sets the level that the div exists at to 'mylevel'
	hideDivsToLevel(mylevel); //first, hide the last one
  
  olddiv[mylevel] = getRefToDivNest(thisdiv);
	//Make the object visible
	if( olddiv[mylevel].style ) {
		//DOM compliant
    olddiv[mylevel].style.visibility = 'visible';
	olddiv[mylevel].style.zIndex = 20
	} else {
		if( olddiv[mylevel].visibility ) {
			//Netscape and old versions of Mozilla compliant
			olddiv[mylevel].visibility = 'show';
		} else {
			//Nothing found, no known way of changing the style
			olddiv[mylevel] = false;
			return;
		}
	}
}

function hideDivsToLevel(mylevel) {
	//hide all the divs that are showing this level and higher
	if( olddiv[mylevel] ) {
		//try the next level up first
		hideDivsToLevel(mylevel+1);
		//hide the last hidden object that was shown in the current level
		if( olddiv[mylevel].style ) {
			//DOM compliant
			olddiv[mylevel].style.visibility = 'hidden';
		} else {
			//Netscape and old versions of Mozilla compliant
			olddiv[mylevel].visibility = 'hide';
		}
		//No need for else notifyFail()
		//If it was going to fail, it would have failed while it was being shown
	}
	olddiv[mylevel] = false;
}

function hideDivSpecial(specialDiv) { //hide a div, bypassing levels
	specialDiv = getRefToDivNest(specialDiv);
	if( specialDiv.style ) {
		//DOM compliant
		specialDiv.style.visibility = 'hidden';
	} else {
		if( specialDiv.visibility ) {
			//Netscape and old versions of Mozilla compliant
			specialDiv.visibility = 'hide';
		} else {
			//Nothing found, no known way of changing the style
			return;
		}
	}
}

function getWindowSize() {  
   var windowHeight = 0;  
   var windowWidth = 0;     
   if (typeof(window.innerHeight) == 'number') {  
      windowHeight = window.innerHeight;  
      windowWidth = window.innerWidth;  	  
   }  
   else {  
      if (document.documentElement && document.documentElement.clientHeight) {  
         windowHeight = document.documentElement.clientHeight;  
         windowWidth = document.documentElement.clientWidth;  		 
      }  
      else {  
         if (document.body && document.body.clientHeight) {  
            windowHeight = document.body.clientHeight;  
            windowWidth = document.body.clientWidth;  			
         }  
      }  
   }  
   return new Array(windowWidth, windowHeight);  
}  

function setFooter() {  
   if (document.getElementById) {  
      var windowSize = getWindowSize();  
      var windowWidth = windowSize[0]
      var windowHeight = windowSize[1]	
      if (windowHeight > 0) {  
        
         var contentElement = document.getElementById('content');
         var f = document.getElementById('footer').offsetHeight;
         var t = document.getElementById('top').offsetHeight;
         var l = document.getElementById('lowmenu').offsetHeight;
		 new_value = windowHeight - f - t - l - 31
		 if (new_value >= 0) {
	         contentElement.style.height = new_value
		 }

		 var flash = document.getElementById('mainflash')
		 if (typeof(flash) == "object") {
			 setObjectSize(document.getElementById('mainflash'), windowWidth, Math.round(windowWidth/3.457))
		 }
      }  
   }  
}

function setObjectSize(object, width_new, height_new)
{
   if (typeof(object.height) != 'undefined') {  
      object.height = height_new
      object.width = width_new	  
   }  
   else {  
      if (typeof(object.clientHeight) != 'undefined') {  
      object.clientHeight = height_new
      object.clientWidth = width_new	  		 
      }  
   }  
   return true;
}