
function actionUpdateView(node, active, selected) {
	
	var _image = DMAPI.getElement(node,"ArrowImage");
	if(_image) {
		var p = DMAPI.getParent(node);
		if(!p || DMAPI.getParent(p) || DMAPI.getLayout(p) != 1)
			return;
		_image.src = DMAPI.getValue(node, DMAPI.isInPopupLoop(node) ? "ArrowImage2" : "ArrowImage");
	}
	
	if(DMAPI.getNonSelectable(node) && DMAPI.isLeaf(node))
		return;
		
	_image = DMAPI.getElement(node,"Image");
	if(_image)
		_image.src = DMAPI.getValue(node, active ? "ActiveImage" : "Image");
}

function actionResolveValue(node, _name, active, selected) {
	if(_name == "Image" && !DMAPI.getNonSelectable(node))
		_name = active ? "ActiveImage" : "Image"
	return DMAPI.getValue(node, _name);
}

function actionResolveCssClass(node, _name, active, selected) {

	if(node.CustomType == "Separator")
		return DMAPI.getValue(node, "ItemSeparator");
	
	if(DMAPI.getNonSelectable(node) && DMAPI.isLeaf(node))
		active = false;
		
	var cssName;
	
	if(_name == "TopLevel")
		cssName = "TopLevel";
	else if(_name == "TopLevelContainer")
		cssName = "TopLevelContainer";
	else if(_name == "Popup")
		cssName = "Popup";
	else if(_name == "PopupContainer")
		cssName = "PopupContainer";
	else if(_name == "TopItem")
		cssName = DMAPI.getDisabled(node) ? "TopItemDisabled" : (active ? "TopItemActive" :  (DMAPI.isInPopupLoop(node) ? "TopItemExpanded" : (selected ? "TopItemSelected" : "TopItem")));
	else if(_name == "Item")
		cssName = DMAPI.getDisabled(node) ? "ItemDisabled" : (active ? "ItemActive" :  (DMAPI.isInPopupLoop(node) ? "ItemExpanded" : (selected ? "ItemSelected" : "Item")));	else 
		alert("unexpexted CSS class request [" + _name + "]");
		
	return DMAPI.getValue(node, cssName);
}


