﻿if (typeof(AnimeSpirit) == "undefined") var AnimeSpirit = {};
if (typeof(AnimeSpirit.Web) == "undefined") AnimeSpirit.Web = {};
if (typeof(AnimeSpirit.Web.UI) == "undefined") AnimeSpirit.Web.UI = {};
if (typeof(AnimeSpirit.Web.UI.WebControls) == "undefined") AnimeSpirit.Web.UI.WebControls = {};

AnimeSpirit.Web.UI.WebControls.Feedback = {
    Id: "",
    IconeAlerta: "",
    IconeErro: "",
    IconeInfo: "",
    IconeSucesso: "",

    Filter: function (w, d, b) {

        var r = w ? w : 0;

        if (d && (!r || (r > d)))
            r = d;

        return b && (!r || (r > b)) ? b : r;

    },

    Measures: function (o) {

        var l = (o.style.left) ? parseInt(o.style.left.replace('px', '')) : 0;
        var t = (o.style.top) ? parseInt(o.style.top.replace('px', '')) : 0;
        var w = (o.style.width) ? parseInt(o.style.width.replace('px', '')) : 0;
        var h = (o.style.height) ? parseInt(o.style.height.replace('px', '')) : 0;

        return { left: l, top: t, width: w, height: h };
    },

    Reset: function () {

        var o = document.getElementById(AnimeSpirit.Web.UI.WebControls.Feedback.Id);
        var txt = document.getElementById(AnimeSpirit.Web.UI.WebControls.Feedback.Id + 'TextFeedback');
        var ico = document.getElementById(AnimeSpirit.Web.UI.WebControls.Feedback.Id + 'IconFeedback');

        o.style.left = AnimeSpirit.Web.UI.WebControls.Feedback.Filter(window.innerWidth ? window.innerWidth : 0,
						document.documentElement ? document.documentElement.clientWidth : 0,
						document.body ? document.body.clientWidth : 0) / 2 + "px";

        o.style.top = 350 + "px";

        txt.innerHTML = '';
        ico.style.visibility = 'hidden';
        o.style.visibility = 'hidden';
        o.style.width = 0;
    },

    Show: function (text, width, height, type) {

        AnimeSpirit.Web.UI.WebControls.Feedback.Reset();

        AnimeSpirit.Web.UI.WebControls.Feedback.Expand(text, width, height, type);

    },

    Expand: function (text, width, height, type) {

        var o = document.getElementById(AnimeSpirit.Web.UI.WebControls.Feedback.Id);
        var txt = document.getElementById(AnimeSpirit.Web.UI.WebControls.Feedback.Id + 'TextFeedback');
        var ico = document.getElementById(AnimeSpirit.Web.UI.WebControls.Feedback.Id + 'IconFeedback');

        if (AnimeSpirit.Web.UI.WebControls.Feedback.Measures(o).width != width) {
            o.style.visibility = 'visible';
            o.style.height = height + "px";
            o.style.width = AnimeSpirit.Web.UI.WebControls.Feedback.Measures(o).width + 10 + "px";
            o.style.left = AnimeSpirit.Web.UI.WebControls.Feedback.Measures(o).left - 5 + "px";

            setTimeout("AnimeSpirit.Web.UI.WebControls.Feedback.Expand('" + text + "', " + width + ", " + height + ", " + type + ");", 10);
        }
        else {
            switch (type) {
                case 1:
                    ico.src = AnimeSpirit.Web.UI.WebControls.Feedback.IconeInfo;
                    break;

                case 2:
                    ico.src = AnimeSpirit.Web.UI.WebControls.Feedback.IconeAlerta;
                    break;

                case 3:
                    ico.src = AnimeSpirit.Web.UI.WebControls.Feedback.IconeErro;
                    break;

                case 4:
                    ico.src = AnimeSpirit.Web.UI.WebControls.Feedback.IconeSucesso;
                    break;
            }

            ico.style.visibility = 'visible';
            ico.style.width = '16px';
            ico.style.height = '16px';
            txt.innerHTML = '<p style="margin:2px;padding-left:5px;">' + text + '</p>';
        }
    },

    Hide: function () {
        AnimeSpirit.Web.UI.WebControls.Feedback.Reset();
    }
};