//========================================================================================
// Fonctions et outils divers
//========================================================================================	
	
//----------------------------------------------------------------------------------------
// Enlève les blancs à droite et à gauche d'une chaine de caractères
function Trim(iChaine)
{
var wChaine = "";
wChaine = iChaine;
	// Suppression des espaces de gauche
	while ((wChaine.length > 0) && (wChaine.substr(0, 1) == ' '))
	{
	wChaine = wChaine.substr(1, wChaine.length - 1);
	}
	// Suppression des espaces de droite
	while ((wChaine.length > 0) && (wChaine.substr(wChaine.length - 1, 1) == ' '))
	{
	wChaine = wChaine.substr(0, wChaine.length - 1);
	}	
return wChaine;
}
	
//----------------------------------------------------------------------------------------
// Génère un nombre aléatoire compris entre iMin et iMax
function rand(iMin, iMax) 
{
wNombreArguments = arguments.length;

	if (wNombreArguments === 0) 
	{
	iMin = 0;
	iMax = 2147483647;
	} 
	else if (wNombreArguments === 1) 
	{
	throw new Error("Erreur: la fonction rand() attend exactement 2 paramètres mais n'en a reçu qu'un seul.");
	}
return Math.floor(Math.random() * (iMax - iMin + 1)) + iMin;
}

//----------------------------------------------------------------------------------------
// Active et désactive les boutons et les liens sur un document
function ActiveActions(bActiver)
{
var Actions = document.getElementsByTagName("input");
	for (i=0; i < Actions.length; i++)
	{
		if (Actions[i].type == "button")
		{
		Actions[i].disabled = !bActiver;
		}
	}
Actions = document.getElementsByTagName("a");
	for (i=0; i < Actions.length; i++)
	{
	Actions[i].disabled = !bActiver;
	}		
}	

//========================================================================================
// Fonctions Mot de passe
//========================================================================================	

//----------------------------------------------------------------------------------------
// Contrôle de validité d'un mot de passe
function ControleMotDePasse(iMotDePasse, iAlertes)
{
	if (!iAlertes)
	{
	iAlertes = false;
	}

	if (iMotDePasse.length < 6)
	{
		if (iAlertes)
		{
		alert("Le mot de passe doit être constitué d'au moins 6 caractères");
		}
	return false;
	}

	for (i = 0; i < iMotDePasse.length; i++)
	{
	Caractere = iMotDePasse.charAt(i);
		if ( !( (Caractere >="0" && Caractere <="9") || (Caractere >="A" && Caractere <="Z") || (Caractere >="a" && Caractere <="z") ) )
		{
			if (iAlertes)
			{
			alert("Le mot de passe doit être constitué uniquement\nde chiffres (de \"0\" à \"9\")\net de lettres (de \"a\" à \"z\" et de \"A\" à \"Z\")\nà l'exclusion de tout autre caractère.");
			}
		return false;		
		}
	}	
return true;
}	
	
//----------------------------------------------------------------------------------------
// Creation d'un mot de passe	aléatoire
function RandMotDePasseAleatoire()
{
oRand = 0;
	while (oRand == 0)
	{
	oRand = rand(1, 101);
		if (oRand < 50)
		{
		oRand = oRand % 10;
		}
		else
		{
		oRand -= 40;
		}
	}
return oRand;
}

function MotDePasseAleatoire(iLongueur)
{
oMotDePasse = "";
wCarUnique = Array();
cCaractere = "";
	for (wi = 0; wi < 62; wi++)
	{
	wCarUnique[wi] = 0;
	}
	
	for (wi = 0; wi < iLongueur; wi++)
	{
	cCaractere = "0";
		while ((cCaractere == "0") || (cCaractere == "1") || (cCaractere == "O") || (cCaractere == "o") || (cCaractere == "I") || (cCaractere == "i") || (cCaractere == "L") || (cCaractere == "l"))
		{
			if (wi == 0)
			{
			wCaractere = rand(10, 35);
				while (wCarUnique[wCaractere] == 1)
				{
				wCaractere = rand(10, 35);
				}
			//wCarUnique[wCaractere] = 1;
			}
			else
			{
			wCaractere = RandMotDePasseAleatoire();
				while (wCarUnique[wCaractere] == 1)
				{
				wCaractere = RandMotDePasseAleatoire();
				}
			//wCarUnique[wCaractere] = 1;
			}
		
	
			if (wCaractere < 10)
			{
			cCaractere = String.fromCharCode(wCaractere + 48);
			}
			else if (wCaractere < 36)
			{
			cCaractere = String.fromCharCode(wCaractere + 55);
			}
			else if (wCaractere < 62)
			{
			cCaractere = String.fromCharCode(wCaractere + 61);
			}
		}
		
	wCarUnique[wCaractere] = 1;
	oMotDePasse += cCaractere;
	}
return oMotDePasse;
}

