/*
	Feel free to use your custom micons for the tree. Make sure they are all of the same size.
	If you don't use some keys you can just remove them from this config
*/

function rootNoClose() { return false }

function open_handler (o_item) {
	alert("This is node open event handler.\nThe caption of the item being opened is: '"+o_item.a_config[0]+"'");
	return true;
}
function close_handler (o_item) {
	alert("This is node close event handler.\nThe caption of the item being closed is: '"+o_item.a_config[0]+"'");
	return true;
}

var TREE1_TPL = {

	// general
	'target':'_self',	// name of the frame links will be opened in
				// other possible values are:
				// _blank, _parent, _search, _self and _top
	'keep_states':'true',
	'cookie_ext':'path=/',

	// micons - root	
	'icon_48':'/grafics/menu/image1.gif', // root icon normal
	'icon_52':'/grafics/menu/image2.gif', // root icon selected
	'icon_56':'/grafics/menu/image2.gif', // root icon opened
	'icon_60':'/grafics/menu/image2.gif', // root icon selected opened
	
	'icon_112':'/grafics/menu/image1.gif', // root icon mouseovered
	'icon_116':'/grafics/menu/image2.gif', // root icon selected mouseovered
	'icon_120':'/grafics/menu/image2.gif', // root icon mouseovered
	'icon_124':'/grafics/menu/image2.gif', // root icon selected mouseovered

	// micons - node	
	'icon_16':'/grafics/menu/image1.gif', // node icon normal
	'icon_20':'/grafics/menu/image2.gif', // node icon selected
	'icon_24':'/grafics/menu/image2.gif', // node icon opened
	'icon_28':'/grafics/menu/image2.gif', // node icon selected opened

	'icon_80':'/grafics/menu/bhh_32x20.gif', // mouseovered node icon normal

	// micons - leaf
	'icon_0':'/grafics/menu/image1.gif', // leaf icon normal
	'icon_4':'/grafics/menu/image2.gif', // leaf icon selected
	'icon_64':'/grafics/menu/image2.gif', // leaf icon mouseovered

	// micons - junctions	
	'icon_2':'/grafics/micons/joinbottom.gif', // junction for leaf
	'icon_3':'/grafics/micons/join.gif', // junction for last leaf
	'icon_18':'/grafics/micons/plusbottom.gif', // junction for closed node
	'icon_19':'/grafics/micons/plusbottom.gif', // junction for last closed node
	'icon_26':'/grafics/micons/minusbottom.gif', // junction for opened node
	'icon_27':'/grafics/micons/minusbottom.gif', // junction for last opended node

	// micons - misc
	'icon_e':'/grafics/micons/line.gif', // empty image
	'icon_l':'/grafics/micons/line.gif', // vertical line
	
	// styles - root
	'style_48':'mout2', // normal root caption style
	'style_52':'selected2', // selected root caption style
	'style_56':'mout2', // opened root caption style
	'style_60':'mout2', // selected opened root caption style
	'style_112':'mover2', // mouseovered normal root caption style
	'style_116':'mover2', // mouseovered selected root caption style
	'style_120':'mover2', // mouseovered opened root caption style
	'style_124':'mover2', // mouseovered selected opened root caption style
	
	// styles - node
	'style_16':'mout', // normal node caption style
	'style_20':'selected', // selected node caption style
	'style_24':'selected', // opened node caption style
	'style_28':'selected', // selected opened node caption style
	'style_80':'mover', // mouseovered normal node caption style
	'style_84':'mover', // mouseovered selected node caption style
	'style_88':'mover', // mouseovered opened node caption style
	'style_92':'mover', // mouseovered selected opened node caption style

	// styles - leaf
	'style_0':'mout', // normal leaf caption style
	'style_4':'selected', // selected leaf caption style
	'style_64':'mover', // mouseovered normal leaf caption style
	'style_68':'mover', // mouseovered selected leaf caption style

	// event handlers - item
	'onItemOpen':'onItemOpenHandler', // on item open event handler
	'onItemSelect':'onItemSelectHandler' // open folder on single click
	// make sure there is no comma after the last key-value pair
};

