   var hideTimer = 0;
	function InitMenu(id) {
	//debugger;
		var bar = document.getElementById(id);
		bar.parentNode.style.position = 'relative';
		bar.parentNode.style.paddingTop = '1px';
		bar.parentNode.style.zIndex = '10';
		if (!bar) return;
		bar = bar.getElementsByTagName('div');
		
		for (var i=0; i < bar.length; i++) {
			var menu = document.getElementById(bar[i].getAttribute('menu'));
			menu.style.visibility = "hidden";
			bar[i].onmouseover = new Function("ShowMenu('" + bar[i].id + "'); handPointer(this);");
			bar[i].onmouseout = new Function("hideTimer = setTimeout(\"HideMenu('"+ id + "')\", 400);");
			var Items = menu.getElementsByTagName('div');
			if (Items.length==0) bar[i].style.display = "none";
			for (var j=0; j < Items.length; j++) {
				var menuItem = Items[j];
				if (menuItem.getAttribute('menu')) { 
					//menuItem.getElementsByTagName('SPAN')[0].innerHTML += "<span id=" + menuItem.id + "_Arrow class='Arrow'>4</span>";
					menuItem.getElementsByTagName('SPAN')[0].innerHTML += "<img src='images/arrow.gif' id='" + menuItem.id + "_Arrow' class='Arrow'/>";
					//var tmp = eval(menuItem.id+"_Arrow");
					// tmp.style.pixelLeft = menu.getBoundingClientRect().Right //- tmp.offsetWidth - 15;
					FindSubMenu(menuItem.getAttribute('menu'), id);		
				}
				
				if (menuItem.getAttribute('cmd')) {
					menuItem.onclick = new Function("Do('" + menuItem.id + "'); HideMenu('" + id + "');");
					//menuItem.onclick = function(e) {Do(menuItem.id); HideMenu(id);};
				} 
				menuItem.onmouseover = new Function("highlightMenu('" + Items[j].id + "'); handPointer(this);");
				menuItem.onmouseout = new Function("hideTimer = window.setTimeout(\"HideMenu('" + id + "')\", 400);");
			}    	
		}
	}
	function FindSubMenu(subMenu, menuBarID) {
		//var menu=eval(subMenu)
		var menu = document.getElementById(subMenu);
		//var Items = menu.children
		var Items = menu.getElementsByTagName('DIV');
		for (var j=0; j < Items.length; j++) {
			menu.style.visibility = 'hidden';
			var menuItem = document.getElementById(Items[j].id)
			
			if (menuItem.getAttribute('menu')) {
				//menuItem.getElementsByTagName('SPAN')[0].innerHTML += "<span id=" + menuItem.id + "_Arrow class='Arrow'>4</span>";
				menuItem.getElementsByTagName('SPAN')[0].innerHTML += "<img src='images/arrow.gif' id='" + menuItem.id + "_Arrow' class='Arrow'/>";
					
				// var tmp = eval(menuItem.id+"_Arrow")
				//tmp.style.pixelLeft = 35 //menuItem.getBoundingClientRect().right - tmp.offsetWidth - 15
				FindSubMenu(menuItem.getAttribute('menu'), menuBarID);
			}
			if (menuItem.getAttribute('cmd') != null) {
				menuItem.onclick = new Function("Do('" + menuItem.id + "')");
			} 
			menuItem.onmouseover = new Function("highlightMenu('" + Items[j].id + "'); handPointer(this);");
			menuItem.onmouseout = new Function("hideTimer = setTimeout(\"HideMenu('" + menuBarID + "')\", 400);");
		}  
	} 
	function ShowMenu(id) {
	//debugger;
		var bar = document.getElementById(id);
		HideMenu(bar.parentNode.id);
		var menu = document.getElementById(bar.getAttribute('menu'));
		//bar.className="barOver"
		bar.className = bar.className.replace(/barOver/g, 'Bar');
		bar.className = bar.className.replace(/Bar/g, 'barOver');
	
	
		//menu.style.pixelTop =  getCoords(bar).y + bar.offsetHeight + document.body.scrollTop;
		//menu.style.top =  getCoords(bar).y + document.body.scrollTop;
		menu.style.top =  bar.offsetHeight + 7;
		// menu.style.top = 0;
	
		//alert(bar.offsetHeight + ':' + bar.parentNode.offsetHeight +':' + document.body.scrollTop);
		menu.style.left = getCoords(bar).x;
		menu.style.left = 5;
		//window.status = getCoords(menu).y + ':' + bar.offsetHeight;
	
		//alert(menu.style.top);
		//menu.style.left = bar.offsetLeft + document.body.scrollLeft;
		//window.status = window.status + '->' + id +':' + getCoords(bar).x + ':' + getCoords(bar).y
		//window.status = bar.offsetLeft  +':' + document.body.scrollLeft;
	
		var Elements = menu.getElementsByTagName('DIV');
		var mw = menu.offsetWidth - 3;
		for (var i=0; i < Elements.length; i++) {
			Elements[i].style.width = mw;
		}
		menu.style.visibility = "visible";
	
		hideShowCovered(menu);
	}	   
   
	function highlightMenu(id) {
		var obj = document.getElementById(id);
		var PElement = document.getElementById(obj.parentNode.id);
		var Elements = PElement.getElementsByTagName('DIV');
		for (var i=0; i < Elements.length; i++) {
			var TE = document.getElementById(Elements[i].id);
			//TE.className = "menuItem"
			TE.className = TE.className.replace(/menuItem/g, 'ItemMouseOver');
			TE.className = TE.className.replace(/ItemMouseOver/g, 'menuItem');
		}
	
		window.defaultStatus = obj.title;
		ShowSubMenu(obj);
		//obj.className="ItemMouseOver"
		obj.className = obj.className.replace(/ItemMouseOver/g, 'menuItem');
		if(obj.getAttribute('cmd') && obj.getAttribute('cmd').length > 0) {
			obj.className = obj.className.replace(/menuItem/g, 'ItemMouseOver');
		}
		if(obj.getAttribute('menu') && obj.getAttribute('menu').length > 0) {
			obj.className = obj.className.replace(/menuItem/g, 'ItemMouseOver');
		}
		handPointer(obj);
	}
   
	function Do(obj) {
		var obj = document.getElementById(obj);
		var cmd = obj.getAttribute('cmd');	
		//window.navigate(cmd)
		eval(cmd);
	}
   
	function HideMenu(id) {
		var obj = document.getElementById(id);
		var children = obj.getElementsByTagName('DIV');     
		var menuHid = false;
		for (var j=0; j < children.length; j++) {
			if (children[j].className.substr(0,7) == 'barOver') {
				var bar = document.getElementById(children[j].id);
				//bar.className="Bar"
				bar.className = bar.className.replace(/barOver/g, 'Bar');
			} else if (children[j].className.substr(0,13) == 'ItemMouseOver') {
				var item = document.getElementById(children[j].id);
				//item.className="menuItem"
				item.className = item.className.replace(/menuItem/g, 'ItemMouseOver');
				item.className = item.className.replace(/ItemMouseOver/g, 'menuItem');
			}
	
			if (children[j].getAttribute('menu')) {
				var childMenu = document.getElementById(children[j].getAttribute('menu'));
				if (childMenu.hasChildNodes())
					HideMenu(childMenu.id);
				childMenu.style.visibility = 'hidden';
				menuHid = true;
			}
		}
		if (menuHid) hideShowCovered(obj);
		window.clearTimeout(hideTimer);
	}
	function ShowSubMenu(obj) {
		PMenu = obj.parentNode;
		HideMenu(PMenu.id);
		if(obj.getAttribute('menu') != null) {
			var menu = document.getElementById(obj.getAttribute('menu'));
			var cmd = menu.getAttribute('showcmd');	
			if(cmd!='') eval(cmd);
			menu.style.top =  obj.offsetHeight +  5 + obj.offsetTop;
			// menu.style.top = 0;
			
			//alert(bar.offsetHeight + ':' + bar.parentNode.offsetHeight +':' + document.body.scrollTop);
			menu.style.left = getCoords(obj).x + obj.offsetWidth;
			//menu.style.pixelTop =  obj.getBoundingClientRect().top + Bdy.scrollTop
			//menu.style.pixelLeft = obj.getBoundingClientRect().right + Bdy.scrollLeft
			//if(menu.getBoundingClientRect().right > window.screen.availWidth )
			//  menu.style.pixelLeft = obj.getBoundingClientRect().left - menu.offsetWidth
			menu.style.visibility = 'visible';
			
			hideShowCoveredSubMenu(menu);
		}
	} 

	function hideShowCovered(el) {
		// This next if statement was add to speed up Menus in IE7.  This function is no longer needed in IE7.  Microsoft fixed the bug that DIVs could not float over Selects.
		if (document.documentElement && typeof document.documentElement.style.maxHeight!="undefined")
			return true;
		//var tags = new Array("applet", "iframe", "select");	//Elements to hide during popup
		var tags = new Array("applet", "select");	//Elements to hide during popup
		//var el = this.element;
		var p = getCoords(el);
		var EX1 = p.x;
		var EX2 = el.offsetWidth + EX1;
		var EY1 = p.y;
		var EY2 = el.offsetHeight + EY1;
		
		var inarow = 0;
		
		//MWC - To make the drop-down menus more snappy on pages with many <select> elements, 
		//I changed the element search order from (bottom to top) to (top to bottom) and 
		//added a count (in a row) of elements that are not covered.  When the count exceeds
		//a number, assume we're below the menu and don't need to test positions any further.
		
		//for (var k = tags.length; k > 0; ) {
		for (var k =0; k < tags.length; k++) {
			//var ar = document.getElementsByTagName(tags[--k]);
			var ar = document.getElementsByTagName(tags[k]);
			var cc = null;
			var bskip = false;
			
			//for (var i = ar.length; i > 0;) {
			for (var i=0; i < ar.length; i++) {
				//cc = ar[--i];
				cc = ar[i];
				bskip = false;
				
				//is element within a hidden div? if so, ignore it.
				var par = cc.parentNode;
				if (par) {
					if (tags[k] == 'select' && par.getAttribute('style') != '') {
						if(cc.parentNode.style.visibility=='hidden') {
							bskip = true;
						}
					}
				}
		
				if (!bskip) {			
					p = getAbsolutePos(cc);
					var CX1 = p.x;
					var CX2 = cc.offsetWidth + CX1;
					var CY1 = p.y;
					var CY2 = cc.offsetHeight + CY1;
					
					if (CX1 > EX2 || CX2 < EX1 || CY1 > EY2 || CY2 < EY1) {
						cc.style.visibility = 'visible'; //not covered
						if (++inarow > 21) break;
					} else {
						cc.style.visibility = 'hidden';	//covered - hide element
						inarow=0;
					}
				}
			}
		}
	}

	function hideShowCoveredSubMenu(el) {
		//Just like hideShowCovered, except does not unhide any elements.
		if (document.documentElement && typeof document.documentElement.style.maxHeight!="undefined")
			return true;
		//var tags = new Array("applet", "iframe", "select");	//Elements to hide during popup
		var tags = new Array("applet", "select");	//Elements to hide during popup
		//var el = this.element;
		var p = getCoords(el);
		var EX1 = p.x;
		var EX2 = el.offsetWidth + EX1;
		var EY1 = p.y;
		var EY2 = el.offsetHeight + EY1;
		
		var inarow = 0;
		
		//MWC - To make the drop-down menus more snappy on pages with many <select> elements, 
		//I changed the element search order from (bottom to top) to (top to bottom) and 
		//added a count (in a row) of elements that are not covered.  When the count exceeds
		//a number, assume we're below the menu and don't need to test positions any further.
		
		//for (var k = tags.length; k > 0; ) {
		for (var k =0; k < tags.length; k++) {
			//var ar = document.getElementsByTagName(tags[--k]);
			var ar = document.getElementsByTagName(tags[k]);
			var cc = null;
			var bskip = false;
			
			//for (var i = ar.length; i > 0;) {
			for (var i=0; i < ar.length; i++) {
				//cc = ar[--i];
				cc = ar[i];
				bskip = false;
				
				//is element within a hidden div? if so, ignore it.
				var par = cc.parentNode;
				if (par) {
					if (tags[k] == 'select' && par.getAttribute('style') != '') {
						if(cc.parentNode.style.visibility=='hidden') {
							bskip = true;
						}
					}
				}
		
				if (!bskip) {			
					p = getAbsolutePos(cc);
					var CX1 = p.x;
					var CX2 = cc.offsetWidth + CX1;
					var CY1 = p.y;
					var CY2 = cc.offsetHeight + CY1;
					
					if (CX1 > EX2 || CX2 < EX1 || CY1 > EY2 || CY2 < EY1) {
						if (++inarow > 21) break;
					} else {
						cc.style.visibility = 'hidden';	//covered - hide element
						inarow=0;
					}
				}
			}
		}
	}

function getAbsolutePos(el) {
	var r = { x: el.offsetLeft, y: el.offsetTop };
	if (el.offsetParent) {
		var tmp = getAbsolutePos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
};
	function getCoords (element) {
		window.status = '';
     var coords = { x: 0, y: 0, width: element.offsetWidth, height: element.offsetHeight };
     while (element) {
		// window.status = window.status + element.id + ':'+ element.nodeName + '=' + element.offsetTop + ' | ';
	if(element.tagName=='TD')
		coords.x = 0
	else	
       		coords.x += element.offsetLeft;
       coords.y += element.offsetTop;
       element = element.offsetParent;
     }

     return coords;
   }




 ///////////////////CascadedDropdown Menu/////////////////
 //Date : 08/09/2001               						//
 //Version : 1.0        								//
 //Author Mr.Arun N Kumar	                            //
 //EMail: n_arunk@hotmail.com							//		
 /////////////////////////////////////////////////////////
 // Modifications on this code is not recomended
 // Suggestions are welcome
