﻿// ----------------------------------------------------------------------------------------------
// Fichier : FonctionsAffichage.js
// Auteur  : Guillaume Thibaudeau
// Description: Fichier comportant les fonctions pour mettre en évidence la ligne sélectionnée
//              dans la visionneuse et une version généric s'appliquant à la grid des pièces 
//              jointes et celle des lieux.
// 
// ----------------------------------------------------------------------------------------------


// Variables servant à retenir l'identifiant et la couleur de la dernière ligne sélectionnée
// de façon générique.
var lastRowIDGen;
var lastRowIDColorGen;

// Variables servant à retenir l'identifiant et la couleur de la dernière ligne sélectionnée
// pour la visionneuse.
var lastRowID;
var lastRowIDColor;

// ----------------------------------------------------------------------------------------------
// Fonction qui sert à changer la couleur de fond de la ligne sélectionnée dans
// la visionneuse.
// ----------------------------------------------------------------------------------------------
function highligthRowVisionneuse(row,ID)
{    
    if (lastRowID != null && lastRowID != "")
    {          
        lastRowID.style.backgroundColor = lastRowIDColor;
        lastRowID=row;
        lastRowIDColor=row.style.backgroundColor;
        row.style.backgroundColor = "#295C9B";
        document.getElementById("ctl00_pgMain_cmdEditRequest").disabled=false;
        document.getElementById("ctl00_pgMain_champsCache").value = ID;
    }
    else
    {
        lastRowID=row;
        lastRowIDColor=row.style.backgroundColor;
        row.style.backgroundColor = "#295C9B";
        document.getElementById("ctl00_pgMain_cmdEditRequest").disabled=false;
        document.getElementById("ctl00_pgMain_champsCache").value = ID;
    }
}

// ----------------------------------------------------------------------------------------------
// Fonction qui sert à changer la couleur de fond de la ligne sélectionnée pour 
// les pièces jointes.
// ----------------------------------------------------------------------------------------------
function highligthRowGeneric(row,ID)
{
    //Variables servant à retenir l'identifiant et la couleur de la dernière ligne sélectionnée
    if (lastRowIDGen != null && lastRowIDGen != "")
    {          
        lastRowIDGen.style.backgroundColor = lastRowIDColorGen;
        lastRowIDGen=row;
        lastRowIDColorGen=row.style.backgroundColor;
        row.style.backgroundColor = "#295C9B";
    }
    else
    {
        lastRowIDGen=row;
        lastRowIDColorGen=row.style.backgroundColor;
        row.style.backgroundColor = "#295C9B";
    }
}

// -----------------------------------------------------------------------------
// Méthode permettant de valider l'extension pour empêcher de joindre des 
// fichiers potentiellement dangereux.
// -----------------------------------------------------------------------------
function ValidateAttachedFiles()
{
   var extensionsNotAllowed = ".ade .adp .app .asp .bas .bat .cer .chm .cmd .com .cpl .crt " +
                              ".csh .der .exe .fxp .hlp .hta .inf .ins .isp .its .js .jse " +
                              ".ksh .lnk .mad .maf .mag .mam .maq .mar .mas .mat .mau .mav " +
                              ".maw .mda .mdb .mde .mdt .mdw .mdz .msc .msh .msh1 .msh2 .mshxml " +
                              ".msh1xml .msh2 .xml .msi .msp .mst .ops .pcd .pif .plg .prf .prg " +
                              ".pst .reg .scf .scr .sct .shb .shs .tmp .url .vb .vbe .vbs .vsmacros " +
                              ".vsw .ws .wsc .wsf .wsh";
   var path = document.getElementById("ctl00_pgMain_ctrlAttachedFiles_fileSelector").value;
   var extension=path.substring(path.lastIndexOf("."));
   if(extensionsNotAllowed.indexOf(extension, 0) != -1)
   {
        document.getElementById("ctl00_pgMain_ctrlAttachedFiles_spanErrAttFiles").style.visibility  = "visible";
        return false;                
   }
   else
   {
        document.getElementById("ctl00_pgMain_ctrlAttachedFiles_spanErrAttFiles").style.visibility  = "hidden";
        return true;
   }
}


function HiddenFieldInsert(hiddenControl, value)
{
   document.getElementById(hiddenControl).value = value;
}

