﻿var PageSys;
var habilita_aviso_silencioso = true;

$(document).ready(function() {
    configurarPaginaTitulo();
    loadingAttach();
    textareaLimiter();
    makeAllUppercase();
    makeTooltip();
    //aplicarFormatacoes(); disabled in 18/05/2010

    // qdo a pagina nao tem script manager, o SYS é null
    try {
        PageSys = Sys.WebForms.PageRequestManager.getInstance();
        PageSys.add_pageLoaded(Page_Loaded);
    } catch (e) { }
});

function aplicarFormatacoes() {
    $(".tabinfo_force table").css("width", "100%");
    $(".tabinfo_force table tr").each(function() {
        $(this).find("td:first").addClass("campo_descricao");
    });
}

function checkall(s, b) {
    $(s + " input[type=checkbox]").each(function() {
        this.checked = b; 
    });
}

function m_show(msg) {
    while (msg.indexOf("\n") > -1)
        msg = msg.replace("\n", "<br />");
    $(".titcel").parent().after("<tr class='msg'><td>" + msg + "</td></tr>");
}

function Page_Loaded(sender, args) {
    var i, pans;
    pans = args._panelsUpdated;
    for (i = 0; i < pans.length; i++)
        Page_UpdatePanelReaload(pans[i].id);
}

// doneby: 23/06/2008 - Pode copiar o JS inteiro se quiser.
function Page_UpdatePanelReaload(panelID) {
    // mantem o tooltip compativel c/ update panel
    makeTooltip("#" + panelID + " .tooltip");
    // mantem os thickbox compativeis c/ update panel
    tb_init("#" + panelID + " .thickbox");
    // refaz titulo da pagina. qdo tem ajax, o titulo mudava.
    configurarPaginaTitulo();
    // deixa tudo no capslock
    makeAllUppercase_Selector("#" + panelID + " .uppercase");
}

// doneby: 23/06/2008
function makeAllUppercase() {
    makeAllUppercase_Selector(".uppercase");
}

// doneby: 23/06/2008
function makeAllUppercase_Selector(s) {
    $(s).blur(function() {
        try {
            $(this).get(0).value = $(this).get(0).value.toUpperCase();
        } catch (e) {
        }
    });
}

function makeTooltip(selector) {
    if (selector == null) selector = ".tooltip";
    $(selector).tooltip({
        bodyHandler: function() {
            url = $(this).attr("tooltip_url");
            if (url == "" || url == null) {
                return "tooltip_url?";
            }
            else {
                var id = "tooltip_id_" + (new Date()).getTime();
                html = "<span id='" + id + "'><img src='/anapro/imagens/loadingAnimation.gif' alt='' /></span>";

                url += (url.indexOf("?") == -1) ? "?" : "&";
                url += "__rnd=" + id;

                $.get(url, function(data) {
                    $("#" + id).html(data);
                });
                return html;
            }
            return
        },
        showURL: false
    });
}

function textareaLimiter()
{
    $("textarea[max]").each(function(){
        textarea_calculate($(this));
    });
    $("textarea[max]").keyup(function(){
        textarea_calculate($(this));
    });
}

function textarea_calculate(obj)
{
    var max = parseInt(obj.attr("max"));
    var idtext = obj.get(0).id + "_info";
    var dif = 0;

    if(isNaN(max)) max = -1;
    
    if(max != -1)
    {
        dif = max - obj.val().length;
        if(obj.val().length > max)
            obj.val(obj.val().substr(0, obj.attr("max")));
        if($("#" + idtext).length == 0)
            obj.after("<div id='"+ idtext +"' style='display: none;' class='textarea_info'></div>");
        $("#" + idtext).html("Falta " + dif + "/" + max + " caractere(s).").show();
    }
}

function loadingAttach()
{
    $(".btloading").click(function() {
        var _msg = $(".btloading").attr("loadingMessage");
        var _hide = $(".btloading").attr("loadingHide");
        var _html = "<div class='loading'>" + _msg + "<br /><img src='/anapro/imagens/loadingAnimation.gif' alt='' /></div>";

        $(".btloading").after(_html);
        $(".loading").show();
        $(".btloading").hide();
        $(".erro").hide();

        if (_hide != null) {
            var _hideArr = _hide.split(',');
            for (i = 0; i < _hideArr.length; i++) {
                $(_hideArr[i]).hide();
            }
        }
    });
}

function showLoading(o)
{
    o.innerHTML = "<img src='/anapro/imagens/loadingAnimation.gif' alt='Aguarde!' />";
}

function configurarPaginaTitulo()
{
    try
    {
        document.title = "ANAPRO - Gestão de vendas inteligente.";
    }catch(e)
    {        
    }
}
