// Teste la presence du point et du @
function isMail(champ,lib) {

	var posArob=0;
	var posPoint=0;
	var i, Car;
	
	var Email = champ.value;
	if(Email != '')
	{
		posArob=Email.indexOf("@");
		if(posArob!=-1) 
			posPoint=(Email.substring(posArob, Email.length-1)).indexOf(".");
		else 
		{
			alert("L'adresse e-mail saisie ne contient pas de caractere '@' (ex : email@domaine.fr). Champ : "+lib);
			champ.focus();
			return(false);
		}
		
		Email=Email.toUpperCase();
		if(posArob!=-1 && posPoint!=-1) {
			for(i=0;i<Email.length;i++) {
				Car=Email.charAt(i);
				if((Car<'-' || Car>'9') && (Car<'@' || Car>'Z') && (Car != '_')) {
					alert("L'adresse e-mail saisie ne doit contenir que des caracteres alphanumeriques. Champ : "+lib);
					champ.focus();
					return(false);
				}
			}
		}
		else {
			alert("L'adresse e-mail saisie n'est pas valide (ex : email@domaine.fr). Champ : "+lib);
			champ.focus();
			return(false);
		}
	}		
	return(true);
}

function verif_soustheme()
{
 var nb_cb=0;
 var nb_checked=0;
 var i;
 var elt;
 
  nb_cb=document.Modif.elements["economique/soustheme-secteurs"].length;
 
   for(i=1;i<nb_cb;i++)
    {
     elt=document.Modif.elements["economique/soustheme-secteurs"][i];
      if (elt.checked==true)
      {
       nb_checked=1
       break;
      }
     }
 
   if (nb_checked==0)
    document.Modif.SousThemeVide.value="true";
   else
    document.Modif.SousThemeVide.value="false";
 
}

// Teste si le secteur de l'activite principale a bien ete saisi
function testActi(lib)
{
	
//	if (!document.Modif.economique_activite_princ_CA.value || document.Modif.elements["economique/activite_princ/secteurs"].selectedIndex==0)
//	{
//		alert("le secteur et le chiffre d'affaires de l'"+lib+" sont obligatoires");
//		return false;
//	}
	if (document.Modif.elements["economique/activite_princ/secteurs"].selectedIndex==0)
	{
		alert("le secteur de l'"+lib+" est obligatoire");
		return false;
	}
	
	if (document.Modif.economique_activite_sec_1_CA.value && document.Modif.elements["economique/activite_sec_1/secteurs"].selectedIndex==0)
	{
		alert("le secteur et le chiffre d'affaires de l'activite secondaire 1 doivent etre saisis tous les deux");
		return false;
	}
	
	if (document.Modif.economique_activite_sec_2_CA.value && document.Modif.elements["economique/activite_sec_2/secteurs"].selectedIndex==0)
	{
		alert("le secteur et le chiffre d'affaires de l'activite secondaire 2 doivent etre saisis tous les deux");
		return false;
	}
	
	if (document.Modif.economique_activite_sec_3_CA.value && document.Modif.elements["economique/activite_sec_3/secteurs"].selectedIndex==0)
	{
		alert("le secteur et le chiffre d'affaires de l'activite secondaire 3 doivent etre saisis tous les deux");
		return false;
	}
	
	if (document.Modif.economique_activite_sec_4_CA.value && document.Modif.elements["economique/activite_sec_4/secteurs"].selectedIndex==0)
	{
		alert("le secteur et le chiffre d'affaires de l'activite secondaire 4 doivent etre saisis tous les deux");
		return false;
	}
		
	return true;
}


function isNotEmpty(champ,lib)
{
	var s = champ.value;
	if (! s)
	{
		alert( "Le champ "+lib+" ne doit pas etre vide");
		champ.focus();
		return false;
	}
	else
	{
		return true;
	}
}

function carIsFloat(c)
{
	return ((c >= "0") && (c <= "9") || c == "." || c == "," || c == " ")
}
function carIsNumber(c)
{
	return ((c >= "0") && (c <= "9") || c == " ")
}
function carIsInt(c)
{
	return ((c >= "0") && (c <= "9"))
}

function isNumber (champ,lib)
{
	var s = champ.value;
	if (s != "")
	{
		for (var i = 0; i < s.length; i++)
		{
			if (!carIsNumber(s.charAt(i)))
			{
				alert("Ce champ ne doit contenir que des chiffres (espace tolere) : "+lib);
				champ.focus();
				return false;
			}
		}
		return true;
	}
	else
	{return true;}
}

