    function SetTab(tabID)
    {
        _hidTab.value = tabID;
        PostBack('settab');
    }
    
    function PersistControl(postBack)
    {
        if (_ddlXRef) PersistCrossReferences(_hidCrossReferences, false);
        PersistSelections(_hidSelections, false);
        PersistClusters(_hidClusters, false);
        PersistDemographics(_hidDemographics, _demoTree, null, false);
                
        if(postBack == null || postBack)
        {
            PostBack();
        }
    }
    
    function PersistCrossReferences(hiddenField, postBack)
    {
        hiddenField.value = "";
        
        if (_ddlXRef.value.length > 0)
        {
            hiddenField.value = _ddlXRef.value;
        }
        
        if (postBack == null || postBack)
        {  
		    PostBack();
		}
    }
    
    function CheckNode(node, checked)
    {
		if (node.isExpanded())
		{
			var childNodes = node.getNodes();
			for (var i = 0; i < childNodes.length; ++i)
			{
				CheckNode(childNodes[i], checked);
			}
		}
		if (node.isCheckable())
		{
			if (checked) node.check();
			else node.uncheck();
		}
    }
    
    function Checkboxes(checked)
    {
        if(!_isSingleSelect)
        {
			  var nodes = controlPanel_wtvDemoTree.getNodes();          
	          
			  for (var i = 0; i < nodes.length; ++i)
			  {
				CheckNode(nodes[i], checked);
			  }
        }
	}
    
    function PersistSelections(hiddenField, postBack)
    {
        hiddenField.value = "";
        
        var elements = document.getElementsByTagName("input");
        
        if(_isSingleSelect)
        {
            _hidDemographics.value = "-1";
            
            for(var i = 0; i < elements.length; i++)
            {
                if(elements[i].type == "radio" && elements[i].name.indexOf("TreeRadioButton") != -1)
                {
                    var buttons = _frm.elements[elements[i].name];
                    
                    for(var i = 0; i < buttons.length; i++)
                    {
                        buttons[i].checked = false;
                    }                       
                    break;     
                }
            }
        }                
        
        var selectionElements = document.getElementsByTagName("input");
        
        for(var i = 0; i < selectionElements.length; i++)
        {
            var element = selectionElements[i];
            
            if(element.selectionID != null && element.checked)
            {
                hiddenField.value += "," + element.selectionID;
                
                if(element.type == "radio")
                {
                    break;
                }
            }            
        }
        
        if(hiddenField.value.length > 0)
        {
            hiddenField.value = hiddenField.value.substr(1);
        }
        
        if(postBack == null || postBack)
        {  
		    PostBack();
		}
    }
    
    function PersistClusters(hiddenField, postBack)
    {
        hiddenField.value = "";  
        var clusterElements = document.getElementsByTagName("input");
        
        for(var i = 0; i < clusterElements.length; i++)
        {
            var element = clusterElements[i];
            
            if(element.clusterID != null && element.checked)
            {
                hiddenField.value += "," + element.clusterID;
                
                if(element.type == "radio")
                {
                    break;
                }
            }            
        }  
        
        if(hiddenField.value.length > 0)
        {
            hiddenField.value = hiddenField.value.substr(1);
        }
        
        if(postBack == null || postBack)
        {  
		    PostBack();
		}
    }
    
    function PersistDemographics(hiddenField, demoTree, singleValue, postBack)
    {
        if(demoTree == null)
        {
            return;
        }
        
        if(_isSingleSelect && _selectionRadioButton != null)
        {   
            _hidSelections.value = "-1";
            
            var buttons = _frm.elements[_selectionRadioButton.name];
            
            for(var i = 0; i < buttons.length; i++)
            {
                buttons[i].checked = false;
            }
        }
        
        if(singleValue == null)
        {
            var nodes = demoTree.getNodes();
    			        
		    hiddenField.value = "";
    		
		    AppendSelectedTreeViewValues(nodes, hiddenField);
		    
		    if(hiddenField.value.length > 0)
		    {
		        hiddenField.value = hiddenField.value.substr(1);
		    }
		}
		else
		{
		    hiddenField.value = singleValue;
		}
		
		if(postBack == null || postBack)
        {  
		    PostBack();
		}
    }
    
    function PersistSurvey(hiddenField, value, postBack)
    {
        hiddenField.value = value;
               
        //PersistControl(false);
        PersistClusters(_hidClusters, false);
		
		if(postBack == null || postBack)
        {  
		    PostBack("updatesurvey");
		}
    }
    
    function PostBack(action)
    {
        if(action == null)
        {
            action = "update";
        }
        
        _hidControlPanelAction.value = action;
        _frm.submit();
    }
    
    function AppendSelectedTreeViewValues(nodes, hiddenField)
    {
        if(nodes != null)
		{
			for(var i = 0; i < nodes.length; i++)
			{
			    var node = nodes[i];
			    
			    if(node.isChecked())
			    {
			        var nodeValue = node.getValue();
			        hiddenField.value += "," + nodeValue;			        
			    }
			    
			    AppendSelectedTreeViewValues(node.getNodes(), hiddenField);
			}
		}		
    }
