// VARIAVEL USADA PARA A FUNCAO SHOWFORM()
var active_form = null;

$(document).ready(function() {

    // Ícone para blocos desdobraveis
    // especificar: class="tituloModulo" >
    //              class="tituloDesdobravel desdobravel_menos" title="[id bloco desdobravel]" alt="mais"
    //              id   = nome do mudulo a gravar aberto ou fechado
    $(".tituloDesdobravel").click(function () {

        $(this).removeClass("desdobravel_mais desdobravel_menos");
        if ($(this).attr("alt") == "menos" || $(this).attr("alt") == false) {
            $(this).addClass("desdobravel_menos");
            $(this).attr("alt", "mais");
            $("#" + $(this).attr("title")).show("fast");
            $.ajax({
                url      : "control.php",
                type     : "POST",
                dataType : "json",
                cache    : false,
                async    : false,
                data: {
                    url        : $("meta[name=url_perfil]").attr("content"),
                    control    : "ModuloUsuario",
                    action     : "alterarEstado",
                    returnType : "JSON",
                    classe     : $(this).attr("id").substr(10),
                    estado     : 1
                }
            });
        } else {
            $(this).addClass("desdobravel_mais");
            $(this).attr("alt", "menos");
            $("#" + $(this).attr("title")).hide("fast");
            $.ajax({
                url      : "control.php",
                type     : "POST",
                dataType : "json",
                cache    : false,
                async    : false,
                data: {
                    url        : $("meta[name=url_perfil]").attr("content"),
                    control    : "ModuloUsuario",
                    action     : "alterarEstado",
                    returnType : "JSON",
                    classe     : $(this).attr("id").substr(10),
                    estado     : 0
                }
            });
        }
    });
    // fim - Ícone para blocos desdobraveis

/* menu drop down */
    $(".link_mais").mouseover(function () {
        $("#menu_mais").show();
    })
    $("#menu_mais").mouseover(function () {
        $("#menu_mais").show();
    })
    $("body").mouseout(function () {
        $("#menu_mais").hide();
    });
/* fim - menu drop down */

    function excluirAmigo() {
        $('#caixaExcluirAmigo').show('slow');
    }

    $('.fechar_login').click(function () {
        $('.caixa_login').hide();
    });

    $('.link_login').click(function () {
        $('.caixa_login').show();
    });

/* esqueci a senha */

    $("#lembrarSenhaFlut").validate({
        rules: {
            email_lembrarsenha: {
                required: true,
                email:    true
            }
        },
        messages: {
            email_lembrarsenha: {
                required: "Campo obrigatório",
                email:    "e-mail inválido"
            }
        }
    });

    $("#btLembrarSenhaEnviar").click( function() {

        var sucesso = true;

        if($("#lembrarSenha").valid()) {

            if (sucesso == true) {
                $("#lembrarSenha").submit();
            }
        }
    });

/* fim esqueci a senha */

/* esqueci a senha Flut */

    $("#lembrarSenhaFlut").validate({
        rules: {
            email_lembrarsenha_flut: {
                required: true,
                email:    true
            }
        },
        messages: {
            email_lembrarsenha_flut: {
                required: "Campo obrigatório",
                email:    "e-mail inválido"
            }
        }
    });

    $("#btLembrarSenhaEnviarFlut").click( function() {

        var sucesso = true;

        if($("#lembrarSenhaFlut").valid()) {

            if (sucesso == true) {
                $("#login_flut").submit();
            }
        }
    });

/* fim esqueci a senha Flut */

/* login flutuante */

    $("#login_flut").validate({
        rules: {
            email_login_flut: "required",
            senha_login_flut: "required"
        },
        messages: {
            email_login_flut: "Campo obrigatório",
            senha_login_flut: "Campo obrigatório"
        }
    });

    function ajaxChecarLogineSenhaFlut() {

        sucesso = false;

        $.ajax({
            url      : "control.php",
            type     : "POST",
            dataType : "html",
            cache    : false,
            async    : false,
            data: {
                control    : "Login",
                action     : "checarLogineSenha",
                email      : $("#email_login_flut").val(),
                senha      : $("#senha_login_flut").val(),
                returnType : "JSON"
            },
            success: function(data) {
                sucesso = data;
            },
            error: function(data) {
                sucesso = data;
            }
        });
        return sucesso;
    }

    $(".btEsqueciMinhaSenhaFlut").click( function() {
        $(this).hide();
        $(".btLoginFlut").show();
        $("#login_flut").fadeOut(500, function () {
           $("#lembrarSenhaFlut").fadeIn(500);
        });
    });

    $(".btLoginFlut").click( function() {
        $(this).hide();
        $(".btEsqueciMinhaSenhaFlut").show();
        $("#lembrarSenhaFlut").fadeOut(500, function () {
           $("#login_flut").fadeIn(500);
        });
    });

    $("#entrar_login_flut").click( function() {

        var sucesso = true;

        if($("#login_flut").valid()) {

            if (ajaxChecarLogineSenhaFlut() == false) {
                $("#mensagem_login_flut").attr("class", "alert");
                $("#mensagem_login_flut").hide();
                $("#mensagem_login_flut").html("Usuário ou senha inválidos!").fadeIn("slow");
                sucesso = false;
            }

            if (sucesso == true) {
                $("#login_flut").submit();
            }
        }
    });

/* login */

    $("#login").validate({
        rules: {
            email_login: "required",
            senha_login: "required"
        },
        messages: {
            email_login: "Campo obrigatório",
            senha_login: "Campo obrigatório"
        }
    });

    function ajaxChecarLogineSenha() {

        sucesso = false;

        $.ajax({
            url      : "control.php",
            type     : "POST",
            dataType : "html",
            cache    : false,
            async    : false,
            data: {
                control    : "Login",
                action     : "checarLogineSenha",
                email      : $("#email_login").val(),
                senha      : $("#senha_login").val(),
                returnType : "JSON"
            },
            success: function(data) {
                sucesso = data;
            },
            error: function(data) {
                sucesso = data;
            }
        });
        return sucesso;
    }

    $(".btEsqueciMinhaSenha").click( function() {
        $(this).hide();
        $(".btLogin").show();
        $("#login").fadeOut(500, function () {
           $("#lembrarSenha").fadeIn(500);
        });
    });

    $(".btLogin").click( function() {
        $(this).hide();
        $(".btEsqueciMinhaSenha").show();
        $("#lembrarSenha").fadeOut(500, function () {
           $("#login").fadeIn(500);
        });
    });

    $("#entrar_login").click( function() {

        var sucesso = true;

        if($("#login").valid()) {

            if (ajaxChecarLogineSenha() == false) {
                $("#mensagem_login").attr("class", "alert");
                $("#mensagem_login").hide();
                $("#mensagem_login").html("Usuário ou senha inválidos!").fadeIn("slow");
                sucesso = false;
            }

            if (sucesso == true) {
                $("#login").submit();
            }
        }
    });

/* fim - login flutuante */

    $("#texto_pesquisa").click( function () {
        $("#mensagem_pesquisa").html("");
    });

/* form pesquisar */
    $("#btnPesquisa").click( function () {
        if($("#texto_pesquisa").val().length < 3 || $("#texto_pesquisa").val() == "Pesquisar") {
            $("#mensagem_pesquisa").html("Digite pelo menos 3 caracteres!");
            return false;
        } else {
            $("#formPesquisa").submit();
        }
    });
/* fim form pesquisar */

/* carrossel do top com os times */
if ($("#j_qtde").val()) {
    var qtde = $("#j_qtde").val();
    if (qtde < 15) {
        $(".j_setaEsquerda").remove();
        $(".j_setaDireita").remove();
    }
    $("#j_carrossel_topo").jCarouselLite ({
        btnPrev : '.prev',
        btnNext : '.next',
        scroll  : 2,
        visible : 15
    }).css("height","");
}
/* fim carrossel do top com os times */

});

