var intnum = 0;
var SideRoller = new Class({
	initialize: function(element, options) {
		this.d = 0;
		this.element = $(element);
		this.options = options;
		this.children = this.element.getFirst().getChildren();
		this.buttonRight = $(this.options.right);
		this.buttonLeft = $(this.options.left);
		this.currentPosition = 0;

		if (this.children.length > this.options.visibleChildren) {
			this.buttonRight.show();
			//this.buttonRight.onclick = this.scrollRight.bindWithEvent(this);
			this.buttonRight.onmouseover = this.slideRight.bindWithEvent(this);
			this.buttonRight.onmouseout = this.slideoutRight.bindWithEvent(this);
			this.buttonLeft.show();
			//this.buttonLeft.onclick = this.scrollLeft.bindWithEvent(this);
			this.buttonLeft.onmouseover = this.slideLeft.bindWithEvent(this);	
			this.buttonLeft.onmouseout = this.slideoutLeft.bindWithEvent(this);
			this.update();
		}
	},
	isAtFirst: function() {
		var scroller = this.element.getFirst();
		var start = parseInt(scroller.getStyle('left'));
		var end = (-(this.children.length-this.options.visibleChildren) * this.options.positionSize);
		if(start == 0){
			return true;
		}
	}, 
	isAtLast: function() {
		var scroller = this.element.getFirst();
		var start = parseInt(scroller.getStyle('left'));
		var end = (-(this.children.length-this.options.visibleChildren) * this.options.positionSize);
		if(start == end){
			return true;
		}
	}, 
	update: function() {
		if (this.isAtFirst()) {
			this.buttonLeft.addClass('disabled').addClass('disabled-previous');
		} else {
			this.buttonLeft.removeClass('disabled').removeClass('disabled-previous');
		} 
		
		if (this.isAtLast()) {
			this.buttonRight.addClass('disabled').addClass('disabled-next');
		} else {
			this.buttonRight.removeClass('disabled').removeClass('disabled-next');
		}
	},
	slideRight: function(e){
		this.buttonRight.addClass('disabled').addClass('test');
		this.buttonLeft.removeClass('disabled').removeClass('test');
		if (this.isAtFirst()) {
			this.buttonLeft.addClass('disabled').addClass('disabled-previous');
		} else {
			this.buttonLeft.removeClass('disabled').removeClass('disabled-previous');
		} 
		
		if (this.isAtLast()) {
			this.buttonRight.addClass('disabled').addClass('disabled-next');
		} else {
			this.buttonRight.removeClass('disabled').removeClass('disabled-next');
		}
		var scroller = this.element.getFirst();
		var start = parseInt(scroller.getStyle('left'));
		var end = (-(this.children.length-this.options.visibleChildren) * this.options.positionSize);
		var dur = 2500;
		if(start < -170){
			dur = 1000;
		}else if(start < -340){
			dur = 1750;
		}
		if (start != end){
			this.fxobjR = new Fx.Style(this.element.getFirst(), 'left',{duration: dur}).start(start, end);
		}
		return false;
	},
	slideoutRight: function(e){
		this.buttonRight.removeClass('disabled').removeClass('test');
		if (this.isAtFirst()) {
			this.buttonLeft.addClass('disabled').addClass('disabled-previous');
		} else {
			this.buttonLeft.removeClass('disabled').removeClass('disabled-previous');
		} 
		
		if (this.isAtLast()) {
			this.buttonRight.addClass('disabled').addClass('disabled-next');
		} else {
			this.buttonRight.removeClass('disabled').removeClass('disabled-next');
		}
		var scroller = this.element.getFirst();
		var start = parseInt(scroller.getStyle('left'));
		var end = (-(this.children.length-this.options.visibleChildren) * this.options.positionSize);
		if (start != end){
			this.fxobjR.stop();
		}
		return false;
	},
	slideLeft: function(e){
		this.buttonLeft.addClass('disabled').addClass('test');
		this.buttonRight.removeClass('disabled').removeClass('test');
		if (this.isAtFirst()) {
			this.buttonLeft.addClass('disabled').addClass('disabled-previous');
		} else {
			this.buttonLeft.removeClass('disabled').removeClass('disabled-previous');
		} 
		
		if (this.isAtLast()) {
			this.buttonRight.addClass('disabled').addClass('disabled-next');
		} else {
			this.buttonRight.removeClass('disabled').removeClass('disabled-next');
		}
		var scroller = this.element.getFirst();
		var start = parseInt(scroller.getStyle('left'));
		var end = 0;
		var dur = 2500;
		if(start > -170){
			dur = 1000;
		}else if(start > -340){
			dur = 1750;
		}
		if (start != end){
			this.fxobjL = new Fx.Style(this.element.getFirst(), 'left',{duration: dur}).start(start, end);
		}
		return false;
	},
	slideoutLeft: function(e){
		this.buttonLeft.removeClass('disabled').removeClass('test');
		if (this.isAtFirst()) {
			this.buttonLeft.addClass('disabled').addClass('disabled-previous');
		} else {
			this.buttonLeft.removeClass('disabled').removeClass('disabled-previous');
		} 
		
		if (this.isAtLast()) {
			this.buttonRight.addClass('disabled').addClass('disabled-next');
		} else {
			this.buttonRight.removeClass('disabled').removeClass('disabled-next');
		}
		var scroller = this.element.getFirst();
		var start = parseInt(scroller.getStyle('left'));
		var end = 0;
		if (start != end){
			this.fxobjL.stop();
		}
		return false;
	}
});

window.onDomReady(function() {
    if ($('categories-secondary'))
		  new SideRoller($('categories-secondary'), {right: 'stories-next', left: 'stories-prev', visibleChildren: 5, positionSize: 130});
});


