/*
# copyright : Copyright (C) 2007 Squirnet.com. All rights reserved.
# url : http://www.squirnet.com
# mail : copyright@squirnet.com
# update : 2009-11-26
*/

function getId(id) {
	return document.getElementById(id);
}

function addEvent(ele , evt , fn , bCapt) {
	
	if (ele.addEventListener) {
		return ele.addEventListener(evt , fn , bCapt);
	}
	else if (ele.attachEvent){
		return ele.attachEvent('on' + evt , fn);
	}
	else {
		return ele['on' + evt] = fn;
	}
}

var carrousel = {
	cPos : 0,
	cImg: '',
	cLink: '',
	cTitle: '',
	cAction: 'off',
	timing: 7000,
	timeout: 50,
	timeoutSlide: 50,
	step: 5,
	stepSlide: 5,
	avancement: 0,
	avancementSlide: 186,
	
	load: function() {
		carrousel.auto = setInterval("carrousel.cSwitch('auto','','','')" , carrousel.timing);
	},
	
	cSwitch: function(cPos , cImg , cLink , cTitle) {
		if (carrousel.cAction == 'off') {
			if (cPos == 'auto') {
				if (carrousel.cPos >= (cData.length - 1)) {
					carrousel.cPos = 0;
				}
				else {
					carrousel.cPos = +carrousel.cPos + 1;
				}
				carrousel.cImg = cData[carrousel.cPos][0];
				carrousel.cLink = cData[carrousel.cPos][1];
				carrousel.cTitle = cData[carrousel.cPos][2];
			}
			else {
				carrousel.cPos = cPos;
				carrousel.cImg = cImg;
				carrousel.cLink = cLink;
				carrousel.cTitle = cTitle;
			}
			
			carrousel.cAction = 'on';
			carrousel.changeImg();
			carrousel.slide();
			carrousel.fading();
		}
	},
	
	changeImg: function() {
		getId('carrousel_img_2').src = './carrousel/pict/' + carrousel.cImg;
		getId('carrousel_link_2').href = carrousel.cLink;
	},
	
	fading: function() {
		getId('carrousel_div_2').style.display = 'block';
		carrousel.transit = setInterval("carrousel.fadingSTEP()" , carrousel.timeout);
	},
	
	fadingSTEP: function() {
		carrousel.avancement = +carrousel.avancement + carrousel.step;
			var newopacity = carrousel.avancement / 100;
			if (newopacity > 1) {newopacity = 1;}
			getId('carrousel_div_2').style.MozOpacity = newopacity;
			getId('carrousel_div_2').style.KhtmlOpacity = newopacity;
			getId('carrousel_div_2').style.filter='alpha\(opacity=' + newopacity * 100 + '\)';
			getId('carrousel_div_2').style.opacity = newopacity;
		if (carrousel.avancement >= 100) {
			carrousel.avancement = "0";
			clearInterval(carrousel.transit);
			carrousel.cAction = 'off';
			setTimeout("carrousel.transfert()" , 500);
		}
	},
	
	slide: function() {
		carrousel.slideTitle = setInterval("carrousel.slideSTEP('up')" , carrousel.timeoutSlide);
	},
	
	slideSTEP: function(direction) {
		if (direction == 'up') {
			carrousel.avancementSlide = +carrousel.avancementSlide + carrousel.stepSlide;
			getId('carrousel_title').style.top = carrousel.avancementSlide + "px";
			if (carrousel.avancementSlide >= 216) {
				getId('carrousel_title').style.top = carrousel.avancementSlide + "px";
				clearInterval(carrousel.slideTitle);
				carrousel.slideTitle = setInterval("carrousel.slideSTEP('down')" , carrousel.timeoutSlide);
			}
		}
		else {
			getId('carrousel_title_span').innerHTML = carrousel.cTitle;
			carrousel.avancementSlide = +carrousel.avancementSlide - carrousel.stepSlide;
			getId('carrousel_title').style.top = carrousel.avancementSlide + "px";
			if (carrousel.avancementSlide <= 186) {
				carrousel.avancementSlide = "186";
				getId('carrousel_title').style.top = carrousel.avancementSlide + "px";
				clearInterval(carrousel.slideTitle);
			}
		}
	},
	
	transfert: function() {
		getId('carrousel_img_1').src = './carrousel/pict/' + carrousel.cImg;
		getId('carrousel_link_1').href = carrousel.cLink;
		carrousel.fadingRST();
	},
	
	fadingRST: function(id) {
		getId('carrousel_div_2').style.MozOpacity = 0;
		getId('carrousel_div_2').style.KhtmlOpacity = 0;
		getId('carrousel_div_2').style.filter='alpha\(opacity=' + 0 + '\)';
		getId('carrousel_div_2').style.opacity = 0;
		
		getId('carrousel_div_1').style.MozOpacity = 1;
		getId('carrousel_div_1').style.KhtmlOpacity = 1;
		getId('carrousel_div_1').style.filter='alpha\(opacity=' + 100 + '\)';
		getId('carrousel_div_1').style.opacity = 1;
	}
}

addEvent(window , 'load' , carrousel.load , false);

