window.onload = gestionMenu;

function gestionMenu(id)
{
	var d = document.getElementById(id);
	for (var i = 1; i<=10; i++)
	{
		if (document.getElementById('menu_sub'+i))
			document.getElementById('menu_sub'+i).style.display='none';
	}
	if (d)
	{
		d.style.display='block';
	}
}


// ------------------------ GENERATION DU CONTENU DES LISTBOX DES PAGES INSCRIPTION ET MON COMPTE ------------------------ ::


function getXHR()
{
	// Déclaration de l'objet à renvoyer
	var xhr = null;

	// Création différente en fonction du navigateur du client :
	if (window.XMLHttpRequest) // Firefox et autres contenus avancés
		xhr = new XMLHttpRequest();
	else
	{
		if (window.ActiveXObject)
		{ // Internet Explorer
	  		try
			{
	    		xhr = new ActiveXObject("Msxml2.XMLHTTP");
	  		}
			catch(e)
			{
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
	  		}
		}
		else
		{
	  		alert("Votre navigateur ne supporte pas les objets XMLHttpRequest :-(");
		}
	}

	// on renvoie l'objet créé
	return xhr;
}

function no_cache() {

	date_object = new Date();
	var param = date_object.getTime();

	return param;
}


function reload_listbox (colonne)
{

	var param = no_cache();

	var xhr = getXHR();

	var selectedItem = "0";
	var select1 = "0";
	var select2 = "0";
	var select3 = "0";
	var select4 = "0";
	var select5 = "0";

	// Récupère l'item sélectionné dans la dernière listbox et cache les listbox suivant celle sélectionnée
	if(colonne == "Classe")
	{
		if(document.getElementById('select1').value != null)
			selectedItem = document.getElementById('select1').value;

		document.getElementById('select2').innerHTML = "";
		document.getElementById('div_select2').style.display = "none";

		document.getElementById('select3').innerHTML = "";
		document.getElementById('div_select3').style.display = "none";

		document.getElementById('select4').innerHTML = "";
		document.getElementById('div_select4').style.display = "none";

		document.getElementById('select5').innerHTML = "";
		document.getElementById('div_select5').style.display = "none";
		
		document.getElementById('select6').innerHTML = "";
		document.getElementById('div_select6').style.display = "none";
		
		document.getElementById('select8').innerHTML = "";
		document.getElementById('div_select8').style.display = "none";
		
		document.getElementById('select9').innerHTML = "";
		document.getElementById('div_select9').style.display = "none";
		
		document.getElementById('select10').innerHTML = "";
		document.getElementById('div_select10').style.display = "none";
	}
	else if(colonne == "Annee_etude")
	{
		if(document.getElementById('select2').value != null)
			selectedItem = document.getElementById('select2').value;

		document.getElementById('select3').innerHTML = "";
		document.getElementById('div_select3').style.display = "none";

		document.getElementById('select4').innerHTML = "";
		document.getElementById('div_select4').style.display = "none";

		document.getElementById('select5').innerHTML = "";
		document.getElementById('div_select5').style.display = "none";
		
		document.getElementById('select6').innerHTML = "";
		document.getElementById('div_select6').style.display = "none";
		
		document.getElementById('select8').innerHTML = "";
		document.getElementById('div_select8').style.display = "none";
		
		document.getElementById('select9').innerHTML = "";
		document.getElementById('div_select9').style.display = "none";
		
		document.getElementById('select10').innerHTML = "";
		document.getElementById('div_select10').style.display = "none";
	}
	else if(colonne == "Annee_diplome")
	{
		if(document.getElementById('select3').value != null)
			selectedItem = document.getElementById('select3').value;

		document.getElementById('select4').innerHTML = "";
		document.getElementById('div_select4').style.display = "none";

		document.getElementById('select5').innerHTML = "";
		document.getElementById('div_select5').style.display = "none";
		
		document.getElementById('select6').innerHTML = "";
		document.getElementById('div_select6').style.display = "none";	
		
		document.getElementById('select8').innerHTML = "";
		document.getElementById('div_select8').style.display = "none";
		
		document.getElementById('select9').innerHTML = "";
		document.getElementById('div_select9').style.display = "none";
		
		document.getElementById('select10').innerHTML = "";
		document.getElementById('div_select10').style.display = "none";
	}
	else if(colonne == "Type")
	{
		if(document.getElementById('select4').value != null)
			selectedItem = document.getElementById('select4').value;

		document.getElementById('select5').innerHTML = "";
		document.getElementById('div_select5').style.display = "none";
		
		document.getElementById('select6').innerHTML = "";
		document.getElementById('div_select6').style.display = "none";
		
		document.getElementById('select8').innerHTML = "";
		document.getElementById('div_select8').style.display = "none";
		
		document.getElementById('select9').innerHTML = "";
		document.getElementById('div_select9').style.display = "none";
		
		document.getElementById('select10').innerHTML = "";
		document.getElementById('div_select10').style.display = "none";
	}
	else if(colonne == "Poursuite")
	{
		if(document.getElementById('select5').value != null)
			selectedItem = document.getElementById('select5').value;

		document.getElementById('select6').innerHTML = "";
		document.getElementById('div_select6').style.display = "none";
		
		document.getElementById('select8').innerHTML = "";
		document.getElementById('div_select8').style.display = "none";
		
		document.getElementById('select9').innerHTML = "";
		document.getElementById('div_select9').style.display = "none";
		
		document.getElementById('select10').innerHTML = "";
		document.getElementById('div_select10').style.display = "none";
	}
	else if(colonne == "Poursuite2")
	{
		document.getElementById('select8').innerHTML = "";
		document.getElementById('div_select8').style.display = "none";
		
		document.getElementById('select9').innerHTML = "";
		document.getElementById('div_select9').style.display = "none";
		
		document.getElementById('select10').innerHTML = "";
		document.getElementById('div_select10').style.display = "none";
	}
	
	else if(colonne == "Poursuite3")
	{
		document.getElementById('select9').innerHTML = "";
		document.getElementById('div_select9').style.display = "none";
		
		document.getElementById('select10').innerHTML = "";
		document.getElementById('div_select10').style.display = "none";
	}
	
	else if(colonne == "Poursuite4")
	{
		document.getElementById('select10').innerHTML = "";
		document.getElementById('div_select10').style.display = "none";
	}


	// Récupère les valeurs sélectionnées dans chaque listbox
	if(document.getElementById('select1').value != null)
		select1 = document.getElementById('select1').value;

	if(document.getElementById('select2').value != null)
		select2 = document.getElementById('select2').value;

	if(document.getElementById('select3').value != null)
		select3 = document.getElementById('select3').value;

	if(document.getElementById('select4').value != null)
		select4 = document.getElementById('select4').value;
	
	if(document.getElementById('select5').value != null)
		select5 = document.getElementById('select5').value;
		
	// Affiche le textbox permettant à l'élève d'entrer son diplôme si le niveau d'étude est Autre
	if(select1 == "Autre")
		document.getElementById('div_select7').style.display = "block";
	else
		document.getElementById('div_select7').style.display = "none";


	// Vérification malheureusement obligatoire
	if (xhr == null)
	{
		alert("Votre navigateur ne supporte pas AJAX :-(");
		return;
	}
	
	// Fonction à exécuter quand on aura une réponse du serveur
	xhr.onreadystatechange = function()
	{
		// on ne traite que si on a tout recu et que la réponse du serveur est OK
		
			// on récupère la réponse au format texte ...
			var reponse = xhr.responseText;
			

			// Affiche la listbox correspondante et la remplie avec les données récupérées
			if(colonne == "Classe")
			{
				document.getElementById('conteneur_select2').innerHTML = reponse;
				if(document.getElementById('select2').options.length > 2)
					document.getElementById('div_select2').style.display = "block";
				else
				{
					document.getElementById('select2').options[document.getElementById('select2').options.length-1].selected = true;
					reload_listbox ("Annee_etude");
				}
			}
			if(colonne == "Annee_etude")
			{
				document.getElementById('conteneur_select3').innerHTML = reponse;
				if(document.getElementById('select3').options.length > 2)
					document.getElementById('div_select3').style.display = "block";
				else
				{
					document.getElementById('select3').options[document.getElementById('select3').options.length-1].selected = true;
					reload_listbox ("Annee_diplome");
				}
			}
			if(colonne == "Annee_diplome")
			{
				document.getElementById('conteneur_select4').innerHTML = reponse;
				if(document.getElementById('select4').options.length > 2)
					document.getElementById('div_select4').style.display = "block";
				else
				{
					document.getElementById('select4').options[document.getElementById('select4').options.length-1].selected = true;
					reload_listbox ("Type");
				}
			}
			if(colonne == "Type")
			{
				document.getElementById('conteneur_select5').innerHTML = reponse;
				if(document.getElementById('select5').options.length > 2)
					document.getElementById('div_select5').style.display = "block";
				else
				{
					document.getElementById('select5').options[document.getElementById('select5').options.length-1].selected = true;
					get_listbox_code();
				}
			}
			if(colonne == "Poursuite" && select1 == "BAC")
			{
			
				document.getElementById('conteneur_select6').innerHTML = reponse;
	
				if(document.getElementById('select6').options.length > 2)
					document.getElementById('div_select6').style.display = "block";
				else
				{
					document.getElementById('select6').options[document.getElementById('select6').options.length-1].selected = true;
					get_listbox_code();
				}
				reload_listbox ("Poursuite2");
			}
			if(colonne == "Poursuite2" && select1 == "BAC")
			{
				document.getElementById('conteneur_select8').innerHTML = reponse;
				if(document.getElementById('select8').options.length > 2)
					document.getElementById('div_select8').style.display = "block";
				else
				{
					document.getElementById('select8').options[document.getElementById('select8').options.length-1].selected = true;
					get_listbox_code();
				}
				reload_listbox ("Poursuite3");
			}
			if(colonne == "Poursuite3" && select1 == "BAC")
			{
				document.getElementById('conteneur_select9').innerHTML = reponse;
				if(document.getElementById('select9').options.length > 2)
					document.getElementById('div_select9').style.display = "block";
				else
				{
					document.getElementById('select9').options[document.getElementById('select9').options.length-1].selected = true;
					get_listbox_code();
				}
				reload_listbox ("Poursuite4");
			}
			if(colonne == "Poursuite4" && select1 == "BAC")
			{
				document.getElementById('conteneur_select10').innerHTML = reponse;
				if(document.getElementById('select10').options.length > 2)
					document.getElementById('div_select10').style.display = "block";
				else
				{
					document.getElementById('select10').options[document.getElementById('select10').options.length-1].selected = true;
					get_listbox_code();
				}
			}
		
	}

	// connexion au serveur:
	xhr.open("GET","Traitement/generation_listbox_inscription.php?colonne="+colonne+"&selectedItem=0&select1="+select1+"&select2="+select2+"&select3="+select3+"&select4="+select4+"&select5="+select5+"&nocache="+param,true);
	// envoi de la requete :
	xhr.send(null);
}

