// BEGIN DHTML FUNCTIONALITY

var dhtmlnav=0;
var dhtmlBrowser=0;

	// Defines - The Location of the first menu
// ADJUST THIS BASED ON WHERE THE MENU IS ON THE PAGE
var xOrigin = 119;
var yOrigin = 81;
var xAdjust = 0;
var yAdjust	= 0;
var divWidth = 124;
var divHeight = 500;

	// if NS4
if (isNS4) {
	yOrigin = yOrigin + 8;
}

if (isNS4 || isIE4 || isNS6) { dhtmlBrowser=1;}

/*
if (isNS6) {
	document.all = document.getElementsByTagName("*")
}
*/
var SubALeft = 0;

function HBrollover(obj,imgname, roll_on){
// This starts it all
// It is called from the image map for the images
// Called with:
// ...onMouseOver="if (dhtmlnav) HBrollover('img_who', 1, 1);"
// onMouseOut="if (dhtmlnav) HBrollover('img_home', 0, 1);"...
// note that imgname is not used. The image mapping is done in the 
// function HBimageHandler.
	
	if (roll_on == 'ON') {roll_on = 1;} else {roll_on = 0;}
	whichLayer = HBgetArrayNumber(imgname);
	HBlayerHandler(obj,roll_on, whichLayer);
} 

function HBgetArrayNumber(imgname) {
	for (i=1; i < HBlayernames.length; i++) {
  	   if (imgname == HBlayernames[i]) {
	   		return i;
	   }
	}
}

var arrCount = 1;	// number of items in HBlayernames
var HBlayernames = new Array();
var HBlayerList = new Array();

function HBcreateLayer(name) {
  content = HBmakeContent(name)
 	// to keep righthand drop down from falling beneath page items
  var z = 500	//used to be HBlayerList.length;
  var layer;
  var nameNotThere = true;
  divLeft = xOrigin + xAdjust 
  yOrigin = yOrigin + 24;
  divTop = yOrigin + yAdjust
  //content = eval(name + "List")
  visible = 0;
  
  for (i=1; i < HBlayernames.length; i++) {
  	   if (name == HBlayernames[i]) {
	   		nameNotThere = false;
			break;
	   }
  	}
	
	if (nameNotThere) {
	  HBlayernames[arrCount] = name;
	  arrCount ++;
  }
  HBlayerList[z] = name;
 // if (name == whatpage) { visible = 0; z = z-1; }
  if (document.layers) {
 
    document.writeln('<layer name="' + name + '" left=' + divLeft + ' top=' + divTop + ' width=' + divWidth + ' height=' + divHeight +  ' visibility=' + (visible ? '"show"' : '"hide"') + ' z-index=' + z + '>');
    document.writeln(content);
    document.writeln('</layer>');
    layer = HBgetLayer(name);
    layer.width = divWidth;
    layer.height = divHeight;
  }

  if (document.getElementById) {
	document.writeln('<div id="' + name + '" style="position:absolute; overflow:none; left:' + divLeft + 'px; top:' + divTop + 'px; width:' + divWidth + 'px; height:' + divHeight + 'px;' + ' visibility:' + (visible ? 'visible;' : 'hidden;') + ' z-index:' + z + '">');
    document.writeln(content);
    document.writeln('</div>');
  }
 //HBclipLayer(name, 0, 0, 0, 0);
}


function HBhideLayer(name) {
  var layer = HBgetLayer(name);
	//if (name != whatpage) {
	  if (document.layers){layer.visibility = "hide";}
	  if (document.getElementById){layer.visibility = "hidden";}
	//}
}

function HBclipLayer(name, clipleft, cliptop, clipright, clipbottom) {
  var layer = HBgetLayer(name);
  if (document.layers) {
    layer.clip.left   = clipleft;
    layer.clip.top    = cliptop;
    layer.clip.right  = clipright;
    layer.clip.bottom = clipbottom;
  }
  if (document.getElementById){
    layer.clip = 'rect(' + cliptop + ' ' +  clipright + ' ' + clipbottom + ' ' + clipleft +')';}
}

function HBgetLayer(name) {
// Returns a handle to the named layer.
	if (document.layers) {
	    return(document.layers[name]);
	}
	else if (document.getElementById) {
		if (document.getElementById(name) == null) return null;
    	layer = eval('document.getElementById("' + name + '").style');
	    return(layer);
	}
  else
    return(null);
}

