window.addEvent('domready', function() {
    
    var promoSlider = $('promoslider');
    
    if (promoSlider) {
    	
    	var slidesel = 1; // Currently selected index
    	var pause = false; // Whether cycling is paused or not
    	var timeout = 8; // Cycle time in seconds
    	var items = 0; // Total number of items
    	var autocycle = true; // Whether auto cycle is on
    	var cycler;
    	
        // init slider box
    	var frontSmallScroll = new Fx.Scroll('frontsmallslider', {
    		wait: false,
    		duration: 500,
    		transition: Fx.Transitions.Quad.easeInOut
    	});
	    
	    promoSlider.addEvents({
	        'mouseenter': function() {
	            pause = true;
	        },
	        'mouseleave': function() {
	            pause = false;
	        }
	    });
	    
    	function slideTo(index) {
    	    if (slidesel != index) {
    			frontSmallScroll.toElement('smallslider-item'+index);
    			$('slidenum'+index).addClass('numsel');
    			$('slidenum'+slidesel).removeClass('numsel');
    			slidesel = index;
    		}
    	}
	
    	// Add click events to scroll box links
	
    	for (var i=1; i <= 3; i++) {
	    
    	    var numEl = $('slidenum'+i);
    	    var slideEl = $('smallslider-item'+i);
	    
    	    if (numEl && slideEl) {
    	        items++;
    	        numEl.addEvent('click', function(event) {
    	            event = new Event(event).stop();
            		autocycle = false;
            		var index = this.id.replace("slidenum", "").toInt();
            		slideTo(index);
    	        });
    	    }
    	}
		
		// Cycle function
		
		var tgt = 1; // Target item number
	    
    	function cycle() {
    	    if (autocycle) {
    	        if (!pause) {
            	    if (slidesel == items) {
            	        tgt = 1;
            	    } else {
            	        tgt++;
            	    }
            	    slideTo(tgt);
        	    }
    	    } else {
    	        window.clearInterval(cycler);
    	    }
    	}
	
    	if (items > 1) {
    	    frontSmallScroll.toElement('smallslider-item'+slidesel);
			cycler = cycle.periodical(timeout*1000);
	    }
    	
	}
	
});