/////////////////////////////////////////////////////////////////////////////////////////////////////////
// *************************************Objeto scrollPack**********************************************//	
//																									   //	
// Funciones de scroll para una capa embedida en otra												   //
// Desarrolado por Daniel Rubio (drubio2@hotmail.com) para Activa Online S.A.						   //
// Este objeto hace uso intensivo de DynLayer, objeto para el tratamiento de capas					   //	
// independientemente del navegador,desarrollado por Dan Steinman (http://www.dansteinman.com/dynapi)  //
//																									   //	
/////////////////////////////////////////////////////////////////////////////////////////////////////////
//																									   //	
//*****************************************Ejemplo d uso***********************************************//
//																									   //
//<html>																							   //
//<head>																							   //
//<title>scrollpack - por Daniel Rubio</title>														   //
//<script language="javascript" src="dynlayer.js"></script>											   //
//<script language="javascript" src="scrollpack.js"></script>										   //
//<style>																							   //
//#mamiDiv {Propiedades capa, seguramente necesitaremos un clip para enmarcar el contenido de filla}   //
//#fillaDiv {Propiedades capa, no especificar el height, se calculará solo}							   //
//</style>																							   //
//</head>																							   //
//<body bgcolor="#FFFFFF">																			   //
//<div id="mamiDiv"> 																				   //
//  <div id="fillaDiv">Contenido de la capa</div>													   //
//</div>																							   //
//<a href="#" onMouseOver="scroll1.moute();scroll1.amunt();" onMouseOut="scroll1.para()">up</a>		   //
//<a href="#" onMouseOver="scroll1.moute();scroll1.avall();" onMouseOut="scroll1.para()">down</a>	   //
//<a href="#" onMouseOver="scroll1.moute();scroll1.esquerra();" onMouseOut="scroll1.para()">left</a>   //
//<a href="#" onMouseOver="scroll1.moute();scroll1.dreta();" onMouseOut="scroll1.para()">right</a> 	   //
//<script language="javascript">																	   //
//scroll1=new scrollPack("scroll1","mamiDiv","fillaDiv",8,50);										   //
//</script>																							   //
//</body>																							   //
//</html>																							   //
//																									   //
/////////////////////////////////////////////////////////////////////////////////////////////////////////
//																									   //	
// function scrollPack(string jo,string mare,string filla [,int increments][, int temps])			   //
//																									   //	
//Crea un nuevo objeto scrollPack para ser utilizado en el documento. Para el correcto funcionamiento  //
//hay que incluir en la pagina html, antes de el fichero scrollpack.js, el fichero dynlayer.js		   //
//																									   //
//Descripción de los parámetros																		   //
//																									   //	
// string jo      -> nombre de la variable a la que asignamos el nuevo objeto.						   //
// string mare    -> nombre de la capa que contiene a la que vamos a mover. Las capas que usemos con   //	
//					 scrollPack deben tener un nombre acabado con el sufijo "Div"	.				   //
// string filla	  -> nombre de la capa que se va a desplazar. Esta capa esta dentro de la definida 	   //
//					 como mare y también contiene el sufijo "Div" en su nombre.						   //
// int increments -> define el número de píxels que se va a desplazar la capa cada vez que se cumpla   //
//					 el intervalo de tiempo definido por temps.										   //
// int temps	  -> define el número de milisegundos que esperamos para volver a mover la capa, 	   //
//					 siempre y cuando hayamos activado el movimiento								   //
//																									   //	
/////////////////////////////////////////////////////////////////////////////////////////////////////////



function scrollPack(jo,mare,filla,increments,temps)
{
	this.inc_pos=5;
	this.inc_neg=-5;
	this.temps=25;
	
	if(increments)
		{ if(increments!=null)
				{
		  			this.inc_pos=parseInt(increments);
		  			this.inc_neg=eval(parseInt(increments)-eval(2*parseInt(increments)));
		  		}
		}
	if(temps){this.temps=temps;} 
	this.mare=new DynLayer(mare);
	this.filla=new DynLayer(filla);
	this.jo=jo;
	this.moviment=false;
	this.amunt=amunt;
	this.avall=avall;
	this.dreta=dreta;
	this.esquerra=esquerra;
	this.moute=moute;
	this.para=para;
	

}

/////////////////////////////////////////////////////////////////////////////////////////////////////////
//																									   //	
//function moute()																					   //
//																									   //	
//Esta funcion ha de llamarse antes de realizar el movimiento, para que este sea posible			   //	
//																									   //	
/////////////////////////////////////////////////////////////////////////////////////////////////////////


function moute()
{this.moviment=true;}

/////////////////////////////////////////////////////////////////////////////////////////////////////////
//																									   //	
//function para()																					   //
//																									   //	
//Esta funcion detiene el movimiento del scroll.													   //	
//																									   //	
/////////////////////////////////////////////////////////////////////////////////////////////////////////

function para()
{this.moviment=false;}

/////////////////////////////////////////////////////////////////////////////////////////////////////////
//																									   //	
//function amunt()																					   //
//																									   //	
//Esta funcion mueve el contenido de la capa filla hacia arriba. Para que esto ocurra hemos de haber   //	
//activado el movimiento antes, usando la función moute()											   //
//																									   //	
/////////////////////////////////////////////////////////////////////////////////////////////////////////

function amunt()
{
if(this.moviment && (eval(this.filla.y+this.filla.h)>this.mare.h))
 {  this.filla.moveBy(0,this.inc_neg);
        setTimeout(this.jo +'.amunt()',this.temps); 
 }
} 

/////////////////////////////////////////////////////////////////////////////////////////////////////////
//																									   //	
//function avall()																					   //
//																									   //	
//Esta funcion mueve el contenido de la capa filla hacia abajo . Para que esto ocurra hemos de haber   //	
//activado el movimiento antes, usando la función moute()											   //
//																									   //	
/////////////////////////////////////////////////////////////////////////////////////////////////////////

function avall()
{if(this.moviment && this.filla.y<0)
 {  this.filla.moveBy(0,this.inc_pos);
        setTimeout(this.jo +'.avall()',this.temps); 
 }
} 

/////////////////////////////////////////////////////////////////////////////////////////////////////////
//																									   //	
//function esquerra()																				   //
//																									   //	
//Esta funcion mueve el contenido de la capa filla hacia la izquierda. Para que esto ocurra hemos de   //	
//haber activado el movimiento antes, usando la función moute()										   //
//																									   //	
/////////////////////////////////////////////////////////////////////////////////////////////////////////

function esquerra()
{
if(this.moviment && (eval(this.filla.x+this.filla.w)>this.mare.w))
 {  this.filla.moveBy(this.inc_neg,0);
        setTimeout(this.jo + '.esquerra()',this.temps); 
 }
} 

/////////////////////////////////////////////////////////////////////////////////////////////////////////
//																									   //	
//function dreta()																					   //
//																									   //	
//Esta funcion mueve el contenido de la capa filla hacia la izquierda. Para que esto ocurra hemos de   //	
//haber activado el movimiento antes, usando la función moute()										   //
//																									   //	
/////////////////////////////////////////////////////////////////////////////////////////////////////////

function dreta()
{if(this.moviment && this.filla.x<0)
 {  this.filla.moveBy(this.inc_pos,0);
        setTimeout(this.jo+'.dreta()',this.temps); 
 }
} 

