// Fonction contrôle si une chaîne est alphabétique

function isAlpha(sText) {

  var accentChars = unescape("%E9%E8%EA%EB%E6%E5%E1%E0%E2%E4%E3%FA%F9%FB%FC%E7%F3%F2%F4%F6%F5%F8%F0%FD%FF%F1%DF%EF")+'- ';
  var cna='';
  var ch='';
  for (i = 0; i < sText.length; i++) {
  	cna = '';
  	ch = (sText.substring(i, i + 1)).toLowerCase(); 
  	if (!(((ch >= "a") && (ch <= "z")) || (accentChars.indexOf(ch) != -1))) {
  	   cna = 'erreur';
  	   break;
  	}
  }
  if (cna=='erreur') {
  	return false;
  }
  return true;
}

// Fonction contrôle si une chaîne est numérique

function isNumeric(sText,ValidChars) {

  var IsNumber=true;
  var Char;
  for (i = 0; i < sText.length && IsNumber == true; i++){
    Char = sText.substring(i, i + 1);
    if (ValidChars.indexOf(Char) == -1){
      IsNumber = false;
    }
  }
  if (IsNumber) {return IsNumber;}
  return false;
} 

// Test de la page index.php

function TestPage(){	
				  
 	var cErr = '' ;	   
  var numero = document.commander.numero.value;		 
       
  if ( numero=='') {cErr=cErr+'Veuillez saisir le numero a crediter\n';}	    
  if ( document.commander.confirmnumero.value=='') {cErr=cErr+'Veuillez confirmer le numero a crediter\n';} 
	if ( document.commander.numero.value != document.commander.confirmnumero.value) {cErr=cErr+'Le numero a crediter et la confirmation sont differents\n';}
  if (numero.substr(0,2) != '77' && numero.substr(0,2) != '76') {
	  cErr=cErr+'Veuillez saisir un numero commencant par 77 (Orange)\n';  
	}	
  	
	if (numero.length != 9) 	 {cErr=cErr+'Veuillez saisir un numero a 9 chiffres.\n';}	
  	    
  var radioArray = new Array;
  var check = 0;
  radioArray = document.commander.prix;
	for (var i = 0; i < radioArray.length; i++) {
		if (radioArray[i].checked) {
		  check = 1;			
		}
  }				 
  if (check==0) {cErr=cErr+'Veuillez saisir le montant de votre recharge\n';}	 
    
  if (cErr =='') {return true;}
  alert (cErr);
  return false;	  
}	

// Fonction vérifie le format de mail