var TREE2_TPL = {

	// general
	'target':'_self',	// name of the frame links will be opened in
				// other possible values are:
				// _blank, _parent, _search, _self and _top
	'keep_states':'true',
	'cookie_ext':'path=/',

	// micons - root	
	'icon_48':'/grafics/menu/image1.gif', // root icon normal
	'icon_52':'/grafics/menu/image2.gif', // root icon selected
	'icon_56':'/grafics/menu/image2.gif', // root icon opened
	'icon_60':'/grafics/menu/image2.gif', // root icon selected opened

	// micons - node	
	'icon_16':'/grafics/menu/image1.gif', // node icon normal
	'icon_20':'/grafics/menu/image2.gif', // node icon selected
	'icon_24':'/grafics/menu/image2.gif', // node icon opened
	'icon_28':'/grafics/menu/image2.gif', // node icon selected opened

	'icon_80':'/grafics/menu/image2.gif', // mouseovered node icon normal

	// micons - leaf
	'icon_0':'/grafics/menu/image1.gif', // leaf icon normal
	'icon_4':'/grafics/menu/image2.gif', // leaf icon selected
	'icon_64':'/grafics/menu/image2.gif', // leaf icon mouseovered

	// micons - junctions	
	'icon_2':'/grafics/micons/joinbottom.gif', // junction for leaf
	'icon_3':'/grafics/micons/join.gif', // junction for last leaf
	'icon_18':'/grafics/micons/plusbottom.gif', // junction for closed node
	'icon_19':'/grafics/micons/plusbottom.gif', // junction for last closed node
	'icon_26':'/grafics/micons/minusbottom.gif', // junction for opened node
	'icon_27':'/grafics/micons/minusbottom.gif', // junction for last opended node

	// micons - misc
	'icon_e':'/grafics/micons/line.gif', // empty image
	'icon_l':'/grafics/micons/line.gif', // vertical line
	
	// styles - root
	'style_48':'mout2', // normal root caption style
	'style_52':'selected2', // selected root caption style
	'style_56':'mout2', // opened root caption style
	'style_60':'mout2', // selected opened root caption style
	'style_112':'mover2', // mouseovered normal root caption style
	'style_116':'mover2', // mouseovered selected root caption style
	'style_120':'mover2', // mouseovered opened root caption style
	'style_124':'mover2', // mouseovered selected opened root caption style
	
	// styles - node
	'style_16':'mout', // normal node caption style
	'style_20':'selected', // selected node caption style
	'style_24':'selected', // opened node caption style
	'style_28':'selected', // selected opened node caption style
	'style_80':'mover', // mouseovered normal node caption style
	'style_84':'mover', // mouseovered selected node caption style
	'style_88':'mover', // mouseovered opened node caption style
	'style_92':'mover', // mouseovered selected opened node caption style

	// styles - leaf
	'style_0':'mout', // normal leaf caption style
	'style_4':'selected', // selected leaf caption style
	'style_64':'mover', // mouseovered normal leaf caption style
	'style_68':'mover', // mouseovered selected leaf caption style

	// event handlers - item
	'onItemOpen':'onItemOpenHandler', // on item open event handler
	'onItemSelect':'onItemSelectHandler' // open folder on single click
	// make sure there is no comma after the last key-value pair
};

function onItemSelectHandler (o_item) {
	if (o_item.a_children) {
		o_item.o_root.toggle(o_item.n_id)
	}
	// get current block
	if (o_item.n_id != 0) {
		var a_curblock = o_item.o_parent.a_children;
	} else {
		var a_curblock = o_item.a_children;
	}
	// close all nodes except current
	for (var i = 0; i < a_curblock.length; i++)
		if (a_curblock[i].n_state & 48 && a_curblock[i] != o_item)
			a_curblock[i].open(true);
	return true;
}

function onItemOpenHandler (o_item) {
	// get current block
	var a_curblock = o_item.o_parent.a_children;
	// close all nodes except current
	for (var i = 0; i < a_curblock.length; i++)
		if (a_curblock[i].n_state & 48 && a_curblock[i] != o_item)
			a_curblock[i].open(true);
	return true;
}

function beforeInitHandler(o_tree) { 
	o_tree.reset_state();
	return true;
}

function afterInitHandler1(o_tree) {
	o_tree.a_index[0].open();
	return true;
}

function afterInitHandler2(o_tree) {
	var a_found = o_tree.find_item_by_state(4);
	for (var i=0; i<a_found.length; i++){  
		a_found[i].select(); // select items found
		o_tree.toggle(a_found[i].n_id); // open if node
	}
	return true;
}
