<!--
/*
	Fonctions javascript Utilitaires :
	
	Menu1TD_over(id) 
	->  Effet de rollover sur un TD (ONMOUSEOVER)
	
	Menu2TD_over(id) 
	->  Effet de rollover sur un TD (ONMOUSEOVER)
	
	MenuTD_out(id) 
	-> Effet de rollover sur un TD (ONMOUSEOUT)
	
	Update_Droplist(droplist1,droplist2,message) 
	-> Mettre à jour un droplist associé sans avoir à rafraichir la page.
	
	Update_Activite(droplist) 
	-> Mettre à jour les cases à option et les blocs des activités sans avoir à rafraichir la page.
	
	open_window(mypage, myname, w, h, scroll)
	-> Ouverture d'une fenêtre en popup
	
	telechargement(mypage, myname, w, h, scroll)
	-> Ouverture d'une fenêtre popup pour le téléchargement
	
	MM_preloadImages()
	-> Préload d'image
	
	MM_swapImgRestore()
	-> Restore d'images après rollover
	
	MM_findObj(n, d)
	-> Recherche d'object
	
	MM_swapImage()
	-> Rollover d'images


*/

//Détection de browser
function browser_detect(){
	
	//Detect Firefox 1 +
	//---------------------------------------
	if(navigator.userAgent.indexOf("Firefox")!=-1){
		var versionindex=navigator.userAgent.indexOf("Firefox")+8
		if (parseInt(navigator.userAgent.charAt(versionindex))>=1)
		var Firefox = true;
	}
	//---------------------------------------
	
	//Detect IE5.5+
	//---------------------------------------
	version=0
	if (navigator.appVersion.indexOf("MSIE")!=-1){
		temp=navigator.appVersion.split("MSIE")
		version=parseFloat(temp[1])
	}
	
	//NON IE browser will return 0
	if (version>=5.5) {
		var IE = true;
	}
	//---------------------------------------
	
	
	//Detect Netscape 4.7+
	//---------------------------------------
	if (navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)>=4.7){
		var Netscape = true;
	}
	//---------------------------------------
	
	if(Firefox == true || IE == true || Netscape == true ){
		//Browser compatible
		return true;
	} else {
		//Browser incompatible
		return false;	
	}
	
}


//Effet de rollover sur un TD (ONMOUSEOVER)
function Menu1TD_over(id){
	if (document.getElementById(id)) {
		var td = document.getElementById(id);
		td.style.background='#BCC675';
	}
}
//Effet de rollover sur un TD (ONMOUSEOVER)
function Menu2TD_over(id){
	if (document.getElementById(id)) {
		var td = document.getElementById(id);
		td.style.background='#9BB0CC';
	}
}
//Effet de rollover sur un TD (ONMOUSEOUT)
function MenuTD_out(id){
	if (document.getElementById(id)) {
		var td = document.getElementById(id);
		td.style.background= '';
	}
}


//Mettre à jour un droplist associé sans avoir à rafraichir la page.
//Méhode similaire à AJAX
function Update_Droplist(droplist1,droplist2,message) {

	
	//OBJECT
	obj_droplist1 = eval("document.theform." + droplist1);
	obj_droplist2 = eval("document.theform." + droplist2);
	
	//Valeur sélectionné dans le droplist
	drop_value = obj_droplist1.value;
	
	if(drop_value == "null" || drop_value == ""){
	
		//Efface le drop list 2
		obj_droplist2.options.length = 0;
	
	} else {
	
		//Récupérer les informations Onchange
		//------------------------------------------------
		
		//Path du champ hidden text
		path_text = "document.theform.text_" + drop_value + ".value"; 
		path_object_text = "document.theform.text_" + drop_value; 
		//Path du champ hidden id
		path_id = "document.theform.id_" + drop_value + ".value"; 
		path_object_id = "document.theform.id_" + drop_value; 
		
		
		//Si les object Hidden existe pour l'élément
		if(eval(path_object_text && path_object_id)){
		
			//Valeur texte du hidden field correspondant au drop list 2
			hidden_text = eval(path_text);
			//Valeur ID du hidden field correspondant au drop list 2
			hidden_id = eval(path_id);
			
			//Split des valeurs textes dans un tableau
			split_text = hidden_text.split("¤");
			//Split des valeurs ID dans un tableau
			split_id = hidden_id.split("¤");
			//------------------------------------------------
				
			//Mise à jour du second droplist
			//------------------------------------------------
			
			//Efface le droplist 2
			obj_droplist2.options.length = 0;
			
			//Créé le nombre d'option nécessaire dans le droplist 2
			obj_droplist2.options.length = split_id.length + 1;
			
			//Ajout de l'option message à valeur NULL si sous élément
			if(split_id.length > 0){
				obj_droplist2.options[0].text = message;
				obj_droplist2.options[0].value = "null";
			}
	
			for (i = 0; i < split_id.length; i++) {
				obj_droplist2.options[i+1].text = split_text[i];
				obj_droplist2.options[i+1].value = split_id[i];
			}
			
		} else {
			
			//Efface le droplist 2
			obj_droplist2.options.length = 0;
		}	
		//------------------------------------------------
		
	}
	
		
 }
 
 
 
