// Demande confirmation pour effacer un message du forum 
function ConfirmSupp(id_msg) {
	if (confirm("Voulez-vous vraiment effacer ce message?")) { // Clic sur OK
		location.href = "index.php?module=gde_backoffice&action=efface_msg&idmsg="+id_msg;
	}
}


// Vérifie qu'il n'y a que des chiffres et des lettres
function isMinMajNum(champ){
  if (champ.value.search(/^[A-Za-z0-9]+$/) != -1){
    return true;
  }
  selectionne(champ);
  return false;
}


// fonction de test de validité de l'heure
function vheure (heure) {

	var exp=new RegExp("[0-2][0-9]:[0-5][0-9]","g");
	if (!exp.test(heure)) return false;
	
	if (heure.substring(0,2) > 23) return false;
	if (heure.substring(0,2) < 0) return false;
	if (heure.substring(3,2) > 59) return false;
	if (heure.substring(3,2) < 0) return false;
	
	return true;
}


//test la validité d'une adresse e-mail
function vmail(mail){

   // l'adresse minimum est xx@yy.zz
   var point=mail.value.lastIndexOf('.');

   // La position du dernier point de l'adresse email
   var arob=mail.value.lastIndexOf('@');

   // La position du dernier @ de l'adresse email
   var longu=mail.value.length;

 // La longueur de l'adresse
 if((longu-point < 3) || (longu-arob) < 6 || arob > point || point == -1 || arob == -1){
   // Si le point se trouve a moins de 2 caractères de la fin
   // ou si l'arobase se trouve a moins de 5 caractères de la fin
   // ou si il n'y a pas de point après @
   // ou si il n'y a pas de point ou pas de @
   alert('Veuillez entrer une adresse email valide');
   selectionne(mail);
   return false;
 }else{
   return true;
 }
}


// vérifie que les champs obligatoire de la nouvelle commune sont bien renseignés
function verifNouvelleCommune(form) {

	if (!validite(form.codepostal,'I',5,5)) {
		form.codeinsee.focus();
		return false;	
	}

	if (!validite(form.codepostal,'I',5,5)) {
		form.codepostal.focus();
		return false;	
	}

	if (form.commune.value == '') {
		alert("Vous devez saisir une commune !");
		form.commune.focus();
		return false;
	}
	
}


// Vérifie que le message envoyé sur le forum n'est pas vide
function verifForum(form) {

	if (form.message.value == '') {
		alert("Vous devez écrire un message.");
		form.message.focus();
		return false;
	}

	if (form.sujet.value == '') {
		alert("Vous devez donner un titre à votre message.");
		form.sujet.focus();
		return false;
	}

}


// Vérifie qu'une réponse est cochée
function verifReponse(form) {

	var selection = 0;
	
	for (var i=0; i<form.reponse.length;i++) {
		if (form.reponse[i].checked) {
			selection = 1;
			alert("Votre vote a bien été enregistré. Merci de votre participation.");
		}
	}

	if (selection == 0) {
		alert("Vous devez sélectionner une réponse !");
		return false;
	}

}


// Vérifie qu'une commune a bien été sélectionnée
function modifCommune(form) {

	if (form.commune.value == '0') {
		alert("Vous devez sélectionner une commune !");
		form.commune.focus();
		return false;
	}

}


