var temps=new Date();
var temps=10000; //temps de l'affichage d'un photo


//slide show images du jour
document.write("<style type='text/css'>#thephoto {visibility:hidden;}</style>");


FxManager = function(){
	
	
	return{
		object: [],
		clock:25,
		fadeIn : function(objId,opacity) {
			
			if(this.object[objId] == undefined){
				this.register(objId);
			}
			
			if(opacity== undefined){
				
				this.object[objId].obj.style.visibility='visible';
				opacity=0;
			}
			
			if (opacity <= 100) {
				this.setOpacity(this.object[objId].obj,opacity);
				opacity += 10;
				setTimeout("FxManager.fadeIn('"+objId+"',"+opacity+")",this.clock)
			}else{
				
				return;
			}
			
		},
		fadeOut: function(objId,opacity) {
			
			if(this.object[objId] == undefined){
				this.register(objId);
			}
			
			if(opacity== undefined){
				opacity=100;
			}
			
			
			
			if (opacity > 0) {
				this.setOpacity(this.object[objId].obj,opacity);
				opacity -= 10;
				setTimeout("FxManager.fadeOut('"+objId+"',"+opacity+")",this.clock)
			}else{
				this.object[objId].obj.style.visibility='hidden';
				return;
			}
			
		},
		MarginTopTo : function(objId,margin) {
			
			if(this.object[objId] == undefined){
				this.register(objId);
			}
			
			if(margin== undefined){
				margin=0;
			}
			
		
			
			if(this.object[objId].marginTop == undefined){
				this.object[objId].marginTop=0;
			}
			
			if(this.object[objId].marginTop != margin){
		
			 	
				move = parseInt(this.object[objId].marginTop - margin)/10;
					
				for (var i = 0 ; i <10; i++){
					this.object[objId].marginTop = 	this.object[objId].marginTop - move;
					setTimeout("FxManager.setMarginTop('"+objId+"',"+this.object[objId].marginTop+")",i*this.clock);
				};
				
				setTimeout("FxManager.setMarginTop('"+objId+"',"+margin+")",10*this.clock);
				
				
				
				this.object[objId].marginTop= margin;
				
			}
			
			if(this.object[objId].marginTop != margin){
				delete this.object[objId].active;
			}
			
		},
		setMarginTop : function (objId,margin) {
			this.object[objId].obj.style.marginTop=margin+'px';
			
		},
		setOpacity : function (obj,opacity) {
			
			
			// IE/Win
			obj.style.filter = "alpha(opacity:"+opacity+")";
			// Safari<1.2, Konqueror
			obj.style.KHTMLOpacity = opacity/100;
			// Older Mozilla and Firefox
			obj.style.MozOpacity = opacity/100;
			// Safari 1.2, newer Firefox and Mozilla, CSS3
			obj.style.opacity = opacity/100;
			
			
		},
		register : function(objId){
			
			this.object[objId] ={};
			this.object[objId].obj=document.getElementById(objId);
			
		
		},
		unregister : function(id){
			
				
 				delete this.object[id];
		}
	}
}();

TimeManager = function(){
	
	
	return{
		active:false,
		object: [],
		clock :1000,
		init:function(){
			
			if (this.active) {
			
					for (x in this.object) {
					
						
							
					
						if (this.object[x] != null) {
						
						
							if (this.object[x].enabled) {
							
							
								this.object[x].time += this.clock;
								
								if (this.object[x].time >= this.object[x].cycle) {
								
									this.object[x].round = this.object[x].round + 1;
									
									if (this.object[x].round == this.object[x].max) {
										this.object[x].round = 0;
									}
									
									this.object[x].exec.apply(this.object[x].obj, [this.object[x].round]);
									
									if (this.object[x]) {
										this.object[x].time = 0;
									}
									
								}
								
							}
							
						}
						
					}
			}
		
			setTimeout("TimeManager.init()", this.clock);
			
		},
		set : function(id,value){
			
			this.object[id].enabled=value;
		},
		register : function(id,obj,fnc,cycle,max){
			
			this.object[id] ={};
			this.object[id].obj=obj;
			this.object[id].exec=fnc;
			this.object[id].max=max;
			this.object[id].cycle=cycle;
			this.object[id].time=0;
			this.object[id].enabled=true;
			
			if(cycle <this.clock){
				this.clock=cycle;
			}
			
			this.object[id].round=0;
		},
		unregister : function(id){
			
 				delete this.object[id];
		}
	}
}();

