function open_win(url, w, h) {
  newWin = null;
  if(newWin==null || newWin.closed)
    newWin = window.open(url,'newWindow','width='+w+',height='+h+',resizable=yes,scrollbars=yes,menubar=no,toolbar=no,directories=no,location=no,status=no');
  newWin.focus();
}

function show_hide_trees() {
  var all_obj = document.getElementsByTagName("tr");
  var tnum = null;

  for(i=0; i<all_obj.length; i++) {
    var obj_txt = all_obj[i].id.substring(0,4);

    if(obj_txt == "shid") {
        obj_num = all_obj[i].id.substring(4);
        obj_num_array = obj_num.split("_");
        obj_id = obj_num_array[0];
        if(tnum != obj_id) {
                tnum = obj_id;
                timg = document.getElementById("timg" + tnum);
                timg.src = './img/tree_close.gif';
        }
        all_obj[i].style.display = 'none';
    }
  }
}

function show_hide_tree(id, num_sub) {
  var shid = "shid" + id;
  var timg = "timg" + id;
  var obj = document.getElementById(shid);
  var img_obj = document.getElementById(timg);
  var sub_obj = null;

  if(obj.style.display == 'none') show = true;
  else show = false;

  for(i=0; i<num_sub; i++) {
        sub_shid = shid + "_" + (i+1);
        sub_obj = document.getElementById(sub_shid);
        if(show) sub_obj.style.display = '';
        else sub_obj.style.display = 'none';
  }

  if(show) {
        obj.style.display = '';
        img_obj.src = './img/tree_open.gif';
  }
  else {
        obj.style.display = 'none';
        img_obj.src = './img/tree_close.gif';
  }

}

function show_hide_text(id) {
  var l = document.getElementById("l" + id);
  var t = document.getElementById("t" + id);

  l.style.display = "none";
  t.style.display = "";
}

// Search functions
function treeSelRoot(obj) {
	var r = obj.id;
	var prefix = r.substring(0,2);
	
	var all = document.getElementsByTagName("input");
	for(i=0; i<all.length; i++) {
		var o = all[i].type;
		
		if(o=="checkbox") {
			var p  = all[i].id.substring(0,3);
			
			if(p==prefix + "m") {
				all[i].checked = false;
			}
		}		
	}

}
function treeSelMain(obj) {
	var m = obj.id;
	var m_id = m.substring(3,m.length);
	var prefix = m.substring(0,2);

	// uncheck root
	var root = document.getElementById(prefix + "root");
	root.checked = false;
	
	// find and uncheck sub
	var all = document.getElementsByTagName("input");
	for(i=0; i<all.length; i++) {
		var o = all[i].type;
		
		if(o=="checkbox") {
			var p  = all[i].id.substring(0,m.length+1);
			
			if(p==(m + "_")) {
				all[i].checked = false;
			}
		}		
	}

	// Show sub
	treeNav(m_id, prefix, true);
}

function treeSelSub(obj) {
	var s = obj.id;
	var prefix = s.substring(0,2);

	// uncheck root
	var root = document.getElementById(prefix + "root");
	root.checked = false;

	// uncheck main
	var pattern = /\_s[0-9]+/;
	var m = s.replace(pattern, "");
	main = document.getElementById(m);
	main.checked = false;
}

function treeCloseAll() {
	var all = document.getElementsByTagName("div");
	for(i=0; i<all.length; i++) {
		var objId = all[i].id;

		if(objId.substring(1,3)=="_g") {
			var prefix = objId.substring(0,2);
			var main   = objId.substring(3,objId.length);
			if(prefix!="") treeNav(main, prefix);
		}
	}
}


function treeNavS(m) {treeNav(m, "s_"); }
function treeNavA(m) {treeNav(m, "a_"); }
function treeNav(m, prefix, forceOpen) {
	var sub_id = prefix + "g" + m;
	var img_id = prefix + "i" + m;
	
	var sub = document.getElementById(sub_id);
	var img = document.getElementById(img_id);
	
	if(sub.style.display=="none" || forceOpen) {
		sub.style.display = "";
		img.src = './img/tree_open.gif';
	}
	else {
		sub.style.display = "none";
		img.src = './img/tree_close.gif';
	}
}

function infoSelRoot() {
	var iq1 = document.getElementById("iq1");
	var iq2 = document.getElementById("iq2");
	var iq3 = document.getElementById("iq3");
	
	iq1.checked = false;
	iq2.checked = false;
	iq3.checked = false;
}

function infoSelMain() {
	var iqr = document.getElementById("iqr");

	iqr.checked = false;
}