/**
* jQuery dialog plugin
*
*
*/
(function( $ ){
var methods = {
init: function(){
this.data('dialog', {opened: []});
this.find('#dialog-overlay').bind('click.dialog', function(){
$(this).parent().dialog('hide');
});
},
show: function(name){
var maskHeight = $(document).height();
var maskWidth = $(window).width();
var overlay = this.find('#dialog-overlay');
overlay.css({'width':maskWidth,'height':maskHeight});
var winH = $(window).height();
var winW = $(window).width();
var dialog = this.find('#'+name);
dialog.css('top', winH/2-dialog.height()/2);
dialog.css('left', winW/2-dialog.width()/2);
this.data('dialog').opened.push(name);
overlay.show();
dialog.show();
},
hide: function(){
var name = this.data('dialog').opened.pop();
var dialog = this.find('#'+name);
var overlay = this.find('#dialog-overlay');
dialog.hide();
if (this.data('dialog').opened.length === 0){
overlay.hide();
}
}
};
/*
* Register the 'dialog' method to the jQuery objects
* the first argument of this method is the submethod
* you want to call
*/
$.fn.dialog = function(method) {
if ( methods[method] ) {
return methods[method].apply(this, Array.prototype.slice
.call(arguments, 1));
} else if ( typeof method === 'object' || !method ) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist on jQuery.dialog');
}
};
})(jQuery);