(function($) {
    $.fn.popup = function(options) {
        var defaults = {};

        var opts = $.extend(defaults, options);

        function set_modal(){
            var modal = $('<div id="id_modal" class="modal"></div>').css({position: 'absolute', 'z-index' : 100,
                                left: 0, top: 0, 
                                width: $(document).width(), height: $(document).height() });
            $('body').append(modal);
            modal.fadeIn(800);
            return modal;
        }
        
        function popup_html(html){
            var html_to_append = $(html).css('display', 'block');
            var modal = set_modal();
            var div = $('<div class="popup"><div class="popup_close"><a href="#" style="cursor: pointer;">Закрыть окно</a></div></div>').css({ position: 'absolute', 'z-index' : 150});
            div.append( html_to_append );
            $('.popup_close a', div).click(function(){
                if ( opts.no_delete ){
                    html_to_append.css('display', 'none').appendTo('body');
                }
                div.remove();
                modal.remove();
                return false;
            });
            modal.click(function(){
                if ( opts.no_delete ){
                    html_to_append.css('display', 'none').appendTo('body');
                }
                div.remove();
                modal.remove();
                return false;
            });
            $('body').append(div);
            var left = $(window).scrollLeft() + $(window).width()/2 - div.width()/2;
            var top = $(window).scrollTop() + $(window).height()/2 - div.height()/2;
            if (left < 0) left = 0;
            if (top < 0) top = 0;
            div.css({ left: left, top: top});
            div.fadeIn(800);
            $("a.popup_info", div).popup();
        }

        function popup(link){
            $.get(link, { popup : 1 }, function(data){
                popup_html(data);
            })
        }

        $.each($(this), function(idx, link_obj){
            $(link_obj).click(function(){
                $('div.popup').trigger('click');
                if ( opts.html ){
                    popup_html($(opts.html));
                } else {
                    popup($(link_obj).attr('href'));
                }
                return false;
            });
        });
    }
})(jQuery);

