function submitTree(treeview, formId) {
	var form = document.getElementById(formId);
	var rootNode = treeview.selectedNode.getRoot().parentNode;
	processNode(form, rootNode, false);
}

function insertPicker(placeId, pickerId, dataURL, initialData, useCheckBox) {
	var oldItemPicker = document.getElementById(pickerId);
	if(oldItemPicker) {
		oldItemPicker.parentNode.removeChild(oldItemPicker);
		delete oldItemPicker;
	}
	var mytreeview = new treeview(pickerId,document.getElementById(placeId), dataURL, null, useCheckBox);
	mytreeview.onNodeDragStartHandler = onNodeDragStart;
	if(initialData && initialData.length > 0) {
		if(useCheckBox) {
			populatePicker(mytreeview, initialData);
		} else {
			selectNodePicker(mytreeview, initialData);
		}
	}
	return mytreeview;
}

function onNodeDragStart(draggingNode){
	return false;
}

function processNode(form, node, includeNode) {
	var processResult = 2;
	if(includeNode) {
		processResult = processItem(form, node);
	}
	if(processResult == 2) {
		var children = node.oNodeChilds.childNodes;
		for (var i = 0; i < children.length; i++) {
			var child = children[i];
			processNode(form, child, true);
		}
	}
}

function processItem(form, node) {
		var state = node.oNodeCheckbox.state;
		var typeId = node.obj.typeId;
		var itemId = node.obj.itemId;
		if(state == 1) {
		  var input = document.createElement('INPUT');
			input.type = 'hidden';
			input.name = typeId;
			input.value = itemId;
		  form.appendChild(input);
		}
		return state;
}

function populatePicker(treeview, initialData) {
	if(initialData) {
		for(var i = 0; i < initialData.length; i ++) {
			treeview.checkByItemIdPath(initialData[i]);
		}
	}
}

function selectNodePicker(treeview, initialData) {
	if(initialData) {
		for(var i = 0; i < initialData.length; i ++) {
			treeview.selectByItemIdPath(initialData[i]);
		}
	}
}

