var lastMenuId = 0;
var timer;
var mSheets = new Array();
var currZ = 100;
var mReady = false;
var mLeftPos = 326;

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 = "<div class=\"menu-sh\" onmouseout=\"menuHideTimerSet()\" onmouseover=\"menuHideTimerReset()\"><table cellpadding=\"0\" cellspacing=\"0\" class=\"tab-menu-sh\">";
	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))";
			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 += "</table></div>";
	this.block.innerHTML = res;

}

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.className = "blk-menu";
	this.block.style.position = "absolute";
	this.block.style.display = "none";
	this.block.style.zIndex = currZ;
	currZ++;
	this.block.id = "ms" + this.id;
	document.body.appendChild(this.block);
}

function showMenu(objVal, numVal){
	if (mReady){
		menuHideAll();
		if(objVal.className!="menu_it_act hand"){
			objVal.className = "menu_a hand";
		}
		mSheets[numVal].show(getLeftPos(objVal), getTopPos(objVal) + 32);
		menuHideTimerReset();
	}
}

function hideMenu(objVal, numVal){
	if (mReady){
		menuHideTimerSet();
		if(objVal.className!="menu_it_act hand"){
			objVal.className = "menu_it hand";
		}
	}
}

function createMenus(){
	for (c = 0; c < 7; c++) mSheets[c] = new MenuSheet(); 
 
// Menu 0

	mSheets[0].addLink("Overview", "#");
	mSheets[0].addLink("News", "#");
	mSheets[0].addLink("Why Us", "#");
	mSheets[0].addLink("Technology Expertise", "#");
	mSheets[0].addLink("Testimonials", "#");

// Menu 1

	mSheets[1].addLink("Overview", "#");
	mSheets[1].addLink("Website Design &amp; Construction", "#");
	mSheets[1].addLink("Web Application Development", "#");
	mSheets[1].addSubmenu("Advanced Web Programming", "#");
		mSheets[1].links[3].submenu.addLink("Component Programming", "#");
		mSheets[1].links[3].submenu.addLink("Database Integration", "#");
		mSheets[1].links[3].submenu.addLink("Desktop-to-Web Migration", "#");
		mSheets[1].links[3].submenu.addLink("Opensource Software Integration", "#");
	mSheets[1].addSubmenu("Design &amp; Graphics", "#");	
		mSheets[1].links[4].submenu.addLink("Web design", "#");
		mSheets[1].links[4].submenu.addLink("Logo and Corporate Identity", "#");
		mSheets[1].links[4].submenu.addLink("Multimedia &amp; Flash", "#");
	mSheets[1].addLink("Maintenance &amp; Support", "#");

// Menu 2

	mSheets[2].addLink("Overview", "#");
	mSheets[2].addSubmenu("eCommerce", "#");
		mSheets[2].links[1].submenu.addLink("Shopping Cart Features", "#");
		mSheets[2].links[1].submenu.addLink("Payment System Integration", "#");
	mSheets[2].addLink("Secure Intranets/Extranets", "#");	
	mSheets[2].addLink("Content Management", "#");

// Menu 3

	mSheets[3].addLink("Overview", "#");
	mSheets[3].addSubmenu("Business Domains", "#");
		mSheets[3].links[1].submenu.addLink("Retail / eCommerce", "#");
		mSheets[3].links[1].submenu.addLink("B2B Portals", "#");
		mSheets[3].links[1].submenu.addLink("Enterprise Collaboration", "#");
		mSheets[3].links[1].submenu.addLink("Supply Chain Management", "#");
		mSheets[3].links[1].submenu.addLink("Customer Management", "#");
		mSheets[3].links[1].submenu.addLink("Mass Media", "#");
		mSheets[3].links[1].submenu.addLink("Online Community", "#");
		mSheets[3].links[1].submenu.addLink("e-Learning", "#");
		mSheets[3].links[1].submenu.addLink("Web Hosting", "#");
		mSheets[3].links[1].submenu.addLink("Corporate", "#");

	mSheets[3].addSubmenu("Expertise Areas", "#");
		mSheets[3].links[2].submenu.addLink("Website Design &amp; Construction", "#");
		mSheets[3].links[2].submenu.addLink("Internet Application Development", "#");
		mSheets[3].links[2].submenu.addLink("Secure Intranets/Extranets", "#");
		mSheets[3].links[2].submenu.addLink("Opensource Integration", "#");
		mSheets[3].links[2].submenu.addLink("Web Migration", "#");

// Menu 4

	mSheets[4].addLink("Contact Info", "#");
	mSheets[4].addLink("Request for Quote", "#");
	mSheets[4].addLink("Request for Info", "#");
	mSheets[4].addLink("Careers", "#");

for (var c in mSheets) mSheets[c].create();

mReady = true;
}
function showTab(name, curr, cnt)
{
    for (var i = 0; i < cnt; i++) 
    {
        var isActive = curr == i;
        document.getElementById(name + "_tab_" + i).className = isActive ? "active" : "";
        document.getElementById(name + "_cnt_" + i).style.display = isActive ? "block" : "none";
    }        
}
