var IE4 = (document.all) ? 1 : 0;
var hideDelay = 0; //ms
var shiftX = -4;
var shiftY = -2;
var cursorY = 0;
var cursorShiftX = 13;


// ------------
// menu images
// ------------
function PicsLoader()
{
preLoad = new Array();
for (i = 0; i < 18; i ++)
	{
	preLoad[i] = new Image();
	}
	preLoad[0].src = "http://www.pragma-soft.ru/images/menu_news_on.gif";
	preLoad[1].src = "http://www.pragma-soft.ru/images/menu_services_on.gif";
	preLoad[2].src = "http://www.pragma-soft.ru/images/menu_products_on.gif";
	preLoad[3].src = "http://www.pragma-soft.ru/images/menu_techs_on.gif";
	preLoad[4].src = "http://www.pragma-soft.ru/images/menu_about_on.gif";
	preLoad[5].src = "http://www.pragma-soft.ru/images/arrow2_on.gif";
	preLoad[6].src = "http://www.pragma-soft.ru/images/arrow8_green.gif";
	preLoad[7].src = "http://www.pragma-soft.ru/images/arrow_green.gif";
	preLoad[8].src = "http://www.pragma-soft.ru/images/arrow_prod.gif";
	preLoad[9].src = "http://www.pragma-soft.ru/images/arrow_about.gif";
	preLoad[10].src = "http://www.pragma-soft.ru/images/arrow_news.gif";
	preLoad[11].src = "http://www.pragma-soft.ru/images/arrow_serv.gif";
	preLoad[12].src = "http://www.pragma-soft.ru/images/arrow_tech.gif";
	preLoad[13].src = "http://www.pragma-soft.ru/images/arrow8_prod.gif";
	preLoad[14].src = "http://www.pragma-soft.ru/images/arrow8_about.gif";
	preLoad[15].src = "http://www.pragma-soft.ru/images/arrow8_news.gif";
	preLoad[16].src = "http://www.pragma-soft.ru/images/arrow8_serv.gif";
	preLoad[17].src = "http://www.pragma-soft.ru/images/arrow8_tech.gif";
}


	function _showSubmenu(action, ev, src)
		{
			if (src.children.tags("IMG")[0].src.indexOf('_on.gif') < 0)
			{
				src.children.tags("IMG")[0].src = src.children.tags("IMG")[0].src.substr (0, src.children.tags("IMG")[0].src.length - 4 ) + '_on.gif';
				src.parentElement.bgColor='#8796A0';
			}
			showSubmenu(action, ev);			
		}
		
		function on(src)
		{
			if (src.parentElement.children.tags("IMG")[0].src.indexOf('_on.gif') < 0)
			{
				src.parentElement.children.tags("IMG")[0].src = src.parentElement.children.tags("IMG")[0].src.substr (0, src.parentElement.children.tags("IMG")[0].src.length - 4 ) + '_on.gif';
			}			
		}
		function off(src)
		{
			if (src.parentElement.children.tags("IMG")[0].src.indexOf('_on.gif') > -1)
			{
				src.parentElement.children.tags("IMG")[0].src = src.parentElement.children.tags("IMG")[0].src.replace('_on', '');
			}			
		}
		
		function SetImage(src, img)
		{
			src.parentElement.children.tags("IMG")[0].src = img;
		}
		
		function _on(src)
		{
			if (src.children.tags("IMG")[0].src.indexOf('_on.gif') < 0)
			{
				src.children.tags("IMG")[0].src = src.children.tags("IMG")[0].src.substr (0, src.children.tags("IMG")[0].src.length - 4 ) + '_on.gif';
			}			
		}
		function _off(src)
		{
			if (src.children.tags("IMG")[0].src.indexOf('_on.gif') > -1)
			{
				src.children.tags("IMG")[0].src = src.children.tags("IMG")[0].src.replace('_on', '');
			}			
		}		

function menuItem(name, title, href, submenu) {
	this.name = name;
	this.title = title;
	this.href = href;
	this.lock = false;
	this.itemFocused = false;
	this.submenuFocused = false;
	this.submenu = submenu;
	return this;
}

