function ws_panel_BuildSystemDiagram(aLang, aCurProduct)
{
  var lRet = "";
  
  lRet += ws_panel_BuildDemo(aLang, "images/workflow.swf", 800, 600)
  
  lRet += "<br /><br />";
  lRet += "<span id='waitmsg' style='font-family:Arial; font-size:10px; color:#ffffff'>&nbsp;</span>";
  
  return lRet;
}

function ws_panel_BuildSystemDiagram_ORG(aLang, aCurProduct)
{
  var lRet = "";
  var lCols = Array();
  var lRows = Array();
  var lImages = Array();
  var lLabels = Array();
  
  lCols[0] = -1;
  lCols[1] = 135;
  lCols[2] = 45;
  lCols[3] = 132;
  lCols[4] = 44;
  lCols[5] = 148;
  
  lRows[0] = -1;
  lRows[1] = 40;
  lRows[2] = 17;
  lRows[3] = 53;
  lRows[4] = 16;
  lRows[5] = 35;
  lRows[6] = 26;
  lRows[7] = 36;
  lRows[8] = 36;
  
  lImages[0] = "";
  lImages[1] = "sysdiag_01.png";
  lImages[2] = "sysdiag_02.png";
  lImages[3] = "sysdiag_03_off.png";
  lImages[4] = "sysdiag_04.png";
  lImages[5] = (aCurProduct == "assetmanager") ? "sysdiag_05_on.png" : "sysdiag_05_off.png";
  lImages[6] = "sysdiag_06.png";
  lImages[7] = "sysdiag_07.png";
  lImages[8] = "sysdiag_08.png";
  lImages[9] = "sysdiag_09.png";
  lImages[10] = "sysdiag_10.png";
  lImages[11] = (aCurProduct == "automationserver") ? "sysdiag_11_on.png" : "sysdiag_11_off.png";
  lImages[12] = "sysdiag_12.png";
  lImages[13] = (aCurProduct == "videoserver") ? "sysdiag_13_on.png" : "sysdiag_13_off.png";
  lImages[14] = "sysdiag_14.png";
  lImages[15] = "sysdiag_15.png";
  lImages[16] = (aCurProduct == "trafficmanager") ? "sysdiag_16_on.png" : "sysdiag_16_off.png";
  lImages[17] = (aCurProduct == "channeldresser") ? "sysdiag_17_on.png" : "sysdiag_17_off.png";
  lImages[18] = "sysdiag_18.png";
  
  lLabels[0] = "System Integration Diagram";
  
  if(aLang == "FR")
  {
    lLabels[0] = "Diagramme de syst&egrave;me";
  }
  
  lRet += "<table cellpadding='20' cellspacing='0' border='0' style='border-top:solid 1px #ffffff; border-left:solid 1px #ffffff; border-right:solid 1px #000000; border-bottom:solid 1px #000000'>";
  lRet += "<tr>";
    lRet += "<td style='background-color:#999999; background-image:url(images/bottom_fade.png); background-repeat:repeat-x; background-position:bottom left'>";
      
      lRet += "<table cellpadding='0' cellspacing='0' border='0'>";
      
      lRet += "<tr>";
        lRet += "<td colspan='4' class='title titlecolor' style='height:30px; text-align:left; vertical-align:top'>";
          lRet += lLabels[0];
        lRet += "</td>";
        lRet += "<td style='height:30px; text-align:right; vertical-align:top'>";
          var lCloseLabel = "Close";
          if(aLang == "FR")
          {
            lCloseLabel = "Fermer";
          }
          lRet += "<input type=\"button\" value=\"" + lCloseLabel + "\" onclick=\"ws_panel_ClearContent(); ws_panel_HideHiddenPanel();\" /><br />";
        lRet += "</td>";
      lRet += "</tr>";
      
      lRet += "<tr>";
        lRet += "<td style='width:" + lCols[1] + "px; height:" + lRows[1] + "px; background-image:url(images/" + lImages[1] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[2] + "px; height:" + lRows[1] + "px; background-image:url(images/" + lImages[2] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[3] + "px; height:" + lRows[1] + "px; background-image:url(images/" + lImages[3] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[4] + "px; height:" + lRows[1] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[5] + "px; height:" + lRows[1] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
      lRet += "</tr>";
      
      lRet += "<tr>";
        lRet += "<td style='width:" + lCols[1] + "px; height:" + lRows[2] + "px; background-image:url(images/" + lImages[4] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[2] + "px; height:" + lRows[2] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[3] + "px; height:" + lRows[2] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[4] + "px; height:" + lRows[2] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[5] + "px; height:" + lRows[2] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
      lRet += "</tr>";
      
      lRet += "<tr>";
        lRet += "<td id='cell5' onclick=\"ws_panel_DiagramLink('" + aLang + "', 'assetmanager');\" onmouseover=\"ws_panel_DiagramHL(5, 'on', 'assetmanager', '" + aCurProduct + "');\" onmouseout=\"ws_panel_DiagramHL(5, 'off', 'assetmanager', '" + aCurProduct + "');\" style='width:" + lCols[1] + "px; height:" + lRows[3] + "px; background-image:url(images/" + lImages[5] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[2] + "px; height:" + lRows[3] + "px; background-image:url(images/" + lImages[6] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[3] + "px; height:" + lRows[3] + "px; background-image:url(images/" + lImages[7] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[4] + "px; height:" + lRows[3] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[5] + "px; height:" + lRows[3] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
      lRet += "</tr>";
      
      lRet += "<tr>";
        lRet += "<td style='width:" + lCols[1] + "px; height:" + lRows[4] + "px; background-image:url(images/" + lImages[8] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[2] + "px; height:" + lRows[4] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[3] + "px; height:" + lRows[4] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[4] + "px; height:" + lRows[4] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[5] + "px; height:" + lRows[4] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
      lRet += "</tr>";
      
      lRet += "<tr>";
        lRet += "<td style='width:" + lCols[1] + "px; height:" + lRows[5] + "px; background-image:url(images/" + lImages[9] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[2] + "px; height:" + lRows[5] + "px; background-image:url(images/" + lImages[10] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td id='cell11' onclick=\"ws_panel_DiagramLink('" + aLang + "', 'automationserver');\" onmouseover=\"ws_panel_DiagramHL(11, 'on', 'automationserver', '" + aCurProduct + "');\" onmouseout=\"ws_panel_DiagramHL(11, 'off', 'automationserver', '" + aCurProduct + "');\" style='width:" + lCols[3] + "px; height:" + lRows[5] + "px; background-image:url(images/" + lImages[11] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[4] + "px; height:" + lRows[5] + "px; background-image:url(images/" + lImages[12] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td id='cell13' onclick=\"ws_panel_DiagramLink('" + aLang + "', 'videoserver');\" onmouseover=\"ws_panel_DiagramHL(13, 'on', 'videoserver', '" + aCurProduct + "');\" onmouseout=\"ws_panel_DiagramHL(13, 'off', 'videoserver', '" + aCurProduct + "');\" style='width:" + lCols[5] + "px; height:" + lRows[5] + "px; background-image:url(images/" + lImages[13] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
      lRet += "</tr>";
      
      lRet += "<tr>";
        lRet += "<td style='width:" + lCols[1] + "px; height:" + lRows[6] + "px; background-image:url(images/" + lImages[14] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[2] + "px; height:" + lRows[6] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[3] + "px; height:" + lRows[6] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[4] + "px; height:" + lRows[6] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[5] + "px; height:" + lRows[6] + "px; background-image:url(images/" + lImages[15] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
      lRet += "</tr>";
      
      lRet += "<tr>";
        lRet += "<td id='cell16' onclick=\"ws_panel_DiagramLink('" + aLang + "', 'trafficmanager');\" onmouseover=\"ws_panel_DiagramHL(16, 'on', 'trafficmanager', '" + aCurProduct + "');\" onmouseout=\"ws_panel_DiagramHL(16, 'off', 'trafficmanager', '" + aCurProduct + "');\" style='width:" + lCols[1] + "px; height:" + lRows[7] + "px; background-image:url(images/" + lImages[16] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[2] + "px; height:" + lRows[7] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[3] + "px; height:" + lRows[7] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[4] + "px; height:" + lRows[7] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td id='cell17' onclick=\"ws_panel_DiagramLink('" + aLang + "', 'channeldresser');\" onmouseover=\"ws_panel_DiagramHL(17, 'on', 'channeldresser', '" + aCurProduct + "');\" onmouseout=\"ws_panel_DiagramHL(17, 'off', 'channeldresser', '" + aCurProduct + "');\" style='width:" + lCols[5] + "px; height:" + lRows[7] + "px; background-image:url(images/" + lImages[17] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
      lRet += "</tr>";
      
      lRet += "<tr>";
        lRet += "<td style='width:" + lCols[1] + "px; height:" + lRows[8] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[2] + "px; height:" + lRows[8] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[3] + "px; height:" + lRows[8] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[4] + "px; height:" + lRows[8] + "px'>";
        lRet += "&nbsp;";
        lRet += "</td>";
        lRet += "<td style='width:" + lCols[5] + "px; height:" + lRows[8] + "px; background-image:url(images/" + lImages[18] + "); background-repeat:no-repeat'>";
        lRet += "&nbsp;";
        lRet += "</td>";
      lRet += "</tr>";
      
      lRet += "</table>";
      
    lRet += "</td>";
  lRet += "</tr>";
  lRet += "</table>";
  
  lRet += "<br /><br />";
  lRet += "<span id='waitmsg' style='font-family:Arial; font-size:10px; color:#ffffff'>&nbsp;</span>";
  
  return lRet;
}

