//**********************************************************
//  $Id: navbar_vasak.js,v 1.1 2005/06/10 07:45:09 tanel Exp $
//**********************************************************

function reload_sisu(){
//	alert('slice:'+sliceend + ' & href = '+top.sisu.location.href)
	if(top.sisu.location.href.length){
		var sliceend = top.sisu.location.href.lastIndexOf('?');
		if(sliceend > 0){
	//		alert('sliceolemas:'+sliceend)
			var slice = top.sisu.location.href.slice(0, sliceend);
			top.sisu.location.href = slice;
		}else{
	//		alert('pole:'+sliceend+'loc:'+top.sisu.location.href)
			top.sisu.location.href = top.sisu.location.href;
		}
	}
}


function on_load(){
	var root = document.getElementById('puu');
	var x =	root.getElementsByTagName('ul');
	//var x =	root.getElementsByTagName('li');

    if (root.getElementsByTagName('ul').length < 1 ){//struktuuripuu tyhi
		//t.setAttribute('style','position:relative');
		var t = document.createElement('img');
		t.setAttribute('src','img/tree_none.gif');
		root.appendChild(t);
       //alert("Viga: Struktuuripuu puudulik!");
    }else{
		//alert('lapsi palju '+x.length);
		//var l = x.getElementsByTagName('ul')
		//l.appendChild(t);
		var done = false;

		for ( i = 0; i < x.length; i++ ) {
			var xNode = x.item(i);
			if (xNode.nodeType != 1) continue;
			if (xNode.childNodes.length > 0 && done != true){
				//xNode.setAttribute('class','ul_closed');
				//xNode.setAttribute('type','circle');
				done = true;
				for(j = 0;j < xNode.childNodes.length; j++){
					if (xNode.childNodes.item(j).nodeType != 1) continue;
					if(xNode.childNodes.item(j).nodeName == 'UL'){
						//xNode.childNodes.item(j).setAttribute('style','list-style-image:url(img/tree_open.gif)');
						//alert (xNode.childNodes.item(j).nodeName);
					}
				}
				//alert (xNode.nodeName +' - '+xNode.childNodes.length);
			}
			//var t = document.createElement('img');
			//t.setAttribute('src','img/tree_open.gif');
			//xNode.appendChild(t);
//				xNode.setAttribute('style','list-style-image:"img/tree_open.gif"');
			//alert (xNode.nodeName);

		}
    }
}

function tree_close(elem){
//		alert('Sulgeme puu. Parent: '+root.nodeName+' - '+root.className+', lapsi on: '+root.childNodes.length);
	var root=elem.parentNode;
	for(j = 0;j < root.childNodes.length; j++){
//			alert('laps on '+root.childNodes[j].nodeName+' ('+j+')');
		if(root.childNodes[j].nodeName == 'DIV'){
			root.childNodes[j].style.display = 'none';
		}
	}
	if (elem.getAttribute('src').search('open_disabled') != -1) {
		elem.setAttribute('src', elem.getAttribute('src').replace('open_disabled', 'closed_disabled'));
	} else {
		elem.setAttribute('src', elem.getAttribute('src').replace('open', 'closed'));
	}
	elem.className = "cl";
}

function tree_open(elem){
//		alert('Avame puu. Parent: '+root.nodeName+' - '+root.className+', lapsi on: '+root.childNodes.length);
	var root=elem.parentNode;
	for(j = 0;j < root.childNodes.length; j++){
//			alert('laps on '+root.childNodes[j].nodeName+' ('+j+')');
		if(root.childNodes[j].nodeName == 'DIV'){
			root.childNodes[j].style.display = 'block';
		}
	}
	if (elem.getAttribute('src').search('closed_disabled') != -1) {
		elem.setAttribute('src', elem.getAttribute('src').replace('closed_disabled', 'open_disabled'));
	} else {
		elem.setAttribute('src', elem.getAttribute('src').replace('closed', 'open'));
	}
	elem.className = "op";
}

function trigger(elem){
//		alert('trigger - '+elem.className);
	if(elem.className == "op"){
		tree_close(elem);
	}else{
		tree_open(elem);
	}

	// esmalt *proovime* skrollida
	//top.menyy_v.scrollBy(1,0);
	// pageXOffset siis NS jaoks, scrollLeft IE jaoks
	// if((top.menyy_v.pageXOffset > 0) || (top.menyy_v.document.body.scrollLeft > 0)) {
	//if(top.menyy_v.document.body.scrollLeft > 0) {
	//resizeFrame(); 
	//}
	//else {
/*			alert('pole'); */
	//}
	// kerime tagasi, et viisakas oleks
	//top.menyy_v.scrollBy(1,0);
}

