var bluering = {
	navigator : navigator.appName,
	is_IE : function() {
		return (bluering.navigator=='Microsoft Internet Explorer');
	},
	
	diapo : { 
		
		nb_elt : 0, //Le nombre d'éléments dans le diaporama. Auto-incrémentation à l'ajout.
		cur_elt : null, //L'élément utilisé par le diaporama. 
		tab_elt : new Array(), //Liste des éléments du diaporama.
		next_id : undefined, //Si défini, l'élément suivant sera celui désigné par next_id.
		tab_comment : new Array(), //Les commentaires associés à chaque éléments.
		tab_title : new Array(), // Les titres associés à chaque éléments.
		tab_comment2 : new Array(), //Les commentaires 2 associés à chaque éléments.
		tab_title2 : new Array(), // Les titres 2 associés à chaque éléments.
		title_target : undefined, //Le titre de l'élément courant.
		comment_target : undefined, //Le commentaire de l'élément courant.
		title_target2 : undefined, //Le titre de l'élément courant.
		comment_target2 : undefined, //Le commentaire de l'élément courant.
		time_effect : 500, //Durée de base d'un effet.
		time_diapo : 8000, //Durée d'affichage d'un élément.
		mini_pas : 192, //Le pas en pixel lors du scroll horizontal des miniatures.
		mini_off : false, //Le drapeau indiquant si les miniatures sont désactivées.
		auto_scroll : 8, //Le nombre d'éléments dépassés à partir duquel on commande l'autoscroll des miniatures.
		min_height:280, //La hauteur minimale de la galerie d'images.
		auto : true, //Le drapeau indiquant si le prochain élément a été commandé ou non par l'utilisateur. 
		work : false, //Le drapeau indiquant si un changement est en cours de procédure.
		
		interval : undefined, //Le "drapeau" du diaporama
		pause	: true,
		btn_next : function () {
			if (bluering.diapo.cur_elt.pos==(bluering.diapo.nb_elt-1)) {
				id=0;
			}else{
				id=bluering.diapo.cur_elt.pos+1;
			}
			bluering.diapo.call_diapo(id);
		},
		btn_prev : function () {
			if (bluering.diapo.cur_elt.pos==0) {
				id=bluering.diapo.nb_elt-1;
			}else{
				id=bluering.diapo.cur_elt.pos+-1;
			}
			bluering.diapo.call_diapo(id);
		},
		btn_pause : function () {
		
			if (bluering.diapo.pause) {
				if (bluering.diapo.nb_elt>1) {
				bluering.diapo.interval=setInterval("bluering.diapo.change_elt()",bluering.diapo.time_diapo);
				bluering.diapo.pause=false;
				$('#minidiapo_btn_play').removeClass(); 
				$('#minidiapo_btn_play').addClass('play');
				bluering.diapo.change_elt();
				}
			}else{
				clearInterval(bluering.diapo.interval);
				$('#minidiapo_btn_play').removeClass();
				$('#minidiapo_btn_play').addClass('pause'); 
				bluering.diapo.pause=true;
			}
		
		},
		
		add_elt: function (eid,ew,eh,title,comment,title2,comment2) {
		
			if (!title) {
				title='';
			}
			
			if (!title2) {
				title2='';
			}
			
			if (!comment) {
				comment='';
			}
			if (!comment2) {
				comment2='';
			}
			
			bluering.diapo.tab_elt[bluering.diapo.nb_elt]=new bluering.Photo(bluering.diapo.nb_elt,eid,ew,eh);
			bluering.diapo.tab_title[bluering.diapo.nb_elt]=title;
			bluering.diapo.tab_comment[bluering.diapo.nb_elt]=comment;
			bluering.diapo.tab_title2[bluering.diapo.nb_elt]=title2;
			bluering.diapo.tab_comment2[bluering.diapo.nb_elt]=comment2;
			bluering.diapo.nb_elt++;
			
		},
		
		select_elt: function(id) {
		
			if (id !== undefined) {
				bluering.diapo.cur_elt=bluering.diapo.tab_elt[id];
			}else{
				bluering.diapo.cur_elt=new bluering.Photo();
			}
			
			bluering.diapo.change_legend();
		},
		
		hide_elt: function(fun) {
		
			$('#'+bluering.diapo.cur_elt.id).fadeOut(bluering.diapo.time_effect,fun);
			
		},
		
		show_elt: function() {
		
			$('#'+bluering.diapo.cur_elt.id).fadeIn(bluering.diapo.time_effect,function() {
				
				bluering.diapo.work=false;
				
				if (bluering.diapo.next_id !== undefined) {
					var next = bluering.diapo.next_id;
					bluering.diapo.next_id = undefined;
					bluering.diapo.change_elt(next);
				}
				
			});
			
		},
		
		change_elt: function (id) {
		
			if (!bluering.diapo.work) {
			
				bluering.diapo.work=true;
				
				var auto_mode = false;
				var id_ex=bluering.diapo.cur_elt.pos;
				
				if (id==undefined) {
				
					if (bluering.diapo.next_id === undefined) {
						id=bluering.diapo.cur_elt.pos+1;
						auto_mode=true;
					}else{
						id=bluering.diapo.next_id;
						bluering.diapo.next_id = undefined;
					}
					
				}
				
				if (id>=bluering.diapo.nb_elt) {
					id=0;
				}
				
				
				if (id != bluering.diapo.cur_elt.pos && (bluering.diapo.auto || !auto_mode)) {
					
					
					$('#mini'+bluering.diapo.cur_elt.pos).removeClass();
					$('#mini'+id).removeClass();
					$('#mini'+bluering.diapo.cur_elt.pos).addClass('mini');
					$('#mini'+id).addClass('mini_selected');
					
					bluering.diapo.hide_elt( 
						function () {
							bluering.diapo.select_elt(id);
							bluering.diapo.show_elt();
						}
					);
					
					var gallery_height=$('#'+bluering.diapo.tab_elt[id].id).height();
					if (gallery_height<bluering.diapo.min_height) {
						gallery_height=bluering.diapo.min_height;
					}
					$('#gallery_screen').animate(gallery_height,(2*bluering.diapo.time_effect));
					
					var menu_size=gallery_height;
						
					bluering.menu3.resize(menu_size);
					
					if (!bluering.diapo.mini_off) {
						var w=$('#miniatures_englob').width();
						var ws=$('#miniatures_screen').width();
						var wc=w-ws;
						var position=0;
						
						
						if (id!=0) {
							var position=(document.getElementById('mini'+id).offsetLeft-5);
						}
						
						
						// if (((bluering.diapo.tab_elt.length)-id)>=bluering.diapo.auto_scroll) {
							// $('#miniatures_englob').animate({'marginLeft':((-1*position)+'px')});
						// }else{
							// if (!auto_mode) {
								// if (bluering.diapo.tab_elt.length-bluering.diapo.auto_scroll >= 0) {
									// position=document.getElementById('mini'+(bluering.diapo.tab_elt.length-bluering.diapo.auto_scroll)).offsetLeft-3;
									// $('#miniatures_englob').animate({'marginLeft':((-1*position)+'px')});
								// }
							// }
						// }
						
						if (id==0) {
							var position=0;
							$('#miniatures_englob').animate({'marginLeft':((-1*position)+'px')});
						}else{
							if (id>=bluering.diapo.auto_scroll) {
								
								var trop=(id%bluering.diapo.auto_scroll);
								var barrage=id-trop;
								var position=(document.getElementById('mini'+barrage).offsetLeft-3);
								// alert(id+'-'+barrage+' vs '+position+' ( '+document.getElementById('mini'+barrage).offsetLeft+' )');
								$('#miniatures_englob').animate({'marginLeft':((-1*position)+'px')});
							}
						}
					}
				} else {
					bluering.diapo.work=false;
				}
				
				if (!auto_mode) {
					bluering.diapo.auto_disable();
					bluering.diapo.auto_enable(3*bluering.diapo.time_diapo);
				}
			
			}
		},
		
		change_legend : function() {
			
			if (bluering.diapo.title_target!=undefined) {
			
				$('#'+bluering.diapo.title_target).fadeOut((bluering.diapo.time_effect), 
					function () {
						//$('#'+bluering.diapo.title_target).html('<h2>'+decodeURI(unescape(bluering.diapo.tab_title[bluering.diapo.cur_elt.pos]))+'</h2>');
						if (bluering.diapo.tab_title[bluering.diapo.cur_elt.pos]) {
						$('#'+bluering.diapo.title_target).html('<h2>'+unescape(bluering.diapo.tab_title[bluering.diapo.cur_elt.pos])+'</h2>');
						}else{
							$('#'+bluering.diapo.title_target).html('&nbsp;');	
						}
					}
				);
				
				setTimeout(function () { $('#'+bluering.diapo.title_target).fadeIn(bluering.diapo.time_effect);}, bluering.diapo.time_effect);
				
			}
			
			if (bluering.diapo.comment_target!=undefined) {
			
				$('#'+bluering.diapo.comment_target).fadeOut(bluering.diapo.time_effect, 
					function () {
						//$('#'+bluering.diapo.comment_target).html(decodeURI(unescape(bluering.diapo.tab_comment[bluering.diapo.cur_elt.pos])));
						if (bluering.diapo.tab_comment[bluering.diapo.cur_elt.pos]) {
						$('#'+bluering.diapo.comment_target).html(unescape(bluering.diapo.tab_comment[bluering.diapo.cur_elt.pos]));
						}else{
							$('#'+bluering.diapo.comment_target).html('&nbsp;');	
						}
					}
				);
				
				setTimeout(function () { $('#'+bluering.diapo.comment_target).fadeIn(bluering.diapo.time_effect); }, bluering.diapo.time_effect);
				
			}
			
			if (bluering.diapo.title_target2!=undefined) {
			
				$('#'+bluering.diapo.title_target2).fadeOut((bluering.diapo.time_effect), 
					function () {
						//$('#'+bluering.diapo.title_target2).html('<h2>'+decodeURI(unescape(bluering.diapo.tab_title2[bluering.diapo.cur_elt.pos]))+'</h2>');
						if (bluering.diapo.tab_title2[bluering.diapo.cur_elt.pos]) {
						$('#'+bluering.diapo.title_target2).html('<h2>'+unescape(bluering.diapo.tab_title2[bluering.diapo.cur_elt.pos])+'</h2>');
						}else{
							$('#'+bluering.diapo.title_target2).html('&nbsp;');	
						}
					}
				);
				
				setTimeout(function () { $('#'+bluering.diapo.title_target2).fadeIn(bluering.diapo.time_effect);}, bluering.diapo.time_effect);
				
			}
			
			if (bluering.diapo.comment_target2!=undefined) {
			
				$('#'+bluering.diapo.comment_target2).fadeOut(bluering.diapo.time_effect, 
					function () {
						//$('#'+bluering.diapo.comment_target2).html(decodeURI(unescape(bluering.diapo.tab_comment2[bluering.diapo.cur_elt.pos])));
						if (bluering.diapo.tab_comment2[bluering.diapo.cur_elt.pos]) {
						$('#'+bluering.diapo.comment_target2).html(unescape(bluering.diapo.tab_comment2[bluering.diapo.cur_elt.pos]));
						}else{
							$('#'+bluering.diapo.comment_target2).html('&nbsp;');	
						}
					}
				);
				
				setTimeout(function () { $('#'+bluering.diapo.comment_target2).fadeIn(bluering.diapo.time_effect);}, bluering.diapo.time_effect);
				
			}
		},
		
		call_diapo	: function(id) {
		
			if (!bluering.diapo.work) {
				bluering.diapo.change_elt(id);
			}else{
				bluering.diapo.next_id = id;
			}
			
		},
		
		auto_enable : function (time) {
		
			setTimeout("bluering.diapo.auto=true;",time);
			
		},
		
		auto_disable : function () {
		
			bluering.diapo.auto=false;
			
		},
		
		scroll_miniatures : function (mouv,pas) {
		
			if (!pas) {pas=bluering.diapo.mini_pas;}
			
			switch (mouv) {
				
				case 'left' :
					if ($('#miniatures_englob').css('margin-left').replace('px','')=='auto') {
						var left=0-pas;
					}else{
						var left=parseInt($('#miniatures_englob').css('margin-left').replace('px',''))-pas;
					}
					$('#miniatures_englob').animate({'marginLeft':(left+'px')});
				break;
				
				case 'right' :
					var left=parseInt($('#miniatures_englob').css('margin-left').replace('px',''))+pas;
					$('#miniatures_englob').animate({'marginLeft':(left+'px')});
				break;
				
			}
		
		},
		
		minileft : function (pas) {
		
			if (!pas) {pas=bluering.diapo.mini_pas;}
			var w=$('#miniatures_englob').width();
			var ws=$('#miniatures_screen').width();
			var wc=w-ws;
			
			
			if (wc>0) {
			
				if ((wc-pas)<0) { 
					pas=wc;
				}
				
				bluering.diapo.scroll_miniatures('right',pas);
				
			}
			
			// setTimeout("bluering.diapo.minicheck('left');",500);
			
		},
		
		miniright : function (pas) {
		
			if (!pas) {pas=bluering.diapo.mini_pas;}
			var w=$('#miniatures_englob').width();
			var ws=$('#miniatures_screen').width();
			var wc=w-ws;
			
			
			
			if ((wc+pas)<=ws) {
			
				if ((wc-ws)>pas) { 
					pas=wc-pas;
				}
				
				bluering.diapo.scroll_miniatures('left',pas);
									
			}
			
			// setTimeout("bluering.diapo.minicheck('right');",500);
			
		},
		
		minicheck : function (mouv,pas) {
		
			if (!pas) {pas=bluering.diapo.mini_pas;}
			
			var w=$('#miniatures_englob').width();
			var ws=$('#miniatures_screen').width();
			var wc=w-ws;
			
			switch (mouv) {
			
				case 'left':
					if (wc>0) {
						$('#miniatures_left').removeClass();
						$('#miniatures_left').addClass('mini_on');
					}else{
						$('#miniatures_left').removeClass();
						$('#miniatures_left').addClass('mini_off');
					}
				break;
				
				case 'right':
					// alert(wc+'+'+pas+'<='+ws);
					if ((wc+pas)<=ws) {
						$('#miniatures_right').removeClass();
						$('#miniatures_right').addClass('mini_on');
					}else{
						$('#miniatures_right').removeClass();
						$('#miniatures_right').addClass('mini_off');
					}
				break;
				
				case 'off' :
					$('#miniatures_left').removeClass();
					$('#miniatures_left').addClass('mini_off');
					$('#miniatures_right').removeClass();
					$('#miniatures_right').addClass('mini_off');
				break;
				
			}
			
		},
		
		diaporama : function () {			
				
				if (bluering.diapo.cur_elt) {
					var gallery_height=$('#'+bluering.diapo.cur_elt.id).height();
				}else{
					var gallery_height=bluering.menu3.min_height;
				}

				var menu_size=gallery_height;

	
			bluering.menu3.resize(menu_size,1000,100);
			if (bluering.diapo.nb_elt<=bluering.diapo.auto_scroll) {
			
				$('#miniatures_left').hide();
				$('#miniatures_right').hide();

			}
			
			if (bluering.diapo.nb_elt>1) {
				bluering.diapo.interval=setInterval("bluering.diapo.change_elt()",bluering.diapo.time_diapo);
				bluering.diapo.pause=false;
			}
			
		}
		
	},
	
	menu : {
		visible : false,
		selected : '',
		clickIE6 : function (id) {
		
			var IE6 = false
			var strChUserAgent = navigator.userAgent;
			var intSplitStart = strChUserAgent.indexOf("(",0);
			var intSplitEnd = strChUserAgent.indexOf(")",0);
			var strChMid = strChUserAgent.substring(intSplitStart, intSplitEnd);
			if (strChMid.indexOf("MSIE 6") != -1) IE6 = true;
			
			if (IE6) {
				if (bluering.menu.selected!=id) {
					if (bluering.menu.selected!='') {
						$('#'+bluering.menu.selected).children(".menu2").css({'visibility':'hidden','margin-top':'0px'});
						bluering.menu.visible=!bluering.menu.visible;
					}
				}
				
				if (!bluering.menu.visible) {
					$('#'+id).children(".menu2").css({'visibility':'visible','margin-top':'10px'});
					bluering.menu.selected=id;
				}else{
					$('#'+id).children(".menu2").css({'visibility':'hidden','margin-top':'0px'});
					bluering.menu.selected='';
				}
				
				bluering.menu.visible=!bluering.menu.visible;
			}else{
				return false;
			}
		}
	},
	
	menu3 : {
		min_height : 280, //La hauteur minimale en pixel du menu3.
		min_screen_height: 60, //La hauteur minimale du coeur du menu3.
		marges : 50, // La marge à appliquer lors du calcul automatique de la taille du coeur.
		time_fadeEffect : 600, //Durée de base pour un effet fondu.
		time_scrollEffect : 500, //Durée de base pour le redimensionnement du coeur.
		s_hs : 0, // La hauteur du coeur.
		s_hc : 0, // La hauteur du contenu.
		s_active : false, //Drapeau renseignant l'activité du scroll.
		scrollTime : function () {
			if (bluering.is_IE()) {
				return 0;
			}else{
				return 500;
			}
		},
		
		resize : function (h,time,time2) {

			if (!time) {
				time=bluering.menu3.time_scrollEffect;
			}
			
			if (!time2) {
				time2=bluering.menu3.time_fadeEffect;
			}
		
			if (h < bluering.menu3.min_height) {
				h=bluering.menu3.min_height;
			}
			
					$('#menu3').css({'height':h+"px"});

					var sh=h-bluering.menu3.marges-$('#menu3 h1').height();
					if (is_home) sh -= 28;
					if (sh < bluering.menu3.min_screen_height) {
						sh=bluering.menu3.min_screen_height;
					}
					bluering.menu3.s_hs = sh;
					$('#menu3_screen').animate({'height':sh+"px"},time,function() {	
						if (bluering.is_IE()) {
							$('#menu3').css({'filter':'alpha(opacity=80)'}); 
						}
					});
					
					bluering.menu3.scrollinit();
					

		},
		
		scrollup: function() {
			
			var cur_marge = parseInt($('#menu3_contenu').css('margin-top').replace('px',''));
			if (!cur_marge) {
				cur_marge=0;
			}
			
			if (bluering.is_IE()) {
				$('#menu3').css({'filter':'alpha(opacity=80)'}); 
			}
			
			if (cur_marge < 0)  {
			
				var move = Math.round(bluering.menu3.s_hs*0.8);
				var mtop = 0;
				
				if ((cur_marge+move) >= 0) {
					mtop = 0;
					$('#menu3_scrollup').hide(0);
				} else {
					mtop = cur_marge + move;
				}
				
				//if (mtop == 0 && bluering.menu3.s_active) {
				//	$('#menu3_scrolldown').show(0);
				//}
				var cur_marge = parseInt($('#menu3_contenu').css('margin-top').replace('px',''));
				if ( cur_marge < bluering.menu3.s_diff) {
					$('#menu3_scrolldown').show(0);
				}
				
				$('#menu3_contenu').animate({marginTop:mtop+'px'},bluering.menu3.scrollTime());
			
			}
			
		},
		
		scrolldown: function() {
		
			var cur_marge = parseInt($('#menu3_contenu').css('margin-top').replace('px',''));
			
			if (!cur_marge) {
				cur_marge=0;
			}
			
			if (bluering.is_IE()) {
				$('#menu3').css({'filter':'alpha(opacity=80)'}); 
			}
			
			if (cur_marge < bluering.menu3.s_diff)  {
			
				var move = Math.round(bluering.menu3.s_hs*0.8);
				var mtop = 0
				
				if (Math.abs(cur_marge-move) >= bluering.menu3.s_diff) {
					$('#menu3_scrolldown').hide(0);
					mtop = -bluering.menu3.s_diff;
				} else {
					mtop = cur_marge - move;
				}
				
				if (mtop >= -bluering.menu3.s_diff) {
					$('#menu3_scrollup').show(0);
				}
				
				$('#menu3_contenu').animate({marginTop:mtop+'px'},bluering.menu3.scrollTime());
				
			}
			
		},
		
		scrollinit: function() {
		
			bluering.menu3.s_hc = $('#menu3_contenu').height();
			
			if (bluering.menu3.s_hs == 0) {
				bluering.menu3.s_hs = $('#menu3_screen').height();
			}
			bluering.menu3.s_diff = bluering.menu3.s_hc - bluering.menu3.s_hs;
			
			
			if ($('#menu3_contenu').css('margin-top')) {
				if ($('#menu3_contenu').css('margin-top')!='auto') {
					var cur_marge = parseInt($('#menu3_contenu').css('margin-top').replace('px',''));
				}else{
					var cur_marge=0;
					$('#menu3_contenu').css({'margin-top':cur_marge+'px'},0);
				}
			}else{
				var cur_marge=0;
				$('#menu3_contenu').css({'margin-top':cur_marge+'px'},0);
			}
			
			if (bluering.menu3.s_hc > bluering.menu3.s_hs)  {
			
				bluering.menu3.s_active = true;
				bluering.menu3.s_diff = bluering.menu3.s_hc - bluering.menu3.s_hs;				
				
				if (cur_marge == 0) {
					$('#menu3_scrollup').hide(0);
				}
				
				if (cur_marge != bluering.menu3.s_diff) {
					$('#menu3_scrolldown').show(0);
				}
				
			} else {
			
				bluering.menu3.s_active = false;
				if (cur_marge == 0) {
					$('#menu3_scrollup').hide(0);
				} else {
					$('#menu3_scrollup').show(0);
				}
				$('#menu3_scrolldown').hide(0);
				
			}
		
		}
		
	},
	
	Photo:	function (ppos,pid,pw,ph) {
	
		this.pos=ppos;
		this.id=pid;
		this.w=pw;
		this.h=ph;
		
	}

}



