﻿/*******************************************
*
* Dragon Sécurité
*
* Author: Denis Hogan
* Date: December 18, 2008
* Description: Global JavaScript functions
*
*******************************************/


//----------------------------------------------------------------
// Called from HTTPMediaResponse.aspx.cs when a selection is
// made in the carousel. Creates the video object on
// the web page.
//
// In:  Name media to play
// Out: None
//
function ShowMedia(a_szContent)
{
  var szContent = a_szContent.trim();
  var szFile = GetFile(szContent);
  var szImg = GetImg(szContent);

  var s = new SWFObject("flvplayer.swf", "ply", "500", "350", "9", "#ffffff");
  s.addParam("allowfullscreen", "true");
  s.addVariable("file", szFile);
  s.addVariable("image", szImg);
  s.addVariable("autostart", true);
  s.write("mediaspace");
}

//----------------------------------------------------------------
// Retrieves the video file to play
//
// In:  video to retrieve
// Out: video file name and path
//
function GetFile(a_szContent)
{
  if (a_szContent == "hugo")
    return "videos/hugo.flv";
  else if (a_szContent == "surveilvirtuel")
    return "videos/surveillancevirtuel.flv";
  else if(a_szContent == "personel")
    return "videos/personal.flv";
  else if(a_szContent == "batiment")
    return "videos/batiment.flv";
  else if(a_szContent == "alasource")
    return "videos/alasource.flv";
}

//----------------------------------------------------------------
// Retreives the playes backsplash image file
//
// In:  image to retrieve
// Out: image file name and path
//
function GetImg(a_szContent)
{
  if (a_szContent == "hugo")
    return "videos/cover/hugo.jpg";
  else if (a_szContent == "surveilvirtuel")
    return "videos/cover/surveillancevirtuel.jpg";
  else if (a_szContent == "personel")
    return "videos/cover/personal.jpg";
  else if (a_szContent == "batiment")
    return "videos/cover/batiment.jpg";
  else if (a_szContent == "alasource")
    return "videos/alasource.jpg";

}


//----------------------------------------------------------------
// Called from HTTPCamera@@@Response.aspx.cs when a selection is
// made in the carousel. Fetches the tabs dynamic update panel
// and invoke their webservices to fetch their content.
//
// In:  The camera type (Canon, Dome, PTZ, or Divers)
//      Name the selected item in the carousel
// Out: None
//
function CameraDetails(a_szType, a_szContent)
{
  var ctrl;
  var upd;

  a_szContent = a_szContent.trim();
  a_szType = a_szType.trim();

  if (ShowCamDocumentation(a_szType, a_szContent))
    return;

  switch (a_szType)
  {
    case 'canon':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlCameraTabOneHeader_dpCanonTabOne');
      break;
    case 'dome':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlCameraTabOneHeader_dpDomeTabOne');
      break;
    case 'ptz':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlCameraTabOneHeader_dpPtzTabOne');
      break;
    case 'divers':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlCameraTabOneHeader_dpDiversTabOne');
      break;
  }
  if (upd)
    upd.populate(a_szContent);

  upd = null;
  switch (a_szType)
  {
    case 'canon':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlCameraTabTwoHeader_dpCanonTabTwo');
      break;
    case 'dome':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlCameraTabTwoHeader_dpDomeTabTwo');
      break;
    case 'ptz':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlCameraTabTwoHeader_dpPtzTabTwo');
      break;
    case 'divers':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlCameraTabTwoHeader_dpDiversTabTwo');
      break;
  }
  if (upd)
    upd.populate(a_szContent);

  upd = null;
  switch (a_szType)
  {
    case 'canon':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlCameraTabThreeHeader_dpCanonTabThree');
      break;
    case 'dome':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlCameraTabThreeHeader_dpDomeTabThree');
      break;
    case 'ptz':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlCameraTabThreeHeader_dpPtzTabThree');
      break;
    case 'divers':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlCameraTabThreeHeader_dpDiversTabThree');
      break;
  }
  if (upd)
    upd.populate(a_szContent);
}

