// Marquesina de imágenes der-izq o izq-der
function objScroll(Id, Name, WidthVer, Height, Speed, Steep, Sentido, BgColor, PaddingLeft){
   this.Id = Id;
   this.Name = Name;
   this.WidthVer = WidthVer;  // Anchura del area de muestra del contenedor
   this.Height = Height;
   this.Speed = Speed;
   this.Steep = Steep;        // px de desplazamiento por ciclo
   this.Sentido = Sentido;    // true izq -> der; false izq <- der
   this.BgColor = BgColor;
   this.arrImg = new Array();
   this.imgLoaded = 0;
   this.ini;
   this.Width = 0;            // Longitud total de todas las imágenes y los paddings
   this.tiempo;
   this.parar = false;
   this.paddingLeft = PaddingLeft; //separación entre imágenes.
}

function objImg(imgURL, imgTitle, imgLink, imgTarget){
   this.Img = new Image();
   this.Img.src = imgURL;
   this.Img.title = imgTitle;
   this.Link = imgLink;
   this.Target = imgTarget;
}

function escribeSpan(objScroll, id){
   var i;
   for (i = 0; i < objScroll.arrImg.length; i++){
       document.write('<td valign="middle" style="padding-left:' + objScroll.paddingLeft + 'px;">');
	   if(objScroll.arrImg[i].Link.length > 0){
		   document.write('<a href="' + objScroll.arrImg[i].Link + '" target="' + 
		                  objScroll.arrImg[i].Target + '" title="' + 
						  objScroll.arrImg[i].Img.title + '">');
	   }
	   document.write ('<img border="0"  src ="' + objScroll.arrImg[i].Img.src + 
	                   '" id="' + objScroll.Id + id + i + 
					   '" name="' + objScroll.Id + id + i + '"  onload="' + objScroll.Name + '.imgLoaded++;">');
	   if(objScroll.arrImg[i].Link.length > 0) document.write ('</a>');
	   document.write ('</td>');
   }
}
function escribe(objScroll){
   document.write ('<div id ="' + objScroll.Id + '" style="position:relative; background-color:' + 
                   objScroll.BgColor + '; width:' + objScroll.WidthVer + 'px; height:' + 
				   objScroll.Height + 'px; clip:rect(0,' + objScroll.WidthVer + ',' + 
				   objScroll.Height + ',0);overflow:hidden;border-left: #9999aa 2px solid; border-right: #9999aa 2px solid;">');
   document.write ('<span id="' + objScroll.Id + 'CAPA" style="position:absolute; height:' + 
                   objScroll.Height + 'px; left:0px; visibility:hidden;" ' +
				   'onmouseover="if(!' + objScroll.Name + '.parar) ' + objScroll.Name + '.parar = true;" ' +
				   'onmouseout="clearTimeout(' + objScroll.Name + '.tiempo); ' +
				   objScroll.Name + '.parar = false; moverScroll(' + objScroll.Name + 
				   ');"><table border="0" cellspacing="0" cellpadding="0"><tr>');
   escribeSpan(objScroll, "ima");
   document.write ('</tr></table></span>');
   document.write ('<span id="' + objScroll.Id + 'CAPA2" style="position:absolute; height:' + 
                   objScroll.Height + 'px; left:0px; visibility:hidden;" ' +
				   'onmouseover="if(!' + objScroll.Name + '.parar) ' + objScroll.Name + '.parar = true;" ' +
				   'onmouseout="clearTimeout(' + objScroll.Name + '.tiempo); ' +
				   objScroll.Name + '.parar = false; moverScroll(' + objScroll.Name + 
				   ');"><table border="0" cellspacing="0" cellpadding="0"><tr>');
   escribeSpan(objScroll, "imaa");
   document.write ('</tr></table></span></div>');
}

function moverScroll(objScroll){
   if (document.getElementById){
      var pos, pos2;
      if (objScroll.parar) clearTimeout(objScroll.tiempo);
      else{
         pos = parseInt(document.getElementById(objScroll.Id + 'CAPA').style.left);
         pos2 = parseInt(document.getElementById(objScroll.Id + 'CAPA2').style.left);
         if (objScroll.Sentido){
            pos = pos + objScroll.Steep;
	        pos2 = pos2 + objScroll.Steep;
	        if(pos > objScroll.WidthVer) pos = pos2 - objScroll.Width;
	        if(pos2 > objScroll.WidthVer) pos2 = pos - objScroll.Width;
         }else{
            pos = pos - objScroll.Steep;
	        pos2 = pos2 - objScroll.Steep;
	        if((pos + objScroll.Width) < 0) pos = pos2 + objScroll.Width;
	        if((pos2 + objScroll.Width) < 0) pos2 = pos + objScroll.Width;      
         }
         document.getElementById(objScroll.Id + 'CAPA').style.left = pos;
         document.getElementById(objScroll.Id + 'CAPA2').style.left = pos2;
         objScroll.tiempo = eval("setTimeout('moverScroll(" + objScroll.Name + ")', objScroll.Speed)");
      }
   }
}

function iniciaScroll(objScroll){
   if (document.getElementById){
      if(objScroll.imgLoaded == (objScroll.arrImg.length * 2)){
         clearTimeout(objScroll.ini);
	     CalcularWidthTotal(objScroll);
	     moverScroll(objScroll);
      }else objScroll.ini = eval("setTimeout('iniciaScroll(" + objScroll.Name + ")',500)");
   }else MostrarCapa(objScroll.Id + 'CAPA');
}

function CalcularWidthTotal(objScroll){
   if (document.getElementById){
      var i;
      for(i = 0; i < objScroll.arrImg.length; i++){
	     objScroll.Width += document.getElementById(objScroll.Id + 'ima' + i).width +
		                    objScroll.paddingLeft;
      }
      if (objScroll.Sentido){
         document.getElementById(objScroll.Id + 'CAPA').style.left = -objScroll.Width;
         document.getElementById(objScroll.Id + 'CAPA2').style.left = -(objScroll.Width*2);
      }else{
         document.getElementById(objScroll.Id + 'CAPA').style.left = objScroll.WidthVer;
         document.getElementById(objScroll.Id + 'CAPA2').style.left = objScroll.WidthVer + 
		                                                             (objScroll.Width);
      }
      document.getElementById(objScroll.Id + 'CAPA').style.width = objScroll.Width;
      document.getElementById(objScroll.Id + 'CAPA2').style.width = objScroll.Width;
      document.getElementById(objScroll.Id + 'CAPA').style.visibility = "visible";
      document.getElementById(objScroll.Id + 'CAPA2').style.visibility = "visible";
   }
}
