/*********************************************************************
*** (C) OK-Systems,2007 (All rights reserved) 
*** Don't make any changes without reporting to oks@ok-systems.com
*** File____: menu.js
*** Project_: Aliad.GeneraCd
*** Language: JavaScript
*********************************************************************/

var oSelectedFile=null;

function prepareMenu() {
	//alert('prepareMenu');
	if (!document.getElementById || !document.getElementsByTagName) return false;
	if (!document.getElementsByTagName('LI')) return false;
	//---
	var oNode;
	var aNodes= document.getElementsByTagName('LI');
	for (var i=0; i<aNodes.length; i++) {	
		oNode=aNodes[i];
		switch (oNode.className) {
		case 'Folder':
			var oFolder;
			//alert(oNode.childNodes.length+'\n'+oNode.innerHTML);
			for (var j=0; j<oNode.childNodes.length; j++) {
				oFolder = oNode.childNodes[j];
				if (oFolder.tagName=='A') {
					//oFolder.style.cursor= 'pointer';
					oFolder.onclick = function() { 
						toggleFolder(this);
						return false;
					}
				}
			}
			break;
		case 'File':
			var oFile=oNode.getElementsByTagName('A')[0];
			oFile.onclick = function() { 
				SelectFile(this);
				return true;
			}	
			break;
		}
	}
	//--- Hide folder contents
	var aNodes= document.getElementsByTagName('UL');
	for (var i=0; i<aNodes.length; i++) {	
		aNodes[i].style.display='none';
	}
	//--- Expand first level
	toggleFolder(document.getElementsByTagName('UL')[0]);
	toggleFolder(document.getElementsByTagName('UL')[0].getElementsByTagName('UL')[0]);
}

function toggleFolder(node) {
	//if (node==document.getElementsByTagName('UL')[0]) {
	//	return;
	//}
	node=node.parentNode;
	//alert('toggleFolder\n\t'+node.innerHTML+'\nChildren: '+node.childNodes.length);
	var child;
	for (var i=0; i<node.childNodes.length; i++) {
		child = node.childNodes[i];
		if (child.tagName == 'UL') {
			child.style.display = (child.style.display=='none'?'':'none');
			//node.className=(child.style.display=='none'?'Folder':'FolderOpen');
			if (node.className!='Root') {
				node.className=(child.style.display=='none'?'Folder':'FolderOpen');
			}
		}
	}
	return false;
}

function SelectFile(oFile) {
	if (oSelectedFile==oFile) return;
	if (oSelectedFile) oSelectedFile.parentNode.className='File';
	oSelectedFile=oFile;
	oSelectedFile.parentNode.className='FileSelected';
	//return void(null);
	return true;
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

addLoadEvent(prepareMenu);

