/*
 * Copyright (c) 2010 - 2011 Aleksey Garlex
 *   http://www.garlex.ru
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
jQuery.noConflict();
jQuery(document).ready(function($){
  /*-=== galery ===-*/
  // Вешаем обработчик на ссылки с нужным классом
  $('a.big_img').click(function() {

    var link = $(this);

    // Создаём объекты
    var frame = $('<div class="popup-frame"></div>');
    var shadow = $('<div class="popup-shadow"></div>');
    var loader = $('<div class="popup-loader"></div>');
    var image = $('<img src="' + link.attr('title') + '" alt="' + link.attr('title') + '"/>');
    var button = $('<span title="Закрыть"></span>');

    // Цепляем их к BODY, а потом друг к другу
    frame.appendTo('body');
    shadow.appendTo(frame).animate({opacity:0.6}, 300);
    loader.appendTo(frame);
    image.appendTo(loader);

    // Ждём загрузки картинки
    image.load(function() {

      button.appendTo(loader);

      var w = image.width();
      var h = image.height();

      // Анимируем загрузчик до размеров картинки
      // и одновременно смещаем к центру
      loader.addClass('popup-loaded').animate({

        width:w,
        marginLeft:-w / 2,
        height:h,
        marginTop:-h / 2

      }, 500, function() {

        loader.addClass('popup-canvas');
        image.animate({opacity:1}, 300, function() {

          // Вешаем события для закрытия картинки
          function closeit() {
            loader.remove();
            shadow.animate({opacity:0}, 300, function() {
              frame.remove();
            });
          }

          shadow.click(function() {
            closeit()
          });
          button.click(function() {
            closeit()
          });

          $(document).keydown(function(e) {
            if (e.which == 27) closeit();
          });
        });
      });
    });

    return false;
  });
});


/* To be continued... */
