//          ________
//          |/\/\/\|
//          | o o  |
//-----oOOO---(_---OOOo---------------------------------------------------------------------------------------
//
// Auteur      : Chanh T.Do [Thoransoft - 2008.04.08]
// Description : fichier contenant les fonctions globales du site.
// JScript File
//------------------------------------------------------------------------------------------------------------

/**
* @fileOverview
  globalfunc.js [JScript File]: <br>
  Scripts de fonctions globales utilisÃ©es dans le site<br>
  @author: Chanh T.Do [www.thoransoft.com - 2008.04.08] <br>
  Version 1.0 */

//Variable pour DynamicPage
IS_DYNAMIC_PAGE = 'yes';

//----- hideElementById -----
/** Fonction permettant de rendre invisible les DropDownlists (patch pour le Bug D'IE6)
    <b>Note</b>: Les DDL sont toujours visibles par dessus tout Ã©lÃ©ment DIV !<br>
    Fonctionne aussi pour rendre invisible tous les Ã©lÃ©ments ID.
    @param {string} id - ID de l'Ã©lÃ©ment que l'on veut rendre invisible */
function hideElementById(id)
{ var d = document.getElementById(id); 
  if (d != undefined) { d.style.display = 'none'; }
}

    
//----- unhideElementById -----
/** Fonction permettant de rendre visible les Ã©lÃ©ments ID.
    @param {string} id - ID de l'Ã©lÃ©ment que l'on veut rendre visible */
function unhideElementById(id)
{ var d = document.getElementById(id); 
  if (d != undefined) { d.style.display = 'block'; }
}


/** Fonction permettant de swapper le style d'affichage (block devient none et vice-versa) <br>
    @param {string} id - ID de l'Ã©lement Ã  swapper */
function swapDisplay(id)
{ 
  var e = document.getElementById(id);
  if (e != undefined) 
  { 
    if (e.style.display == 'block') { e.style.display = 'none'; }
    else { e.style.display = 'block'; }
  }
}


/** Fonction pour rediriger vers une page html
    @param {string} strURL - Contient l'adresse URL */
function gotoURL(strURL)
{
  var location=(strURL);
  this.location.href = location;
}


/** Fonction permettant de retourner le nom de la page sans le point et l'URL au complet
    @return {string} Contient le nom de la page courante */
function getCurrentPage()
{
  currentPage = document.URL.substring(document.URL.lastIndexOf('/')+1, document.URL.lastIndexOf('.'));
  if ((currentPage.substr(0,4) == 'http') || (currentPage.substr(0,1) == '.')) { return 'mission'; }
  else { return currentPage; }
}


/** Fonction permettant de setter le menu et de loader le contenu de droite du site
    @return {string} currentPage - Contient le nom de la page courante */
function dynamicPage(currentPage)
{ 
  if (document.URL.indexOf('Vippages') > -1) { gotoURL('/en/' + currentPage + '.aspx'); }
  else 
  {
    if (IS_DYNAMIC_PAGE == 'yes')
    {
      setMenu(currentPage);
      requestSrv(currentPage + '.aspx', loadPageContent, 'TEXT');
      anim_menu(currentPage);
    }
    else { gotoURL(currentPage + '.aspx'); }
  }
}


/* Fonction permettant de setter la couleur du text
   @param {string} eID - ID de l'élément à setter
   @param {string} strColor - Contient le no de la couleur ou le nom de la couleur (#000000 ou Gray) */
function setColor(eID, strColor)
{
  strColor = (strColor == null) ? "#ffffff" : strColor;
  
  //Setter la couleur de la police. La couleur par défaut est #
  var e = document.getElementById(eID);
  if (e != undefined) { e.style.color = strColor; }
}


/** Fonction permettant de swapper le style d'affichage (block devient none et vice-versa) <br>
    @param {string} id - ID de l'Ã©lement Ã  swapper 
    @param {string} idImg - ID de l'Ã©lement avec l'image en background */
function swapDisplayWithImg(id, idImg)
{ 
  var e = document.getElementById(id);
  if (e != undefined) 
  { 
    if (e.style.display == 'block') 
    { 
      e.style.display = 'none'; 
      var eImg = document.getElementById(idImg);
      if (eImg != undefined) { eImg.className = "triangle"; }
    }
    else 
    { 
      e.style.display = 'block'; 
      var eImg = document.getElementById(idImg);
      if (eImg != undefined) { eImg.className = "triangle2"; }
    }
  }
}


/** Fonction permettant de rendre un checkbox checked lorsqu'il ne l'est pas et de le
    rendre unchecked lorsqu'il est. Prend en paramÃ¨tre le id du checkbox.
    param {string} id - Contient le ID du checkbox */
function chkMe(id)
{
  var cBox = document.getElementById(id);
    
  if (cBox.checked) { cBox.checked = false; }
  else { cBox.checked = true; }
}

  /** Fonction pour valider une adresse e-mail
    @param {string} str - Contient l'adresse e-mail
    @return true si l'adresse est valide
    @type bool */
function echeck(str) 
{
  var at="@"
  var dot="."
  var lat=str.indexOf(at)
  var lstr=str.length
  var ldot=str.indexOf(dot)
  
  if (str.indexOf(at)==-1) { return false; }
  if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) { return false; }
  if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) { return false; }
  if (str.indexOf(at,(lat+1))!=-1) { return false; }
  if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) { return false; }
  if (str.indexOf(dot,(lat+2))==-1) { return false; }
  if (str.indexOf(" ")!=-1) { return false; }
  
  return true;
}


/** Fonction permettant de colorer les couleur du grid lorsqu'on passe la souris dessus. <br>
    @param {object} element - Element Ã  colorer (tablecells)
    @param {string} oGrid - ID de la grid en cours de traitement */
function setMouseOverColor(element, oGrid)
{ 
  if (!document.getElementById(oGrid).disabled)
  {
    oldgridSelectedColor = element.style.backgroundColor;
    element.style.backgroundColor='#f6f6f8';
    element.style.cursor='pointer';
  }
}


/** Fonction permettant de dÃ©colorer les couleur du grid lorsqu'on passe la souris dessus. <br>
    @param {object} element - Element Ã  colorer (tablecells)
    @param {string} oGrid - ID de la grid en cours de traitement */
function setMouseOutColor(element, oGrid)
{
  if (!document.getElementById(oGrid).disabled)
  {
    element.style.backgroundColor=oldgridSelectedColor;
  }
}