function reloadList (colonne)
{

		// Niveau
		niveau=document.getElementById('niveau').value;
		
		// Classe
		if( document.getElementById('classe')==null ) classe=''; else classe=document.getElementById('classe').value;
		// Type
		if( document.getElementById('type')==null ) type=''; else type=document.getElementById('type').value;
		
		// Annee_etude
		if( document.getElementById('annee_etude')==null ) annee_etude=''; else annee_etude=document.getElementById('annee_etude').value;
		
		
		//alert('colonne='+colonne);
		if(colonne=='niveau'){
			reloadClasse (1);
		}else if (colonne=='classe'){
			reloadAnneeEtude(2);
		}else if (colonne=='annee_etude'){
			reloadType(3);
		}
		
}


function reloadClasse (nombreChamps)
{

	var param = no_cache();
	var xhr = getXHR();
	// Vérification malheureusement obligatoire
	if (xhr == null)
	{
		alert("Votre navigateur ne supporte pas AJAX :-(");
		return;
	}
	// Fonction à exécuter quand on aura une réponse du serveur
	xhr.onreadystatechange = function()
	{
		// on ne traite que si on a tout recu et que la réponse du serveur est OK
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			// on récupère la réponse au format texte ...
			
			var reponse = xhr.responseText;

			if( reponse!='' ){
			document.getElementById("div_classe").style.display='block';
			document.getElementById("conteneur_classe").innerHTML = reponse;
			
			}else{
			document.getElementById("div_classe").style.display='none';
			}	
			reloadAnneeEtude(2);
			//alert('classe='+reponse);
			if( document.getElementById('classe')==null )
			{
				document.getElementById("div_classe").style.display='none';
			}
		}
	}
	
	// connexion au serveur:
	xhr.open("GET","/maj_infos_form/ajax.php?colonne=classe&nb="+nombreChamps+"&niveau="+document.getElementById('niveau').value+"&nocache="+param,true);
	// envoi de la requete :
	xhr.send(null);
}