//========================================================================================
// Fonctions Adresses de courrier électronique
//========================================================================================	

//----------------------------------------------------------------------------------------
// Contrôle de validité d'une adresse Mail
function ControleAdresseMail(iAdresseMail, iAlertes)	
{
return true;	
}

	
//========================================================================================
// Fonctions de cryptage et d'encodage
//========================================================================================		
	
//----------------------------------------------------------------------------------------
// Encodage d'un texte
function EncoderTexte(iTexte)
{
Caracteres = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f");
oTexte = "";
	for (i = 0; i < iTexte.length; i++)
	{
	NumeroCaractere = iTexte.charCodeAt(i);
	PremierCaractere = Math.floor(NumeroCaractere / 16);
	SecondCaractere = NumeroCaractere % 16;
	oTexte += Caracteres[SecondCaractere]+Caracteres[PremierCaractere];
	}
return oTexte;
}
	
//----------------------------------------------------------------------------------------
// Décodage d'un texte	
function DecoderTexte(iTexte)
{	
Caracteres["0"] = 0;
Caracteres["1"] = 1;
Caracteres["2"] = 2;	
Caracteres["3"] = 3;
Caracteres["4"] = 4;	
Caracteres["5"] = 5;
Caracteres["6"] = 6;
Caracteres["7"] = 7;	
Caracteres["8"] = 8;		
Caracteres["9"] = 9;
Caracteres["a"] = 10;
Caracteres["b"] = 11;	
Caracteres["c"] = 12;	
Caracteres["d"] = 13;
Caracteres["e"] = 14;
Caracteres["f"] = 15;

oTexte = "";
	for (i = 0; i < iTexte.length; i += 2)
	{
	NumeroCaractere = (Caracteres[iTexte.substr(i + 1, 1)] * 16) + Caracteres[iTexte.substr(i, 1)];
	oTexte += String.fromCharCode(NumeroCaractere);
	}
return oTexte;
}
		
//----------------------------------------------------------------------------------------
// Cryptage d'un texte		
function EncrypterTexte(iTexte, iCle)
{
oTexte = "";
wCle = iCle;
pCle = 0;
	for (i = 0; i < iTexte.length; i++)
	{
	NumeroCaractere = (iTexte.charCodeAt(i) + wCle.charCodeAt(pCle)) % 256;
	oTexte += String.fromCharCode(NumeroCaractere);
	wCle = wCle.substr(1, wCle.length - 1) + wCle.substr(0, 1);
	pCle = (pCle + 1) % iCle.length;
	}
return oTexte;
}
		
//----------------------------------------------------------------------------------------
// Décryptage d'un texte		
function DecrypterTexte(iTexte, iCle)
{
oTexte = "";
wCle = iCle;
pCle = 0;
	for (i = 0; i < iTexte.length; i++)
	{
	NumeroCaractere = iTexte.charCodeAt(i) - wCle.charCodeAt(pCle);		
		if (NumeroCaractere < 0)
		{
		NumeroCaractere += 256;
		}		
	oTexte += String.fromCharCode(NumeroCaractere);
	wCle = wCle.substr(1, wCle.length - 1) + wCle.substr(0, 1);
	pCle = (pCle + 1) % iCle.length;
	}
return oTexte;
}	
	

//=======================================================================
//Contrôle et validation du formulaire de première connexion Adhérent
//-----------------------------------------------------------------------
function Validation_Formulaire_Page_DemandeActivationAcces()
{
ActiveActions(false);
// Identifiant
pADIDIN = document.getElementById('ADIDIN').value;
// Mot de passe actuel crypté
pADPWIN = document.getElementById('ADPWIN').value;

// Adresse de courrier électronique
pADADRM = document.getElementById('ADADRM').value;

// Téléphones fixes et mobiles
pADTELF = document.getElementById('ADTELF').value;
pADTELM = document.getElementById('ADTELM').value;

// Mot de passe actuel saisi pour contrôle
pWWPWIN = document.getElementById('WWPWIN').value;

// Nouveau mot de passe et sa confirmation
pWWNPW1 = document.getElementById('WWNPW1').value;
pWWNPW2 = document.getElementById('WWNPW2').value;

// Mode d'envoi des décomptes
pADEVDP = document.getElementById('ADEVDP').value;


	if (Trim(pADADRM) == "")
	{
	alert("Vous devez saisir une adresse de courrier électronique.");
	ActiveActions(true);
	return false;
	}
	
	if (!ControleAdresseMail(pADADRM, true))
	{
	alert("L'adresse de courrier électronique que vous avez saisie parait incorrecte.");
	ActiveActions(true);
	return false;
	}

	if (MD5(pADIDIN + pWWPWIN) != pADPWIN)
	{
	alert("Le mot de passe provisoire que vous avez saisi est incorrect.");
	ActiveActions(true);
	return false;
	}
	
	if (pWWNPW1 == "")
	{
	alert("Vous devez saisir un nouveau mot de passe.");
	ActiveActions(true);
	return false;
	}
	
	if (!ControleMotDePasse(pWWNPW1, true))	
	{
	ActiveActions(true);
	return false;
	}
	
	if (pWWNPW1 == pWWPWIN)
	{
	alert("Votre nouveau mot de passe doit être différent du mot de passe provisoire.");
	ActiveActions(true);
	return false;
	}	
	
	if (pWWNPW1 != pWWNPW2)
	{
	alert("Le nouveau mot de passe que vous avez saisi est différent de sa confirmation.");
	ActiveActions(true);
	return false;
	}

wwTexteACrypter = "&AD=" + Trim(pADADRM) + "&ID=" + pADIDIN + "&MD=" + pADEVDP + "&PP=" + pADPWIN + "&PC=" + MD5(pADIDIN + pWWNPW1) + "&TF=" + pADTELF + "&TM=" + pADTELM;
wwCle1 = MotDePasseAleatoire(6);
wwCle2 = MotDePasseAleatoire(6);
wwTexteCrypte = EncrypterTexte(EncrypterTexte(wwTexteACrypter, wwCle1), wwCle2);
wwTexteCode = EncoderTexte("&C1=" + wwCle1 + "&C2=" + wwCle2 + "&TC=" + wwTexteCrypte);
document.getElementById('WWPARM').value = wwTexteCode;
document.Validation_Page_DemandeActivationAcces.submit();
}

