var numSubMenuItems=6;
var sections=["home","imaging","storage","microfilming","products","support","aboutus", "contactus"];

// IMAGING
subMenuItems1=[
	["Outsource Services","In-House Systems","Document Retrieval","Routing & Workflow","Application Integration","Full Text Retrieval","Data Archiving"],
	["imaging_outsource.html","imaging_inhouse.html","imaging_retrieval.html","imaging_workflow.html","imaging_integration.html","imaging_fulltext.html","imaging_archiving.html"]
];

// STORAGE
// 2005.01.26 MJR - Removing "Order Supplies" per Lynn.
// ["Records Center","Document Retrieval","Order Supplies"],
subMenuItems2=[
	["Records Center","Document Retrieval"],
	["storage_center.html","storage_retrieval.html"]
];

// MICROFILMING
subMenuItems3=[
	["Film Processing","Computer-Assisted Retrieval","Microfiche"],
	["micro_processing.html","micro_retrieval.html","micro_microfiche.html"]
];

// PRODUCTS
subMenuItems4=[
	["Software","Hardware"],
	["products_software.html","products_hardware.html"]
];

// SUPPORT
subMenuItems5=[
	["Installation & Training","Help Desk"],
	["support_training.html","support_helpdesk.html"]
];

// ABOUT US
subMenuItems6=[
	["Company Overview","Directions"],
	["aboutus_overview.html","aboutus_directions.html"]
];


function writeMenus() 
{
	var d=document;
	for (i=1;i<=numSubMenuItems;i++) 
	{
		var currentItems=eval("subMenuItems"+i);
		d.write("<div id=\"menu"+i+"Container\"><div id=\"menu"+i+"Content\" class=\"submenu\"><div class=\"options"+i+"\">");
		for (j=0;j<currentItems[0].length;j++) d.write("<a href=\""+currentItems[1][j]+"\">"+currentItems[0][j]+"</a>");
		d.write("</div></div></div>");
	}
}

mymenu.Registry = []
mymenu.aniLen = 2
mymenu.hideDelay = 25
mymenu.minCPUResolution = 10
// constructor
function mymenu(id, dir, left, top, width, height)
{
	this.ie = document.all ? 1 : 0
	this.ns4 = document.layers ? 1 : 0
	this.dom = document.getElementById ? 1 : 0
	if (this.ie || this.ns4 || this.dom)
	{
		this.id = id
		this.dir = dir
		this.orientation = dir == "left" || dir == "right" ? "h" : "v"
		this.dirType = dir == "right" || dir == "down" ? "-" : "+"
		this.dim = this.orientation == "h" ? width : height
		this.hideTimer = false
		this.aniTimer = false
		this.open = false
		this.over = false
		this.startTime = 0
		this.gRef = "mymenu_"+id
		eval(this.gRef+"=this")
		mymenu.Registry[id] = this
		var d = document
		var strCSS = '<style type="text/css">';
		strCSS += '#' + this.id + 'Container { visibility:hidden; '
		strCSS += 'left:' + left + 'px; '
		strCSS += 'top:' + top + 'px; '
		strCSS += 'overflow:hidden; z-index:10000; }'
		strCSS += '#' + this.id + 'Container, #' + this.id + 'Content { position:absolute; '
		strCSS += 'width:' + width + 'px; '
		strCSS += 'height:' + height + 'px; '
		strCSS += 'clip:rect(0 ' + width + ' ' + height + ' 0); '
		strCSS += '}'
		strCSS += '</style>'
		d.write(strCSS)
		this.load()
	}
}

mymenu.prototype.load = function()
{
	var d = document
	var lyrId1 = this.id + "Container"
	var lyrId2 = this.id + "Content"
	var obj1 = this.dom ? d.getElementById(lyrId1) : this.ie ? d.all[lyrId1] : d.layers[lyrId1]
	if (obj1) var obj2 = this.ns4 ? obj1.layers[lyrId2] : this.ie ? d.all[lyrId2] : d.getElementById(lyrId2)
	var temp
	if (!obj1 || !obj2) window.setTimeout(this.gRef + ".load()", 100)
	else
	{
		this.container = obj1
		this.menu = obj2
		this.style = this.ns4 ? this.menu : this.menu.style
		this.homePos = eval("0" + this.dirType + this.dim)
		this.outPos = 0
		this.accelConst = (this.outPos - this.homePos) / mymenu.aniLen / mymenu.aniLen
		// set event handlers.
		if (this.ns4) this.menu.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
		this.menu.onmouseover = new Function("mymenu.showMenu('" + this.id + "')")
		this.menu.onmouseout = new Function("mymenu.hideMenu('" + this.id + "')")
		//set initial state
		this.endSlide()
	}
}

