// Détection du navigateur
var bIE = (navigator.appName.indexOf('Netscape') == -1 )?true:false;

// Filtre Lettre
// N'autorise que la saisie de lettre
function bF_Filtre_Lettre(oEvent) {

  if (bIE) oEvent = event;

  var keyCode = (bIE) ? oEvent.keyCode : oEvent.which;
  if ( keyCode != 13){
    sCaractere = String.fromCharCode(keyCode).toUpperCase()
 
    if ( !(sCaractere.charCodeAt(0) >= ("A").charCodeAt(0) && sCaractere.charCodeAt(0) <= ("Z").charCodeAt(0)) && sCaractere != " " ) {
      oEvent.returnValue = false;
      return false;
    }
  }
  else{
    oEvent.returnValue = false;
    return false;
  } 
}

// Filtre Alphabétique
// N'autorise pas la saisie de chiffre
function bF_Filtre_Alpha(oEvent){

  if (bIE) oEvent = event;

  var keyCode = (bIE) ? oEvent.keyCode : oEvent.which;
  if ( keyCode != 13){
    sCaractere = String.fromCharCode(keyCode)
 
    if ( !isNaN(sCaractere) && sCaractere != " " || sCaractere == "\"" ){
      oEvent.returnValue = false;
      return false;
    }
  }
  else{
    oEvent.returnValue = false;
    return false;
  } 
}

// Filtre Entier
// N'autorise que la saisie de nombre entier
function bF_Filtre_Entier(oEvent) {

  if (bIE) oEvent = event;

  var keyCode = (bIE) ? oEvent.keyCode : oEvent.which;
  if ( keyCode != 13){ // entrée; 9:tabulation
    //if ( keyCode != 9) { // BackSpace
    if ( keyCode != 8) { // BackSpace
      sCaractere = String.fromCharCode(keyCode)
 
      if ( isNaN( sCaractere ) || sCaractere == " ") {
          oEvent.returnValue = false;
         return false;
      } 
	//}
    }
  }
  else{
    oEvent.returnValue = false;
    return false;
  }
}

// Filtre Décimal
// N'autorise que la saisie de nombres entiers ou décimaux
function bF_Filtre_Decimal( oEvent){

  if (bIE) oEvent = event;

  var keyCode = (bIE) ? oEvent.keyCode : oEvent.which;
  if ( keyCode == 44){
    alert("Vous devez utiliser le point comme séparateur de décimal");
  }
  if ( keyCode != 13){
    if ( keyCode != 8){ // BackSpace
      if ( keyCode != 46){ // point
        sCaractere = String.fromCharCode(keyCode)
 
        if ( isNaN( sCaractere ) || sCaractere == " "){
          oEvent.returnValue = false;
          return false;
        }
      }
    }
  }
  else{
    oEvent.returnValue = false;
    return false;
  }
}

// Filtre Date
// N'autorise que la saisie de nombres entiers et du '/'
function bF_Filtre_Date( oEvent){

  if (bIE) oEvent = event;

  var keyCode = (bIE) ? oEvent.keyCode : oEvent.which;

  if ( keyCode != 13){
    if ( keyCode != 8){ // BackSpace
      if ( keyCode != 47){ // '/'
        sCaractere = String.fromCharCode(keyCode)
 
        if ( isNaN( sCaractere ) || sCaractere == " "){
          oEvent.returnValue = false;
          return false;
        }
      }
    }
  }
  else{
    oEvent.returnValue = false;
    return false;
  }
}

// Filtre total
// N'autorise aucune saisie sauf backspace
function bF_Filtre_Total(oEvent){

  if (bIE) oEvent = event;
  var keyCode = (bIE) ? oEvent.keyCode : oEvent.which;
  if ( keyCode != 8){ // BackSpace
    sCaractere = String.fromCharCode(keyCode)
    oEvent.returnValue = false;
    return false;
  }
}


//fonction qui desactive toute action pour l'evenement qui l'appelle
function bF_Disable(oEvent){
  if (bIE) oEvent = event;
  oEvent.returnValue = false;
  return false;
}

// FiltreEntree
// N'autorise pas la saisie de entree
function bF_Filtre_Entree(oEvent){

  if (bIE) oEvent = event;
  var keyCode = (bIE) ? oEvent.keyCode : oEvent.which;
  if ( keyCode == 13){
    oEvent.returnValue = false;
    return false;
  }
}