// ----------------------------------------------------------------------------
function ws_panel_DiagramHL(aNbr, aState, aProduct, aCurProduct)
{
  if(aProduct != aCurProduct)
  {
    var lCell = window.document.getElementById("cell" + aNbr);
    if(lCell)
    {
      var lNbr = new String(aNbr);
      
      if(lNbr.length == 1)
      {
        lNbr = "0" + lNbr;
      }
      
      var lImage = "sysdiag_" + lNbr + "_" + aState + ".png";
      lCell.style.backgroundImage = "url(images/" + lImage + ")";
    }
  }
}

// ----------------------------------------------------------------------------
function ws_panel_DiagramLink(aLang, aProduct)
{
  window.document.location = "index.php?s=products&lang=" + aLang + "&sub=" + aProduct;
}

// ----------------------------------------------------------------------------
function ws_panel_BuildDemo(aLang, aFlashFile, aWidth, aHeight)
{
  var lRet = "";
  
  lRet += "<object width=\"" + aWidth + "\" height=\"" + aHeight + "\" align=\"top\" id=\"objDemo\" data=\"" + aFlashFile + "\" type=\"application/x-shockwave-flash\" style=\"border-top:solid 1px #999999; border-left:solid 1px #999999; border-right:solid 1px #444444; border-bottom:solid 1px #444444; background-color:#333333\">";
    lRet += "<param name=\"movie\" value=\"" + aFlashFile + "\" />";
    lRet += "<param name=\"quality\" value=\"high\" />";
    lRet += "<param name=\"pluginspage\" value=\"https://www.macromedia.com/go/getflashplayer\" />";
    lRet += "<param name=\"play\" value=\"true\" />";
    lRet += "<param name=\"loop\" value=\"false\" />";
    lRet += "<param name=\"scale\" value=\"exactfit\" />";
    lRet += "<param name=\"wmode\" value=\"transparent\" />";
    lRet += "<param name=\"devicefont\" value=\"false\" />";
    lRet += "<param name=\"bgcolor\" value=\"#000000\" />";
    lRet += "<param name=\"menu\" value=\"false\" />";
    lRet += "<param name=\"allowScriptAccess\" value=\"sameDomain\" />";
  lRet += "</object>";
  
  lRet += "<br /><br />";
  lRet += "<input type=\"button\" value=\"Close\" onclick=\"ws_panel_ClearContent(); ws_panel_HideHiddenPanel();\" /><br />";
  
  var lMsg = "Loading, please wait ...";
  if(aLang == "FR")
  {
    lMsg = "Chargement, un instant ...";
  }
  lRet += "<span id='waitmsg' style='font-family:Arial; font-size:10px; color:#ffffff'>" + lMsg + "</span>";
  
  return lRet;
}

