//Interdiction du clic droit

	function disableRightClick(e){
	
	  //var message = "reproduction interdite";
	  
	  if(!document.rightClickDisabled){// initialize 
		if(document.layers){
		  document.captureEvents(Event.MOUSEDOWN);
		  document.onmousedown = disableRightClick;
		}
		else document.oncontextmenu = disableRightClick;
		return document.rightClickDisabled = true;
	  }
	  if(document.layers || (document.getElementById && !document.all)){
		if (e.which==2||e.which==3){
		  //alert(message);
		  return false;
		}
	  }else{
		//alert(message);
		return false;
	  }
	}
	disableRightClick();
	

//Fonction de recherche d'objet
	function findObj(theObj, theDoc)
	{
	  var p, i, foundObj;
	  
	  if(!theDoc)
	  	theDoc = document;
	  if( (p = theObj.indexOf("?")) > 0 && parent.frames.length){
		theDoc = parent.frames[theObj.substring(p+1)].document;
		theObj = theObj.substring(0,p);
	  }
	  if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
	  for (i=0; !foundObj && i < theDoc.forms.length; i++) 
		foundObj = theDoc.forms[i][theObj];
	  for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) 
		foundObj = findObj(theObj,theDoc.layers[i].document);
	  if(!foundObj && document.getElementById)
	  	foundObj = document.getElementById(theObj);
	  
	  return foundObj;
	}


//Fonction de décodage
	function JS_Decode(str_data){
		var out="";
		
		for(var i = 0; i <= str_data.length-3; i += 3){
			var code= str_data.substr(i, 3);
			var out = out+String.fromCharCode(code);
		}
		
		return out;
	}


//Fonction de Préchargement	
	function preloadSlideImages(){
	  if(document.images){
		if(!document.SlideImagesArray) document.SlideImagesArray = new Array();
		var i,j = document.SlideImagesArray.length, args = preloadSlideImages.arguments;
		
		for(i=0; i<args.length; i++){
		  if (args[i].indexOf("#")!=0){
			document.SlideImagesArray[j] = new Image;
			
			document.SlideImagesArray[j].src = JS_Decode("114101115115111117114099101115047097099099117101105108047")+JS_Decode(args[i]);
			
			//document.SlideImagesArray[j].name = args[i].split("1");
			//document.SlideImagesArray[j].name = SlideImagesArray[j].name[0];
			
			document.SlideImagesArray[j].ready = false;
			document.SlideImagesArray[j++].onload = function(){
				this.ready=true;			//pour compatibilité firefox
			}
			
		  }
		}
	  }
	}
	
	
//Fonction d'affichage d'une image du slide
	function SlideAfficheImg(ref){	
		var next_image = document.SlideImagesArray[ref];			
		var slide_holder = findObj("slide_holder_table");
			
		slide_holder.style.background = "url("+next_image.src+")";
		slide_holder.style.backgroundPosition= "center";
		slide_holder.style.backgroundPositionX= "center";
		slide_holder.style.backgroundPositionY= "center";
		slide_holder.style.backgroundRepeat = "no-repeat";
		
		document.SlideImgRef = ref;		
	}


//fonction d'affichage de l'image chargée suivante
	function SlideImgSuivante(){
		var next_ref = (document.SlideImgRef+1) % document.SlideImagesArray.length;
		
		if(document.SlideImagesArray[next_ref].complete==true || document.SlideImagesArray[next_ref].ready==true){
			Fade(findObj("slide_holder_table"), 1, 0, 350, 25, "SlideAfficheImg("+next_ref+"); Fade(findObj('slide_holder_table'), 0, 1, 400, -25);");
		}else{
			next_ref = -1;
		
			for(var eachImgRef in document.SlideImagesArray){
				if(document.SlideImagesArray[eachImgRef].complete==true || document.SlideImagesArray[eachImgRef].ready==true){
					//la première image suivante chargée est affichée
					if(eachImgRef > document.SlideImgRef){
						next_ref = eachImgRef;
						break;
					//sinon, c'est la première image précédente
					}else if(eachImgRef < document.SlideImgRef && next_ref == -1){
						next_ref = eachImgRef;
					}
				}
			}			
			
			if(next_ref>0){
				Fade(findObj("slide_holder_table"), 1, 0, 300, -25, "SlideAfficheImg("+next_ref+"); Fade(findObj('slide_holder_table'), 0, 1, 300, -25);");
			}
			
		}		
	}