function topoPagina(div) {
    $('html,body').animate({scrollTop: $(div).offset().top}, 500);
}

//------------------------------------------------------------------------------------
function gID(id){
    return document.getElementById(id);
}

function nl2br (str, is_xhtml) {

    var breakTag = '';

    breakTag = '<br />';
    if (typeof is_xhtml != 'undefined' && !is_xhtml) {
        breakTag = '<br>';
    }

    return (str + '').replace(/([^>]?)\n/g, '$1'+ breakTag +'\n');
}

function counter(campo, contador, tamanho) {
	var countBody = contador;
        var txtField = gID(countBody);
	var maxSize = tamanho ? tamanho : 1024;
	var field = campo;
	if (field && field.value.length >= maxSize) {
            field.value = field.value.substring(0, maxSize);
            txtField.setAttribute("color", "red");
	} else {
            txtField.setAttribute("color", "");
        }
	if (txtField) {
		txtField.innerHTML = field.value.length;
	}
}

/*----------------------------------------------------------------------------
Formatação para qualquer mascara
- CEP
OnKeyPress="formatar(this, '#####-###')"

- CPF:
OnKeyPress="formatar(this, '###.###.###-##')"

- DATA:
OnKeyPress="formatar(this, '##/##/####')"
-----------------------------------------------------------------------------*/
function formatar(src, mask){
    var i = src.value.length;
    var saida = mask.substring(0,1);
    var texto = mask.substring(i)
    if (texto.substring(0,1) != saida)
    {
        src.value += texto.substring(0,1);
    }
}

