var LMOvermsg = "";
var LMTimer = 300;
var LMItems = new Array();
var LMTimerId = new Array();
var LMOverId = "";
var LMParent = "";

function LMRollOver(id) {
	
	LMOverId = id;
	
	element = document.getElementById(id);
	LMOvermsg += "\nroll over: "+element.tagName+" "+element.id;
	//showmomsg();
	
	//if(element.className != 'LMSel') {
		for( var x = 0; element.childNodes[x]; x++ ){
			if(element.childNodes[x].className != 'LMClicked') {
				if( element.childNodes[x].tagName == 'UL' ) {
					element.childNodes[x].className = 'LMOpened';
				}
			}
		}
	//}
	
	
	for(i=(LMgetItemId(id)+1);i<LMItems.length;i++) {
		timedLMRollOff(LMItems[i]);
	}
	
	var txt = "";
	for(i=0;i<LMItems.length;i++) {
		txt += "id: "+i+" item: "+LMItems[i]+"\n";
	}
	txt += (LMgetItemId(id)+1)+"\n";
	txt += id+"\n";
	txt += LMItems[LMgetItemId(id)+1]+"\n";
	//alert(txt);
}

function LMRollOff(id) {
	element = document.getElementById(id);
	LMOvermsg += "\nroll off: "+id;
	//showmomsg();
	
	if(element.className != 'LMSel') {
		if (LMOverId != id && LMgetItemId(id)>=LMgetItemId(LMOverId)) {
			for( var x = 0; element.childNodes[x]; x++ ){
				if(element.childNodes[x].className != 'LMClicked') {
					if( element.childNodes[x].tagName == 'UL' ) {
						element.childNodes[x].className = 'LMClosed';
						//LMSleep(100);
					}
				}
			}
		}
		else {
			clearTimeout(LMTimerId[LMgetItemId(id)]);
			LMTimerId[LMgetItemId(id)] = setTimeout("LMRollOff('"+id+"')",LMTimer);
		}
	}
}


function timedLMRollOff(id)
{
	if (LMOverId == id){
		LMOverId = "";
	}
	
	clearTimeout(LMTimerId[LMgetItemId(id)]);
	LMTimerId[LMgetItemId(id)] = setTimeout("LMRollOff('"+id+"')",LMTimer);
}


function LMClick(id) {
	element = document.getElementById(id);
	LMOvermsg += "\nclick: "+element.tagName+" "+element.id;
	
	if(!LMParent)
	{
		for( var x = 0; element.childNodes[x]; x++ ){
			if( element.childNodes[x].tagName == 'UL' ) {
				if(element.childNodes[x].className == 'LMClosed') {
					element.childNodes[x].className = 'LMClicked';
				}
				else {
					element.childNodes[x].className = 'LMClosed';
				}
			}
		}
	}
	//showmomsg();
}


function showmomsg() {
	//var tag = document.getElementById("momsg");
	//tag.innerHTML = movermsg;
	alert(LMOvermsg)
}


function LMSleep(msec) {
	naptime = msec * 1;
	var sleeping = true;
	var now = new Date();
	var alarm;
	var startingMSeconds = now.getTime();
	//alert("starting nap at timestamp: " + startingMSeconds + "\nWill sleep for: " + naptime + " ms");
	while(sleeping) {
		alarm = new Date();
		alarmMSeconds = alarm.getTime();
		if(alarmMSeconds - startingMSeconds > naptime) {
			sleeping = false;
		}
	}
	//alert("Wakeup!");
}

function LMAddItem(id) {
	LMItems[LMItems.length] = id;
}

function LMAddTimer() {
	LMTimerId[LMTimerId.length] = 0;
}

function LMgetItemId(id) {
	for(i=0;i<LMItems.length;i++) {
		if(id==LMItems[i]) {
			//return LMItems[i];
			return i;
		}
	}
	return 0;
}

function LMOSub(i) {
	LMParent = i;
}