
/* +++++++++++++++++++++++++++++++++++
   ++[/FONCTIONS DE POWERSLIDE     ]++
   ++++++++++++++++++++++++++++++++ */
 
window.addEvent('domready', function()
{
	var projector = $$('.projector');
   //$ Calcul des largeurs des Slides
   if(projector.length > 0){
		var numItem = 0;
		
		$$('.projector').each(function(el)
		{
			
			var _mask = el.getElements('.content');                        
			var mask = _mask[0];
                        if(mask)
                        {
                            if(!el.hasClass('verti')){
    				var maskWidth = mask.getStyle('width').toInt();
                            } else {
    				var maskWidth = mask.getStyle('height').toInt();
                            }
                        

			
			
			var _slide = el.getElements('.slide');
			var slide = _slide[0];
			
			var slideWidth = 0;
			var itemTab = slide.getElements('.item');
			var itemWidth = new Array();
			var itemU = itemTab[0];
			var itemTabW = 0;
			var itemTabWnext = 0;
			
			
			if(!el.hasClass('verti')){
				var itemUw = itemU.getStyle('width').toInt() + itemU.getStyle('margin-left').toInt() + itemU.getStyle('margin-right').toInt() + itemU.getStyle('padding-left').toInt()  + itemU.getStyle('padding-right').toInt() + itemU.getStyle('border-left').toInt() + itemU.getStyle('border-right').toInt();
			
				for(i=0; i<itemTab.length; i++){
					slideWidth += itemTab[i].getStyle('width').toInt() + itemTab[i].getStyle('margin-left').toInt() + itemTab[i].getStyle('margin-right').toInt() + itemTab[i].getStyle('padding-left').toInt() + itemTab[i].getStyle('padding-right').toInt() + itemTab[i].getStyle('border-left').toInt() + itemTab[i].getStyle('border-right').toInt();
				}
				
				slide.setStyle('width',slideWidth);
				var itemCount = 0;
				while(itemTabW < maskWidth && itemCount < itemTab.length){
					itemTabW += itemTab[itemCount].getStyle('width').toInt() + itemTab[itemCount].getStyle('margin-left').toInt() + itemTab[itemCount].getStyle('margin-right').toInt() + itemTab[itemCount].getStyle('padding-left').toInt() + itemTab[itemCount].getStyle('padding-right').toInt() + itemTab[itemCount].getStyle('border-left').toInt() + itemTab[itemCount].getStyle('border-right').toInt();
					itemCount++;
				}
				
				var itemDisplayed = itemCount;
			} else {
				var itemUw = itemU.getStyle('height').toInt() + itemU.getStyle('margin-top').toInt() + itemU.getStyle('margin-bottom').toInt() + itemU.getStyle('padding-top').toInt() + itemU.getStyle('padding-bottom').toInt() + itemU.getStyle('border-top').toInt() + itemU.getStyle('border-bottom').toInt();
			
				for(i=0; i<itemTab.length; i++){
					slideWidth += itemTab[i].getStyle('height').toInt() + itemTab[i].getStyle('margin-top').toInt() + itemTab[i].getStyle('margin-bottom').toInt() + itemTab[i].getStyle('padding-top').toInt() + itemTab[i].getStyle('padding-bottom').toInt() + itemTab[i].getStyle('border-top').toInt() + itemTab[i].getStyle('border-bottom').toInt();
				}
				
				slide.setStyle('height',slideWidth);
				var itemCount = 0;
				while(itemTabW < maskWidth && itemCount < itemTab.length){
					itemTabW += itemTab[itemCount].getStyle('height').toInt() + itemTab[itemCount].getStyle('margin-top').toInt() + itemTab[itemCount].getStyle('margin-bottom').toInt() + itemTab[itemCount].getStyle('padding-top').toInt() + itemTab[itemCount].getStyle('padding-bottom').toInt() + itemTab[itemCount].getStyle('border-top').toInt() + itemTab[itemCount].getStyle('border-bottom').toInt();
					itemCount++;
				}
				
				var itemDisplayed = itemCount;
			}
			
			el.numItem = 0;
			el.maxItem = (itemTab.length - itemDisplayed);
			
			
			//$ Effets rolls
			el.getElements('.arrow').each(function(btn)
			{
				var arrowTarget = btn.getElements('span');
				var Target = arrowTarget[0];
				Target.FXbg = new Fx.Tween(Target,{duration: 400});
			
			
				if(slideWidth <= maskWidth){
					btn.removeClass('btn');
					btn.addClass('off');
					
					slide.setStyle('margin-left',-(slideWidth/2));
					
				} else {
					(!el.hasClass('verti'))? slide.setStyle('left',0) : slide.setStyle('left',0);
					slide.setStyle('margin-left',0);
				}
				
				//$ Boutons sous-menu couleur 1
				btn.addEvents(
				{
					'mouseenter' :function(e){
						e.stop();
						Target.FXbg.cancel();
						Target.FXbg.start('opacity',0);
					},
					'mouseleave' :function(e){
						e.stop();
						Target.FXbg.cancel();
						Target.FXbg.start('opacity',1);
					}, 
					'click' :function(e){
						e.stop();
						if(btn.hasClass('btn')){
							var sens = (btn.hasClass('ctrl-left'))? 0 : 1;
							PowerSlide(el, el.numItem, sens);	
						}
					}
				});
			});

                    }
		});
	}
});

