// Cargando la función en el evento onload
/*
if(typeof window.addEventListener != 'undefined')
{
	//.. gecko, safari, konqueror y otros
	window.addEventListener('load', carga_scroll, false);
}
else if(typeof document.addEventListener != 'undefined')
{
	//.. opera 7
	document.addEventListener('load', carga_scroll, false);
}
else if(typeof window.attachEvent != 'undefined')
{
	//.. win/ie
	window.attachEvent('onload', carga_scroll);
}*/
Event.observe(window,'load',carga_scroll);

var alto_zona = 357;
var ancho_zona = 546;
var velocidad = 30;
var refresco = 100;

var to_farr;
var to_fab;

//var borde_zona = '1px dashed #990000';
var borde_zona = 'none';

function carga_scroll() {
	if ( oculta_def_scroll() ) {
		// Página con scroll
		var zona = $('zona_scroll');
		var botones = $('botones_scroll');
		var contenido = $('contenido_scroll');
		
		var ancho_ant = zona.style.width;
		var of_ant = zona.style.overflow;
		zona.style.width = (ancho_zona - 21) + 'px';
		zona.style.overflow = 'hidden';
		
		var dim_contenido = Element.getDimensions(contenido);
		if ( ( typeof zona != 'undefined' ) && ( typeof botones != 'undefined' ) && ( dim_contenido.height > (alto_zona-velocidad) ) ) {
			botones.style.display = 'block';
			var flecha_arr = $('scroll_flecha_arr');
			var flecha_ab = $('scroll_flecha_ab');
			contenido.style.position = 'absolute';
			contenido.style.top = '0px';
			if ( parseInt(contenido.style.top) >= 0 ) {
				flecha_arr.style.visibility = 'hidden';
				zona.style.borderTop = '';
			}
			else {
				zona.style.borderTop = borde_zona;
			}
			if ( dim_contenido.height <= alto_zona ) {
				flecha_ab.style.visibility = 'hidden';
				zona.style.borderBottom = '';
			}
			else {
				zona.style.borderBottom = borde_zona;
			}
			
			Event.observe(flecha_arr,'click',mueve_scroll_arriba);
			Event.observe(flecha_ab,'click',mueve_scroll_abajo);
			
			Event.observe(flecha_arr,'mouseover',activa_to_flecha_arriba);
			Event.observe(flecha_arr,'mouseout',desactiva_to_flecha_arriba);
			
			Event.observe(flecha_ab,'mouseover',activa_to_flecha_abajo);
			Event.observe(flecha_ab,'mouseout',desactiva_to_flecha_abajo);
			
		}
		else {
			zona.style.width = ancho_ant;
			zona.style.overflow = of_ant;
		}
	}
	else {
		// Página sin scroll
	}
}

function oculta_def_scroll() {
	var zona = $('zona_scroll');
	
	if ( zona !== undefined ) {
		return true;
	}
	else {
		return false;
	}
}

function activa_to_flecha_arriba() {
	to_farr = setInterval('mueve_scroll_arriba()',refresco);
}

function desactiva_to_flecha_arriba() {
	clearInterval(to_farr);
}

function activa_to_flecha_abajo() {
	to_fab = setInterval('mueve_scroll_abajo()',refresco);
}

function desactiva_to_flecha_abajo() {
	clearInterval(to_fab);
}

function mueve_scroll_arriba() {
	var zona = $('zona_scroll');
	var contenido = $('contenido_scroll');
	var flecha_arr = $('scroll_flecha_arr');
	var flecha_ab = $('scroll_flecha_ab');
	var dim_contenido = Element.getDimensions(contenido);
	
	if ( typeof to_c != 'undefined' ) {
		clearInterval(to_c);
	}
	
	if ( parseInt(contenido.style.top) < (0-velocidad) ) {
		contenido.style.top = ( parseInt(contenido.style.top) + velocidad ) + 'px';
	}
	
	if ( parseInt(contenido.style.top) >= (0-velocidad) ) {
		flecha_arr.style.visibility = 'hidden';
		clearInterval(to_farr);
		to_c = setInterval('completa_scroll_arriba()',(parseInt(refresco/velocidad)))
		flecha_ab.style.visibility = 'visible';
		zona.style.borderBottom = borde_zona;
		zona.style.borderTop = '';
	}
	if ( ( dim_contenido.height + parseInt(contenido.style.top) ) > alto_zona ) {
		flecha_ab.style.visibility = 'visible';
		zona.style.borderBottom = borde_zona;
	}
}

function mueve_scroll_abajo() {
	var zona = $('zona_scroll');
	var contenido = $('contenido_scroll');
	var flecha_arr = $('scroll_flecha_arr');
	var flecha_ab = $('scroll_flecha_ab');
	var dim_contenido = Element.getDimensions(contenido);

	if ( typeof to_c != 'undefined' ) {
		clearInterval(to_c);
	}
	
	if ( parseInt(contenido.style.top) < 0 ) {
		flecha_arr.style.visibility = 'visible';
		zona.style.borderTop = borde_zona;
	}
	if ( ( dim_contenido.height + parseInt(contenido.style.top) ) <= (alto_zona+velocidad) ) {
		flecha_ab.style.visibility = 'hidden';
		clearInterval(to_fab);
		to_c = setInterval('completa_scroll_abajo()',(parseInt(refresco/velocidad)))
		flecha_arr.style.visibility = 'visible';
		zona.style.borderTop = borde_zona;
		zona.style.borderBottom = '';
	}
	else {
		contenido.style.top = ( parseInt(contenido.style.top) - velocidad ) + 'px';
	}
}

function completa_scroll_arriba() {
	var zona = $('zona_scroll');
	var contenido = $('contenido_scroll');
	var flecha_arr = $('scroll_flecha_arr');
	var flecha_ab = $('scroll_flecha_ab');
	var dim_contenido = Element.getDimensions(contenido);

	contenido.style.top = ( parseInt(contenido.style.top) + 1 ) + 'px';
	
	if ( parseInt(contenido.style.top) >= 0 ) {
		clearInterval(to_c);
	}
}

function completa_scroll_abajo() {
	var zona = $('zona_scroll');
	var contenido = $('contenido_scroll');
	var flecha_arr = $('scroll_flecha_arr');
	var flecha_ab = $('scroll_flecha_ab');
	var dim_contenido = Element.getDimensions(contenido);

	contenido.style.top = ( parseInt(contenido.style.top) - 1 ) + 'px';
	
	if ( ( dim_contenido.height + parseInt(contenido.style.top) ) <= (alto_zona) ) {
		clearInterval(to_c);
	}
}