function showForm(formId) {
    obj = gID(active_form)
    if (obj) {
        hideForm(active_form);
    }

    active_form = formId;

    obj = gID(formId);
    obj.style.display = "block";
    obj.style.visibility = "visible";
}

function hideForm(formId) {
    obj = gID(formId);
    obj.style.display = "none";
    obj.style.visibility = "hidden";
}

function atualizaContador (quem, tipo) {
    var T = tipo;
    var C = $("#"+quem).html();
    C = eval(C);

    if(T == "add") {
        $("#"+quem).html((C+1));
    } else {
        $("#"+quem).html((C-1));
    }
}

function isValidURL(url){
    var RegExp = /^http:\/\/www.youtube.com\/watch\?v=.*$/;
    //var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
    if(RegExp.test(url)){
        return true;
    }else{
        return false;
    }
}

function href(url, destino){
    var urlatual =  window.location.href.toLocaleString();
    var urldestino = urlatual.substr(0, urlatual.indexOf(url)) +  destino;

    window.location.href = urldestino;
}

function round(valor, casas){
   var novo = Math.round( valor * Math.pow( 10 , casas ) ) / Math.pow( 10 , casas );
   return( novo );
}

$.fn.isLoading=function(){
    $(this).addClass("loading")
};

$.fn.isLoaded=function(){
    $(this).removeClass("loading")
};

$.fn.isCharCounter=function(){
    return this.each(function(){
        var A=true;
        var F=$(this);
        var J=F.parents("form");
        var E=J.find("#j_contador");
        var H=J.find("button[type=button]");
        var D=J.find("select");
        var count = E.text();
        function C(){
            H.attr("disabled","disabled").addClass("disabled");
            A=true
        }
        function G(){
            if(A){
                H.removeAttr("disabled").removeClass("disabled");
                A=false
            }
        }
        function B(){
            var L=F.val();
            var K=L.length;
            E.html(""+(count-K));
            if(K<=0){
                E.css("color","#999");
                C()
            }else{
                if(K<=count&&(D.length==0||D.val())){
                    G()
                }else{
                    C()
                }
                if(K>(count - 10)){
                    E.css("color","#d40d12")
                }else{
                    if(K>(count - 20)){
                        E.css("color","#5c0002")
                    }else{
                        E.css("color","#999")
                    }
                }
            }
        }
        var I="blur focus change "+($.browser.mozilla?"paste input":"keyup");F.bind(I,function(K){
            B()
        });
        D.change(function(K){
            B()
        });
        F.focus()
    })
};

function selectAll(seletor){
    $(seletor).attr("checked", $("#check_all").attr("checked"));
}

function mensagem(tipo, mensagem){
    if(acao){
        clearTimeout(acao);
    }

    $("#mensagemBodySuccess, #mensagemBodyError").click(function(){
        $(this).hide()
    }).css("cursor","pointer").css("width","99%");

    if(tipo == "success" || tipo == ""){
        $("#mensagemBodyError").hide();
        $("#mensagemBodySuccess").html("<span class='direita'>X</span>" + mensagem).show();
    } else {
        $("#mensagemBodySuccess").hide();
        $("#mensagemBodyError").html("<span class='direita'>X</span>" + mensagem).show();
    }

    var acao = window.setTimeout('$("#mensagemBodySuccess").hide(); $("#mensagemBodyError").hide();', 4000);
}

function number(e, dec) {
    var key, keychar;

    if (window.event){
        key = window.event.keyCode;
    } else if (e) {
        key = e.which;
    } else {
        return true;
    }

    keychar = String.fromCharCode(key);

    // controle das teclas
    if ((key==null) || (key==0) || (key==8) || (key==9) || (key==27) ) {
        return true;
    } else if ((("0123456789").indexOf(keychar) > -1)) { // numeros
        return true;
    } else if (dec && (dec == keychar)) { // permite teclas adicionais passadas como parametros
        return true;
    } else {
        return false;
    }
}

/* função responsável por retirar espaços em branco de strings.*/
function trim(str){
    return str.replace(/^\s+|\s+$/g,"");
}

