anchocapa=0 //iniciamos variable con cualquier valor, luego cogera el ancho automáticamente
pos=152 //posición inicial de la capa
topes=152	//tope para que la capa no suba más
velocidad=6//controla la velocidad, si aumentamos esta variable el scroll irá más rápido
cortea=0 //corte de la capa por el arriba
corteb=195 //corte de la capa por abajo
cortec=800 //corte de la capa por la derecha
clave=0 //variable que controla el mouseover sobre la flecha
capactiva=1 //variable que controla la capa activa si tenemos dos capas en la misma página
controlador=corteb-50 //variable que controla el tope
controlscroll=150 //variable que controla la longitud de la capa a partir de la cual debe aparecer el scroll dinámico
posmarca=152
anterior=152


//Estos valores son los que encontramos por defecto en las páginas, pero si se quiere aplicar el scroll a páginas con otros valores bastará con incluir estas variables con sus valores en el head de la página
	function subir(capa){
	
	 	if ((pos>anchocapa)&&(clave==1)){
		pos=pos-velocidad
		cortea=cortea+velocidad
		corteb=corteb+velocidad
		if (ie4){
		eval("anchocapa=document.all."+capa+".scrollHeight")
	
		anchocapa=(anchocapa*-1)+controlador
		document.all[capa].style.top=pos
		eval("document.all[capa].style.clip='rect("+cortea+","+cortec+","+corteb+",0)'")
		}
		if (ie5){
		eval("anchocapa=document.getElementById('"+capa+"').scrollHeight")
		velocidad=parseInt(anchocapa/170)
		anchocapa=(anchocapa*-1)+controlador
			
		document.getElementById(capa).style.top=pos
		posmarca=parseInt(document.getElementById('marca').style.top,10)
		//posmarca=parseInt(posmarca,10)
		if (posmarca<306) posmarca=posmarca+1
		document.getElementById('marca').style.top=posmarca
		eval("document.getElementById(capa).style.clip='rect("+cortea+","+cortec+","+corteb+",0)'")
		}
		if(ns4){
		eval("anchocapa=document."+capa+".document.height")
		anchocapa=(anchocapa*-1)+controlador
		document.layers[capa].top=pos
		document.layers[capa].clip.top=cortea
		document.layers[capa].clip.bottom=corteb
		if (posmarca<306) posmarca=posmarca+1
		document.layers["marca"].top=posmarca
		}
		
		setTimeout("subir('"+capa+"')",50)
	}
	
	}
		
	function bajar(capa){

		if ((pos<topes)&&(clave==2)){
		pos=pos+velocidad
		cortea=cortea-velocidad
		corteb=corteb-velocidad
			if (ie4){
			document.all[capa].style.top=pos
			eval("document.all[capa].style.clip='rect("+cortea+","+cortec+","+corteb+",0)'")
			}
			if (ie5){
			document.getElementById(capa).style.top=pos
			posmarca=document.getElementById('marca').style.top
			posmarca=parseInt(posmarca,10)
			if (posmarca>140) posmarca=posmarca-1
			document.getElementById('marca').style.top=posmarca
			document.getElementById(capa).style.top=pos
			eval("document.getElementById(capa).style.clip='rect("+cortea+","+cortec+","+corteb+",0)'")
			}
			if(ns4){
				if (pos<topes){
					
				document.layers[capa].top=pos
				document.layers[capa].clip.top=cortea
				document.layers[capa].clip.bottom=corteb
				document.layers[capa].visibility='show'
				if (posmarca>140) posmarca=posmarca-1
			document.layers["marca"].top=posmarca
				}
			}
		
			setTimeout("bajar('"+capa+"')",50)
			}
}

function mostrarse(capac){
//Esta función produce la alternancia de capas si hay dos en la misma página como en el caso de notas de prensa, y asimismo muestra la barra de scroll sólo si la extensión del texto lo precisa.
	if(ns4){
	//document.texto.document.width=273
	//alert(document.texto.document.width)
	//alert(cortec)
	eval("document.layers['"+capac+"'].visibility='show'")
	eval("document.layers['"+capac+"'].top="+pos+" ")
	if (eval("document."+capac+".document.height>"+controlscroll)){
	
	document.layers["scroll"].visibility='show'
	document.layers["marca"].visibility='show'
	document.layers["marca"].top=138
	}
	else{
	document.layers["scroll"].visibility='hide'
	document.layers["marca"].visibility='hide'
	}
	}
	if (ie4){
	document.all[capac].style.visibility='visible'
		if (eval("document.all."+capac+".scrollHeight>"+controlscroll)){
	document.all["scroll"].style.visibility='visible'
	document.all["marca"].style.visibility='visible'
	document.all["marca"].style.top=138
	}
	else{
		document.all["scroll"].style.visibility='hidden'
		}
	}
	if (ie5){
	document.getElementById(capac).style.visibility='visible'
	if (navigator.appName=="Netscape") document.getElementById(capac).scrollHeight=1000
	if (eval("document.getElementById('"+capac+"').scrollHeight>"+controlscroll)){

	document.getElementById("scroll").style.visibility='visible'
	document.getElementById("marca").style.visibility='visible'
	document.getElementById('marca').style.top=138
	}
	else{
	document.getElementById("scroll").style.visibility='hidden'
	document.getElementById("marca").style.visibility='hidden'
	}
	}
}


