// THIS IS NOT THE DATA FILE. ONLY EDIT THE DATA FILE UNLESS YOU ARE 100% SURE YOU KNOW WHAT YOU ARE DOING.
// Modification Record:
// 02Jun2001 atp Original Release of Browser Handling, Prototypes, Menu Functions, DHTML

// BROWSER HANDLING


function WM_netscapeCssFix()
{
    // This part was inspired by Matthew_Baird@wayfarer.com
    // It gets around another unfortunate bug whereby Netscape 
    // fires a resize event when the scrollbars pop up. This 
    // checks to make sure that the window's available size 
    // has actually changed.

	if (document.WM.WM_netscapeCssFix.initWindowWidth != window.innerWidth || document.WM.WM_netscapeCssFix.initWindowHeight != window.innerHeight) {
		document.location = document.location;
        }
}

function WM_netscapeCssFixCheckIn()
{
    // This function checks to make sure the version of Netscape 
    // in use contains the bug; if so, it records the window's 
    // width and height and sets all resize events to be handled 
    // by the WM_netscapeCssFix() function.

	if ((navigator.appName == 'Netscape') && (parseInt(navigator.appVersion) == 4)) {
		if (typeof document.WM == 'undefined') {
			document.WM = new Object;
		}
		if (typeof document.WM.WM_scaleFont == 'undefined') {
			document.WM.WM_netscapeCssFix = new Object;
			document.WM.WM_netscapeCssFix.initWindowWidth = window.innerWidth;
			document.WM.WM_netscapeCssFix.initWindowHeight = window.innerHeight;
		}
		window.onresize = WM_netscapeCssFix;
	}
}

WM_netscapeCssFixCheckIn()



var ns = false;
var ie = false;
var mz = false;

if (document.layers) {
ns = true;
LAYERCLOSE = '</layer>';
}
else if (document.all) { 
ie = true;
LAYERCLOSE = '</div>';
}
else if (document.getElementById) {
ie = true;
mz = true;
LAYERCLOSE = '</div>';
}





// PROTOTYPES AND FUNCTIONS FOR MENU SYSTEM

function Menu (graphic) {
	this.graphic = graphic;
	this.menu_items = new Array();
}
Menu.prototype.draw = DrawMenu;

function MenuItem (id, name, url, submenuid) {
	this.id = id;
	this.name = name;
	this.url = url;
	this.sub_menu = new SubMenu (submenuid, name, url);
}
MenuItem.prototype.draw = DrawMenuItem;

function SubMenu (id, name, url) {
	this.id = id;
	this.name = name;
	this.url = url;
	this.submenu_items = new Array();
} 
SubMenu.prototype.draw = DrawSubMenu;

function SubMenuItem (id, name, url, graphic, heighttext) {
	this.id = id;
	this.name = name;
	this.url = url;
	this.graphic = graphic;
	this.heighttext = heighttext;
}
SubMenuItem.prototype.draw = DrawSubMenuItem;
SubMenuItem.prototype.height = ReturnSubHeight;

var buttNorm = new Array ();
var buttOver = new Array ();

function DrawMenu (layername) {
	menu_hold ="";
	if (ie) {	
		menu_hold += '<style media="screen" type="text/css">#' + layername + 'back { position:absolute; top: ' + Menu.TOP + 'px; left: ' + Menu.LEFT + 'px}</STYLE>';
		menu_hold += '<div id="' + layername + 'back' + '">';
		menu_hold += '<img src="' + this.graphic + '">';
		menu_hold += '</div>';
	}
	if (ns) {
		menu_hold += '<layer id="' + layername + 'back" top = "' + Menu.TOP + 'px" left = "' + Menu.LEFT + 'px" height ="' + Menu.CELLHEIGHT + 'px' + '">';
		menu_hold += '<img src="' + this.graphic + '">';
		menu_hold += '</layer>';
	}	
	if (ie) {	
		menu_hold += '<style media="screen" type="text/css">#' + layername + '  { position:absolute; top: ' + Menu.TOP + 'px; left: ' + Menu.LEFT + 'px; height: ' + Menu.CELLHEIGHT + 'px; }</STYLE>';
		menu_hold += '<div id="' + layername + '">';
		menu_hold += '<table border="0" cellpadding="0" cellspacing="0"><tr>';
		menu_hold += '<td width="' + Menu.LEFTOFFSET + 'px" height="' + Menu.CELLHEIGHT + 'px">';
	}
	if (ns) {
		menu_hold += '<layer id="' + layername + '" top = "' + Menu.TOP + 'px" left = "' + Menu.LEFT + 'px" height ="' + Menu.CELLHEIGHT + 'px' + '">';
	}
	for (i=0; i<this.menu_items.length; i++) {
		menu_hold += this.menu_items[i].draw(i);
		}
	if (ie) {
		menu_hold += '</tr></table>';
	}
	menu_hold += LAYERCLOSE;

	for (j=0; j<this.menu_items.length; j++) {
		menu_hold += this.menu_items[j].sub_menu.draw(j);
	}

	// Preload graphics
	var butt_norm = new Array ();
	var butt_over = new Array ();
	for (menu_i=0; menu_i<this.menu_items.length; menu_i++) {
		butt_norm[menu_i] = new Array ();
		butt_over[menu_i] = new Array ();
		for (sub_i=0; sub_i<this.menu_items[menu_i].sub_menu.submenu_items.length; sub_i++) {
			butt_norm[menu_i][sub_i] = this.menu_items[menu_i].sub_menu.submenu_items[sub_i].graphic + '.gif';
			butt_over[menu_i][sub_i] = this.menu_items[menu_i].sub_menu.submenu_items[sub_i].graphic + '_ov.gif';
			}
		}


	buttNorm = preload_images ( butt_norm );
	buttOver = preload_images ( butt_over );
	return menu_hold;
}

