var op = /opera 5|opera\/5/i.test(navigator.userAgent);
var ie = !op && /msie/i.test(navigator.userAgent);	// preventing opera to be identified as ie
var mz = !op && /mozilla\/5/i.test(navigator.userAgent);	// preventing opera to be identified as mz

function open_branch(img) {
	var branch=document.getElementById(img.id+'_childs');
	if (branch.style.display=='none') {
	    if (ie) branch.style.display='inline';
	    else branch.style.display='table-row';
		//branch.style.display='inline';
		var img_rel_path = img.src.substring(img.src.length-"images/tree/plusbottom.gif".length);
		if (img_rel_path=="images/tree/plusbottom.gif") img.src="images/tree/minusbottom.gif";
		else img.src="images/tree/minus.gif";
	} else {
		branch.style.display='none';
		var img_rel_path = img.src.substring(img.src.length-"images/tree/minusbottom.gif".length);
		if (img_rel_path=="images/tree/minusbottom.gif") img.src="images/tree/plusbottom.gif";
		else img.src="images/tree/plus.gif";
	}
}

function close_tree(container_id, branch_prefix) {
	var container = document.getElementById(container_id);
	var imgs = container.getElementsByTagName("img");
	for (var i=0;i<imgs.length;i++) {
		var img = imgs[i];
		if (img.id.indexOf(branch_prefix)==0) {
			var branch=document.getElementById(img.id+'_childs');
			branch.style.display='none';
			var img_rel_path = img.src.substring(img.src.length-"images/tree/minusbottom.gif".length);
			if (img_rel_path=="images/tree/minusbottom.gif") img.src="images/tree/plusbottom.gif";
			else img.src="images/tree/plus.gif";
		}
	}
}

function evalScripts(elem) {
	var scripts=elem.getElementsByTagName("SCRIPT");
	for(var i=0; i<scripts.length; i++) {
		eval(scripts[i].innerHTML);
	}
}

function load_branch(img, loader) {
	var td = document.getElementById(img.id+'_childs_td');
	if (!td.loaded) {
		smartDownload(loader,
			function (src) {
				td.loaded=true;
				td.innerHTML=src;
				evalScripts(td);
				open_branch(img);
			}
		);
	} else open_branch(img);
}
