var g_bJavascript = false;
var g_bPopupBlocker = false;
var g_bBrowser = false;
var g_bCookie = false;
var g_bFlash = false;
var g_bSilverlight = false;
var g_bPortCheck = false;
var g_bScreenResolution = false;
var g_bCompleted = false;
var g_iFlashVersionFound = 0;
var g_iSilverlightVersionFound = 0;
var g_oPortDetails;

var g_iRequiredMajorFlashVersion;
var g_iRequiredMinorFlashVersion;
var g_iRequiredFlashRevision = 0;
var g_bFlashProductInstall;

var g_iRequiredSilverlightVersion;
var g_bSilverlightProductInstall;

var g_iPopupBlockerTimeout;

var g_iCriticalCount = 0;
var g_iIssueCount = 0;
var g_iTotalChecks = 8;
var g_iChecks = 0;

var g_cRefreshLink;

var g_iPortCheckerInterval;
var g_bFlashReady = false;

var g_bUseFlash = true;
var g_bUseSilverlight = true;

var g_iTimerID;
var g_oPopUpWin;

var IE_VERSION = 7;
var FIREFOX_VERSION = 6;
var SAFARI_VERSION = 4;
var CHROME_VERSION = 15;

function window_onLoad()
{
  g_cRefreshLink = g_cShowFloorServerAddress + "/scripts/Server.nxp?LASCmd=AI:4;F:APIUTILS!10";
  
  if (g_cShowKey != "NULL" && g_cShowKey.substr(0,2) != "::")
    g_cRefreshLink += "&ShowKey=" + g_cShowKey;
    
  if (g_cShowKey == "NULL" || g_cShowKey.substr(0,2) == "::" || g_cShowTitle == "" || g_cShowTitle == "NULL")
    document.getElementById("ShowTitleSpan").style.display = "none";
  else
    document.getElementById("ShowTitleSpan").style.display = "";
  
  if (g_cSystemCheckHelpText == "NULL")
    g_cSystemCheckHelpText = "  ";
  g_cSystemCheckHelpText = escape(g_cSystemCheckHelpText);

  if (g_cFlashVersion == "NULL" || g_cFlashVersion.substr(0, 2) == "::")
    g_cFlashVersion = "10.0";
  
  g_bUseFlash = (parseInt(g_cFlashVersion) > 0 ? true : false);
  var aFlashVersion = (g_bUseFlash ? g_cFlashVersion.split(".") : ["10","0"]);
  g_iRequiredMajorFlashVersion = parseInt(aFlashVersion[0]);
  if (aFlashVersion.length > 1)
    g_iRequiredMinorFlashVersion = parseInt(aFlashVersion[1]);
  else
    g_iRequiredMinorFlashVersion = 0;
    
  if (g_cSilverlightVersion == "NULL" || g_cSilverlightVersion.substr(0, 2) == "::")
    g_cSilverlightVersion = "0";
    
  g_iRequiredSilverlightVersion = parseInt(g_cSilverlightVersion);
  g_bUseSilverlight = (parseInt(g_iRequiredSilverlightVersion) > 0 ? true : false);
  
  if (g_cSuppressLoginLink == "1")
    document.getElementById("ShowLoginLink").style.display = "none";
    
  if (g_cSuppressLoginLink != "NULL" && g_cSuppressLoginLink.substr(0,2) != "::")
    g_cRefreshLink += "&SuppressLoginLink=" + g_cSuppressLoginLink;    
    
  if (g_cSuppressPoweredBy == "1")
    document.getElementById("PoweredByRow").style.display = "none";

  if (g_cSuppressPoweredBy != "NULL" && g_cSuppressPoweredBy.substr(0,2) != "::")
    g_cRefreshLink += "&SuppressPoweredBy=" + g_cSuppressPoweredBy;        

  if (g_cDisplayItem != "NULL" && g_cDisplayItem.substr(0,2) != "::")
    g_cRefreshLink += "&DisplayItem=" + g_cDisplayItem;
        
  if (g_cHelpLink != "NULL" && g_cHelpLink.substr(0,2) != "::" && g_cHelpLink.length>0)
  {
    document.getElementById("HelpLinkRow").style.display = "";
    g_cRefreshLink += "&HelpLink=" + encodeURIComponent(g_cHelpLink);
  }
 
  if (g_cLangLocaleID != "NULL" && g_cLangLocaleID.substr(0,2) != "::" && g_cLangLocaleID.length > 0)
    g_cRefreshLink += "&LangLocaleID=" + g_cLangLocaleID;
     
  
  if (g_cAPILL != "" && g_cAPILL != "NULL")
  {
    g_cShowLoginLink = g_cShowFloorServerAddress + g_cAPILL;
    g_cRefreshLink += "&APILoginLink=" + encodeURIComponent(g_cAPILL);
  }

  if (IsIPad() && g_cShowKey != "NULL" && g_cShowKey.substr(0, 2) != "::")
    skipSystemCheck();
  else
    startSytemCheck();
}

