/*--------------------------------------------------------------------------------------
	JS Document (JavaScript / MS JScript)

	project:	Areva New Home
	created:	2008-03-10 (yyy-mm-dd)
	modified:	2008-03-10 (yyy-mm-dd)
	version:	1.0
	author:		Yves Van Goethem
	email:		yvangoethem@digitas.com
	website:	http://www.digitas.fr

	Summary :	SLIDESHOW
				POPIN
-------------------------------------------------------------------------------------- */
var msIE/*@cc_on=true@*/;


/*	=SLIDESHOW
-------------------------------------------------------------------------------------- */
var handleSlides = function() {
	var nav = document.getElementById('dynamic-nav-1');
	var links = nav.getElementsByTagName('a');
	var slides = [];
	
	var animStatus = true;
	var animSlide = 0;
	var animTimer = 8000; // millisecond
	var animBreak = 12000;
	var animInterval;
	
	var setLinks = function() {
		for (var i = 0; i < links.length; ++i) {
			links[i].className = '';
			var str = links[i].href;
			var str = String(str).substring(str.length, str.length - 1) - 1;
			links[i].slidenb = str;
			links[i].onclick = function() {
				nb = this.slidenb;
				setLinksStyles(nb);
				showSlide(nb);
				breakAnimation();
				animSlide = nb+1;
				return false;
			};
		}
	};
	var setLinksStyles = function(nb) {
		forEach(links, 'className', '');
		links[nb].className = 'actif-link';
	};
	var showSlide = function(nb) {
		forEach(slides, 'style', 'display', 'none');
		slides[nb].style.display = 'block';
		slides[nb].style.visibility = 'visible';
		slides[nb].style.zIndex = 15;
	};
	var forEach = function(elm, property, argument, value) {
		for (var i = 0; i < elm.length; ++i) {
			if (value)
				elm[i][property][argument] = value;
			else
				elm[i][property] = argument;
		}
	};
	var setSlides = function() {
		var x = document.getElementsByTagName('div');
		for (var i = 0; i < x.length; ++i) {
			if (x[i].className.match(/\bdynamic-content\b/))
				slides.push(x[i]);
		}
	};
	var verifyURI = function() {
		var str = window.location.toString();
		var str = str.split('a-la-une')[1];
		if (str) {
			if (!isNaN(str.split('###')[1]))
				return str.split('###')[1]-1;
		}
		else
			return false;
	};
	var breakAnimation = function() {
		animStatus = false;
		var breakedAnim = setTimeout(
			function() {
				animStatus = true;
				clearInterval(breakedAnim);
			}, 
		animBreak);
	};
	var slideAnimation = function(nb) {
		var animIn;
		var animOut;
		animSlide = nb;
		var _slidesInit = function() {
			forEach(slides, 'style', 'position', 'absolute');
			forEach(slides, 'style', 'visibility', 'hidden');
			forEach(slides, 'style', 'zIndex', '0');
			forEach(slides, 'style', 'display', 'block');
		};
		var _animInit = function() {
			_slidesInit();
			_opacity(slides[animSlide], 0);
			_animLaunch();
			animInterval = setInterval(
				function() {
					_animLaunch();
				}
			,animTimer);
		};
		var _animLaunch = function() {
			if (animStatus){
				_setSlideSequence();
				_fadeSlides();
			}
		};
		var _setSlideSequence = function() {
			if (animSlide == slides.length)
				animSlide = 0;
			animIn = slides[animSlide];
			++animSlide;
			animOut = slides[animSlide];
		};
		var _fadeSlides = function() {
			var opacityIn = 0;
			var setFadeIn;
			_slidesInit();
			setLinksStyles(animSlide-1);
			__fadeIn = function() {
				animIn.style.visibility = 'visible';
				animIn.style.zIndex = 15;
				if (opacityIn < 100) {
					opacityIn = opacityIn+10;
					_opacity(animIn, opacityIn);
					setFadeIn = setTimeout(function() { __fadeIn(); },25);
				}
				else if (opacityIn >= 100) {
					clearTimeout(setFadeIn);
				}
			};
			__fadeOut = function() {
				try { animOut.style.zIndex = 10; } catch(e) {}
			};
			__fadeIn();
			__fadeOut();
		};
		var _opacity = function(elm, val) {
			elm.style.WebkitOpacity = val/100;
			elm.style.KhtmlOpacity = val/100;
			elm.style.MozOpacity = val/100;
			elm.style.opacity = val/100;
			if (msIE) {
				elm.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity='+val+')';
			}
		};
		_animInit();
	};
	return {
		go : function() {
			setLinks(); // init JS : links
			setSlides(); // init JS : slides
			
			 // verify the URI : is there a wanted slide ?
			if (verifyURI() != 0)
				slideNb = verifyURI();
			else
				slideNb = 0;
				
			setLinksStyles(slideNb); // set the style of the link
			showSlide(slideNb); // show the wanted slide
			
			slideAnimation(slideNb); // launches slideshow
		}
	};
};


/*	=POPIN
-------------------------------------------------------------------------------------- */
var handlePopin = function(id) {
	var popin = document.getElementById(id);
	var popinConfigure = function() {
		var elms = popin.getElementsByTagName('*');
		for (var i = 0; i < elms.length; ++i) {
			if (elms[i].className.match(/\bclose-link\b/)) {
				elms[i].onclick = function() {
					popinClose();
				};
			}
		}
	};
	var popinClose = function() {
		popin.style.display = 'none';
		setCookie("alreadyclosed"+locale,"yes");
	};
	return {
		open : function() {
			popinConfigure();
			popin.style.display = 'block';
		}
	};
};

















