﻿//          ________
//          |/\/\/\|
//          | o o  |
//-----oOOO---(_---OOOo---------------------------------------------------------------------------------------
//
// Auteur      : Chanh T.Do [Thoransoft - 2008.02.20]
// Description : Script contenant les fonctions d'appel et de retour de service web d'enregistrement à la BD
// JScript File (wscall.js)
//------------------------------------------------------------------------------------------------------------  

/**
@fileOverview
wscall.js [JScript File]: <br>
Script contenant les fonctions d'appel et de retour de service web d'enregistrement à la BD.<br>
Auteur: Chanh T.Do [Thoransoft - 2008.02.20] <br>
Version 1.0
*/


//----- ws_callBack -----
/** Fonction permettant d'exécuter l'affichage de message d'erreur au besoin.<br>
    <b>Note</b>: À utiliser au besoin seulement.
    @param {string} result - String contenant le message d'exécution du SOAP Client */
function ws_callBack(result)
{
  try
  {
    if (result.substr(0,3) == '_T_')
    {
      //On vide les champs
      document.getElementById('txtPrenom').value = "";
      document.getElementById('txtNom').value = "";
      document.getElementById('txtEmail').value = "";
      document.getElementById('chkCancel').checked = false;
    }
    alert(result.substr(3,result.length));
  }
  catch (e) {}
}


//----- ws_addRequest -----
/** Fonction permettant d'appeler la procédure d'ajout de personne dans un mailing list
    @param {string} fName - Prénom
    @param {string} lName - Nom
    @param {string} email - Adresse courriel de l'utilisateur 
    @param {string} chkCancel - Indicateur d'annulation ou non (O=Oui;N=Non) */
function ws_addRequest(fName, lName, email, chkCancel)
{
  var param = new SOAPClientParameters();
    
  param.add("fName", fName);
  param.add("lName", lName);
  param.add("email", email);
  param.add("chkCancel", chkCancel);
  SOAPClient.invoke("../gmt_ws.asmx", "addContact", param, false, ws_callBack);
}


/** 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 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; }
}

