String.prototype.trim = function() {
temp = this;
while (escape(temp).indexOf('%u2018') > -1)
   { 
   temp = escape(temp).replace('%u2018', '%27');
   temp = unescape(temp);
   }
return temp.replace(/^\s*/,"").replace(/\s*$/,"").replace(/’/g,"'").replace(/–/g,"-")
}

function OuvrirDemo(langue)
   {
   Demo = open('presentation/' + langue + '/index.htm', 'Demo', 'resizable=no,scrollbars=no,status=no,menubar=no,' + StringGrandeur(720,571));
   window.setTimeout('Demo.focus();', 100);
   }

function OuvrirEnvoyerAUnAmi(langue)
   {
   EnvoyerAmi = open('', 'EnvoyerAmi', 'resizable=no,scrollbars=no,status=no,menubar=no,' + StringGrandeur(500,465));
   document.DonneesImprimer.action = 'demandeDEnvoyerAUnAmi' + langue + '.php';
   document.DonneesImprimer.target = 'EnvoyerAmi';
   document.DonneesImprimer.submit();
   window.setTimeout('EnvoyerAmi.focus();', 100);
   }   
   
function StringGrandeur (width, height)
   {
   var string = 'width=' + width + ',height=' + height + ',left=' + ((screen.width - width) / 2) + ',top=' + ((screen.height - height) / 2) + ',screenX=' + ((screen.width - width) / 2) + ',screenY=' + ((screen.height - height) / 2);
   return string;
   }

function ValiderCourriel(valeur, langue)
   {
   var stringErreur = '';
   var nAccepte = 'abcdefghijklmnopqrstuvwxyz0123456789-_.@';
   var nChar;
   valeur = valeur.toLowerCase();
   valeur = valeur.trim();  
   var indexOfArobas     = valeur.indexOf('@');
   var indexOf2Arobas    = valeur.lastIndexOf('@');
   var lastIndexOfPoint  = valeur.lastIndexOf('.');
   var indexOf2Point     = valeur.indexOf('..');
   var valeurLength      = valeur.length;		
   var indexOfEspace     = valeur.indexOf(' ');   
   
   if (indexOfEspace     != -1)
      if (langue == '_ang')
	  	  stringErreur = 'Your e-mail must not contain any spaces.';   
      else
	  	  stringErreur = 'Votre courriel doit pas contenir d\'espace.';   
   if (indexOfArobas     < 0)
      if (langue == '_ang')
	  	  stringErreur = 'Your e-mail must contain an @ character.';   
      else
	  	  stringErreur = 'Votre courriel doit contenir un arobas (@).';
   if (indexOfArobas     == 0)
      if (langue == '_ang')
	  	  stringErreur = 'Your e-mail must have at least one character in front of the @ character.';   
      else
	  	  stringErreur = 'Votre courriel doit avoir un minimum d\'un caractère avant l\'arobas (@).';		  
   if (lastIndexOfPoint     < (indexOfArobas + 1))
      if (langue == '_ang')
	  	  stringErreur = 'Your e-mail must contain at least one dot (.) after the @ character.';   
      else
	  	  stringErreur = 'Votre courriel doit contenir au moins un point (.) après l\'arobas (@).';
   if (lastIndexOfPoint     == valeurLength-1)
      if (langue == '_ang')
	  	  stringErreur = 'Your e-mail must not end with a dot (.).';   
      else
	  	  stringErreur = 'Votre courriel ne peut se terminer par un point (.).';		  
   if (indexOf2Arobas       != indexOfArobas)
      if (langue == '_ang')
	  	  stringErreur = 'Your e-mail must only have one @ character.';   
      else
	  	  stringErreur = 'Votre courriel doit contenir seulement un arobas (@).';	  
   if (indexOf2Point       != -1)
      if (langue == '_ang')
	  	  stringErreur = 'Your e-mail cannot have two dots (..) in a row.';   
      else
	  	  stringErreur = 'Votre courriel ne peut pas contenir 2 points de suite (..).';
   if (stringErreur == '')
      {       
      for (var i=0; i<valeur.length; i++)
         {
         nChar = '' + valeur.substring(i, i+1).toLowerCase();
         if (nAccepte.indexOf(nChar) == -1){		
                if (langue == '_ang')
                   stringErreur = 'Your e-mail contains the (' + valeur.substring(i, i+1) + ') which is not a valid character for an e-mail.';   
                else
                   stringErreur = 'Votre courriel contient le caractère (' + valeur.substring(i, i+1) + ') qui n\'est pas un caractère valide dans un courriel.';
				i = valeur.length;
			}
         }  
      }
   if (stringErreur == '')
      return true;   	
   else
   	  {
      if (langue == '_ang')
         alert(stringErreur + '\nHere is an example of a valid e-mail: name@domain.com');
      else
         alert(stringErreur + '\nVoici l\'exemple d\'un courriel valide : nom@domaine.com');
	    return false;	  
	  }      
   }