// Tests de validité de la date et l'heure de l'observation
function verifObservation(form) {

	if ((!isDate(form.date1.value,'dd/MM/yyyy')) & ((form.heure1.value != ''))) {
  	alert("La date de l'observation est incorrecte");
		form.date1.focus();
		return false;
	}
	if ((form.date1.value != '') & ((form.heure1.value == ''))) {
		alert("L'heure de l'observation est incorrecte");
		form.heure1.focus();
		return false;
	}


	if ((!isDate(form.date2.value,'dd/MM/yyyy')) & ((form.heure2.value != ''))) {
  	alert("La date de l'observation est incorrecte");
		form.date2.focus();
		return false;
	}
	if ((form.date2.value != '') & ((form.heure2.value == ''))) {
		alert("L'heure de l'observation est incorrecte");
		form.heure2.focus();
		return false;
	}

	if ((!isDate(form.date3.value,'dd/MM/yyyy')) & ((form.heure3.value != ''))) {
  	alert("La date de l'observation est incorrecte");
		form.date3.focus();
		return false;
	}
	if ((form.date3.value != '') & ((form.heure3.value == ''))) {
		alert("L'heure de l'observation est incorrecte");
		form.heure3.focus();
		return false;
	}

	if ((!isDate(form.date4.value,'dd/MM/yyyy')) & ((form.heure4.value != ''))) {
  	alert("La date de l'observation est incorrecte");
		form.date4.focus();
		return false;
	}
	if ((form.date4.value != '') & ((form.heure4.value == ''))) {
		alert("L'heure de l'observation est incorrecte");
		form.heure4.focus();
		return false;
	}

	if ((!isDate(form.date5.value,'dd/MM/yyyy')) & ((form.heure5.value != ''))) {
  	alert("La date de l'observation est incorrecte");
		form.date5.focus();
		return false;
	}
	if ((form.date5.value != '') & ((form.heure5.value == ''))) {
		alert("L'heure de l'observation est incorrecte");
		form.heure5.focus();
		return false;
	}

	if ((!isDate(form.date6.value,'dd/MM/yyyy')) & ((form.heure6.value != ''))) {
  	alert("La date de l'observation est incorrecte");
		form.date6.focus();
		return false;
	}
	if ((form.date6.value != '') & ((form.heure6.value == ''))) {
		alert("L'heure de l'observation est incorrecte");
		form.heure6.focus();
		return false;
	}

	if ((!isDate(form.date7.value,'dd/MM/yyyy')) & ((form.heure7.value != ''))) {
  	alert("La date de l'observation est incorrecte");
		form.date7.focus();
		return false;
	}
	if ((form.date7.value != '') & ((form.heure7.value == ''))) {
		alert("L'heure de l'observation est incorrecte");
		form.heure7.focus();
		return false;
	}

	if ((!isDate(form.date8.value,'dd/MM/yyyy')) & ((form.heure8.value != ''))) {
  	alert("La date de l'observation est incorrecte");
		form.date8.focus();
		return false;
	}
	if ((form.date8.value != '') & ((form.heure8.value == ''))) {
		alert("L'heure de l'observation est incorrecte");
		form.heure8.focus();
		return false;
	}

	if ((!isDate(form.date9.value,'dd/MM/yyyy')) & ((form.heure9.value != ''))) {
  	alert("La date de l'observation est incorrecte");
		form.date9.focus();
		return false;
	}
	if ((form.date9.value != '') & ((form.heure9.value == ''))) {
		alert("L'heure de l'observation est incorrecte");
		form.heure9.focus();
		return false;
	}

	if ((!isDate(form.date10.value,'dd/MM/yyyy')) & ((form.heure10.value != ''))) {
  	alert("La date de l'observation est incorrecte");
		form.date10.focus();
		return false;
	}
	if ((form.date10.value != '') & ((form.heure10.value == ''))) {
		alert("L'heure de l'observation est incorrecte");
		form.heure10.focus();
		return false;
	}

	if ((!isDate(form.date11.value,'dd/MM/yyyy')) & ((form.heure11.value != ''))) {
  	alert("La date de l'observation est incorrecte");
		form.date11.focus();
		return false;
	}
	if ((form.date11.value != '') & ((form.heure11.value == ''))) {
		alert("L'heure de l'observation est incorrecte");
		form.heure11.focus();
		return false;
	}

	if ((!isDate(form.date12.value,'dd/MM/yyyy')) & ((form.heure12.value != ''))) {
  	alert("La date de l'observation est incorrecte");
		form.date12.focus();
		return false;
	}
	if ((form.date12.value != '') & ((form.heure12.value == ''))) {
		alert("L'heure de l'observation est incorrecte");
		form.heure12.focus();
		return false;
	}

	if ((!isDate(form.date13.value,'dd/MM/yyyy')) & ((form.heure13.value != ''))) {
  	alert("La date de l'observation est incorrecte");
		form.date13.focus();
		return false;
	}
	if ((form.date13.value != '') & ((form.heure13.value == ''))) {
		alert("L'heure de l'observation est incorrecte");
		form.heure13.focus();
		return false;
	}

	if ((!isDate(form.date14.value,'dd/MM/yyyy')) & ((form.heure14.value != ''))) {
  	alert("La date de l'observation est incorrecte");
		form.date14.focus();
		return false;
	}
	if ((form.date14.value != '') & ((form.heure14.value == ''))) {
		alert("L'heure de l'observation est incorrecte");
		form.heure14.focus();
		return false;
	}

	return true;

}


