DOM = (document.getElementById)? true : flase;

var menuObj = new Object();
menuObj.children = new Array();

var basisID;

function tm_Expand(node){
	if(DOM){

		var parentNode = node.parentNode;
		var nodeList = parentNode.getElementsByTagName("DIV");
		var l = nodeList.length;
		for(var i=0; i<l; i++){
			if(nodeList.item(i).className=="tmContainer"){
				if(nodeList.item(i).style.display=="")nodeList.item(i).style.display = "block";
				nodeList.item(i).style.display = (nodeList.item(i).style.display=="none")? "block" : "none";
				parentNode.className=(parentNode.className=="tmFolder")? "tmFolderActive" : "tmFolder";
				return;
			}
		};
	}
}


function collapseAllTree(){
	tmMenuNode = DOM_gEBI("treeMenu");
	if(tmMenuNode){
/*
		nodeList = tmMenuNode.getElementsByTagName("DIV");
		var l=nodeList.length;
		for(var i=0; i<l; i++){
			if(nodeList.item(i).className=="tmContainer" && nodeList.item(i).id == ''){
					nodeList.item(i).style.display = "none";
			}
		};
/*/
		nodeList = tmMenuNode.getElementsByTagName("P");
		var l=nodeList.length;
		for(var i=0; i<l; i++){
			if(nodeList.item(i).id=="") tm_Expand(nodeList.item(i));	
		};
//*/
	}
}


function sortMenuArray(){
	function order(a,b){

		if(a.pid > b.pid) return 1;
		if(a.pid < b.pid) return -1;
		if(a.title > b.title) return 1;
		if(a.title < b.title) return -1;
		return 0;

//		return a.pid - b.pid;
	}
	menuData.sort(order);
	basisID = menuData[0].pid;

}

function getMinPid(){
	var l = menuData.length;
	var minPid = menuData[0].pid;
	for(var i=1; i<l; i++){
		if(menuData[i].pid < minPid ) minPid = menuData[i].pid;
	}
	return minPid;
}

function setDNC(obj){
	if(obj.parent){
		obj.parent.dnc=true;
		setDNC(obj.parent);
	}
}


function createMenuObj(){

	allIsParents = false;

	minPid = getMinPid();

	var indx = -1;

	for(i = 0; i<menuData.length; i++){
		for(j=0; j<menuData.length; j++){
			if(menuData[j].pid == menuData[i].id) menuData[i].appendChild(menuData[j]);
		}

		if(menuData[i].id == doNotCollapseID) indx = i;

	}

	if(indx != -1) setDNC(menuData[indx])

	for(i = 0; i<menuData.length; i++){
		if(menuData[i].pid == minPid) menuObj.children[menuObj.children.length]=menuData[i];
	}

	delete menuData;
}

function drawMenuItems(obj){
	if(obj.children){

//		obj.children.sort(byName);

//	    if(obj.children[0].pid != basisID) obj.children.reverse();

//		obj.children.sort(folderUp);

		var l = obj.children.length;

		var st="";

		for(var i=0; i<l; i++){
			urlTarget = '';
			if (obj.children[i].urlTarget) urlTarget = ' target="' + obj.children[i].urlTarget + '"';
			
			aclass = (obj.children[i].id == doNotCollapseID)? ' class="active"' : '';

			if(obj.children[i].children){

				cid = (obj.children[i].dnc)? 'id="MENU_p_' + obj.children[i].id + '"' : '';

				tmFolder = { b:'<div class="tmFolderActive">', e:'<\/div>'};
				tmContainer = {b:'<div class="tmContainer"' + cid + '>', e:'<\/div>'};

				var Item = '<p onclick="tm_Expand(this)"' + cid + aclass + '>'+ obj.children[i].title + '<\/p>';

				document.write(tmFolder.b + Item + tmContainer.b);
					drawMenuItems(obj.children[i]);
				document.write(tmContainer.e + tmFolder.e);
			}else{
			    st='<div class="tmItem"><p' + aclass + '><a href="' + obj.children[i].url + '"'+ urlTarget +'>' + obj.children[i].title + '<\/a><\/p><\/div>';
			    document.write(st);

			}
			
		}
//		document.write(st);
	};
}

function drawMenu(){
// сортировка, если убирать то закомментить нижнюю
	sortMenuArray();
	createMenuObj();
	drawMenuItems(menuObj);
}

function popup(src){
	nw = window.open(src,'','width=700,height=500,resizable=yes,menubar=yes,status=yes,scrollbars=yes');
}

E.addOnloadFunc(collapseAllTree);
