var lastMenuId = 0;
var timer;
var mSheets = new Array();
var menuPath = "pub/menu/";
var currZ = 100;
var mReady = false; 
var TopPos = 191; 

function setClass(obj, cl){
  if (!cl) cl = "";  
  obj.className = cl;
}

function setClassById(objid, cl){
  obj = document.getElementById(objid);
  setClass(obj, cl);
}

function changeDisplayById(objId){
  for (c = 0; c < changeDisplayById.arguments.length; c++){
    obj = document.getElementById(changeDisplayById.arguments[c]);
    if (obj.style.display == 'none') obj.style.display = 'block';
    else obj.style.display = 'none';
  }  
}

function gotoURL(url){
  if (!url) url = "/";
  if (window.event){
    var src = window.event.srcElement; 
    if((src.tagName != 'A') && ((src.tagName != 'IMG') || (src.parentElement.tagName != 'A'))){
      if (window.event.shiftKey) window.open(url);
      else document.location = url;
    }
  } else document.location = url;
}

function getParentLeftPos(obj){
  var res = 0;
  while (obj){
	obj = obj.offsetParent;
	if(obj)
	{
		res += obj.offsetLeft;
    }
  }
  return res;
}

function getLeftPos(obj){
  var res = 0;
  while (obj){
    res += obj.offsetLeft-1;
    obj = obj.offsetParent;
  }
  return res;
}

function trim(str){
  var re = /^ */;
  var res = str.replace(re, '');
  re = / *$/;
  return(res.replace(re, ''));
}

function getTopPos(obj){
  var res = 0;
  while (obj){
    res += obj.offsetTop;    
    obj = obj.offsetParent;
  }
  return res;
}

function preloadImg(){
	if (document.images){
		for (var c = 0; c < mImgNames.length; c++){
			var img = new Image();
			img.src = "pub/menu/" + mImgNames[c] + "_act.gif";
		}
	 }
}

function setImgSrc(idVal, srcVal){
  if (document.images) {
	  	document.images[idVal].src = "pub/"+ srcVal;
  }
}

function setImgSrcInput(idVal, srcVal){
  var obj = document.getElementById(idVal);
  if (obj){
		document.getElementById(idVal).src = "images/"+ srcVal;
  }
}

function setMenuImgSrc(idVal, srcVal){
  if (document.images){
	preloadImg();
  	document.images[idVal].src = menuPath + srcVal+".gif";
  }
}

function setMenuImgSrc2(idVal, idValName, srcVal){
  if (document.images) document.images[idVal].src = menuPath + srcVal+".gif";
}

function MenuLink(textVal, linkVal, subVal){
  this.text = textVal;
  this.action = linkVal;
  this.submenu = subVal;
}

function menuHideAll(){
 for (var c in mSheets) mSheets[c].hide();
}

function menuHideTimerSet(){
  timer = window.setTimeout(menuHideAll, 100);
}

function menuHideTimerReset(){
  if (timer) window.clearTimeout(timer);
}

function menuAddLink(textVal, linkVal){
  this.links[this.links.length] = new MenuLink(textVal, linkVal, null);
}

function menuAddSubmenu(textVal, linkVal){
  this.links[this.links.length] = new MenuLink(textVal, linkVal, new MenuSheet(this));
}

function menuShow(leftVal, topVal){
  this.block.style.left = leftVal + "px";
  this.block.style.top = topVal + "px";
  this.block.style.display = "block";
}

function menuHide(){
  this.hideCh();
  this.block.style.display = "none";
}

function menuFlip(leftVal, topVal){
  var disp = this.block.style.display;
  if (disp == "none") this.show(leftVal, topVal);
  else this.hide();
}

function menuHideCh(){
  for (var c in this.links){
    curLink = this.links[c];
    if (curLink.submenu) curLink.submenu.hide();
  }
}
function menuCreate(path){
	var res = "<table cellpadding=\"0\" cellspacing=\"0\" onmouseout=\"menuHideTimerSet()\" onmouseover=\"menuHideTimerReset()\" class=\"tab-menu-sh\"><tr><td class=\"padd_n\"><img src=\"images/mm_s.gif\" width=\"100%\" height=\"6\" /></td></tr>";
	var curLink;
	var newPath;
	if (path == null) path = "mSheets[" + this.id + "]";
	for (var c in this.links){
		curLink = this.links[c];
		res += "<tr><td class=\"blk-menu-sh";
		if (curLink.submenu) res += " blk-menu-arr";
		res += "\" onmouseover=\"setClass(this, 'blk-menu-sh-act";
		if (curLink.submenu) res += " blk-menu-arr-act";
		res += "'); ";
		res += path + ".hideCh()";
		if (curLink.submenu){
			newPath = path + ".links[" + c + "].submenu";
			res += "; " + newPath + ".show(getLeftPos(this) + this.offsetWidth, getTopPos(this) - 2)";
			curLink.submenu.create(newPath);
		}
		res += "\" onmouseout=\"setClass(this, 'blk-menu-sh";
		if (curLink.submenu) res += " blk-menu-arr";
		res += "')\" onclick=\"gotoURL('"+curLink.action+"')\" nowrap=\"nowrap\">" + curLink.text + "</td></tr>";
	}
	res += "<tr><td><img src=\"images/mm_s2.gif\" width=\"100%\" height=\"6\" /></td></tr></table>";
	this.block.innerHTML = res;
	this.block.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=90)";
}

function MenuSheet(parentObj){
  this.links = new Array();
  this.addLink = menuAddLink;
  this.addSubmenu = menuAddSubmenu;
  this.create = menuCreate;
  this.show = menuShow;
  this.hide = menuHide;
  this.flip = menuFlip;
  this.hideCh = menuHideCh;
  this.id = lastMenuId;
  lastMenuId++;  
  this.parent = parentObj; 
  this.block = document.createElement("DIV");
  this.block.style.display = "none";
  this.block.style.zIndex = currZ;
  currZ++;  
  this.block.className = "blk-menu";
  this.block.id = "ms" + this.id; 
  document.body.appendChild(this.block);      

}

function showMenu(objVal, numVal){
  if (mReady){
    menuHideAll();
	objVal.className = "item act";
	setImgSrc("p" + numVal, "menu/" + mImgNames[numVal] + ".gif");

	var itemLeftPosition = getLeftPos(objVal);
	var parentAbsoluteWidth = objVal.offsetParent.offsetWidth + getParentLeftPos(objVal);
	
	mSheets[numVal].block.style.display = "block";
	var subMenuWidth = mSheets[numVal].block.offsetWidth;
	if(itemLeftPosition + subMenuWidth > parentAbsoluteWidth)
	{
		itemLeftPosition = parentAbsoluteWidth - subMenuWidth;
	}
	
    mSheets[numVal].show(itemLeftPosition, TopPos);
    menuHideTimerReset();
  }  
}

function hideMenu(objVal, numVal){
  if (mReady){
    menuHideTimerSet();
    objVal.className = "item";
    setImgSrc("p" + numVal, "menu/" + mImgNames[numVal] + ".gif");
  }  
}

function createMenus(){
  for (c = 0; c < 9; c++) mSheets[c] = new MenuSheet(); 
	

// About Us
  mSheets[1].addLink("About Us", "index.html");
  mSheets[1].addLink("Comapny News", "index.html");
  mSheets[1].addLink("Financial Summary", "index.html");  
  mSheets[1].addLink("ISO9001:2000", "index.html");    

  for (var c in mSheets) mSheets[c].create();
  mReady = true;
}
