if(!window.SVFX_home_slideshow) SVFX_home_slideshow = new Object();


//*************************************************************************
//		Paramètres
//*************************************************************************
SVFX_home_slideshow.totoUrl = 'SVFX_home_slideshow.php';
SVFX_home_slideshow.vitesseDefilement = 5; //En seconde
SVFX_home_slideshow.vitesseAnimation = 20; //En miliseconde
SVFX_home_slideshow.decalage = 3; //En pixels
SVFX_home_slideshow.acceleration = 10; //En pixels
SVFX_home_slideshow.deceleration = 200;



//*************************************************************************
//		Variables
//*************************************************************************
SVFX_home_slideshow.mainContainer = '';
SVFX_home_slideshow.menuContainer = '';
SVFX_home_slideshow.containerWidth = 0;
SVFX_home_slideshow.containerHeight = 0;
SVFX_home_slideshow.containerFound = false;
SVFX_home_slideshow.menuFound = false;
SVFX_home_slideshow.listItems = new Array();
SVFX_home_slideshow.currentItem = 0;
SVFX_home_slideshow.lastItem = 0;
SVFX_home_slideshow.acc = SVFX_home_slideshow.acceleration;
SVFX_home_slideshow.int = 0;
SVFX_home_slideshow.isPause = true;
SVFX_home_slideshow.isAnimated = false;
SVFX_home_slideshow.memId = 0;
SVFX_home_slideshow.mainOver = false;
SVFX_home_slideshow.menuOver = false;
SVFX_home_slideshow.isIE = false;
if(navigator.appName.indexOf("Microsoft Internet Explorer") != -1) SVFX_home_slideshow.isIE = true;


//*************************************************************************
//		Fonctions secondaires
//*************************************************************************
SVFX_home_slideshow.empty = function(test){
	if(test == undefined || test == 'undefined' || test == 0 || test == '' || test == false || test == null || test == 'null' || test == 'false') return true;
	else return false
}

SVFX_home_slideshow.explode = function(str,char1,char2,char3){
	var strList = new Array();
	var buffer = '';
	var memPos = 0;

	for(var i=0;i<str.length;i++){
		if(str.charAt(i) == char1 || str.charAt(i) == char2 || str.charAt(i) == char3){
			strList[strList.length] = str.substring(memPos,i);
			memPos = i+1;
		}
	}
	
	if(!this.empty(str.substring(memPos,str.length))) strList[strList.length] = str.substring(memPos,str.length);
	return strList;
}

//*************************************************************************
//		Fonctions principales
//*************************************************************************

//-------------------------------------------------------------------------
//		Lance le slide show
//-------------------------------------------------------------------------
SVFX_home_slideshow.loadMenu = function(){
	SVFX_home_slideshow.mainContainer.style.overflow = 'hidden';
	var data = "load=menu";
	var next = "SVFX_home_slideshow.searchItem();";
	ObjAJAX = new Ajax();
	ObjAJAX.setParam ({
		url          : SVFX_home_slideshow.totoUrl,
		returnFormat : "txt", //  OU returnFormat : "xml"
		method       : "POST", // OU method       : "GET"
		data         : data,
		asynchronus  : true, // OU asynchronus  : false
		//onComplete   : "alert('"+div+"')"
		//onFailure    : "alert(errorCode)",
		onComplete   : "SVFX_home_slideshow.menuContainer.innerHTML = response; "+next
	});
	ObjAJAX.execute();
}

