     @
 
   ###
+   Обновление миниатюр
+  ###
+  updateThumbnails: ->
+    @thumbnails.find('.selected').removeClass 'selected'
+
+    thumbnail = @thumbnails.find('[data-cid=' + @current + ']').addClass 'selected'
+
+    width = thumbnail.outerWidth() + toInt thumbnail.css('margin-right')
+    left  = thumbnail.offset().left
+
+    if @thumbnails.width() < width + left
+      offset = @thumbnails.scrollLeft() + width
+      offset = width + left if @thumbnails.width() + offset < width + left
+
+    else if @thumbnails.scrollLeft() > left
+      offset = if left < width then 0 else @thumbnails.scrollLeft() - width
+
+    @thumbnails.scrollLeft offset if offset > 0
+    @
+
+  ###
    Обновление размеров блока с главным изображением
   ###
   getImageSize: (cid, after = ->) ->
     image = @images[cid]
 
+    fn = => after.call @, cid if cid is @current
+
     if not image.width or not image.height
       @spinner.removeClass 'hide'
 
-      element     = new Image()
-      element.src = image.source
-
-      element.onload = (event) =>
+      element        = new Image()
+      element.src    = image.source
+      element.onload = =>
         @spinner.addClass 'hide'
 
         @images[cid].width  = element.width


    thumbnails = if not @options.thumbnails or @thumbnails.hasClass('hide') then 0 else @thumbnails.height()

    horizontal = toInt(@overlay.css('padding-left')) + toInt(@overlay.css('padding-right'))
    vertical   = toInt(@overlay.css('padding-top')) + toInt(@overlay.css('padding-bottom'))



        delete element

        fn()
    else
      fn()

  ###
   Обновление размеров блока с главным изображением
