//onglet.js

function nb_page(){
		var total=0;
		if (der_page>0){
		 for(var i=1;i<=der_page;i++){
		  if ($("onglet"+i)){total++;};
		 };
		};
		return total;
	}
	
	function voir_page(no){
	 page_courante=no;
		for(var i=0;i<=der_page;i++){
		 if ($("onglet"+i)){
			 if (i==no){
				 $("closed_onglet"+i).style.display="none";	
					$("open_onglet"+i).style.display="";
					if (i>=2){$("supp_onglet"+i).style.display="";};
					$("titre_onglet"+i).style.color="white";
					$("onglet"+i).style.backgroundColor="#98A4A9";
					$("page"+i).style.display="";	
				}
				else
				{
					$("open_onglet"+i).style.display="none";	
					$("closed_onglet"+i).style.display="";	
					if (i>=2){$("supp_onglet"+i).style.display="none";};
					$("titre_onglet"+i).style.color="black";
					$("onglet"+i).style.backgroundColor="white";
				 $("page"+i).style.display="none";
				};	
			};
		};
	};
	
	function ajouter_page(titre){
	 //alert("titre : "+titre);
	 if(nb_page()<max_page){	
	  der_page++;
			var num_page=der_page;
		 //création d'un onglet 
			var onglet=document.createElement('LI');	
			onglet.setAttribute("id","onglet"+num_page);
			onglet.className="onglet";	
			
		 // insertion dans onglet du bloc img_agr qui contient les 2 images d'agrandissement	
		 var img_agr=document.createElement("DIV");	
		 img_agr.className="img_agr_onglet";
				var openImg = document.createElement("IMG");	
				openImg.setAttribute("id","open_onglet"+num_page);
				openImg.src="open.gif";	
				img_agr.appendChild(openImg);	
				
				var closedImg = document.createElement("IMG");
				closedImg.setAttribute("id","closed_onglet"+num_page);
				closedImg.src="closed.gif";
				closedImg.alt="ouvrir l'onglet";	
				img_agr.appendChild(closedImg);
		 img_agr.onclick=function() {voir_page(num_page);};	
			onglet.appendChild(img_agr);
			
			// insertion du bloc titre dans onglet
			var t_titre=document.createElement('DIV');
			t_titre.className="titre_onglet";
			t_titre.setAttribute("id","titre_onglet"+num_page);
			t_titre.innerHTML=titre;	
			onglet.appendChild(t_titre);	
			
			// insertion dans onglet du bloc img_supp qui contient l' image de suppression	
			 if(num_page>1){	// on ne peut pas supprimer la page 1 ("accueil")
					var img_supp=document.createElement("DIV");
					img_supp.className="img_supp_onglet";	
					img_supp.setAttribute("id","supp_onglet"+num_page);
					var suppImg = document.createElement("IMG");	
					suppImg.src="supp.png";
					suppImg.alt="supprimer l'onglet";
					img_supp.appendChild(suppImg);			
					img_supp.onclick=function() {supp_page(num_page);};	
					onglet.appendChild(img_supp);		
			 };				
			//insertion onglet dans le menu
			$("menu").appendChild(onglet);
			
			//création de la page	associée
			var page=document.createElement('DIV');	
			page.setAttribute("id","page"+num_page);
			page.className="page";	
			
			// ajouter un saut de ligne	 qui "vide" les flottants		(FF)
			 var retour = document.createElement("div");
				retour.className="separation";
				page.appendChild(retour);

			// insertion des 3colonnes	
			for (var i=1;i<=3;i++){
			 var col=document.createElement('DIV');
				col.setAttribute("id","col"+String(num_page)+String(i));	
				col.className="col";
				var vide=document.createElement('DIV');
				der_num++;
				vide.setAttribute("id","vide"+der_num);	
				vide.className="vide";
				vide.innerHTML=vide.getAttribute("id");
				col.appendChild(vide);
				page.appendChild(col);
			};	
			
			// ajouter un saut de ligne	 qui "vide" les flottants		(FF)
				var retour1 = document.createElement("div");
				retour1.className="separation";
				page.appendChild(retour1);
			
			//insertion de page dans cadre
			$("cadre").appendChild(page);		
			voir_page(num_page);
		};
	}	
	
	function supp_page(num){	
	 var titre=$("titre_onglet"+num).innerHTML;	
	 if (confirm(" Voulez-vous supprimer la page \" "+titre+" \" et tous les modules y figurant ?")){
		 var onglet=$("onglet"+num);
			var page=$("page"+num);
		 $("menu").removeChild(onglet);
			$("cadre").removeChild(page);
			voir_page(1);
		};
	}	
	
	// mémoriser liste_page	 et  liste_bloc			dans les cookies ou dans la base de données
	function memoriser_page(){
	 //alert("début memoriser_page");		
	 var pj=0;	// nouveau compteur de pages	
		// construction des variables liste_page et liste_bloc
		var liste_page="";
		var liste_bloc="";
		
		for(var pi=1;pi<=der_page;pi++){
		 if ($("onglet"+pi)){
				liste_page+=$("titre_onglet"+pi).innerHTML + " stop ";
				pj++;
				liste_bloc+=liste_b(pi,pj);	// pi compteur ancienne	page, pj compteur nouvelle page
		 };
		};	

		liste_page=liste_page.substr(0,liste_page.length-6);
		// encodage liste_bloc	
		liste_page=escape(liste_page);
		//alert("liste_page (écriture) : "+liste_page);	
		
		if (liste_bloc!="") {
		 liste_bloc=liste_bloc.substr(0,liste_bloc.length-6);	
		};
		// encodage liste_bloc		
		liste_bloc=escape(liste_bloc);
	 //alert("liste_bloc (écriture) : "+liste_bloc);		
	
		if (connexion) {	
		 // enregistrement en base de données	de liste_page et liste_bloc	
		
			var requete = null;
	  if(window.XMLHttpRequest){ // Firefox
	   requete = new XMLHttpRequest();	
			}
	  else { // Internet Explorer
	   requete = new ActiveXObject("Microsoft.XMLHTTP");
	  };
			var url="memorisation.php?lp="+liste_page+"&lb="+liste_bloc;
		 requete.open('GET', url, false);
		 requete.send(null);
			var reponse=requete.responseText;
			//alert(reponse);
		}
		else {	
		 // enregistrement dans les cookies	de liste_page et liste_bloc
		 var dtExpiration1An=new Date();
	  dtExpiration1An.setTime(dtExpiration1An.getTime()+365*24*3600*1000);	
		 setCookie("liste_page",liste_page, dtExpiration1An);	
			setCookie("liste_bloc",liste_bloc, dtExpiration1An);
		};
	}	
	
	// initialisation des pages à l'aide de la variable liste_page
	function init_pages(liste){	
	 if (liste!=""){
			var onglets=liste.split(" stop ");
			for(var i=0; i<onglets.length; i++){	
				ajouter_page(onglets[i]);
		 };	
		}
		else {
			ajouter_page("accueil");	
		};
	}	
	
	// retourne la liste des  blocs de la page i( col, titre, contenu, vide )
	// on changera le numéro de colonne en tenant compte du nouveau numéro de page
	function liste_b(pi,pj){ // pi compteur ancienne	page, pj compteur nouvelle page		
		var liste="";
		for(var j=1; j<=3;j++){	// j numéro de colonne
			var col=$("col"+String(pi)+String(j));
			var tab=col.childNodes;	
			for(var i=0; i<tab.length;i++){	
				if(tab[i].id.substr(0,4)=="bloc"){	
			 	var element=tab[i];
					enleve_noeud_texte_vide(element)// pour firefox	
					var titre=element.firstChild;
					var contenu=element.lastChild;	
					var vide=(contenu.style.display=="none")? "true" : "false";	// vide est égal à "true" si le contenu est invisible
					var col_nouveau="col"+String(pj)+String(j);
					liste+=col_nouveau+ ";" + titre.getAttribute("tag") + ";" +contenu.getAttribute("tag") + ";" +vide + " stop ";	
				};
			};		
		};
		return liste;
		
	}	
	
		
	// initialisation des contenus des pages à l'aide de la variable liste_bloc
	function init_blocs(liste){	
	 if (liste!="") {
		 var tab_inter=liste.split(" stop ");
		 tab_inter.reverse();
		 var tab_bloc= new Array();
		 for(var i=0; i<tab_inter.length; i++){	
		  tab_bloc[i]=tab_inter[i].split(";");
		 };	
		 //alert (tab_bloc[2][2]);	
		 // ajouter les blocs	
		 for(var i=0; i<tab_bloc.length; i++){	
			 ajouter(tab_bloc[i][0],tab_bloc[i][1],tab_bloc[i][2],tab_bloc[i][3]);
		 };	
		};
	}	
