YAHOO.namespace('Cazaux.SavoirFaire');
/*
*  method
*  Initialise la page, effectue l'animation d'intro
*/
YAHOO.Cazaux.SavoirFaire.init = function(){
	var pics = [];
	var region = Dom.getRegion('left');
	var _width = region.right - region.left;
	if(YAHOO.env.ua.ie) {																	/// Pb IE et opacité
		var txt_region = Dom.getRegion(Dom.getFirstChild('text'));
		var txt_width = txt_region.right - txt_region.left;
		Dom.setStyle('left', 'overflow', 'hidden');
		Dom.setStyle('text', 'width', txt_width+'px');
		delete txt_width;
		delete txt_region;
	}
	else
		Dom.setStyle('text', 'opacity', '0');	
	Dom.setStyle('left', 'width', '0');
	var a = new Anim('left', {width: {to: _width}}, 1);
		if(!UA.ie) Dom.setStyle('right', 'opacity', '0');
		else Dom.setStyle('right', 'visibility', 'hidden');
	Dom.setStyle('left', 'visibility', '');
	a.onComplete.subscribe(function(){
		if(YAHOO.env.ua.ie) {
			Dom.setStyle('text', 'display', '');
			Dom.setStyle('right', 'visibility', 'visible');
		}
		else {
			new Anim('text', {opacity: {from: 0, to: 1}}, 0.7).animate();
			new Anim('right', {opacity: {from: 0, to: 1}}, 0.7).animate();
		}
	});
	delete region;
	delete _width;

	var region = Dom.getRegion('right');
	var _width = region.right - region.left;
	delete region;
	delete _width;
	Dom.setStyle('right', 'width', '200px');
	if(YAHOO.env.ua.ie && YAHOO.env.ua.ie < 7)
		Dom.setStyle('right', 'margin-right', (_width-200)/2.0+'px');   //IE :  doit diviser par 2 pour obtenir la bonne valeur. A expliquer
	else
	Dom.setStyle('right', 'margin-right', (_width-200)+'px');

	for (var i in data) { pics.push(data[i].pic); };
	var slide = new SlideShow(pics, data, {
		rootNode: 'slideshow',
		auto: {
			enabled: false,
			delay: 3000
		},
		appear: YAHOO.Cazaux.SavoirFaire.Effects.Appear,
		fadeBack: YAHOO.Cazaux.SavoirFaire.Effects.Fade,
		appearBack: YAHOO.Cazaux.SavoirFaire.Effects.Appear,
		fade: YAHOO.Cazaux.SavoirFaire.Effects.Fade,
		render: YAHOO.Cazaux.SavoirFaire.RenderSlideShowElements
	});
	slide.setControls();
	slide.activateControls()
	slide.render();
	if(slide.auto.enabled)
		slide._play();
	else
		slide._forward();
		slide.onControlEvent();
		
	// console.log(YAHOO.env.ua.webkit)
	if(UA.webkit) {
		Dom.setStyle('right', 'position', 'absolute');
		Dom.setStyle('right', 'left', '485px');
	}
	Dom.setStyle('handler', 'cursor', 'pointer');
	Event.on('handler', 'click', function(){
		var _r = Dom.getRegion('left');
		if(YAHOO.env.ua.ie) {
			Dom.setStyle('right', 'position', 'absolute');
			Dom.setStyle('right', 'left', '485px');
		}
		// Dom.setStyle('right', 'float', 'left')
		// Dom.setStyle('right', 'margin-left', '20px')
		var b = new Anim('right', {height: {to: _r.bottom-_r.top}, width: {to: _width}, marginRight: {to: 0}}, 1.2, YAHOO.util.Easing.easeOut);
		b.animate();
		Dom.setStyle('handler', 'cursor', 'default');
	});
	var pL = new Ueye.ImgPreloader([Dom.getStyle('savoirfaire', 'background-image').replace('url(', '').replace(')', '').replace(/^.(.*).$/, "$1")]);
	pL.afterLoading.subscribe(function(){
			a.animate();
			b.animate();
	});
	pL.run()
};

/*
*  Collection d'effets pour les animations de cette page.
*/
YAHOO.namespace('Cazaux.SavoirFaire.Effects');
/*
*  Effet d'apparition en fondu
*  L'element est considéré invisible (CSS display:none).
*/
YAHOO.Cazaux.SavoirFaire.Effects.Appear = function(elt) {
	var _current_wrapper = elt;
	var anim = new Anim(_current_wrapper, {opacity: {from: 0, to: 1}}, 0.75);
	anim.onStart.subscribe(function(){
		Dom.setStyle(_current_wrapper, 'opacity', '0');
		Dom.setStyle(_current_wrapper, 'display', '');
		
		var _selected = Dom.getElementsByClassName('selected', null, this.rootNode)[0];
		if(_selected)
			Dom.removeClass(_selected, 'selected');
		Dom.addClass(_current_wrapper, 'selected');
	}, {}, this);
	anim.onComplete.subscribe(function(evt, effect, obj) {
		var ext_obj = obj[0][this.getIndex()];
		Dom.get('etape_name').innerHTML = ext_obj.title;
		// Dom.get('etape_nbr').innerHTML = parseInt(this.getIndex())+1;
	}, [this._extended], this);
	anim.animate();
};
/*
*	 method
*  Effet de disparition en fondu
*  L'element sera rendu invisible après l'effet (CSS: display:none)
*/
YAHOO.Cazaux.SavoirFaire.Effects.Fade = function(elt) {
	var _current_wrapper = elt;
	var anim = new Anim(_current_wrapper, {opacity: {to: 0}}, 0.75);
	anim.onComplete.subscribe(function() {
		Dom.setStyle(_current_wrapper, 'display', 'none');
	}, {}, this);
	anim.animate();
};
/*
*	 method
*  Préparation des éléments dela page sur lesquels les animations s'appliqueront
*/
YAHOO.Cazaux.SavoirFaire.RenderSlideShowElements = function() {
	Dom.setStyle(this.rootNode, 'position', 'relative');
	for (var i in this._data) {
		var _w = document.createElement('div');
		Dom.setStyle(_w, 'position', 'absolute');
		Dom.setStyle(_w, 'overflow', 'hidden');
		Dom.setStyle(_w, 'display', 'none');
		Dom.addClass(_w, 'yui-b');
		Dom.get(this.rootNode).appendChild(_w);
		_w.appendChild(this.getSlideShowElement(i));
	};
	// this.setControls();
};



// Event.on(window, 'load', function(){
// 	var pics_src = [];
// 	for (var i in pics) {
// 		pics_src.push(pics[i].src);
// 	};
// 	var _preLoader = new mYUI.ImgPreloader(pics_src);
// 	_preLoader.afterLoading.subscribe(function(){
// 		new SlideShow(_preLoader.getImages(), pics);
// 	});
// 	_preLoader.run();
// });