var theMenu = new Array(
	new menuItem("About", "О компании", "/about", new Array(
		new menuItem("Company", "Обзор компании", "http://www.pragma-soft.ru/about/company.htm", new Array()),	
		new menuItem("Advantages", "Преимущества", "http://www.pragma-soft.ru/about/advantages.htm", new Array()),
		new menuItem("Works", "Работы", "http://www.pragma-soft.ru/about/works.htm", new Array()),
		new menuItem("Refs", "Отзывы клиентов", "http://www.pragma-soft.ru/about/refs.htm", new Array()),
		new menuItem("Job", "Вакансии", "http://www.pragma-soft.ru/about/job.htm", new Array())
	)),
	new menuItem("News", "Новости", "/news", new Array(
		new menuItem("News&Events", "Новости", "http://www.pragma-soft.ru/news/news.htm", new Array()), 	
		new menuItem("Press-releases", "Пресс-релизы", "http://www.pragma-soft.ru/news/prs.htm", new Array())		
	)),
	new menuItem("Prod", "Решения", "/products", new Array(
		new menuItem("Info", "ИНФОПОРТ 2.0", "http://www.pragma-soft.ru/products/ip.htm", new Array()), 
		new menuItem("Trade", "ТРЕЙДМАСТЕР 1.4", "http://www.pragma-soft.ru/products/tm.htm", new Array()), 
		new menuItem("Fin", "ФИНДИРЕКТОР 2.1", "http://www.pragma-soft.ru/products/fr.htm", new Array())
	)),
	new menuItem("Serv", "Услуги", "/services", new Array(
		new menuItem("Services", "Разработка", "http://www.pragma-soft.ru/services/softdev.htm", new Array()), 	
		new menuItem("Services", "Тестирование", "http://www.pragma-soft.ru/services/testing.htm", new Array()),
		new menuItem("Solutions", "Интернет-решения", "http://www.pragma-soft.ru/services/inet.htm", new Array()),
		new menuItem("Support", "Техподдержка", "http://www.pragma-soft.ru/services/support.htm", new Array()),
		new menuItem("Marketing", "Маркетинг", "http://www.pragma-soft.ru/services/marketing.htm", new Array()),
		new menuItem("LAN", "ЛВС и сетевое ПО", "http://www.pragma-soft.ru/services/lan.htm", new Array())
	)),
	new menuItem("Tech", "Технологии", "/technologies", new Array(		
		new menuItem("Methodology", "Методология", "http://www.pragma-soft.ru/technologies/methodology.htm", new Array()),
		new menuItem("RemoteDev", "Удаленная разработка", "http://www.pragma-soft.ru/technologies/remote.htm", new Array()),
		new menuItem("Tools", "Инструментарий", "http://www.pragma-soft.ru/technologies/tools.htm", new Array())
	))

);

var theRoot = new menuItem("Root", "Home Page", "index.html", theMenu);

function loadLayers(root){
	loadLayer(root);
	for (var i=0; i<root.submenu.length; i++) loadLayers(root.submenu[i]);
}

function getItem(menu, name) {
	for (var i=0; i<menu.length; i++) {
		if (menu[i].name != name) {
			var res = getItem(menu[i].submenu, name);
			if (res != null) return res;
		} else return menu[i];
	}
	return null;
}

function item(name) {
	return getItem(theMenu, name);
}

function getParent(item, name) {
	for (var i=0; i<item.submenu.length; i++) {
		if (item.submenu[i].name != name) {
			var res = getParent(item.submenu[i], name);
			if (res != null) return res;
		} else return item;
	}
	return null;
}

function parentOf(name) {
	return getParent(theRoot, name)
}

function focusSubmenu(name) {
	item(name).submenuFocused = true;
}

function unfocusSubmenu(name) {
	item(name).submenuFocused = false;
	setTimeout("closeAllSubmenus(\'" + name + "\')", hideDelay);
}

