/* 
Fonction : getExtension
Description rapide : test si un fichier est d'un type donné
-----------------------------
Auteur : Hervé ALLIOT
Date de création : 23 Avril 2004
Modifications : 09 juillet 2004
Date de dernière modification : 09/07/2004
Nom du dernier modificateur :  Hervé ALLIOT
-----------------------------
*/



/*
* Retourne False s'il n'y a pas d'extension 
* Retourne l'extension si elle existe
*
* fichier         --> nom du fichier
*
* return          --> extension du fichier
* 
*/
function getExtension (fichier) {
  var periode = fichier.lastIndexOf(".");
  if (periode == -1 || periode == fichier.length)
    return false;
 
  // Récupère tout les caractères après le dernier .
  return fichier.substr(periode + 1);
} // fin getExtension



/*
* Fonction permettant de tester si un fichier est bien de tel type
* Retourne true, si le fichier est du bon type, sinon false
*
* fichier         --> nom du fichier à tester
* typePossible    --> tableau regroupant la liste des types de fichiers possibles sous forme d'extension.
* autorise        --> boolean indiquant si l'on doit considéré les typePossible passé en paramètre comme les types
*                     qui sont autorisé ou les types qui NE sont PAS autorisé
*
* return          --> true si le type est autorisé ou false sinon
* 
*/
function testTypeFichier(fichier, typePossible, autorise) {
		
  ok = getExtension(fichier);
  ok.toLowerCase();

  // Interdiction automatique de certains fichier pour des raisons de sécurité
  if(ok == "php" || ok == "exe" || ok == "pl")
    return false;
  
  for (i=0; i<typePossible.length; i++) {

    // Types passés sont autorisés
    if (autorise) {
      if(ok == typePossible[i]) return true;
    } // fin if

    // Types passés NE sont PAS autorisés
    else {
      if(ok == typePossible[i]) return false;
    } // fin else
    
  } // fin for

  return false;
  
} // fin testTypeFichier


