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 submit_search() {
  document.search.submit();
}

function orderby(val) {
        document.search.orderby.value = val;
        submit_search();
}
function show_subobjects() {
        var all_obj = document.getElementsByTagName("input");
        
        for(i=0; i<all_obj.length; i++) {
                var sub = all_obj[i].id;
                if(sub.substring(0,3)=="s_m") {
                        var oarr = sub.split("_",3);
                        if(oarr.length==2) {
                                var obj = document.getElementById(sub);
                                if(obj.checked) treeSelMain(obj);
                        }
                }
        }
}
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 = 'search/images/icn_plus.png';
        }
        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 = 'search/images/icn_minus.png';
  }
  else {
        obj.style.display = 'none';
        img_obj.src = 'search/images/icn_plus.png';
  }

}

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);
                        var id = all[i].id;
                        
                        if(p==prefix + "m") {
                                if(id.substring(id.length, id.length-5) == "_root") all[i].checked = true;
                                else all[i].checked = false;

                                var oarr = id.split("_",3);

                                if(oarr.length==2) {
                                        var main_id = oarr[1].substring(1);

                                        if(!isNaN(main_id)) {
                                                sub_g = document.getElementById(prefix + "g" + main_id);
                                                if(sub_g) sub_g.style.display = 'none';
                                        }
                                }
                        }
                }                
        }

}

function treeSelSRoot(obj) {
        var r = obj.id;
        var prefix = r.substring(0,2);

        var garr = obj.id.split("_");
        var searchstr = prefix + garr[1] + "_";

        var all = document.getElementsByTagName("input");
        for(i=0; i<all.length; i++) {
                var o = all[i].type;

                if(o=="checkbox") {
                        var p = "";
                        var id = all[i].id;
                        var parr = id.split("_");
                        
                        if(parr.length > 2) p = parr[0] + "_" + parr[1] + "_";

                        if(p==searchstr && id != (searchstr + "root")) {
                                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;
        
        // Show sub
        treeNav(m_id, prefix, false);
}

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 root
        var pattern = /\_s[0-9]+/;
        var m = s.replace(pattern, "");
        var m = m + "_root";
        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 main_id = prefix + "m" + m;
        var sub_id = prefix + "g" + m;
        var sub;
        var main;

        if(!(sub = document.getElementById(sub_id))) return;
        main = document.getElementById(main_id);

        if(main.checked==true || forceOpen) {
                sub.style.display = "";
        }
        else {
                sub.style.display = "none";
        }
}

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;
}

function showOrgInfo(id) {
        var info = document.getElementById(id);
        info.style.display = '';
}

function hideOrgInfo(id) {
        var info = document.getElementById(id);
        info.style.display = 'none';
}