//=======================================================================
//Contrôle et validation du formulaire de première connexion Tiers
//-----------------------------------------------------------------------
function Validation_Formulaire_Page_DemandeActivationAcces_T()
{
ActiveActions(false);
// Identifiant
pTITIER = document.getElementById('TITIER').value;
// Mot de passe actuel crypté
pTIPWIN = document.getElementById('TIPWIN').value;

// Adresse de courrier électronique
pTIADRM = document.getElementById('TIADRM').value;

// Téléphones fixes et mobiles
pTITELF = document.getElementById('TITELF').value;
pTITLCC = document.getElementById('TITLCC').value;

// Mot de passe actuel saisi pour contrôle
pWWPWIN = document.getElementById('WWPWIN').value;

// Nouveau mot de passe et sa confirmation
pWWNPW1 = document.getElementById('WWNPW1').value;
pWWNPW2 = document.getElementById('WWNPW2').value;


	if (Trim(pTIADRM) == "")
	{
	alert("Vous devez saisir une adresse de courrier électronique.");
	ActiveActions(true);
	return false;
	}
	
	if (!ControleAdresseMail(pTIADRM, true))
	{
	alert("L'adresse de courrier électronique que vous avez saisie parait incorrecte.");
	ActiveActions(true);
	return false;
	}

	if (MD5(pTITIER + pWWPWIN) != pTIPWIN)
	{
	alert("Le mot de passe provisoire que vous avez saisi est incorrect.");
	ActiveActions(true);
	return false;
	}
	
	if (pWWNPW1 == "")
	{
	alert("Vous devez saisir un nouveau mot de passe.");
	ActiveActions(true);
	return false;
	}
	
	if (!ControleMotDePasse(pWWNPW1, true))	
	{
	ActiveActions(true);
	return false;
	}
	
	if (pWWNPW1 == pWWPWIN)
	{
	alert("Votre nouveau mot de passe doit être différent du mot de passe provisoire.");
	ActiveActions(true);
	return false;
	}	
	
	if (pWWNPW1 != pWWNPW2)
	{
	alert("Le nouveau mot de passe que vous avez saisi est différent de sa confirmation.");
	ActiveActions(true);
	return false;
	}

wwTexteACrypter = "&AD=" + Trim(pTIADRM) + "&ID=" + pTITIER + "&PP=" + pTIPWIN + "&PC=" + MD5(pTITIER + pWWNPW1) + "&TF=" + pTITELF + "&TC=" + pTITLCC;
wwCle1 = MotDePasseAleatoire(6);
wwCle2 = MotDePasseAleatoire(6);
wwTexteCrypte = EncrypterTexte(EncrypterTexte(wwTexteACrypter, wwCle1), wwCle2);
wwTexteCode = EncoderTexte("&C1=" + wwCle1 + "&C2=" + wwCle2 + "&TC=" + wwTexteCrypte);
document.getElementById('WWPARM').value = wwTexteCode;
document.Validation_Page_DemandeActivationAcces.submit();
}

