<!-- // Start of AdSubtract JavaScript block; you can ignore this.
     // It is used when AdSubtract blocks cookies or pop-up windows.
document.iMokie = "cookie blocked by AdSubtract";
document.iMferrer = "referrer blocked by AdSubtract";
function iMwin() {
	this.location = "";
	this.frames = new Array(9);
	this.frames[0] = this;
	this.frames[1] = this;
	this.frames[2] = this;
	this.frames[3] = this;
	this.frames[4] = this;
	this.frames[5] = this;
	this.frames[6] = this;
	this.frames[7] = this;
	this.frames[8] = this;
	this.length = 0;
}
// End of AdSubtract JavaScript block. -->




// menu top shade =  "#f4f4f4" = 244,244,244
// menu bottom shade = "#dfdfdf" = 223,223,223
// hilite color = "#ff9900" = 255,153,0
// sub menu grey = #e5e5e5 = 229,229,229
var browser = "ie"
if( navigator.appName == "Netscape" && parseFloat( navigator.appVersion )<5.0 )
{
	window.location.href = "old_browser.htm"
}
if( navigator.appName == "Netscape" && parseFloat( navigator.appVersion )<7.0 )
	browser = "nav6"	

var g_menus = new Array()
var g_reference = new Array()
var g_menu = 0
var g_timer = null
var g_hash
var g_presets
var g_active

//-------------------------------------
// menu object
//-------------------------------------
function Menu( label, w, h ) 
{
	this.label = label
	this.w = w
	this.h = h
	this.items = new Array()
	this.visible = false
	this.pathcode=""
}

function Reference( from_url, to_url )
{
	this.fromURL = from_url
	this.toURL = to_url
}
//-------------------------------------
// menu item object
//-------------------------------------
function MenuItem( label, imgOff, imgOn, url, sub_id )
{
	this.label = label
	this.imageOff = imgOff
	this.imageOn = imgOn
	this.imageAt = ""
	this.url = url
	this.submenu = sub_id
	this.separator = false
	this.active = false
	this.pathcode=""
	if( label == "" && imgOff == "" )
		this.separator = true
}

//-------------------------------------
// create a new menu
//-------------------------------------
function AddMenu( label, w, h )
{
	var idx = g_menus.length
	g_menus[idx] = new Menu( label, w, h )
	g_menus[idx].pathcode="m"+idx
	return idx
}

//-------------------------------------
// create a new reference
//-------------------------------------
function MapFile( from_url, to_url )
{
	var idx = g_reference.length
	g_reference[idx] = new Reference( from_url, to_url )
	return idx
}

//-------------------------------------
// add a menu item to an existing menu
//-------------------------------------
function AddMenuItem( menu_id, label, imgOff, imgOn, url, sub_id )
{
	if( menu_id >= g_menus.length ) return
	var idx = g_menus[menu_id].items.length
	g_menus[menu_id].items[idx] = new MenuItem( label, imgOff, imgOn, url, sub_id )
	var pathcode = g_menus[menu_id].pathcode+"_"+idx
	g_menus[menu_id].items[idx].pathcode = pathcode
	if( sub_id != -1 )
		AppendPathCode( sub_id, pathcode )	
	return idx
}

//-------------------------------------------------------------------
// since child menus are defined before being added to parent menus,
// pathcodes must be updated after adding to a parent menu.
//-------------------------------------------------------------------
function AppendPathCode( menu_id, pathcode )
{
	var i, j
	
	for( i=0; i<g_menus[menu_id].items.length; i++ )
	{
		g_menus[menu_id].items[i].pathcode = pathcode + g_menus[menu_id].items[i].pathcode 
		if( g_menus[menu_id].items[i].submenu != -1 )
			AppendPathCode( g_menus[menu_id].items[i].submenu, pathcode )
	}
}
//-------------------------------------
// top level menu clicked
//-------------------------------------
function OnMenuClick( id )
{
	var div = FIND( "menu"+id )
	div.style.visibility = "visible"
	g_menu = id
}
//-------------------------------------
// set timer on mouse out for any item
//-------------------------------------
function OffItem( id )
{
	g_timer = setTimeout( "KillMenu("+id+")", 3000 ) // one second delay
}

//-------------------------------------
// top menu item clicked
//-------------------------------------
function OnTopItemClick( menu, submenu, id )
{	  
	location.href = g_menus[ submenu ].items[id-1].url	
}