function startSytemCheck()
{
  var oElem = document.getElementById("RunSystemCheckText");
  oElem.innerHTML = g_cMessages["Checking"];
  
  resetResults();
  runJavascriptCheck();
}

function restartSytemCheck()
{
  NavigateWindow(null ,g_cRefreshLink, false);
}

function skipSystemCheck()
{
  NavigateWindow(null, g_cShowLoginLink, false);
}

function resetResults()
{
  g_iChecks = 0;
  g_iIssueCount = 0;
  g_iCriticalCount = 0;
  g_bJavascript = false;
  g_bPopupBlocker = false;
  g_bBrowser = false;
  g_bCompleted = false;

  g_oPortDetails = new Object();
  g_oPortDetails.NetConnection1935 = false;
  g_oPortDetails.NetConnection80 = false;
  g_oPortDetails.NetConnection80T = false;

  g_oPortDetails.NetStream1935 = false;
  g_oPortDetails.NetStream80 = false;
  g_oPortDetails.NetStream80T = false;

  g_oPortDetails.SharedObject1935 = false;
  g_oPortDetails.SharedObject80 = false;
  g_oPortDetails.SharedObject80T = false;

  g_oPortDetails.NetConnection1935Edge = false;
  g_oPortDetails.NetConnection80Edge = false;
  g_oPortDetails.NetConnection80TEdge = false;

  g_oPortDetails.NetStream1935Edge = false;
  g_oPortDetails.NetStream80Edge = false;
  g_oPortDetails.NetStream80TEdge = false;

  document.getElementById("JavascriptHelpText").style.display = "none";
  
  var oResultsElem = document.getElementById("JavascriptResult");
  var oResultsImage = document.getElementById("JavascriptResultImage");
  var oHelpElem = document.getElementById("JavascriptHelp");
  resetResultDisplay(oResultsImage,oHelpElem);

  oResultsElem = document.getElementById("BrowserResult");
  oResultsImage = document.getElementById("BrowserResultImage");
  oHelpElem = document.getElementById("BrowserHelp");
  resetResultDisplay(oResultsImage,oHelpElem);	

  oResultsElem = document.getElementById("PopupBlockerResult");
  oResultsImage = document.getElementById("PopupBlockerResultImage");
  oHelpElem = document.getElementById("PopupBlockerHelp");
  resetResultDisplay(oResultsImage,oHelpElem);

  oResultsElem = document.getElementById("CookieResult");
  oResultsImage = document.getElementById("CookieResultImage");
  oHelpElem = document.getElementById("CookieHelp");
  resetResultDisplay(oResultsImage,oHelpElem);
  
  oResultsElem = document.getElementById("FlashResult");
  oResultsImage = document.getElementById("FlashResultImage");
  oHelpElem = document.getElementById("FlashHelp");
  resetResultDisplay(oResultsImage, oHelpElem);

  oResultsElem = document.getElementById("ScreenResolutionResult");
  oResultsImage = document.getElementById("ScreenResolutionResultImage");
  oHelpElem = document.getElementById("ScreenResolutionHelp");
  resetResultDisplay(oResultsImage, oHelpElem);

  oResultsElem = document.getElementById("PortCheckResult");
  oResultsImage = document.getElementById("PortCheckResultImage");
  oHelpElem = document.getElementById("PortCheckHelp");
  resetResultDisplay(oResultsImage, oHelpElem);
}

function runJavascriptCheck()
{
  g_bJavascript = true;
  g_iChecks++;
  
  var oResultsElem = document.getElementById("JavascriptResult");
  var oResultsImage = document.getElementById("JavascriptResultImage");
  var oHelpElem = document.getElementById("JavascriptHelp");
  updateResultDisplay(oResultsImage,oHelpElem,g_bJavascript,true);

  runCookieCheck();
  runFlashCheck();
  runSilverlightCheck();
  runBrowserCheck();
  runScreenResolution();
}

