//DECLARATION DE VARIABLES *********************************************************
var valtemp1=0;
var valtemp2=0;
var valtemp3=0;
var arraytheme1=new Array("0","0","0")
var arraytheme2=new Array("","","")
var arrayaction1=new Array("0","0","0")
var arrayaction2=new Array("","","")


//-------------
// Divers
//-------------

function DeleteMsg(champ,msg)
{
if (champ.value == msg)
	{
	champ.value = "";
	}
}

function AfficheMsg(champ,msg)
{
if (champ.value == "")
	{
	champ.value = msg;
	}
}



//FONCTIONS RESET ******************************************************************
function ResetText(nomInput,contenu)
{
	eval("document.formF." + nomInput + ".value='" + contenu +"'");
}

function ResetSelect(nomSelect,numero)
{
	eval("document.formF." + nomSelect + ".selectedIndex=" + numero );
}

function ResetCompteur()
{
 valtemp1 = 0;
 valtemp2 = 0;
 valtemp3 = 0;
}


//CONTROLE TYPE CHAMPS *************************************************************
function Chiffres_Validator(champs,strNomChamps)
{
  var checkOK = "0123456789";
  var checkStr = champs.value;

  var allValid = 1;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = 0;
	  champs.value = "";
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
	
    alert("Veuillez ne taper que des chiffres dans le champ "+strNomChamps+".");
    champs.value = "";
    champs.focus();
    champs.select();
    return (1);
  }
return 0;
}


//**********************************************************************************
//FONCTIONS DE CONTROLES ***********************************************************


//AJOUT AUTOMATIQUE DES INDICATIFS =================================================
//ajout automatique de 00 pour le numero téléphone*********************
function indicatif(numero,flag)
{
	if(flag == 0)		//FRANCE
	{
		tab_indicatif2 = Array(9);
		tab_indicatif2[0] = "";
		tab_indicatif2[1] = "";
		tab_indicatif2[2] = "";
		tab_indicatif2[3] = "";
		tab_indicatif2[4] = "00 590";
		tab_indicatif2[5] = "00 594";
		tab_indicatif2[6] = "00 596";
		tab_indicatif2[7] = "00 269";
		tab_indicatif2[8] = "00 687";
		tab_indicatif2[9] = "00 689";
		tab_indicatif2[10] = "00 262";
		tab_indicatif2[11] = "00 508";
		tab_indicatif2[12] = "00 681";

		var indice2 = 0;
		indice2 = eval(numero);
		document.formF.phoneaccueil.value=tab_indicatif2[indice2];
		document.formF.faxaccueil.value=tab_indicatif2[indice2];

	}
	
	if(flag == 1)		//AUTRES
	{
		document.formF.phoneaccueil.value="00";
		document.formF.faxaccueil.value="00";
	}
	
	if(flag == 2)		//ETRANGER
	{
		tab_indicatif = Array(26);
		tab_indicatif[0] = "";
		tab_indicatif[1] = "00 213";
		tab_indicatif[2] = "00 49";
		tab_indicatif[3] = "00 376";
		tab_indicatif[4] = "00 374";
		tab_indicatif[5] = "00 32";
		tab_indicatif[6] = "00 226";
		tab_indicatif[7] = "00 237";
		tab_indicatif[8] = "00 1";
		tab_indicatif[9] = "00 236";
		tab_indicatif[10] = "00 225";
		tab_indicatif[11] = "00 253";
		tab_indicatif[12] = "00 241";
		tab_indicatif[13] = "00 30";
		tab_indicatif[14] = "00 224";
		tab_indicatif[15] = "00 39";
		tab_indicatif[16] = "00 352";
		tab_indicatif[17] = "00 261";
		tab_indicatif[18] = "00 212";
		tab_indicatif[19] = "00 222";
		tab_indicatif[20] = "00 227";
		tab_indicatif[21] = "00 44";
		tab_indicatif[22] = "00 221";
		tab_indicatif[23] = "00 41";
		tab_indicatif[24] = "00 235";
		tab_indicatif[25] = "00 228";
		tab_indicatif[26] = "00 216";

		var indice = 0;
		indice = eval(numero);
		document.formF.phoneaccueil.value=tab_indicatif[indice];
		document.formF.faxaccueil.value=tab_indicatif[indice];
	}
}




