/* slideCarousel */
var SlideCarousel = new Class({
    options: {
    	slides: [],
    	active: true,
			slideDuration: 1000,
			period: 3000
    },
    initialize: function(options){
			
      this.setOptions(options);
      
      /* elements */				
      this.carousel = this.options.carousel;
      this.slides = $(this.carousel).getElements('.item');
      this.carouselslider = $( this.carousel).getElement('.carouselslider');
			this.item = this.slides[0];
			this.counter = 1;
			this.marginLeft = 0;
			
			this.period = this.options.period;
			this.slideDuration = this.options.slideDuration;
			
			/* clone elements 2x */				
			this.slides.each(function(element){
				element.clone().injectAfter(this.carouselslider.getLast());
			}.bind(this));
			this.slides.each(function(element){
				element.clone().injectAfter(this.carouselslider.getLast());
			}.bind(this));
			this.slides.each(function(element){
				element.clone().injectAfter(this.carouselslider.getLast());
			}.bind(this));
			
			/* slider movement effect */ 
			this.fx = new Fx.Styles(this.carouselslider, {duration:this.slideDuration, wait:false, transition: Fx.Transitions.Quad.easeInOut});
			
			/* start slider */
			this.slide.bind(this).periodical(this.period);
    },
		
		slide: function(event){
										
			if (this.counter == this.slides.length+1) {
				this.counter = 1;
				this.marginLeft = 0;
				this.carouselslider.setStyle("margin-left", 0);
			} 
			width = this.slides[this.counter-1].getSize('width').size.x+10;
			this.marginLeft = this.marginLeft-width;
			this.fx.start({"margin-left": (this.marginLeft)});
			this.counter += 1;	

			
		}        
});
SlideCarousel.implement(new Options);
SlideCarousel.implement(new Events);
SlideCarousel.implement(new Chain);

// Start Boxes


var StartBoxes = new Class({
	
		options: {
		},

		initialize: function(options){
			this.setOptions(options);

			var elements = $$('.carousel .item');
			
			elements.addEvent('mouseenter', function(){
				this.addClass('over');
			});	
			elements.addEvent('mouseleave', function(){
				this.removeClass('over');
			});
			
			elements.each(function(element) {
				el = $(element);
				var fx = new Fx.Styles(el, {duration:500, wait:false, transition: Fx.Transitions.Quad.easeIn});
				
				el.setStyle('opacity', 1);
//				el.setStyle('visibility', 'hidden');
						
				element.addEvent('mouseenter', function(){
					fx.clearChain();
					fx.element.setStyle('visibility', 'visible');					
					fx.start({'opacity': 0.75});
		
				});
				
				element.addEvent('mouseleave', function(){
					fx.clearChain();
					fx.start({'opacity': 1});
				});				
			});
			
			
		}
});
StartBoxes.implement(new Events);
StartBoxes.implement(new Options);
StartBoxes.implement(new Chain);

/*
window.addEvent('domready', function(){
	var slider = new SlideCarousel({
		carousel: $('carousel')
	});		
	new StartBoxes();
});*/
