
var curSelId = false;
var imagesVisible = false;
var windowWidth = false;
var subMenuPreloaded = false;
var windowWidthThreshold = 885;


function initMenu() {
	if(!subMenuPreloaded) {
		MM_preloadImages('llmc/layout/menu1-02-1-o.gif','llmc/layout/menu1-02-2-o.gif','llmc/layout/menu1-02-3-o.gif');
		subMenuPreloaded = true;
	}
	
	if(self.innerHeight) // all except Explorer
		windowWidth = self.innerWidth;
	else if (document.documentElement && document.documentElement.clientHeight)
		windowWidth = document.documentElement.clientWidth;
	else if (document.body) // other Explorers
		windowWidth = document.body.clientWidth;
		
	if(document.getElementById) {
		var pC = document.getElementById('plist_container');
		var imgList = pC.getElementsByTagName('IMG');
		for(var i = 0; i < imgList.length; i++)
			imgList[i].style.display = windowWidth > windowWidthThreshold ? 'block' : 'none';
	}
		
}

function showMenuInfo(e, listItemId) {
	if(!e) e = window.event;
	if(e) e.cancelBubble = true;
	if(e || listItemId) {
		var listItem = listItemId ? document.getElementById(listItemId) : findParentNodeByName((window.event) ? e.srcElement : e.target, 'LI');
		if(listItem) {
			if(listItemId || curSelId != listItem.id) {
				hideMenuInfo();
					
				curSelId = listItem.id;
				document.getElementById(curSelId + "_title").style.backgroundColor = '#e8e8e8';
				if(listItem.getAttribute('hasInfo') && windowWidth > windowWidthThreshold) {
					if(listItemId || calToggleInfos(true, false, "showMenuInfo(false,'" + listItem.id + "')")) {	// clear all callendar infos + the callendar leg
						//listItem.style.backgroundImage = 'url(llmc/layout/plist_itemback.gif)';
						listItem.className = 'selected';
						document.getElementById(curSelId + "_info").style.display = 'block';
					}
				}
			}
		} else
			hideMenuInfo();
	}
}

function hideMenuInfo() {
	if(curSelId) {
		document.getElementById(curSelId + "_title").style.backgroundColor = 'transparent';
		//document.getElementById(curSelId).style.backgroundImage = 'none';
		document.getElementById(curSelId).className = '';
		document.getElementById(curSelId + "_info").style.display = 'none';
		curSelId = false;
	}
}

// steps back to parent from the obj till meets a node with the requested nodeName property
// (if the node is not met, returns null).
function findParentNodeByName(obj, nodeName) {
	obj = obj.parentNode;
	if(obj)	while(obj.nodeName != nodeName && obj.nodeName != 'BODY') if(obj.parentNode) obj = obj.parentNode; else break;
	return !obj || obj.nodeName == 'BODY' ? null : obj;
}


if(window.addEventListener) {
	window.addEventListener('mouseover', showMenuInfo, false);
} else {
	onmouseover = showMenuInfo;
}

function lOpen(ppath) {
	window.location = ppath;
}









////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



var calIsOn = false;
var calOnElements;
function calOn(y, m) {
	//calOff(true);
	
	calIsOn = true;
	if(document.getElementById) {
		var c = document.getElementById('plist_icontainer');
		var calItems = c.getElementsByTagName('div');
		var itmShow;
		var calCurElements = calOnElements;
		calOnElements = new Array();
		
		m = parseInt(m);
		y = parseInt(y);
		for(var i = 0; i < calItems.length; i++) {
			if(calItems[i].id.indexOf('cal_item') >= 0) {
				
				
				if(calItems[i].getAttribute('year_end') != '') {
					/*alert(calItems[i].innerHTML + "\n\n" + 
						  (calItems[i].getAttribute('year_start') < y || calItems[i].getAttribute('year_start') == y && calItems[i].getAttribute('month_start') <= m) + ', '+ 
						  (calItems[i].getAttribute('year_end') > y || calItems[i].getAttribute('year_end') == y && calItems[i].getAttribute('month_end') >= m) + 
						  "\n\n" + 
						  y + ',' + m + "\n" + 
						  calItems[i].getAttribute('year_start') + ',' + calItems[i].getAttribute('month_start') + "\n" + 
						  calItems[i].getAttribute('year_end') + ',' + calItems[i].getAttribute('month_end'));*/
					
					itmShow = calItems[i].getAttribute('year_start') < y || calItems[i].getAttribute('year_start') == y && calItems[i].getAttribute('month_start') <= m;
					itmShow = itmShow && (calItems[i].getAttribute('year_end') > y || calItems[i].getAttribute('year_end') == y && calItems[i].getAttribute('month_end') >= m);
				} else {
					itmShow = calItems[i].getAttribute('year_start') == y && calItems[i].getAttribute('month_start') == m;
				} 
					
				if(itmShow) {
					calOnElements.push(calItems[i]);
				}
			}
		}
		
		calToggleInfos(false, calCurElements);
	}
	
}