//fonction de démarrage et initialisation du slide
	function SlideLaunch(){
	
		preloadSlideImages("048048049095112049048048048053054057046102117108108046106112103", "048048050095112049048048048053049052046102117108108046106112103", "048048051095112049048049048052048051046102117108108046106112103", "048048052095112049048048048057049049046102117108108046106112103", "048048053095112114111102105108095106102046102117108108046106112103", "048048054095100115099110055049049057046102117108108046106112103", "048048055095112049048048048053053051046102117108108046106112103", "048048056095100115099110055052057048046102117108108046106112103", "048048057095112049048048048057048055046102117108108046106112103", "048049048095112049048048048056056054046102117108108046106112103", "048049049095112049048048048053048048046102117108108046106112103");
		
		document.SlideImgRef=0;
		SlideAfficheImg(0);
		
		//la 2nde image arrive plus vite que les autres
		setTimeout("SlideImgSuivante();", 800);
		setInterval("SlideImgSuivante()", 3500);
	}
	
//FONCTION paramètrage de la transparence d'un objet
	function setAlpha(this_obj, int_alpha){
		this_obj.style.opacity = int_alpha;								//firefox
		this_obj.style.filter = 'alpha(opacity='+(int_alpha*100)+')';	//ie
		this_obj.style.MozOpacity = int_alpha;							//netscape
	}


//FONCTION effet de fondu sur un objet
	function Fade(){
		//Fade(this_obj, int_alpha_in, int_alpha_out, int_ms_duration, int_distribution, str_eval_at_end);
		var int_ms_periode_maj = 1000/50;	// période de rafraichissement en ms (50 Hz => 1000/50 = 20 ms)
		
		if(arguments.length >= 4){
			//alert("Fade - launch");
			//Ajout d'un fondu sur un objet
			//récupération des paramètres
			var this_obj		= arguments[0];
			var int_alpha_in	= arguments[1];
			var int_alpha_out	= arguments[2];
			var int_ms_duration = arguments[3];
			var int_distribution= Math.min(Math.max(arguments[4]?arguments[4]:0,-100),100);
			var str_eval_at_end = arguments[5]?arguments[5]:"";
			
			//transforme le paramètre int_distribution [-100, +100] centré sur 0, pour obtenir le coef [1/10, 10] centré sur 1
			var fl_coef_distribution = 1+9/100*((int_distribution>0)?int_distribution:int_distribution/10);
				
			//applique l'alpha de début à l'objet			
			setAlpha(this_obj, int_alpha_in);
			
			//Enregistre les paramètres
			if(!document.arr_fxfade_pile) document.arr_fxfade_pile=new Array();
			document.arr_fxfade_pile.push([this_obj, int_alpha_in, int_alpha_out, 0, int_ms_duration, fl_coef_distribution, str_eval_at_end]);
			
			//Démarre l'appel récursif
			if(!document.int_fxfade_intervalID) document.int_fxfade_intervalID=setInterval("Fade();", int_ms_periode_maj);

			//alert(print_var(document.arr_fxfade_pile));
			//alert("Points de passage :\n"+document.infos_fxfade);
			document.infos_fxfade="";

		}else{
			//Appel récursif pour l'éxecution du fondu
			for(var i in document.arr_fxfade_pile){
						
				//mise à jour du temps écoulé
				document.arr_fxfade_pile[i][3] += int_ms_periode_maj;
				
				//récupération des paramètres
				var int_alpha_in = document.arr_fxfade_pile[i][1], int_alpha_out = document.arr_fxfade_pile[i][2], int_ms_temp_ecoule = document.arr_fxfade_pile[i][3], int_ms_temp_total = document.arr_fxfade_pile[i][4], fl_coef_distribution = document.arr_fxfade_pile[i][5], coef, alpha;
				
				//calcul de l'alpha
				alpha = Math.pow(int_ms_temp_ecoule/int_ms_temp_total, fl_coef_distribution)*(int_alpha_out-int_alpha_in)+int_alpha_in;
				document.infos_fxfade += "["+i+"] t = "+int_ms_temp_ecoule+" alpha = "+alpha+"\n";
				//vérification du temps écoulé, application de l'alpha
				if(int_ms_temp_ecoule >= int_ms_temp_total-int_ms_periode_maj/2){
					//alert("int_ms_temp_ecoule = "+int_ms_temp_ecoule+"\nint_ms_temp_total = "+int_ms_temp_total+"\nint_ms_temp_total-int_ms_periode_maj/2 = "+(int_ms_temp_total-int_ms_periode_maj/2)+"\nalpha = int_alpha_out"+int_alpha_out);
					setAlpha(document.arr_fxfade_pile[i][0], int_alpha_out);
					eval(document.arr_fxfade_pile[i][6]);
					delete(document.arr_fxfade_pile[i]);
				}else{
					//alert("alpha = Math.pow("+int_ms_temp_ecoule+"/"+int_ms_temp_total+", "+fl_coef_distribution+")*("+int_alpha_out+"-"+int_alpha_in+")+"+int_alpha_in+" = "+alpha);
					setAlpha(document.arr_fxfade_pile[i][0], alpha);
				}
			}
			
			if(!document.arr_fxfade_pile.length){
				//arrêt de l'appel récursif si la pile de fondu est vide
				clearInterval(document.int_fxfade_intervalID);
				document.int_fxfade_intervalID = false;
			}
		}		
	}

