	// ----------------------------------------------------- //
	//     			Constructeur Objet Image     			 //
	// ----------------------------------------------------- //

	function lib_img(obj)
	{
		this.el = document.getElementById(obj);
		this.name = obj;
  		this.id = obj;
		this.css  = this.el.style;

		// Témoin Opacité
		this.op = 100;

		this.obj = obj + "Object";
		eval(this.obj + "=this");
		
		return this;
	}
	
	// --------------------------------------------- //
	//     			Méthode setStyle    			 //
	// --------------------------------------------- //
	
	lib_img.prototype.setStyle = function(s)
	{
		this.el.style.cssText = s;
		this.el.setAttribute("style",s)
	}
	
	// --------------------------------------------- //
	//     			Méthode setVisibility    		 //
	// --------------------------------------------- //
	
	lib_img.prototype.setVisibility = function(v)
	{
		this.css.visibility = (v)?"visible":"hidden"
	}

	// --------------------------------------------- //
	//     			Méthode setOpacity    			 //
	// --------------------------------------------- //
	
	lib_img.prototype.setOpacity = function(o)
	{
		// flickering bug correction
		o = (o==100)?99.999:o;
		if(navigator.userAgent.match(/MSIE/)) this.css.filter = "alpha(opacity="+o+")";
		else
		{
			// Older Mozilla and Firefox
			this.css.MozOpacity = o/100;
			// Safari<1.2, Konqueror
			this.css.KHTMLOpacity = o/100;
			// Safari 1.2, newer Firefox and Mozilla, CSS3
			this.css.opacity = o/100;
		}
		// Actualize properties
		this.op = o;
	}

	// --------------------------------------------- //
	//     			Méthode fadeIt    		 		 //
	// --------------------------------------------- //

	numFadeFrame = 0;
	lib_img.prototype.fadeIt = function(t,s,end)
	{
		// t = type of evolution
		// s = speed
		if(t == "-")
		{
			if(this.op > 0)
			{
				this.op = this.op - 5;
				this.setOpacity(this.op);
				//numFadeFrame = numFadeFrame + 1;
				setTimeout(this.obj + ".fadeIt('"+t+"',"+s+",'"+end+"')",s); 
			}
			else
			{	
				if(end) eval(end);
				//alert(numFadeFrame)
			}
		}
		
		if(t == "+")
		{
			if(this.op < 100)
			{
				this.op = this.op + 5;
				this.setOpacity(this.op);
				setTimeout(this.obj + ".fadeIt('"+t+"',"+s+",'"+end+"')",s)
			}
			else
			{
				if(end) eval(end);
			}
		}
	}

	function fadeIn(objId,opacity)
	{
		obj = document.getElementById(objId).childNodes[0];
		if(opacity < 100)
		{
			speed = (speed<2)?2:speed;
			// Modify opacity
			setOpacity(obj,opacity);
			opacityDif = Math.ceil((100-opacity)/speed);
			opacity += opacityDif;
			//opacity += 2;
			window.setTimeout("fadeIn('"+objId+"',"+opacity+")",5);
		}
		else setTimeout("swapImages()",delay*1000);
	}

	
	// --------------------------------------------- //
	//     			  Méthode setSrc				 //
	// --------------------------------------------- //
	
	lib_img.prototype.setSrc = function(s)
	{
		this.el.src = s
	}
	
	// NoN-OOP Function
	function switchImage(imgName,imgSrc)
	{
  		if(imgSrc != "none") document.images[imgName].src = imgSrc;
	}
	
	// Ex : simplePreload('img/logo.gif','img/header_img1.jpg')
	function simplePreload()
	{
		var args = simplePreload.arguments;
		document.imageArray = new Array(args.length);
		
		for(var i=0;i<args.length;i++)
		{
			document.imageArray[i] = new Image;
			document.imageArray[i].src = args[i];
		}
	}

	// ------------------------------------------------------- //
	//     			  		Slide Show Classic				   //
	// ------------------------------------------------------- //
	//
	c_im = 0
	// Variable temps
	c_interval = 1000;
	c_constant = 5000;

	var c_time_ch = c_interval + c_constant
	// intervalle pour le changement d'opacité
	var c_speed = 10;
	// Chemin d'accès aux visuels
	var c_path = "/library/img/environment/";

	// Sources des visuels
	c_array = [
					["picture_infront1.png","",471,294],
					["picture_infront2.png","",447,294],
					["picture_infront3.png","",686,291]
				]

	// Concaténation du chemin d'accès au répertoire contenant les visuels
	for(i=0;i<c_array.length;i++) 
	{
		c_array[i][0] = ((c_array[i][0].match(/http:\/\//))?"":c_path) + c_array[i][0];
		// preloading
		simplePreload(c_array[i][0])
	}

	function startClassicSlide(main)
	{	
		// Div container
		var main = document.getElementById(main);
		// Creating tags
		pic = document.createElement('img');
		main.appendChild(pic);
		pic.id = "cls_img";

		obj_pic = new lib_img("cls_img");
		obj_pic.setSrc(c_array[0][0]);

		setTimeout("obj_pic.fadeIn()",c_time_ch);
	}

	
	lib_img.prototype.fadeIn = function()
	{
		
		if(this.op > 0)
		{
			this.setOpacity(this.op -= 5);
			setTimeout(this.obj+".fadeIn()",c_speed)
		}
		else
		{
			if(c_im != c_array.length - 1) c_im += 1;
			else c_im = 0
			
			this.setSrc(c_array[c_im][0]);
			if(this.el.complete) setTimeout(this.obj+".fadeOut()",250);
		}
	}
	
	lib_img.prototype.fadeOut = function()
	{
		if(this.op < 100)
		{
			this.setOpacity(this.op += 5);
			setTimeout(this.obj + ".fadeOut()",c_speed)
		}
		else
		{
			setTimeout(this.obj + ".fadeIn()",c_time_ch);
		}
	}
	

	// ------------------------------------------------------- //
	//     			  	 Slide Show Transition		 	   	   //
	// ------------------------------------------------------- //
	
	// Path folder
	var ss_path = "/library/img/environment/";
	// Src and comment Array
	var ss_item_array = 
	[
		["gb_v1.jpg",""],
		["gb_v2.jpg",""]

	];

	// Concaténation du chemin d'accès au répertoire contenant les visuels + préchargement
	for(i=0;i<ss_item_array.length;i++) 
	{
		ss_item_array[i][0] = ((ss_item_array[i][0].match(/http:\/\//))?"":ss_path) + ss_item_array[i][0];
		// preloading
		simplePreload(ss_item_array[i][0])
	}

	// Count var
	im = 0;
	// Fade speed
	fs = 25;
	// Z-index
	zx = 2;
	// Time between frame
	frame_interval = 1250 + 10000;

	function startSlide(mainDiv)
	{
		var mainDv = document.getElementById(mainDiv);

		document.write('<style type="text/css">\n');
		document.write('<!--\n');
		document.write('#item0, #item1 {position:absolute; left:0px; top:0px; visibility:hidden;}\n');
		document.write('#item0 {z-index:1;}\n');
		document.write('#item1 {z-index:0;}\n');
		document.write('-->\n');
		document.write('</style>');

		// Objet Image 
		for(i=0;i<2;i++)
		{
			// Creating tags
			eval("picture"+i+" = document.createElement('img'); mainDv.appendChild(picture"+i+"); picture"+i+".id = 'item"+i+"';");
			// Creating Object
			eval("obj"+i+" = new lib_img('item"+i+"'); obj"+i+".setSrc(ss_item_array[im+"+i+"][0]); obj"+i+".css.visibility = 'visible';");
		}
		//
		obj0.el.title = ss_item_array[im][1];
		// Start animation
		setTimeout("setFirstFrame()",frame_interval);
	}

	function setFirstFrame()
	{
		// Before start current fading element, verify the followinhas opacity to 100%
		obj1.setOpacity(100);
		zx = zx - 2
		obj1.css.zIndex = zx;
		obj0.el.title = ss_item_array[im+1][1];
		 
		obj0.fadeIt("-",fs,"obj0.setSrc(ss_item_array[im+1][0])");
		
		if(im + 1 != ss_item_array.length - 1) im += 1;
		else im = -1;

		setTimeout("setSecondFrame()",frame_interval);
	}
	
	function setSecondFrame()
	{
		// Before start current fading element, verify the followinhas opacity to 100%
		obj0.setOpacity(100);
		zx = zx - 2
		obj0.css.zIndex = zx;
		obj1.el.title = ss_item_array[im+1][1];

		obj1.fadeIt("-",fs,"obj1.setSrc(ss_item_array[im + 1][0])"); 
		
		if(im + 1 != ss_item_array.length - 1) im += 1;
		else im = -1;

		setTimeout("setFirstFrame()",frame_interval);
	}

