// ========================================================================
// @file          annuaire.js	
// @description   Scripts pour la consultation de l'annuaire du personnel
// @author        Olivier Eymard <olivier.eymard@ac-poitiers.fr>
// @copyright     04-2008 D.I.R. Academie de Poitiers
// @version       1.0 - 2008/04/15 10:35
// ======================================================================== 

 
// ------------------------------------------------------------------------
//  @function      creerXmlhttp
//  @parameters    
//  @description   Création d'une instance XMLHTTP en tenant compte du navigateur
// ------------------------------------------------------------------------
function creerXmlhttp() {
   var httpRequest = null;

   if (window.XMLHttpRequest) { // Mozilla, Safari, ...
      httpRequest = new XMLHttpRequest();
      if (httpRequest.overrideMimeType) {
         httpRequest.overrideMimeType('text/html');
      }
   } else if (window.ActiveXObject) { // IE
      try {
         httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
         try {
            httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (e) {
         	alert("Ajax n'est pas supporté par votre navigateur");
         }
      }
   }
   return httpRequest;
}

// ------------------------------------------------------------------------
//  @function      addLoadEvent
//  @parameters    func : le nom de la fonction à exécuter
//  @description   Exécution de la fonction passée en paramètre lors du chargement de la page
//                 L'appel à addLoadEvent peut se faire de 2 façons :
//                 - addLoadEvent(nameOfSomeFunctionToRunOnPageLoad);
//                 - addLoadEvent(function() { /* more code to run on page load */ });
// ------------------------------------------------------------------------
function addLoadEvent(func) {
   var oldonload = window.onload;
   if (typeof window.onload != 'function') {
      window.onload = func;
   } else {
      window.onload = function() {
            if (oldonload) {
               oldonload();
            }
            func();
      }
   }
}


// ------------------------------------------------------------------------
//  @function      is_alphanum
//  @parameters    value : une chaîne de caractères
//  @description   Test si la chaîne de caractère passée en paramètre est composée uniquement
//                 de caractères alphanumériques et d'espaces.
// ------------------------------------------------------------------------
function is_alphanum(value) {
	// re = /[\W\séèçàùâêîôûäëïöü]/;
	regExpression=/[^A-Za-z0-9_\.@\séèçàùâêîôûäëïöü\-]+/; 
	return !regExpression.test(value.trim())
} 



// ------------------------------------------------------------------------
//  @function      supprimerAccents
//  @parameters    value : une chaîne de caractères avec des accents
//  @description   Remplace les lettres accentuées par des lettres non accentuées.
// ------------------------------------------------------------------------
function supprimerAccents(chaineAvecAccents) {
   var chaine = chaineAvecAccents;
   chaine = chaine.replace(/[ÈÉÊËèéêë]/g,"e");
   chaine = chaine.replace(/[ç]/g,"c");
   chaine = chaine.replace(/[ÄÀÂÃàâ]/g,"a");
   chaine = chaine.replace(/[öô]/g,"o");
   chaine = chaine.replace(/[ùÜûÛ]/g,"u");
   return chaine;
}



// ------------------------------------------------------------------------
//  @function      trim()
//  @parameters    
//  @description   Suppression des espaces en début et fin de chaîne
//                 L'appel s'effectue de la façon suivante : maChaine.trim();
// ------------------------------------------------------------------------
String.prototype.trim = function() {
    return this.replace(/(?:^\s+|\s+$)/g, "");
}


// ------------------------------------------------------------------------
//  @function      getURLvar()
//  @parameters    strParamName : le nom du paramètre 
//  @description   Recherche de la valeur d'un paramètre dans l'URL de la page affichée.
//                 Les URL lues sont spécifiques KPortal avec les paramètres placés après "fiche___pagelibre/"  
// ------------------------------------------------------------------------
function getURLvar(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("fiche___pagelibre/") > -1 ){
    var strParamString = strHref.substr(strHref.indexOf("fiche___pagelibre/"));
    var strQueryString=strParamString.split("#")[0]
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if ( aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return unescape(strReturn);
}

