function verif_url(url) {
	if (!(/^[A-Za-z0-9-_]+.[A-Za-z0-9-_%&\?\/.=]+$/.test(url.value))) {
		alert("Le champ URL n'est pas correcte.");
		return false;
	} else {
		return true;
	}
}

function verif_alphabetique(nom,valeur) {
	if (!(/^([A-Za-zàâäéèêëîïôùûç\']+[ ]*[-]*[A-Za-zàâäéèêëîïôùûç]*)+$/.test(valeur))) {
		alert("Le champ "+nom+" doit être au format alphabétique.");
		return false;
	} else {
		return true;
	}
}

function verif_alphanumerique(nom,valeur) {
	if (!(/^[A-Za-zàâäéèêëîïôùûç\s,'0-9'\-]+$/.test(valeur))) {
		alert("Le champ "+nom+" doit être au format alphanumérique.");
		return false;
	} else {
		return true;
	}
}

function verif_surface(surface) {
	if ( (surface.value == "") || (surface.value == "0") ) {
		alert("La surface est obligatoire.");
		return false;
	}	
	if (isNaN(surface.value)) {
		alert("La surface doit etre un nombre.");
		return false;
	}		
	if ( (surface.value<=0) || (surface.value>=50000) ) {
		alert("La surface est incorrecte.");
		return false;
	}				
	return true;
}
	
function verif_prix(prix, minPrix, maxPrix) {
	if ( (prix.value == "") || (prix.value == "0") ) {
		alert("Le prix est obligatoire.");
		return false;
	}	
	if (isNaN(prix.value)) {
		alert("Le prix doit etre un nombre.");
		return false;
	}		
	if ( (prix.value<=minPrix) || (prix.value>=maxPrix) ) {
		alert("Le prix n'est pas correct.");
		return false;
	}				
	return true;
}

function verif_date(annee,mois,jour) {
	var annee_min=1900; // année mini
	var annee_max=2004; // année maxi
	
	if (annee.value == "") {
		alert("Le champ 'année' est obligatoire.");
		return false;
	}
	if (mois.value == "") {
		alert("Le champ 'mois' est obligatoire.");
		return false;
	}
	if (jour.value == "") {
		alert("Le champ 'jour' est obligatoire.");
		return false;
	}
	if (annee.value != "") {
		if (isNaN(annee.value)) {
			alert("Le champ 'année' doit être un nombre.");
			return false;
		}
		if (annee.value.length==2) {
			if (annee.value<=4) {
				annee.value = 20+annee.value;
			} else {
				annee.value = 19+annee.value;
			}
		}
		if ((annee.value<annee_min || annee.value>annee_max)) {
			alert("Le champ 'année' doit être une année comprise entre "+annee_min+" et "+annee_max+".");
			return false;
		}
		
		// On cherche le 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 ((annee.value%4 == 0 && annee.value%100 !=0) || annee.value%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);
			
		// On vérifie que le jour existe
		if (jour.value > nbJours[mois.value-1]) {
			alert("Le champ 'jour et/ou mois' est incorrect.");
		return false;
		}
	}
	return true;
}

function verif_email(email) {
	if (email.value == "") {
		alert("L'email est obligatoire.");
		return false;
	}
	
	/* 	Le début d'une adresse email est composé de caractères alphabétiques ou numériques et peut contenir des '.','-' et '_'
		ensuite, on doit trouver un '@'
		puis on peut à nouveau trouver des caractères alphanumériques ainsi que '.' et '-'.
		Une adresse email se finit par le caractère '.' suivi de 2 ou 3 caractères alphabétiques	*/
	if (email.value != "" && !(/^[A-Za-z0-9\.\-_]+[@][A-Za-z0-9\-\.]+[\.][A-Za-z][A-Za-z][A-Za-z]?$/.test(email.value))) {
		alert("L'email n'est pas valide.");
		return false;
	}
	return true;
}

function verif_code_postal(code_postal) {
	if (code_postal.value == "") {
		alert("Le champ 'Code postal' est obligatoire.");
		return false;
	}
	
	if (isNaN(code_postal.value)) {
		alert("Le champ 'Code postal' doit être un nombre");
		return false;	
	}
	
	if ( (code_postal.value.length < 4) || (code_postal.value.length > 5) ) {
		alert("Le champ 'Code postal' doit être un nombre de 4 ou 5 chiffres");
		return false;	
	}		

	return true;
}

function verif_login(login) {
	var correct = true;
	if (correct && login.value == "") {
		alert("Le pseudo est obligatoire.");
		correct = false;
	}
	/* Le login peut comporter des caractères alphabétiques, numériques et _ */
	if (correct && !(/^[a-zA-Z0-9._-]+$/.test(login.value.replace(" ","_")))) {
		alert("Le pseudo ne peut être composé qu'avec des lettres, des chiffres ou les caractères ' ', '_', '-' et '.'");
		correct = false;
	}
	return correct;
}

function verif_password(password1,password2) {
	var correct = true;
	if (correct && password1.value == "") {
		alert("Le champ 'Mot de passe' est obligatoire.");
		correct = false;
	}
	if (correct && password2.value == "") {
		alert("Le champ 'Mot de passe' est obligatoire.");
		correct = false;
	}
	if (correct && password1.value != password2.value) {
		alert("Vous avez entré deux mots de passe différents.");
		correct = false;
	}
	/* Le mot de passe est constitué d'au moins 5 caractères */
	if (correct && password1.value.length < 5) {
		alert("Votre mot de passe doit contenir au moins 5 caractères.");
		correct = false;
	}
	/* Le mot de passe est constitué de caractères alphanumériques */
	if (correct && !(/^[a-zA-Z0-9._-]+$/.test(password1.value))) {
		alert("Le mot de passe ne peut être composé qu'avec des lettres ou des chiffres");
		correct = false;
	}
	return correct;
}

function CharCounter(ioField,ioCharCounter)
{	
	var strChar ;
	var Counter = 0;
	for (var i = 0; i < ioField.value.length; i++)
	{
		strChar = ioField.value.substring(i, i + 1);
		if ( (strChar != ' ') && (strChar != '\t') && (strChar != '\n') )
		{
			Counter ++;
		}
	}
	ioCharCounter.value = Counter;
}

function checkboxIsSelected(checkbox)
{
	for (i=0, n=checkbox.length; i<n; i++)	{
		if ((checkbox[i].checked == true))
			return true;
	}
	return false;
}	
