// JavaScript Document
var message_error = new Array();
var field_required = new Array();  // 0 = à non et 1 = oui



function getID(id){
	return window.document.getElementById(id);
	
}


function isPostalCode(s){
	return (/^[a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d$/.test(s));
}

function isPhoneNumber(s){
	return (/^\d{3}-\d{3}-\d{4}$/.test(s));
}
function isPhoneNumber1800(s){
	return (/^\d-\d{3}-\d{3}-\d{4}$/.test(s));
}

function isEmail(myEmail) {
	return (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myEmail));
}

function isValidURL(url){ 
    return (/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/.test(url)); 
}


function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}



function valide_formulaire(nom_form){
	var nbr_error = 0;

	form = window.document.getElementById(nom_form);
	//Boucle qui parcourt tous les éléments du formulaire et renvoie le messages d'erreurs.
	for(i=0;i<form.elements.length;i++){
		if(form.elements[i].type != "hidden" && form.elements[i].type != null){
			if (window.document.getElementById('error_'+form.elements[i].id))
				window.document.getElementById('error_'+form.elements[i].id).innerHTML = "";
			
			switch(form.elements[i].type){				
				case "select-multiple":
							if(form.elements[i].getAttribute('select_all') == 1){
								for(var count=0; count < form.elements[i].options.length; count++) {  
									form.elements[i].options[count].selected = true;  
								} 
							}
							break;
				case "textarea":
							if(form.elements[i].value.length > form.elements[i].getAttribute('maximum_length') && form.elements[i].getAttribute('maximum_length') != null && form.elements[i].getAttribute('maximum_length') != ""){
								window.document.getElementById('error_'+form.elements[i].id).innerHTML = window.document.getElementById('error_'+form.elements[i].id).innerHTML + "<font color='#FF0000';>"+form.elements[i].getAttribute('message_error')+"</font><br>";
								nbr_error++;
							}
							if(form.elements[i].value.length < form.elements[i].getAttribute('minimum_length') && form.elements[i].getAttribute('minimum_length') != null && form.elements[i].getAttribute('minimum_length') != ""){
								window.document.getElementById('error_'+form.elements[i].id).innerHTML = window.document.getElementById('error_'+form.elements[i].id).innerHTML + "<font color='#FF0000';>"+form.elements[i].getAttribute('message_error')+"</font><br>";	
								nbr_error++;
							}
							break;				
			}
			
			
			
			if(form.elements[i].getAttribute('field_required') == 1){
				switch(form.elements[i].type){
					case "text":
								window.document.getElementById('error_'+form.elements[i].id).innerHTML = "";
								if(form.elements[i].value == "" || form.elements[i].value == null){									
									window.document.getElementById('error_'+form.elements[i].id).innerHTML = window.document.getElementById('error_'+form.elements[i].id).innerHTML + "<font color='#FF0000';>"+form.elements[i].getAttribute('message_error')+"</font><br>";
									nbr_error++;
								}
								break;
					case "textarea":
								window.document.getElementById('error_'+form.elements[i].id).innerHTML = "";								
								if(form.elements[i].value == "" || form.elements[i].value == null){
									window.document.getElementById('error_'+form.elements[i].id).innerHTML = window.document.getElementById('error_'+form.elements[i].id).innerHTML + "<font color='#FF0000';>"+form.elements[i].getAttribute('message_error')+"</font><br>";
									nbr_error++;
								}
					case "select":
								
								break;
				}
			}
			
			switch(form.elements[i].getAttribute('type_champ')){
				case "url":
							if(!(form.elements[i].value.toLowerCase().indexOf("http://") > -1 || form.elements[i].value.toLowerCase().indexOf("https://") > -1)){
								//alert("test");
								window.document.getElementById('error_'+form.elements[i].id).innerHTML = window.document.getElementById('error_'+form.elements[i].id).innerHTML + "<font color='#FF0000';>adresse web doit d&eacute;buter par http: ou https:!</font><br>";
								nbr_error++;
							}
							break;
				case "email":
							if(!isEmail(form.elements[i].value)){
								window.document.getElementById('error_'+form.elements[i].id).innerHTML = window.document.getElementById('error_'+form.elements[i].id).innerHTML + "<font color='#FF0000';>Le courriel est invalide!</font><br>";
								nbr_error++;	
							}
							break;
				case "tel":
							if(!isPhoneNumber(form.elements[i].value)){
								window.document.getElementById('error_'+form.elements[i].id).innerHTML = window.document.getElementById('error_'+form.elements[i].id).innerHTML + "<font color='#FF0000';>Le t&eacute;l&eacute;phone doit respecter le format suivant : 123-456-7899!</font><br>";
								nbr_error++;	
							}
							break;
				case "codepostal":
							if(!isPostalCode(form.elements[i].value)){
								window.document.getElementById('error_'+form.elements[i].id).innerHTML = window.document.getElementById('error_'+form.elements[i].id).innerHTML + "<font color='#FF0000';>Le Le code postal doit respecter le format suivant : G5G 5G5!</font><br>";
								nbr_error++;	
							}
				
							break;				
			}
		}
	}
	
	if(nbr_error >0){
		window.document.getElementById("form_error").innerHTML = "<font color='#ff0000'>Le formulaire contient des erreurs!</font>";
		window.document.getElementById("form_error").focus();
		return false;	
	}
	//getID(nom_form).flag.value = "update";
	getID(nom_form).submit();

	/*
	if (getID('descriptionLongueFR').value.length > 2000){
		alert('Votre description longue française doit comporter moins de 2000 carractères!');
		getID('descriptionLongueFR').focus();
		getID('descriptionLongueFR').select();
		return false;
	}	

	if (getID('descriptionLongueEN').value.length > 2000){
		alert('Votre description longue anglaise doit comporter moins de 2000 carractères!');
		getID('descriptionLongueEN').focus();
		getID('descriptionLongueEN').select();
		return false;
	}
	
	/*
	if (getID('nomLieu').value.length < 4){
		alert('Votre nom de lieu doit comporter plus de 3 carractères!');
		getID('nomLieu').focus();
		getID('nomLieu').select();
		return false;
	}
	
	if (getID('rue').value.length < 4){
		alert('Votre adresse doit comporter plus de 3 carractères!');
		getID('rue').focus();
		getID('rue').select();
		return false;
	}
	*/
	
	/*if (getID('codePostal').value != ''){
		if (!isPostalCode(getID('codePostal').value)){
			alert('Votre code postal doit être de format «H0H 0H0»!');
			getID('codePostal').focus();
			getID('codePostal').select();
			return false;
		}	
	}
	
	for (i = 1; i < 4; i++) {
		if (getID('tel_numero_'+i).value != ''){
			if (getID('tel_type_'+i).value == 2){
				if (!isPhoneNumber1800(getID('tel_numero_'+i).value)){
					alert('Votre téléphone «'+getID('tel_numero_'+i).value+'» doit être de format «1-800-999-9999»!');
					getID('tel_numero_'+i).focus();
					getID('tel_numero_'+i).select();
					return false;
				}
			}else{
				if (!isPhoneNumber(getID('tel_numero_'+i).value)){
					alert('Votre téléphone «'+getID('tel_numero_'+i).value+'» doit être de format «418-999-9999»!');
					getID('tel_numero_'+i).focus();
					getID('tel_numero_'+i).select();
					return false;
				}
			}
		}
	}
	
	
	if (getID('afficherCarte').checked){
		
		if (getID('longitude').value == '' || getID('latitude').value == ''){
			alert('Votre longitude et latitude doivent contenir une valeur!');
			getID('longitude').focus();
			getID('longitude').select();
			return false;
		}
		
		if (isNaN(getID('longitude').value)){
			alert('Votre longitude doit êtte un nombre réel!');
			getID('longitude').focus();
			getID('longitude').select();
			return false;
		}
		
		if (isNaN(getID('latitude').value)){
			alert('Votre latitude doit êtte un nombre réel!');
			getID('latitude').focus();
			getID('latitude').select();
			return false;
		}
	}

	if (getID('courrielFiche').value != ''){
		if (!isEmail(getID('courrielFiche').value)){
			alert('Votre couriel n\'est pas de bon format ex:nom@domaine.com!');
			getID('courrielFiche').focus();
			getID('courrielFiche').select();
			return false;
		}
	}
*/

	
}

function send_form(nom_form){
	var SubmitString;
	switch(nom_form){
		case "benevole_frm":
						SubmitString	
						break;		
	}
}

/*function Suppr(form){
	if (confirm("Êtes-vous certain de vouloir supprimer cet enregistrement?")){		
		
		document.getElementById(form).flag.value = "suppr"+form;
		document.getElementById(form).submit();
	}
}*/
