// JavaScript Document

/********************/
/* fonction de base */
/********************/

// function de verif champ vide .
function bao_cf_champ_vide(champ, formu, message)
{
	if(document.forms[formu].elements[champ].value == "")
	{
		alert(message);
		document.forms[formu].elements[champ].focus();
		return false;
	}
	return true;
}

function bao_cf_champ_num(champ, formu, message)
{
	if(isNaN(document.forms[formu].elements[champ].value))
	{
		alert(message);
		document.forms[formu].elements[champ].value="";
		document.forms[formu].elements[champ].focus();
		return false;
	}
	return true;
}

function bao_cf_val_num(valeur)
{
	if(isNaN(valeur))
	{
		return false;
	}
	return true;
}

function bao_cf_champ_taille(champ, formu, message, taille)
{
	if(document.forms[formu].elements[champ].value.length!=taille)
	{
		alert(message);
		document.forms[formu].elements[champ].value="";
		document.forms[formu].elements[champ].focus();
		return false;
	}
	return true;
}

function bao_cf_case_act(champ, formu)
{
	if(document.forms[formu].elements[champ].checked)
	{
		return true;
	}
	return false;
}


function bao_cf_radio(champ, pos, formu)
{
	alert(document.forms[formu].elements[champ][pos].checked);
	if(!(document.forms[formu].elements[champ][pos].checked))
	{
		return false;	
	}
	return true;
}

/************************/
/* fonction approfondie */
/************************/

/******************************* Controle Numéro de téléphone paramétrable *******************************/