function checkEmail(emailAddr) {
	/* Cette fonction vérifie le bon format d'une adresse e-mail.
	 Comme :user@domain.com ou user.perso@domain.com
	*/
	
	var i;
	
	/* Recherche de @ */
	i = emailAddr.indexOf("@");
	if (i == -1) {
		return false;
	}
	
	/* Séparation du nom de l'utilisateur et du nom de domaine. */
	var username = emailAddr.substring(0, i);
	var domain = emailAddr.substring(i + 1, emailAddr.length)

	/* Recherche des espaces au début du nom de l'utilisateur. */
	i = 0;
	while ((username.substring(i, i + 1) == " ") && (i < username.length)) {
		i++;
	}
	/* Les enlève s'il en trouve. */
	if (i > 0) {
		username = username.substring(i, username.length);
	}

	/* Recherche d'espaces à la fin du nom de domaine. */
	i = domain.length - 1;
	while ((domain.substring(i, i + 1) == " ") && (i >= 0)) {
		i--;
	}
	/* Les enlève s'il en trouve. */
	if (i < (domain.length - 1)) {
		domain = domain.substring(0, i + 1);
	}

	/* Vérifie que le nom de l'utilisateur et du domaine ne soit pas vide. */
	if ((username == "") || (domain == "")) {
		return false;
	}
	
	/* Vérifie s'il n'y a pas de caractères interdits dans le nom de l'utilisateur. */
	var ch;
	for (i = 0; i < username.length; i++) {
		ch = (username.substring(i, i + 1)).toLowerCase();
		if (!(((ch >= "a") && (ch <= "z")) || 
			((ch >= "0") && (ch <= "9")) ||
			(ch == "_") || (ch == "-") || (ch == "."))) {
				return false;
		}
	}
	
	/* Vérifie s'il n'y a pas de caractères interdits dans le nom de domaine */
	for (i = 0; i < domain.length; i++) {
		ch = (domain.substring(i, i + 1)).toLowerCase();
		if (!(((ch >= "a") && (ch <= "z")) || 
			((ch >= "0") && (ch <= "9")) ||
			(ch == "_") || (ch == "-") || (ch == "."))) {
				return false;
		}
	}

/* Ajouter ci-dessous de nouveaux noms de domaine.
 Voir tous les noms de domaine sur http://www.toulouse-renaissance.net/c_outils/c-nom-domaine.htm
*/
var aSuffix = new Array("com","net","int","aero","biz","museum","name","info","coop","pro","eu","edu","org","gov","mil","bj","dz","de","ad","be","ca","bf","bi","cm","cf","cg","cd","ci","dj","fr","ga","gp","gf","it","lu","mg","ml","ma","mq","mr","mc","nc","pf","re","pm","sn","ch","td","tf","tn");
	var bFoundSuffix = false;
	i = 0;
	while (i < aSuffix.length) {
		if (("." + aSuffix[i]) == domain.substring(domain.length - aSuffix[i].length - 1, domain.length).toLowerCase()) {
			return true;
		}
		i++;
	}
	/* Si le nom de domaine est inconnu  : return false */
	return false;
	
}	
	

// Fonction validité de mail

function emailOK(emailAddr) {
	if (!(checkEmail(emailAddr))) { 
		alert("Merci de verifier votre adresse e-mail. Elle n\'est pas au bon format.");
		return false;
	} else {
		return true;
	}
}

// FONCTION CONTROLE FORMULAIRE DE PAIEMENT

function ctrValidation() {

var cErr = '';
var ch = '';
var cna = '';

if (!isAlpha(document.infoperso.nom.value)) {
	cErr += 'Merci de verifier votre nom. Il comporte des caracteres non autorises.\n';
}

if (!isAlpha(document.infoperso.prenom.value)) {
	cErr += 'Merci de verifier votre prenom. Il comporte des caracteres non autorises.\n';
}

if (document.infoperso.adrmail.value != ''){
 if(!(checkEmail(document.infoperso.adrmail.value))) {
	cErr += 'Merci de verifier votre adresse e-mail. Elle n\'est pas au bon format.\n';
 }
}
else {
  cErr += 'Veuillez indiquer votre adresse email.';
}

for (i = 0; i < document.infoperso.telephone.value.length; i++) {
	cna = '';
	ch = (document.infoperso.telephone.value.substring(i, i + 1)); 
	if (!(((ch >= "0") && (ch <= "9")) || (ch == " "))) {
	   cna = 'erreur';
	   break;
	}
}
if (cna=='erreur') {
	cErr += 'Merci de verifier votre telephone. Il comporte des caracteres non autorises. Ne mettez pas d\'espace.\n';
}


if (cErr =='') {return true;}
alert (cErr);
return false;	  

}

 function dateOK(d) {
 // Cette fonction permet de vérifier la validité d'une date au format jj/mm/aa ou jj/mm/aaaa
 // Par Romuald

 //if (d == "") // si la variable est vide on retourne faux
 //return false;

 e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$");

 if (!e.test(d)) // On teste l'expression régulière pour valider la forme de la date
 return false; // Si pas bon, retourne faux

 // On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
 j = parseInt(d.split("/")[0], 10); // jour
 m = parseInt(d.split("/")[1], 10); // mois
 a = parseInt(d.split("/")[2], 10); // année

 // Définition du dernier jour de février
 // Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
 if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
 else fev = 28;

 // Nombre de jours pour chaque mois
 nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);

 // Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
 return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
 } 



