/*********************************************************************
**				Author: 		Dmitry Popov						**
**				Date:			25/03/2009							**
**				Copyright:		Altgraphic, SLC						**
**				E-mail:			d.popov@altgraphic.com				**
**				URL:			http://www.altgraphic.com			**
*********************************************************************/

var timer=0,subtimer=0,lastId=-1,lastSubId=-1,vlastId=-1;

function hmShow(id){
	var a=document.getElementById('a'+id);
	var ul=document.getElementById('m'+id);
	if(isSub(a)){
		clearTimeout(subtimer);
		if(id!=lastSubId&&lastSubId>0) setPassive(lastSubId);
		lastSubId=id;
	} else {
		clearTimeout(timer);
		if(id!=lastId&&lastId>0) setPassive(lastId);
		lastId=id;
	}
	if(a.className.indexOf('active')==-1) a.className+=(a.className?' ':'')+'active';
	if(ul) ul.className='active';
}
function hmHide(id){
	var a=document.getElementById('a'+id);
	if(!a) return;
	if(id==lastSubId&&lastSubId>0&&isSub(a)) subtimer=setTimeout("setPassive("+lastSubId+")",100);
	if(id==lastId&&lastId>0) timer=setTimeout("setPassive("+lastId+")",50);
}
function vmShow(id){
	var a=document.getElementById('a'+id);
	var ul=document.getElementById('m'+id);
	if(!ul) return;
	if(id!=vlastId&&vlastId>0) vmHide(vlastId);
	vlastId=id;
	if(a.className.indexOf('sub')==-1&&ul.className.indexOf('active')==-1){
		a.className+=(a.className?' ':'')+'sub';
		ul.className+=(ul.className?' ':'')+'active';
	} else vmHide(id);
	return false;
}
function vmHide(id){
	var a=document.getElementById('a'+id);
	var ul=document.getElementById('m'+id);
	if(!ul) return;
	a.className=a.className.replace((a.className.indexOf(' ')!=-1?' ':'')+'sub','');
	ul.className=ul.className.replace('active','');
}
function setPassive(id){
	var a=document.getElementById('a'+id);
	if(!a) return;
	var ul=document.getElementById('m'+id);
	if(!isSub(a)) setPassive(lastSubId);
	a.className=a.className.replace((a.className.indexOf(' ')!=-1?' ':'')+'active','');
	if(ul) ul.className=ul.className.replace('active','');
}
function isSub(a){
	return a.parentNode.parentNode.parentNode.parentNode.firstChild.tagName=='A';
}