function isEntier (champ,lib)
{
	var s = champ.value;
	if (s != "")
	{
		for (var i = 0; i < s.length; i++)
		{
			if (!carIsInt(s.charAt(i)))
			{
				alert("Ce champ ne doit contenir que des chiffres : "+lib);
				champ.focus();
				return false;
			}
		}
	}

	return true;
}

function isInt (champ,lib)
{
	var s = champ.value;
	if (s != "")
	{
		for (var i = 0; i < s.length; i++)
		{
			if (!carIsNumber(s.charAt(i)))
			{
				alert("Ce champ ne doit contenir que des chiffres (espace tolere): "+lib);
				champ.focus();
				return false;
			}
		}
	}
	return ChangeNumDec(champ,lib);
}

function isInteger(s)
{
	if (s != "")
	{
		for (var i = 0; i < s.length; i++)
		{
			if (!carIsInt(s.charAt(i)))
			{
				return false;
			}
		}
		return true;
	}
	else
	{return true;}
}


function isFloat(champ,lib)
{
	var s = champ.value;
	
	if (s != "")
	{
		for (var i = 0; i < s.length; i++)
		{
			if (!carIsFloat(s.charAt(i)))
			{
				alert("Ce champ doit etre un decimal : "+lib);
				champ.focus();
				return false;
			}
		}
	}

	return ChangeNumDec(champ,lib);
}

// Change les virgules en points, et supprimes les espaces blancs
function ChangeNumDec(champ, lib) {
	var i, Car, Chaine_r;
	var virg = 0;
	Chaine_r = '';
	
	Chaine = champ.value;
	
	if (Chaine != "")
	{
		for(i=0;i<Chaine.length;i++) {
			Car=Chaine.charAt(i);
			if(Car=='.')
			{virg += 1;}

			if(Car==',')
			{
				virg += 1;
				Car = '.';
			}
				
			if(Car!=' ')
			{Chaine_r += Car;}
		}
	}
//	else
//	{Chaine_r = '0';}
	
	if(virg > 1)
	{
		alert("Ce champ ne doit contenir qu'un seul point (ou virgule) : "+lib);
		champ.focus();
		return false;
	}
	else
	{
		champ.value = Chaine_r;
		return true;
	}
}



//TODO: pas faite
function isURL(valeur,lib)
{
	return true;
}

// Le champ 1 doit etre inferieur a champ 2 (ex : saisie des dates d'evenements)
function compare(nomChp1,nomChp2,libChp1,libChp2)
{
	var d1,j1,m1,a1;
	var d2,j2,m2,a2;
	var val_date1;
	var val_date2;
	var date_test1;
	var date_test2;

	try
	{
		val_date1 = eval("document.Modif."+nomChp1).value;
		val_date2 = eval("document.Modif."+nomChp2).value;
	
		if (val_date1.length != 0 && val_date2.length != 0)
		{
			d1 = val_date1.split("/");
			j1 = d1[0];
			m1 = d1[1];
			a1 = d1[2];
	
			date_test1 = d1[2]+""+d1[1]+""+d1[0];
	
			d2 = val_date2.split("/");
			j2 = d2[0];
			m2 = d2[1];
			a2 = d2[2];
	
			date_test2 = d2[2]+""+d2[1]+""+d2[0];
			
			if(parseInt(date_test2) < parseInt(date_test1))
			{
				alert(libChp2+" doit etre superieur ou egal a "+libChp1+" !");
				return false;
			}
				
		}
		else
		{
			alert("Les champs "+libChp1+" et "+libChp2+" doivent etre saisis !");
			return false;
		}
	}
	catch(e)
	{
		alert(e);
		return false;
	}

	return true;
}