//-------------------------------------------------------------------------
//		Memorise les ids des items
//-------------------------------------------------------------------------
SVFX_home_slideshow.searchItem = function(){
	var divs = SVFX_home_slideshow.menuContainer.getElementsByTagName('div');
	for(var i=0; i<divs.length; i++){
		var name = divs[i].id.toString().split('_');
		SVFX_home_slideshow.listItems.push(name[name.length-1]);
	}
	
	SVFX_home_slideshow.mainContainer.onmouseover = function(){ SVFX_home_slideshow.mainOver = true; }
	SVFX_home_slideshow.mainContainer.onmouseout = function(){ SVFX_home_slideshow.mainOver = false; setTimeout(function(){ SVFX_home_slideshow.out(); },50); }
	SVFX_home_slideshow.menuContainer.onmouseover = function(){ SVFX_home_slideshow.menuOver = true; }
	SVFX_home_slideshow.menuContainer.onmouseout = function(){ SVFX_home_slideshow.menuOver = false; setTimeout(function(){ SVFX_home_slideshow.out(); },50); }
	
	var data = "load=first&id="+SVFX_home_slideshow.listItems[0];
	var next = "SVFX_home_slideshow.run();";
	ObjAJAX = new Ajax();
	ObjAJAX.setParam ({
		url          : SVFX_home_slideshow.totoUrl,
		returnFormat : "txt", //  OU returnFormat : "xml"
		method       : "POST", // OU method       : "GET"
		data         : data,
		asynchronus  : true, // OU asynchronus  : false
		//onComplete   : "alert('"+div+"')"
		//onFailure    : "alert(errorCode)",
		onComplete   : "SVFX_home_slideshow.mainContainer.innerHTML = response; "+next
	});
	ObjAJAX.execute();
	
	document.getElementById('slideshow_menu_'+SVFX_home_slideshow.listItems[0]).style.backgroundColor = '#FFFFFF';
}

//-------------------------------------------------------------------------
//		Lance le compteur
//-------------------------------------------------------------------------
SVFX_home_slideshow.run = function(){
	if(this.isPause){
		this.isPause = false;
		var spd = SVFX_home_slideshow.vitesseDefilement * 1000;
		SVFX_home_slideshow.int = setInterval(function(){ SVFX_home_slideshow.next(); },spd);
	}
}

//-------------------------------------------------------------------------
//		Arrete le compteur
//-------------------------------------------------------------------------
SVFX_home_slideshow.pause = function(){
	SVFX_home_slideshow.isPause = true;
	clearInterval(SVFX_home_slideshow.int);
}

//-------------------------------------------------------------------------
//		Charge l'item indiqué
//-------------------------------------------------------------------------
SVFX_home_slideshow.loadItem = function(id){
	this.pause();
	if(this.listItems[this.currentItem] != id){
		if(this.memId != id){
			this.memId = id;
			if(this.isAnimated){
				document.getElementById('slideshow_content_'+this.listItems[this.lastItem]).style.left = '-770px';
				document.getElementById('slideshow_content_'+this.listItems[this.currentItem]).style.left = '0px';
			}
			setTimeout(function(){ SVFX_home_slideshow.next(id); },(this.vitesseAnimation*3));
		}
	}
}

//-------------------------------------------------------------------------
//		Lance le compteur
//-------------------------------------------------------------------------
SVFX_home_slideshow.out = function(id){
	if(this.mainOver == false && this.menuOver == false) setTimeout(function(){ SVFX_home_slideshow.run(); },1000);
}

//-------------------------------------------------------------------------
//		Charge l'item suivant
//-------------------------------------------------------------------------
SVFX_home_slideshow.next = function(ide){
	if(this.empty(ide)){
		var items = this.getItems();
		this.lastItem = this.currentItem;
		this.currentItem = items[2];
	}
	else{
		this.lastItem = this.currentItem;
		this.currentItem = this.getItemNum(ide);
	}
	var id = SVFX_home_slideshow.listItems[this.currentItem];
	var data = "load=content&id="+id;
	this.acc = this.acceleration;
	this.memId = 0;
	
	for(var i=0; i<this.listItems.length; i++){
		document.getElementById('slideshow_menu_'+this.listItems[i]).style.backgroundColor = 'transparent';
	}
	document.getElementById('slideshow_menu_'+this.listItems[this.currentItem]).style.backgroundColor = '#FFFFFF';

	var content = document.createElement("DIV");
	content.setAttribute("id","slideshow_content_"+id);
	content.style.position = 'absolute';
	content.style.top = '0px';
	content.style.left = '770px';
	SVFX_home_slideshow.mainContainer.appendChild(content);
	
	ObjAJAX = new Ajax();
	ObjAJAX.setParam ({
		url          : SVFX_home_slideshow.totoUrl,
		returnFormat : "txt", //  OU returnFormat : "xml"
		method       : "POST", // OU method       : "GET"
		data         : data,
		asynchronus  : true, // OU asynchronus  : false
		//onComplete   : "alert('"+div+"')"
		//onFailure    : "alert(errorCode)",
		onComplete   : "document.getElementById('slideshow_content_"+id+"').innerHTML = response;"
	});
	ObjAJAX.execute();
}

