(function($) {
  $.modal = {}
  $.modal.show  = function(message) {

    $.fn.push = function(html) { return this.append(html).children(":last"); };
	
    var DIALOG_WIDTH = 400;
    var DIALOG_HEIGHT = 300;
    var CUSHION_LENGTH = 20000;
    var FADE_DURATION = 400;
   if (!$.browser.msie) {
   	var mask = $("<div/>").animate({
   		opacity: 0.7
   	}, FADE_DURATION).css({
   		position: "absolute",
   		top: -CUSHION_LENGTH,
   		left: -CUSHION_LENGTH,
   		background: "#FFFFFF",
   		zIndex: 999998,
   		height: 2 * CUSHION_LENGTH + $(window).height(),
   		width: 2 * CUSHION_LENGTH + $(window).width(),
   		opacity: 0.01
   	}).attr("id", "mask").click(function(ev){
   		close(ev);
   	}).appendTo($(document.body));
   }
	  
    var dialog = $(message)
      .fadeIn(FADE_DURATION)
      .css({
        zIndex: 999999,
        top: $(window.body).scrollTop()+$(window).height()/3-DIALOG_HEIGHT/3 - 30,
        left: $(window).width()/2-DIALOG_WIDTH/2 - 100
      })
      .appendTo($(document.body));
	  
	  
	

    $(window.body).keyup(function(ev) { 
      if (ev.charCode==27 || ev.keyCode==27) close(ev);
    });

    function close(ev) {
      ev.stopPropagation();
	 
      dialog.slideUp(FADE_DURATION, function() { dialog.hide(); });
       if (!$.browser.msie) {
	   	mask.fadeOut(FADE_DURATION, function(){
	   		mask.remove();
	   	});
	   }
    }
	

	
	
	


  }
  
  $.modal.close = function(message) {
  		
		var dialog = $(message);
	dialog.slideUp(300, function() { dialog.hide(); });
	  if (!$.browser.msie) {
	  	var mask = $("#mask");
	  	mask.fadeOut(1200, function(){
	  		mask.remove();
	  	});
	  }
	
  }
})(jQuery);