function save_state(keel){
	var root = document.getElementById('juur');
	var x =	root.getElementsByTagName('DIV');
//		alert('salvestame puu.. ');
	var lahtised = '';

    if (x.length > 0 ){//puu pole tyhi
//			alert('oksi kokku:'+x.length);
		for ( i = 0; i < x.length; i++ ) {
			if (x[i].nodeType != 1) continue;
			if (x[i].className != 'haru') continue;
//				if(x[i].firstChild.className == 'op' && x[i].firstChild.style.display != 'none' ){
			if(x[i].firstChild.className == 'op'){
				var h_id = x[i].id.substr(4) + '.';
//					alert(i+') Lahtine haru: '+x[i].nodeName+'-'+h_id);
				lahtised += h_id;
			}
		}
	}
	if(keel != 'undefined' && keel > 0){//ei muuda jooksvat keelt
		document.harud.keel.value = keel;
	}
	document.harud.a_harud.value = lahtised;
	document.harud.target = '_self';
	document.harud.submit();
	return ;
}

//aktiivse oksa vahetus
function set_active(elem){
	var eelmine = document.getElementById('aoks');
	if(eelmine){//aktiivne oks on olemas
//			alert(' eelmine oli'+eelmine.nodeName);
		eelmine.className = 'tavaoks';//deakt vanale oksale
		eelmine.id = 'tavaoks';
	}
	elem.className = 'aoks';
	elem.id = 'aoks';
}

//oksa puus ylespoole nihutamisex
function move(suund){
	var aoks = document.getElementById('aoks');
	if(!aoks || !suund){
		alert('Vali eelnevalt oks, mida soovid nihutada!');
	}else{
		var croot = aoks.parentNode;
		var cproot = croot.parentNode.childNodes;
//			alert('node: '+aoks.nodeName+' croot: '+croot.nodeName+' class: '+croot.className+' id: '+croot.id);
		var prevNode;
		var nextNode;
		var fstNode;
		var lstNode;
    	if (cproot.length > 0 ){//puu pole tyhi
			for ( i = 0; i < cproot.length; i++ ) {
				if (cproot[i].nodeType != 1 || !cproot[i].id) continue;
				if(!fstNode){
					fstNode = cproot[i];
				}
				if(suund == 'up' && prevNode && cproot[i] == croot){//liigutame yles
					document.harud.action.value = 'swap';
					document.harud.id_from.value = cproot[i].id.substr(4);
					document.harud.id_to.value = prevNode.id.substr(4);
					save_state();//salvestame puu oleku
				}
				if(suund == 'down' && prevNode && prevNode == croot){//liigutame alla
					document.harud.action.value = 'swap';
					document.harud.id_from.value = prevNode.id.substr(4);
					document.harud.id_to.value = cproot[i].id.substr(4);
					save_state();//salvestame puu oleku
				}
				prevNode = cproot[i];
			}
			if(suund == 'top' && fstNode && croot.id != fstNode.id){
			//	alert('nyyd peaks nihutama tippu');
				document.harud.action.value = 'move_top';
				document.harud.id_from.value = croot.id.substr(4);
				document.harud.id_to.value = fstNode.id.substr(4);
				save_state();//salvestame puu oleku
			}
			if(suund == 'bottom' && prevNode && prevNode.id != croot.id){
		//		alert('nyyd peaks nihutama põhja');
				document.harud.action.value = 'move_bottom';
				document.harud.id_from.value = croot.id.substr(4);
				document.harud.id_to.value = prevNode.id.substr(4);
				save_state();//salvestame puu oleku
			}

		}
	}//end if
}

//aktiivse oksa kustutamine
function del_node(){
	var aoks = document.getElementById('aoks');
	if(!aoks){
		alert('Vali eelnevalt oks/haru, mida soovid kustutada!');
	}else{
		if(window.confirm('Kas sa tahad tõesti valitud haru koos alamdokumentidega kustutada?')){
			alert('hee, kustutamine ei tööta veel!');
			document.harud.action.value = 'del_node';
			document.harud.id_from.value = aoks.parentNode.id.substr(4);
			document.harud.id_to.value = '';
			save_state();
		}
	}
}


// resizeme freimi pisut suuremaks
function resizeFrame() {
	if (document.all) {
		var freimsett = top.document.getElementsByTagName('frameset');
		var params = freimsett[0].getAttribute('cols');
		freimsett[0].setAttribute('cols', '230,*');
	}
//	alert(params);
}
function openparent(nChildID) {
	//alert(nChildID.type);
	if (undefined!=nChildID) {
		var puu = document.getElementById('oks_'+nChildID);
		if(puu && puu.parentNode.className != 'puujuur') {
			var vanem = puu.parentNode;
			if('haru'==vanem.className ) {
				for(var i=0;i<vanem.childNodes.length;i++) {
					if('IMG'==vanem.childNodes[i].nodeName) {
						var element = vanem.childNodes[i];
						break;
					}
				}
			}
			
			tree_open(element);
		}
	}
}