function runPopupBlockerCheck()
{
  document.getElementById("PopupBlockerResult").style.display = "";
  
  var cURL = "Server.nxp?LASCmd=AI:" + g_cInstanceID + ";O:PopupBlockerTestPage.htm";
  var cFeatures = "toolbar=no,scrollbars=no,status=no,left=100,top=100,width=10,height=10,resizable=no,menubar=no,location=no";
  g_oPopUpWin = window.open(cURL,"PopupBlockerTestPage",cFeatures);
  if (g_oPopUpWin)
  {
    g_oPopUpWin.blur();
    window.focus();
    
    g_iPopupBlockerTimeout = setTimeout("PopupBlockerTimeout()", 4000);
  }
  else
  {
    PopupBlockerCallback(false);
  }
}

function PopupBlockerTimeout()
{
  if (!g_bPopupBlocker)
    PopupBlockerCallback(false);
}

function PopupBlockerCallback(bPopupBlocker)
{
  if (g_oPopUpWin)
  {
    g_oPopUpWin.close();
    if (g_iPopupBlockerTimeout)
      clearInterval(g_iPopupBlockerTimeout);
  }
  
  g_bPopupBlocker = bPopupBlocker;
  g_iChecks++;

  loadPortChecker();
  
  var oResultsElem = document.getElementById("PopupBlockerResult");
  var oResultsImage = document.getElementById("PopupBlockerResultImage");
  var oHelpElem = document.getElementById("PopupBlockerHelp");
  updateResultDisplay(oResultsImage, oHelpElem, g_bPopupBlocker, false);
}

function runBrowserCheck()
{
  g_iChecks++;

  document.getElementById("BrowserResult").style.display = "";
  
  var bIE = false;
  var bFirefox = false;
  var bNetscape = false;
  var bSafari = false;
  var bChrome = false;
  var iBrowserType = -1;
  var iBogusBrowserVariant = 0;

  var cUserAgent = window.navigator.userAgent;
  var cAppName = window.navigator.appName;

  g_bBrowser = false;
   
  bIE = IsIE();
  bFirefox = IsFirefox();
  bNetscape = IsNetscape();
  bSafari = IsSafari();
  bChrome = IsChrome();

  var iIndex;
  var iBrowserVersion = 0;
  var cBrowser = "";
  var cMessage = cAppName + " " + window.navigator.appVersion;
  
  if (bIE)
  {
    cBrowser = "MSIE ";
    cMessage = "Internet Explorer " + cUserAgent.substring(cUserAgent.indexOf(cBrowser) + cBrowser.length).split(";")[0];

    iIndex = cUserAgent.indexOf(cBrowser) + cBrowser.length;
    iBrowserVersion = parseInt(cUserAgent.substring(iIndex));

    g_bBrowser = (iBrowserVersion >= IE_VERSION ? true : false);
  }
  else if (bFirefox)
  {
    cBrowser = "Firefox";
    cMessage = cUserAgent.substring(cUserAgent.indexOf(cBrowser)).split("/").join(" ");

    cBrowser = "Firefox/";
    iIndex = cUserAgent.indexOf(cBrowser) + cBrowser.length;
    iBrowserVersion = parseInt(cUserAgent.substring(iIndex));

    g_bBrowser = (iBrowserVersion >= FIREFOX_VERSION ? true : false);
  }
  else if (bNetscape)
  {
    g_bBrowser = false;
  }
  else if (bSafari)
  {
    if (cUserAgent.indexOf("Version/4.0") > 0 || cUserAgent.indexOf("Version/5.0") > 0 || cUserAgent.indexOf("Version/5.1") > 0)
      iBrowserType = 9;

    cBrowser = "Version/";
    cMessage = "Safari " + cUserAgent.substr(cUserAgent.indexOf(cBrowser) + cBrowser.length, 5);

    iIndex = cUserAgent.indexOf(cBrowser) + cBrowser.length;
    iBrowserVersion = parseInt(cUserAgent.substring(iIndex));

    g_bBrowser = (iBrowserVersion >= SAFARI_VERSION ? true : false);
  }
  
  if (bChrome)
  {
    if (cUserAgent.indexOf("Chrome/13") > 0)
      iBrowserType = 9;

    cBrowser = "Chrome/";
    cMessage = "Chrome " + cUserAgent.substr(cUserAgent.indexOf(cBrowser) + cBrowser.length, 8);

    iIndex = cUserAgent.indexOf(cBrowser) + cBrowser.length;
    iBrowserVersion = parseInt(cUserAgent.substring(iIndex));

    g_bBrowser = (iBrowserVersion >= CHROME_VERSION ? true : false);
  }

  if (cUserAgent.indexOf("MSN 2.5") >= 0)
    g_bBrowser = false;

  if (cUserAgent.indexOf("MSN 2.6") >= 0)
    g_bBrowser = false;

  if (cUserAgent.indexOf("AOL 6.0") >= 0)
    g_bBrowser = false;

  if (cUserAgent.indexOf("AOL 7.0") >= 0)
    g_bBrowser = false;

  if (cUserAgent.indexOf("AOL 8.0") >= 0)
    g_bBrowser = false;

  if (cUserAgent.indexOf("AOL 8.0") >= 0)
    g_bBrowser = false;

  if (cUserAgent.indexOf("AOL 9.0") >= 0)
    g_bBrowser = false;

  if (cUserAgent.indexOf("MSN 6") >= 0)
    g_bBrowser = false;

  document.getElementById("BrowserCheckText").innerHTML = g_cMessages["BrowserVersion"].replace("{BrowserVersion}", cMessage);
    
  var oResultsElem = document.getElementById("BrowserResult");
  var oResultsImage = document.getElementById("BrowserResultImage");
  var oHelpElem = document.getElementById("BrowserHelp");
    
  if (g_bBrowser)
    {
      if (g_cSuppressPopupBlockerCheck == "1")
        {
          g_bPopupBlocker = true;
          g_iChecks++;
          document.getElementById("PopupBlockerResult").style.display = "none";
          
          loadPortChecker();
        }
      else
        {
          runPopupBlockerCheck();
        }
     }
    
  updateResultDisplay(oResultsImage, oHelpElem, g_bBrowser, false);
  
  if (!g_bBrowser)
    TrackActivity();
}