mymenu.showMenu = function(id)
{
	var reg = mymenu.Registry
	var obj = mymenu.Registry[id]
	if (obj.container)
	{
		obj.over = true
		for (menu in reg) if (id != menu) mymenu.hide(menu)
		if (obj.hideTimer) { reg[id].hideTimer = window.clearTimeout(reg[id].hideTimer) }
		if (!obj.open && !obj.aniTimer) reg[id].startSlide(true)
	}
}

mymenu.hideMenu = function(id)
{
	var obj = mymenu.Registry[id]
	if (obj.container)
	{
		if (obj.hideTimer) window.clearTimeout(obj.hideTimer)
		obj.hideTimer = window.setTimeout("mymenu.hide('" + id + "')", mymenu.hideDelay);
	}
}

mymenu.hideAll = function()
{
	var reg = mymenu.Registry
	for (menu in reg)
	{
		mymenu.hide(menu);
		if (menu.hideTimer) window.clearTimeout(menu.hideTimer);
	}
}

mymenu.hide = function(id)
{
	var obj = mymenu.Registry[id]
	obj.over = false
	if (obj.hideTimer) window.clearTimeout(obj.hideTimer)
	obj.hideTimer = 0
	if (obj.open && !obj.aniTimer) obj.startSlide(false)
}

mymenu.prototype.startSlide = function(open)
{
	this[open ? "onactivate" : "ondeactivate"]()
	this.open = open
	if (open) this.setVisibility(true)
	this.startTime = (new Date()).getTime()
	this.aniTimer = window.setInterval(this.gRef + ".slide()", mymenu.minCPUResolution)
}

mymenu.prototype.slide = function()
{
	var elapsed = (new Date()).getTime() - this.startTime
	if (elapsed > mymenu.aniLen) this.endSlide()
	else
	{
		var d = Math.round(Math.pow(mymenu.aniLen-elapsed, 2) * this.accelConst)
		if (this.open && this.dirType == "-") d = -d
		else if (this.open && this.dirType == "+") d = -d
		else if (!this.open && this.dirType == "-") d = -this.dim + d
		else d = this.dim + d
		this.moveTo(d)
	}
}

mymenu.prototype.endSlide = function()
{
	this.aniTimer = window.clearTimeout(this.aniTimer)
	this.moveTo(this.open ? this.outPos : this.homePos)
	if (!this.open) this.setVisibility(false)
	if ((this.open && !this.over) || (!this.open && this.over))
	{
		this.startSlide(this.over)
	}
}

mymenu.prototype.setVisibility = function(bShow)
{
	var s = this.ns4 ? this.container : this.container.style
	s.visibility = bShow ? "visible" : "hidden"
}

mymenu.prototype.moveTo = function(p)
{
	this.style[this.orientation == "h" ? "left" : "top"] = this.ns4 ? p : p + "px"
}

mymenu.prototype.getPos = function(c)
{
	return parseInt(this.style[c])
}

mymenu.prototype.onactivate = function() { }
mymenu.prototype.ondeactivate = function() { }


/* (id, dir, left, top, width, height) */
var menus = [
	new mymenu("menu1", "down", 104, 139, 170, 200),
	new mymenu("menu2", "down", 203, 139, 170, 200),
	new mymenu("menu3", "down", 302, 139, 170, 200),
	new mymenu("menu4", "down", 401, 139, 170, 200),
	new mymenu("menu5", "down", 500, 139, 170, 200),
	new mymenu("menu6", "down", 599, 139, 170, 200),
	new mymenu("menu7", "down", 698, 139, 170, 200)
]

for (var i = 0; i < menus.length; i++)
{
	menus[i].onactivate = new Function("document.getElementById('act" + i + "').className='active';");
	menus[i].ondeactivate = new Function("document.getElementById('act" + i + "').className='';");
}