//-------------------------------------
// left menu item clicked
//-------------------------------------
function OnLeftItemClick( menu, id, sub_id )
{	
	if( sub_id != 0 )
		location.href = g_menus[ menu ].items[sub_id-1].url
	else
		location.href = g_menus[ menu ].items[id-1].url	
}

//-------------------------------------
// timeout removes drop down menu
//-------------------------------------
function KillMenu( id )
{
	if( id == 0 ) return
	var div = FIND( "menu"+id )
	div.style.visibility = "hidden"
	OnMenuMouse( id, 0 )
}
//-------------------------------------
// mouse over top level menu
//-------------------------------------
function OnMenuMouse( menu, on_state )
{	
	var img = FIND( "img_"+menu )		

	if( on_state == 1 )
	{		  
		img.src = g_menus[0].items[menu-1].imageOn
		clearTimeout( g_timer )
		if( g_menu != 0 && g_menu != menu)
		{
			
			KillMenu( g_menu )
		}
		g_menu = menu
	}
	else
	{
		if( g_active == menu )
			img.src = g_menus[0].items[menu-1].imageAt
		else
			img.src = g_menus[0].items[menu-1].imageOff
		g_menu = 0
	}
}
//-------------------------------------
// mouse over dropdown items
//-------------------------------------
function OnItemMouse( menu, item, on_state )
{	
	clearTimeout( g_timer )
	if( on_state )
	{		  
		if( browser == "nav6" )						
		{
			var row = FIND( "row"+menu+"_"+item )
			row.style.backgroundColor = "#ff9900"
		}
	}
	else
	{	  
		if( browser == "nav6" )						
		{
			var row = FIND( "row"+menu+"_"+item )
			row.style.backgroundColor = "#ffffff"
		}
		OffItem( menu )
	}
	
}

// For NS6. 
function FIND(item) 
{
	if (document.all) return(document.all[item]);
	if (document.getElementById) return(document.getElementById(item));
	return(false);
}

function WriteSitemap()
{
	var m, i, sub_id, str
	
	document.writeln( "<div style='visibility:visible; position:absolute; top:170px; left:180px; width:600px; height:400px;' >\n" )
	document.writeln( "<table cellpadding=0 cellspacing=0 border=0><tr>\n" )
	for( m=0; m<g_menus[0].items.length; m++ )
	{
		str = new String( g_menus[0].items[m].label )
		//document.writeln( "<td width=300 valign='top'><a href='"+g_menus[0].items[m].url+"'>"+g_menus[0].items[m].label+"</a><br>\n" )
		document.writeln( "<td width=300 valign='top'><font class='copy'><b>"+str.toUpperCase()+"</b><br></font>\n" )
		if(  g_menus[0].items[m].submenu > 0 )
			WriteSubmenu( g_menus[0].items[m].submenu, 1 )
		document.writeln( "</td>\n" )
	}
	document.writeln( "</tr></table><br><br><br>\n" )
	document.writeln( "	</div>\n" )
}

function WriteSubmenu( sub_id, level )
{
	var i
	var spacer = ""
	for( i=1; i<level; i++ )
		spacer += "&nbsp;&nbsp;"
		
	for( i=0; i<g_menus[sub_id].items.length; i++)
	{
		if( level == 1 )
			document.writeln( spacer+"<br><a href='"+g_menus[sub_id].items[i].url+"' class='copy'><b>"+g_menus[sub_id].items[i].label+"</b></a><br>\n" )
		else
			document.writeln( spacer+"<a href='"+g_menus[sub_id].items[i].url+"' class='copy'>"+g_menus[sub_id].items[i].label+"</a><br>\n" )
		if( g_menus[sub_id].items[i].submenu >= 0 && level < 2)
			WriteSubmenu( g_menus[sub_id].items[i].submenu, level+1 )
	}
	if( level == 3 )
		document.writeln( "<br>\n" )
}

