// JavaScript Document
if(!window.SVFX_alphaFadeAuto)SVFX_alphaFadeAuto=new Object();

var fadeRunning = false;
var listObj = Array();
var indexObj = Array();
var limiteDown = 60;
var limiteUp = 100;
var increment = 7;
var index = 0;
var imageContainer = '';
var imageDir = '';
var isIE = false;
var autoRun = true;
var clic = false;
var timeset = 0;
var timeLimit = 6000;

if(navigator.appName.indexOf("Microsoft Internet Explorer") != -1) isIE = true;


SVFX_alphaFadeAuto.addIcone = function(id,src){
	if(listObj[id] == undefined){
		var elt = document.getElementById(id);
		listObj[id] = Array();
		indexObj[indexObj.length] = elt;
		listObj[id]['state'] = 'OFF';
		listObj[id]['opacity'] = limiteDown;
		listObj[id]['src'] = src;
		
		//Gestion des actions
		elt.onmouseover = function () { SVFX_alphaFadeAuto.fadeUp(this); }
		elt.onmouseout = function () { SVFX_alphaFadeAuto.fadeDown(this); }
		elt.onclick = function () { SVFX_alphaFadeAuto.changeImage(this,true); }
	}
}


SVFX_alphaFadeAuto.setImageContainer = function(id,dir){
	imageContainer = document.getElementById(id);
	imageDir = dir;
	setTimeout("SVFX_alphaFadeAuto.autoChange()",40);
}


SVFX_alphaFadeAuto.changeImage = function(elt,isClick){
	imageContainer.src = imageDir + listObj[elt.id]['src'];
	
	for(var i=0; i<indexObj.length; i++){
		var tmp = indexObj[i];
		if(listObj[tmp.id]['state'] == 'ON') listObj[tmp.id]['state'] = 'DOWN';
		if(isClick == true){
			if(elt.id == tmp.id) index = i;
		}
	}
	
	listObj[elt.id]['state'] = 'ON';
	
	if(fadeRunning == false) SVFX_alphaFadeAuto.opacityAnimation();
	if(isClick == true)	clic = true;
	
}


SVFX_alphaFadeAuto.fadeUp = function(elt){
	if(listObj[elt.id] != undefined){
		listObj[elt.id]['state'] = 'UP';
		if(fadeRunning == false) SVFX_alphaFadeAuto.opacityAnimation();
	}
}


SVFX_alphaFadeAuto.fadeDown = function(elt){
	if(listObj[elt.id] != undefined){
		if(listObj[elt.id]['state'] != 'ON'){
			listObj[elt.id]['state'] = 'DOWN';
			if(fadeRunning == false) SVFX_alphaFadeAuto.opacityAnimation();
			clic = false;
		}
	}
}


SVFX_alphaFadeAuto.opacityAnimation = function(){
	
	var running = false;
	var isOver = false;
	
	for(var i = 0;i < indexObj.length; i++){
		
		var index = indexObj[i].id;
		
		if(listObj[index] != undefined){
			
			var op = parseInt(listObj[index]['opacity']);

			if(listObj[index]['state'] == 'UP'){
				op += parseInt(increment);
				if(op > limiteUp){
					op = limiteUp;
					listObj[index]['state'] = 'UP';
					isOver = true;
				}
				else running = true;
				listObj[index]['opacity'] = op;
				SVFX_alphaFadeAuto.setOpacity(i);
			}
			else if(listObj[index]['state'] == 'ON'){
				op += parseInt(increment);
				if(op > limiteUp){
					op = limiteUp;
					if(clic == true) isOver = true;
					listObj[index]['state'] = 'ON';
				}
				else running = true;
				listObj[index]['opacity'] = op;
				SVFX_alphaFadeAuto.setOpacity(i);
			}
			else if(listObj[index]['state'] == 'DOWN'){
				op -= parseInt(increment);
				if(op < limiteDown){
					op = limiteDown;
					listObj[index]['state'] = 'OFF';
				}
				else running = true;
				listObj[index]['opacity'] = op;
				SVFX_alphaFadeAuto.setOpacity(i);
			}
		}
	}
	
	fadeRunning = running;
	if(running == true) setTimeout("SVFX_alphaFadeAuto.opacityAnimation()",40);

	if(isOver == false){
		if(autoRun == false){
			autoRun = true;
			setTimeout("SVFX_alphaFadeAuto.autoChange()",40);
		}
	}
	else autoRun = false;
}


SVFX_alphaFadeAuto.setOpacity = function(i){
	var ind = indexObj[i].id;
	var elt = document.getElementById(ind);

	if(isIE) elt.style.filter = "alpha(opacity=" + listObj[ind]['opacity'] + ")";
	else{
		var opacite = (listObj[ind]['opacity'] / 100);
		elt.style.setProperty( "-moz-opacity",opacite , "");
		elt.style.setProperty( "-khtml-opacity", opacite, "");
		elt.style.setProperty( "opacity",opacite , "");
	}
}


SVFX_alphaFadeAuto.autoChange = function(){
	timeset += 40;
	
	if(timeset >= timeLimit){
		timeset = 0;
		
		index++;
		if(indexObj[index] != undefined) this.changeImage(indexObj[index],false);
		else{
			index = 0;
			if(indexObj[index] == undefined){
				autoRun = false;
				return false;
			}
			else this.changeImage(indexObj[index],false);
		}
	}
	
	if(autoRun == true) setTimeout("SVFX_alphaFadeAuto.autoChange()",40);
}