function ValiderNewsletter(lang)
   {    
   obj = document.DonneesNewsletter.courriel;
   if (!ValiderCourriel(obj.value, lang) || (obj.value == 'Votre courriel') || (obj.value == 'Your E-mail'))
      {
      obj.focus();
      return false;
      }
   return true;
   }
   
 /* http://www.dynamicdrive.com/emailriddler/ */
 function Antispam(tableau){
 		  var courriel = ""; 
		  for (i=0;i<tableau.length;i++)
		  courriel+=String.fromCharCode(tableau[i])		  
		  
 		  document.write('<a href="mailto:'+ courriel +'">' + courriel + '</a>')
 }   
 
//Valider Code Postal
function ValiderCodePostal(valeur,pays,langue)
{
 if(valeur != ""){
  if(pays == "Canada"){
   valeur = valeur.replace(' ','');
   valeur = valeur.replace('-','');    
   valeur = valeur.toUpperCase();
   var oRegExp = /^[^DFIOQUWZ0-9][0-9][^DFIOQU0-9][0-9][^DFIOQU0-9][0-9]$/;
   if (!oRegExp.test(valeur)){
    if(langue == '_ang'){
      return "You must enter a valid postal code (X9X 9X9)";
    }else{
      return "Veuillez entrer un code postal valide (X9X 9X9)";
    }	   	   
   }else if(pays == "United States"){
    if(langue == '_ang'){
      var msgErreur = "You must enter a valid zip code (99999)";
	}else{
	  var msgErreur = "Veuillez entrer un code postal valide (99999)";
	}
    zipcode = valeur.replace(' ','');
    if (!(zipcode.length == 5 || zipcode.length == 9 || zipcode.length == 10)) return msgErreur;
    if ((zipcode.length == 5 || zipcode.length == 9) && isNaN(zipcode)) return msgErreur;
    if (zipcode.length == 10 && zipcode.search && zipcode.search(/^\d{5}-\d{4}$/) == -1) return msgErreur;
   }  
  }
 } 
 return true;
}

/**
 * Validation du téléphone
 * DHTML phone number validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
var validWorldPhoneChars = phoneNumberDelimiters + "+";
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function ValiderTelephone(strPhone,pays){
	if((pays == "Canada") || (pays == "United States")){
		 s=stripCharsInBag(strPhone,validWorldPhoneChars);
		 return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
	}
	else
		return true;
}
   
// Validation des textareas
function SetMaxChar(champ, max, langue)
   {
   if (champ.value.length > max)
      {
      champ.value = champ.value.substring(0,max);
      if (langue == "_ang")
         alert("Your message has exceeded the maximum length for sending a page and has been automatically truncated to "+max+" characters.");
      else
         alert("Votre message dépasse le nombre de caractères permis et a été réduit à "+max+" caractères."); 
      }
   }

	
// Utilisé pour empêcher les double-clicks...
var estEnvoye;
estEnvoye=false;	 