function isDate(champ_date,libelle)
{
	var d,j,m,a;
	var num_jour_max;
	var date_test;
	var date_courante;

	date_test = champ_date.value;

	if (date_test.length != 0)
	{

		d = date_test.split("/");
		j = d[0];
		m = d[1];
		a = d[2];

		if (d.length != 3 || d[0].length != 2 || d[1].length != 2 || d[2].length != 4 )
		{
			alert("Le format du champ date est JJ/MM/AAAA. le champ '"+libelle+"' ne respecte pas cette norme ");
			champ_date.focus();
			return false;
		}

		if ((!isInteger(j))||(!isInteger(m))||(!isInteger(a)))
		{
			alert("La date doit etre uniquement composee de chiffre pour le champ '"+libelle+"'");
			champ_date.focus();
			return false;
		}

		if (j==null || j.length!=2)
		{
			alert("Le jour doit comporter 2 chiffres pour le champ '"+libelle+"'");
			champ_date.focus();
			return false;
		}

		if (m==null || m.length!=2)
		{
			alert("Le mois doit comporter 2 chiffres pour le champ '"+libelle+"'");
			champ_date.focus();
			return false;
		}
		if (a==null || a.length!=4)
		{
			alert("L'annee doit comporter 4 chiffres pour le champ '"+libelle+"'");
			champ_date.focus();
			return false;
		}

		date_test=new Date(parseInt(a),parseInt(m)-1,31);
		if (date_test.getDate()!=31)
			num_jour_max=31-date_test.getDate();
		else
			num_jour_max=31;

		if (j.charAt(0)=="0")
			j = j.charAt(1);
		else if (j.charAt(0)!="1" && j.charAt(0)!="2" && j.charAt(0)!="3")
			{
				alert("Le jour doit etre compris entre 01 et "+num_jour_max+" pour le champ '"+libelle+"'");
				champ_date.focus();
				return false;
			}

		if (parseInt(j)<1||parseInt(j)>num_jour_max)
		{
			alert("Le jour doit etre compris entre 01 et "+num_jour_max+" pour le champ '"+libelle+"'");
			champ_date.focus();
			return false;
		}

		if (m.charAt(0)=="0")
			m = m.charAt(1);
		else if (m.charAt(0)!="1")
			{
				alert("Le mois doit etre compris entre 01 et 12 pour le champ '"+libelle+"'");
				champ_date.focus();
				return false;
			}

		if (parseInt(m)<1||parseInt(m)>12)
			{
				alert("Le mois doit etre compris entre 01 et 12 pour le champ '"+libelle+"'");
				champ_date.focus();
				return false;
			}

		try
		{
			
			eval("document.Modif."+champ_date.name+"Clean").value = d[2]+""+d[1]+""+d[0];
		}
		catch(e)
		{}

	}
	else
	{
		try
		{
			
			eval("document.Modif."+champ_date.name+"Clean").value = "";
		}
		catch(e)
		{}	
	}
	return true;
}


function copie(champ1,champ2)
{
	if(champ2.value=="")
		champ2.value = champ1.value;
	return true;
}

function test_user(nomChp,liste_ID)
{
var ID;
var listeID;
var splitID;
var retour = false;
ID = eval("document.Modif."+nomChp).value;
splitID = ID.split(" ");
if(splitID.length > 1)
{
  alert("Veuillez saisir un login sans espace");
  return false;
}
else
{
 if(ID != '')
 {
  listeID = liste_ID.split(" ");
  for(i = 0; i < listeID.length; i++)
  {
  	if(listeID[i] == ID) retour = true;
  }
  if(retour)
  {
    alert("Veuillez saisir un login unique : "+ID+" existe !");
    return false;
  }
  }
else
  {
    alert("Veuillez saisir un login");
    return false;
  }
  
}

// on verifie que les combinaisons sont correctes
if(document.Modif.user_acces.value == '1/00' && (document.Modif.type_utilisateur.value=='24/2' || document.Modif.type_utilisateur.value=='24/3'))
{
	alert("Vous ne pouvez pas affecter 'CNEI' avec ce groupe d'utilisateurs");
	return false;
}
if(document.Modif.user_acces.value != '1/00' && (document.Modif.type_utilisateur.value=='24/5' || document.Modif.type_utilisateur.value=='24/4'))
{
	alert("Vous devez affecter 'CNEI' pour ce groupe d'utilisateurs");
	return false;
}


return true;

}

// appelée lors du clic sur le bouton de recherche direct
function lanceRech() { 
	if(document.rech.motcle.value != '')
		document.rech.submit();
	else
		alert("Vous devez saisir un mot à rechercher");
 } 
 