// FONCTION CONTROLE FORMULAIRE D'INSCRIPTION

function ctrInscription() {

var cErr = '';
var ch = '';
var cna = '';

if (document.inscription.genre_client.value=="0") {
cErr += 'Merci de preciser votre civilite (M/Mme/Mlle).\n';
}

if (!isAlpha(document.inscription.nom_client.value)) {
	cErr += 'Merci de verifier votre nom. Il comporte des caracteres non autorises.\n';
}

if (!isAlpha(document.inscription.prenom_client.value)) {
	cErr += 'Merci de verifier votre prenom. Il comporte des caracteres non autorises.\n';
}

if (document.inscription.mail_client.value != ''){
 if(!(checkEmail(document.inscription.mail_client.value))) {
	cErr += 'Merci de verifier votre adresse e-mail. Elle n\'est pas au bon format.\n';
 }
}

for (i = 0; i < document.inscription.telephone_client.value.length; i++) {
	cna = '';
	ch = (document.inscription.telephone_client.value.substring(i, i + 1)); 
	if (!((ch >= "0") && (ch <= "9"))) {
	   cna = 'erreur';
	   break;
	}
}
if (cna=='erreur') {
	cErr += 'Merci de verifier votre telephone. Il comporte des caracteres non autorises. Ne mettez pas d\'espace.\n';
}
if (document.inscription.telephone_client.value.substring(0,1)=="0") {
	cErr += 'Le numero de telephone doit etre au format international sans 0 devant.\n';
} 

cna = '';
if ((document.inscription.naissance_client.value.length!=10) ||(!(dateOK(document.inscription.naissance_client.value)))) {
	cna = 'erreur';
	if (document.inscription.naissance_client.value.length==0) {
		cna = '';
	}
}
if (cna=='erreur') {
	cErr += 'Merci de verifier votre date de naissance.\n';
}

if (document.inscription.nom_client.value.length==0) {
	cErr += 'Nom obligatoire.\n';
}
if (document.inscription.prenom_client.value.length==0) {
	cErr += 'Prenom obligatoire.\n';
}
if (document.inscription.mail_client.value.length==0) {
	cErr += 'Adresse email obligatoire.\n';
}
if (document.inscription.telephone_client.value.length==0) {
	cErr += 'Telephone obligatoire.\n';
}
if ((document.inscription.pays_client.value.length==0) && (document.inscription.adr1_client.value!='')) {
	cErr += 'Merci de renseigner le Pays.\n';
}
if (((document.inscription.mdpw_client.value.length<6) || (document.inscription.mdpw_client.value.length>11)) && (document.inscription.mdpw_client.value.length!=0)) {
	cErr += 'Le mot de passe doit etre compris entre 6 et 11 caracteres.\n';
}
else {
  if ((document.inscription.mdpw_client2.value!="rien") && (document.inscription.mdpw_client.value!=document.inscription.mdpw_client2.value)) {
    cErr += 'Les deux saisies de mot de passe sont differentes.\n';
  }
}

if (cErr =='') {return true;}
alert (cErr);
return false;	  

}
// FONCTION CONTROLE FORMULAIRE DEMANDE CREDIT

