var QSlider = new Class({

    currentSlide	: 1,
    totalSlides		: null,
    slideElements	: null,
    locked 	: false,

    initialize : function() {
        if ($('slug') != null) {
	    	this.slideElements = $('slug').getElements('.slideelement');
	        this.totalSlides = this.slideElements.length;
	        var slugWidth = this.totalSlides * 600;
	        if ( this.totalSlides > 1) {
	        	$('slug').style.width = slugWidth + 'px';
		        $('left_link').addEvent('click', this._slideLeft.bind(this));
		        $('left_link').addClass('disabled');
		        $('right_link').addEvent('click', this._slideRight.bind(this));
	        } else {
	        	$('left_link').addClass('disabled');
	        	$('right_link').addClass('disabled');
	        }
        }
    },

    _slideLeft : function() {
        this._slide('left', 600);
    },

    _slideRight : function() {
        this._slide('right', -600);
    },

    _slide : function(direction, moveInc) {
        
        var clickedLink = direction     == 'right' ? 'right_link'   : 'left_link';
        var oppositeLink = direction    == 'right' ? 'left_link'    : 'right_link';
        
        if (!$(clickedLink).hasClass('disabled') && this.locked != true) {
            this.locked = true;
            setTimeout(function(){ this.locked = false; }.bind(this), 1000);

            if ( (direction == 'right' && this.currentSlide + 1 >= this.totalSlides) || (direction == 'left' && this.currentSlide -1 <= 1) ) {
                $(clickedLink).addClass('disabled');
            }

            $(oppositeLink).removeClass('disabled');
            var nextSlide = (moveInc / -600) + this.currentSlide;
            this.showOverlayImage(this.currentSlide, nextSlide);            
            this.currentSlide = nextSlide;

            var move = new Fx.Style('slug', 'margin-left');
            

			var newLeft = $('slug').getStyle('margin-left').toInt();

            move.start(newLeft + moveInc);	
        }
    },

    showOverlayImage : function(currentImage, nextImage) {
		if(window.ie6==true){
			$(this.slideElements[currentImage - 1].id + '_img').setStyle('display','none');
			$(this.slideElements[nextImage - 1].id + '_img').setStyle('display','block');
		} else {
			var outDiv = $(this.slideElements[currentImage - 1].id + '_img').setStyles(
					{   display :'block', 
						opacity : 1 
					});
			new Fx.Style(outDiv, 'opacity', {duration: 100} ).start(0);
				
			var inDiv = $(this.slideElements[nextImage - 1].id + '_img').setStyles(
					{ 
						display :'block', 
						opacity : 0 
					});
			new Fx.Style(inDiv, 'opacity', {duration: 1000} ).start(1)
		}
	}
});

window.addEvent('domready', function() {
    new QSlider();
});