if( !window.SW ) window.SW = {};
if( !SW.vol ) SW.vol = {};
if( !SW.CONST ) SW.CONST = {};

SW.CONST.TAB = 9;
SW.CONST.CR = 13;

// -- footer
var uploadMultiNodeChecked = '';
var uploadSingleNodeChecked = '';
var editconfigNodeChecked = '';
var baselineconfigNodeChecked = '';
var configOldNodeChecked = '';
var skipRefresh = false;

SW.ReflowFooter = function(e){

  var winHeight = $(window).height();
  var scrollVis = document.body.scrollHeight > winHeight;
  var that = SW.ReflowFooter;

  if( (typeof(that.last) != "undefined") && that.last == scrollVis )
    return;

  that.last = scrollVis;
  
  var cp2 = $('#copyrightBar');

  if( that.last )
    cp2.css( { position: 'static', bottom: '' } );
  else
    cp2.css( { position: 'absolute', bottom: '0px' } );
};

function RefreshMultiCheckedNode() 
{
    uploadMultiNodeChecked = '';    
}

function RefreshSingleCheckedNode() 
{
    uploadSingleNodeChecked = '';
}

function RefreshBaselineCheckedNode()
{
    baselineconfigNodeChecked = '';
}

function UltraWebTree_NodeChecked(treeId, nodeId, bChecked)
{
        var selectedNode = igtree_getNodeById(nodeId);
        var childNodes = selectedNode.getChildNodes();
        var parentNode;  
        if ( !childNodeChecked )
        {
            for (n in childNodes)
            {
              if ( childNodes[n].getChecked() != bChecked )
              {
                childNodes[n].setChecked(bChecked);
              }
            }
        }
        
        childNodeChecked = false;
        if ( childNodes[0] == null && bChecked == false && selectedNode.getParent() != null )
        {
            parentNode = selectedNode.getParent();
            if ( parentNode.getChecked() != false )
            {
                childNodeChecked = true;
                parentNode.setChecked(false);
            }
        }
}

function UltraWebTree_NodeCheckedDownloadConfig(treeId, nodeId, bChecked)
{
    var tmpSkip = false;
    if ( !skipRefresh )
    {
        skipRefresh = true;
        tmpSkip = true;
    }
    var selectedNode = igtree_getNodeById(nodeId);
    var childNodes = selectedNode.getChildNodes();
    var parentNode;  
    if ( !childNodeChecked )
    {
        for (n in childNodes)
        {
          if ( childNodes[n].getChecked() != bChecked )
          {
            childNodes[n].setChecked(bChecked);
          }
        }
    }
        
    childNodeChecked = false;
    if ( childNodes[0] == null && bChecked == false && selectedNode.getParent() != null )
    {
        parentNode = selectedNode.getParent();
        if ( parentNode.getChecked() != false )
        {
            childNodeChecked = true;
            parentNode.setChecked(false);
        }
    }
    if (tmpSkip)
    {
        skipRefresh = false;
    }
}

function UltraWebTree_UploadMultiNodeChecked(treeId, nodeId, bChecked)
{
    var node = igtree_getNodeById(nodeId);
    
    if(node.getDataPath().substring(0,1) == "C")
    {
        if( bChecked == false)
        {
            uploadMultiNodeChecked = '';   
            return;
        }
    }
    if(node.getDataPath().substring(0,1) == "C")
    {
        if(uploadMultiNodeChecked != '')
        {
            var configNode = igtree_getNodeById(uploadMultiNodeChecked);
            configNode.setChecked(false);
        }
        uploadMultiNodeChecked = nodeId;
    }
}

function UltraWebTree_UploadSingleNodeChecked(treeId, nodeId, bChecked)
{
    var node = igtree_getNodeById(nodeId);
    
    if(node.getDataPath().substring(0,1) == "C")
    {
        if( bChecked == false)
        {
            uploadSingleNodeChecked = '';   
            return;
        }
    }
    if(node.getDataPath().substring(0,1) == "C")
    {
        if(uploadSingleNodeChecked != '')
        {
            var configNode = igtree_getNodeById(uploadSingleNodeChecked);
            configNode.setChecked(false);
        }
        uploadSingleNodeChecked = nodeId;
    }
}

function UltraWebTree_EditConfigsNodeChecked(treeId, nodeId, bChecked)
{
    var node = igtree_getNodeById(nodeId);
    
    if(node.getDataPath().substring(0,1) == "C")
    {
        if( bChecked == false)
        {
            editconfigNodeChecked = '';   
            return;
        }
    }
    if(node.getDataPath().substring(0,1) == "C")
    {
        if(editconfigNodeChecked != '')
        {
            var configNode = igtree_getNodeById(editconfigNodeChecked);
            if (configNode != null)
            {
                configOldNodeChecked = editconfigNodeChecked;
                configNode.setChecked(false);
            }
        }
        if (configOldNodeChecked != nodeId)
        {
            editconfigNodeChecked = nodeId;
        }
        configOldNodeChecked = '';
    }
}

function UltraWebTree_CompareToBaselineNodeChecked(treeId, nodeId, bChecked)
{
    var node = igtree_getNodeById(nodeId);
    
    if(node.getDataPath().substring(0,1) == "C")
    {
        if( bChecked == false)
        {
            baselineconfigNodeChecked = '';   
            return;
        }
    }
    if(node.getDataPath().substring(0,1) == "C")
    {
        if(baselineconfigNodeChecked != '')
        {
            var configNode = igtree_getNodeById(baselineconfigNodeChecked);
            configNode.setChecked(false);
        }
        baselineconfigNodeChecked = nodeId;
    }
}

function CheckWriteToNVRAM(checked,checkNVRAMId)
{
    if(checked)
    {
        var checkNVRAM = document.getElementById(checkNVRAMId);
        checkNVRAM.checked = true;
    }
}
