function SlideNews(element, param) {
	this.slideInProgress = false;
	this.width = '300';
	this.nb_pages = '1';
	this.current_page = '1';
	this.element = null;
	this.elementLeft = null;
	this.elementRight = null;
	
	this.initialize(element, param);
}

SlideNews.prototype.initialize = function(element, param) {
	if (typeof(param['width'])!='undefined')
		this.width = param['width'];
	
	if (typeof(param['nb_pages'])!='undefined')
		this.nb_pages = param['nb_pages'];
	
	if (typeof(param['current_page'])!='undefined')
		this.current_page = param['current_page'];
	
	if (this.element = $(element)) {
		this.elementLeft  = $(this.element.id+'_toLeft');
		this.elementRight = $(this.element.id+'_toRight');
		this.updateSlideNewsItems();
	}
};

SlideNews.prototype.updateSlideNewsItems = function() {	
	var objSlide = this;
	
	if (this.elementLeft)
		this.elementLeft.onclick = function () { objSlide.start(objSlide, true,  this); return false; }
	
	if (this.elementRight)
		this.elementRight.onclick = function () { objSlide.start(objSlide, false, this); return false; }
		
	this.reload();
};

SlideNews.prototype.start = function(objSlide, toLeft, button) {
	if (objSlide.slideInProgress === false) {
		var elemLeft = objSlide.element.offsetLeft;
		objSlide.slideInProgress = true;
		if (toLeft === true && eval(elemLeft*(-1)) > 0) {
			objSlide.current_page = objSlide.current_page - 1;
			var rel = button.getAttribute('rel');
			var prev_page = (objSlide.current_page - 1 < 0 ? objSlide.current_page : objSlide.current_page - 1);
			var reg = new RegExp("(PREV_PAGE)", "g");
			rel = rel.replace(reg, prev_page);
			var reg = new RegExp("(NB_PAGES)", "g");
			rel = rel.replace(reg, objSlide.nb_pages);
			new Effect.Morph(objSlide.element, { style:'left:'+eval(elemLeft+objSlide.width)+'px', duration:0.4, beforeStart:function(){eval(rel);}, afterFinish:function(){objSlide.reload();} } );
		} else if (toLeft === false && eval(elemLeft*(-1)) < eval(objSlide.width*(objSlide.nb_pages-1))) {
			objSlide.current_page = objSlide.current_page + 1;
			var rel = button.getAttribute('rel');
			var next_page = (objSlide.current_page + 1 > objSlide.nb_pages+1 ? objSlide.nb_pages : objSlide.current_page + 1);
			var reg = new RegExp("(NB_PAGES)", "g");
			rel = rel.replace(reg, objSlide.nb_pages);
			var reg = new RegExp("(NEXT_PAGE)", "g");
			rel = rel.replace(reg, next_page);
			new Effect.Morph(objSlide.element, { style:'left:'+eval(elemLeft-objSlide.width)+'px', duration:0.4, beforeStart:function(){eval(rel);}, afterFinish:function(){objSlide.reload();} } );
		} else {
			objSlide.slideInProgress = false;
		}
	}
};

SlideNews.prototype.reload = function() {
	this.slideInProgress = false;
	
	if (this.elementLeft && this.current_page <= 1)
		this.elementLeft.hide();
	else
		this.elementLeft.show();
	
	if (this.elementRight && this.current_page >= this.nb_pages)
		this.elementRight.hide();
	else
		this.elementRight.show();
}