var PANEL_ANIMATION_INCREMENT = 25;
var PANEL_ANIMATION_SPEED = 75;
var PANEL_CLOSED_HEIGHT = 50;
var PANEL_OPENED_HEIGHT = 200;
var GLARE_SPEED = 100;
var GLARE_INTERVAL = 10000;

var gGlare = null;
var gGlareInterval = null;
var gGlareLeft = -235;

var gSpeed = PANEL_ANIMATION_INCREMENT;
var gBPHeight = PANEL_OPENED_HEIGHT;
var gBPInterval = null;

var LANG_ENGLISH = "EN";
var LANG_FRENCH = "FR";
var LANG_SPANISH = "ES";

var PRD_ASSETMANAGER = "assetmanager";
var PRD_TRAFFICMANAGER = "trafficmanager";
var PRD_AUTOMATION = "automationserver";
var PRD_VIDEOSERVER = "videoserver";
var PRD_CHANNELDRESSER = "channeldresser";
var PRD_SITEMANAGER = "sitemanager";

// ----------------------------------------------------------------------------
function mv_site_GoogleTracker()
{
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-4757609-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
}

// ----------------------------------------------------------------------------
function mv_site_Link(aLink)
{
  var lBottomPanel = 0;
  
  var lPanel = window.document.getElementById("div_bottom_panel");
  if(lPanel)
  {
    var lCurHeight = parseInt(lPanel.style.height);
    
    if(lCurHeight >= PANEL_OPENED_HEIGHT)
    {
      // Bottom panel is collapsed
      lBottomPanel = 1;
    }
  }
  
  window.document.location = aLink + "&bp=" + lBottomPanel;
}

// ----------------------------------------------------------------------------
function mv_site_AdjustSite(aAdjustPanels)
{
  var lContainer = window.document.getElementById("div_bottom_panel");
  
  if(lContainer)
  {
    var lBottomHeight = PANEL_OPENED_HEIGHT;
    var lPanel = window.document.getElementById("div_bottom_panel");
    var lPadding = window.document.getElementById("div_bottom_padding");
    
    if(lPanel)
    {
      lBottomHeight = parseInt(lPanel.style.height);
    }
    
    if(lPadding)
    {
      lPadding.style.height = lBottomHeight + "px";
    }
    
    var lNewTop = parseInt(ws_tools_GetWindowInnerHeight() - lBottomHeight);
    
    lContainer.style.top = lNewTop + "px";
  }
  
  if(aAdjustPanels)
  {
    mv_site_PositionProductPanels();
  }
}

// ----------------------------------------------------------------------------
function mv_site_DelayTogglePanel()
{
  window.setTimeout("mv_site_ToggleBottomPanel(" + true + ");", 1000);
}

// ----------------------------------------------------------------------------
function mv_site_PositionProductPanels()
{
  var lMainContainer = window.document.getElementById("section_content");
  
  if(lMainContainer)
  {
    var lPosition = mv_site_FindObjectPosition(lMainContainer);
    
    var lPanel = null;
    var lLeft = 0;
    var lSiteLeft = lPosition[1];
    
    lPanel = window.document.getElementById("prd_panel" + PRD_ASSETMANAGER);
    if(lPanel)
    {
      lLeft = lSiteLeft + mv_site_GetPanelOffset(PRD_ASSETMANAGER);
      lPanel.style.left = lLeft + "px";
    }
    
    lPanel = window.document.getElementById("prd_panel" + PRD_AUTOMATION);
    if(lPanel)
    {
      lLeft = lSiteLeft + mv_site_GetPanelOffset(PRD_AUTOMATION);
      lPanel.style.left = lLeft + "px";
    }
    
    lPanel = window.document.getElementById("prd_panel" + PRD_VIDEOSERVER);
    if(lPanel)
    {
      lLeft = lSiteLeft + mv_site_GetPanelOffset(PRD_VIDEOSERVER);
      lPanel.style.left = lLeft + "px";
    }
    
    lPanel = window.document.getElementById("prd_panel" + PRD_CHANNELDRESSER);
    if(lPanel)
    {
      lLeft = lSiteLeft + mv_site_GetPanelOffset(PRD_CHANNELDRESSER);
      lPanel.style.left = lLeft + "px";
    }
    
    lPanel = window.document.getElementById("prd_panel" + PRD_SITEMANAGER);
    if(lPanel)
    {
      lLeft = lSiteLeft + mv_site_GetPanelOffset(PRD_SITEMANAGER);
      lPanel.style.left = lLeft + "px";
    }
  }
}