function DrawMenuItem(index) {
	var theurl = this.url
	var subid = this.sub_menu.id;
	menuitem_hold = "";
	if (ie) {
		menuitem_hold += '<td id="' + this.id + '" width ="' + Menu.CELLWIDTH + '" height ="' + Menu.CELLHEIGHT + '" onmouseover = \'MenuOver("' + subid + '")\' onmouseout = MenuOut("' +subid + '") onclick = SubMenuClick("' + theurl + '") class="menuitem">';
	}
	if (ns) {
		menuitem_hold += '<layer id="' + this.id + '" left="' + (index * Menu.CELLWIDTH + Menu.LEFTOFFSET) + '" width="' + Menu.CELLWIDTH + '" height = "' + Menu.CELLHEIGHT + '" onmouseover = \'MenuOver("' + subid + '")\' onmouseout = MenuOut("' +subid + '") class="menuitem">';
		menuitem_hold += '<a class="menuitem" href ="' + theurl + '">'

	}
	menuitem_hold += '<img src="http://' + location.hostname +'/images/layout/1by1.gif" width = "' + Menu.CELLWIDTH + 'px" height = "' + Menu.CELLHEIGHT + 'px" alt ="' + this.name + '" border=0>';
	if (ie) {
		menuitem_hold += '</td>';
	}
	if (ns) {
		menuitem_hold += '</a></layer>'
	}
	return menuitem_hold;
}


function DrawSubMenu(index) {
	var parentid = this.id
	submenu_hold ="";
	if (ie) {
		submenu_hold += '<style media="screen" type="text/css">#' + this.id + ' { position:absolute; top: ' + (Menu.TOP + Menu.CELLHEIGHT) + 'px; left: ' + (index * Menu.CELLWIDTH + Menu.LEFT + Menu.LEFTOFFSET) +  'px; width: ' + Menu.CELLWIDTH + 'px; z-index: 1 }</STYLE>';
		submenu_hold += '<div id="' + this.id + '">';
		submenu_hold += '<table border="0" cellpadding="0" cellspacing="0">';
	}
	if (ns) {
		submenu_hold += '<layer id="' + this.id + '" z-index=1 top = "' + (Menu.TOP + Menu.CELLHEIGHT) + 'px" left = "' + (index * Menu.CELLWIDTH + Menu.LEFT + Menu.LEFTOFFSET) + 'px" width ="' + Menu.CELLWIDTH + 'px visibility="hide"' + '">';
	}
	for (i=0; i<this.submenu_items.length; i++) {
		var topposition = 0
		for (m=0; m<i; m++) {
			topposition += this.submenu_items[m].height();
		}
	submenu_hold += this.submenu_items[i].draw(i, parentid, topposition, index);
	}
	if (ie) {
		submenu_hold += '<tr><td><img src="' + Menu.CAP + '"></td></tr></table>';
	}
	if (ns) {
		var lasttopposition = 0
		for (m=0; m<i; m++) {
			lasttopposition += this.submenu_items[m].height();
		}
		submenu_hold += '<layer left="0" top = "' + lasttopposition + '" width="' + Menu.SUBCELLWIDTH + '" height = "' + Menu.SUBCELLHEIGHT +'"><img src="' + Menu.CAP + '" visibility="hide"></layer>'; 
	}
	
	submenu_hold += LAYERCLOSE;
	return submenu_hold;
}

