﻿var className = "class";
ventana = function (NombreVentana, Animate, ButtonCerrar, HasResizace) {
    this.Animate = Animate;
    this.maxHeight = 300;
    this.maxWidth = 300;
    this.minHeight = 100;
    this.minWidth = 200;
    this.isVisible = false;
    this.NombreButtonCerrar = (ButtonCerrar != null ? "#" + ButtonCerrar : null);
    this.IdRealVentana = "#" + (NombreVentana != null ? NombreVentana : "");
    this.HasResizace = HasResizace;
    var instance = this;

    var NombreVentanaJquery = "#" + (NombreVentana != null ? NombreVentana : "");
    this.ventanaJquery = $(NombreVentanaJquery);
    var objetoJquery = $(NombreVentanaJquery);

    if (objetoJquery.length == 0) return;

    if (this.HasResizace) {
        function resizace(objetoJquery, instance) {
            objetoJquery.resizable({
                animate: (instance.Animate != null),
                maxHeight: instance.maxHeight,
                maxWidth: instance.maxWidth,
                minHeight: instance.minHeight,
                minWidth: instance.minWidth
            });
        }
    }

    if (this.NombreButtonCerrar != null) {
        var botonClose = $(this.NombreButtonCerrar);
        botonClose.click(function () {
            instance.OcultarVentana();
        });
    }
    this.OcultarVentana = function () {
        if (this.isVisible) {
            if (this.Animate != null) { objetoJquery.hide(this.Animate == null ? "blind" : this.Animate); }
            else objetoJquery.hide();
            this.isVisible = false;
            return false;
        }
    };
    this.MostrarVentana = function () {
        if (!this.isVisible) {
            if (this.Animate != null) objetoJquery.show(this.Animate == null ? "blind" : this.Animate);
            else objetoJquery.show();
            if (this.HasResizace) {
                objetoJquery.css("display", "inline-table");
                resizace(objetoJquery, instance);
            }
            this.isVisible = true;
            return false;
        }
    };
};
