// DHTML Menu by Denis Grisak <denis@softcomplex.com>
// Date: 10/02/08

function f_rootMover () {
	// reset the timer
	if (window.e_menuTimer) {
		clearTimeout(e_menuTimer);
		e_menuTimer = null;
	}
	// rollover for last active 
	if (window.e_activeRoot && e_activeRoot != this)
		f_menuHide();

	this.className = 'rootHover';
	if (this.e_submenu) {
		this.e_submenu.style.left = f_getPosition(this, 'Left') + 'px';
		this.e_submenu.style.top  = (f_getPosition(this, 'Top') + e_menu.offsetHeight - 1)  + 'px';
		this.e_submenu.style.display = 'block';
	}
	window.e_activeRoot = this;
}
function f_root2Mover () {
	// reset the timer
	if (window.e_menuTimer) {
		clearTimeout(e_menuTimer);
		e_menuTimer = null;
	}
	// rollover for last active 
	if (window.e_activeRoot && e_activeRoot != this)
		f_menuHide();

	this.className = 'rootHover';
	if (this.e_submenu) {
		this.e_submenu.style.left = (f_getPosition(this, 'Left') + 100) + 'px';
		this.e_submenu.style.top  = f_getPosition(this, 'Top')  + 'px';
		this.e_submenu.style.display = 'block';
	}
	window.e_activeRoot = this;
}

function f_root3Mover () {
	// reset the timer
	if (window.e_menuTimer) {
		clearTimeout(e_menuTimer);
		e_menuTimer = null;
	}
	// rollover for last active 
	if (window.e_activeRoot && e_activeRoot != this)
		f_menuHide();

	this.className = 'rootHover';
	if (this.e_submenu) {
		this.e_submenu.style.left = (f_getPosition(this, 'Left') + 180) + 'px';
		this.e_submenu.style.top  = f_getPosition(this, 'Top')  + 'px';
		this.e_submenu.style.display = 'block';
	}
	window.e_activeRoot = this;
}

function f_root4Mover () {
	// reset the timer
	if (window.e_menuTimer) {
		clearTimeout(e_menuTimer);
		e_menuTimer = null;
	}
	// rollover for last active 
	if (window.e_activeRoot && e_activeRoot != this)
		f_menuHide();

	this.className = 'rootHover';
	if (this.e_submenu) {
		this.e_submenu.style.left = (f_getPosition(this, 'Left') + 220) + 'px';
		this.e_submenu.style.top  = f_getPosition(this, 'Top')  + 'px';
		this.e_submenu.style.display = 'block';
	}
	window.e_activeRoot = this;
}

function f_rootMout () {
	// if submenu exists then hide it
	window.e_menuTimer = setTimeout('f_menuHide()', 500);
}
function f_rootClick () {
	if (this.e_link && this.e_link.href)
		window.open(this.e_link.href, (this.e_link.target ? this.e_link.target : '_self')); //
	return true;
}
function f_menuHide () {
	if (!window.e_activeRoot) return;
	e_activeRoot.className = '';
	if (e_activeRoot.e_submenu)
		e_activeRoot.e_submenu.style.display = 'none';
	e_activeRoot = null;
}


function f_subMover () {
	this.className = 'subHover';
}
function f_subMout () {
	this.className = null;
}
function f_subClick (e_event) {
	if (this.e_link && this.e_link.href)
		window.open(this.e_link.href, (this.e_link.target ? this.e_link.target : '_self')); //
	
	if (!e_event)
		e_event = window.event;
	e_event.cancelBubble = true;

	if (e_event.stopPropagation) e_event.stopPropagation();
	return true;
}


function f_menuInit () {

	// assign the event handlers to the menu items
	window.e_menu = f_getElement('dropdownmenu');
	if (!e_menu) return;
	var e_table, e_cell, e_elem, e_elem2, a_elems = e_menu.childNodes;
	for (var i = 0; a_elems.length; i++)
		if (a_elems[i].tagName == 'TABLE') {
			e_table = a_elems.item(i);
			break;
		}
	if (!e_table) return;
	for (var r = 0; r < e_table.rows.length; r++)
		for (var c = 0; c < e_table.rows[r].cells.length; c++) {
			e_cell = e_table.rows[r].cells[c];
			if (e_cell.className == 'vsep') continue;

			e_cell.onmouseover = f_rootMover;
			e_cell.onmouseout  = f_rootMout;
			e_cell.onclick     = f_rootClick;
			
			for (var i = 0; i < e_cell.childNodes.length; i++) {
				e_elem = e_cell.childNodes.item(i);
				if (e_elem.tagName == 'A')
					e_cell.e_link = e_elem;
				if (e_elem.tagName == 'UL') {
					e_cell.e_submenu = e_elem;
					for (var li = 0; li < e_elem.childNodes.length; li++) {
						e_li = e_elem.childNodes.item(li);
						if (e_li.tagName != 'LI') continue;
						e_li.onmouseover = f_subMover;
						e_li.onmouseout  = f_subMout;
						e_li.onclick     = f_subClick;

						for (var i2 = 0; i2 < e_li.childNodes.length; i2++) {
							e_elem2 = e_li.childNodes.item(i2);
							if (e_elem2.tagName == 'A') {
								e_li.e_link = e_elem2;
								break;
							}
						}
					}
				}
			}
		}
	return;
}

