﻿////////////////////////////////////////
///  canRunDocX()
////////////////////////////////////////
function canRunDocX()
{
    if(upgradeOnly()) 
    {
        if(!testAny()) return true;
        if(!testDocX()) return true;
        if(!testDocXVersion()) return false;    
    }
    else
    {
        if(!testAny()) return false;
        if(!testDocXVersion()) return false;    
    }
        
    return true;
}

function runTests()
{
    if(upgradeOnly())
    {
        if(!testAny()) return;

	document.getElementById("tdSecurityStatus").innerText = "OK";
	document.getElementById("tdSecuritySolve").innerHTML = "&nbsp;";

        if(!testDocX()) return;
        if(!testDocXVersion())
        {
            // Version is out of date	
	    document.getElementById("tdDocXStatus").innerText = "Out of Date";
	    document.getElementById("installerLink").innerText = "Click Here to Upgrade the Document Transfer Manager";
        }      
    }
    else
    {
	    if(testAny())					
	    {
    	        document.getElementById("tdSecurityStatus").innerText = "OK";
		document.getElementById("tdSecuritySolve").innerHTML = "&nbsp;";
	    }
	    else
	    {
	        document.getElementById("divSecurityMsg").style.display = "block";
	        document.getElementById("tdDocXStatus").innerText = "unknown";
	        document.getElementById("tdDocXSolve").innerHTML = "&nbsp;";
    	    
	        return;	    
	    }

	    if(testDocX())
	    {
	        if(testDocXVersion())
	        {
	            // Installed and Has Latest Version
		        document.getElementById("tdDocXStatus").innerText = "OK";
		        document.getElementById("tdDocXSolve").innerHTML = "&nbsp;";	
		    }
		    else
		    {
		        // Version is out of date
		        document.getElementById("tdDocXStatus").innerText = "Out of Date";
		        document.getElementById("installerLink").innerText = "Click Here to Upgrade the Document Transfer Manager";
		    }
	    }
	    else
	    {
	        // Not Installed
	        document.getElementById("divDocXMsg").style.display = "block";
	    }
	}
}

////////////////////////////////////////
///  testAny()
////////////////////////////////////////
function testAny() 
{
	try
	{	
		var ctl = new ActiveXObject("Scripting.FileSystemObject");
		if(ctl != null) 
		{		
			return true;
		}
		else
			return false;
	}
	catch(e)
	{		
		return false;
	}

}

////////////////////////////////////////
///  testDocX()
////////////////////////////////////////
function testDocX()
{
	try 
	{	
		var ctl = new ActiveXObject("DocumentX.DocMgr");
		if(ctl) 
		{
			return true;
		}
		else
			return false;
	}
	catch(e)
	{
		return false;
	}
}

////////////////////////////////////////
///  testDocXVersion()
////////////////////////////////////////
function testDocXVersion()
{
	try 
	{	
		var ctl = new ActiveXObject("DocumentX.DocMgr");
		if(!ctl) return false;
				
		var sVersion = ctl.Version + '.0';
		
		return (sVersion >= getLatestDocXVersion());
	}
	catch(e)
	{
		return false;
	}
}

////////////////////////////////////////
///  updateSecurity()
////////////////////////////////////////
function updateSecurity()
{
	try 
	{	
        //Find center window position
        nLeft = (window.screen.width / 2) - 260
        nTop = (window.screen.height / 2) - 150
                	
        //Open the security window		
        var nRet = window.showModalDialog("UpdateSecurity.htm", "", "center:yes;dialogHeight:300px;dialogWidth:525px");
        if(nRet == 1)
            window.close();
	}
	catch(e)
	{
		return false;
	}
}

////////////////////////////////////////
///  getCurrentDocXVersion()
////////////////////////////////////////
function getLatestDocXVersion()
{
    var e = document.getElementById("DocXVersion");
    if(e) 
        return e.value;
    else
        return "";
}

////////////////////////////////////////
///  upgradeOnly()
////////////////////////////////////////
function upgradeOnly()
{
    var e = document.getElementById("DocXUpgradeOnly");
    if(e) 
	return (e.value == "1" || e.value=="True");
    else
        return false;
}
