/*
	Feel free to use your custom images 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
*/

var TREE_TPL = {

	// general
	'target':'main',	// name of the frame links will be opened in
						// other possible values are:
						// _blank, _parent, _search, _self and _top

	// images - root	
	'icon_48':'../MODMENU/images/base.gif', // root icon normal
	'icon_52':'../MODMENU/images/base.gif', // root icon selected
	'icon_56':'../MODMENU/images/base.gif', // root icon opened
	'icon_60':'../MODMENU/images/base.gif', // root icon selected opened

	// images - node	
	'icon_16':'../MODMENU/images/folder.gif', // node icon normal
	'icon_20':'../MODMENU/images/folderopen.gif', // node icon selected
	'icon_24':'../MODMENU/images/folderopen.gif', // node icon opened
	'icon_28':'../MODMENU/images/folderopen.gif', // node icon selected opened
	'icon_80':'../MODMENU/images/folder.gif', // mouseovered node icon normal

	// images - leaf
	'icon_0':'../MODMENU/images/page.gif', // leaf icon normal
	'icon_4':'../MODMENU/images/pagesel.gif', // leaf icon selected
	'icon_64':'../MODMENU/images/page.gif', // leaf icon mouseover

	// images - misc
	'icon_e':'../MODMENU/images/empty.gif', // empty image
	'icon_l':'../MODMENU/images/line.gif', // vertical line
	
	// styles - root
	'style_48':'mout', // normal root caption style
	'style_52':'mout', // selected root caption style
	'style_56':'mout', // opened root caption style
	'style_60':'mout', // selected opened root caption style
	'style_112':'mover', // mouseovered normal root caption style
	'style_116':'mover', // mouseovered selected root caption style
	'style_120':'mover', // mouseovered opened root caption style
	'style_124':'mover', // mouseovered selected opened root caption style
	
	// styles - node
	'style_16':'mout', // normal node caption style
	'style_20':'mout', // selected node caption style
	'style_24':'mout', // opened node caption style
	'style_28':'mout', // 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':'mout', // selected leaf caption style
	'style_64':'mover', // mouseovered normal leaf caption style
	'style_68':'mover', // mouseovered selected leaf caption style

	//SelectHandler
	'onItemSelect': 'onItemSelectHandler',
	'onItemOpen': 'onItemOpenHandler'
	
	// make sure there is no comma after the last key-value pair
};

/* 
	This function modifies tree behavior so nodes without link
	assigned will open on single click
	Function should be called AS onItemSelect handler of the tree
*/

function onItemSelectHandler (o_item) {
    // if node with no link then toggle
    var o_state = o_item.state();
    if (o_state['node'] && !o_item.a_config[1]) {
        o_item.o_root.toggle(o_item.n_id);
        // cancel default action
        return false;
    }
    // proceed to default handler
    return true;
}


/*
	This function modifies tree behavior so only one item
	in a level can be opened at a time.
	Function should be called AS onItemOpen handler of the tree
*/
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);

	// proceed to default handler
	return true;
}


// this one is copied from the documentation

function collapse_all (n_index, n_depth) {
	var o_tree = TREES[n_index ? n_index : 0];
	if (!n_depth) n_depth = 1;
	if (!o_tree)
		alert("Tree is not initialized yet");
	var a_nodes = o_tree.a_nodes;
	for (var i = a_nodes.length - 1; i >= 0; i--)
		if (a_nodes.n_depth >= n_depth && a_nodes.open)
			a_nodes.open(1, 1);
	o_tree.ndom_refresh();
}

var TREE_TPL2 = {

	// general
	'target':'_blank',	// name of the frame links will be opened in
						// other possible values are:
						// _blank, _parent, _search, _self and _top

	// images - root	
	'icon_48':'../MODMENU/images/base.gif', // root icon normal
	'icon_52':'../MODMENU/images/base.gif', // root icon selected
	'icon_56':'../MODMENU/images/base.gif', // root icon opened
	'icon_60':'../MODMENU/images/base.gif', // root icon selected opened

	// images - node	
	'icon_16':'../MODMENU/images/folder.gif', // node icon normal
	'icon_20':'../MODMENU/images/folderopen.gif', // node icon selected
	'icon_24':'../MODMENU/images/folderopen.gif', // node icon opened
	'icon_28':'../MODMENU/images/folderopen.gif', // node icon selected opened

	'icon_80':'../MODMENU/images/folderopen.gif', // mouseovered node icon normal

	// images - leaf
	'icon_0':'../MODMENU/images/page.gif', // leaf icon normal
	'icon_4':'../MODMENU/images/pagesel.gif', // leaf icon selected
	'icon_64':'../MODMENU/images/page.gif', // leaf icon mouseover

	// images - misc
	'icon_e':'../MODMENU/images/empty.gif', // empty image
	'icon_l':'../MODMENU/images/line.gif', // vertical line
	
	// styles - root
	'style_48':'mout2', // normal root caption style
	'style_52':'mout2', // 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':'mout2', // normal node caption style
	'style_20':'mout2', // selected node caption style
	'style_24':'mout2', // opened node caption style
	'style_28':'mout2', // selected opened node caption style
	'style_80':'mover2', // mouseovered normal node caption style
	'style_84':'mover2', // mouseovered selected node caption style
	'style_88':'mover2', // mouseovered opened node caption style
	'style_92':'mover2', // mouseovered selected opened node caption style

	// styles - leaf
	'style_0':'mout2', // normal leaf caption style
	'style_4':'mout2', // selected leaf caption style
	'style_64':'mover2', // mouseovered normal leaf caption style
	'style_68':'mover2', // mouseovered selected leaf caption style

	// event handlers - item
	'onItemOpen':'onItemOpenHandler' // on item open event handler
	// make sure there is no comma after the last key-value pair
};

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