function PowerSlide(idBox, pas, sens){
	//$ interpretation du sens
	//(sens == 0)?  sens = '' : sens = '-';
	idBox.numItem = pas;
	//$ D�finition des �l�ments
	var _slide = idBox.getElements('.slide');
	var slide = _slide[0];
	
	var _ctrlLeft = idBox.getElements('.ctrl-left');
	var ctrlLeft = _ctrlLeft[0];
	var _ctrlLeftBtn = idBox.getElements('.ctrl-left span');
	var ctrlLeftBtn = _ctrlLeftBtn[0];
	var _ctrlRight = idBox.getElements('.ctrl-right');
	var ctrlRight = _ctrlRight[0];
	var _ctrlRightBtn = idBox.getElements('.ctrl-right span');
	var ctrlRightBtn = _ctrlRightBtn[0];
	
	idBox.numItem = (sens == 0)? idBox.numItem - 1 : idBox.numItem + 1;
	
	var itemTab = slide.getElements('.item');
	if(!idBox.hasClass('verti')){
		thePos = itemTab[idBox.numItem].getPosition(slide).x;
	}else {
		thePos = itemTab[idBox.numItem].getPosition(slide).y;
	}
	
	var destination = - thePos;
	
	//$ Imputation des animations
	slide.FXMove = new Fx.Tween(slide);
	ctrlLeftBtn.FXBtn = new Fx.Tween(ctrlLeftBtn,{duration: 250});
	ctrlRightBtn.FXBtn = new Fx.Tween(ctrlRightBtn,{duration: 250});
	
	
	slide.FXMove.pause();
	if(!idBox.hasClass('verti')){
		slide.FXMove.start('left', destination);
	} else {
		slide.FXMove.start('top', destination);
	}

	if(idBox.numItem > 0 && idBox.numItem < idBox.maxItem){
		ctrlLeft.removeClass('off');
		ctrlLeft.addClass('btn');
		ctrlRight.removeClass('off');
		ctrlRight.addClass('btn');
	}
		
	if(idBox.numItem == idBox.maxItem){
		ctrlRight.removeClass('btn');
		ctrlRight.addClass('off');
		ctrlLeft.removeClass('off');
		ctrlLeft.addClass('btn');
	}
	if(idBox.numItem == 0){
		ctrlLeft.removeClass('btn');
		ctrlLeft.addClass('off');
		ctrlRight.removeClass('off');
		ctrlRight.addClass('btn');
	}

}


