function createNodesArray(tree, array) {
	if (!array) {
		array = new Array();
		array[array.length] = tree;
	}
	for (var i=0; i<tree.nChildren; i++) {
		array[array.length] = tree.children[i];
		createNodesArray(tree.children[i], array)
	}
	return array;
}

function changeAllStates(tree, value) {
	if (tree.id != foldersTree.id)
		tree.setState(value);
	for (var i=0; i<tree.nChildren; i++) {
		if (tree.children[i].setState != null) // is folder
			changeAllStates(tree.children[i], value);
	}
	if (tree.id == foldersTree.id) {
		clickOnLink(foldersTree.id, foldersTree.link, foldersTree.target);
		window.open(foldersTree.hreference, '_self');
	}
}

function getPosLastClicked(array, id) {
	if (lastClicked)
		for (var i=0; i<array.length; i++)
			if (array[i].id == lastClicked.id)
				return i;
	return -1;
}

function searchTree(text) {
	var nodeArray = createNodesArray(foldersTree);
	var nodeFound = false;
	var sPos = getPosLastClicked(nodeArray);
	
	for (var i=0; i<nodeArray.length; i++) {
		iOff = sPos+1 > nodeArray.length? sPos+i+1 : (sPos+i+1)%nodeArray.length;
		if (nodeArray[iOff].desc.toLowerCase().indexOf(text.toLowerCase()) > -1) {
			nodeFound = true;
			nodeArray[iOff].forceOpeningOfAncestorFolders();
			clickOnLink(nodeArray[iOff].id, nodeArray[iOff].link, nodeArray[iOff].target);
			if (nodeArray[iOff].hreference)
				window.open(nodeArray[iOff].hreference, '_self');
			return true;
		}
	}

	if (!nodeFound) alert('Nothing found');
	return false;
}

function removeDiv(divName) {
	if (document.all)
		document.getElementById(divName).removeNode(true);
	else
		document.getElementById(divName).style.display='none';
}