function runCookieCheck()
{
  document.getElementById("CookieResult").style.display = "";
  
  var cCookieName = "BrowserCheck";

  deleteCookie(cCookieName);
  setCookie(cCookieName,"Test",365);

  g_bCookie = (getCookie(cCookieName)=="Test");
  g_iChecks++;
  
  deleteCookie(cCookieName);
    
  var oResultsElem = document.getElementById("CookieResult");
  var oResultsImage = document.getElementById("CookieResultImage");
  var oHelpElem = document.getElementById("CookieHelp");
  updateResultDisplay(oResultsImage, oHelpElem, g_bCookie, true);
}

function setCookie(cName, cValue, iExpires) 
{
  var dDate = new Date();
  dDate.setTime( dDate.getTime() );

  var iExpirationTime = 0;
  if (iExpires)
    iExpirationTime = iExpires * 1000 * 60 * 60 * 24;
    
  var dExpirationDate = new Date( dDate.getTime() + (iExpirationTime) );

  document.cookie = cName + "=" +escape( cValue ) + ( ( iExpires ) ? ";expires=" + dExpirationDate.toGMTString() : "" ) 
}

function getCookie(cName) 
{
  var aCookies = document.cookie.split( ';' );
  var aTempCookie = '';
  var cCookieName = '';
  var cCookieValue = '';
  var bCookieFound = false;

  var iLup = 0;
  for (iLup = 0; iLup < aCookies.length; iLup++ )
  {
    aTempCookie = aCookies[iLup].split( '=' );
    cCookieName = aTempCookie[0].replace(/^\s+|\s+$/g, '');
    if ( cCookieName == cName )
    {
	    bCookieFound = true;
	    if ( aTempCookie.length > 1 )
		    cCookieValue = unescape( aTempCookie[1].replace(/^\s+|\s+$/g, '') );

	    return cCookieValue;
	    break;
    }
    aTempCookie = null;
    cCookieName = '';
  }
  
  return bCookieFound;
}

function deleteCookie(cName) 
{
  var dDate = new Date(1970, 1, 1);
  if (getCookie(cName))
    document.cookie = cName + "=0; expires=" + dDate.toGMTString();
}

function runFlashCheck()
{
  if (!g_bUseFlash || IsIPad())
  {
    g_bFlash = false;
    g_iChecks++;

    g_bPortCheck = false;
    g_iChecks++;
    
    FinishSystemCheck();
  }
  else
  {
    document.getElementById("FlashResult").style.display = "";

    g_iFlashVersionFound = GetFlashVer();
    g_bFlashProductInstall = DetectFlashVer(6, 0, 65);
    g_bFlash = DetectFlashVer(g_iRequiredMajorFlashVersion, g_iRequiredMinorFlashVersion, g_iRequiredFlashRevision);
    g_iChecks++;
    
    var cMessage = g_cMessages["FlashVersion"].replace("{FlashVersion}",g_iFlashVersionFound);
    cMessage = cMessage.replace("{ReqVersion}", g_iRequiredMajorFlashVersion + "." + g_iRequiredMinorFlashVersion);
    document.getElementById("FlashVersionText").innerHTML = cMessage;
    
    //if(!g_bFlash && g_bFlashProductInstall)
      //document.getElementById("FlashExpressInstall").style.display = "";
           
    var oResultsElem = document.getElementById("FlashResult");
    var oResultsImage = document.getElementById("FlashResultImage");
    var oHelpElem = document.getElementById("FlashHelp");
    updateResultDisplay(oResultsImage, oHelpElem, g_bFlash, true);
  }
}