//=======================================================================
//Contrôle et validation du formulaire d'identification Adhérent
//-----------------------------------------------------------------------
function Validation_Formulaire_Page_Entree_A()
{
ActiveActions(false);
pADIDIN = document.getElementById('ADIDIN').value;  
pADPWIN = document.getElementById('ADPWIN').value;

//alert(pADIDIN + "_" + pADPWIN);

	if (pADIDIN == "")
	{
		if (pADPWIN == "")
		{
		alert("Veuilez saisir votre identifiant et votre mot de passe.");
		ActiveActions(true);
		return(false);
		}
		else
		{
		alert("Veuilez saisir votre identifiant.");		
		ActiveActions(true);
		return(false);
		}
	}
	else
	{
		if (pADPWIN == "")
		{
		alert("Veuilez saisir votre mot de passe.");		
		ActiveActions(true);
		return(false);
		}
	}
document.getElementById('ADPWIN_MD5').value = MD5(pADIDIN + pADPWIN);
document.getElementById('ADPWIN_CRY').value = EncoderTexte(EncrypterTexte(pADPWIN, pADIDIN));
	if (document.getElementById('Memoriser_Identifiant').checked)
	{
	document.getElementById('MEMADIDIN').value = "O";
	}
	else
	{
	document.getElementById('MEMADIDIN').value = "N";
	}
document.Validation_Page_Entree_A.submit();
}

//=======================================================================
//Contrôle et validation du formulaire d'identification Tiers
//-----------------------------------------------------------------------
function Validation_Formulaire_Page_Entree_T()
{
ActiveActions(false);
pTITIER = document.getElementById('TITIER').value;  
pTIPWIN = document.getElementById('TIPWIN').value;

//alert(pADIDIN + "_" + pADPWIN);

	if (pTITIER == "")
	{
		if (pTIPWIN == "")
		{
		alert("Veuilez saisir votre identifiant et votre mot de passe.");
		ActiveActions(true);
		return(false);
		}
		else
		{
		alert("Veuilez saisir votre identifiant.");		
		ActiveActions(true);
		return(false);
		}
	}
	else
	{
		if (pTIPWIN == "")
		{
		alert("Veuilez saisir votre mot de passe.");		
		ActiveActions(true);
		return(false);
		}
	}
document.getElementById('TIPWIN_MD5').value = MD5(pTITIER + pTIPWIN);
document.getElementById('TIPWIN_CRY').value = EncoderTexte(EncrypterTexte(pTIPWIN, pTITIER));
	if (document.getElementById('Memoriser_Identifiant').checked)
	{
	document.getElementById('MEMTITIER').value = "O";
	}
	else
	{
	document.getElementById('MEMTITIER').value = "N";
	}
document.Validation_Page_Entree.submit();
}

//=======================================================================
//Contrôle et validation du formulaire de demande de nouveau mot de passe
//-----------------------------------------------------------------------
function Validation_Formulaire_Page_DemandeMotDePasse()
{
ActiveActions(false);
pADIDIN_MPP = document.getElementById('ADIDIN_MPP').value;  
	if (pADIDIN_MPP == "")
	{
	alert("Veuilez saisir votre identifiant.");		
	ActiveActions(true);
	return(false);
	}	
document.Validation_Page_DemandeMotDePasse.submit()
}

//=======================================================================
//Contrôle et validation du formulaire de demande de nouveau mot de passe Tiers
//-----------------------------------------------------------------------
function Validation_Formulaire_Page_DemandeMotDePasse_T()
{
ActiveActions(false);
pTITIER_MPP = document.getElementById('TITIER_MPP').value;  
	if (pTITIER_MPP == "")
	{
	alert("Veuilez saisir votre identifiant.");		
	ActiveActions(true);
	return(false);
	}	
document.Validation_Page_DemandeMotDePasse_T.submit()
}

//=======================================================================
//Contrôle et validation du formulaire de changement de mot de passe
//-----------------------------------------------------------------------
function Validation_Formulaire_ChangementMotDePasse()
{
ActiveActions(false);
pADIDIN = document.getElementById('ADIDIN_CMP').value;  
pADPWIN = document.getElementById('ADPWIN_CMP').value;
pADNPW1 = document.getElementById('ADNPW1_CMP').value;
pADNPW2 = document.getElementById('ADNPW2_CMP').value;



	if (pADIDIN == "")
	{
		if (pADPWIN == "")
		{
		alert("Veuilez saisir votre identifiant et votre mot de passe.");
		ActiveActions(true);
		return(false);
		}
		else
		{
		alert("Veuilez saisir votre identifiant.");		
		ActiveActions(true);
		return(false);
		}
	}
	else
	{
		if (pADPWIN == "")
		{
		alert("Veuilez saisir votre mot de passe.");		
		ActiveActions(true);
		return(false);
		}
	}
	
	if (!ControleMotDePasse(pADNPW1, true))
	{
	ActiveActions(true);
	return false;
	}
	
	if (pADNPW1 != pADNPW2)
	{
	alert("Le nouveau mot de passe et sa confirmation sont différents");		
	ActiveActions(true);
	return(false);	
	}
	
document.getElementById('ADPWIN_CMP_MD5').value = MD5(pADIDIN + pADPWIN);	
document.getElementById('ADNPW1_CMP_MD5').value = MD5(pADIDIN + pADNPW1);
document.Validation_Page_ChangementMotDePasse.submit();
}

