
// sous-menu
function montre(id) {
	var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
		if (document.getElementById("smenu"+i)) {document.getElementById("smenu"+i).style.display="none";}
		}
	if (d) {d.style.display="block";}
}

function longueur(maxi,champ,affiche) {
	var iLongueur, iLongueurRestante;
	iLongueur = document.getElementById(champ).value.length;
	if (iLongueur > maxi) {
		document.getElementById(champ).value = document.getElementById(champ).value.substring(0,maxi);
		iLongueurRestante = 0;
		}
		else {
		iLongueurRestante = maxi - iLongueur;
		}
	if (iLongueurRestante <= 1)
		document.getElementById(affiche).innerHTML = iLongueurRestante + "&nbsp;caract&egrave;re&nbsp;disponible";
		else
		document.getElementById(affiche).innerHTML = iLongueurRestante + "&nbsp;caract&egrave;res&nbsp;disponibles";
}

function dategb(datefr) {
	var firstIndex = datefr.indexOf("/");
	var lastIndex = datefr.lastIndexOf("/");
	var jour = datefr.substring(0,firstIndex);
	var mois = datefr.substring(firstIndex+1,lastIndex);
	var year = datefr.substring(lastIndex+1,datefr.length);
	return(mois + "/" + jour + "/" + year)
	}

function trim(s) {
	return s.replace(/^\s+/g, '').replace(/\s+$/g, '');
	}

function check_empty(text) {
	return (text.length > 0);
	};

function confirmation(laPhrase) {
	var is_ok = confirm('Etes-vous sûr de vouloir ' + laPhrase + ' ?');
	return is_ok;
	};

// cache le div
function masqueBoite() {
	var cadre = document.getElementById("boxDrag");
	cadre.innerHTML = "";
	cadre.style.visibility="hidden";
	}

function isValid(Tabchamps,Tablibelles,autonum) {
	var valid = true;
	if ( Tabchamps.length != Tablibelles.length )
		alert("Problème tableaux de contrôle des champs");
	for( var i = 0; i < Tabchamps.length; i++ ) {
		var champ = document.getElementById(Tabchamps[i]+autonum);
		if ( champ == null ) {
			alert("Erreur JS : champ " + Tabchamps[i]+autonum + " non trouvé");
			valid = false;
			break;
			};
		if ( champ.value == "" || champ.value == 0) {
			alert("Vous devez saisir " + Tablibelles[i] + ".");	
			champ.focus();
			valid = false;
			break;
			};
		}
	return valid;
	};

function isValidContact(Tabchamps,Tablibelles) {
	var is_ok = true;
	if ( Tabchamps.length != Tablibelles.length )
		alert("Problème tableaux de contrôle des champs");
	for( var i = 0; i < Tabchamps.length; i++ ) {
		var champ = document.getElementById(Tabchamps[i]);		
		if ( champ == null ) {
			alert("Erreur JS : champ " + Tabchamps[i] + " non trouvé");
			is_ok = false;
			break;
			};
		if ( champ.value == "" || champ.value == 0) {
			alert("Vous devez saisir " + Tablibelles[i] + ".");	
			champ.focus();
			is_ok = false;
			break;
			}
			else
			{
			if ( Tabchamps[i] == "adressemail" && !testAdresse(champ.value) ) {
				alert("L\'adresse e-mail est incorrecte.");
				champ.focus();
				is_ok = false;
				break;
				};
			if ( Tabchamps[i].indexOf("tel",0) != -1 && !testTelephone(champ.value) ) {
				alert("Le numéro de téléphone est incorrect (format : 02 44 55 66 77 ou +33 2 44 55 66 77)");
				champ.focus();
				is_ok = false;
				break;
				};
			};		
		}
	return is_ok;
	};

// vérification numéro de téléphone
function testTelephone(numero) {
	// autorise 01 à 09 (sauf 07) ou +33 1-9 et séparateurs ./- et espace
	var masque = /^(0|\+33\s?)[1|2|3|4|5|6|8|9]([\s\.\/\-]?\d{2}){4}$/;
	return masque.test(numero);
	};

function affiche(objet) {
	document.getElementById(objet).style.visibility = "visible";
	document.getElementById(objet).style.position = "relative";
	};

function masque(objet) {
	document.getElementById(objet).style.visibility = "hidden";
	document.getElementById(objet).style.position = "absolute";
	};

function testAdresse(adrMail) {
var adrMailLength=adrMail.length; // longueur de la chaîne adrMail
var caractOk="_.-0123456789abcdefghijklmnopqrstuvwxyz"; // caratères corect d'une adresse mail
var posArrobas=adrMail.indexOf('@',1); // position du premier Arrobas
var posPoint=adrMail.lastIndexOf('.',adrMailLength); // position du dernier point
var posCaractFaux=adrMail.indexOf('..',posArrobas+1); // position d'un caractère faux ('..' ou ' ')
var caract=0; // caractère extrait de la chaîne adrMail (utilisée par les boucles while)
var caractFaux=adrMail.charAt(0)+adrMail.charAt(posArrobas-1)+adrMail.charAt(posArrobas+1)+adrMail.charAt(posPoint-1);
var posCaract=0; // position du caractère à extraire de la chaîne adrMail
var posCaractOk=0; // position du caractère extrait de la chaîne adrMail
var posCaractNon=-1;
var retour = false;

if (posCaractFaux!=-1 || adrMail.indexOf(' ',0)!=-1 || adrMail.indexOf('--',0)!=-1 || adrMail.indexOf('__',0)!=-1) {
   posCaractFaux=0;
}

for (posCaract;posCaract<4;posCaract++) {
    caract=caractFaux.charAt(posCaract);
    posCaractNon=caractOk.lastIndexOf(caract,2);
    if (posCaractNon!=-1) {
       posCaractFaux=0;
       break;
    }
}
if (adrMailLength>0 && posArrobas!=-1 && posPoint!=-1 && posArrobas<posPoint && posCaractFaux==-1 && adrMailLength-posPoint-1>=2 && adrMailLength-posPoint-1<=4) {
   adrMail=adrMail.toLowerCase();
   posCaract=0;
   while (posCaract<posArrobas && posCaractOk!=-1) {
         caract=adrMail.charAt(posCaract);
         posCaractOk=caractOk.indexOf(caract,0);
         posCaract++;
   }
   posCaract++; // on passe l'arobase
   while (posCaract<posPoint && posCaractOk!=-1) {
         caract=adrMail.charAt(posCaract);
         posCaractOk=caractOk.indexOf(caract,1);
         posCaract++;
   }
   posCaract++; // on passe le point
   while (posCaract<adrMailLength && posCaractOk!=-1) {
         caract=adrMail.charAt(posCaract);
         posCaractOk=caractOk.indexOf(caract,13);
         posCaract++;
   } // fin de la boucle while
  
   if (posCaractOk!=-1) {
      retour=true;
   }
}
return retour;
}
