dAEv('mouseover',hewkoMenuInit);
var hewkoMenuTracking=new Array();
function hewkoMenuInit(e){
	var path=ie?event.srcElement:e.target;
	var dbx=hewkoMenuTracking;
	var sw=-1;
	var path2;
	while(path.id!=null){
		if(path.getAttribute('hewkoMenu')&&!path2)path2=path;
		sw=dbx.valExists(path);
		if(sw>-1)break;
		path=path.parentNode;
	}
	for(b=dbx.length-2;b>sw;b-=2){
		hewkoMenuHide(dbx[b]);
		dbx.length-=2;
	}
	if(dbx.valExists(path2)==-1&&path2){
		var ix=path2.getAttribute('hewkoMenu',0);
		path2.hewkoMenuObj=styleParser(ix);
		var menuObject=dObj(path2.hewkoMenuObj.idx);
		if (menuObject!=null) {
			dbx.addValue(path2);
			dbx.addValue(menuObject);
			path2.hewkoMenuObj.trigClassOrig=path2.className;
			hewkoMenuShow(path2);
		}
	}
}
var zIndex=0;
function hewkoMenuShow(path){
	var prop=path.hewkoMenuObj;
	if(prop.trigClass)path.className=prop.trigClass;
	if(path.hewkoMenuObj.idx){
		var menuPath=dObj(path.hewkoMenuObj.idx);
		zIndex++;
		menuPath.style.zIndex=zIndex;
		(prop.transition)?hewkoTransition(prop.transition,1):menuPath.style.display='block';
		new obj(path).alignObject(prop.idx,((prop.align)?prop.align.substring(0,1):4),((prop.align)?prop.align.substring(2,3):1));
		//Sometimes 1 alignment does not work, so do a second.
		new obj(path).alignObject(prop.idx, ((prop.align) ? prop.align.substring(0, 1) : 4), ((prop.align) ? prop.align.substring(2, 3) : 1));
		menuPath.attachEvent('onclick',hewkoMenuHideAll);
	}
	
}
function hewkoMenuHide(path){
	var prop=path.hewkoMenuObj;
	if(prop.trigClass)path.className=prop.trigClassOrig;
	if(prop.idx){
		var menuPath=dObj(prop.idx);
		(prop.transition)?hewkoTransition(prop.transition,0):menuPath.style.display='none';
	}
}
function hewkoMenuHideAll(){
	var dbx=hewkoMenuTracking;
	for(b=dbx.length-2;b>=0;b-=2){
		hewkoMenuHide(dbx[b]);
		dbx.length-=2;
	}
}