//CONTROLES POUR THEMES DOMINANTS ==================================================
function MaxCheckTheme(nomCheck, nomSelect, nbrMax)
{
	var temp;
	
	temp = "document.formF." + nomCheck + ".checked";
	
	if ( eval(temp + "== true") )
	{
		if (valtemp1 == nbrMax)
		{
			ResetSelect(nomSelect,0);
			
			//utilise dans distinctSelect()--------------------------	
			for (var i=0;i<3;i++)
			{
				if (arraytheme2[i]==nomSelect)
				{
					arraytheme1[i]="0";
					arraytheme2[i]="";
				}
			}
		
			eval(temp + "= false");
			alert("Vous ne pouvez cocher que " + nbrMax + " cases au maximum !");
		}
		else
		{
			valtemp1++;
		}
	}
	else
	{
		ResetSelect(nomSelect,0);
		
		//utilise dans distinctSelect()------------------------------
		for (var i=0;i<3;i++)
		{
			if (arraytheme2[i]==nomSelect)
			{
				arraytheme1[i]="0";
				arraytheme2[i]="";
			}
		}
		
		if (valtemp1 > 0)
		{
			valtemp1--;
		}
	}
}

function distinctSelectTheme(nomSelect,numero)
{
	var temp;
	var temp1=-1;
	
	temp = eval("document.formF." + nomSelect + ".selectedIndex") - 1 ;
	
	for (var i=0;i<3;i++)
	{
		if (arraytheme2[i]==nomSelect)
		{
			arraytheme1[i]="0";
			arraytheme2[i]="";
		}
	}

	if (temp > -1)
	{
		if ( arraytheme1[temp]=="1" )
		{
			eval("document.formF." + nomSelect + ".selectedIndex=" + numero);
			alert("Ce numero a deja ete selectionne !");
		}
		else
		{
			arraytheme1[temp]="1";
			arraytheme2[temp]=nomSelect;
		}
	}
	
}
//FIN CONTROLES POUR THEMES DOMINANTS =============================================


//CONTROLES POUR ACTIONS ENTREPRISES ==============================================
function MaxCheckAction(nomCheck, nomSelect, nbrMax)
{
	var temp;
	
	temp = "document.formF." + nomCheck + ".checked";
	
	if ( eval(temp + "== true") )
	{
		if (valtemp2 == nbrMax)
		{
			ResetSelect(nomSelect,0);
			
			//utilise dans distinctSelect()--------------------------	
			for (var i=0;i<3;i++)
			{
				if (arrayaction2[i]==nomSelect)
				{
					arrayaction1[i]="0";
					arrayaction2[i]="";
				}
			}
		
			eval(temp + "= false");
			alert("Vous ne pouvez cocher que " + nbrMax + " cases au maximum !");
		}
		else
		{
			valtemp2++;
		}
	}
	else
	{
		ResetSelect(nomSelect,0);
		
		//utilise dans distinctSelect()------------------------------
		for (var i=0;i<3;i++)
		{
			if (arrayaction2[i]==nomSelect)
			{
				arrayaction1[i]="0";
				arrayaction2[i]="";
			}
		}
		
		if (valtemp2 > 0)
		{
			valtemp2--;
		}
	}
}

function distinctSelectAction(nomSelect,numero)
{
	var temp;
	var temp1=-1;
	
	temp = eval("document.formF." + nomSelect + ".selectedIndex") - 1 ;
	
	for (var i=0;i<3;i++)
	{
		if (arrayaction2[i]==nomSelect)
		{
			arrayaction1[i]="0";
			arrayaction2[i]="";
		}
	}

	if (temp > -1)
	{
		if ( arrayaction1[temp]=="1" )
		{
			eval("document.formF." + nomSelect + ".selectedIndex=" + numero);
			alert("Ce numero a deja ete selectionne !");
		}
		else
		{
			arrayaction1[temp]="1";
			arrayaction2[temp]=nomSelect;
		}
	}
	
}

//FIN CONTROLES POUR ACTIONS ENTREPRISES =========================================