//=======================================================================
//Contrôle et validation du formulaire de changement de mot de passe (Tiers)
//-----------------------------------------------------------------------
function Validation_Formulaire_ChangementMotDePasse_T()
{
ActiveActions(false);

pTITIER = document.getElementById('TITIER_CMP').value;  
pTIPWIN = document.getElementById('TIPWIN_CMP').value;
pTINPW1 = document.getElementById('TINPW1_CMP').value;
pTINPW2 = document.getElementById('TINPW2_CMP').value;



	if (pTITIER == "")
	{
		if (pTIPWIN == "")
		{
		alert("Veuilez saisir votre identifiant et votre mot de passe.");
		ActiveActions(true);
		return(false);
		}
		else
		{
		alert("Veuilez saisir votre identifiant.");		
		ActiveActions(true);
		return(false);
		}
	}
	else
	{
		if (pTIPWIN == "")
		{
		alert("Veuilez saisir votre mot de passe.");		
		ActiveActions(true);
		return(false);
		}
	}
	
	if (!ControleMotDePasse(pTINPW1, true))
	{
	ActiveActions(true);
	return false;
	}
	
	if (pTINPW1 != pTINPW2)
	{
	alert("Le nouveau mot de passe et sa confirmation sont différents");		
	ActiveActions(true);
	return(false);	
	}
	
document.getElementById('TIPWIN_CMP_MD5').value = MD5(pTITIER + pTIPWIN);	
document.getElementById('TINPW1_CMP_MD5').value = MD5(pTITIER + pTINPW1);
document.Validation_Page_ChangementMotDePasse_T.submit();
}

//=======================================================================
//Contrôle et validation du formulaire de modification de l'adresse mail
//-----------------------------------------------------------------------
function Validation_Formulaire_ModificationAdresseMail(ADIDIN, ADPWIN_MD5)
{
ActiveActions(false);
//pADIDIN = document.getElementById('ADIDIN_MAM').value;  
pADPWIN = document.getElementById('ADPWIN_MAM').value;
pADADRM1 = document.getElementById('ADADRM1_MAM').value;
pADADRM2 = document.getElementById('ADADRM2_MAM').value;
ADPWIN_MAM_MD5 = ""

	/*
	if (pADIDIN == "")
	{
		if (pADPWIN == "")
		{
		alert("Veuilez saisir votre identifiant et votre mot de passe.");
		ActiveActions(true);
		return(false);
		}
		else
		{
		alert("Veuilez saisir votre identifiant.");		
		ActiveActions(true);
		return(false);
		}
	}
	else
	{
	*/
		if (pADPWIN == "")
		{
		alert("Veuilez saisir votre mot de passe.");		
		ActiveActions(true);
		return(false);
		}
		else
		{
		ADPWIN_MAM_MD5 = MD5(ADIDIN + pADPWIN);
			if (ADPWIN_MAM_MD5 != ADPWIN_MD5)
			{
			alert("L'identifiant et/ou le mot de passe saisis sont incorrects.");		
			ActiveActions(true);
			return(false);			
			}
		}
	//}
	
	if (pADADRM1 == "")
	{
	alert("Veuillez saisir et confirmer votre nouvelle adresse de courrier électronique.");
	ActiveActions(true);
	return(false);	
	}
	
	if (!ControleAdresseMail(pADADRM1, true))
	{
	alert("L'adresse de courrier électronique que vous avez saisie parait incorrecte.");
	ActiveActions(true);
	return(false);
	}

	if (pADADRM1 != pADADRM2)
	{
	alert("La nouvelle adresse de courrier électronique et sa confirmation sont différentes");		
	ActiveActions(true);
	return(false);	
	}
	
wwTexteACrypter = "&AD=" + Trim(pADADRM1) + "&ID=" + ADIDIN + "&PC=" + MD5(ADIDIN + pADPWIN);
wwCle1 = MotDePasseAleatoire(6);
wwCle2 = MotDePasseAleatoire(6);
wwTexteCrypte = EncrypterTexte(EncrypterTexte(wwTexteACrypter, wwCle1), wwCle2);
wwTexteCode = EncoderTexte("&C1=" + wwCle1 + "&C2=" + wwCle2 + "&TC=" + wwTexteCrypte);
document.getElementById('WWPARM').value = wwTexteCode;
document.Validation_Page_ModificationAdresseMail.submit();
}

