/* ////////////////////////////
	Menu Drop Down (mdd)
	©Copyright 2007, Uranium Design
	www.uraniumdesign.com
	///////////////////////////  */

	mdd_cMenu = null;
	mdd_cMenuOver = null;
	mdd_lastMenu = null;
	
	mdd_timeOut = null; 
	mdd_mIdName="menu_dd";
	mdd_smIdName="sMenu_dd";
	
	// Positioning
	mdd_relativeMode=true;
	mdd_xOffset=0;
	mdd_yOffset=20;
	
	function mdd_over(xMenu,vNum) {
		if (!vNum) vNum = xGetNumByName(xMenu.id,mdd_mIdName);
		if(xMenu==null) xMenu = xGetTarget(mdd_mIdName + vNum);
		if(mdd_cMenuOver!=null) mdd_out(null,mdd_cMenuOver);
		if(!xMenu) return;
		if (xMenu.xOpened != true) {
			if (mdd_lastMenu!=vNum && mdd_lastMenu!=null) {
				mdd_select(mdd_lastMenu,false);
				mdd_lastMenu=null;
			}
			mdd_select(vNum);
		}
		mdd_cMenuOver=vNum;
	}
	
	function mdd_out(xMenu,vNum) {
		if (!vNum) vNum = xGetNumByName(xMenu.id,mdd_mIdName);
		if(xMenu==null) xMenu = xGetTarget(mdd_mIdName + vNum);
		if(mdd_cMenuOver!=null && mdd_cMenuOver!=vNum) mdd_out(null,mdd_cMenuOver);
		if(!xMenu) return;
		mdd_cMenuOver=null;
		mdd_lastMenu = vNum;
		mdd_checkSubOver(vNum);
	}
	
	function mdds_Over(xSubMenu) {
		var vNum = xGetNumByName(xSubMenu.id,mdd_smIdName);
		mdd_cMenuOver = vNum;
	}
	
	function mdds_out(xSubMenu) {
		var vNum = xGetNumByName(xSubMenu.id,mdd_smIdName);
		var xMenu = xGetTarget(mdd_mIdName + vNum);
		mdd_cMenuOver = null;
		mdd_checkSubOver(vNum);
	}
	
	function mdd_select(vNum,vState) {
		
		var xMenu = xGetTarget(mdd_mIdName + vNum);
		var xSubMenu = xGetTarget(mdd_smIdName + vNum);
		if (!xSubMenu) return;
		
		if (vState == false) {
			xMenu.xOpened = true;
		} else if (vState == true) {
			xMenu.xOpened = false;
		}
		if (xMenu.xOpened == true) {
			xMenu.xOpened = false;
			mdd_cMenu = null;
			xSetDisplay(xSubMenu,"none");
		} else {
			mdd_cMenu = vNum;
			xMenu.xOpened = true;
			var vX = mdd_xOffset;
			var vY = mdd_yOffset;
			if (mdd_relativeMode==false) {
				vX = xGetPosition(xMenu,'offsetLeft')-1+mdd_xOffset;
				vY = xGetPosition(xMenu,'offsetTop')-1+mdd_yOffset;
			}
			xSetPosition(xSubMenu,vX,vY);
			xSetDisplay(xSubMenu,"block");
		}
	}
	
	function mdd_checkSubOver(vNum) {
		setTimeout('mdd_checkOver('+vNum+')', 500);
	}
	
	function mdd_checkOver(vNum) {
		if (mdd_cMenuOver != vNum) {
			mdd_select(vNum,false);
		}
	}