/**
 *
 *   Script Fading
 *   Version 1.0
 *   Autor   : Raphael Wils
 *   Licence : http://creativecommons.org/licenses/by-nc-sa/2.0/
 *   Email   : info@r-wils.fr
 *   web     : http://www.r-wils.fr/developpement/javascript/fading
 *
 *   Adaptation au site BecomeIn : Virginie Fasano / www.2vcreation.com
 *
 */
 
function fade(E, property, authFadeOut, os, oe, delayFadeOut, vFadeOut, authFadeIn, is, ie, delayFadeIn, vFadeIn){
	
	var _self = this;
	
	this.fading = function (Nstep,vFade,te,ts,delay){
		if(Nstep>0 && _self.step>vFade)
		{
			var s = (_self.step)/Nstep;
			var r = (te[0]+Math.floor((ts[0]-te[0])*s));
			var g = (te[1]+Math.floor((ts[1]-te[1])*s));
			var b = (te[2]+Math.floor((ts[2]-te[2])*s));
			eval('E.style.'+property+' = "rgb('+r+','+g+','+b+')"');
			_self.step -= vFade;
			_self.setFade = setTimeout(function(){_self.fading(Nstep,vFade,te,ts,delay)},delay);
		}
		else eval('E.style.'+property+' = "rgb('+te[0]+','+te[1]+','+te[2]+')"');
	}
	
	if(authFadeIn)
	{
		var NstepFadeIn = Math.max(Math.max(Math.abs(is[0]-ie[0]),Math.abs(is[1]-ie[1])),Math.abs(is[2]-ie[2]));
		addevent(E,'mouseover',function (){
			clearTimeout(_self.setFade);
			_self.step = NstepFadeIn;
			_self.fading(NstepFadeIn,vFadeIn,ie,is,delayFadeIn);
		}, false);
	}
	if(authFadeOut)
	{
		var NstepFadeOut = Math.max(Math.max(Math.abs(os[0]-oe[0]),Math.abs(os[1]-oe[1])),Math.abs(os[2]-oe[2]));
		addevent(E,'mouseout',function (){
			clearTimeout(_self.setFade);
			_self.step = NstepFadeOut;
			_self.fading(NstepFadeOut,vFadeOut,oe,os,delayFadeOut);
		}, false);
	}
}

/* gestionnaire d'evenement */
function addevent(obj,evt,fn,capt){
	if(obj.addEventListener)
	{
		obj.addEventListener(evt, fn, capt);
		return true;
	}
	else if(obj.attachEvent)
	{
		obj.attachEvent('on'+evt, fn);
		return true;
	}
	else return false;
}


// 
// Fonctions de Fade 
// -------------------------------------------------------------------


function initFade() {
	//
	// objets individuels  (1er et 2eme bouton)
	//
	var obj1 = new fade (
		document.getElementById('fade1'), 'backgroundColor',
		// fade out
		true, new Array(204,0,00), new Array(255,255,255), 50, 20,
		// fade in
		true, new Array(255,255,255), new Array(204,0,0), 50, 20
	);
	
	var obj2 = new fade (
		document.getElementById('fade2'), 'backgroundColor',
		// fade out
		true, new Array(219,193,19), new Array(255,255,255), 50, 20,
		// fade in
		true, new Array(255,255,255), new Array(219,193,19), 50, 20
	);
		
	//
	// reste du menu
	//
	var liste = document.getElementById('menu').getElementsByTagName("a");
	var obj4 = new Array();
	
	for (i=0;i<liste.length;i++)
	{
		if (liste[i].className=="fade")
		{
		obj4[i] = new fade (
			liste[i], 'backgroundColor',
			// fade out
			true, new Array(200,200,200), new Array(255,255,255), 50, 2,
			// fade in avec une seule couleur
			true, new Array(255,255,255), new Array(200,200,200), 50, 2
		);
		}
		
	}
}

if (document.getElementById && document.getElementsByTagName)
{
	addevent(window,'load',initFade, false);
}