// appelee dans la recherche avancee 
function lanceRechAv()
{ 
	var compteur = 0;
	if(document.rechav.motcle.value != '')
		compteur++;
	if(document.rechav.allwords.value != '')
		compteur++;
	if(document.rechav.oneofthese.value != '')
		compteur++;
	if(document.rechav.noneofthese.value != '')
		compteur++;

	if(compteur == 1 && test_select(document.rechav,"rubriques"))
		document.rechav.submit();
	else if(compteur == 0)
		alert("Vous devez saisir une expression pour lancer la recherche ! ");
	else if(compteur > 1)
		alert("Vous ne devez saisir qu'une seule expression pour la recherche ! ");
	else
		alert("Vous devez saisir au moins une rubrique ! ");
		
	
 } 


//========================================================================
// AUTEUR      : Thierry PLAI - JOUVE S.I.
// CREE LE     : 06/10/2004
// MODIFIE LE  : 06/10/2004
// ACTION      : Fonctions Javascript de gestion des selections.
//========================================================================
function select_tout(aForm, aCheckBoxName, aBoolean)
{
  for (i=0;n=aForm.elements.length,i<n;i++) 
  {
    if (aForm.elements[i].type == "checkbox") 
    {
      if (aForm.elements[i].name == aCheckBoxName)
      {
	if (aForm.elements[i].value != 0)
	{
	  aForm.elements[i].checked = aBoolean;
	}
      }
    }
  }
}
//========================================================================
// AUTEUR      : Florent BASLE - JOUVE S.I.
// CREE LE     : 14/10/2004
// MODIFIE LE  : 14/10/2004
// ACTION      : Fonctions Javascript de gestion des selections.
//========================================================================
function deselect_tout(aForm, aCheckBoxName, aBoolean)
{
  for (i=0;n=aForm.elements.length,i<n;i++) 
  {
    if (aForm.elements[i].type == "checkbox") 
    {
      if (aForm.elements[i].name == aCheckBoxName) 
      {
	      if (aForm.elements[i].value == 0) 
	      {
		aForm.elements[i].checked = aBoolean;
	      }
      }
    }
  }
}
//========================================================================
// AUTEUR      : Florent BASLE - JOUVE S.I.
// CREE LE     : 14/10/2004
// MODIFIE LE  : 14/10/2004
// ACTION      : Fonctions Javascript de gestion des selections.
//========================================================================
function test_select(aForm, aCheckBoxName)
{
  var isOneChecked = 0;
  var chaine = "";
  for (i=0;n=aForm.elements.length,i<n;i++) 
  {
    if (aForm.elements[i].type == "checkbox") 
    {
      if (aForm.elements[i].name == aCheckBoxName) 
      {
	      if (aForm.elements[i].checked == true) 
	      {
		isOneChecked++;
		chaine += aForm.elements[i].value+" ";
	      }
      }
    }
  }
  if(isOneChecked == 0)
  	return false;
  else
  {
  	aForm.chaineRubriques.value = chaine;
  	return true;
  }
}
// Fonction gerant l'appel de la popup d'impression nettoyee
function imprimer(url)
{
	var x;
	var chaine = url+"";
	
	x=chaine.indexOf('#');
	if(x > 0)
		chaine = chaine.substr(0,x);
	
	x=chaine.indexOf('?');
	if(x > 0)
		chaine = chaine+"&amp;imprim=yes";
	else
		chaine = chaine+"?imprim=yes";
	
	window.open(chaine,'impri','scrollbars=yes,menubar=yes,width=650,height=600')	
	return true;
}

// Gere l'ouverture de la popup pour l'animation à l'ouverture du site
function ouvreAnime()
{
	if(GetCookie("cneianime") == "ok")
	{}
	else{
		window.open('/anim02.html','blank','width=600,height=480');
		SetCookie("cneianime","ok");
	}
}

// Fonctions utilisee pour stocker le fait que l'animation a deja ete affiche
function getCookieVal (offset) { 
var endstr = document.cookie.indexOf (";", offset); 
if (endstr == -1) 
endstr = document.cookie.length; 
return unescape(document.cookie.substring(offset, endstr)); } 
  

function GetCookie (name) { 
var arg = name + "="; 
var alen = arg.length; 
var clen = document.cookie.length; 
var i = 0; 
while (i < clen) { 
var j = i + alen; 
if (document.cookie.substring(i, j) == arg) 
return getCookieVal (j); 
i = document.cookie.indexOf(" ", i) + 1; 
if (i == 0) break; } 
return null; } 
  

function SetCookie (name, value) { 
document.cookie = name + "=" + escape (value);
 } 