function ctrDemandeCredit() {

var cErr = '';
var ch = '';
var cna = '';

// Controle Info demandeur --------------------------------------


if (!isAlpha(document.demandecredit.nom_demandeur.value)) {
	cErr += 'Merci de verifier votre nom. Il comporte des caracteres non autorises.\n';
}

if (!isAlpha(document.demandecredit.prenom_demandeur.value)) {
	cErr += 'Merci de verifier votre prenom. Il comporte des caracteres non autorises.\n';
}

if (document.demandecredit.mail_demandeur.value != ''){
 if(!(checkEmail(document.demandecredit.mail_demandeur.value))) {
	cErr += 'Merci de verifier votre adresse e-mail. Elle n\'est pas au bon format.\n';
 }
}

for (i = 0; i < document.demandecredit.telephone_demandeur.value.length; i++) {
	cna = '';
	ch = (document.demandecredit.telephone_demandeur.value.substring(i, i + 1)); 
	if (!((ch >= "0") && (ch <= "9"))) {
	   cna = 'erreur';
	   break;
	}
}
if (cna=='erreur') {
	cErr += 'Merci de verifier votre telephone. Il comporte des caracteres non autorises. Ne mettez pas d\'espace.\n';
}
if (document.demandecredit.nom_demandeur.value.length==0) {
	cErr += 'Votre nom est obligatoire.\n';
}
if (document.demandecredit.prenom_demandeur.value.length==0) {
	cErr += 'Votre prenom est obligatoire.\n';
}
if (document.demandecredit.telephone_demandeur.value.length==0) {
	cErr += 'Votre numero de telephone est obligatoire.\n';
}
if (document.demandecredit.telephone_demandeur.value.length!=9) {
	cErr += 'Votre numero de telephone doit comporter 9 chiffres.\n';
}

// Controle Info Offreur --------------------------------------


if (!isAlpha(document.demandecredit.nom_offreur.value)) {
	cErr += 'Merci de verifier le nom de votre correspondant. Il comporte des caracteres non autorises.\n';
}

if (!isAlpha(document.demandecredit.prenom_offreur.value)) {
	cErr += 'Merci de verifier le prenom de votre corresponsant. Il comporte des caracteres non autorises.\n';
}

if (document.demandecredit.mail_offreur.value != ''){
 if(!(checkEmail(document.demandecredit.mail_offreur.value))) {
	cErr += 'Merci de verifier l\'adresse e-mail de votre correspondant. Elle n\'est pas au bon format.\n';
 }
}

for (i = 0; i < document.demandecredit.telephone_offreur.value.length; i++) {
	cna = '';
	ch = (document.demandecredit.telephone_offreur.value.substring(i, i + 1)); 
	if (!((ch >= "0") && (ch <= "9"))) {
	   cna = 'erreur';
	   break;
	}
}
if (cna=='erreur') {
	cErr += 'Merci de verifier le numero de telephone de votre correspondant. Il comporte des caracteres non autorises.\n Ne mettez pas d\'espace.\n';
}

if (document.demandecredit.telephone_offreur.value.substring(0,1)=="0") {
	cErr += 'Le numero de telephone de votre correspondant doit etre au format international sans 0 devant.\n';
} 

if (document.demandecredit.telephone_offreur.value.length==0) {
	cErr += 'Le numero de telephone de votre correspondant est obligatoire.\n';
}

if (cErr =='') {return true;}
alert (cErr);
return false;	  

}

// FONCTION CONTROLE FORMAT RIB

