function CreateNewFolder()
{
    //alert('CreateNewFolder');
    //get seletect node, get id, 
    var parentFolderID;
    
    var newFolderName;
    
    if ( tvFolder.get_selectedNode() == null )
    {
           currentNodeId = null;
    }
    else
    {
        currentNodeId = tvFolder.get_selectedNode().get_id();
    }
    
    
    newFolderName = document.getElementById('txtNewFolderName').value;
    
    if ( newFolderName == null || newFolderName == '')
    {
        alert('Please input folder name');
        return;
    }
    
    ListbuilderAJAX.WebServices.wsFolders.CreateNewFolderNew(currentNodeId, newFolderName,  OnSucceeded, OnFailed);

}


function SaveCountOnDialog()
{
    //alert('SaveCountOnDialog');
    
    var countName = document.getElementById('inputCountName').value;
    
    var countDescription = document.getElementById('inputCountDescription').value;
    
    var folderID;
    
    if ( tvFolder.get_selectedNode() == null )
    {
        alert('Please select a folder first');
        return;
    }
    else
    {
        folderID = tvFolder.get_selectedNode().get_id();
    }
    
    SaveCount(countDescription,countName,folderID);
    
  
    
   
}

function renderNewFolder(newFolderID)
{
    var referenceNode;
    
    var newNode;
    
     currentNodeId = newFolderID;
    tvFolder.beginUpdate();
    if ( tvFolder.get_selectedNode() == null )
    {
           referenceNode = tvFolder.get_nodes().getNode(0);
           
             newNode = new ComponentArt.Web.UI.TreeViewNode(); 
            
            newNode.set_imageUrl(referenceNode.get_imageUrl());
            
            newNode.set_showCheckBox(false);
            
          
                newNode.set_id(newFolderID);
                newNode.set_expandedImageUrl(referenceNode.get_expandedImageUrl());
            
           
            
            newNode.set_text(document.getElementById('txtNewFolderName').value);
                      
            
            
            tvFolder.get_nodes().add(newNode);
    }
    else
    {
        
       
        referenceNode = tvFolder.get_selectedNode();
        
          newNode = new ComponentArt.Web.UI.TreeViewNode(); 
            
            newNode.set_imageUrl(referenceNode.get_imageUrl());
            
            newNode.set_showCheckBox(false);
            
          
                newNode.set_id(newFolderID);
                newNode.set_expandedImageUrl(referenceNode.get_expandedImageUrl());
            
           
            
            newNode.set_text(document.getElementById('txtNewFolderName').value);
                      
            tvFolder.get_selectedNode().get_nodes().add(newNode);
            
            
         tvFolder.get_selectedNode().expand();
    }
    
    
    tvFolder.endUpdate();
    //newNode.select();
}



var currentNodeId;

function CreateFolderTree()
{
 //alert('CreateNewFolder');
        currentNodeId = null;
      ListbuilderAJAX.WebServices.wsFolders.getChildFoldersOnSaveCount(null, 1, true, OnSucceeded, OnFailed);
      ListbuilderAJAX.WebServices.wsFolders.getCountsOnSaveCount(null, 1, true, OnSucceeded, OnFailed);

}


function DisplayCountListOnSaveCount(result)
{
    //alert('display count list');
    var countListHolder = document.getElementById('divCountList');
    
    countListHolder.innerText = '';
     var folderItem; 
         
     
     //add div dynamically, set value of div to be count infor    
     
     var countHolder ;
     
     var textBold;
     
     var textNormal;
     
     for(var i=0; i<result.length;i++)
     {
        folderItem = result[i];
     
        countHolder = document.createElement('div');
        
        countHolder.className = 'CountHolder';
        
        //countHolder.innerText = folderItem.Text + '  ' + folderItem.ToolTip;
        
        countListHolder.appendChild(countHolder);
        
        
        textBold = document.createElement('div');
        
        textBold.className = 'TextBold';
        
        textBold.innerText = folderItem.Name;
        
        countHolder.appendChild(textBold);
        
         textNormal = document.createElement('div');
        
        textNormal.className = 'TextNormal';
     
        textNormal.innerText = folderItem.CountInfor;
        
        countHolder.appendChild(textNormal);
     }
    
   
}