function layerAction(act, name,event) {
	if (IE4) {
		if (!document.all["div" + name]) return;
		parentOf(name).submenuLocked = act;
		if (act) {
			with (document.all["div" + name]) {
				style.posLeft = document.body.scrollLeft + event.clientX - event.offsetX + shiftX;
				style.posTop = document.body.scrollTop + event.clientY - event.offsetY + event.srcElement.offsetHeight + shiftY;
				style.visibility = "inherit";
			}
		} else {
			document.all["div" + name].style.visibility = "hidden";
		}
	} else if(document.getElementById) {
		// --------------------------------------------------------
		// for NN6
		// --------------------------------------------------------
		parentOf(name).submenuLocked = act;
		if (act) {
			var divElement = document.getElementById("div" + name);
			divElement.style.left = event.pageX;
			// -----------------------------------------------
			// for NN6 change the top if header height changed
			// -----------------------------------------------
			divElement.style.top = event.target.y + event.target.height;
			divElement.style.left = event.target.x;
			divElement.style.visibility = "inherit";
		} else {
			document.getElementById("div" + name).style.visibility = "hidden";
		}	
	} else {
		if (!document.layers["lyr" + name]) return;
		parentOf(name).submenuLocked = act;
		if (act) {
			with (document.anchors["anc" + name]) {
				var lyrLeft = x;
				var lyrTop = y;
			}

			with (document.layers["lyr" + name]) {
				left = lyrLeft + shiftX + 4;
				top = lyrTop + 16;
				visibility = "inherit";
			}
		} else {
			document.layers["lyr" + name].visibility = "hide";
		}
	}
}

function setImage(name,image) {
	document.images[name].src = image;
}

function showSubmenu(name,event) {
	item(name).itemFocused = true;
	layerAction(1, name,event);
}

function hideSubmenu(name, src) {
	item(name).itemFocused = false;	
	setTimeout("closeSubmenu(\'" + name + "\')", hideDelay);
}

function closeSubmenu(name,event) {
	if ((!item(name).submenuFocused) 
		&& (!item(name).submenuLocked)
		&& (!item(name).itemFocused)) {
		src = document.getElementById("anc" + name);
		src.children.tags("IMG")[0].src = src.children.tags("IMG")[0].src.replace('_on', '');
		src.parentElement.bgColor='#CCCCCC';
		parentOf(name).submenuLocked = false;
		layerAction(0, name,event);
	}
}

function closeAllSubmenus(name) {
	if (name != "Root") {
		closeSubmenu(name);
		closeAllSubmenus(parentOf(name).name);
	}	
}

function loadItem(anItem) {
	document.writeln('<tr>');
	document.writeln(	'<td width=150 class="colorch">');
	document.writeln(		'<a href="" class="colorch">');
	document.writeln(			'<table border=0 cellpadding=1 cellspacing=2>');
	document.writeln(				'<tr>');
	document.writeln(					'<td width=150 onClick="location.href=\'' + anItem.href + '\'">');
	document.writeln(						'<a href="' + anItem.href + '"class="menu" name="anc' + anItem.name + '">' + anItem.title + '</a>');
	document.writeln(					'</td>');
	document.writeln(				'</tr>');
	document.writeln(			'</table>');
	document.writeln(		'</a>');
	document.writeln(	'</td>');
	document.writeln('</tr>');
}

function loadLayer(root){
	
	document.writeln('');
	if(!document.getElementById) {
		document.writeln('<layer name="lyr' + root.name + '"  visibility="hide" top="0" left="0" onmouseover="focusSubmenu(\'' + root.name + '\')" onmouseout="unfocusSubmenu(\'' + root.name + '\');">');
		document.writeln('<nolayer>');
	}
	
	document.writeln('<div id="div' + root.name + '" style="position:absolute; top:0; left:0; visibility:hidden" onmouseover="focusSubmenu(\'' + root.name + '\')" onmouseout="unfocusSubmenu(\'' + root.name + '\');">');
	if(!document.getElementById) {	
		document.writeln('</nolayer>');
	}

	document.writeln(	'<table border=0 cellpadding=0 cellspacing=0 bgcolor="#ffffff" style="PADDING-LEFT: 2px; PADDING-BOTTOM: 1px; PADDING-RIGHT: 2px;">');
	document.writeln(		'<tr>');
	document.writeln(			'<td>');
	document.writeln(				'<table border=0 cellpadding=0 cellspacing=0 >');

	for (var i=0; i<root.submenu.length; i++) loadItem(root.submenu[i]);

	document.writeln(				'</table>');
	document.writeln(			'</td>');
	document.writeln(		'</tr>');
	document.writeln(	'</table>');

	if(!document.getElementById) {
		document.writeln('<nolayer>');
	}
	
	document.writeln('</div>');
	if(!document.getElementById) {
		document.writeln('</nolayer>');
		document.writeln('</layer>');
	}
	document.writeln('');
}