//=======================================================================
//Contrôle et validation du formulaire de modification de l'adresse mail Tiers
//-----------------------------------------------------------------------
function Validation_Formulaire_ModificationAdresseMail_T(TITIER, TIPWIN_MD5)
{
ActiveActions(false);
//pADIDIN = document.getElementById('ADIDIN_MAM').value;  
pTIPWIN = document.getElementById('TIPWIN_MAM').value;
pTIADRM1 = document.getElementById('TIADRM1_MAM').value;
pTIADRM2 = document.getElementById('TIADRM2_MAM').value;
TIPWIN_MAM_MD5 = ""

	/*
	if (pADIDIN == "")
	{
		if (pADPWIN == "")
		{
		alert("Veuilez saisir votre identifiant et votre mot de passe.");
		ActiveActions(true);
		return(false);
		}
		else
		{
		alert("Veuilez saisir votre identifiant.");		
		ActiveActions(true);
		return(false);
		}
	}
	else
	{
	*/
		if (pTIPWIN == "")
		{
		alert("Veuilez saisir votre mot de passe.");		
		ActiveActions(true);
		return(false);
		}
		else
		{
		TIPWIN_MAM_MD5 = MD5(TITIER + pTIPWIN);
			if (TIPWIN_MAM_MD5 != TIPWIN_MD5)
			{
			alert("L'identifiant et/ou le mot de passe saisis sont incorrects.");		
			ActiveActions(true);
			return(false);			
			}
		}
	//}
	
	if (pTIADRM1 == "")
	{
	alert("Veuillez saisir et confirmer votre nouvelle adresse de courrier électronique.");
	ActiveActions(true);
	return(false);	
	}
	
	if (!ControleAdresseMail(pTIADRM1, true))
	{
	alert("L'adresse de courrier électronique que vous avez saisie parait incorrecte.");
	ActiveActions(true);
	return(false);
	}

	if (pTIADRM1 != pTIADRM2)
	{
	alert("La nouvelle adresse de courrier électronique et sa confirmation sont différentes");		
	ActiveActions(true);
	return(false);	
	}
	
wwTexteACrypter = "&AD=" + Trim(pTIADRM1) + "&ID=" + TITIER + "&PC=" + MD5(TITIER + pTIPWIN);
wwCle1 = MotDePasseAleatoire(6);
wwCle2 = MotDePasseAleatoire(6);
wwTexteCrypte = EncrypterTexte(EncrypterTexte(wwTexteACrypter, wwCle1), wwCle2);
wwTexteCode = EncoderTexte("&C1=" + wwCle1 + "&C2=" + wwCle2 + "&TC=" + wwTexteCrypte);
document.getElementById('WWPARM').value = wwTexteCode;
document.Validation_Page_ModificationAdresseMail_T.submit();
}

//=======================================================================
//Contrôle et validation du formulaire de changement de mode de réception des décomptes sur la page d'accueil
//-----------------------------------------------------------------------
function Validation_Formulaire_Page_Accueil()
{
ActiveActions(false);
document.Page_Accueil.submit();
}

//=======================================================================
//Contrôle et validation du formulaire de modification des informations personnelles
//-----------------------------------------------------------------------
function RIBOk(Banque, Guichet, Compte, Cle)
{
var wLettres =  "ABCDEFGHIJKLMNOPQR STUVWXYZ";
var wChiffres = "123456789123456789023456789"
var wBank = Banque + Guichet + Compte + Cle;
wBank = wBank.toUpperCase();
	alert(wBank);

	for (i = 0; i < wBank.length; i++)
	{
	wPosLettre = wLettres.indexOf(wBank.substr(i, 1), 0);
		if (wPosLettre > -1)
		{
		wBank = wBank.substr(0, i) + wChiffres.substr(wPosLettre, 1) + wBank.substr(i + 1, wBank.length - i);
		}
	}
	
	alert(wBank);

D1 = wBank.substr(0, 7);
	while (D1.substr(0, 1) == "0")
	{
	D1 = D1.substr(1);
	}
D1 = parseInt(D1);

D2 = wBank.substr(7, 8);
	while (D2.substr(0, 1) == "0")
	{
	D2 = D2.substr(1);
	}
D2 = parseInt(D2);

D3 = wBank.substr(15, 8);
	while (D3.substr(0, 1) == "0")
	{
	D3 = D3.substr(1);
	}
D3 = parseInt(D3);	

	if (D1 < 0)
	{
	D1 = -D1;
	}
	
	if (D2 < 0)
	{
	D2 = -D2;
	}

	if (D3 < 0)
	{
	D3 = -D3;
	}
	
MB = D1;	
RB = MB % 97;
MB = RB * 100000000;

MB = MB + D2;
RB = MB % 97;
MB = RB * 100000000;

MB = MB + D3;
RB = MB % 97;

return(RB == 0);
}

function wChange(Element)
{
document.getElementById('bChange').value = "*";
	if (Element.id == 'ListeCivilites')
	{
	document.getElementById('ASSIGL').value = Element.value;
	}
	else if (Element.id == 'ListeSexes')
	{
	document.getElementById('ASSEXE').value = Element.value;
	}
	else if (Element.id == 'ListeCPVO')
	{
	document.getElementById('ADCPVO').value = Element.value;
	}	
}