function RenderFoldersOnSaveCount(result)
{
    //alert('render folders');
     //create tree view
    if ( currentNodeId == null )
    {
         tvFolder.beginUpdate();
    
        tvFolder.get_nodes().clear();
        
        
         
         var folderItem; 
         
         var newNode;
         
         var virtualChildNode;
         
         for(var i=0; i<result.length;i++)
         {
            folderItem = result[i];
            
            newNode = new ComponentArt.Web.UI.TreeViewNode(); 
            
            newNode.set_imageUrl(folderItem.ImageURL);
            
            newNode.set_showCheckBox(false);
            
          
                newNode.set_id(folderItem.ID);
                newNode.set_expandedImageUrl(folderItem.ExpandedImageURL);
            
           
            
            newNode.set_text(folderItem.Text);
            
            
            newNode.set_toolTip(folderItem.ToolTip);
            
            newNode.set_value(folderItem.Value);
            
            tvFolder.get_nodes().add(newNode);
            
           
               
            if ( folderItem.NumberOfChildNodes > 0 )
            {
                 virtualChildNode = new ComponentArt.Web.UI.TreeViewNode(); 
                        
                 virtualChildNode.set_id('folderchild'+folderItem.ID);
                        
                  newNode.get_nodes().add(virtualChildNode);
                       
             }
            
            
         }//for
         
         tvFolder.endUpdate();
     
    }//if 
    else
    {
        

         tvFolder.beginUpdate();
         var selectedNode = tvFolder.findNodeById(currentNodeId);
            
         selectedNode.get_nodes().clear();
            
               
         var folderItem; 
         
         var newNode;
         
         var virtualChildNode;
         
         for(var i=0; i<result.length;i++)
         {
            folderItem = result[i];
            
            newNode = new ComponentArt.Web.UI.TreeViewNode(); 
            
            newNode.set_imageUrl(folderItem.ImageURL);
            
            newNode.set_showCheckBox(false);
            
          
            newNode.set_id(folderItem.ID);
            newNode.set_expandedImageUrl(folderItem.ExpandedImageURL);
            
           
            
            newNode.set_text(folderItem.Text);
            
            
            newNode.set_toolTip(folderItem.ToolTip);
            
            newNode.set_value(folderItem.Value);
            
            selectedNode.get_nodes().add(newNode);
            
           
               
            if ( folderItem.NumberOfChildNodes > 0 )
            {
                  virtualChildNode = new ComponentArt.Web.UI.TreeViewNode(); 
                        
                  virtualChildNode.set_id('folderchild'+folderItem.ID);
                        
                  newNode.get_nodes().add(virtualChildNode);
                        //
            }
            
            
         }//for
         
         tvFolder.endUpdate();
    }//if it is expand node
}


function createNewFolderOnSaveCount(newFolderName)
{
    alert(newFolderName);
}


function tvSaveCount_NodeBeforeSelect(sender, eventArgs)
{
    //alert('on select');
      var selectedNode = eventArgs.get_node();
    
    
    
 
     
        
        currentNodeId = selectedNode.get_id();
          ListbuilderAJAX.WebServices.wsFolders.getCountsOnSaveCount(currentNodeId, 1, true, OnSucceeded, OnFailed);


}





function tvSaveCount_NodeBeforeExpand(sender, eventArgs)
{

    //alert('on expand');
    var selectedNode = eventArgs.get_node();
    
    
    
 
     
        
        currentNodeId = selectedNode.get_id();
      
         ListbuilderAJAX.WebServices.wsFolders.getChildFoldersOnSaveCount(currentNodeId, 1, true, OnSucceeded, OnFailed);

}
