﻿var ModalDialog = Class.create();

ModalDialog.prototype =
{
  /***************************
  * Initialize the slideshow.
  ***************************/
  initialize: function(options)
  {
    this.options = Object.extend(
    {
      fadeDuration: 2,
      overlayOpacity: 0.8
    },
    options || {});

    //The overlay DIV can't stretch over all the content without all containers
    //having the same size
    document.body.style.height = "100%";
    document.documentElement.style.height = "100%";

    //Create the overlay that gives the "modal" effect    
    this.divOverlay = document.createElement("div");
    document.body.appendChild(this.divOverlay);
    this.divOverlay.appendChild(document.createTextNode("\u00a0"));

    if (this.options.overlayCSS == "")
      this.divOverlay.style.backgroundColor = "#2D2D2D";
    else
      this.divOverlay.className = this.options.overlayCSS;

    this.divOverlay.style.display = "none";
    this.divOverlay.style.height = "100%";
    this.divOverlay.style.left = "0px";
    this.divOverlay.style.position = "absolute";
    this.divOverlay.style.opacity = this.options.overlayOpacity;
    this.divOverlay.style.top = "0px";
    this.divOverlay.style.width = "100%";
    this.divOverlay.style.zIndex = 999;
  },

  /*************************
  * Shows the modal dialog.
  *************************/
  show: function(divDialog)
  {
    //Find the containing element of the modal dialog
    divDialog = $(divDialog);
    divDialog.style.display = "none";
    divDialog.style.zIndex = 10000;

    var rectElement = Element.getDimensions(divDialog);

    //Set the X-axis location of the modal dialog
    var rectWindow = CrossBrowser.getWindowSize();
    if (parseInt(divDialog.PositionX) < 0)
    {
      var iCenterX = rectWindow.width / 2;
      var iCenterElement = rectElement.width / 2;
      divDialog.style.left = (iCenterX - iCenterElement) + "px";
    }
    else
      divDialog.style.left = (divDialog.PositionX) + "px";

    //Set the Y-axis location of the modal dialog
    if (parseInt(divDialog.PositionY) < 0)
    {
      var iCenterY = rectWindow.height / 2;
      var iCenterElement = rectElement.height / 2;
      divDialog.style.top = (iCenterY - iCenterElement) + "px";
    }
    else
      divDialog.style.top = (divDialog.PositionY) + "px";

    Effect.Appear(this.divOverlay, { to: this.options.overlayOpacity, duration: this.options.fadeDuration });
    Effect.Appear(divDialog);
  },

  /*************************
  * Hides the modal dialog.
  *************************/
  hide: function(divDialog)
  {
    divDialog = $(divDialog);

    Effect.Fade(this.divOverlay);
    Effect.Fade(divDialog);
  }
}
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();