function reloadType(nombreChamps)
{

	var param = no_cache();
	var xhr = getXHR();
	// Vérification malheureusement obligatoire
	if (xhr == null)
	{
		alert("Votre navigateur ne supporte pas AJAX :-(");
		return;
	}
	// Fonction à exécuter quand on aura une réponse du serveur
	xhr.onreadystatechange = function()
	{
		// on ne traite que si on a tout recu et que la réponse du serveur est OK
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			// on récupère la réponse au format texte ...
			var reponse = xhr.responseText;
			if( reponse!='' ){
			document.getElementById("div_type").style.display='block';
			document.getElementById("conteneur_type").innerHTML = reponse;
			
			}else{
			document.getElementById("div_type").style.display='none';
			}	
			//alert('type='+reponse);
			//reloadAnneeEtude(3);
			if( document.getElementById('type')==null )
			{
				document.getElementById("div_type").style.display='none';
			}
		}
		
	}
	if(document.getElementById('classe')!=null)
	chaine="&classe="+document.getElementById('classe').value;
	else chaine='';
	if(document.getElementById('annee_etude')!=null)
	chaine=chaine+"&annee="+document.getElementById('annee_etude').value;
	// connexion au serveur:
	xhr.open("GET","/maj_infos_form/ajax.php?colonne=type&nb="+nombreChamps+"&niveau="+document.getElementById('niveau').value+chaine+"&nocache="+param,true);
	// envoi de la requete :
	xhr.send(null);
}