//Mettre à jour l'affichage des activités sans avoir à rafraichir la page.
//Lorsqu'une ressource est sélectionné (ONCHANGE) dans le droplist des ressources,
//seules les activités d'un niveau égal ou inférieur à celui de l'utilisateur inscrit
//seront affichées dans le formulaire d'inscription.
//Les Radio button de niveau supérieur sont décochés
//(Méhode similaire à AJAX)
function Update_Activite(droplist) {

	//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	//AFFICHER OU CACHER LES BLOCS ACTIVITÉ
	//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	
	//Si l'objet existe
	if( eval("document.theform." + droplist) ){
		

		//OBJECT
		obj_droplist = eval("document.theform." + droplist);
		
		//Valeur sélectionné dans le droplist
		drop_value = obj_droplist.value; //ID de la ressource

		
		if(drop_value != "null" && drop_value != ""){
		
			//Récupérer le niveau de droit de la ressource (Onchange)
			//------------------------------------------------
			//Path du champ hidden niveau
			path_object_niv = eval("document.theform.niv_" + drop_value); 
			
			//Valeur niv du hidden field correspondant au droplist (niveau de la ressource)
			niv_ress = path_object_niv.value;
			
			
			
			//Selon les niveau de droits des activités
			//Afficher et/ou cacher le div de l'activité
			//------------------------------------------------
	
			//Récupérer la liste des activitées (tous)
			hidden_liste_act = document.theform.liste_act_all.value;
			
			//Split des id_act dans un tableau
			split_id_act = hidden_liste_act.split(",");
			
			//Pour chaque activité
			//_________________________________________________
			for (i = 0; i < split_id_act.length - 1; i++) {
				
				show_activite = "";

				//Récupérer le niveau de l'activité
				niveau_act = eval("document.theform.niv_act_" + split_id_act[i] + ".value");
				
				//Si l'activité n'est pas d'un niveau égal ou inférieur à celui
				//de l'utilisateur inscrit elle est cachée!
				
				
				
				//Utilisateur CA
				if(niv_ress == "Conseil admin." ){	
					if(niveau_act.indexOf("Conseil admin.") > -1 || niveau_act.indexOf("Dir. générale")  > -1 || niveau_act.indexOf("Services de base")  > -1 || niveau_act.indexOf("Entrepreneuriat")  > -1 || niveau_act.indexOf("IDEO 16-17") > -1 || niveau_act.indexOf("Jeunes en action")  > -1){
						show_activite = true;
					} else {
						show_activite = false;
					}
				}
				
				//Utilisateur DG
				if(niv_ress == "Dir. générale" ){	
					if(niveau_act.indexOf("Dir. générale") > -1 || niveau_act.indexOf("Services de base") > -1 || niveau_act.indexOf("Entrepreneuriat") > -1 || niveau_act.indexOf("IDEO 16-17") > -1 || niveau_act.indexOf("Jeunes en action") > -1){
						show_activite = true;
					} else {
						show_activite = false;
					}
				}
				
				//Utilisateur Services de base
				if(niv_ress == "Services de base"){	
					if(niveau_act.indexOf("Services de base") > -1 || niveau_act.indexOf("Entrepreneuriat") > -1 || niveau_act.indexOf("IDEO 16-17") > -1 || niveau_act.indexOf("Jeunes en action") > -1){
						show_activite = true;
					} else {
						show_activite = false;
					}
				}
				
				//Utilisateur Entrepreneuriat
				if(niv_ress == "Entrepreneuriat"){	
					if(niveau_act.indexOf("Entrepreneuriat") > -1 || niveau_act.indexOf("IDEO 16-17") > -1 || niveau_act.indexOf("Jeunes en action") > -1){
						show_activite = true;
					} else {
						show_activite = false;
					}
				}
				
				//Utilisateur IDEO 16-17
				if(niv_ress == "IDEO 16-17"){	
					if(niveau_act.indexOf("IDEO 16-17") > -1 || niveau_act.indexOf("Jeunes en action") > -1){
						show_activite = true;
					} else {
						show_activite = false;
					}
				}
				
				//Utilisateur Jeunes en action
				if(niv_ress == "Jeunes en action"){	
					if(niveau_act.indexOf("IDEO 16-17") > -1 || niveau_act.indexOf("Jeunes en action") > -1){
						show_activite = true;
					} else {
						show_activite = false;
					}
				}
				
				//DEBUG
				//alert(niveau_act + " / " + niv_ress + " = " + show_activite);
				
				//Récupérer l'objet div
				div_elem = document.getElementById( "div_act_" + split_id_act[i] );
				
				//Afficher l'activité
				if(show_activite == true){
					div_elem.style.display = "block";
				
				} else {
					div_elem.style.display = "none";
				}
	
			}
			//_________________________________________________
				
			
			//------------------------------------------------
			
			
			
			//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
			//DÉCOCHER LES RADIO BUTTONS CACHER
			//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
			
			//Liste des id_plage ayant des activités avec places disponibles pour insc
			liste_plage = document.theform.liste_plage.value;
			var tab_plage = liste_plage.split(',');
			
			//Pour chaque plage à valider
			for(var i=0; i < tab_plage.length -1; i++)
			{
				
				//L'id de la plage et le nom du radio button list
				var plage = tab_plage[i];
							
				//Object radio button
				object_radio = eval("document.theform.plage" + plage);
				
				//Si il s'agit d'une liste de radio Button (plus d'un élément)
				//...........................................................
				if(object_radio.length){
				
					//Pour chaque radio button de la plage
					for (j=0; j < object_radio.length; j++)
					{
					
						//Récupérer la valeur du Radio button (correspond à l'id de l'activité de la plage)
						id_activite = object_radio[j].value;
					
					
						//Récupérer le niveau de l'activité
						niveau_act = eval("document.theform.niv_act_" + id_activite + ".value");
						
						//Utilisateur DG
						if(niv_ress == "Conseil admin." ){	
							
							if(niveau_act.indexOf("Services de base") > -1 || niveau_act.indexOf("Dir. générale") > -1 || niveau_act.indexOf("Conseil admin.") > -1 || niveau_act.indexOf("Entrepreneuriat") > -1 || niveau_act.indexOf("IDEO 16-17") > -1 || niveau_act.indexOf("Jeunes en action") > -1){
								radio_checked = true;
							} else {
								radio_checked = false;
							}
							
						}
						
						//Utilisateur DG
						if(niv_ress == "Dir. générale" ){	
							
							if(niveau_act.indexOf("Services de base") > -1 || niveau_act.indexOf("Dir. générale") > -1 || niveau_act.indexOf("Entrepreneuriat") > -1 || niveau_act.indexOf("IDEO 16-17") > -1 || niveau_act.indexOf("Jeunes en action") > -1){
								radio_checked = true;
							} else {
								radio_checked = false;
							}
							
						}
						
						//Utilisateur Services de base
						if(niv_ress == "Services de base"){	
							
							if(niveau_act.indexOf("Services de base") > -1 || niveau_act.indexOf("Entrepreneuriat") > -1 || niveau_act.indexOf("IDEO 16-17") > -1 || niveau_act.indexOf("Jeunes en action") > -1){
								radio_checked = true;
							} else {
								radio_checked = false;
							}
							
						}
						
						//Utilisateur Entrepreneuriat
						if(niv_ress == "Entrepreneuriat"){	
							if(niveau_act.indexOf("Entrepreneuriat") > -1 || niveau_act.indexOf("IDEO 16-17") > -1 || niveau_act.indexOf("Jeunes en action") > -1){
								radio_checked = true;
							} else {
								radio_checked = false;
							}
						}
						
						//Utilisateur IDEO 16-17
						if(niv_ress == "IDEO 16-17"){	
							if(niveau_act.indexOf("IDEO 16-17") > -1 || niveau_act.indexOf("Jeunes en action") > -1){
								radio_checked = true;
							} else {
								radio_checked = false;
							}
						}
						
						//Utilisateur Jeunes en action
						if(niv_ress == "Jeunes en action"){	
							if(niveau_act.indexOf("IDEO 16-17") > -1 || niveau_act.indexOf("Jeunes en action") > -1){
								radio_checked = true;
							} else {
								radio_checked = false;
							}
						}
						
						//alert("Plage :" + plage + " activite :" + id_activite + " / " + radio_checked + " (" + niv_ress + ") " + " (" + niveau_act + ")" );
						
						
						//Décocher les radio button dont les droits ne correspondent pas
						if(radio_checked == false){
							object_radio[j].checked = false;
						}
			
						
					}
				} 
				//...........................................................
				
				
			} //Fin for plage
			
			
		} // FIN if drop_value
		
		
		
		
	} //Fin si l'objet existe
	
 }

 
// Ouverture d'une fenêtre en popup
function open_window(mypage, myname, w, h, scroll) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 20;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function open_window_manch(mypage) {
	
	myname = "popup";
	w = 500;
	h = 400;
	thescroll = "yes";
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 20;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+thescroll+',resizable'
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

// Ouverture d'une fenêtre popup pour le téléchargement
function telechargement(mypage, myname, w, h, scroll) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 20;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
	win = window.open(mypage, myname, winprops)
	//if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
	
	//Fermer la fenêtre enfant
	win.window.close();
	
}

// Préload d'image
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

// Restore d'images après rollover
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

// Recherche d'object
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

// Rollover d'images
function MM_swapImage() { //v3.0

  //On mouse out du bouton du menu de gauche, l'image reprend sa src initiale
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;

  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->

