/**
 * Classe Effect
 *
 * Contient divers fonctions pour animer les sites
 *
 * Utilisation : Effect.nom_effet(parametre);
 *
 * Note g?ralement: Lorsqu'un effect joue sur la transparence d'un element celui-ci
 * doit avoir une taille fixe(largeur ou hauteur) (A cause d'un bug d'IE)
 *
 **/


function classe_effect(){}

/**
 * Fait apparaitre un element en fade
 * Nb : D?clarer pr?alablement les attributs opacity(Moz) et alpha(IE) avec 0.01 et 0.1
 * pour ne pas avoir de clignotement lors du lancement du script
 **/
classe_effect.prototype.fade_in = function (id,opacity,vitesse,func){
	frame = document.getElementById(id);
	if (opacity>=0.89){
		if (document.all)
			frame.style.filter = "alpha(opacity=100)";
		else
			frame.style.opacity = "1";
		if (func) eval(func);
	} else {
		opacity = opacity+vitesse;
		if (document.all)
			frame.style.filter = "alpha(opacity="+(opacity.toFixed(2)*100)+")";
		else
			frame.style.opacity=""+opacity;
		//alert(frame.style.filter)
		//Effect.fade_in(id,opacity,vitesse,func)
		window.setTimeout("Effect.fade_in('"+id+"',"+opacity+","+vitesse+",'"+func+"')",1);
	}
}
/**
 * Fait disparaitre un element en fade
 * Nb : D?clarer pr?alablement les attributs opacity(Moz) et alpha(IE) avec 0.01 et 0.1
 * pour ne pas avoir de clignotement lors du lancement du script
 **/
classe_effect.prototype.fade_out = function (id,opacity,vitesse,func){
	frame = document.getElementById(id);
	if 	(opacity <= 0.1){
		if (document.all)
			frame.style.filter = "alpha(opacity=0)";
		else
			frame.style.opacity = "0";
		if (func) eval(func);
	} else {
		opacity = opacity-vitesse;
		if (document.all)
			frame.style.filter = "alpha(opacity="+(opacity.toFixed(2)*100)+")";
		else
			frame.style.opacity=""+opacity;
		//alert(frame.style.filter)
		//Effect.fade_out(id,opacity,vitesse,func)
		window.setTimeout("Effect.fade_out('"+id+"',"+opacity+","+vitesse+",'"+func+"')",1);
	}
}
//Instanciation de object
Effect = new classe_effect()