function FlashReady()
{
  g_bFlashReady = true;
}

function loadPortChecker()
{
  if (!g_bFlash)
    return;

  if (g_cSuppressPortConnectivityCheck == "1")
  {
    g_bPortCheck = true;
    g_iChecks++;
  }
  else
  {
    document.getElementById("PortCheckResult").style.display = "";
    document.getElementById("PortCheckContainer").innerHTML = g_cFlash;
    
    runPortChecker();
  }
}

function runPortChecker()
{
  clearInterval(g_iPortCheckerInterval);
  if (g_bFlashReady)
    document.getElementById("PortChecker").startPortChecker();
  else
    g_iPortCheckerInterval = setInterval(runPortChecker, 250);
}

function updatePortChecker(bPass)
{
  g_bPortCheck = bPass;
  g_iChecks++;

  g_oPortDetails = document.getElementById("PortChecker").getPortDetails();
  
  var oResultsElem = document.getElementById("PortCheckResult");
  var oResultsImage = document.getElementById("PortCheckResultImage");
  var oHelpElem = document.getElementById("PortCheckHelp");
  updateResultDisplay(oResultsImage, oHelpElem, g_bPortCheck, false);

  document.getElementById("PortChecker").style.height = "1px";
}

function runScreenResolution()
{
  document.getElementById("ScreenResolutionResult").style.display = "";
  
  var iWidth = 0;
  var iHeight = 0;
  try {
    iWidth = window.screen.width;
    iHeight = window.screen.height;
  }
  catch (e) { }  
  
  g_bScreenResolution = (iWidth >= 1024 && iHeight >= 768);
  g_iChecks++;

  var oResultsElem = document.getElementById("ScreenResolutionResult");
  var oResultsImage = document.getElementById("ScreenResolutionResultImage");
  var oHelpElem = document.getElementById("ScreenResolutionHelp");
  updateResultDisplay(oResultsImage, oHelpElem, g_bScreenResolution, false);

  document.getElementById("ScreenResolutionText").innerHTML = g_cMessages["ScreenResolution"].replace("{ScreenResolution}", iWidth + " x " + iHeight);
}

function runSilverlightCheck()
{
  if (!g_bUseSilverlight || IsIPad())
  {
    g_bSilverlight = false;
    g_iChecks++;

    FinishSystemCheck();
  }
  else
  {
    document.getElementById("SilverlightCheckResult").style.display = "";

    g_iSilverlightVersionFound = getSilverlightVersion();
    g_bSilverlightProductInstall = (g_iSilverlightVersionFound > 0);
    g_bSilverlight = (g_iSilverlightVersionFound >= g_iRequiredSilverlightVersion);
    g_iChecks++;

    var cMessage = g_cMessages["FlashVersion"].replace("{FlashVersion}", g_iSilverlightVersionFound);
    cMessage = cMessage.replace("{ReqVersion}", g_iRequiredSilverlightVersion);
    document.getElementById("SilverlightText").innerHTML = cMessage;

    var oResultsElem = document.getElementById("SilverlightCheckResult");
    var oResultsImage = document.getElementById("SilverlightResultImage");
    var oHelpElem = document.getElementById("SilverlightCheckHelp");
    updateResultDisplay(oResultsImage, oHelpElem, g_bSilverlight, false);
  }
}

function getSilverlightVersion()
{
  var iSilverlightVersion;
  
  try
  {   
    try
    {
      var oControl = new ActiveXObject('AgControl.AgControl');
      
      if (oControl.IsVersionSupported("5.0"))
      {
        iSilverlightVersion = 5;
      }
      else if (oControl.IsVersionSupported("4.0"))
      {
        iSilverlightVersion = 4;
      }
      else if (oControl.IsVersionSupported("3.0"))
      {
        iSilverlightVersion = 3;
      }
      else if (oControl.IsVersionSupported("2.0"))
      {
        iSilverlightVersion = 2;
      }
      else if (oControl.IsVersionSupported("1.0"))
      {
        iSilverlightVersion = 1;
      }
      else
      {
        iSilverlightVersion = 0;
      }
      
      oControl = null; 
    }
    catch (e)
    {       
      var oPlugin = navigator.plugins["Silverlight Plug-In"];
      if (oPlugin)
      {
        if (oPlugin.description === "1.0.30226.2")
          iSilverlightVersion = 2;
        else
          iSilverlightVersion = parseInt(oPlugin.description.split(".")[0]);
      }  
      else
        iSilverlightVersion = 0;
    }
  }
  catch (e)
  { 
    iSilverlightVersion = 0; 
  } 
  
  return iSilverlightVersion;
}