// ----------------------------------------------------------------------------
function ws_panel_ShowHiddenPanel()
{
  var lPanel = window.document.getElementById("pnlHidden");
  if(lPanel)
  {
    lPanel.style.visibility = "visible";
  }
}

// ----------------------------------------------------------------------------
function ws_panel_HideHiddenPanel()
{
  var lPanel = window.document.getElementById("pnlHidden");
  if(lPanel)
  {
    lPanel.style.visibility = "hidden";
  }
}

// ----------------------------------------------------------------------------
function ws_panel_SetHiddenPanelContent(aContent)
{
  var lHeight = ws_panel_GetWindowInnerHeight();
  
  var lObject = null;
  
  lObject = window.document.getElementById("pnlHidden");
  if(lObject)
  {
    lObject.style.height = lHeight + "px";
  }
  
  lObject = window.document.getElementById("tblHidden");
  if(lObject)
  {
    lObject.style.height = lHeight + "px";
  }
  
  lObject = window.document.getElementById("tblHiddenContent");
  if(lObject)
  {
    lObject.innerHTML = aContent;
  }
  
  window.setTimeout(ws_HideWaitMsg, 8000);
}

// ----------------------------------------------------------------------------
function ws_HideWaitMsg()
{
  var lSpan = window.document.getElementById("waitmsg");
  if(lSpan)
  {
    lSpan.innerHTML = "&nbsp;";
  }
}

// ----------------------------------------------------------------------------
function ws_panel_ClearContent()
{
  var lObject = window.document.getElementById("tblHiddenContent");
  if(lObject)
  {
    lObject.innerHTML = "&nbsp;";
  }
}

// ----------------------------------------------------------------------------
function ws_panel_GetWindowInnerHeight()
{
  var myHeight = 0;
  
  if( typeof( window.innerWidth ) == 'number' )
  {
    // Non-IE
    myHeight = window.innerHeight;
  }
  else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
  {
    // IE 6+ in 'standards compliant mode'
    myHeight = document.documentElement.clientHeight;
  }
  else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
  {
    // IE 4 compatible
    myHeight = document.body.clientHeight;
  }
  
  return myHeight;
}