// Tests de validité de la date de purge du forum
function verifPurge(form) {

	if (!isDate(form.date_debut.value,'dd/MM/yyyy')){
  	alert("La date de purge doit être au format jj/mm/aaaa");
		form.date_debut.focus();
		return false;
	}

	if (!vheure(form.heure_debut.value)){
  	alert("L'heure de purge doit être au format hh:mm");
		form.heure_debut.focus();
		return false;
	}

	if (!isDate(form.date_fin.value,'dd/MM/yyyy')){
  	alert("La date de purge doit être au format jj/mm/aaaa");
		form.date_fin.focus();
		return false;
	}

	if (!vheure(form.heure_fin.value)){
  	alert("L'heure de purge doit être au format hh:mm");
		form.heure_fin.focus();
		return false;
	}

}


// Tests de validité du formulaire d'extraction des enquetes
function verifExtractEnquetes(form) {

	if (!isDate(form.datedebut.value,'dd/MM/yyyy')){
  	alert("La date de début doit être au format jj/mm/aaaa.");
		form.datedebut.focus();
		return false;
	}

	if (!isDate(form.datefin.value,'dd/MM/yyyy')){
  	alert("La date de fin doit être au format jj/mm/aaaa.");
		form.datefin.focus();
		return false;
	}

	if (compareDates(form.datedebut.value,'dd/MM/yyyy',form.datefin.value,'dd/MM/yyyy') == 1){
  	alert("La date de fin doit être postérieure à la date de début.");
		form.datefin.focus();
		return false;
	}
	return true;
}


// Tests de validité du formulaire de purge des enquetes
function verifPurgeEnquetes(form) {
	if (!isDate(form.datepurge.value,'dd/MM/yyyy')){
  	alert("La date de purge doit être au format jj/mm/aaaa");
		form.datepurge.focus();
		return false;
	}

	return true;
}


// Tests de validité du formulaire d'inscription
function verifE8(form) {

	var exp=new RegExp("^[a-zA-Z0-9]{6,20}$","g");

	if (form.nom.value == '') {
		alert("Vous devez saisir votre nom");
		return false;
	}

	if (form.prenom.value == '') {
		alert("Vous devez saisir votre prénom");
		return false;
	}

	if (!vmail(form.email)) {
		return false;
	}

	if (form.adresse.value == '') {
		alert("Vous devez saisir votre adresse");
		return false;
	}

	if (form.commune.value == '0') {
		alert("Vous devez sélectionner une commune");
		return false;
	}

	if ((form.login.value).length < 6 || (form.login.value).length > 20 ) {
		alert("Votre identifiant est incorrect. Sa longueur doit être comprise entre 6 et 20 caractères, sans espaces ni ponctuation");
		return false;
	}

	if (!isMinMajNum(form.login)) {
		alert("N'utilisez que des lettres et des chiffres dans votre identifiant.");
		return false;
	}

	if ((form.password.value).length < 6 || (form.password.value).length > 20 ) {
		alert("Votre mot de passe est incorrect. Sa longueur doit être comprise entre 6 et 20 caractères, sans espaces ni ponctuation");
		return false;
	}


	if (!isMinMajNum(form.password)){
		alert("N'utilisez que des lettres et des chiffres dans votre mot de passe.");
		return false;
	}

}