function ganhaFoco(quem, texto){
    if (quem.value == texto){
        quem.style.color = "#000";
        quem.value = '';
    }
}
function perdeFoco(quem, texto){
    if (quem.value == ''){
        quem.style.color = "#A8A8A8";
        quem.value = texto;
    }
}
function isEmail(mail){
    var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
    if(typeof(mail) == "string"){
        if(er.test(mail)){
            return true;
        }
    }else if(typeof(mail) == "object"){
        if(er.test(mail.value)){
            return true;
        }
    }else{
        return false;
    }
}

function convidarAmigo(id_usuario){
   $.ajax({
        type: 'POST',
        data: {
            control:    "ConviteAmigo",
            action:     "enviarConviteAjax",
            id_usuario: id_usuario
        },
        url: 'control.php',
        success:function(data) {

            mensagem('success', data);
            $(".j_amigo_" + id_usuario).hide();
        }
    });
}

function isInt(x) {
   var y=parseInt(x);
   if (isNaN(y)) return false;
   return x==y && x.toString()==y.toString();
}


/* fim - login flutuante */

/* validar extensao
 * recebe arquivo   $("#nome_do_arquivo").val();
 *        extensoes "extensao1|extensao2|...";
 * */
function validarExtensao(filename,extensoes) {

    var file_arr  = filename.split('.');
    var last_item = file_arr.length - 1;
    var file_ext  = file_arr[last_item];
    var extensao_arr  = extensoes.split('|');
    var sucesso   = 0;
	for (var i=0; i < extensao_arr.length; i++) {
            if (file_ext.toUpperCase() == extensao_arr[i].toUpperCase()) {
                sucesso = 1;
            }
	}
    if (sucesso == 1) {
        return true;
    } else {
        return false;
    }
}
/* fim validar extensao */

function verificaDatas(dtInicial, dtFinal){

    var dtini = dtInicial;
    var dtfim = dtFinal;

    if ((dtini == '') && (dtfim == '')) {
        return false;
    }

    datInicio = new Date(dtini.substring(6,10),
                         dtini.substring(3,5),
                         dtini.substring(0,2));
    datInicio.setMonth(datInicio.getMonth() - 1);
    datFim = new Date(dtfim.substring(6,10),
                      dtfim.substring(3,5),
                      dtfim.substring(0,2));
    datFim.setMonth(datFim.getMonth() - 1);

    if(datInicio <= datFim){
        return true;
    } else {
        return false;
    }
}

function verificaHoras(horaInicial, horaFinal){
    var arr_inicial = horaInicial.split(":");
    var arr_final = horaFinal.split(":");

    var h_ini = parseInt(arr_inicial[0]);
    var h_fim = parseInt(arr_final[0]);
    var m_ini = parseInt(arr_inicial[1]);
    var m_fim = parseInt(arr_final[1]);

    if (h_ini > h_fim){
        return false;
    }else if (h_ini == h_fim){
        if (m_ini > m_fim){
            return false;
        }
    }
    return true;
}

var horaValidada	= /^([0-1]{1}[0-9]{1}|[2]{1}[0-3]{1}):[0-5]{1}[0-9]{1}$/;
function validarHora(valor) {
    newHora = horaValidada.exec(valor);
    if(newHora) {
        return true;
    } else {
        return false;
    }
}

function zebrar(pai, filho){
    $(pai + ' ' + filho +':odd').css("background","#FFFFFF");
    $(pai + ' ' + filho +':even').css("background","#EDEDED");
}

function paginacao(control, action, content){
    $(".j_paginacao_item").click(function(){
        $.ajax({
            type: "POST",
            data: $("#j_frmpaginacao").serialize(),
            url: "control.php?control="+control+"&action="+action+"&returnType=tpl&__pagina="+$(this).val(),
            success: function(data){
                $(content).html(data);
            }
        });
    });
}

/*
 * função para tornar os campos editaveis.
 * $(seletor).editavel();
 */
$.fn.editavel=function(options){
    var defaults = {
        control: "Index",
        action:  "Index",
        largura: 420,
        altura:  100,
        tipo:    "textarea",
        url:     "control.php"
    }
    var opts = $.extend(defaults, options);

    return $(this).each(function(){
        $(this).editable(opts.url, {
            indicator  : "<img src='images/icones/ico16_editar.gif'>",
            type       : opts.tipo,
            width      : opts.largura,
            height     : opts.altura,
            submitdata : { _method   :  "put",
                          control    :  opts.control,
                          action     :  opts.action
                         },
            select     : true,
            submit     : "<img src='images/icones/ico16_ok.png' class='char-counter' hspace='3'>",
            cancel     : "<img src='images/icones/ico16_cancelar.png' hspace='3'>",
            cssclass   : "editable",
            tooltip    : "Clique para editar o campo."
        });
    });
};