/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	Initializes sliding for s2 teaserboxes
	
	@package: tx_s2teaserbox
	$Id: s2_teaserbox_slide.js 2589 2010-01-04 10:36:07Z rs $
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
(function(){
	if (typeof(MooTools) == 'undefined') 
		return;
	var $ = document.id;
	
	window.addEvent('domready', function(){
		$$('.s2-teaserbox-slider-wrap').each(function(slideWrap){
			var interval = slideWrap.getProperty('class').match(/s2-teaserbox-slider-interval-(\d+)/) ? slideWrap.getProperty('class').match(/s2-teaserbox-slider-interval-(\d+)/)[1] : 0;
			var slideItems = slideWrap.getElements('.s2-teaserbox-slider-item');
			var slideSize = slideItems[0].getDimensions().width + slideItems[0].getStyle('margin-left').toInt() + slideItems[0].getStyle('margin-right').toInt();
			//alert(slideSize);
			var slideBox = slideWrap.getElements('.s2-teaserbox-slider-zone')[0];
			//var test = slideBox.getParent().getDimensions().width;
			//alert(test);
			var maxBoxes = Math.floor(slideBox.getParent().getDimensions().width / slideSize);
			var s2teaserboxslider = new noobSlide({
				box: slideBox,
				items: slideItems,
				size: slideSize,
				autoPlay: interval > 0,
				interval: interval,
				onWalk: function(currentItem, currentHandle){
					//var maxBoxes = Math.floor(this.box.getParent().getDimensions().width / this.size);
					
					if (this.items.length <= maxBoxes) {
						this.stop();
						return;
					}
					
					if (this.currentIndex + maxBoxes >= this.items.length + 1) {
						if (this.currentIndex == this.items.length - 1) {
							this.walk(this.items.length - maxBoxes);
						} else {
							this.walk(0);
						}
					}
				}
			});
			
			if (slideItems.length > maxBoxes) {
				var handleWrap = new Element('div', {
					'class': 's2-teaserbox-slider-handle-wrap'
				}).inject(slideWrap);
				
				var prevButton = new Element('a', {
					'href': 'javascript:void(0);',
					'class': 's2-teaserbox-slider-handle-previous',
					'events': {
						focus: function(e){
							this.blur();
						}
					}
				}).inject(handleWrap);
				s2teaserboxslider.addActionButtons('previous', [prevButton]);
				
				var nextButton = new Element('a', {
					'href': 'javascript:void(0);',
					'class': 's2-teaserbox-slider-handle-next',
					'events': {
						focus: function(e){
							this.blur();
						}
					}
				}).inject(handleWrap);
				s2teaserboxslider.addActionButtons('next', [nextButton]);
			}
		});
	});
})();