//Netscape
function inicio3(){
if (ns4){
marcado=document.layers['marca']

Y=0
marcado.document.captureEvents(
       Event.MOUSEUP|Event.MOUSEDOWN|Event.MOUSEDRAG);

marcado.document.onMouseDown=begindrag;
marcado.document.onMouseUp=enddrag;
marcado.onload=resetcapture;
}
}

function resetcapture() {
        marcado.document.captureEvents(
           Event.MOUSEUP|Event.MOUSEDOWN|Event.MOUSEDRAG|Event.MOUSEMOVE);
}


function begindrag(e) {
marcado.document.captureEvents(Event.MOUSEMOVE);
marcado.document.onmousemove=drag;
 oldx=e.pageX;
 return false;
}

function drag(e) {
y = e.pageY
muevecapa('marca',e)
return false;
}



function enddrag(e) {
marcado.document.onmousemove=0;
marcado.document.releaseEvents(Event.MOUSEMOVE);
 return false;
}
//fin netscape







function mouseMove(e){
y = e.pageY
}
function muevecapa(capa,e){
y = e.pageY
if(ns4){
	//if (y>200&&y<300)eval("document.layers['"+capa+"'].top="+y+"")
	eval("document.layers['"+capa+"'].visibility='show'")
	if ((y<350)&&(y>=120)){
if ((posmarca>120)&&(posmarca<130)) {
pos=129
cortea=0 //corte de la capa por el arriba
corteb=195 //corte de la capa por abajo
velocidad=0
clave=1;subir("texto")
clave=0;subir("texto")
}
if (posmarca>298) {
pos=anchocapa+29
cortea=(anchocapa*-1)+100 //corte de la capa por el arriba
corteb=((anchocapa*-1)+195+100) //corte de la capa por abajo
clave=1;subir("texto")
clave=0;subir("texto")
}
 eval("document.layers['"+capa+"'].top=y")
posmarca=parseInt(document.layers['marca'].top,10)
if (y==anterior){
velocidad=6
}
if (y>anterior){
jojo=Math.ceil(document.texto.document.height/170)
velocidad=(y-anterior)*jojo
clave=1;subir("texto")
clave=0;subir("texto")
}
else{
jojo=Math.ceil(document.texto.document.height/170)
Math.ceil(jojo)
velocidad=(anterior-y)*jojo
clave=2;bajar("texto")
clave=0;bajar("texto")
}
velocidad=6
anterior=y

}
}


	
if (ie4){
eval(""+capa+".style.top=window.event.y")
return true;
}
if (ie5){
if (window.event.y<300&&window.event.y>=145){
if ((posmarca>120)&&(posmarca<130)) {
pos=129
cortea=0 //corte de la capa por el arriba
corteb=195 //corte de la capa por abajo
velocidad=0
clave=1;subir("texto")
clave=0;subir("texto")
}
if (posmarca>298) {
pos=anchocapa+29
cortea=(anchocapa*-1)+100 //corte de la capa por el arriba
corteb=((anchocapa*-1)+195+100) //corte de la capa por abajo
//alert(pos+","+cortea+","+corteb)
clave=1;subir("texto")
clave=0;subir("texto")
}
eval(""+capa+".style.top=window.event.y")
posmarca=parseInt(document.getElementById('marca').style.top,10)
if (window.event.y==anterior){
velocidad=6
return true;
}
if (window.event.y>anterior){
jojo=Math.ceil(document.all.texto.scrollHeight/170)
velocidad=(window.event.y-anterior)*jojo
clave=1;subir("texto")
clave=0;subir("texto")
}
else{
jojo=Math.ceil(document.all.texto.scrollHeight/170)
Math.ceil(jojo)
velocidad=(anterior-window.event.y)*jojo
clave=2;bajar("texto")
clave=0;bajar("texto")
}
velocidad=6
anterior=window.event.y
return true;
}
}
}

