 var Slider = new Class.create
({
	num: 0,
	width: 0,
	current: 0,
	inner: null,
	duration: .5,
	timer: false,
	timer_interval: 5000,
	timerDirection: true,
	
	parse: function()
	{
		if ($$('.sliderFront').length)
		{
			$$('.sliderFront').each(function(s)
			{
				this.initSlider(s);
			},this);
		}
	},

	initSlider: function(container)
	{
		var num = container.select('.area').length;
		
		if (num)
		{
			$(container).writeAttribute("rel", $(container).select('.area').shift().getWidth()+'/'+num+'/0');
			$(container).select('.sliderButton').each(function(el) { el.observe('click', this.move.bind(this)); },this);

			if (!$(container).next('.content_wrap'))
				var curr = $(container).up('.content_wrap').next('.content_wrap').down('.event_detail .text');
			else
				var curr = $(container).next('.content_wrap').down('.event_detail .text');

			if (curr)
			{
				if (curr.id && $(container).select('.item'+curr.id).length)
				{
					var currSlider = $(container).select('.item'+curr.id).shift();
					var firstSlider = $(container).select('.area').shift();
					var len = currSlider.previousSiblings().length;
					(currSlider) && this.move( false, len - (currSlider == firstSlider ? 1 : 0), container );
				}
			}
		}
	},
	
	move: function(event, forceCurrent, container)
	{
		if (!container || !$(container).hasClassName("sliderFront"))
			container = event.target.up('.sliderFront');
			
		//var container = this.container;
		var rel = container.readAttribute("rel").split("/");

		var width = rel[0];
		var num = rel[1];
		var current = parseInt(rel[2]);

		var direction = event && event.target.hasClassName("sliderLeft") ? -1 : 1;

		((direction < 0 && current+direction >= 0) || (direction > 0 && current+direction < num)) && (current += direction);

		if (forceCurrent) { current = (forceCurrent-1 > 0 ? forceCurrent-1 : forceCurrent); }
		
		Effect.Queues.get('myscope').each(function(effect) { effect.cancel(); });

		new Effect.Morph(container.select(".sliderInner").shift(), { style: "left: -"+(current*width)+'px', duration: this.duration, queue: 'front', transition: Effect.Transitions.sinoidal });

		$(container).writeAttribute("rel", width +'/'+ num +'/'+ current);
	}

});

var slider = new Slider();
document.observe('dom:loaded', function() { slider.parse(); });