//----------------------------------------------------------------
// Called from HTTPDvr@@@Response.aspx.cs when a selection is
// made in the carousel. Fetches the tabs dynamic update panel
// and invoke their webservices to fetch their content.
//
// In:  The dvr type (Certo, Elite, Periph)
//      Name the selected item in the carousel
// Out: None
//
function DvrDetails(a_szType, a_szContent)
{
  var upd = null;
  var ctrl;
  a_szContent = a_szContent.trim();
  a_szType = a_szType.trim();

  if (ShowDvrDocumentation(a_szType, a_szContent))
    return;

  switch (a_szType)
  {
    case 'certo':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlDvrTabOneHeader_dpCertoTabOne');
      break;
    case 'edvr':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlDvrTabOneHeader_dpEdvrTabOne');
      break;
    case 'elite':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlDvrTabOneHeader_dpEliteTabOne');
      break;
  }
  if (upd)
    upd.populate(a_szContent);

  upd = null;
  switch (a_szType)
  {
    case 'certo':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlDvrTabTwoHeader_dpCertoTabTwo');
      break;
    case 'edvr':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlDvrTabTwoHeader_dpEdvrTabTwo');
      break;
    case 'elite':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlDvrTabTwoHeader_dpEliteTabTwo');
      break;
  }
  if (upd)
    upd.populate(a_szContent);

  upd = null;
  switch (a_szType)
  {
    case 'certo':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlDvrTabThreeHeader_dpCertoTabThree');
      break;
    case 'edvr':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlDvrTabThreeHeader_dpEdvrTabThree');
      break;
    case 'elite':
      upd = $find('ctl00_ContentPlaceHolder1_TabContainer1_pnlDvrTabThreeHeader_dpEliteTabThree');
      break;
  }
  if (upd)
    upd.populate(a_szContent);
}

//----------------------------------------------------------------
// Called from HTTPAlarmKeypadsResponse.aspx.cs when a selection is
// made in the carousel. Fetches the tabs dynamic update panel
// and invoke their webservices to fetch their content.
//
// In:  The keypad type
//      Name the selected item in the carousel
// Out: None
//
function AlarmDetails(szContent)
{
  var ctrl;
  szContent = szContent.trim();

  var upd = $find('ctl00_ContentPlaceHolder1_dpAlarm');
  if (upd)
    upd.populate(szContent);
}


//----------------------------------------------------------------
//
// Global variables used to switch between camera carousel and
// their tab details
//

var objCamHolder = null;
var objCamTabOneDescHolder = null;
var objCamTabTwoDescHolder = null;
var objCamTabThreeDescHolder = null;
var objCamDecsHolder = null;
var objCamDocs = null;
var szCanonDoc = null;
var szDomeDoc = null;
var szPtzDocs = null;
var szDiversDocs = null;


//----------------------------------------------------------------
// Called from Camera.aspx when a camera type is selected. This
// function will show the selecte carousel and it's tab content.
//
// In:  The camera type
// Out: None
//
function SwitchCamera(szCamera)
{
  ShowCamDocumentation(szCamera, "");

  if (objCamHolder)
  {
    objCamHolder.style.visibility = "hidden";
    objCamHolder.style.display = "none";
  }

  if (objCamTabOneDescHolder)
  {
    objCamTabOneDescHolder.style.visibility = "hidden";
    objCamTabOneDescHolder.style.display = "none";
  }

  if (objCamTabTwoDescHolder)
  {
    objCamTabTwoDescHolder.style.visibility = "hidden";
    objCamTabTwoDescHolder.style.display = "none";
  }

  if (objCamTabThreeDescHolder)
  {
    objCamTabThreeDescHolder.style.visibility = "hidden";
    objCamTabThreeDescHolder.style.display = "none";
  }

  switch (szCamera)
  {
    case "canon":
      objCamHolder = document.getElementById("divCameraCanon");
      objCamTabOneDescHolder = document.getElementById("divTabOneCanon");
      objCamTabTwoDescHolder = document.getElementById("divTabTwoCanon");
      objCamTabThreeDescHolder = document.getElementById("divTabThreeCanon");
      break;
    case "dome":
      objCamHolder = document.getElementById("divCameraDome");
      objCamTabOneDescHolder = document.getElementById("divTabOneDome");
      objCamTabTwoDescHolder = document.getElementById("divTabTwoDome");
      objCamTabThreeDescHolder = document.getElementById("divTabThreeDome");
      break;
    case "ptz":
      objCamHolder = document.getElementById("divCameraPtz");
      objCamTabOneDescHolder = document.getElementById("divTabOnePtz");
      objCamTabTwoDescHolder = document.getElementById("divTabTwoPtz");
      objCamTabThreeDescHolder = document.getElementById("divTabThreePtz");
      break;
    case "divers":
      objCamHolder = document.getElementById("divCameraDivers");
      objCamTabOneDescHolder = document.getElementById("divTabOneDivers");
      objCamTabTwoDescHolder = document.getElementById("divTabTwoDivers");
      objCamTabThreeDescHolder = document.getElementById("divTabThreeDivers");
      break;
  }

  if (objCamHolder)
  {
    objCamHolder.style.visibility = "visible";
    objCamHolder.style.display = "inline";
  }

  if (objCamTabOneDescHolder)
  {
    objCamTabOneDescHolder.style.visibility = "visible";
    objCamTabOneDescHolder.style.display = "inline";
  }

  if (objCamTabTwoDescHolder)
  {
    objCamTabTwoDescHolder.style.visibility = "visible";
    objCamTabTwoDescHolder.style.display = "inline";
  }

  if (objCamTabThreeDescHolder)
  {
    objCamTabThreeDescHolder.style.visibility = "visible";
    objCamTabThreeDescHolder.style.display = "inline";
  }
}


