/* 
 * © 2009 Miradigm
 * All rights reserved.
 */
__condivbase='divcon_';
__condivclass='mid';
__ie=(navigator.appName == 'Microsoft Internet Explorer');
function doctree_treenodeHeight(treename,node) {
	var d=document;
	var h=0;
	var aa = treenode[treename];
	var idn = 'tree_'+treename+'_'+node;
	if (aa[node]['branch'].length > 0) {
		var obn = d.getElementById('tree_'+treename+'_'+node);
		if (obn.style.visibility=='visible') {
			for (var i in aa)  if (aa[i]['root']==node) h += doctree_treenodeHeight(treename,i);
			h += tree_boxheight*aa[node]['size'];
		}
	} else {
		h = tree_boxheight;
	}
	return h;
}

function doctree_moveBranchIE(treename,node,move_y) {
	var d=document;
	var aa = treenode[treename];
	if (node>0) {
		var root = aa[node]['root'];
		for (var i in aa[root]['branch']) {
			var n = aa[root]['branch'][i];
			if ((n==0)||(n <= node)) continue;
			var iddvbt = 'dvt_'+treename+'_'+n;
			var obdvbt = d.getElementById(iddvbt);
			var top = parseInt(obdvbt.style.top) + move_y;
			obdvbt.style.top = top+'px';
		}
		var iddvI = 'dvI_'+treename+'_'+node;
		var obdvI = d.getElementById(iddvI);
		var height = parseInt(obdvI.style.height) + move_y;
		if (height < 0) height = 0;
		obdvI.style.height = height+'px';
	}
}

function doctree_toggleTreeIE(treename,node) {
	var d=document;
	var iddvb = 'dvb_'+treename+'_'+node;
	var iddvt = 'dvt_'+treename+'_'+node;
	var idimg = 'img_'+treename+'_'+node;
	var idtdb = 'tdb_'+treename+'_'+node;
	var idbox = 'ab_'+treename+'_'+node;
	var obdvb = d.getElementById(iddvb);
	var obdvt = d.getElementById(iddvt);
	var obimg = d.getElementById(idimg);
	var obtdb = d.getElementById(idtdb);
	var obbox = d.getElementById(idbox);
	//alert('The Microsoft IE browser has a Document Object Model that was specified by cretins.');
	if (obdvb.style.visibility == 'visible') {
		obdvb.style.visibility = 'hidden';
		var theight = treenode[treename][node]['branch'].length * tree_boxheight;		
		for (i=0;i<treenode[treename][node]['branch'].length;i++) {
			var iddvbt = 'dvt_'+treename+'_'+treenode[treename][node]['branch'][i];
			var obdvbt = d.getElementById(iddvbt);
			obdvbt.style.visibility = 'hidden';
		}
		var move_y = -treenode[treename][node]['branch'].length * tree_boxheight;
		doctree_moveBranchIE(treename,node,move_y);
		var imgsrc = obimg.src.substr(obimg.src.indexOf('images'));
		if (imgsrc == tree_imgBOT) {
			obimg.src = tree_imgBCT;
		} else if (imgsrc == tree_imgBOL) {
			obimg.src = tree_imgBCL;
		}
	} else {
		var theight = treenode[treename][node]['branch'].length * tree_boxheight;
		obdvb.style.visibility = 'visible';
		for (i=0;i<treenode[treename][node]['branch'].length;i++) {
			var iddvbt = 'dvt_'+treename+'_'+treenode[treename][node]['branch'][i];
			var obdvbt = d.getElementById(iddvbt);
			obdvbt.style.visibility = 'visible';
		}
		var move_y = treenode[treename][node]['branch'].length * tree_boxheight;
		doctree_moveBranchIE(treename,node,move_y);
		var imgsrc = obimg.src.substr(obimg.src.indexOf('images'));
		if (imgsrc == tree_imgBCT) {
			obimg.src = tree_imgBOT;
		} else if (imgsrc == tree_imgBCL) {
			obimg.src = tree_imgBOL;
		}
	}
	obbox.blur();
}

function doctree_toggleTree(treename,node) {
	if (__ie) {doctree_toggleTreeIE(treename,node);return;}
	var d=document;
	var iddvb = 'dvb_'+treename+'_'+node;
	var idimg = 'img_'+treename+'_'+node;
	var idtdb = 'tdb_'+treename+'_'+node;
	var idbox = 'ab_'+treename+'_'+node;
	var obdvb = d.getElementById(iddvb);
	var obimg = d.getElementById(idimg);
	var obtdb = d.getElementById(idtdb);
	var obbox = d.getElementById(idbox);
	if (obdvb.style.visibility == 'visible') {
		obdvb.style.visibility = 'hidden';
		obdvb.style.height = 0;
		obtdb.style.height = 0;
		var imgsrc = obimg.src.substr(obimg.src.indexOf('images'));
		if (imgsrc == tree_imgBOT) {
			obimg.src = tree_imgBCT;
		} else if (imgsrc == tree_imgBOL) {
			obimg.src = tree_imgBCL;
		}
	} else {
		var bheight = treenode[treename][node]['branch'].length * tree_boxheight;
		obdvb.style.visibility = 'visible';
		obdvb.style.height = bheight;
		obtdb.style.height = bheight;
		var imgsrc = obimg.src.substr(obimg.src.indexOf('images'));
		if (imgsrc == tree_imgBCT) {
			obimg.src = tree_imgBOT;
		} else if (imgsrc == tree_imgBCL) {
			obimg.src = tree_imgBOL;
		}
	}
	obbox.blur();
}

function doctree_switchContent(key) {
	var d=document;
	var obdiv = d.getElementById(__condivbase+tree_prevkey);
	if (obdiv!=null) obdiv.className = 'mhidden';
	var divnm = __condivbase+key;
	var obdia = d.getElementById(divnm);
	if (obdia!=null) {
		obdia.className = __condivclass;
		obdia.style.visibility = 'visible';
	}
	tree_prevkey = key;
}

function doctree_switchTree(treename,key) {
	var d=document;
	var oba = d.getElementById('a_'+treename+'_'+tree_prevkey);
	oba.className=tree_cssi;
	oba = d.getElementById('a_'+treename+'_'+key);
	oba.className=tree_cssa;
	oba.blur();
	doctree_switchContent(key);
}

function doctree_initIE(treename) {
	var d=document;
	//alert('That non-compliant and insecure browser from Microsoft needs to be babied along to do this.');
	for (var node in treenode[treename]) {
		if (node == 0) continue;
		if (treenode[treename][node]['branch'].length > 0) {
			if (treenode[treename][node]['init'] == 'closed') {
				doctree_toggleTree(treename,node);
			}
		}
	}
}