function Validation_Formulaire_Page_ModificationInformationsPersonnelles()
{
ActiveActions(false);
ASSIGL = document.getElementById('ASSIGL').value;
ADNOVO = document.getElementById('ADNOVO').value;
ADCPVO = document.getElementById('ADCPVO').value;
ADLBVO = document.getElementById('ADLBVO').value;
ADCPAD = document.getElementById('ADCPAD').value;
ADCOMM = document.getElementById('ADCOMM').value;
ADCPOS = document.getElementById('ADCPOS').value;
ADBDIS = document.getElementById('ADBDIS').value;
ADTELF = document.getElementById('ADTELF').value;
ADTELM = document.getElementById('ADTELM').value;
ADMDRP = document.getElementById('ADMDRP').value;
ADPRBQ = document.getElementById('ADPRBQ').value;
ADPRGU = document.getElementById('ADPRGU').value;
ADPRCT = document.getElementById('ADPRCT').value;
ADPRRI = document.getElementById('ADPRRI').value;
bChange = document.getElementById('bChange').value;


	
	if (Trim(ADCPOS) == "")
	{
	alert("Vous devez indiquer votre code postal");		
	ActiveActions(true);
	return(false);
	}		

	if (Trim(ADBDIS) == "")
	{
	alert("Vous devez indiquer votre bureau distributeur");		
	ActiveActions(true);
	return(false);
	}	

	if (Trim(ADMDRP) == "VI")
	{
		if ((Trim(ADPRBQ) == "") || (Trim(ADPRGU) == "") || (Trim(ADPRCT) == "") || (Trim(ADPRRI) == ""))
		{
		alert("Vous devez indiquer une référence bancaire complète");
		ActiveActions(true);
		return(false);
		}
	}
	
	if ( ((Trim(ADPRBQ) == "") || (Trim(ADPRGU) == "") || (Trim(ADPRCT) == "") || (Trim(ADPRRI) == "")) && (Trim(ADPRBQ)+Trim(ADPRGU)+Trim(ADPRCT)+Trim(ADPRRI) != ""))
	{
	alert("Vous devez indiquer une référence bancaire complète");
	ActiveActions(true);
	return(false);
	}

	if (Trim(ADPRBQ)+Trim(ADPRGU)+Trim(ADPRCT)+Trim(ADPRRI) != "")
	{
		if (!RIBOk(ADPRBQ, ADPRGU, ADPRCT, ADPRRI))
		{
		alert("La référence bancaire que vous avez saisie semble incorrecte");
		ActiveActions(true);
		return(false);
		}
	}

	if (bChange == "*")
	{
	alert("Les données que vous avez saisie semblent correctes.\nVeuillez les valider de nouveau pour qu'elles\nsoient prises en compte.");
	document.getElementById('bChange').value = "";
	ActiveActions(true);
	}
	else
	{
	document.Validation_Page_ModificationInformationsPersonnelles.submit();
	}
}


function Validation_Formulaire_Page_ModificationInformationsPersonnelles_T()
{
ActiveActions(false);
TISIGL = document.getElementById('TISIGL').value;
TINOVO = document.getElementById('TINOVO').value;
TICPVO = document.getElementById('TICPVO').value;
TILBVO = document.getElementById('TILBVO').value;
TICPAD = document.getElementById('TICPAD').value;
TICOMM = document.getElementById('TICOMM').value;
TICPOS = document.getElementById('TICPOS').value;
TIBDIS = document.getElementById('TIBDIS').value;
TITELF = document.getElementById('TITELF').value;
TITLCC = document.getElementById('TITLCC').value;
TIRGMR = document.getElementById('TIRGMR').value;
TIRGBQ = document.getElementById('TIRGBQ').value;
TIRGGU = document.getElementById('TIRGGU').value;
TIRGCT = document.getElementById('TIRGCT').value;
TIRGRI = document.getElementById('TIRGRI').value;
bChange = document.getElementById('bChange').value;


	
	if (Trim(TICPOS) == "")
	{
	alert("Vous devez indiquer votre code postal");		
	ActiveActions(true);
	return(false);
	}		

	if (Trim(TIBDIS) == "")
	{
	alert("Vous devez indiquer votre bureau distributeur");		
	ActiveActions(true);
	return(false);
	}	

	if (Trim(TIRGMR) == "VI")
	{
		if ((Trim(TIRGBQ) == "") || (Trim(TIRGGU) == "") || (Trim(TIRGCT) == "") || (Trim(TIRGRI) == ""))
		{
		alert("Vous devez indiquer une référence bancaire complète");
		ActiveActions(true);
		return(false);
		}
	}
	
	if ( ((Trim(TIRGBQ) == "") || (Trim(TIRGGU) == "") || (Trim(TIRGCT) == "") || (Trim(TIRGRI) == "")) && (Trim(TIRGBQ)+Trim(TIRGGU)+Trim(TIRGCT)+Trim(TIRGRI) != ""))
	{
	alert("Vous devez indiquer une référence bancaire complète");
	ActiveActions(true);
	return(false);
	}

	if (Trim(TIRGBQ)+Trim(TIRGGU)+Trim(TIRGCT)+Trim(TIRGRI) != "")
	{
		if (!RIBOk(TIRGBQ, TIRGGU, TIRGCT, TIRGRI))
		{
		alert("La référence bancaire que vous avez saisie semble incorrecte");
		ActiveActions(true);
		return(false);
		}
	}

	if (bChange == "*")
	{
	alert("Les données que vous avez saisie semblent correctes.\nVeuillez les valider de nouveau pour qu'elles\nsoient prises en compte.");
	document.getElementById('bChange').value = "";
	ActiveActions(true);
	}
	else
	{
	document.Validation_Page_ModificationInformationsPersonnelles_T.submit();
	}
}

