
if (this.SlideShow) SlideShow.Handles = new Class({

	Extends: SlideShow,
	
	options: {
		handleWrapper: null
	},

	setupHandles: function(){
		var handleWrapper = this.options.handleWrapper,
			slides = this.slides, self = this;
		if (!handleWrapper || slides.length <= 1) return this;
		var handles = this.handles = [];
		slides.each(function(slide, index){
			handles.push(new Element('div', {
				'class': 'slideHandle',
				html: '&bull;',
				events: {click: function(){
					self.show(index).pause();
				}}
			}).inject(handleWrapper));
		});
		handles[0].addClass('active');
	},

	setup: function(){
		this.parent.apply(this, arguments);
		this.setupHandles();
		this.addEvent('show', function(data){
			this.handles[data.previous.index].removeClass('active');			
			this.handles[data.next.index].addClass('active');
		}.bind(this));
	}

});


addEvent('domready', function () {

	$('text').getElements('ul#nav > li > a').each(function (el){
		el.set('morph', {
			duration: 300
		}).addEvents({
			mouseenter: el.morph.pass('.menu_item_hover', el),
			mouseleave: el.morph.pass('.menu_item', el)
		});
	});

	$$('.homeheader').each(function (el){
		var oldheight = el.getStyle('height');
		el.set('tween', {
			property: 'height',
			transition: 'expo:out'
		}).addEvents({
			mouseenter: el.tween.pass(390, el),
			mouseleave: el.tween.pass(oldheight, el)
		});
	});

	$$('.homecategory').each(function(el){
		var text = el.getElement('.text'),
			oldbottom = text.getStyle('bottom');
		text.set('tween', {
			property: 'bottom',
			duration: 100
		});
		el.addEvents({
			mouseenter: text.tween.pass(0, text),
			mouseleave: text.tween.pass(oldbottom, text)
		})
	});
	
	var bikeImages = document.getElement('.bike-image');
	if (this.SlideShow && bikeImages){

		new SlideShow.Handles(bikeImages, {
			autoplay: true,
			delay: 4000,
			selector: 'img',
			transition: 'pushRight',
			handleWrapper: new Element('div.slideHandles').inject(bikeImages)
		});

		var imageHover = (document.html.style.opacity != null) ? {
			property: 'opacity', enter: 0.2, leave: 1
		} : {
			property: 'top', enter: -40, leave: 0
		};

		var bikeTitle = bikeImages.getElement('.toptext').set('tween', {
			duration: 'short',
			property: imageHover.property
		});
		bikeImages.addEvents({
			mouseenter: bikeTitle.tween.pass(imageHover.enter, bikeTitle),
			mouseleave: bikeTitle.tween.pass(imageHover.leave, bikeTitle)
		});

		var bikeAttributes = document.getElement('.bike-attributes-wrapper');
		if (bikeAttributes){
			var AttributeSlideshow = new SlideShow.Handles(bikeAttributes, {
				selector: 'div.slide',
				transition: 'fadeThroughBackground',
				handleWrapper: new Element('div.slideHandles').inject(bikeAttributes)
			});
		}

	}
	
});