function calToggleInfos(clearAll, curElements, funcToExecute) {
	var i, j, isEmpty;
	if(clearAll || !calOnElements) {
		if(clearAll && funcToExecute && calOnElements) {
			calAnimateInfo(-1, funcToExecute);
			return;
		}
		var c = swfGetObj('callendarSwf');
		//c = document.getElementById('callendarSwf'); //document.embeds['callendarSwf'];
		//k = '';
		//for(var j in c)	k += j + ' = ' + c[j] + "\n";
		//opera.postError(k);
		try {
			c.SetVariable("/:hideCal", true);
		} catch(e) {}
		calIsOn = false;
	}
	
	isEmpty = !curElements && calOnElements && !clearAll;
	if(isEmpty) document.getElementById('plist_icontainer').style.visibility = 'hidden';
	
	if(calOnElements) for(var i = 0; i < calOnElements.length; i++) {
		calOnElements[i].style.display = clearAll ? 'none' : 'block';
		if(curElements) for(j = 0; j < curElements.length; j++)
			if(curElements[j] == calOnElements[i]) {
				curElements.splice(j, 1);
				break;
			}
	}

	if(curElements && curElements.length > 0) {
		for(j = 0; j < curElements.length; j++)
			curElements[j].style.display = 'none';
	}
	
	if(isEmpty) calAnimateInfo(1);
	
	if(clearAll) calOnElements = false;
	
	return true;
}

function swfGetObj(objName) {
	if(window.document[objName])
	  return window.document[objName];
	else if(navigator.appName.indexOf("Microsoft Internet") == -1) {
		if(document.embeds && document.embeds[objName])
			return document.embeds[objName]; 
	} else /* if (navigator.appName.indexOf("Microsoft Internet")!=-1) */
		return document.getElementById(objName);
	
	return false;
}





















var calAnimClipObj = false;
var calAnimClipH = 0;
var calAnimClipHEnd = 0;
var calAnimClipStep = 50;
var calAnimStop = false;
var calAnimFuncFinish = '';
var calAnimT;
function calAnimateInfo(dir, funcToExecute) {
	calAnimFuncFinish = funcToExecute;
	if(!calAnimT) {
		calAnimClipObj = document.getElementById('plist_icontainer');
		calAnimClipH = dir > 0 ? 0 : calAnimClipObj.offsetHeight;
		calAnimClipHEnd = dir > 0 ? calAnimClipObj.offsetHeight : 0;
		calAnimClipStep = dir * Math.abs(calAnimClipStep);
		//alert(calAnimClipObj + ', ' + calAnimClipH + " , " + funcToExecute );
		calAnimStop = false;
		calAnimClipObj.style.visibility = 'visible';
		calAnimClipObj.style.height = calAnimClipH + 'px';
		//alert(calAnimClipH + ', '+ calAnimClipHEnd);
		calAnimate();
	}
}
function calAnimate() {
	calAnimT = false;
	if(!calAnimStop) {
		calAnimClipH += calAnimClipStep;
		if(calAnimClipStep > 0) {
			if(calAnimClipH > calAnimClipHEnd) { calAnimClipH = calAnimClipHEnd; calAnimStop = true; }
		} else 
			if(calAnimClipH < 0)  { calAnimClipH = 0; calAnimStop = true; }
		//calAnimClipObj.style.clip = "rect(0 " + calAnimClipW + "px " + calAnimClipH + "px 0)";
		calAnimClipObj.style.height = calAnimClipH + 'px';
		calAnimT = setTimeout("calAnimate()", 20);
	} else {
		//calAnimClipObj.style.clip = "";
		calAnimClipObj.style.height = 'auto';
		calAnimClipObj = false;
		if(calAnimClipStep < 0) calToggleInfos(true);
		if(calAnimFuncFinish) eval(calAnimFuncFinish);
	}
}