function updateResultDisplay(oResultsImage,oHelpElem,bStatus,bCritical)
{
  var cImageURL = oResultsImage.getAttribute("passIMG");
  var cHelpDisplay = "none";

  if (!bStatus)
  {
    cImageURL = oResultsImage.getAttribute("failIMG");
    cHelpDisplay = "";
    if (bCritical)
      g_iCriticalCount++;
    else
      g_iIssueCount++;
  }

  oResultsImage.src=cImageURL;
  oResultsImage.style.display = "";
  oHelpElem.style.display=cHelpDisplay;

  FinishSystemCheck();
}

function FinishSystemCheck()
{
  var oElem = document.getElementById("DisplayOverallResults");
  if (g_iIssueCount > 0 || g_iCriticalCount > 0)
  {
    var cMessage = "";
    if (g_iCriticalCount > 0)
      cMessage = g_cMessages["CriticalCount"].replace("{IssueCount}", g_iCriticalCount) + (g_iIssueCount > 0 ? "<br/><br/>" : "");

    if (g_iIssueCount > 0)
      cMessage = cMessage + g_cMessages["IssueCount"].replace("{IssueCount}", g_iIssueCount);


    oElem.innerHTML = cMessage;
    oElem.style.display = "";

    oElem = document.getElementById("RunSystemCheckText");
    oElem.innerHTML = g_cMessages["RunCheck"];

    if (g_cShowKey == "NULL" || g_cShowKey == "0" || g_iCriticalCount > 0)
    {
      document.getElementById("CloseWindowInstructions").style.display = "none";
    }
    else
    {
      document.getElementById("ContinueToShowLink").style.display = "";
    }

    document.getElementById("RunSystemCheck").style.display = "";
  }
  
  if (g_iIssueCount == 0 && g_iTotalChecks == g_iChecks && !g_bCompleted)
  {
    document.getElementById("RunSystemCheck").style.display = "none";

    if (g_iCriticalCount <= 0)
    {
      if (g_cShowKey == "NULL" || g_cShowKey == "0")
      {
        document.getElementById("ContinueToShowLink").style.display = "none";
        document.getElementById("CloseWindowInstructions").style.display = "";
      }
      else
      {
        location.href = g_cShowLoginLink;
        document.getElementById("ContinueToShowLink").style.display = "";
      }
    }
    g_bCompleted = true;
  }

  if (g_iTotalChecks == g_iChecks)
    TrackActivity();
}

function TrackActivity()
{
  var iStatusFlags = (g_bJavascript ? 1 : 0) +
                     (g_bPopupBlocker ? 2 : 0) +
                     (g_bBrowser ? 4 : 0) +
                     (g_bCookie ? 8 : 0) +
                     (g_bFlash ? 16 : 0) +
                     (g_bScreenResolution ? 32 : 0) +
                     (g_oPortDetails.NetConnection1935 ? 64 : 0) +
                     (g_oPortDetails.NetConnection80 ? 128 : 0) +
                     (g_oPortDetails.NetConnection80T ? 256 : 0) +

                     (g_oPortDetails.NetStream1935 ? 512 : 0) +
                     (g_oPortDetails.NetStream80 ? 1024 : 0) +
                     (g_oPortDetails.NetStream80T ? 2048 : 0) +

                     (g_oPortDetails.SharedObject1935 ? 4096 : 0) +
                     (g_oPortDetails.SharedObject80 ? 8192 : 0) +
                     (g_oPortDetails.SharedObject80T ? 16384 : 0) +

                     (g_oPortDetails.NetConnection1935Edge ? 32768 : 0) +
                     (g_oPortDetails.NetConnection80Edge ? 65536 : 0) +
                     (g_oPortDetails.NetConnection80TEdge ? 131072 : 0) +

                     (g_oPortDetails.NetStream1935Edge ? 262144 : 0) +
                     (g_oPortDetails.NetStream80Edge ? 524288 : 0) +
                     (g_oPortDetails.NetStream80TEdge ? 1048576 : 0)+

                     (g_bSilverlight ? 2097152 : 0);
  
  var cURL = "Server.nxp?LASCmd=AI:" + g_cInstanceID + ";F:APIUTILS!11&ShowKey=" + g_cShowKey;
  cURL += "&FlashVersionFound=" + g_iFlashVersionFound;
  cURL += "&SilverlightVersionFound=" + g_iSilverlightVersionFound;
  cURL += "&StatusFlags=" + iStatusFlags;
  cURL += "&APILoginLink=" + encodeURIComponent(g_cAPILL);
  try {
    cURL += "&ScreenWidth=" + window.screen.width;
    cURL += "&ScreenHeight=" + window.screen.height;}
  catch(e){}  
  var oImg = document.createElement("IMG");
  oImg.src = cURL;
  oImg.style.visibility = "hidden";
  document.body.appendChild(oImg);
}

