//Clase BarraProgreso

var num_barras_progreso=0;

function BarraProgreso()
   {
   num_barras_progreso++;
   this.id="bp_"+num_barras_progreso;
   this.valor=0;
   this.objetivo=0;
   this.Codigo=Codigo;
   this.moviendo=0;
   this.Actualizar=Actualizar;
   this.setObjetivo=setObjetivo;
   //Métodos
   function Codigo()
      {
      return "<div class=\"BarraProgreso50\" id=\""+this.id+"\">"+this.valor+"%</div>";
      }
   function Actualizar()
      {
      var incremento=1;
      if(this.valor>this.objetivo)
         incremento=-1;
      if(this.valor!=this.objetivo && this.moviendo)
         {
         var objeto=this;
         function Control()
            {
            if(objeto.moviendo>=0)
               objeto.valor+=incremento;
            else if(objeto.moviendo<0)
               {
               objeto.objetivo=-objeto.moviendo;
               objeto.moviendo=1;
               }
            objeto.Actualizar();
            }
         setTimeout(Control,50);
         }
      else
         this.moviendo=0;
      if(this.valor>=50)
         $(this.id).className="BarraProgreso100";
      $(this.id).innerHTML=this.valor+"%";
      $(this.id).style.backgroundPosition=(100-this.valor)+"%";
      }
   function setObjetivo(x)
      {
      if(x!=this.objetivo)
         {
         this.objetivo=x;
         if(this.moviendo==0)
            {
            this.moviendo=1;
            this.Actualizar();
            }
         else
            this.moviendo=-x;
         }
      }
   }