// Tests de validité de la création d'une région (BO)
function verifRegion(form) {

	if (form.nom.value == '') {
		alert("Vous devez saisir un nom");
		return false;
	}
	if (form.region.value == '0') {
		alert("Vous devez sélectionner une région");
		return false;
	}
	if (form.email.value == '') {
		alert("Vous devez saisir l'email du webmaster");
		return false;
	}
}

// Tests de validité de la modification d'un utilisateur
function verifTesteur(form) {

	if (form.nom_testeur.value == '') {
		alert("Vous devez saisir un nom");
		return false;
	}
	if (form.prenom_testeur.value == '0') {
		alert("Vous devez sélectionner un prénom");
		return false;
	}
	if (form.commune.value == '') {
		alert("Vous devez saisir une commune");
		return false;
	}
	if (form.adresse.value == '') {
		alert("Vous devez saisir une adresse");
		return false;
	}
	if (!vmail(form.email))
		return false;
		
	if (form.login.value == '') {
		alert("Vous devez saisir un login");
		return false;
	}
	if (form.password.value == '') {
		alert("Vous devez saisir un mot de passe");
		return false;
	}
}


// Tests de validité du formulaire d'inscription (BO)
function verifEbo2a(form) {

	if (form.nom.value == '') {
		alert("Vous devez saisir votre nom");
		return false;
	}

	if (form.prenom.value == '') {
		alert("Vous devez saisir votre prénom");
		return false;
	}

	if (!vmail(form.email)) {
		return false;
	}

	if (form.adresse.value == '') {
		alert("Vous devez saisir votre adresse");
		return false;
	}

	if (form.region.value == '0') {
		alert("Vous devez sélectionner une région");
		return false;
	}

	if (form.profil.value == '0') {
		alert("Vous devez sélectionner un profil");
		return false;
	}

	if (!validite(form.login,'C',5,20)) {
		return false;
	}

	if (!validite(form.password,'C',5,20)) {
		return false;
	}


	if (!isMinMajNum(form.login)) {
		alert("N'utilisez que des lettres et des chiffres dans votre indentifiant.");
		return false;
	}

	if (!isMinMajNum(form.password)){
		alert("N'utilisez que des lettres et des chiffres dans votre mot de passe.");
		return false;
	}

}


// Tests de validité du formulaire de connexion
function verifE1(form) {
	if (!validite(form.login,'C',5,20)) {
		return false;
	}
	
	if (!validite(form.password,'C',5,20)) {
		return false;
	}
}

function surbrillance(indexrub)
{

 if(document.getElementById('li'+indexrub)){
 	
	 		document.getElementById('li'+indexrub).className="menuv2_1_actif";
 	}
 	if(document.getElementById('mi'+indexrub)){
 	
	 		document.getElementById('mi'+indexrub).className="link_menuv2_1_actif";
 	}
}


// Ajuste la taille des div pour qu'elles soient toutes égales et suffisament longues
function adjustHeight() {
	
	var contenu = document.getElementById('contenu');
	var menu = document.getElementById('menu');
	contenu.style.paddingBottom = "10px";
	var taillediff  = contenu.offsetHeight - 400;

	if (menu) {
		var h = eval('menu.offsetHeight + 10');

		if (h < 400) {
			h = 400;
		}

		if (contenu.offsetHeight <= (menu.offsetHeight+10) || contenu.offsetHeight < h) {
			contenu.style.height = eval('h + "px"');
		}

	}	else {
		contenu.style.height = "400px";
	}
	if(this.parent.document.getElementById("toto")) {
		var tailleobs = this.parent.document.getElementById("observatoire").offsetHeight;
		if (taillediff > 0) {
			this.parent.document.getElementById("observatoire").style.height=taillediff+tailleobs+'px';
		} else {
			this.parent.document.getElementById("observatoire").style.height='468px';
		}
		this.parent.document.getElementById("toto").style.height=document.getElementById("contenu").offsetHeight+'px';
	}
}

// Debut résolution Anomalie n°502
function refreshEBO8A()
{
	var form = document.getElementById("modifForm");

	form.action = "index.php?module=gde_backoffice&action=refreshEBO8A";

	form.submit();
}
// Fin résolution Anomalie n°502