/* Detección del navegador */
var IE4 = (document.all && !document.getElementById) ? true : false;
var NS4 = (document.layers) ? true : false;
var IE5 = (document.all && document.getElementById) ? true : false;
var NS6 = (document.getElementById && !document.all) ? true : false;

var dir;
var posX;
var posY;

/* desliza(direccion,capa) */
/* Parámetros: direccion ->  1   : Mueve la capa hacia abajo.
                         -> -1   : Mueve la capa hacia arriba.
               capa      -> String con el nombre de la capa que se quiere deslizar.

   Devuelve el ID del temporizador que controla el movimiento. Este mismo ID hay
   que pasarselo a la funcion para(timerID).
*/
function desliza(direccion,capa,capaPadre,vel)
{

    dir = direccion;
    return setInterval("scr('" + capa + "','" + capaPadre + "','" + vel + "')",20);
}

function scr(capa,capaPadre, velocidad)
{
    // Extraigo las coordenadas X e Y de la capa.

    var alto;

    if(IE4) 
    {
      posY = parseInt(eval(capa + ".style.pixelTop"));
      alto = parseInt(eval(capa + ".clientHeight")) - 12;
    }
    if(NS4) 
    { 

      if (capaPadre=="")
      {
        posX = eval("document." + capa + ".left");
        posY = eval("document." + capa + ".top");
        alto = eval("document." + capa + ".clip.height") - 40;
      }
      else
      {
        posX = eval("document." + capaPadre + ".document." + capa + ".left");
        posY = eval("document." + capaPadre + ".document." + capa + ".top");
        alto = eval("document." + capaPadre + ".document." + capa + ".clip.height") - 40;
      }
    }
    if(IE5) 
    {
      posY = parseInt(document.getElementById(capa).style.top);
      alto = parseInt(document.getElementById(capa).clientHeight) - 12;
    }

    if(NS6) 
    {
      posY = parseInt(document.getElementById(capa).style.top);
      alto = parseInt(document.getElementById(capa).offsetHeight) - 12;
    } 

    posY = posY + (velocidad * dir);
    // No tiene sentido que nos vayamos más arriba de la primera línea.
    posY > 0 ? posY = 0 : posY ;
    posY < - alto ? posY = -alto : posY ;

    if(IE4)
    {
      eval(capa+".style.pixelTop = posY;"); 
    }
    if(NS4) 
    {
      if(capaPadre=="")
        eval("document."+capa+".moveTo(posX,posY);");
      else
        eval("document."+capaPadre+".document." + capa + ".moveTo(posX,posY);") ;
    }
    if(NS6||IE5) 
    {
      document.getElementById(capa).style.top=posY ;
    }
}

/* function para(timerID)
   Parámetros: timerID : ID del temporizador que controla el movimiento de una capa 

   Para el movimiento, eliminando el temporizador representado por timerID */

function para(timerID)
{
    clearInterval(timerID);
    dir = 0;
}