function mv_site_GetPanelOffset(aProductId)
{
  var lOffset = 0;
  
  switch(gLang.toString())
  {
    case LANG_ENGLISH:
      switch(aProductId.toString())
      {
        case PRD_ASSETMANAGER:
          lOffset = 32;
          break;
        
        case PRD_AUTOMATION:
          lOffset = 247;
          break;
        
        case PRD_VIDEOSERVER:
          lOffset = 450;
          break;
        
        case PRD_CHANNELDRESSER:
          lOffset = 493;
          break;
        
        case PRD_SITEMANAGER:
          lOffset = 685;
          break;
      }
      break;
    
    case LANG_FRENCH:
      switch(aProductId.toString())
      {
        case PRD_ASSETMANAGER:
          lOffset = 39;
          break;
        
        case PRD_AUTOMATION:
          lOffset = 265;
          break;
        
        case PRD_VIDEOSERVER:
          lOffset = 460;
          break;
        
        case PRD_CHANNELDRESSER:
          lOffset = 475;
          break;
        
        case PRD_SITEMANAGER:
          lOffset = 670;
          break;
      }
      break;
    
    case LANG_SPANISH:
      switch(aProductId.toString())
      {
        case PRD_ASSETMANAGER:
          lOffset = 45;
          break;
        
        case PRD_AUTOMATION:
          lOffset = 272;
          break;
        
        case PRD_VIDEOSERVER:
          lOffset = 473;
          break;
        
        case PRD_CHANNELDRESSER:
          lOffset = 489;
          break;
        
        case PRD_SITEMANAGER:
          lOffset = 673;
          break;
      }
      break;
  }
  
  return lOffset;
}

// =============================================================================
function mv_site_FindObjectPosition(aObject)
{
  var lCurLeft = 0;
  var lCurTop = 0;
  
  if(aObject.offsetParent)
  {
    do
    {
			lCurLeft += aObject.offsetLeft;
			lCurTop += aObject.offsetTop;
    }
    while (aObject = aObject.offsetParent);
  }
  
  return [lCurTop, lCurLeft];
}

// ----------------------------------------------------------------------------
function mv_site_AnimateGlare()
{
  if(gGlareInterval == null)
  {
    gGlare = window.document.getElementById("logo_glare");
    if(gGlare)
    {
      gGlareInterval = window.setInterval(mv_site_Glare, GLARE_SPEED);
    }
  }
}

// ----------------------------------------------------------------------------
function mv_site_Glare()
{
  gGlareLeft = gGlareLeft + 10;
  
  if(gGlareLeft > 235)
  {
    window.clearInterval(gGlareInterval);
    gGlareInterval = null;
    
    gGlareLeft = -235;
    
    window.setTimeout(mv_site_AnimateGlare, GLARE_INTERVAL);
  }
  
  if(gGlare)
  {
    gGlare.style.backgroundPosition = gGlareLeft + "px 1px";
  }
}

// ----------------------------------------------------------------------------
function mv_site_ToggleBottomPanel(aDoAnimation)
{
  var lPanel = window.document.getElementById("div_bottom_panel");
  
  if(lPanel)
  {
    gSpeed = PANEL_ANIMATION_INCREMENT;
    
    var lCurHeight = parseInt(lPanel.style.height);
    
    if(lCurHeight > PANEL_CLOSED_HEIGHT)
    {
      // Bottom panel is expanded, switch to collapsed mode
      
      if(aDoAnimation)
      {
        if(gBPInterval == null)
        {
          gBPHeight = PANEL_OPENED_HEIGHT;
          gBPInterval = window.setInterval(mv_site_priv_ClosePanel, PANEL_ANIMATION_SPEED);
        }
      }
      else
      {
        lPanel.style.height = PANEL_CLOSED_HEIGHT + "px";
        mv_site_priv_ToggleBPArrows("bp_up_arrows.png");
        mv_site_priv_ToggleNewsPanel("hidden");
      }
    }
    else
    {
      // Bottom panel is collapsed, switch to expanded mode
      
      if(aDoAnimation)
      {
        if(gBPInterval == null)
        {
          gBPHeight = PANEL_CLOSED_HEIGHT;
          mv_site_priv_ToggleNewsPanel("visible");
          gBPInterval = window.setInterval(mv_site_priv_OpenPanel, PANEL_ANIMATION_SPEED);
        }
      }
      else
      {
        lPanel.style.height = PANEL_OPENED_HEIGHT + "px";
        mv_site_priv_ToggleBPArrows("bp_down_arrows.png");
        mv_site_priv_ToggleNewsPanel("visible");
      }
    }
    
    mv_site_AdjustSite();
  }
}

// ----------------------------------------------------------------------------
function mv_site_CanToggle()
{
  var lPanel = window.document.getElementById("div_bottom_panel");
  
  if(lPanel)
  {
    var lCurHeight = parseInt(lPanel.style.height);
    
    if(lCurHeight < PANEL_OPENED_HEIGHT)
    {
      gBPInterval = null;
      gBPHeight = PANEL_CLOSED_HEIGHT;
      mv_site_ToggleBottomPanel(true);
    }
  }
}