//CONTROLES POUR METHODES PEDAGOGIQUES ===========================================
function MaxCheckMethode(nomCheck, nomSelect1, nomSelect2, nbrMax)
{
	var temp;
	
	temp = "document.formF." + nomCheck + ".checked";
	
	if ( eval(temp + "== true") )
	{
		if (valtemp3 == nbrMax)
		{
			ResetText(nomSelect1,'');
			ResetText(nomSelect2,'');
		
			eval(temp + "= false");
			alert("Vous ne pouvez cocher que " + nbrMax + " cases au maximum !");
		}
		else
		{
			valtemp3++;
		}
	}
	else
	{
		ResetText(nomSelect1,'');
		ResetText(nomSelect2,'');
		
		if (valtemp3 > 0)
		{
			valtemp3--;
		}
	}
}

//FIN CONTROLES POUR METHODES PEDAGOGIQUES =======================================



//CONTROLES CLASSES D'AGES =======================================================

function resetNonscolaire()		//reset nonscolaire
{
 var commande = "";
 for(var i=1;i<=8;i++)
	{
	commande = "document.formF.nonscolaire"+i+".checked = false";
	eval(commande);
	}
 document.formF.nbrpersonnes.value = '';
}

function resetScolaire()		//reset scolaire
{
 var commande = "";
 for(var i=1;i<=4;i++)
	{
	commande = "document.formF.scolaire"+i+".checked = false";
	eval(commande);
	}
 document.formF.nbrclasse.value = '';
 document.formF.nvclasse.value = '';
 document.formF.nbreleve.value = '';
}


//FIN CONTROLES CLASSES D'AGES ===================================================


//CHECK ALL ======================================================================


//VERIFICATIONS DATE *************************************************************
//------------------------------------------------------------
// Vérification si champ est un entier : true si Ok, non sinon
//------------------------------------------------------------

function Chiffres_Validator_bis(champ,strNomChamp,champ_du_formulaire)
{
var chiffre_ok = "0123456789";
if (champ_du_formulaire == 1)
	{
	var checkStr = champ.value;
	}
else
	{
	var checkStr = champ;
	}
var allValid = 1;
var allNum = "";
for (i = 0;  i < checkStr.length;  i++)
	{
	ch = checkStr.charAt(i);
	for (j = 0;  j < chiffre_ok.length;  j++)
		{
		if (ch == chiffre_ok.charAt(j))
			{
			break;
			}
		}
	if (j == chiffre_ok.length)
		{
		allValid = 0;
		break;
		}
	allNum += ch;
	}
if (!allValid)
	{
	alert('Merci de renseigner le champ "'+strNomChamp+'" par un nombre entier.');
	return false;
	}
return true;
}

//---------------------------------------------------------------
// Test de l'année bissextile : retourne 1 si bissextile, 0 sinon
//---------------------------------------------------------------

function bissextile(intYear)
{
return !(((intYear%1000)%100)%4);
}

//--------------------------------------------------------------
// Vérifie que le champ est non vide : true si vide, false sinon
//--------------------------------------------------------------

function Champ_Vide(champ,strNomChamp)
{
var strChaine = champ.value;
var intLongueur = strChaine.length;
while ((strChaine.substring(intLongueur-1,intLongueur) == ' ') && (intLongueur != 0))
	{
	intLongueur -= 1;
	}
if (intLongueur < 1)
	{
	alert('La saisie du champ "'+strNomChamp+'" est obligatoire.');
	champ.value = "";
	return true;
	}
return false;
}

//--------------------------------------------------------------------------------------------------------------
// Vérification de la saisie du mois : retourne 1 si ok, 0 si saisie non numérique, 0 si intervalle non respecté
//--------------------------------------------------------------------------------------------------------------

function Mois_Ok(Mois,strMois)
{
if (Champ_Vide(Mois,strMois))
	{
	return 0;
	}
else if (!Chiffres_Validator_bis(Mois,strMois,1))
	{
	return 0;
	}
else if ((Mois.value < 1) || (Mois.value > 12))
	{
	alert('Vous devez saisir un "'+strMois+'" entre 1 et 12');
	Mois.focus();
	Mois.select();
	return 0;
	}
else if (Mois.value.length < 2)
	{
	Mois.value="0"+Mois.value;
	}
return 1;
}

//-----------------------------------------------------------------------------------
// Vérification de la saisie de l'année : retourne 1 si ok, 0 si saisie non numérique
//-----------------------------------------------------------------------------------