function resetResultDisplay(oResultsImage,oHelpElem)
{
  oResultsImage.src = oResultsImage.getAttribute("failIMG");
  oHelpElem.style.display = "none";

  var oElem = document.getElementById("DisplayOverallResults")
  oElem.innerHTML = "";
  oElem.style.display = "none";
}

function RetreiveMessageText(cMessage)
{
  if (g_cMessages[cMessage])
    return g_cMessages[cMessage];
  else
    return "NULL";
}

function UpdatePortCheckerHeight(iHeight)
{
  document.getElementById("PortChecker").style.height = iHeight + "px";
}

function openDetails(iSection,iWidth,iHeight)
{
  var oSize = GetWindowSize();
  var oElem = document.getElementById("GlassContainer");
  oElem.style.width = oSize.width + "px";
  oElem.style.height = oSize.height + "px";
  oElem.style.display = "";
  
  document.getElementById("SystemCheckDetailsContainer").style.display = "";
  
  switch(iSection)
  {
    case 1:
      document.getElementById("SystemCheckDetailsCookies").style.display = "";
      document.getElementById("SystemCheckDetailsCookies").style.width = iWidth+"px";
      document.getElementById("SystemCheckDetailsSubCookies").style.height = iHeight + "px";
      document.getElementById("SystemCheckDetailsCookiesHeader").style.width = (iWidth-175) + "px";
      break;
    case 2:
      document.getElementById("SystemCheckDetailsFlash").style.display = "";
      document.getElementById("SystemCheckDetailsFlash").style.width = iWidth + "px";
      document.getElementById("SystemCheckDetailsSubFlash").style.height = iHeight + "px";
      document.getElementById("SystemCheckDetailsFlashHeader").style.width = (iWidth - 175) + "px";

      var MMPlayerType = (IsIE() == true) ? "ActiveX" : "PlugIn";
      var cFlash = "<object id=\"detectionExample\" type=\"application/x-shockwave-flash\" data=\"" + g_cScriptDir + "/Flash/playerProductInstall.swf\" style=\"width:300px;height:150px\">"
                  + "<param name=\"movie\" value=\"" + g_cScriptDir + "/Flash/playerProductInstall.swf\">"
                  + "<param name=\"allowScriptAccess\" value=\"always\">"
                  + "<param name=\"swLiveConnect\" value=\"true\">"
                  + "<param name=\"wmode\" value=\"transparent\">"
                  + "<param name=\"flashvars\" value=\"MMredirectURL=" + URLEncode(g_cRefreshLink) + "&MMplayerType=" + MMPlayerType + "&MMdoctitle=" + document.title + "\">"
                  + "</object>";

      if (g_bFlashProductInstall == true && g_bFlash == false)
        document.getElementById("UpgradeFlashPlayer").innerHTML = cFlash;
      break;
    case 3:
      document.getElementById("SystemCheckDetailsBrowser").style.display = "";
      document.getElementById("SystemCheckDetailsBrowser").style.width = iWidth + "px";
      document.getElementById("SystemCheckDetailsSubBrowser").style.height = iHeight + "px";
      document.getElementById("SystemCheckDetailsBrowserHeader").style.width = (iWidth - 175) + "px";
      break;
    case 4:
      document.getElementById("SystemCheckDetailsPopBlocker").style.display = "";
      document.getElementById("SystemCheckDetailsPopBlocker").style.width = iWidth + "px";
      document.getElementById("SystemCheckDetailsSubPopBlocker").style.height = iHeight + "px";
      document.getElementById("SystemCheckDetailsPopBlockerHeader").style.width = (iWidth - 175) + "px";
      break;
    case 5:
      document.getElementById("SystemCheckDetailsPortCheck").style.display = "";
      document.getElementById("SystemCheckDetailsPortCheck").style.width = iWidth + "px";
      document.getElementById("SystemCheckDetailsSubPortCheck").style.height = iHeight + "px";
      document.getElementById("SystemCheckDetailsPortCheckHeader").style.width = (iWidth - 175) + "px";

      document.getElementById("PortCheckNetConnection1935").innerHTML = (g_oPortDetails.NetConnection1935?g_cMessages["Pass"]:g_cMessages["Fail"]);
      document.getElementById("PortCheckNetConnection80").innerHTML = (g_oPortDetails.NetConnection80?g_cMessages["Pass"]:g_cMessages["Fail"]);
      document.getElementById("PortCheckNetConnection80T").innerHTML = (g_oPortDetails.NetConnection80T ? g_cMessages["Pass"] : g_cMessages["Fail"]);

      document.getElementById("PortCheckNetStream1935").innerHTML = (g_oPortDetails.NetStream1935 ? g_cMessages["Pass"] : g_cMessages["Fail"]);
      document.getElementById("PortCheckNetStream80").innerHTML = (g_oPortDetails.NetStream80 ? g_cMessages["Pass"] : g_cMessages["Fail"]);
      document.getElementById("PortCheckNetStream80T").innerHTML = (g_oPortDetails.NetStream80T ? g_cMessages["Pass"] : g_cMessages["Fail"]);

      document.getElementById("PortCheckSharedObject1935").innerHTML = (g_oPortDetails.SharedObject1935 ? g_cMessages["Pass"] : g_cMessages["Fail"]);
      document.getElementById("PortCheckSharedObject80").innerHTML = (g_oPortDetails.SharedObject80 ? g_cMessages["Pass"] : g_cMessages["Fail"]);
      document.getElementById("PortCheckSharedObject80T").innerHTML = (g_oPortDetails.SharedObject80T ? g_cMessages["Pass"] : g_cMessages["Fail"]);

      document.getElementById("PortCheckNetConnection1935Edge").innerHTML = (g_oPortDetails.NetConnection1935Edge ? g_cMessages["Pass"] : g_cMessages["Fail"]);
      document.getElementById("PortCheckNetConnection80Edge").innerHTML = (g_oPortDetails.NetConnection80Edge ? g_cMessages["Pass"] : g_cMessages["Fail"]);
      document.getElementById("PortCheckNetConnection80TEdge").innerHTML = (g_oPortDetails.NetConnection80TEdge ? g_cMessages["Pass"] : g_cMessages["Fail"]);

      document.getElementById("PortCheckNetStream1935Edge").innerHTML = (g_oPortDetails.NetStream1935Edge ? g_cMessages["Pass"] : g_cMessages["Fail"]);
      document.getElementById("PortCheckNetStream80Edge").innerHTML = (g_oPortDetails.NetStream80Edge ? g_cMessages["Pass"] : g_cMessages["Fail"]);
      document.getElementById("PortCheckNetStream80TEdge").innerHTML = (g_oPortDetails.NetStream80TEdge ? g_cMessages["Pass"] : g_cMessages["Fail"]);
      break;
    case 6:
      document.getElementById("SystemCheckDetailsScreenResolution").style.display = "";
      document.getElementById("SystemCheckDetailsScreenResolution").style.width = iWidth + "px";
      document.getElementById("SystemCheckDetailsSubScreenResolution").style.height = iHeight + "px";
      document.getElementById("SystemCheckDetailsScreenResolutionHeader").style.width = (iWidth - 175) + "px";
      break;
    case 7:
      document.getElementById("SystemCheckDetailsSilverlight").style.display = "";
      document.getElementById("SystemCheckDetailsSilverlight").style.width = iWidth + "px";
      document.getElementById("SystemCheckDetailsSubSilverlight").style.height = iHeight + "px";
      document.getElementById("SystemCheckDetailsSilverlightHeader").style.width = (iWidth - 175) + "px";

      //if (g_bSilverlightProductInstall == true && g_bSilverlight == false)
        //document.getElementById("UpgradeSilverlight").innerHTML = cFlash;
      break;
  }
}

function closeDetails()
{
  document.getElementById("GlassContainer").style.display = "none";
  document.getElementById("SystemCheckDetailsContainer").style.display = "none";
  document.getElementById("SystemCheckDetailsPopBlocker").style.display = "none";
  document.getElementById("SystemCheckDetailsCookies").style.display = "none";
  document.getElementById("SystemCheckDetailsFlash").style.display = "none";
  document.getElementById("SystemCheckDetailsPortCheck").style.display = "none";
  document.getElementById("SystemCheckDetailsScreenResolution").style.display = "none";
}
