// 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 = 0;
var yOrigin = 43;
var xAdjust = 0;
var yAdjust	= 0;
var divWidth = 771;
var divHeight = 32;

	// if NS4
if (isNS4) {
	yOrigin = yOrigin + 8;
}

if (isNS4 || isIE4 || isNS6) dhtmlBrowser=1;

if (isNS6) {
	document.all = document.getElementsByTagName("*")
}

var SubALeft = 0

function HBrollover(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(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 
  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.all) {
  	
    divTop+=8;
	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.all)  
	    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.all)
    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.all) {
		if (document.all[name] == null) return null;
    	layer = eval('document.all.' + name + '.style');
	    return(layer);
	}
  else
    return(null);
}

var ie=0;
var iemac = 0;
if (document.all) ie=1;
if ((document.all)&&(navigator.appVersion.indexOf("Macintosh")!=-1)) iemac=7; 
var TimerID;

function HBlayerHandler(roll_on, whichLayer)
{ 
  if (roll_on)
  {
  if (TimerID != null) clearTimeout(TimerID);
 // HBimageHandler(whichLayer);
	if (HBlayernames[whichLayer].indexOf("_") == -1) {
		// is a parent layer
		
		HBhideparents(whichLayer);
	}
    HBshowLayer(HBlayernames[whichLayer]);
  }
  else
  {
   if (TimerID != null) clearTimeout(TimerID);
    TimerID = setTimeout('HBhideparents(0)', 1000);
  }
}

function HBsubroll(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.all)
    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) HBhideLayer(HBlayernames[i]);
  }
}

// END DHTML FUNCTIONALITY - DO NOT TOUCH

var childLink = 'onMouseOver="HBsubroll(1);" onMouseOut="HBsubroll(0);"'

function makeNewFlyout(name) {
	var parentNotThere = true;		// use if parent name is in array
	parentName = name.substring(0,name.lastIndexOf("_"))
  	for (i=1; i < HBlayernames.length; i++) {
  	   if (parentName == HBlayernames[i]) {
	   		parentNotThere = false;
			break;
	   }
  	}
	if (parentNotThere) {
			// creates parent array name if does not exist
		HBlayernames[arrCount] = parentName	
		arrCount++
	}
			// creates child array name
	HBlayernames[arrCount] = name	
	moStr = 'onMouseOver="HBrollover(\'' + name + '\', \'on\');" onMouseOut="if (dhtmlnav) HBrollover(\'' + name + '\', \'off\');"'
	arrCount++
	return moStr;
}
	// space above tabs...should be 0 if first thing after
var tabSpacer;
function HBmakeContent(which) {
	tabSpacer = false;
	
		myStr = flyoutstart + 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)
		var tempArray = myStr.split("| ]")
		myStr = tempArray[0] + " ]" + tempArray[1]
	}
	//alert(myStr)
	return myStr;
}

function handleLink(name,href,desc) {
	//if (desc == whatsub) {
		var linkStyle = "subnavText";
	//} else {
	//	var linkStyle = "subnavText";
	//}
	linkStr = itemstart;
	if (href == "-") {
		linkStr += desc;	
	} else {
		linkStr += '<A class="'+ linkStyle +'" HREF="' + href + '" ';
		linkStr += childLink;
		linkStr += '>' + desc;	
		linkStr += itemend;
	}
	//alert(linkStr)

	return linkStr;
}


// BEGIN TABLE DEFINITIONS - DO NOT TOUCH

var flyoutstart = '<table border="0" cellpadding="0" cellspacing="0"><tr valign="top"><td bgcolor="#FFFFFF" width="771" align="right"><table border="0" cellpadding="0" cellspacing="0"><tr valign="top"><td bgcolor="#E1DBD0" class="subnavText" valign="middle" height="19">';

var flyoutnext = '&nbsp;&nbsp;[ ';
var itemstart =   '';
var itemend =     '</a> | ';
var flyoutlast = ']&nbsp;&nbsp;'

var flyoutend =   '</td></tr><tr  class="subNavTable" valign="top"><td><img src="/images/spacer.gif" width="490" height="3" alt="" border="0"><br></td></tr></table></td></tr><tr></tr></table>'

var emptyTable = '<table class="subNavTable" border="0" cellpadding="0" cellspacing="0"><tr valign="top"><td bgcolor="#FFFFFF" width="771"><img src="/images/spacer.gif" width="771" height="19" alt="" border="0"><br></td></tr></table>';

// END TABLE DEFINITIONS - DO NOT TOUCH