//----------------------------------------------------------------
//
// Global variables used to switch between dvr carousel and
// their tab details
//

var objDvrHolder = null;
var objDvrTabOneDescHolder = null;
var objDvrTabTwoDescHolder = null;
var objDvrTabThreeDescHolder = null;
var objDrvDecsHolder = null;
var objDrvDocs = null;
var szEliteDoc = null;
var szEdvrDoc = null;
var szCertoDocs = null;

//----------------------------------------------------------------
// Called from Dvr.aspx when a dvr type is selected. This
// function will show the selecte carousel and it's tab content.
//
// In:  The dvr type
// Out: None
//
function SwitchDvr(szDvr)
{
  ShowDvrDocumentation(szDvr, "");

  if (objDvrHolder)
  {
    objDvrHolder.style.visibility = "hidden";
    objDvrHolder.style.display = "none";
  }

  if (objDvrTabOneDescHolder)
  {
    objDvrTabOneDescHolder.style.visibility = "hidden";
    objDvrTabOneDescHolder.style.display = "none";
  }

  if (objDvrTabTwoDescHolder)
  {
    objDvrTabTwoDescHolder.style.visibility = "hidden";
    objDvrTabTwoDescHolder.style.display = "none";
  }

  if (objDvrTabThreeDescHolder)
  {
    objDvrTabThreeDescHolder.style.visibility = "hidden";
    objDvrTabThreeDescHolder.style.display = "none";
  }

  switch (szDvr)
  {
    case "certo":
      objDvrHolder = document.getElementById("divDvrCerto");
      objDvrTabOneDescHolder = document.getElementById("divTabOneCerto");
      objDvrTabTwoDescHolder = document.getElementById("divTabTwoCerto");
      objDvrTabThreeDescHolder = document.getElementById("divTabThreeCerto");
      break;
    case "edvr":
      objDvrHolder = document.getElementById("divDvrEdvr");
      objDvrTabOneDescHolder = document.getElementById("divTabOneEdvr");
      objDvrTabTwoDescHolder = document.getElementById("divTabTwoEdvr");
      objDvrTabThreeDescHolder = document.getElementById("divTabThreeEdvr");
      break;
    case "elite":
      objDvrHolder = document.getElementById("divDvrElite");
      objDvrTabOneDescHolder = document.getElementById("divTabOneElite");
      objDvrTabTwoDescHolder = document.getElementById("divTabTwoElite");
      objDvrTabThreeDescHolder = document.getElementById("divTabThreeElite");
      break;
  }

  if (objDvrHolder)
  {
    objDvrHolder.style.visibility = "visible";
    objDvrHolder.style.display = "inline";
  }

  if (objDvrTabOneDescHolder)
  {
    objDvrTabOneDescHolder.style.visibility = "visible";
    objDvrTabOneDescHolder.style.display = "inline";
  }

  if (objDvrTabTwoDescHolder)
  {
    objDvrTabTwoDescHolder.style.visibility = "visible";
    objDvrTabTwoDescHolder.style.display = "inline";
  }

  if (objDvrTabThreeDescHolder)
  {
    objDvrTabThreeDescHolder.style.visibility = "visible";
    objDvrTabThreeDescHolder.style.display = "inline";
  }
}