function reloadAnneeEtude (nombreChamps)
{

	var param = no_cache();
	var xhr = getXHR();
	// Vérification malheureusement obligatoire
	if (xhr == null)
	{
		alert("Votre navigateur ne supporte pas AJAX :-(");
		return;
	}
	// Fonction à exécuter quand on aura une réponse du serveur
	xhr.onreadystatechange = function()
	{
		// on ne traite que si on a tout recu et que la réponse du serveur est OK
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			// on récupère la réponse au format texte ...
			var reponse = xhr.responseText;
			if( reponse!='' ){
			document.getElementById("div_annee_etude").style.display='block';
			document.getElementById("conteneur_annee_etude").innerHTML = reponse;
			//alert(document.getElementById("div_annee_etude").style.display);
			
			}else{
			document.getElementById("div_annee_etude").style.display='none';
			//alert('anneeetude='+reponse);
			}
			reloadType(3);
			//alert('ok');
			displayYears (niveau, classe, type, annee_etude);
			if( document.getElementById('annee_etude')==null )
			{
				document.getElementById("div_annee_etude").style.display='none';
			}
		}
	}
	if(document.getElementById('classe')!=null)
	chaine="&classe="+document.getElementById('classe').value;
	else chaine='';
	if(document.getElementById('type')!=null)
	chaine=chaine+"&type="+document.getElementById('type').value;
	
	// connexion au serveur:
	xhr.open("GET","/maj_infos_form/ajax.php?colonne=annee_etude&nb="+nombreChamps+"&niveau="+document.getElementById('niveau').value+chaine+"&nocache="+param,true);
	// envoi de la requete :
	xhr.send(null);
}

function displayYears (niveau, classe, type, annee)
{

	var param = no_cache();
	var xhr = getXHR();
	// Vérification malheureusement obligatoire
	if (xhr == null)
	{
		alert("Votre navigateur ne supporte pas AJAX :-(");
		return;
	}
	// Fonction à exécuter quand on aura une réponse du serveur
	xhr.onreadystatechange = function()
	{
		// on ne traite que si on a tout recu et que la réponse du serveur est OK
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			// on récupère la réponse au format texte ...
			var reponse = xhr.responseText;
			if(reponse=="xxxx")
				document.getElementById("div_annee_diplome").style.display = 'block';
			else
				document.getElementById("div_annee_diplome").style.display = 'none';
				
		}
	}
	
	// connexion au serveur:
	xhr.open("GET","/maj_infos_form/ajax2.php?niveau="+niveau+"&classe="+classe+"&type="+type+"&annee=" + annee + "&nocache="+param,true);
	// envoi de la requete :
	xhr.send(null);
}






