
jQuery.fn.zwbox = function(settings) {
    this.click(function() {
       
       settings = $.extend({}, $.fn.zwbox.defaults, settings);
       
       $('#zwbox_overlay').width($(document).width());
       $('#zwbox_overlay').height($(document).height());       

       $.get($(this).attr('href'), function(data) {           

            $('#zwbox_overlay').css('opacity', '0');
            $('#zwbox_overlay').css('display', 'block');
            $('#zwbox_overlay').animate({opacity: 0.65}, {queue: 'global', duration: 350, complete: function() {

                $('#zwbox_contents').html('');
                $('#zwbox_outer').css('left', $(window).width() / 2 - 5);
                $('#zwbox_outer').css('top',$(window).scrollTop() + $(window).height() / 2 - 5);
                $('#zwbox_outer').width(10);
                $('#zwbox_outer').height(10);
                $('#zwbox_outer').css('display', 'block');
                
                $('#zwbox_outer').animate({height: settings.boxHeight, top:"-="+settings.boxHeight/2+"px"}, {queue: 'global', duration: 350});
                $('#zwbox_outer').animate({width: settings.boxWidth, left: "-="+settings.boxWidth/2+"px"}, {queue: 'global', duration: 350, complete: function() {
                        $('#zwbox_inner').show();
                        //alert(box_contents);
                        $('#zwbox_contents').html(data);
                }});

            }});
       });
          
       return false;
        
    });


};

jQuery.fn.zwbox.close = function() {
    var finalTop = $('#zwbox_outer').position().top + $('#zwbox_outer').height() / 2;

    $('#zwbox_contents').html('');
    $('#zwbox_inner').hide();
    $('#zwbox_outer').animate({width: 10, left: $(window).width() / 2 - 5}, {queue: 'global', duration: 350});
    $('#zwbox_outer').animate({height: 0, top: finalTop}, {queue: 'global', duration: 350, complete: function() {
            $(this).css('display','none');
    }});
    $('#zwbox_overlay').animate({opacity: 0}, {queue: 'global', duration: 350, complete: function() {
            $(this).css('display', 'none');
    }});

};

jQuery.fn.zwbox.defaults = {
    boxWidth: 500,
    boxHeight: 500
}

jQuery(document).ready(function(){
    var html;
    html = '<div id="zwbox_overlay"></div>';
    html += '<div id="zwbox_outer"><div id="zwbox_inner"><a href="javascript:;"><div id="zwbox_btn_close"></div></a><div id="zwbox_contents"></div></div></div>';
    $(html).appendTo('body');
    $('#zwbox_btn_close').click(function() {
        $.fn.zwbox.close();
    });
});