//-------------------------------------------------------------------------
//		Charge l'item suivant
//-------------------------------------------------------------------------
SVFX_home_slideshow.animate = function(){
	var oldItem = document.getElementById('slideshow_content_'+this.listItems[this.lastItem]);
	var newItem = document.getElementById('slideshow_content_'+this.listItems[this.currentItem]);
	var left = parseInt(newItem.style.left.substring(0,(newItem.style.left.length - 2)));
	if(left == 770) this.isAnimated = true;
	
	if(left < this.deceleration && this.acc > 0) this.acc--;
	left -= (parseInt(this.decalage) + parseInt(this.decalage * this.acc));
	if(left < 0) left = 0;
	newItem.style.left = left+'px';
	if(!this.empty(oldItem)) oldItem.style.left = (left - 770)+'px';
	if(left > 0){
		setTimeout('SVFX_home_slideshow.animate()',this.vitesseAnimation);
	}
	else{
		if(!this.empty(oldItem)) this.mainContainer.removeChild(oldItem);
		this.isAnimated = false;
	}
}

//-------------------------------------------------------------------------
//		Renvoie les items courants
//-------------------------------------------------------------------------
SVFX_home_slideshow.getItems = function(){
	var tab = new Array();
	//Calcul le precedent
	if(this.currentItem == 0) var oldItem = (this.listItems.length - 1);
	else var oldItem = this.currentItem - 1;
	tab[0] = oldItem;
	tab[1] = this.currentItem;
	//Calcul le suivant
	if(this.currentItem == (this.listItems.length - 1)) var nextItem = 0;
	else var nextItem = parseInt(this.currentItem) + parseInt(1);
	tab[2] = nextItem;
	return tab;
}

//-------------------------------------------------------------------------
//		Renvoie les items courants
//-------------------------------------------------------------------------
SVFX_home_slideshow.getItemNum = function(id){
	var num = 0;
	for(var i=0; i<this.listItems.length; i++){
		if(this.listItems[i] == id){
			num = i;
			break;
		}
	}
	return num;
}

//-------------------------------------------------------------------------
//		Initialise le slide show
//-------------------------------------------------------------------------
SVFX_home_slideshow.init = function(){
	var divs = document.body.getElementsByTagName('div');
	var found = false;
	for(var i=0; i<divs.length; i++){
		if(SVFX_home_slideshow.isIE){
			if(!SVFX_home_slideshow.empty(divs[i].rel)){
				
				if(divs[i].rel == 'home_slideshow'){
					SVFX_home_slideshow.containerFound = true;
					SVFX_home_slideshow.mainContainer = divs[i];
					SVFX_home_slideshow.containerWidth = divs[i].offsetWidth;
					SVFX_home_slideshow.containerHeight = divs[i].offsetHeight;
				}
				else if(divs[i].rel == 'home_slideshow_menu'){
					SVFX_home_slideshow.menuFound = true;
					SVFX_home_slideshow.menuContainer = divs[i];
				}
			}
		}
		else{
			for(k in divs[i].attributes){
				if(divs[i].attributes[k].name == 'rel'){
					if(divs[i].attributes[k].value	== 'home_slideshow'){
						SVFX_home_slideshow.containerFound = true;
						SVFX_home_slideshow.mainContainer = divs[i];
						SVFX_home_slideshow.containerWidth = divs[i].offsetWidth;
						SVFX_home_slideshow.containerHeight = divs[i].offsetHeight;
					}
					else if(divs[i].attributes[k].value	== 'home_slideshow_menu'){
						SVFX_home_slideshow.menuFound = true;
						SVFX_home_slideshow.menuContainer = divs[i];
					}
				}
				else if(divs[i].attributes[k].name == 'undefined') break;
			}
		}

		if(SVFX_home_slideshow.containerFound == true && SVFX_home_slideshow.menuFound == true){
			found = true;
			break;
		}
		
	}
	
	if(found == true) SVFX_home_slideshow.loadMenu();
}

//*************************************************************************
//		Lancement du slideshow au domReady
//*************************************************************************

if(Event.domReady) Event.domReady.add(SVFX_home_slideshow.init);
else{
	var fn = window.onload;
	window.onload = function(){
		SVFX_home_slideshow.init();
		fn();
	}
}
