var ScrollControl = Class.create();

ScrollControl.prototype = { 
	opciones : null,
	
	initialize : function() {
		this.opciones = Object.extend({
			incrementos : 300,
			duracion : 3,
			btnUp : null,
			btnDown : null,
			contenedor : null,
			contenido : null
    	}, arguments[0] || {});
    	
    	if(this.opciones.btnUp) Event.observe(this.opciones.btnUp, "click", this.bajar.bind(this));
    	if(this.opciones.btnDown) Event.observe(this.opciones.btnDown, "click", this.subir.bind(this));
	},
	
	subir : function(v){
		limiteSup = parseInt(this.opciones.contenedor.offsetHeight) - parseInt(this.opciones.contenido.offsetHeight);
		
		if(parseInt(this.opciones.contenido.style.top) - this.opciones.incrementos > limiteSup){
			posYFinal = parseInt(this.opciones.contenido.style.top) - this.opciones.incrementos;
		}else{
			posYFinal = limiteSup - 50;
		}
		
		new Effect.Move(this.opciones.contenido, { x: 0, y: posYFinal, mode: 'absolute', duration: this.opciones.duracion});
	},
	
	bajar : function(v){
		limiteSup = 0;
		
		if(parseInt(this.opciones.contenido.style.top) + this.opciones.incrementos < limiteSup){
			posYFinal = parseInt(this.opciones.contenido.style.top) + this.opciones.incrementos;
		}else{
			posYFinal = limiteSup;
		}
		
		new Effect.Move(this.opciones.contenido, { x: 0, y: posYFinal, mode: 'absolute', duration:  this.opciones.duracion});
	},
	
	ajustar : function(){
		if(this.opciones.contenido.offsetHeight + parseInt(this.opciones.contenido.style.top) < 0){
			new Effect.Move(this.opciones.contenido, { x: 0, y: 0, mode: 'absolute', duration:  0.3});
		}
	}
}