// 親ノードID(0000)、追加する子ノードID(0000)、caption、url、孫がいるかどうかフラグ、ハイライト
function addChildNode(id, c_id, caption, url, dir, sel) {
node = document.getElementById(id);
if (dir) {
img = '';
} else {
img = '';
}
s = '
';
node.innerHTML += s;
v = node.firstChild;
if ((v.src) && (0 <= v.src.indexOf('plus'))) { v.src = 'img/minus.gif'; }
}
function openNode(node) {
node.firstChild.src = 'img/minus.gif';
node.style.overflow = '';
node.style.height = '';
}
function closeNode(node) {
node.firstChild.src = 'img/plus.gif';
node.style.overflow = 'hidden';
node.style.height = '15px';
}
function openTreeview() {
nodes = document.getElementById('treebox').getElementsByTagName('div');
for (i = 0; i < nodes.length; i++) {
v = nodes.item(i);
if (v.id == '') { continue; }
if (!v.firstChild.src) { continue; }
if (0 <= v.firstChild.src.indexOf('plus')) { openNode(v) }
}
}
function closeTreeview() {
nodes = document.getElementById('treebox').getElementsByTagName('div');
for (i = 0; i < nodes.length; i++) {
v = nodes.item(i);
if (v.id == '') { continue; }
if (!v.firstChild.src) { continue; }
if (0 <= v.firstChild.src.indexOf('minus')) { closeNode(v) }
}
}
function onclickNode(id) {
node = document.getElementById(id);
c_node = node.getElementsByTagName('div');
if (0 <= node.firstChild.src.indexOf('plus')) {
openNode(node);
} else {
closeNode(node);
}
if (c_node.length == 0) {
xml_treeview(id);
}
}
function xml_treeview(id, openmode){
httpObj = createXMLHttpRequest(cb_treeview);
if (httpObj){
if (openmode == undefined) {
open_para = '';
} else {
open_para = '&openmode='+openmode;
}
httpObj.open("GET",'tooltree.php?id='+id+open_para,true);
httpObj.send(null);
}
}
function cb_treeview(){
if (httpObj.readyState == 4){
switch(httpObj.status){
case 200:
xmlData = httpObj.responseXML;
xml_node = xmlData.getElementsByTagName("node");
xml_up = xmlData.getElementsByTagName("up_id");
xml_id = xmlData.getElementsByTagName("id");
xml_title = xmlData.getElementsByTagName("title");
xml_url = xmlData.getElementsByTagName("url");
xml_child_cnt = xmlData.getElementsByTagName("child_cnt");
xml_selected = xmlData.getElementsByTagName("selected");
for (i=0; i 0);
selected_flg = false;
if (xml_selected[i].childNodes[0].nodeValue == "true") {
selected_flg = true;
}
addChildNode(c_up, c_id, c_title, c_url, c_is_child, selected_flg);
}
break;
}
}
}