function movie()
{
   this.m_layer_ptr_list = new Array();
   this.m_current_sprite = 0;
   this.m_direction = 0;
   this.m_paused = false;
}


function owk_movie_create(i_parent, i_region, i_visible)
{
   this.set_direction(1);

   this.ancestor_create(i_region, i_visible, false, false);
   this.set_resizable(false);
   this.set_dragable(false); 
   this.set_visible(i_visible);

   this.set_current_sprite(0);

   i_parent.push_back_layer(this);
}

function owk_movie_destroy()
{
   this.ancestor_destroy(); 

   for (var itr=0; itr < m_layer_ptr_list.lenght; itr++)
   {
      m_layer_ptr_list[itr].destroy();
   }
}

function owk_movie_load_movie(i_url, i_start, i_stop)
{
      for (var i=i_start; i != i_stop; i++)
      { 
         this.add_sprite(i_url + "/" + i + ".png");
      }

      this.m_current_sprite = i_start-1;
}

function owk_movie_add_sprite(i_url)
{
   var layer_rect = new rectangle(0, 0, this.region().size.width-1, this.region().size.height-1);   
   var p_layer = new layer();

   p_layer.set_parent(this);
   p_layer.create(layer_rect, false, false, false);

   p_layer.load_image(i_url);

   this.m_layer_ptr_list.push(p_layer);

/*   // copy the first frame for the first draw
   if (m_layer_ptr_list.size() == 1)
   {
      var out_rect = new rectangle();
      out_rect.copy(region());
      out_rect.origin.xy(0, 0);

      m_layer_ptr_list[current_sprite()]->copy_no_alpha(m_layer_ptr_list[current_sprite()]->region(), *this, m_layer_ptr_list[current_sprite()]->region());
   }*/
}

function owk_movie_current_sprite()
{
   return this.m_current_sprite;
}

function owk_movie_set_current_sprite(i_current_sprite)
{
   this.m_current_sprite = i_current_sprite;
}

function owk_movie_direction()
{
   return this.m_direction;
}

function owk_movie_set_direction(i_direction)
{
   this.m_direction = i_direction; 
}

function owk_movie_on_every_frame(i_timer)
{
   var taken = false;
   if(this.m_paused == false)
   {
      if (this.visible())
      { 
         try{this.m_layer_ptr_list[this.current_sprite()].set_visible(false)}catch(ex){};
         this.set_current_sprite(this.current_sprite()*1+1);

        
         if (this.current_sprite()*1 >= this.m_layer_ptr_list.length)
         {
            this.set_current_sprite(0); 
         }

         this.m_layer_ptr_list[this.current_sprite()].set_visible(true);
      }


   }
   else
   {
      if (this.visible())
      { 
         for (var i=1; i <this.m_layer_ptr_list.length; i++)
         { 
            this.m_layer_ptr_list[i].set_visible(false);
         }
         
         this.m_layer_ptr_list[0].set_visible(true);
      }
   
   }

   return taken;
}

function owk_movie_on_draw(i_surface, i_region)
{
   return true;
}

function owk_movie_set_paused(i_paused)
{
   this.m_paused = i_paused;
}

function owk_movie_paused()
{
   return this.m_paused;
}

movie.prototype = new layer;
movie.prototype.create = owk_movie_create;
movie.prototype.ancestor_create = owk_layer_create;
movie.prototype.destroy = owk_movie_destroy;
movie.prototype.ancestor_destroy = owk_layer_destroy;
movie.prototype.load_movie = owk_movie_load_movie;
movie.prototype.add_sprite = owk_movie_add_sprite;
movie.prototype.current_sprite = owk_movie_current_sprite;
movie.prototype.set_current_sprite = owk_movie_set_current_sprite;

movie.prototype.direction = owk_movie_direction;
movie.prototype.set_direction = owk_movie_set_direction;
movie.prototype.on_every_frame = owk_movie_on_every_frame;
movie.prototype.on_draw = owk_movie_on_draw;

movie.prototype.paused = owk_movie_paused;
movie.prototype.set_paused = owk_movie_set_paused;
 