var browser_name = navigator.appName;

function openCNode(btn,htmlstr,id){
	if(document.getElementById) {
		tr = btn;
		trbase=document.getElementById('base');
		while (tr.tagName != 'TR') tr = tr.parentNode;
//		if (browser_name == "Netscape")
			
			//var newTr = tr.parentNode.insertAfter(trbase.cloneNode(true),tr.nextSibling);
		var newTr = tr.parentNode.insertBefore(trbase.cloneNode(true),tr.nextSibling);
		thisChilds = newTr.getElementsByTagName('td');
		thisChilds[0].innerHTML = htmlstr;
		thisChilds[0].setAttribute('id',id);
		}
	}

function closeCNode(btn){
	
	
	if(document.getElementById){
		tr = btn;
		while (tr.tagName != 'TR') tr = tr.parentNode;
		tr.parentNode.removeChild(tr);
		}
	}

var plus=new Image();
plus.src="http://skitalets.ru/graph/plus.png";
var minus=new Image();
minus.src="http://skitalets.ru/graph/minus.png";

function loadData(parent){
	var margin='';
	var child='';
	var reload='';
	var img;
	var openf;
	
	
	
	for (i=Rec.length-1;i>=0;i--){
		img=document.getElementById('img'+Rec[i][0]);
		if(Rec[i][0]==parent && img){
			if (img.getAttribute('src')==plus.src){
				img.setAttribute('src',minus.src);
				}
			else{
				img.setAttribute('src',plus.src);
				}
			}
		if(Rec[i][2]==parent){
			//Смотрим уровень и вставляем определенное колво пробелов
			if(margin=='' && parent!=-1){
				for (level=0;level<Rec[i][6];level++){
					margin+='&nbsp;&nbsp;';
					}
				}
			reload='<a href="'+Rec[i][7]+'">'+Rec[i][1]+'</a>';
			if (Math.abs(Rec[i][5]-Rec[i][4])>1){
				//Ключи отличаются более чем на единицу - значит есть детские элементы
				//ставим плюс
				child='<a href="javascript:loadData('+Rec[i][0]+');">'+
				'<img id="img'+Rec[i][0]+'" src="http://skitalets.ru/graph/plus.png" border="0"></a>'
				}
			else{
				child='<img width="9" height="1" src="http://skitalets.ru/graph/space.png">';
				}
			if (Rec[i][3]==0){//Открываем ветвь
				if(parent==-1){
					openCNode(document.getElementById('base'),
					child+'&nbsp;'+reload
					,'id'+Rec[i][0]); 
					}
				else{
					openCNode(document.getElementById('id'+Rec[i][2]),
						margin+child+'&nbsp;'+reload
						,'id'+Rec[i][0]); 
					}
                                Rec[i][3]=1;
                                }
			else{//Закрываем ветвь
				// добавить закрытие открытых подчиненных ветвей.
				//Пробегаем по дереву, если левый ключ больше Rec[i][4], а правый меньше Rec[i][5]
				//И если  Rec[i][5] - Rec[i][4] >1 то закрываем эту ветку тоже.
				for (j=0;j<Rec.length;j++){
					if ((parseInt(Rec[j][4])>parseInt(Rec[i][4]))&& 
						(parseInt(Rec[j][5])<parseInt(Rec[i][5])) &&
						(document.getElementById('id'+Rec[j][0]))
						){
                                                Rec[j][3]=0;
						closeCNode(document.getElementById('id'+Rec[j][0]));
						}
					}
				closeCNode(document.getElementById('id'+Rec[i][0]));
				Rec[i][3]=0;
				}
			}
		}
	}
