/* variables */
__ALLOW_OPEN_MENU__=false;  // boolean value that must be turned to true when everything is loaded
__ARR_OPEN_MENU_NAME__=[]; // string value that indicate active layer's name
__CURRENT_MENU_LEVEL__=0;
//__DEFAULT_MENU_NAME__=false; // string value that contain default value highlighted menu
__ARR_INITIALIZED_LAYERS__=[];
__NO_MENU_IMG__=0;
//__DEFAULT_MENU_NAME__="menu2";
/* /variables */

function init(){
         /* initialisation of the mask layer, used to catch "mouse out of menu" event */
        dlib.createEventLayerMask(0, false, "layermask");

         /* anchors initialization.
            A line must be added for every achors that must be initialized */
	dlib.anchors("menu1pos");
	dlib.anchors("menu2pos");
	dlib.anchors("menu3pos");
	dlib.anchors("menu4pos");
	dlib.anchors("menu5pos");
	dlib.anchors("menu6pos");
	/* /anchors initialization. */

	/* timeout, used for an internet explorer bug.
	   IE cannot get infos about anchors if we do not wait for 2 milliseconds after anchors initialization */
	setTimeout("launchScripts()",2);
}

function launchScripts(){
  	__ALLOW_OPEN_MENU__=true;
	dlib.eventLayerMask(0).captureEvent("onmouseover", "closeMenu");
	dlib.eventLayerMask(0).captureEvent("onmousemove", "closeMenu");

	if(__DEFAULT_MENU_NAME__){
		dlib.images(__DEFAULT_MENU_NAME__+"img").rollOver(true);
	}

	return true;
}

function CloseMenuLevel(intLevel){

	if(__ALLOW_OPEN_MENU__){
		if(__NO_MENU_IMG__ && __NO_MENU_IMG__!=__DEFAULT_MENU_NAME__ ) {
                	dlib.images(__NO_MENU_IMG__).rollOver(false);
			__NO_MENU_IMG__=false;
		}

		if(intLevel<=__CURRENT_MENU_LEVEL__ && __ARR_OPEN_MENU_NAME__[intLevel])   {
                  	for(intLevelNum=__ARR_OPEN_MENU_NAME__.length+1; intLevelNum>intLevel-1; intLevelNum--){
                                if(__ARR_OPEN_MENU_NAME__[intLevelNum]){
					dlib.layers(__ARR_OPEN_MENU_NAME__[intLevelNum]+"layer").visible(false);
					if(__DEFAULT_MENU_NAME__!=__ARR_OPEN_MENU_NAME__[intLevelNum] && dlib.images(__ARR_OPEN_MENU_NAME__[intLevelNum]+"img").exists) dlib.images(__ARR_OPEN_MENU_NAME__[intLevelNum]+"img").rollOver(false);
					__ARR_OPEN_MENU_NAME__.pop();
				}
			}
		}
		__CURRENT_MENU_LEVEL__=__ARR_OPEN_MENU_NAME__.length;
	}
	return true;
}

function NoMenu(strMenuName){
        if(__ALLOW_OPEN_MENU__){
		CloseMenuLevel(0);
        	if(strMenuName!=__DEFAULT_MENU_NAME__){
			dlib.images(strMenuName+"img").rollOver(true);
			__NO_MENU_IMG__=strMenuName+"img";
		}
	}
	return false;
}

function openMenu(strMenuName, intLevel, strSide){
        if(arguments.length<2 || !intLevel) intLevel=0;
	if(arguments.length<3) strSide=(intLevel>0)?"right":"bottom";

	if(__ALLOW_OPEN_MENU__){

		CloseMenuLevel(intLevel);

		__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]=strMenuName;

		if(!__ARR_INITIALIZED_LAYERS__[__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer"]){
			if(strSide=="right" && intLevel>0){
				if((dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__-1]+"layer").right()+dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").width())>dlib.windowWidth() && (dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__-1]+"layer").left()-dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").width())>0) strSide="left";
			}
			switch(strSide){
				case "bottom":
					dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").left(dlib.anchors(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"pos").left());
					dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").top(dlib.anchors(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"pos").top()+dlib.images(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"img").object.height);
					break;
                        	case "top":
                                        dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").left(dlib.anchors(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"pos").left());
					dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").top(dlib.anchors(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"pos").top()-dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").height());
					break;
				case "right":
					if(intLevel>0){
						dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").left(dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__-1]+"layer").right());
						dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").top(dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__-1]+"layer").top()+dlib.anchors(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"pos").top());
					}
					else {
						dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").top(dlib.anchors(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"pos").top());
						dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").left(dlib.anchors(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"pos").left()+dlib.images(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"img").object.width);
					}
					break;
				case "left":
					if(intLevel>0){
						dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").right(dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__-1]+"layer").left());
						dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").top(dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__-1]+"layer").top()+dlib.anchors(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"pos").top());
					}
					else {
						dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").top(dlib.anchors(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"pos").top());
						dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").left(dlib.anchors(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"pos").left()-dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").width());
					}
					break;
			}
			__ARR_INITIALIZED_LAYERS__[__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer"]=true;
		}
		dlib.layers(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"layer").visible(true);
		if(dlib.images(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"img").exists) dlib.images(__ARR_OPEN_MENU_NAME__[__CURRENT_MENU_LEVEL__]+"img").rollOver(true);
	}
	return true;
}

function closeMenu(){
	if(__ALLOW_OPEN_MENU__){
		dlib.eventLayerMask(0).visible(false);
		CloseMenuLevel(0);
		__CURRENT_MENU_LEVEL__=0;
		__ARR_OPEN_MENU_NAME__=[];
		return true;
	}
	return false;
}

function activMask(){
	if(__ALLOW_OPEN_MENU__){
		dlib.eventLayerMask(0).visible(true);
		return true;
	}
	return false;
}