// Controle des champs d'un formulaire.
/*
function fieldvalid(fieldObj) {
function validate_form() {
function CaracMax(texte, maxCar)
function CaracMax_check(texte, maxCar)
function isDate(d) { 
function isEmail(sEmail)
*/

var formvalid;


function fieldvalid(fieldObj) { 
	rawPattern = fieldObj.getAttribute("pattern");
	if (rawPattern == null){
		return "";
	}
	pattern = new RegExp(rawPattern);	
	str = fieldObj.value;	
	finalValue = str.match(pattern);
	if(finalValue==null)
		finalValue = fieldObj.getAttribute("errorMsg");
	else
		finalValue = "";
	if((finalValue==null) || (finalValue=='null'))
		finalValue = ""; 
	return finalValue;
}


function validate_form() { 
	formvalid = '';
	for (elt in document.forms[0]) {
		var obj;
		if (document.getElementById(elt)!=null) {
			obj = document.getElementById(elt);
			strR = fieldvalid(obj)	
			if (strR!="") {
				formvalid = formvalid + "\n" + strR;
			}
		}
	}
	if (formvalid != '') {
		window.alert(formvalid);
		return false;
	} else {
		//if (fieldchecked()) 
			return true;	
		//else 
			//return false;
			
	}
}


//*** Paramètres
//*** texte : objet représentant le textarea
//*** max : nombre de caractères maximum
// avec message d'alerte et réduction du texte
function CaracMax(texte, maxCar)
{
	result = true;

	sTexte = texte.value;

	if (sTexte.length > maxCar)
	{
		alert('Le texte ne doit pas comporter plus de ' + maxCar + ' caractère(s)') ;
		//texte = texte.substr(0, maxCar - 1) ;
		result = false;
	}

	return result;
}

//*** Paramètres
//*** texte : objet représentant le textarea
//*** max : nombre de caractères maximum
// contrôle seul du nombre de caractères
function CaracMax_check(texte, maxCar)
{
	result = true;

	sTexte = texte.value;

	if (sTexte.length > maxCar)
	{
		result = false;
	}

	return result;
}


	

function isDate(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})$"); 
    e = new RegExp("^[0-9]{1,2}\/[0-9]{1,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 
  
    // Si l'année n'est composée que de 2 chiffres on complète automatiquement 
    if (a < 1000) { 
        if (a < 89)    a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900 
        else a+=1900; 
    } 
  
    // 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] ); 
} 

// contrôle la validité d'un mail
function isEmail(sEmail)
{
	
	if ((sEmail.indexOf('@',0)==-1) || (sEmail.indexOf('.',0)==-1)) return false;
	else return true;

}

//cocher toutes les cases a cocher de la page
function toggleAll(name) {
//name est le debut du nom des cases a cocher 
//exp: <input type="checkbox" name="cb_act_<?=$oAct->get_id()?>" ...>
// name est egal a 'cb_act_'
//'user-all' est le nom de la case qui permet de cocher ttes les autres 

	var inputs	= document.getElementsByTagName('input');
	var count	= inputs.length;
	for (i = 0; i < count; i++) {
	
		_input = inputs.item(i);
		if (_input.type == 'checkbox' && _input.id.indexOf(name) != -1) {
		
			_input.checked = document.getElementById('user-all').checked;

		
		}
		
	}
 
} 

function validerForm(){
	// si le formulaire est valide
	if (ifFormValid()) {

		if (validate_form(0) && validerPattern() && validerChampsOblig()) { 
			document.add_exp_form.operation.value = "INSERT"; 
			//document.add_exp_form.action = "http://expertise.credit-municipal-toulouse.fr/frontoffice/expertise/maj_expertise.php"; 
			document.add_exp_form.target = "_self";
			document.add_exp_form.submit(); 
		}
	}
}

function checkPwd(id){
	saisie = document.getElementById(id).value;
	//userfile[]
	confirmation = document.getElementById(id+"conf").value;
	if (saisie != confirmation){
		alert("Les valeurs saisies pour le mot de passe et sa confirmation ne correspondent pas.\nVeuillez corriger votre saisie");
	}
}		

function checkemail(str){
	
	var filter=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(str)){
		return true;
	}			
	else{
		return false;
	}
	
}

function checkfileupload(){
	tagForm = document.getElementById("add_exp_form")
	//alert(tagForm["userfile[]"].value);
	if(tagForm["userfile[]"].value== "" || tagForm["userfile[]"].value.value==-1){
		return false;		
	}
	else{
		return true;
	}
}