var ie=0;
var iemac = 0;
if (document.getElementById) ie=1;
if ((document.getElementById)&&(navigator.appVersion.indexOf("Macintosh")!=-1)) iemac=7; 
var TimerID;

function HBlayerHandler(obj,roll_on, whichLayer)
{ 
  if (roll_on)
  {
	if (TimerID != null) clearTimeout(TimerID);
 	if (obj.className == "nav") obj.className = "navOn";
	HBhideparents(whichLayer);
 	HBshowLayer(HBlayernames[whichLayer]);
  }
  else
  {
   if (TimerID != null) clearTimeout(TimerID);
	   if (document.getElementById(HBlayernames[whichLayer]).innerHTML == "") {
	   			// turn off nav immediately if no flyouts
	   		HBhideparents(0);
	   } else {
	    	TimerID = setTimeout('HBhideparents(0)', 1000);
	   }
  }
}

function HBsubroll(navObj,mouse_on)
// This function keeps the menu open.
// As long as the cursor is over an object that
// calls HBsubroll onmouseover(1), then the object
// remains visible. onmouseout(0) hide the object
// in one second (1000ms)
{
  if (mouse_on)
  {
    clearTimeout(TimerID); 
  }
  else
  {
    clearTimeout(TimerID);
    TimerID = setTimeout('HBhideparents(0)', 1000);
  }
}

function HBshowLayer(name) {
  var layer = HBgetLayer(name);

  if (document.layers)
    layer.visibility = "show";
  if (document.getElementById)
    layer.visibility = "visible";
}

function HBhideparents(exceptThis)
{
	// This hides the parents. To hide all, call with a 0
  for (i=1; i < HBlayernames.length; i++) {
  	   if (exceptThis != i) {
	   		//var tempName = document.all(HBlayernames[i]+"Nav").className;
			//alert(tempName)
			//if (tempName == "navOn") {tempName = "nav";}
			if (whichSection != HBlayernames[i]) {
	   			document.getElementById(HBlayernames[i]+"Nav").className = "nav";
			}
			
	   		HBhideLayer(HBlayernames[i]);
		}
  }
}

// END DHTML FUNCTIONALITY - DO NOT TOUCH

	// space above tabs...should be 0 if first thing after
var tabSpacer;
function HBmakeContent(which) {
	tabSpacer = false;
	
	flyoutstartTemp = flyoutstart.replace(/id="Flyout"/gi,"id=\""+which+"Flyout\"");
	//alert(flyoutstart)
	myStr = flyoutstartTemp + flyoutnext;
	
	arrName = eval(which + "Arr")
	if (arrName.length == 0) {
		myStr = emptyTable;
	} else {
		var i=0;
		while (arrName[i]) {
			
				myStr += handleLink(which,arrName[i],arrName[i+1])
				i+=2;
			
			tabSpacer = true;	// after this point in the flyout, add more space above tabs
		}
		
		myStr += flyoutlast + flyoutend;	
	}
	//alert(myStr)
	return myStr;
}

function handleLink(name,href,desc) {
	linkStr = itemstart.replace(/HBsubroll\(/gi,"HBsubroll('"+name+"',");
	var target = "";
	var re = /pdf$|doc$|xls$|ppt$|wmv$|mov$/gi
	
	if (re.test(href)) {
		target = ' target="_blank"'
	}
	linkStr += '<a href="' + href + '" class="subnavFlyoutLink"' + target + '>' + desc;	
	linkStr += '</a>' + itemend;
	return linkStr;
}


// BEGIN TABLE DEFINITIONS - DO NOT TOUCH

var flyoutstart = '<table border="0" cellpadding="0" cellspacing="1" class="subnavFlyoutOuterTable"><tr valign="top"><td><table id="Flyout" border="0" cellpadding="0" cellspacing="0" class="subnavFlyoutTable" style="font-size:'+initSize+'em;"><tr valign="top"><td><img src="/images/spacer.gif" width="1" height="8" alt="" border="0"></td></tr>';
var flyoutnext = '';
var itemstart = '<tr valign="top"><td class="subnavFlyout" onMouseover="HBsubroll(1);this.className=\'subnavFlyoutOn\'" onMouseout="HBsubroll(0);this.className=\'subnavFlyout\'">';
var itemend = '</td></tr>';
var flyoutlast = '';
var flyoutend = '<tr valign="top"><td><img src="/images/spacer.gif" width="1" height="8" alt="" border="0"></td></tr></table></td></tr></table>';

var emptyTable = '';

// END TABLE DEFINITIONS - DO NOT TOUCH