function Annee_Ok(Annee,strAnnee)
{
var New_Annee = "";
if (Champ_Vide(Annee,strAnnee))
	{
	return 0;
	}
else if (!Chiffres_Validator_bis(Annee,strAnnee,1))
	{
	return 0;
	}
else if (Annee.value.charAt(0) == 0)
	{
	for (var i=1 ; i<Annee.value.length ; i++)
		{
		New_Annee = New_Annee + Annee.value.charAt(i);
		}
	Annee.value = New_Annee;
	alert('Entrez une annee plus recente !');
	Annee.focus();
	Annee.select();
	return 0;
	}
else if (Annee.value.length < 4)
	{
	alert('Vous devez saisir l\'"'+strAnnee+'" sur 4 chiffres.');
	Annee.focus();
	Annee.select();
	return 0;
	}
return 1;
}

//----------------------------------------------------------------------
// Vérification de la date : 1 si ok, 0 ou nombre de jours du mois sinon
//----------------------------------------------------------------------

function Date_Ok(Month,strMois,Year,strAnnee,entete)
{
if (Month.value != '' || Year.value != '')
	{
	if (!Mois_Ok(Month,strMois))
		{
		return 0;
		}
	else if (!Annee_Ok(Year,strAnnee))
		{
		return 0;
		}
	return 1;
	}
else
	{
	document.formF.datemoisdebut.focus();
	alert("Champs date " + entete + " AE obligatoire");
	}
}
//FIN VERIFICATIONS DATE *********************************************************


function checkAll()
{
	var date1, date2, flag1, flag2, flag3, pourcent, mail_ok;
	var tempo = "";
	
	flag1 = 1;
	flag2 = 1;
	flag3 = 1;
	pourcent = 0;
	mail_ok = 0;
	
	//verification format de date -------------------------------------------------
	date1 = Date_Ok(document.formF.datemoisdebut," mois ",document.formF.dateanneedebut," annee ","Debut");
	date2 = Date_Ok(document.formF.datemoisfin," mois ",document.formF.dateanneefin," annee ","Fin");

	//vérification si les ordres de priorités ont été sélectionnés ----------------
	for (var i=1;i<=20;i++)
	{
		tempo = eval("document.formF.theme" + i + ".checked");
		if (tempo)
		{
			tempo = eval("document.formF.Tordre" + i + ".selectedIndex");
			if (tempo == 0)
			{
				flag1 = 0;
			}
		}
	}
	
	for (var i=1;i<=17;i++)
	{
		tempo = eval("document.formF.action" + i + ".checked");
		if (tempo)
		{
			tempo = eval("document.formF.ordre" + i + ".selectedIndex");
			if (tempo == 0)
			{
				flag2 = 0;
			}
		}
	}
	
	for (var i=1;i<=5;i++)
	{
		tempo = eval("document.formF.methode" + i + ".checked");
		if (tempo)
		{
			tempo = eval("document.formF.temps" + i + ".value");
			pourcent += tempo*1;
		}
	}
	if (pourcent != 100)
	{
		flag3 = 0
	}

	if (document.formF.copy_utilisateur.value != "")
		{
		for (var i=0 ; i<document.formF.copy_utilisateur.value.length ; i++)
			{
			if (document.formF.copy_utilisateur.value.charAt(i) == "@")
				{
				mail_ok = 1;
				break;
				}
			}
		}
	else
		{
		mail_ok = 1;
		}
	if (mail_ok == "0")
		{
		alert("Merci de renseigner correctement votre adresse mail")
		document.formF.copy_utilisateur.focus();
		document.formF.copy_utilisateur.select();
		}


	if (flag1 == 0)
	{
		alert("Veuillez determiner l'ordre de priorite des themes dominants selectionnes");
		document.formF.theme1.focus();
	}
	
	else if (flag2 == 0)
	{
		alert("Veuillez determiner l'ordre de priorite des actions entreprises selectionnees");
		document.formF.action1.focus();
	}
	
	else if (flag3 == 0)
	{
		alert("Veuillez vous assurer la somme des pourcentages du \n Temps passe aux Methodes pedagogiques fasse 100%");
		document.formF.methode1.focus();
	}

	//vérification globale ----------------------------------------------------------
	if(date1==1 && date2==1 && flag1==1 && flag2==1 && flag3==1 && mail_ok==1)
	{
		document.formF.submit();
	}
}

//FIN CHECK ALL ==================================================================