function slider(){
	
	return {
		main:null,
		opacity:100,
		loaded:false,
		items:[],
		itemHeight:65,
		switchImage :function(x) {
			this.main.image.style.zIndex = 0;
			FxManager.setOpacity(this.items[x].image,0);
			this.items[x].image.style.zIndex = 5;
			FxManager.fadeOut(this.main.image.id);
			this.main =this.items[x];
			FxManager.fadeIn(this.main.image.id);
		},
		getItems : function(x){
			
			var item = document.getElementById("focusItem_"+x);
					
			if(item){
						
				var image = document.getElementById("focusItem_"+x+"_img");
					
					if (image) {
					
						this.items[x]={
							item: item,
							image: image
						};
						
						var obj= this;
						item.onmouseout = function(){
							TimeManager.set('slide_focus',true);
						};
						
						
						item.onmouseover = function(){
							TimeManager.set('slide_focus',false);
							obj.slide(x);
						};
						
				
					
						
						this.getItems(x + 1);
					}	
			}else if (this.main == null) {
				this.main = this.items[x-1];
			}
			
		},
		init : function(){
			
			if (this.loaded == false) {
				this.loaded =true;
				this.lien = document.getElementById('focus_lien');
				this.type = document.getElementById('focus_type');
				this.title = document.getElementById('focus_title');
				this.cursor = document.getElementById("focus_cursor");
				
				this.getItems(0);
				
				if (TimeManager.active == false) {
					TimeManager.init();
				}
				
				TimeManager.active = true;
				TimeManager.register('slide_focus', this, this.slide, 5000, this.items.length);
				this.switchImage(0);
				
			}
			
			
		},
		slide :function(x){
			
			
			if(this.items[x] != undefined){
				
				if(this.main){
					if (this.main != this.items[x]) {
					FxManager.MarginTopTo(this.cursor.id, x * this.itemHeight);
					this.switchImage(x);
					}
				}else {
					this.main = this.items[x];
					FxManager.MarginTopTo(this.cursor.id, x * this.itemHeight);
					this.switchImage(x);
				}
			}
		}
	}
}




function diaporama(){
	
	return {
		main:null,
		opacity:100,
		loaded:false,
		items:[],
		itemHeight:60,
		switchImage :function(x) {
			this.main.style.zIndex = 0;
			FxManager.setOpacity(this.items[x],0);
			this.items[x].style.zIndex = 5;
			FxManager.fadeOut(this.main.id);
			this.main =this.items[x];
			FxManager.fadeIn(this.main.id);
			
		},
		getItems : function(x){
			var item = document.getElementById("diparamaItem_"+x);
					
			if(item){
						
					this.items[x]=item;
					this.getItems(x + 1);
				
			}else if (this.main == null) {
							this.main = this.items[x-1];
				
			}
			
		},
		init : function(){
			if (this.loaded == false) {
				this.loaded =true;
		
				
				this.getItems(0);
				
				
				if (TimeManager.active == false) {
					TimeManager.init();
				}
				
				TimeManager.active = true;
				
				TimeManager.register('diaporama', this, this.slide, 4000, this.items.length);
				
			}
			
			
		},
		slide :function(x){
			
			
			if(this.items[x] != undefined){
				if (this.main != this.items[x]) {
					this.switchImage(x);
				}
			}
		}
	}
}



var focus_slider =new slider();
var diaporamaOfDay =new diaporama();
