// JavaScript Document

/*****************************************
*
* DHTML Navigation Drop Down Object
*
*
*****************************************/

//Images Object Class Constructor
function LmMenus(instanceRef, mBarDiv) {
//	alert("lmMenus created");
	if (document.images) {
		//Create Array - populated by initMenus function
		//which is called by document load event handler from lm_Utils.js
		//Each menus Array item is an object containg two props - 
		//mBarId - id of the menu Bar Image 
		//mDivId - id of the menu div
		this.menus = new Array();
		
		//Populate instanceRef variable which holds a reference to the variable used to
		//create new instances of this class
		this.instanceRef = instanceRef;
		
		//Create new instances of the LmImages and LmAPI Objects
		this.apiObj = new LmAPI();
		
		this.imgObj = new LmImages();
		
		//Re-Position Menu Bar Layer in IE
		/*if (this.apiObj.isIE) {
			//alert(this.apiObj.isIE);
			this.apiObj.shiftBy(mBarDiv, 1, 0);
			for (var i = 0; i < this.menus.length; i++) {
				//alert (this.menus[i].mBarId);
				this.apiObj.shiftBy(this.menus[i].mDivId, 1, 0);
			}
		}*/
		
		//Initialize timer variable used to hold set Timeout function in request hide method
		this.timer;
		
		this.shiftIntervalId;
		this.shiftObjId;
	}
}


LmMenus.prototype.requestHide = function() {
	this.timer = setTimeout(this.instanceRef+".hideMenus()", 80);
}

LmMenus.prototype.hideMenus =  function() {
	
	for (var i = 0; i < this.menus.length; i++) {
//alert (this.menus[i].mBarId);
		this.imgObj.addImage(this.menus[i].mBarId, this.menus[i].mBarW, this.menus[i].mBarH, this.menus[i].mBarOnState);
		this.imgObj.swpImage(this.menus[i].mBarId, 'off');
		this.apiObj.hide(this.menus[i].mDivId);
		
	}
}

LmMenus.prototype.showMenu =  function(imgId, menuDivId) {
	//alert(menuDivId);
	this.keepMenu();
	this.hideMenus();
 	this.imgObj.swpImage(imgId, 'on');
	this.apiObj.show(menuDivId);
}

LmMenus.prototype.keepMenu = function() {
	//alert ("Keep Menus");
	clearTimeout(this.timer);
}

LmMenus.prototype.swpColor = function(mItemId, color) {
	this.apiObj.setBGColor(mItemId, color);
}

LmMenus.prototype.swpMenuItem = function(mItemId, cssClass, statusUrl) {
	this.apiObj.setCssClass(mItemId, cssClass);
	if (statusUrl) {
		window.status = statusUrl;
	} else {
		window.status = "";
	}
}

LmMenus.prototype.goToUrl = function(href) {
	window.location.href = href;
}

LmMenus.prototype.blurField = function(fieldname) {
	documnet.getElementById(fieldname).blur();
}


LmMenus.prototype.slideMenuDown =  function(imgId, menuDivId) {
	this.keepMenu();
	this.hideMenus();
 	this.imgObj.swpImage(imgId, 'on');
	this.apiObj.show(menuDivId);
	this.shiftObjId = menuDivId;
	this.startShiftDown();
}

LmMenus.prototype.requestSlide = function() {
	this.timer = setTimeout(this.instanceRef+".startShiftUp()", 80);
}

LmMenus.prototype.startShiftDown =  function() {
	//alert ("startShiftDown" + this.shiftIntervalId);
	clearInterval(this.shiftIntervalId);
	this.shiftIntervalId = setInterval(this.instanceRef+".shiftMenuDown()", 10);
}

LmMenus.prototype.startShiftUp =  function() {
	clearInterval(this.shiftIntervalId);
	this.shiftIntervalId = setInterval(this.instanceRef+".shiftMenuUp()", 10);
}


LmMenus.prototype.shiftMenuDown =  function() {
	this.apiObj.shiftBy(this.shiftObjId, 0, 10);
	if (this.apiObj.getObjTop(this.shiftObjId) >= 57)
	{
		this.apiObj.shiftTo(this.shiftObjId, 0, 57);
		clearInterval(this.shiftIntervalId);
	}
}

LmMenus.prototype.shiftMenuUp =  function() {
	this.apiObj.shiftBy(this.shiftObjId, 0, -10);
	if (this.apiObj.getObjTop(this.shiftObjId) <= -103)
	{
		this.apiObj.shiftTo(this.shiftObjId, 0, -103);
		this.hideMenus();
		clearInterval(this.shiftIntervalId);
	}
}

//Create an instance of the LmMenus class
/*var asfGNav;

function initMenus() {
	asfGNav = new LmMenus('asfGNav');
	if (asfGNav.menus) {
		asfGNav.menus[0] = {mBarId:"ahome", mBarW:63, mBarH:19, mDivId:"homeMenu"};
		asfGNav.menus[1] = {mBarId:"aprogram", mBarW:76, mBarH:19, mDivId:"progMenu"};
		return true;
	} else {
		//alert("no Array");
		return false;
	}
}

document.onload = initMenus();*/