function ctrRibFr() {

var cErr = '';
var ch = '';
var cna = '';

for (i = 0; i < document.inscriptionsms.code_banque.value.length; i++) {
	ch = (document.inscriptionsms.code_banque.value.substring(i, i + 1)); 
	if (!((ch >= "0") && (ch <= "9"))) {
	   cna = 'erreur';
	   break;
	}
}
if (cna=='erreur') {
	cErr += 'Merci de verifier le code banque. Il comporte des caracteres non autorises.\n';
}

cna = '';
for (i = 0; i < document.inscriptionsms.code_guichet.value.length; i++) {	
	ch = (document.inscriptionsms.code_guichet.value.substring(i, i + 1)); 
	if (!((ch >= "0") && (ch <= "9"))) {
	   cna = 'erreur';
	   break;
	}
}
if (cna=='erreur') {
	cErr += 'Merci de verifier le code guichet. Il comporte des caracteres non autorises.\n';
}

cna = '';
for (i = 0; i < document.inscriptionsms.numero_compte.value.length; i++) {
	ch = (document.inscriptionsms.numero_compte.value.substring(i, i + 1)); 
	if (!((ch >= "0") && (ch <= "9"))) {
	   cna = 'erreur';
	   break;
	}
}
if (cna=='erreur') {
	cErr += 'Merci de verifier le numero de compte. Il comporte des caracteres non autorises.\n';
}

cna = '';
for (i = 0; i < document.inscriptionsms.cle_rib.value.length; i++) {
	ch = (document.inscriptionsms.cle_rib.value.substring(i, i + 1)); 
	if (!((ch >= "0") && (ch <= "9"))) {
	   cna = 'erreur';
	   break;
	}
}
if (cna=='erreur') {
	cErr += 'Merci de verifier la cle RIB. Elle comporte des caracteres non autorises.\n';
}

cna = '';
for (i = 0; i < document.inscriptionsms.adr2_banque.value.length; i++) {
	ch = (document.inscriptionsms.adr2_banque.value.substring(i, i + 1)); 
	if (!((ch >= "0") && (ch <= "9"))) {
	   cna = 'erreur';
	   break;
	}
}
if (cna=='erreur') {
	cErr += 'Merci de verifier le code postal. Il comporte des caracteres non autorises.\n';
}

if (document.inscriptionsms.code_banque.value.length!=5) {
	cErr += 'Le code banque doit etre compose de 5 chiffres.\n';
}
if (document.inscriptionsms.code_guichet.value.length!=5) {
	cErr += 'Le code guichet doit etre compose de 5 chiffres.\n';
}
if (document.inscriptionsms.numero_compte.value.length!=11) {
	cErr += 'Le numero de compte doit etre compose de 11 chiffres.\n';
}
if (document.inscriptionsms.cle_rib.value.length!=2) {
	cErr += 'La cle rib doit etre compose de 2 chiffres.\n';
}
if (document.inscriptionsms.adr2_banque.value.length!=5) {
	cErr += 'Le code postal doit etre compose de 5 chiffres.\n';
}

if (cErr =='') {return true;}
alert (cErr);
return false;	

}


// FONCTION CONTROLE FORMULAIRE CONNEXION

function ctrConnexion() {

//alert("Identifiant ou/et mot de passe incorrect(s) ou compte non actif.");
return true;
}

// FONCTION CONTROLE SESSION OUVERTE

function ctrSession() {

if (document.code_validation.sessionactive.value!="") {return true;}
else { alert("Votre session a exprire"); return false; }
}


// FONCTION ENVOI MAIL INFO A UN AMI
function envoyer_mail()
{
var sDestinataire = "" ;

if (emailOK(document.informer_un_ami.email_ami.value)) {
	sDestinataire = document.informer_un_ami.email_ami.value;
} 
else  {
	return false;
}


// Largeur et hauteur préconisées de la fenêtre MAIL
   	var PopupMail_largeur	= 200;
   	var PopupMail_hauteur	= 50;

      // Position haut et gauche de la fenêtre MAIL pour affichage centré dans l'écran
   	var PopupMail_top	=((screen.height-PopupMail_hauteur)/2);
   	var PopupMail_left	=((screen.width-PopupMail_largeur)/2);

   	// Ouverture du popup MAIL avec barre état uniquement 
   	var win = window.open('envmail.php?dest='+sDestinataire, "Joxko","status=yes,top="+PopupMail_top+",left="+PopupMail_left+",width="+PopupMail_largeur+",height="+PopupMail_hauteur);
	//win.focus();

return true;
}

function ctrCodeAchat(code_achat) {
  if (code_achat==document.code_validation.code_achat.value) {
  	return true;
  }
  else {
  	alert ("Votre code de validation n'est pas correct.");
  	return false;
  }
}