function get_listbox_code()
{
	var param = no_cache();

	var xhr = getXHR();

	// Récupère les valeurs sélectionnées dans chaque listbox
	if(document.getElementById('select1').value != null && document.getElementById('select1').value != "0")
		select1 = document.getElementById('select1').value;
	else
		select1 = "";
	if(document.getElementById('select2').value != null && document.getElementById('select2').value != "0")
		select2 = document.getElementById('select2').value;
	else
		select2 = "";
	if(document.getElementById('select3').value != null && document.getElementById('select3').value != "0")
		select3 = document.getElementById('select3').value;
	else
		select3 = "";
	if(document.getElementById('select4').value != null && document.getElementById('select4').value != "0")
		select4 = document.getElementById('select4').value;
	else
		select4 = "";
	if(document.getElementById('select5').value != null && document.getElementById('select5').value != "0")
		select5 = document.getElementById('select5').value;
	else
		select5 = "";

	// Vérification malheureusement obligatoire
	if (xhr == null)
	{
		alert("Votre navigateur ne supporte pas AJAX :-(");
		return;
	}

	// Fonction à exécuter quand on aura une réponse du serveur
	xhr.onreadystatechange = function()
	{
		// on ne traite que si on a tout recu et que la réponse du serveur est OK
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			// on récupère la réponse au format texte ...
			var reponse = xhr.responseText;
			document.getElementById('code_select').value = reponse;
		}
	}

	// connexion au serveur:
	xhr.open("GET","Traitement/recuperation_code_listbox_inscription.php?select1="+select1+"&select2="+select2+"&select3="+select3+"&select4="+select4+"&select5="+select5+"&nocache="+param,true);
	// envoi de la requete :
	xhr.send(null);
}

// Fonction permettant d'afficher les listbox devant l'être
function showListbox()
{
	var select1 = document.getElementById('select1').options.length;
	if(select1 > 2)
		document.getElementById('div_select1').style.display = "block";

	var select2 = document.getElementById('select2').options.length;
	if(select2 > 2)
		document.getElementById('div_select2').style.display = "block";

	var select3 = document.getElementById('select3').options.length;
	if(select3 > 2)
		document.getElementById('div_select3').style.display = "block";

	var select4 = document.getElementById('select4').options.length;
	if(select4 > 2)
		document.getElementById('div_select4').style.display = "block";

	var select5 = document.getElementById('select5').options.length;
	if(select5 > 2)
		document.getElementById('div_select5').style.display = "block";
}

function ValiderDate(partie) {
  var formulaire = partie.form;
  var saisie = formulaire.saisie.value;
  var mois = formulaire.mois.value;
  var annee = formulaire.annee.value;
  var jour = formulaire.jour.value;
  var jourmax = 31;
  // Sauvegarde du jour sélectionné
  if (partie.name == 'jour') {
    formulaire.saisie.value = jour;
    saisie = jour;
  }
  if (!saisie) saisie = jour;
  // Sortie si les trois valeurs ne sont pas saisies
  if (!saisie || !mois || !annee) return;
  // Calcul du nombre de jours dans le mois sélectionné
  switch(mois) {
    case "2":
      if (annee % 4 == 0 && annee % 100 != 0 || annee % 400 == 0)
        jourmax = 29;
      else
        jourmax = 28;
      break
    case "4":
    case "6":
    case "9":
    case "11":
      jourmax = 30;
      break
    default:
      jourmax = 31;
  }
  // Si la saisie est différente du jour affiché, mise à jour de l\'affichage
  if (saisie > jour) {
    jour = saisie;
    formulaire.jour.value = saisie;
  }
  // Si le jour sélectionné est supérieur au nombre de jours dans le mois
  if (jour > jourmax) formulaire.jour.value = jourmax;
}