var slideSpeed_out = 10;	// Steps to move sub menu at a time ( higher = faster)
var slideSpeed_in = 10;
var slideTimeout_out = 25;	// Microseconds between slide steps ( lower = faster)
var slideTimeout_in = 10;	// Microseconds between slide steps ( lower = faster)
var fixedSubMenuWidth = false;	// Width of sub menu items - A number(width in pixels) or false when width should be dynamic
var xOffsetSubMenu = 0; 	// Offset x-position of sub menu items - use negative value if you want the sub menu to overlap main menu
var slideDirection = 'left';	// Slide to left or right ?

var activeSubMenuId = false;
var activeMainMenuItem = false;
var currentZIndex = 1000;
var submenuObjArray = new Array();
var okToSlideInSub = new Array();
var subPositioned = new Array();
function voce_over(){
}
function voce_move(){
}
function voce_out(){
}
function getTopPos(inputObj){
    var returnValue = inputObj.offsetTop;
    while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetTop;
    return returnValue;
}
function getLeftPos(inputObj){
    var returnValue = inputObj.offsetLeft;
    while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetLeft;
    return returnValue;
}
function showSub(){
	var subObj = false;
	if(this && this.tagName){
		var numericId = this.parentNode.id.replace(/[^0-9]/g,'');
            if(activeSubMenuId!=numericId){
                //if(activeMainMenuItem)slideMenu(activeSubMenuId,(slideSpeed_in*-1));
    			okToSlideInSub[numericId] = false;
    			var subObj = id2obj('subMenuDiv' + numericId);
    			if(activeMainMenuItem)activeMainMenuItem.className='';
    			if(subObj){
    				if(!subPositioned[numericId]){
    					if(slideDirection=='right'){
    						subObj.style.left = getLeftPos(submenuObjArray[numericId]['parentDiv']) + submenuObjArray[numericId]['parentDiv'].offsetWidth + xOffsetSubMenu + 'px';
    					}else{
    						subObj.style.left = getLeftPos(submenuObjArray[numericId]['parentDiv']) + xOffsetSubMenu + 'px';
    					}
    					submenuObjArray[numericId]['left'] = subObj.style.left.replace(/[^0-9]/g,'');
    					subObj.style.top = getTopPos(submenuObjArray[numericId]['parentDiv']) + 'px';
    					subPositioned[numericId] = true;
    				}
    				subObj.style.visibility = 'visible';
    				subObj.style.zIndex = currentZIndex;
    				currentZIndex++;
    				this.className='activeMainMenuItem';
    				activeMainMenuItem = this;
                }
		}
	}else{        //submenu
		var numericId = activeSubMenuId;
	}
    if(activeSubMenuId==numericId){
        slideMenu(numericId,(slideSpeed_in*-1));
        activeSubMenuId = false;
    }else{
		if(activeSubMenuId && (numericId!=activeSubMenuId || !subObj))slideMenu(activeSubMenuId,(slideSpeed_in*-1));
		if(numericId!=activeSubMenuId && this && subObj){
			subObj.style.width = '0px';
			slideMenu(numericId,slideSpeed_out);
			activeSubMenuId = numericId;
		}else{
			if(numericId!=activeSubMenuId)activeSubMenuId = false;
		}
    }
}
function slideMenu(menuIndex,speed){
	var obj = submenuObjArray[menuIndex]['divObj'];
	var obj2 = submenuObjArray[menuIndex]['ulObj'];
	var width = obj.offsetWidth + speed;
	if(speed<0){
		if(width<0)width = 0;
		obj.style.width = width + 'px';
		if(slideDirection=='left'){
			obj.style.left = submenuObjArray[menuIndex]['left'] - width + 'px';
			obj2.style.left = '0px';
		}else{
			obj2.style.left = width - submenuObjArray[menuIndex]['width'] + 'px'
		}
		if(width>0 && okToSlideInSub[menuIndex])setTimeout('slideMenu(' + menuIndex + ',' + speed + ')',slideTimeout_in); else{
			obj.style.visibility = 'hidden';
			obj.style.width = '0px';
			if(activeSubMenuId==menuIndex)activeSubMenuId=false;
		}
	}else{
		if(width>submenuObjArray[menuIndex]['width'])width = submenuObjArray[menuIndex]['width'];
		if(slideDirection=='left'){
			obj.style.left = submenuObjArray[menuIndex]['left'] - width + 'px';
			obj2.style.left = '0px';
		}else{
			obj2.style.left = width - submenuObjArray[menuIndex]['width'] + 'px'
		}
		obj.style.width = width + 'px';
		if(width<submenuObjArray[menuIndex]['width']){
			setTimeout('slideMenu(' + menuIndex + ',' + speed + ')',slideTimeout_out);
		}else{
			okToSlideInSub[menuIndex] = true;
		}
	}
}
function resetPosition(){
	subPositioned.length = 0;
}
function initLeftMenu(){
	var menuObj = id2obj('mnuvini_menu');
	var mainMenuItemArray = new Array();
	var mainMenuItem = menuObj.getElementsByTagName('LI')[0];
	while(mainMenuItem){
		if(mainMenuItem.tagName && mainMenuItem.tagName.toLowerCase()=='li'){
			mainMenuItemArray[mainMenuItemArray.length] = mainMenuItem;
			var aTag = mainMenuItem.getElementsByTagName('A')[0];
                aTag.onclick = showSub;
		}
		mainMenuItem = mainMenuItem.nextSibling;
	}
	var lis = menuObj.getElementsByTagName('A');
	for(var no=0;no<lis.length;no++){
		lis[no].onmouseover = voce_over;
		lis[no].onmouseout = voce_out;
		lis[no].onmousemove = voce_move;
	}
	for(var no=0;no<mainMenuItemArray.length;no++){
		var sub = mainMenuItemArray[no].getElementsByTagName('UL')[0];
		if(sub){
			mainMenuItemArray[no].id = 'mainMenuItem' + (no+1);
			var div = document.createElement('DIV');
			div.className='mnuvini_subMenu';
			document.body.appendChild(div);
			div.appendChild(sub);
			if(slideDirection=='right'){
				div.style.left = getLeftPos(mainMenuItemArray[no]) + mainMenuItemArray[no].offsetWidth + xOffsetSubMenu + 'px';
			}else{
				div.style.left = getLeftPos(mainMenuItemArray[no]) + xOffsetSubMenu + 'px';
			}
			div.style.top = getTopPos(mainMenuItemArray[no]) + 'px';
			div.id = 'subMenuDiv' + (no+1);
			sub.id = 'submenuUl' + (no+1);
			sub.style.position = 'relative';
			if(navigator.userAgent.indexOf('Opera')>=0){
				submenuObjArray[no+1] = new Array();
				submenuObjArray[no+1]['parentDiv'] = mainMenuItemArray[no];
				submenuObjArray[no+1]['divObj'] = div;
				submenuObjArray[no+1]['ulObj'] = sub;
				submenuObjArray[no+1]['width'] = sub.offsetWidth;
				submenuObjArray[no+1]['left'] = div.style.left.replace(/[^0-9]/g,'');
			}
			sub.style.left = 1 - sub.offsetWidth + 'px';
			// if(document.all)div.style.width = '1px';
			if(navigator.userAgent.indexOf('Opera')<0){
				submenuObjArray[no+1] = new Array();
				submenuObjArray[no+1]['parentDiv'] = mainMenuItemArray[no];
				submenuObjArray[no+1]['divObj'] = div;
				submenuObjArray[no+1]['ulObj'] = sub;
				submenuObjArray[no+1]['width'] = sub.offsetWidth;
				submenuObjArray[no+1]['left'] = div.style.left.replace(/[^0-9]/g,'');
				if(fixedSubMenuWidth)submenuObjArray[no+1]['width'] = fixedSubMenuWidth;
			}
            div.style.width = '1px';
		}
	}
	menuObj.style.visibility = 'visible';
	window.onresize = resetPosition;
}
/*
function click(e){
    var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY){
		posx = e.pageX;
		posy = e.pageY;
	}else if (e.clientX || e.clientY){
		posx = e.clientX + document.body.scrollLeft+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}else{
        posx=0;
    }
    menu_x=getLeftPos(id2obj("mainMenuItem1"));
    if(posx<menu_x){
        if(activeMainMenuItem){
    		activeMainMenuItem.className='';
    		activeMainMenuItem = false;
    	}
    	if(activeSubMenuId){
    		var obj = document.getElementById('subMenuDiv' + activeSubMenuId);
    		showSub();
    	}
    }
    //alert(posx);
    return true;
}
document.onmousedown=click
*/
//window.onload = initLeftMenu;