function f_menu2Init () {

	// assign the event handlers to the menu items
	window.e_menu2 = f_getElement('sidemenu01');
	if (!e_menu2) return;
	var e_table, e_cell, e_elem, e_elem2, a_elems = e_menu2.childNodes;
	for (var i = 0; a_elems.length; i++)
		if (a_elems[i].tagName == 'TABLE') {
			e_table = a_elems.item(i);
			break;
		}
	if (!e_table) return;
	for (var r = 0; r < e_table.rows.length; r++)
		for (var c = 0; c < e_table.rows[r].cells.length; c++) {
			e_cell = e_table.rows[r].cells[c];

			e_cell.onmouseover = f_root2Mover;
			e_cell.onmouseout  = f_rootMout;
			e_cell.onclick     = f_rootClick;
			
			for (var i = 0; i < e_cell.childNodes.length; i++) {
				e_elem = e_cell.childNodes.item(i);
				if (e_elem.tagName == 'A')
					e_cell.e_link = e_elem;
				if (e_elem.tagName == 'UL') {
					e_cell.e_submenu = e_elem;
					for (var li = 0; li < e_elem.childNodes.length; li++) {
						e_li = e_elem.childNodes.item(li);
						if (e_li.tagName != 'LI') continue;
						e_li.onmouseover = f_subMover;
						e_li.onmouseout  = f_subMout;
						e_li.onclick     = f_subClick;

						for (var i2 = 0; i2 < e_li.childNodes.length; i2++) {
							e_elem2 = e_li.childNodes.item(i2);
							if (e_elem2.tagName == 'A') {
								e_li.e_link = e_elem2;
								break;
							}
						}
					}
				}
			}
		}
	return;
}

function f_menu3Init () {
	// assign the event handlers to the menu items
	window.e_menu2 = f_getElement('sidemenu02');
	if (!e_menu2) return;
	var e_table, e_cell, e_elem, e_elem2, a_elems = e_menu2.childNodes;
	for (var i = 0; a_elems.length; i++)
		if (a_elems[i].tagName == 'TABLE') {
			e_table = a_elems.item(i);
			break;
		}
	if (!e_table) return;
	for (var r = 0; r < e_table.rows.length; r++)
		for (var c = 0; c < e_table.rows[r].cells.length; c++) {
			e_cell = e_table.rows[r].cells[c];

			e_cell.onmouseover = f_root3Mover;
			e_cell.onmouseout  = f_rootMout;
			e_cell.onclick     = f_rootClick;
			
			for (var i = 0; i < e_cell.childNodes.length; i++) {
				e_elem = e_cell.childNodes.item(i);
				if (e_elem.tagName == 'A')
					e_cell.e_link = e_elem;
				if (e_elem.tagName == 'UL') {
					e_cell.e_submenu = e_elem;
					for (var li = 0; li < e_elem.childNodes.length; li++) {
						e_li = e_elem.childNodes.item(li);
						if (e_li.tagName != 'LI') continue;
						e_li.onmouseover = f_subMover;
						e_li.onmouseout  = f_subMout;
						e_li.onclick     = f_subClick;

						for (var i2 = 0; i2 < e_li.childNodes.length; i2++) {
							e_elem2 = e_li.childNodes.item(i2);
							if (e_elem2.tagName == 'A') {
								e_li.e_link = e_elem2;
								break;
							}
						}
					}
				}
			}
		}
	return;
}

function f_menu4Init () {

	// assign the event handlers to the menu items
	window.e_menu2 = f_getElement('sidemenu03');
	if (!e_menu2) return;
	var e_table, e_cell, e_elem, e_elem2, a_elems = e_menu2.childNodes;
	for (var i = 0; a_elems.length; i++)
		if (a_elems[i].tagName == 'TABLE') {
			e_table = a_elems.item(i);
			break;
		}
	if (!e_table) return;
	for (var r = 0; r < e_table.rows.length; r++)
		for (var c = 0; c < e_table.rows[r].cells.length; c++) {
			e_cell = e_table.rows[r].cells[c];

			e_cell.onmouseover = f_root4Mover;
			e_cell.onmouseout  = f_rootMout;
			e_cell.onclick     = f_rootClick;
			
			for (var i = 0; i < e_cell.childNodes.length; i++) {
				e_elem = e_cell.childNodes.item(i);
				if (e_elem.tagName == 'A')
					e_cell.e_link = e_elem;
				if (e_elem.tagName == 'UL') {
					e_cell.e_submenu = e_elem;
					for (var li = 0; li < e_elem.childNodes.length; li++) {
						e_li = e_elem.childNodes.item(li);
						if (e_li.tagName != 'LI') continue;
						e_li.onmouseover = f_subMover;
						e_li.onmouseout  = f_subMout;
						e_li.onclick     = f_subClick;

						for (var i2 = 0; i2 < e_li.childNodes.length; i2++) {
							e_elem2 = e_li.childNodes.item(i2);
							if (e_elem2.tagName == 'A') {
								e_li.e_link = e_elem2;
								break;
							}
						}
					}
				}
			}
		}
	return;
}


f_getElement = document.all ?
	function (s_id) { return document.all[s_id] } :
	function (s_id) { return document.getElementById(s_id) };

function f_getPosition (e_elemRef, s_coord) {
	var n_pos = 0, n_offset,
		e_elem = e_elemRef;

	while (e_elem) {
		n_offset = e_elem["offset" + s_coord];
		n_pos += n_offset;
		e_elem = e_elem.offsetParent;
	}
	
	e_elem = e_elemRef;
	while (e_elem != document.body) {
		n_offset = e_elem["scroll" + s_coord];
		if (n_offset && e_elem.style.overflow == 'scroll')
			n_pos -= n_offset;
		e_elem = e_elem.parentNode;
	}
	return n_pos;
}

function f_menusInit () {
	f_menuInit();
	f_menu2Init();
	f_menu3Init ();
	f_menu4Init ();
}

// assign mouseover event	
if (document.addEventListener)
	window.addEventListener('load', f_menusInit, false);
if (window.attachEvent)
	window.attachEvent('onload', f_menusInit);
else
	window.onload = f_menusInit;