//-------------------------------------
// write all div tags to the page
//-------------------------------------
function WriteMenus() 
{
	var content="",strStyle=""
	var hlink, menu, submenu, item, id, visibility, img
	  
	FindPresets()  
	g_active = parseInt( GetItemId( 1 ))+1 
	//alert( "top level="+g_active )
	for( m=1; m<=g_menus[0].items.length; m++ )
	{	
		document.writeln( "<div style='visibility:visible; position:absolute; top:0px; left:"+(330+150*(m-1))+"px; width:150px; height:100px;' >\n" )
		// menu header
		document.writeln( "<table cellpadding=0 cellspacing=0 border=0>\n" )
		if( g_active == m )
			img = g_menus[0].items[m-1].imageAt
		else
			img = g_menus[0].items[m-1].imageOff
		document.writeln( "		<tr><td><a href='javascript:OnMenuClick( "+m+" )' onMouseOver='OnMenuMouse("+m+", 1)' onMouseOut='OffItem("+m+")'><img id='img_"+m+"' src='"+img+"'  border='0' alt=''><br></a></td></tr>\n" )
		document.writeln( "</table></div>\n" )
		
		document.writeln( "<div id='menu"+m+"'  style='visibility:hidden; position:absolute; top:22px; left:"+(330+150*(m-1))+"px; width:150px; height:100px;' >\n" )					
		document.writeln( "<table width='"+g_menus[0].w+"' cellpadding=0 cellspacing=0 border=0>\n" )
		submenu = g_menus[0].items[m-1].submenu
		for( i=1; i<=g_menus[ submenu ].items.length; i++ )
		{  
			if( browser == "nav6" )
				document.writeln( "			<tr bgcolor='white' id='row"+m+"_"+i+"' ><td align=left class=top-nav-border><img src=../images/clear.gif width=1 height=14><font face=verdana,arial,helvertica size=1><a href='javascript:OnTopItemClick( "+m+", "+submenu+", "+i+" )' onMouseOver='OnItemMouse( "+m+", "+i+", true)' onMouseOut='OnItemMouse( "+m+", "+i+", false)' class=top-nav>"+g_menus[submenu].items[i-1].label+"</a></font></td></tr>\n" )			
			else
				document.writeln( "			<tr><td align=left class=top-nav-border ><font face=verdana,arial,helvertica size=1><a href='javascript:OnTopItemClick( "+m+", "+submenu+", "+i+" )' onMouseOver='OnItemMouse( "+m+", "+i+", true)' onMouseOut='OnItemMouse( "+m+", "+i+", false)' class=top-nav>"+g_menus[submenu].items[i-1].label+"</a></font></td></tr>\n" )			
		}
		document.writeln( "			<tr><td class=top-nav-bottom><img src=../images/clear.gif width="+g_menus[submenu].w+" height=1></td></tr>\n" )
		document.writeln( "	</table>\n" )
		document.writeln( "	</div>\n" )
	}
		 
	// side menu
	var menu2, left_at = 0, left_sub_at = 0	
	var menu_id = parseInt( GetMenuId( 2 ) )
	var item_id = parseInt( GetItemId( 2 ) )   
	//alert( "menu = "+menu_id+"_"+item_id )
	if( menu_id > 0 && g_menus[menu_id].items[item_id].submenu != -1 )
	{
		menu = g_menus[menu_id].items[item_id].submenu
		left_at = parseInt( GetItemId( 3 ) )+1
		left_sub_at = parseInt( GetItemId( 4 ) )+1

		document.writeln( "<div id='menu"+m+"'  style='visibility:visible; position:absolute; top:180px; left:10px; width:150px; height:100px;' >\n" )
		document.writeln( "<table width='"+g_menus[menu].w+"' cellpadding=0 cellspacing=0 border=0>\n" )

		for( i=1; i<=g_menus[ menu ].items.length; i++ )
		{
			hlink = "javascript:OnLeftItemClick( "+menu+", "+i+", 0 )"
			if( i == left_at ) // drawing an expanded menu
			{
				if( g_menus[ menu ].items[i-1].submenu != -1 )
				{
					document.writeln( "			<tr><td align=right class=left-nav-orange-more background='../images/arrow_down_bkgnd.gif'><a href='"+hlink+"' class=left-nav-at>"+g_menus[menu].items[i-1].label+"</a></td></tr>\n" )			
					menu2 = g_menus[ menu ].items[i-1].submenu
					for( j=1; j<=g_menus[ menu2 ].items.length; j++ )
					{
						hlink = "javascript:OnLeftItemClick( "+menu2+", "+i+", "+j+" )"
						if( j == left_sub_at ) // draw a selected sub menu item
						{
							if( j == g_menus[ menu2 ].items.length ) // last item in list
								document.writeln( "			<tr><td  height=19 align=right class=left-nav-sub-dark2 ><a href='"+hlink+"' class=left-nav-sub-at>"+g_menus[menu2].items[j-1].label+"&nbsp;&nbsp;&nbsp;&nbsp;</a></td></tr>\n" )							
							else
								document.writeln( "			<tr><td  height=21 align=right class=left-nav-sub-dark background='../images/backgnd_sub.gif'><a href='"+hlink+"' class=left-nav-sub-at>"+g_menus[menu2].items[j-1].label+"&nbsp;&nbsp;&nbsp;&nbsp;</a></td></tr>\n" )														
						}
						else //draw non-selected sub menu items
						{
							if( j == g_menus[ menu2 ].items.length ) // last item in list
								document.writeln( "			<tr><td  height=19 align=right class=left-nav-sub-gray2><a href='"+hlink+"' class=left-nav-sub>"+g_menus[menu2].items[j-1].label+"&nbsp;&nbsp;&nbsp;&nbsp;</a></td></tr>\n" )							
							else
								document.writeln( "			<tr><td  height=21 align=right class=left-nav-sub-gray background='../images/backgnd_sub.gif'><a href='"+hlink+"' class=left-nav-sub>"+g_menus[menu2].items[j-1].label+"&nbsp;&nbsp;&nbsp;&nbsp;</a></td></tr>\n" )							
						}
					}
				}
				else 
					document.writeln( "			<tr><td height=20 align=right class=left-nav-orange><a href='"+hlink+"' class=left-nav-at>"+g_menus[menu].items[i-1].label+"</a></td></tr>\n" )							
			}
			else // drawing a non selected menu
			{
				if( g_menus[ menu ].items[i-1].submenu != -1 ) // drawing an expandable menu item with arrow
					document.writeln( "			<tr><td height=20 align=right class=left-nav-border background='../images/arrow_right_bkgnd.gif'><a href='"+hlink+"' class=left-nav>"+g_menus[menu].items[i-1].label+"</a></td></tr>\n" )			
				else // drawing a non expandable menu item
					document.writeln( "			<tr><td height=20 align=right class=left-nav-border ><a href='"+hlink+"' class=left-nav>"+g_menus[menu].items[i-1].label+"</a></td></tr>\n" )							
			}
		}
		document.writeln( "			<tr><td class=left-nav-bottom><img src=../images/clear.gif width="+g_menus[menu].w+" height=1></td></tr>\n" )
		document.writeln( "	</table>\n" )
		document.writeln( "	</div>\n" )
	}
} // end WriteMenus()

   
function GetMenuId( preset )
{			
	if( preset > g_presets.length ) return 0
	var code = new String( g_presets[preset] )
	var ary = code.split( "_" )
	return ary[0]
}

