var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
var waiting = false;
var curidstr = '';
var curtab = 0;
var newtab = 0;

//var hadtime = false;
//var hadtimer = 0;

function moped(id) {
	mopen(id);
	closetimer = window.setTimeout(mclose, 3500);
}

function mopen(id) {
	mopen(id, 1000);
}

function mopen(id, wt, tab) {
	newtab = document.getElementById(tab);
	mopen(id, wt);
}

// open hidden layer
function mopen(id, wt) {
	// cancel close timer
	mcancelclosetime();
	//if (hadtimer) {
	//	window.clearTimeout(hadtimer);
	//	hadtimer = null;
	//}

	curidstr = id;
	var newitem = document.getElementById(id);
	
	// close old layer
	if (ddmenuitem) {
		if (newitem == ddmenuitem && waiting) {
			waiting = false;
		} else {
			msubhide();
			waiting = true;
		}
	} else {
		waiting = true;
	}

	// get new layer and show it
	ddmenuitem = newitem;
	if (!waiting || !wt) {
		ddmenuitem.style.visibility = 'visible';
		waiting = false;
		
		if (newtab) {
			newtab.style.backgroundImage = 'url(../ci/gfx/m1_hover.gif)';
			curtab = newtab;
			newtab = 0;
		}
	} else {
		closetimer = window.setTimeout('mopen(curidstr)', wt);
	}
	
	//hadtime = false;
	//hadtimer = window.setTimeout(mready, 300);
}

//function mready() {
//	hadtime = true;
//}

// close showed layer
function mclose() {
	if (ddmenuitem) {
		//if (hadtime) {
			msubhide();
		//} else {
		//	closetimer = window.setTimeout(mclose, timeout);
		//}
	}
}

function msubhide() {
	ddmenuitem.style.visibility = 'hidden';
	if (curtab) {
		curtab.style.backgroundImage = 'url(../ci/gfx/m1_bg.gif)';
		curtab = 0;
	}
}

function mclosetime() {
	mclosetime(timeout);
}

// go close timer
function mclosetime(wt) {
	mcancelclosetime();
	if (wt) {
		closetimer = window.setTimeout(mclose, wt);
	} else {
		mclose();
	}
}

// cancel close timer
function mcancelclosetime() {
	if (closetimer) {
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
//document.onclick = mclose;

//
// better main-menu code...
var curv2_menu = 0;
var curv2_drop = 0;

function menuv2_drop(mid, did) {
	menuv2_reset();
	if (mid) {
		curv2_menu = document.getElementById(mid);
		curv2_menu.style.backgroundImage = 'url(http://bmxclusive.com/ci/gfx/m1_hover.gif)';
	}
	if (did) {
		curv2_drop = document.getElementById(did);
		curv2_drop.style.visibility = 'visible';
	}
}

function menuv2_reset() {
	if (curv2_menu) {
		curv2_menu.style.backgroundImage = 'url(http://bmxclusive.com/ci/gfx/m1_bg.gif)';
		curv2_menu = 0;
	}
	if (curv2_drop) {
		curv2_drop.style.visibility = 'hidden';
		curv2_drop = 0;
	}
}