//----------------------------------------------------------
// Copyright (C) ESRI. All rights reserved.
//----------------------------------------------------------
Type.registerNamespace('ESRI.ADF.UI');ESRI.ADF.UI.TreeViewPlus = function(element) { 
this._expandedImage = null;this._collapsedImage = null;this._callbackFunctionString = null;this._contentDivId = null;this._showClearAllOption = false;this._clearAllId = null;ESRI.ADF.UI.TreeViewPlus.initializeBase(this, [element]);};ESRI.ADF.UI.TreeViewPlus.prototype = {
initialize : function() {
ESRI.ADF.UI.TreeViewPlus.callBaseMethod(this, 'initialize');}, 
dispose : function() {
ESRI.ADF.UI.TreeViewPlus.callBaseMethod(this, 'dispose');},
get_expandedImage : function() {
return this._expandedImage;},
set_expandedImage : function(value) {
this._expandedImage = value;},
get_collapsedImage : function() {
return this._collapsedImage;},
set_collapsedImage : function(value) {
this._collapsedImage = value;},
get_contentDivId : function() {
return this._contentsDivId;},
set_contentDivId : function(value) {
this._contentsDivId = value;},
get_showClearAllOption : function() {
return this._showClearAllOption;},
set_showClearAllOption : function(value) {
if (this._showClearAllOption !== value){
this._showClearAllOption = value;this.updateClearAllControlVisibility();}
},
get_clearAllId : function() {
return this._clearAllId;},
set_clearAllId : function(value) {
this._clearAllId = value;},
get_uniqueID : function() {
return this._uniqueID;},
set_uniqueID : function(value) {
this._uniqueID = value;},
get_callbackFunctionString : function() {
return this._callbackFunctionString;},
set_callbackFunctionString : function(value) {
this._callbackFunctionString = value;}, 
processCallbackResult : function(action, params) {
return false;},
isNodeExpanded: function (nodeID) {
var childrenContainer=document.getElementById(nodeID+'_childrenContainer');return (childrenContainer && childrenContainer.style.display=='none') ? false : true;},
updateClearAllControlVisibility: function() {
var clearAll = $get(this._clearAllId);if (clearAll) {
if (this._showClearAllOption) {
var nodeContainer = document.getElementById(this._contentsDivId);if (nodeContainer && nodeContainer.childNodes && nodeContainer.childNodes.length > 1) {
clearAll.style.display = "";}
else {
clearAll.style.display = "none";}
}
else {
clearAll.style.display = "none";}
}
},
_toggleNodeState : function (nodeID, fireClickedEvent) {
var childrenContainer=document.getElementById(nodeID+'_childrenContainer');var argument='nodeID=' + nodeID + '&';var button=document.getElementById(nodeID + '_StateButton');if (childrenContainer===null || button===null) {
return;}
if (fireClickedEvent===null){
fireClickedEvent=false;}
var expanded = null;if (childrenContainer.style.display=='none'){ 
expanded = true;argument+='EventArg=expanded&Value=true';if (fireClickedEvent) {argument+='&Action=clicked';}
childrenContainer.style.display='';button.src=this._expandedImage;}
else { 
expanded = false;argument+='EventArg=expanded&Value=false';if (fireClickedEvent) {argument+='&Action=clicked';}
childrenContainer.style.display='none';button.src=this._collapsedImage;}
this._raiseEvent('nodeToggled', {"nodeID": nodeID, "expanded":expanded});var context = null;eval(this._callbackFunctionString);},
_nodeChecked : function (nodeID)
{
var argument='nodeID=' + nodeID + '&';var checkBox=document.getElementById(nodeID + '_CheckBox');if (checkBox===null) {return;}
if (checkBox.checked===false)
{
argument+='EventArg=checked&Value=false';checkBox.value=false;}
else
{
argument+='EventArg=checked&Value=true';checkBox.value=true;}
this._raiseEvent('nodeChecked', {"nodeID": nodeID, "checked":checkBox.checked});var context = null;eval(this._callbackFunctionString);},
_nodeClicked : function (nodeID)
{
var argument='nodeID=' + nodeID + '&EventArg=nodeClicked';var context = null;this._raiseEvent('nodeClicked', nodeID);eval(this._callbackFunctionString);},
_clearNode : function (nodeID)
{
var argument='nodeID=' + nodeID + '&EventArg=clearNode';var context = null;eval(this._callbackFunctionString);},
_nextPage : function (nodeID)
{
var argument='nodeID=' + nodeID + '&EventArg=nextPage';var context = null;eval(this._callbackFunctionString);},
_previousPage : function (nodeID)
{
var argument='nodeID=' + nodeID + '&EventArg=previousPage';var context = null;eval(this._callbackFunctionString);},
clearAllNodes : function ()
{
var argument='EventArg=clearAllNodes';var context = null;eval(this._callbackFunctionString);},
_nodeLegendClicked : function (nodeID)
{
var argument='nodeID=' + nodeID + '&EventArg=nodeLegendClicked';var context = null;eval(this._callbackFunctionString);},
_unselectNode : function (nodeID, backColor, hoverColor)
{
var node=document.getElementById(nodeID);if (node===null) {return;}
node.style.backgroundColor=backColor;node.onmouseover=function(){this.style.backgroundColor=hoverColor;};node.onmouseout=function(){this.style.backgroundColor=backColor;};},
_raiseEvent : function(name,e) {
var handler = this.get_events().getHandler(name);if (handler) { if(!e) { e = Sys.EventArgs.Empty;} handler(this, e);}
}, 
add_nodeClicked : function(handler) {
this.get_events().addHandler('nodeClicked', handler);}, 
remove_nodeClicked : function(handler) {
this.get_events().removeHandler('nodeClicked', handler);}, 
add_nodeChecked : function(handler) {
this.get_events().addHandler('nodeChecked', handler);},
remove_nodeChecked : function(handler) {
this.get_events().removeHandler('nodeChecked', handler);},
add_nodeToggled : function(handler) {
this.get_events().addHandler('nodeToggled', handler);},
remove_nodeToggled : function(handler) {
this.get_events().removeHandler('nodeToggled', handler);}
};ESRI.ADF.UI.TreeViewPlus.registerClass('ESRI.ADF.UI.TreeViewPlus', Sys.UI.Control);if (typeof(Sys) !== 'undefined') { Sys.Application.notifyScriptLoaded();}