function GetItemId( preset )
{	   
	if( preset > g_presets.length ) return -1
	var code = new String( g_presets[preset] )
	var ary = code.split( "_" )
	return ary[1]
}
//----------------------------------------------
// search through arrays until string is found
//----------------------------------------------
function FindPresets()
{
	var m, i, j, r, url, hash, substr
	
	for( m=0; m<g_menus.length; m++ )
	{
		for( i=0; i<g_menus[m].items.length; i++ )
			if( FindPath( g_menus[m].items[i].url, m, i ) ) return
	}
	// file not found in menu structure.  Check references next
	url = new String( top.window.location.href )
	for( r=0; r<g_reference.length; r++ )
	{
		if( url.indexOf( g_reference[r].fromURL) != -1 )
		{
			// file mapping found, now find path presets
			for( m=0; m<g_menus.length; m++ )
			{
				for( i=0; i<g_menus[m].items.length; i++ )
				{
					if( g_menus[m].items[i].url == g_reference[r].toURL )
					{
						pathcode = new String( g_menus[m].items[i].pathcode )
						g_presets = pathcode.split( "m" )
						return
					}
				}
			}
			break // mapped file not found
		}
	}
	
	// if file not found in menu arrays, default to previous menu
	hash = new String( top.window.location.hash )
	hash = hash.slice( 1 )
	g_presets = hash.split( "m" )
	
}

// active menu index, submenu menu index, submenu selected item, submenu selected menu selected item
//--------------------------------------------------------------
// check current url for occurance of path substring.
// strip all "../" from path before the compare.
// if found, split pathcode into preset array and return true.
//---------------------------------------------------------------
function FindPath( path, menu_id, item_id )
{
	var url = new String( top.window.location.href )
	var j, pathcode
	var substr = new String( path )
	
	// filter junk in front of string
	for( j=0; j<substr.length; j++ )
	{
		if( substr.charAt( j ) != "." && substr.charAt( j ) != "/" )
			break
	}
	substr = substr.substring( j )
				
	if( url.indexOf( substr, 0 ) != -1 )
	{
		pathcode = new String( g_menus[menu_id].items[item_id].pathcode )
		g_presets = pathcode.split( "m" )
		//alert( "pathcode = "+g_presets )
		return true
	}
	return false
}