function bao_cf_num_tel(champ, formu, mess_vide, mess_non_num_tel, mess_taille, taille)
{
	if(bao_cf_champ_vide(champ, formu, mess_vide))
	{
		if(bao_cf_champ_taille(champ, formu, mess_taille, taille))
		{
			chaine = document.forms[formu].elements[champ].value;
			tel = new Array();
			sep = new Array();
			tel[1] = chaine.substr(0,2);
			sep[1] = chaine.substr(2,1);
			tel[2] = chaine.substr(3,2);
			sep[2] = chaine.substr(5,1);
			tel[3] = chaine.substr(6,2);
			sep[3] = chaine.substr(8,1);
			tel[4] = chaine.substr(9,2);
			sep[4] = chaine.substr(11,1);
			tel[5] = chaine.substr(12,2);
			for(i=1; i<=5; i++)
			{
				if(!(bao_cf_val_num(tel[i])))
				{
					alert(mess_non_num_tel);
					return false;
				}
			}
			for(i=1; i<=4; i++)
			{
				if((sep[i]!=".") && (sep[i]!="/") && (sep[i]!="-") && (sep[i]!=" "))
				{
					alert(mess_non_num_tel);
					return false;
				}
			}
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
	return true;
}

function bao_cf_num_tel_non_obli(champ, formu, mess_non_num_tel, mess_taille, taille)
{
	if(bao_cf_champ_taille(champ, formu, mess_taille, taille))
	{
		chaine = document.forms[formu].elements[champ].value;
		tel = new Array();
		sep = new Array();
		tel[1] = chaine.substr(0,2);
		sep[1] = chaine.substr(2,1);
		tel[2] = chaine.substr(3,2);
		sep[2] = chaine.substr(5,1);
		tel[3] = chaine.substr(6,2);
		sep[3] = chaine.substr(8,1);
		tel[4] = chaine.substr(9,2);
		sep[4] = chaine.substr(11,1);
		tel[5] = chaine.substr(12,2);
		for(i=1; i<=5; i++)
		{
			if(!(bao_cf_val_num(tel[i])))
			{
				alert(mess_non_num_tel);
				return false;
			}
		}
		for(i=1; i<=4; i++)
		{
			if((sep[i]!=".") && (sep[i]!="/") && (sep[i]!="-") && (sep[i]!=" "))
			{
				alert(mess_non_num_tel);
				return false;
			}
		}
	}
	else
	{
		return false;
	}
	return true;
}
/********************************* Controle Numérique paramétrable **********************************/

function bao_cf_num(champ, formu, mess_vide, mess_non_num)
{
		if(bao_cf_champ_vide(champ, formu, mess_vide))
		{
			if(isNaN(document.forms[formu].elements[champ].value))
			{
				alert(mess_non_num);
				document.forms[formu].elements[champ].value="";
				document.forms[formu].elements[champ].focus();
				return false;
			}
		}
		else
		{
			return false;
		}
		return true;
}

/********************************* Controle de l'adresse email paramétrable **********************************/

function bao_cf_mail(champ, formu, message, mess_erreur)
{
	if(bao_cf_champ_vide(champ, formu, message))
	{
		indic = 0;
		chaine = document.forms[formu].elements[champ].value;
		long = chaine.length;
		for(i=1; i<long; i++)
		{
			caract=chaine.substr(i,1);
			//alert(caract);
			if((caract=="@") && (indic==0))
			{
				indic=1;
			}
			if((caract==".") && (indic ==1))
			{
				indic = 2;
			}
		}
		if (indic != 2)
		{
			alert(mess_erreur);
			return false;
		}
	}
	else
	{
		return false;
	}
	return true;
}

/************************************ FIN adresse email ******************************************************/

/************************************   Controle de fichier   ************************************************/

function bao_cf_fic(champ, formu, mess_vide, ctr_ext, mess_inco)
{
	if(bao_cf_champ_vide(champ, formu, mess_vide))
	{
		chaine = document.forms[formu].elements[champ].value;
		nbcar = chaine.length;
		ext = chaine.substr(nbcar-3,3);
		ext = ext.toLowerCase();
		if(!(ext==ctr_ext))
		{
			alert(mess_inco);
			return false;
		}
	}
	else
	{
		return false;
	}
	return true;
}
	
/************************************ FIN Controle de fichier ***************************************************/

/******************************************* Contrôl de date  ***************************************************/

function bao_cf_date(champ, formu, message_vide, taille, mess_taille, mess_erreur)
{
	if(bao_cf_champ_vide(champ, formu, message_vide))
	{
		chaine = document.forms[formu].elements[champ].value;
		jour = chaine.substr(0,2);
		sep1 = chaine.substr(2,1);
		mois = chaine.substr(3,2);
		sep2 = chaine.substr(5,1);
		annee = chaine.substr(6,4);
		if(bao_cf_champ_taille(champ, formu, mess_taille, taille))
		{
			if((isNaN(jour)) || (isNaN(mois)) || (isNaN(annee)) || (sep1!="/") || (sep2!="/"))
			{
				alert(mess_erreur);
				document.forms[formu].elements[champ].focus();
				return false;
			}
		}
		else
		{
			return false;
		}
	}
	return true;
}

/************************************ FIN Controle de fichier ***************************************************/


// Fonction de vérification de date avec les années bissextile par jerome.o
// Accepte en entrée les dates sous la forme : 02/02/2004, 2-2-2004 avec des / ou -
// Retourne false si la date est fausse ou érronée

function bao_cf_verif_date(input)
{
	var regex = new RegExp("[/-]");
	var date = input.split(regex);
	var nbJours = new Array('',31,28,31,30,31,30,31,31,30,31,30,31);
	var result = true;

if ( date['2']%4 == 0 && date['2']%100 > 0 || date['2']%400 == 0 )
	nbJours['2'] = 29;

if( isNaN(date['2']) )
	result=false;

if ( isNaN(date['1']) || date['1'] > 12 || date['1'] < 1 )
	result=false;

if ( isNaN(date['0']) || date['0'] > nbJours[Math.round(date['1'])] || date['0'] < 1 )
	result=false;

return result;
}


/*


if (controle_email(adr_email)) alert("L'adresse e-mail est valide");
else alert("L'adresse e-mail n'est pas valide");
*/



function bao_cf_btn_radio()
{
	num_tel = document.forms["form1"].elements["num_tel"].value;
	nbcar = num_tel.length;
	
	if((!(document.forms["form1"].btnradiotel[0].checked)) && (!(document.forms["form1"].btnradiotel[1].checked)))
	{
		alert("selectionner le format du numéro de tel");
	}
	else
	{
		if(document.forms["form1"].btnradiotel[0].checked)
		{
			if(nbcar>14)
			{
				alert("saisie correct");
			}
			else
			{	
				alert("saisie incorrect");
			}
		}
		else
		{
			if(document.forms["form1"].btnradiotel[1].checked)
			{
				if(nbcar==14)
				{
					alert("saisie correct");
				}
				else
				{
					alert("saisie incorrect");
				}
			}
		}
	}
}
// cotrole numero de telephone 
//if(bao_cf_champ_taille(Champ, formu, mess_taille, taille))
//{
//	chaine = document.forms[formu].elements[Champ].value;
//	tel = new Array();
//	sep = new Array();
//	tel[1] = chaine.substr(0,2);
//	sep[1] = chaine.substr(2,1);
//	tel[2] = chaine.substr(3,2);
//	sep[2] = chaine.substr(5,1);
//	tel[3] = chaine.substr(6,2);
//	sep[3] = chaine.substr(8,1);
//	tel[4] = chaine.substr(9,2);
//	sep[4] = chaine.substr(11,1);
//	tel[5] = chaine.substr(12,2);
//	for(i=1; i<=5; i++)
//	{
//		if(!(bao_cf_val_num(tel[i])))
//		{
//			alert(mess_non_num_tel+"1111111111111111111");
//			return false;
//		}
//	}
//	for(i=1; i<=4; i++)
//	{
//		if((sep[i]!=".") && (sep[i]!="/") && (sep[i]!="-") && (sep[i]!=" "))
//		{
//			alert(mess_non_num_tel);
//			return false;
//		}
//	}
//}
//else
//{
//	return false;
//}

