//Carrega o jQuery pela API do Google
google.load("jquery", "1.3.2");
google.load("jqueryui", "1.7.2");

function configuraDadosItem(identificacao) {
    $("#menu-"+identificacao).click(function(){
        $(".dados-item").css("display","none");
        $("#dados-"+identificacao).css("display","block");
        $("#dados-menu li").removeClass("menu-hover").removeClass("first-hover");
        if (identificacao == "status") {
            $(this).addClass("first-hover");
        } else {
            $(this).addClass("menu-hover");
        }
        
    });
}

function removerTweet(codigo, elemento) {
    $.getJSON('json.php?action=removerTweet&codigo='+codigo,
        function(data, textStatus) {
            if (textStatus == "success") {
                $(elemento).parent().remove();
            }
        }
    );    
}

//Executa essa função assim que a página carregar
google.setOnLoadCallback(function() {
    $("#veja-trailer").click(function(){
        $("#video-trailer").fadeIn(500);
    });
    $("#video-trailer a").click(function(){
        $("#video-trailer").fadeOut(500);
    });
    /*$("input.date").datepicker({ 
        constrainInput: true,
        maxDate: '+14',
        minDate: new Date(),
        showAnim: 'slideDown',
        dateFormat: 'dd/mm/yy',
		closeText: 'Fechar',
		prevText: '&#x3c;Anterior',
		nextText: 'Pr&oacute;ximo&#x3e;',
		currentText: 'Hoje',
		monthNames: ['Janeiro','Fevereiro','Mar&ccedil;o','Abril','Maio','Junho',
		'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
		monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun',
		'Jul','Ago','Set','Out','Nov','Dez'],
		dayNames: ['Domingo','Segunda-feira','Ter&ccedil;a-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sabado'],
		dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
		dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
		weekHeader: 'Sm',
		dateFormat: 'dd/mm/yy',
		firstDay: 0,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: '' });
	$("input.date").datepicker('option', $.extend({showMonthAfterYear: false} ,$.datepicker.regional['pt-BR']));*/
    $("input.date").click(
        function(){
            alert('No momento novos agendamentos estão suspensos!');
            $(this).blur();
    });
    $("input.date").keydown(
        function(){
            alert('No momento novos agendamentos estão suspensos!');
            $(this).blur();
    });

    configuraDadosItem("status");
    configuraDadosItem("programados");
    configuraDadosItem("enviados");
    configuraDadosItem("naoenviados");
    $("#modo-tweet-automatico").click(function(){
        $(this).css("background", " url(../imagens/bt_automatico_on.gif) no-repeat bottom");
        $("#modo-tweet-manual").css("background", " url(../imagens/bt_manual_off.gif) no-repeat bottom");
        $("#automatico").css("display","block");
        $("#manual").css("display","none");
        $("#programar a, #sep3").css("display","none");
    });
    $("#modo-tweet-manual").click(function(){
        $(this).css("background", " url(../imagens/bt_manual_on.gif) no-repeat bottom");
        $("#modo-tweet-automatico").css("background", " url(../imagens/bt_automatico_off.gif) no-repeat bottom");
        $("#manual").css("display","block");
        $("#automatico").css("display","none");
        $("#programar a, #sep3").css("display","block");
        $("#automatico-lista").css("display","none");
    });
    $("#menu-status").click(function(){
        $.getJSON('json.php?action=exibirStatus',
            function(data) {
                $(".t1").html(data.total);
                $(".t2").html(data.programados);
                $(".t3").html(data.enviados);
            }
        );
    });
    $("#menu-programados").click(function(){
       $("#dados-programados ul").html('Carregando...');
        $.getJSON('json.php?action=listarProgramados',
            function(data) {
               $("#dados-programados ul").html(data.length > 0 ? "" : "<li>Nenhum item encontrado!</li>");
               $(data).each(function(x, tweet){
                   var thelink = tweet.migreme ? 'http://migre.me/s/'+tweet.migreme : tweet.link;
                   $("#dados-programados ul").append("<li><a class=\"remover\" href=\"javascript:void(0);\" onclick=\"removerTweet('"+tweet.tweet_agenda_codigo+"', this);\">x</a> <strong>"+tweet.texto+" <a href=\""+thelink+"\">"+thelink+"</a></strong> às "+tweet.datahora+"</li>");
               });
            }
        );
    });
    $("#menu-enviados").click(function(){
       $("#dados-enviados ul").html('Carregando...');
        $.getJSON('json.php?action=listarEnviados',
            function(data) {
               $("#dados-enviados ul").html(data.length > 0 ? ""  : "<li>Nenhum item encontrado!</li>");
               $(data).each(function(x, tweet){
                   var thelink = tweet.migreme ? 'http://migre.me/s/'+tweet.migreme : tweet.link;
                   $("#dados-enviados ul").append("<li> <strong>"+tweet.texto+" <a href=\""+thelink+"\">"+thelink+"</a></strong> às "+tweet.datahora+"</li>");
               });
            }
        );
    });
    $("#menu-naoenviados").click(function(){
       $("#dados-naoenviados ul").html('Carregando...');
        $.getJSON('json.php?action=listarNaoEnviados',
            function(data) {
               $("#dados-naoenviados ul").html(data.length > 0 ? ""  : "<li>Nenhum item encontrado!</li>");
               $(data).each(function(x, tweet){
                   var thelink = tweet.migreme ? 'http://migre.me/s/'+tweet.migreme : tweet.link;
                   $("#dados-naoenviados ul").append("<li> <strong>"+tweet.texto+" <a href=\""+thelink+"\">"+thelink+"</a></strong> falhou às "+tweet.datahora+" <button onclick=\"reagendar(this, "+tweet.tweet_agenda_codigo+");\" type=\"button\" class=\"reagendar\" value=\""+tweet.codigo+"\">Reagendar</button></li>");
               });
            }
        );
    });
    $("#automatico label select").change(function(){
       $("#automatico-lista table").html('<tr><td colspan="3" style="text-align: center;">Carregando...</td>');
       $("#automatico-lista").css("display","block");
        $.getJSON('json.php?action=listarTweets&categoria='+this.value,
            function(data) {
               $("#automatico-lista table").html(data.length > 0 ? "" : '<tr><td colspan="3" style="text-align: center;">Nenhum item encontrado!</td>');
               $(data).each(function(x, tweet){
                    var classe_icone = '';
                    if (tweet.link) {
                        if (tweet.link.match(/jpg|gif|png|svg|bmp|jpeg$/gi)) {
                            classe_icone = 'prev-ico-maquina';
                        } else if (tweet.link.match(/^http:\/\/www\.youtube\.com\/watch\?v/gi)) {
                            classe_icone = 'prev-ico-camera';
                        } else {
                            classe_icone = 'prev-ico-page';
                        }
                    }
                    if (tweet.migreme) {
                        var link = "http://migre.me/"+tweet.migreme;
                    } else {
                        var link = tweet.link
                    }
                    var previewLink = '';
                    if (link) {
                        previewLink = "<a onclick=\"lightbox.abrir('prev');\" target=\"_prev\" class=\""+classe_icone+"\" href=\""+link+"\">Ver</a>";
                    }
                   $("#automatico-lista table").append(
                        "<tr>"
                            +"<td class=\"lista-check\"><input type=\"checkbox\" value=\""+tweet.codigo+"\"></td>"
                            +"<td class=\"lista-tweet\">"+tweet.texto+"</td>"
                            +"<td>"+previewLink+"</td>"
                        +"</tr>"
                    );
               });
            }
        );
    });
    $("#automatico-lista a").click(function(){
        var selecionados = [];
        $("#automatico-lista table tr input").each(function(n,item){
            if (item.checked) {
                selecionados.push(item.value);
            }
        });
        var vinicio_dia   = $("#inicio_dia").val();
        var vinicio_hora  = $("#inicio_hora").val(); 
        var vfim_dia      = $("#fim_dia").val();
        var vfim_hora     = $("#fim_hora").val();
        var vquantidade   = $("#quantidade").val();
        var vinicio_time  = new Date(
            vinicio_dia.replace(/^.{6}(\d{4}).*$/gi, '$1'),
            vinicio_dia.replace(/^.{3}(\d{2}).*$/gi, '$1')-1,
            vinicio_dia.replace(/^(\d{2}).*$/gi, '$1')
        );
        var vinicio_full  = new Date(
            vinicio_dia.replace(/^.{6}(\d{4}).*$/gi, '$1'),
            vinicio_dia.replace(/^.{3}(\d{2}).*$/gi, '$1')-1,
            vinicio_dia.replace(/^(\d{2}).*$/gi, '$1'),
            vinicio_hora.replace(/^(\d{2}).*$/gi, '$1')
        );
        var vfim_time = new Date(
            vfim_dia.replace(/^.{6}(\d{4}).*$/gi, '$1'),
            vfim_dia.replace(/^.{3}(\d{2}).*$/gi, '$1')-1,
            vfim_dia.replace(/^(\d{2}).*$/gi, '$1')
        );
        var diferenca = vfim_time.getTime() - vinicio_time.getTime();
        if(vinicio_dia == "") { 
            alert("Você precisa escolher um dia para começar a enviar os tweets");
            $("#inicio_dia").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vfim_dia == "") { 
            alert("Você precisa escolher um dia para terminar o envio de tweets");
            $("#fim_dia").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vinicio_hora  == "") { 
            alert("Você precisa escolher um horário para começar a enviar os tweets");
            $("#inicio_hora").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vfim_hora == "") {
            alert("Você precisa escolher um horário para terminar o envio de tweets");
            $("#fim_hora").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vquantidade == "") {
            alert("Você precisa escolher quantos tweets enviar no período");
            $("#quantidade").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(diferenca < 0) {
            alert("O término tem que ser uma data posterior ao início");
            $("#fim_dia").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vinicio_full.getTime() <= new Date().getTime()) {
            alert("O início tem que ser maior do que a data atual");
        } else if(selecionados.length > (diferenca/86400000+1)*vquantidade) {
            alert("Você selecionou mais tweets do que o período suporta! Desmarque alguns para continuar");
            return false;
        } else if (selecionados.length == 0) {
            if (confirm("Nenhum item selecionado, clique em OK para fechar a janela")) {
                $("#automatico-lista").css("display","none");
            } else {
                return true;
            }
        } else  {
            /*$.post('json.php?action=programar', {
                inicio_dia:  vinicio_dia, 
                inicio_hora: vinicio_hora,
                fim_dia:     vfim_dia,
                fim_hora:    vfim_hora,
                quantidade:  vquantidade,
                "tweets[]": selecionados
            }, function(data, textStatus) {
                if (data && data.erro) {
                    $("#programar p").html(data.erro);
                } else if (textStatus == "success") {
                    $("#programar p").html("Você selecionou "+selecionados.length+(selecionados.length > 1 ? " mensagens" : " mensagem"));
                    $("#menu-programados").click();
                } else {
                    $("#programar p").html("Houve um erro na hora de salvar os tweets :(");
                }
                $("#programar p").slideDown(500).animate({marginLeft: 0},5000).slideUp(500);
            }, "json");*/
            $("#automatico-lista").css("display","none"); 
            var vinicio_dia   = $("#inicio_dia").val('');
            var vinicio_hora  = $("#inicio_hora").val(''); 
            var vfim_dia      = $("#fim_dia").val('');
            var vfim_hora     = $("#fim_hora").val('');
            var vquantidade   = $("#quantidade").val('');
        }
        return false;
    });
    $("#tweet-manual-texto").keyup(function(){
        $("#contador").html(104-$(this).val().length);
    });
    $("#tweet-manual-texto").keydown(function(ev){
        if ($(this).val().length >= 104 && ev.keyCode != 8) {
            ev.returnValue = false;
            ev.stopPropagation();
            ev.preventDefault();
            return false;
        }
    });
    $("#programar a").click(function(){
        var vinicio_dia   = $("#inicio_dia").val();
        var vinicio_hora  = $("#inicio_hora").val(); 
        var vfim_dia      = $("#fim_dia").val();
        var vfim_hora     = $("#fim_hora").val();
        var vcompartilhar = $("#compartilhar").attr('checked');
        var vinicio_time  = new Date(
            vinicio_dia.replace(/^.{6}(\d{4}).*$/gi, '$1'),
            vinicio_dia.replace(/^.{3}(\d{2}).*$/gi, '$1')-1,
            vinicio_dia.replace(/^(\d{2}).*$/gi, '$1')
        );
        var vfim_time = new Date(
            vfim_dia.replace(/^.{6}(\d{4}).*$/gi, '$1'),
            vfim_dia.replace(/^.{3}(\d{2}).*$/gi, '$1')-1,
            vfim_dia.replace(/^(\d{2}).*$/gi, '$1')
        );
        var diferenca = vfim_time.getTime() - vinicio_time.getTime();
        var vtexto = $("#tweet-manual-texto").val();
        var vlink = $("#tweet-manual-link").val();
        if(vinicio_dia == "") { 
            alert("Você precisa escolher um dia para começar a enviar os tweets");
            $("#inicio_dia").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vfim_dia == "") { 
            alert("Você precisa escolher um dia para terminar o envio de tweets");
            $("#fim_dia").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vinicio_hora  == "") { 
            alert("Você precisa escolher um horário para começar a enviar os tweets");
            $("#inicio_hora").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vfim_hora == "") {
            alert("Você precisa escolher um horário para terminar o envio de tweets");
            $("#fim_hora").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vtexto.length == 0) {
            alert("Você precisa digitar um texto");
            $("#quantidade").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vtexto.length > 104) {
            alert("Você excedeu a quantidade de caracteres permitidos!");
            $("#quantidade").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(diferenca < 0) {
            alert("O término tem que ser uma data posterior ao início");
            $("#fim_dia").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else {
            /*$.post('json.php?action=manual', {
                inicio_dia:   vinicio_dia, 
                inicio_hora:  vinicio_hora,
                fim_dia:      vfim_dia,
                fim_hora:     vfim_hora,
                texto:        vtexto,
                link:         vlink,
                compartilhar: vcompartilhar == true ? '1' : '0'
            }, function(data, textStatus) {
                if (textStatus == "success") {
                    if (data && data.erro) {
                        var mensagem = data.erro;
                    } else if (vcompartilhar == true) {
                        var mensagem = "Seu tweet foi enviado para ser avaliado pela moderação!";
                    } else {
                        var mensagem = "Tweet programado com sucesso!";
                    }
                    $("#programar p").html(mensagem).slideDown(500).animate({marginLeft: 0},5000).slideUp(500);
                    $("#menu-programados").click();
                } else {
                    alert("Houve um problema na hora de salvar os tweets :(");
                }
            }, "json");*/
        }
    });
    window.reagendar = function (button, agenda){
        var selecionados = [];
        selecionados.push(button.value);
        var vinicio_dia   = $("#inicio_dia").val();
        var vinicio_hora  = $("#inicio_hora").val(); 
        var vfim_dia      = $("#fim_dia").val();
        var vfim_hora     = $("#fim_hora").val();
        var vquantidade   = $("#quantidade").val();
        var vinicio_time  = new Date(
            vinicio_dia.replace(/^.{6}(\d{4}).*$/gi, '$1'),
            vinicio_dia.replace(/^.{3}(\d{2}).*$/gi, '$1')-1,
            vinicio_dia.replace(/^(\d{2}).*$/gi, '$1')
        );
        var vinicio_full  = new Date(
            vinicio_dia.replace(/^.{6}(\d{4}).*$/gi, '$1'),
            vinicio_dia.replace(/^.{3}(\d{2}).*$/gi, '$1')-1,
            vinicio_dia.replace(/^(\d{2}).*$/gi, '$1'),
            vinicio_hora.replace(/^(\d{2}).*$/gi, '$1')
        );
        var vfim_time = new Date(
            vfim_dia.replace(/^.{6}(\d{4}).*$/gi, '$1'),
            vfim_dia.replace(/^.{3}(\d{2}).*$/gi, '$1')-1,
            vfim_dia.replace(/^(\d{2}).*$/gi, '$1')
        );
        var diferenca = vfim_time.getTime() - vinicio_time.getTime();
        if(vinicio_dia == "") { 
            alert("Você precisa escolher um dia para começar a enviar os tweets");
            $("#inicio_dia").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vfim_dia == "") { 
            alert("Você precisa escolher um dia para terminar o envio de tweets");
            $("#fim_dia").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vinicio_hora  == "") { 
            alert("Você precisa escolher um horário para começar a enviar os tweets");
            $("#inicio_hora").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vfim_hora == "") {
            alert("Você precisa escolher um horário para terminar o envio de tweets");
            $("#fim_hora").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vquantidade == "") {
            alert("Você precisa escolher quantos tweets enviar no período");
            $("#quantidade").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(diferenca < 0) {
            alert("O término tem que ser uma data posterior ao início");
            $("#fim_dia").addClass("nao_preenchido").focus().change(function(){$(this).removeClass()});
        } else if(vinicio_full.getTime() <= new Date().getTime()) {
            alert("O início tem que ser maior do que a data atual");
        } else if(selecionados.length > (diferenca/86400000+1)*vquantidade) {
            alert("Você selecionou mais tweets do que o período suporta! Desmarque alguns para continuar");
            return false;
        } else if (selecionados.length == 0) {
            if (confirm("Nenhum item selecionado, clique em OK para fechar a janela")) {
                $("#automatico-lista").css("display","none");
            } else {
                return true;
            }
        } else  {
            /*$.post('json.php?action=programar', {
                inicio_dia:  vinicio_dia, 
                inicio_hora: vinicio_hora,
                fim_dia:     vfim_dia,
                fim_hora:    vfim_hora,
                quantidade:  vquantidade,
                "tweets[]": selecionados
            }, function(data, textStatus) {
                if (data && data.erro) {
                    $("#programar p").html(data.erro);
                } else if (textStatus == "success") {
                    $("#programar p").html("Você selecionou "+selecionados.length+(selecionados.length > 1 ? " mensagens" : " mensagem"));
                    $("#menu-programados").click();
                } else {
                    $("#programar p").html("Houve um erro na hora de salvar os tweets :(");
                }
                $("#programar p").slideDown(500).animate({marginLeft: 0},5000).slideUp(500);
            }, "json");*/
            $("#automatico-lista").css("display","none"); 
            var vinicio_dia   = $("#inicio_dia").val('');
            var vinicio_hora  = $("#inicio_hora").val(''); 
            var vfim_dia      = $("#fim_dia").val('');
            var vfim_hora     = $("#fim_hora").val('');
            var vquantidade   = $("#quantidade").val('');
            removerTweet(agenda, button.parentNode);
        }
        return false;
    }
});

