// *********************************************
// * Copyright Dyadchenko Mihail			   *
// * Version 2.0							   *
// * Coded 06.05.04							*
// *********************************************
var ie, op, ge;
if(navigator.userAgent.indexOf("MSIE") >= 0){ie=true;}else{ie=false};
if(navigator.userAgent.indexOf("Opera") >= 0) op=true;
if(navigator.userAgent.indexOf("Gecko") >= 0) ge=true;
var current=null;
var active=null;
var submenu=null;
var activesub=null;
var currentsub=null;
var subsubmenu=null;
var AllTags = Array();
var Temp = Array();
var c=0;
function HideAll()
		{
		if(current!=null)current.className='sub';
		if(currentsub!=null)currentsub.className='sub2';
				if(subsubmenu!=null)
				{
				HideActive2();
				};
				HideActive();
		}
		
function ShowActive()
		{
				document.getElementById(submenu).className="show";
		}
		

function HideActive()
		{
				document.getElementById(submenu).className="hidden";
		}

function ShowActive2()
		{
				document.getElementById(subsubmenu).className="show";
		}

function HideActive2()
		{
				if(subsubmenu!=null)document.getElementById(subsubmenu).className="hidden";
		}

function f1 (event, id, top)
		{
		if(ie)
				{
						current = event.srcElement;
						}else{
						current = event.currentTarget;
				};
	
		current.onmouseout = f2;

		document.getElementById(id).style.left=positionLeft(current)+150+"px";
		document.getElementById(id).style.top=positionTop(current)+1+"px";
		current.className='subh';
	
		if(active != null && active != current)
				{
				HideActive();
				active = current;
				submenu = id;
				ShowActive();
				}else{
				active = current;
				submenu = id;
				ShowActive();
				};
		}

function f2(event)
		{
		if (ie)
				{
				target = window.event.toElement;
				}
				else if (event.relatedTarget != null) target = (event.relatedTarget.tagName ? event.relatedTarget : event.relatedTarget.parentNode);
				if(!find(submenu, target))
				{
				if(subsubmenu==null) 
						{
						HideAll();
						}else{
						if(!find(subsubmenu, target)) HideAll();
						};
				}
		}
		
function GetAll(obj)
		{
		if (typeof(obj.childNodes) == "undefined") return false;
		if (typeof(obj.childNodes.length) == "undefined") return false;
		Temp[Temp.length] = 0;
				for (Temp[Temp.length-1]=0;Temp[Temp.length-1]<obj.childNodes.length;Temp[Temp.length-1]++) 
				{
						if (typeof(obj.childNodes[Temp[Temp.length-1]]) != "undefined") 
								{
								AllTags[c] = obj.childNodes[Temp[Temp.length-1]];
								c++; 
								GetAll(obj.childNodes[Temp[Temp.length-1]]);
								};
				};
		Temp.length--;
		}

function find(id, target) {
	c = 0;
	GetAll(document.getElementById(id));
	for (i=0;i<AllTags.length;i++) 
		{
				if (AllTags[i]==target) return true;
		}
		return false;
}

function f3 (event, id, top)
		{
		if(currentsub!=null) currentsub.className='sub2';
		if(ie)
				{
						currentsub = event.srcElement;
						}else{
						currentsub = event.currentTarget;
				};
		if(id!='px') currentsub.className='sub2h';
		document.getElementById(id).style.left=positionLeft(current)+295+"px";
		document.getElementById(id).style.top=positionTop(current)+70+"px";
		if(activesub != null && activesub != currentsub)
				{
				HideActive2();
				activesub = currentsub;
				subsubmenu = id;
				ShowActive2();
				}else{
				activesub = currentsub;
				subsubmenu = id;
				ShowActive2();
				};
		}

function f4(event, id)
		{
		if (ie){
		target = window.event.toElement;
		}
		else if (event.relatedTarget != null)
		target = (event.relatedTarget.tagName ? event.relatedTarget : event.relatedTarget.parentNode);
		if(!find(subsubmenu, target))
				{
				if(!find(submenu, target)) HideAll();
				}
		}
function positionLeft(element) {
	var x;
	x = element.offsetLeft;
	if (element.offsetParent != null)
	x += positionLeft(element.offsetParent);
	return x;
}
function positionTop(element) {
	var x;
	x = element.offsetTop;
	if (element.offsetParent != null)
	x += positionTop(element.offsetParent);
	return x;
}