function DrawSubMenuItem(index, parentid, topposition, parentindex) {
	var theurl = this.url;
	var itemid = this.id
	var CELLHEIGHT = this.height();
	submenuitem_hold = "";
	if (ie) {
		submenuitem_hold += '<tr><td id ="' + itemid + '" width ="' + Menu.CELLWIDTH + '" height ="' + CELLHEIGHT + '" onmouseover = \'SubMenuOver("' + parentid + '", "' +  itemid + '", "' + parentindex + '", "' + index + '")\' onmouseout = \'SubMenuOut("' + parentid + '", "' +  itemid + '", "' + parentindex + '", "' + index + '")\' onclick = SubMenuClick("' + theurl + '") class = "menuitem" bgcolor="' + Menu.SUBMENUITEM_BGCOLOR + '">';
	}
	if (ns) {
		submenuitem_hold += '<layer id ="' + itemid + '" left="0" top = "' + topposition + '" width="' + Menu.CELLWIDTH + '" height = "' + CELLHEIGHT + '" onmouseover = \'SubMenuOver("' + parentid + '", "' +  itemid + '", "' + parentindex + '", "' + index + '")\' onmouseout = \'SubMenuOut("' + parentid + '", "' +  itemid + '", "' + parentindex + '", "' + index + '")\' class="menuitem" bgcolor="' + Menu.SUBMENUITEM_BGCOLOR + '">'; 
		submenuitem_hold += '<a class="submenuitem" href ="' + theurl + '">';
	}
	submenuitem_hold += '<img name="' + this.id + 'img" src="' + this.graphic + '.gif" alt="' + this.name + '" height="' + CELLHEIGHT + 'px" width="' + Menu.CELLWIDTH + 'px" border="0">'; 
	if (ie) {
		submenuitem_hold += '</td></tr>';
	}
	if (ns) {
		submenuitem_hold += '</a></layer>'
	}
	return submenuitem_hold;
}
	
function ReturnSubHeight() {
	if (this.heighttext == 'tall') {
		return Menu.SUBCELLHEIGHTTALL
	}
	if (this.heighttext == 'short') {
		return Menu.SUBCELLHEIGHTSHORT
	}
}

// DHTML

var oldlayer = "";
theTimeOut = setTimeout('MenuOver()' , 200);
clearTimeout(theTimeOut);

function ShowLayer(layerid) {
	if (ns) {
		document.layers[layerid].visibility = 'show';
	}
	else if (mz) {
		document.getElementById(layerid).style.visibility = 'visible';
	}
	else	if (ie) {
		document.all[layerid].style.visibility = 'visible';
	}
}

function HideLayer(layerid) {
	if (ns) {
		document.layers[layerid].visibility = 'hide';
	}
	else if (mz) {
		document.getElementById(layerid).style.visibility = 'hidden';
	}
	else if (ie) {
		document.all[layerid].style.visibility = 'hidden';
	}
}

function MenuOver(layerid) {
	clearTimeout(theTimeOut);
	if (oldlayer && oldlayer != layerid) {
		HideLayer(oldlayer);
	}
	ShowLayer(layerid);
}

function MenuOut(layerid) {
	theTimeOut = setTimeout('HideLayer("' + layerid+ '")' , 200);
	oldlayer = layerid;
}

function SubMenuOver (layerid, itemid, menuindex, subindex) {
	clearTimeout(theTimeOut);
	eval ( "document." + itemid + "img.src=buttOver[" + menuindex + "][" + subindex + "].src" );
}

function SubMenuOut (layerid, itemid, menuindex, subindex) {
	theTimeOut = setTimeout('HideLayer("' + layerid+ '")' , 200);
	oldlayer = layerid;
	eval ( "document." + itemid + "img.src=buttNorm[" + menuindex + "][" + subindex + "].src" );
}

function SubMenuClick(theurl) {
	top.location.href = theurl
}


// PRELOAD  BUTTONS

function preload_images ( img_array) {
	var images = new Array;
	for ( var img_onum=0; img_onum<img_array.length; img_onum++ ) {
		images[img_onum] = new Array ();	
		for (img_inum=0; img_inum<img_array[img_onum].length; img_inum++) {
			images[img_onum][img_inum] = new Image ();
			var url = img_array[img_onum][img_inum];
			images[img_onum][img_inum].src = url;
		}
	}
	return ( images );
	
}


// msgbox = window.open();
// msgbox.document.write('navigator.appCodeName = ' + navigator.appCodeName + '<br>');
// msgbox.document.write('navigator.appName = ' + navigator.appName + '<br>');
// msgbox.document.write('navigator.appVersion = ' + navigator.appVersion + '<br>');
// msgbox.document.write('navigator.language = ' + navigator.language + '<br>');
// msgbox.document.write('navigator.platforms = ' + navigator.platform + '<br>');
// msgbox.document.write('navigator.userAgent = ' + navigator.userAgent + '<br>');
// msgbox.document.write(navigator.appVersion.indexOf('5.'));
// msgbox.document.write('<br>editing number 667');
// msgbox.document.write('<br>ns = ' + ns);
// msgbox.document.write('<br>ie = ' + ie);
//  msgbox.document.write('<br>mz = ' + mz);
//  if (document.all) {msgbox.document.write('<br>YIPPIE!!!!');}else{msgbox.document.write('<br>BUMMER');}