function Validation_Formulaire_Page_ContactMutuelle()
{
ActiveActions(false);
document.Validation_Page_ContactMutuelle.submit();
}

function Validation_Formulaire_Page_ContactMutuelle_T()
{
ActiveActions(false);
document.Validation_Page_ContactMutuelle_T.submit();
}

//=======================================================================
// Alignement des colonnes de l'affichage des décomptes
//-----------------------------------------------------------------------
function AlignerColonnes()
{
	if (document.getElementById('Entetes') && document.getElementById('Lignes'))
	{
	TableEntetesRows0 = document.getElementById('Entetes').rows[0];
	TableLignesRows0 = document.getElementById('Lignes').rows[2];
		for (i = 0; i < 8; i++)
		{
			if (TableLignesRows0.cells[i].offsetWidth <= TableEntetesRows0.cells[i].offsetWidth) 
			{ 
			TableLignesRows0.cells[i].style.width = TableEntetesRows0.cells[i].offsetWidth+"px"; 
			} 
			else 
			{ 
			TableEntetesRows0.cells[i].style.width = TableLignesRows0.cells[i].offsetWidth+"px";
			}
		}
	}
}
	
//=======================================================================
// Changer [+]/[=] lors de l'affichage ou du masquage d'un pavé de sélection
//-----------------------------------------------------------------------
function RemplacerPlusMoins(TxtID, Rempl)
{
	if ((TxtID) && (TxtID != ''))
	{	
	Epos = document.getElementById(TxtID).innerHTML.indexOf("=", 0);
		if (Epos < 0)
		{
		Epos = document.getElementById(TxtID).innerHTML.indexOf("+", 0);
		AlignerColonnes();
		}
		
		if (Epos >= 0)
		{
		document.getElementById(TxtID).innerHTML = document.getElementById(TxtID).innerHTML.substring(0, Epos) + Rempl + document.getElementById(TxtID).innerHTML.substring(Epos + 1, document.getElementById(TxtID).innerHTML.length - 1);
		AlignerColonnes();
		}
	}	
}

//=======================================================================
// Bascule entre l'affichage et le masquage d'un pavé de sélection
//-----------------------------------------------------------------------
function AfficherMasquerItemSelection(ItemID, VarID, TxtID)
{
	if (document.getElementById(ItemID).style.display == "")
	{
	document.getElementById(ItemID).style.display = "none";
	RemplacerPlusMoins(TxtID, "+");
	AlignerColonnes();
	}
	else
	{
	document.getElementById(ItemID).style.display = "";
	RemplacerPlusMoins(TxtID, "=");
	AlignerColonnes();
	}
	
	if (VarID != '')
	{
	document.getElementById(VarID).value = document.getElementById(ItemID).style.display;
	}
}

//=======================================================================
// Initialisation affichage ou masquage d'un pavé de sélection
//-----------------------------------------------------------------------
function EtatAffichageItemSelection(ItemID, EtatAffichage, SelectionEnCours, TxtID)
{
document.getElementById(ItemID).style.display = EtatAffichage;
	if (EtatAffichage == "none")
	{
	RemplacerPlusMoins(TxtID, "+");
	AlignerColonnes();
	}
	else if (EtatAffichage == "")
	{
	RemplacerPlusMoins(TxtID, "=");
	AlignerColonnes();
	}	

	if (SelectionEnCours === "1")
	{
	document.getElementById(TxtID).className='tdListePrestations_SelectionActivee';
	}
	else
	{
	document.getElementById(TxtID).className='tdListePrestations_SelectionDesactivee';
	}	
}

//=======================================================================
// Affectation d'une valeur à un element de formulaire
//-----------------------------------------------------------------------
function AffecterValeur(Vid, Valeur)
{
document.getElementById(Vid).value = Valeur;
}