// ----------------------------------------------------------------------------
function mv_site_priv_ClosePanel()
{
  var lPanel = window.document.getElementById("div_bottom_panel");
  if(lPanel)
  {
    gSpeed = mv_site_priv_DoEasing(gSpeed, "close");
    gBPHeight = gBPHeight - gSpeed;
    lPanel.style.height = gBPHeight + "px";
    
    if(gBPHeight < PANEL_CLOSED_HEIGHT)
    {
      window.clearInterval(gBPInterval);
      gBPInterval = null;
      gBPHeight = PANEL_CLOSED_HEIGHT;
      lPanel.style.height = gBPHeight + "px";
      
      mv_site_priv_ToggleNewsPanel("hidden");
      mv_site_priv_ToggleBPArrows("bp_up_arrows.png");
    }
    
    mv_site_priv_AdjustBPTop(lPanel);
  }
}

// ----------------------------------------------------------------------------
function mv_site_priv_OpenPanel()
{
  var lPanel = window.document.getElementById("div_bottom_panel");
  if(lPanel)
  {
    gSpeed = mv_site_priv_DoEasing(gSpeed, "open");
    gBPHeight = gBPHeight + gSpeed;
    lPanel.style.height = gBPHeight + "px";
    
    if(gBPHeight > PANEL_OPENED_HEIGHT)
    {
      window.clearInterval(gBPInterval);
      gBPInterval = null;
      gBPHeight = PANEL_OPENED_HEIGHT;
      lPanel.style.height = gBPHeight + "px";
      
      mv_site_priv_ToggleBPArrows("bp_down_arrows.png");
    }
    
    mv_site_priv_AdjustBPTop(lPanel);
  }
}

// ----------------------------------------------------------------------------
function mv_site_priv_AdjustBPTop(aPanel)
{
  var lPadding = window.document.getElementById("div_bottom_padding");
  if(lPadding)
  {
    lPadding.style.height = gBPHeight + "px";
  }
  
  var lNewTop = parseInt(ws_tools_GetWindowInnerHeight() - gBPHeight);
  aPanel.style.top = lNewTop + "px";
}

// ----------------------------------------------------------------------------
function mv_site_priv_ToggleNewsPanel(aVisibleMode)
{
  var lNewsEvents = window.document.getElementById("div_news_events");
  if(lNewsEvents)
  {
    lNewsEvents.style.visibility = aVisibleMode;
  }
}

// ----------------------------------------------------------------------------
function mv_site_priv_ToggleBPArrows(aImage)
{
  var lPanelBtn = window.document.getElementById("btn_panel_toggle");
  if(lPanelBtn)
  {
    lPanelBtn.src = "images/" + aImage;
  }
}

// ----------------------------------------------------------------------------
function mv_site_priv_DoEasing(aCurSpeed, aAction)
{
  var lRet = aCurSpeed;
  
  if(aAction.toString() == "open")
  {
    if(parseInt(gBPHeight) > parseInt(PANEL_OPENED_HEIGHT * 0.90))
    {
      lRet = mv_site_priv_SlowMove(aCurSpeed);
    }
    else if(parseInt(gBPHeight) > parseInt(PANEL_OPENED_HEIGHT * 0.80))
    {
      lRet = mv_site_priv_SlowMove(aCurSpeed);
    }
    else if(parseInt(gBPHeight) > parseInt(PANEL_OPENED_HEIGHT * 0.65))
    {
      lRet = mv_site_priv_SlowMove(aCurSpeed);
    }
    else if(parseInt(gBPHeight) > parseInt(PANEL_OPENED_HEIGHT * 0.5))
    {
      lRet = mv_site_priv_SlowMove(aCurSpeed)
    }
  }
  else
  {
    if(parseInt(gBPHeight) < parseInt(PANEL_CLOSED_HEIGHT * 1.75))
    {
      lRet = mv_site_priv_SlowMove(aCurSpeed);
    }
    else if(parseInt(gBPHeight) < parseInt(PANEL_CLOSED_HEIGHT * 2.2))
    {
      lRet = mv_site_priv_SlowMove(aCurSpeed);
    }
    else if(parseInt(gBPHeight) < parseInt(PANEL_CLOSED_HEIGHT * 2.6))
    {
      lRet = mv_site_priv_SlowMove(aCurSpeed);
    }
    else if(parseInt(gBPHeight) < parseInt(PANEL_CLOSED_HEIGHT * 3.25))
    {
      lRet = mv_site_priv_SlowMove(aCurSpeed)
    }
  }
  
  return lRet;
}

// ----------------------------------------------------------------------------
function mv_site_priv_SlowMove(aCurValue)
{
  var lRet = parseInt(aCurValue * 0.85) + 1;
  
  if(lRet <= 1)
  {
    lRet = 2;
  }
  
  return parseInt(lRet);
}