function ShowDvrDocumentation(a_szType, a_szContent)
{
  if (objDrvDecsHolder)
  {
    objDrvDecsHolder.style.visibility = "hidden";
    objDrvDecsHolder.style.display = "none";
  }

  if(objDrvDocs)
  {
    objDrvDocs.style.visibility = "hidden";
    objDrvDocs.style.display = "none";
  }

  if (a_szContent == "")
  {
    switch (a_szType)
    {
      case 'certo':
        if (szCertoDocs == 'yes')
          a_szContent = "documentation";
        break;
      case 'edvr':
        if (szEdvrDoc == 'yes')
          a_szContent = "documentation";
        break;
      case 'elite':
        if (szEliteDoc == 'yes')
          a_szContent = "documentation";
        break;
    }
  }
    
  if (a_szContent == "documentation")
  {
    switch (a_szType)
    {
      case 'certo':
        objDrvDocs = document.getElementById("divCertoDocs");
        szCertoDocs = 'yes';
        break;
      case 'edvr':
        objDrvDocs = document.getElementById("divEdvrDocs");
        szEdvrDoc = 'yes';
        break;
      case 'elite':
        objDrvDocs = document.getElementById("divEliteDocs");
        szEliteDoc = 'yes';
        break;
    }
   
    if (objDrvDocs)
    {
      objDrvDocs.style.visibility = "visible";
      objDrvDocs.style.display = "inline";
    }
    objDrvDecsHolder = null;

    var upd = $find('ctl00_ContentPlaceHolder1_TabContainer1');
    if (upd)
    {
      $find('ctl00_ContentPlaceHolder1_TabContainer1').visible = false;
    }

    var obj2 = document.getElementById("divLongDesc");
    obj2.style.visibility = "hidden";
    obj2.style.display = "none";
  }
  else
  {
    switch (a_szType)
    {
      case 'certo':
        szCertoDocs = 'no';
        break;
      case 'edvr':
        szEdvrDoc = 'no';
        break;
      case 'elite':
        szEliteDoc = 'no';
        break;
    }
    
    objDrvDecsHolder = document.getElementById("divLongDesc");
  }

  if (objDrvDecsHolder)
  {
    objDrvDecsHolder.style.visibility = "visible";
    objDrvDecsHolder.style.display = "inline";
  }

  return (a_szContent == "documentation");
}

function ShowCamDocumentation(a_szType, a_szContent)
{
  if (objCamDecsHolder)
  {
    objCamDecsHolder.style.visibility = "hidden";
    objCamDecsHolder.style.display = "none";
  }

  if (objCamDocs)
  {
    objCamDocs.style.visibility = "hidden";
    objCamDocs.style.display = "none";
  }

  if (a_szContent == "")
  {
    switch (a_szType)
    {
      case 'canon':
        if (szCanonDoc == 'yes')
          a_szContent = "documentation";
        break;
      case 'dome':
        if (szDomeDoc == 'yes')
          a_szContent = "documentation";
        break;
      case 'ptz':
        if (szPtzDocs == 'yes')
          a_szContent = "documentation";
        break;
      case 'divers':
        if (szDiversDocs == 'yes')
          a_szContent = "documentation";
        break;
    }
  }

  if (a_szContent == "documentation")
  {
    switch (a_szType)
    {
      case 'canon':
        objCamDocs = document.getElementById("divCanonDocs");
        szCanonDoc = 'yes';
        break;
      case 'dome':
        objCamDocs = document.getElementById("divDomeDocs");
        szDomeDoc = 'yes';
        break;
      case 'ptz':
        objCamDocs = document.getElementById("divPtzDocs");
        szPtzDocs = 'yes';
        break;
      case 'divers':
        objCamDocs = document.getElementById("divDiversDocs");
        szDiversDocs = 'yes';
        break;
    }

    if (objCamDocs)
    {
      objCamDocs.style.visibility = "visible";
      objCamDocs.style.display = "inline";
    }
    objCamDecsHolder = null;

    var upd = $find('ctl00_ContentPlaceHolder1_TabContainer1');
    if (upd)
    {
      $find('ctl00_ContentPlaceHolder1_TabContainer1').visible = false;
    }

    var obj2 = document.getElementById("divLongDesc");
    obj2.style.visibility = "hidden";
    obj2.style.display = "none";
  }
  else
  {
    switch (a_szType)
    {
      case 'canon':
        szCanonDoc = 'no';
        break;
      case 'dome':
        szDomeDoc = 'no';
        break;
      case 'ptz':
        szPtzDocs = 'no';
        break;
      case 'divers':
        szDiversDocs = 'no';
        break;
    }

    objCamDecsHolder = document.getElementById("divLongDesc");
  }

  if (objCamDecsHolder)
  {
    objCamDecsHolder.style.visibility = "visible";
    objCamDecsHolder.style.display = "inline";
  }

  return (a_szContent == "documentation");
}
