function Image_gallery(full_screen, container) {
  var self = this;
  self.thumbs = this.root.children('img');
  self.larges = new Array();
  self.closer = true;
  self.container = container
  
  this.start_up = function() {
    self.thumbs.bind('click', self.large_view);
    full_screen.bind('click', self.close_large_view)
    self.large_setup();
  }
  
  this.large_setup = function() {
    var img_preloader = new Image(); 
    for (var i = 0; i < self.thumbs.length; i++) {
      img_preloader = self.thumbs[i];
      self.larges[i] = '<div class="pop_in">';
      self.larges[i] += '<a href="#close" class="close">';
      self.larges[i] += '<img src="/media/icons/close.png" alt="close icon" /> close ';
      self.larges[i] += '</a>';
      self.larges[i] += '<img src="' + img_preloader.src.replace('thumb/', '/large/') + '" alt="' + img_preloader.alt + '" class="main_image" />';
      self.larges[i] += '</div>';
    }
  }
  
  this.large_view = function(e) {
    var me = $(e.currentTarget);
    iter = me.prevAll().length;
    full_screen.html(self.larges[iter]);
    setTimeout(function() {
      self.skch(full_screen, {opacity : 1}, null, 0.7, 'easeOutCubic');
      self.closer = false;
    }, 300);
    self.skch(self.container, {opacity : 0}, null, 0.7, 'easeOutCubic');
  }
  
  this.close_large_view = function(e) {
    e.stopPropagation();
    e.preventDefault();
    if (self.closer) {return false};
    self.closer = true;
    self.skch(full_screen, {opacity : 0}, function() {full_screen.html('');}, 0.7, 'easeOutCubic');
    self.skch(self.container, {opacity : 1}, null, 0.7, 'easeOutCubic');
  }
  
  
  return this;
}
