window.uglyAlert = window.alert;
window.alert = function(msg) {
    if (jQuery == undefined || jQuery.fn.overlay == undefined)
        return window.uglyAlert(msg);
    
    $('<div id="user-message-dialog"></div>')
                    .width('90%')
                    .css({
                        'display'               : 'none',
                        'padding'               : '30px',
                        'background-color'      : '#000000',
                        '-moz-border-radius'    :'6px',
                        '-webkit-border-radius' :'6px',
                        '-moz-box-shadow'       : '0 0 50px #ccc',
                        '-webkit-box-shadow'    : '0 0 50px #ccc'
                    })
                    .append('<p>'+msg+'</p>')
                    .append('<button id="overlay_close_button">Ok</button>')
                    .appendTo('body');
    $('#user-message-dialog').overlay({
        'load': true,
        'close': '#overlay_close_button',
        'mask': {
            'color': '#000000',
            'loadSpeed': 200,
            'opacity': 0.6
        },
        'top' : 'center',
        'left': 'center',
        'closeOnClick': false,
        'onClose': function(event, tabIndex) {
            $('#user-message-dialog').detach();
        }
    });
    return false
};

$(document).ready( function() {
    /* HOME Tabs Facebook e Twitter*/ 
    $(function() {
        // setup ul.tabs to work as tabs for each div directly under div.panes
        $("ul.tabs-social").tabs("div.panes > div");
    });
    
    /* Controlando as notifica√ß√µes */
    $('#notification-messages li').each(function() {
        msg = $(this).html();
        log(msg);
        $.jGrowl(msg, { 
            sticky: true, 
            theme: 'smoke'
        });
    });
    $('#search').click( function(){
        $('#search').val('');
    });
    /* acessando box de login */
    $('#link-acessar').click( function(event) {
        event.preventDefault();
        $('#box-login').slideToggle();
        $('#banner-top div').toggle();
    });
    
    $('#logado').click(function(event){
        location.href='/eleicao/';
    });
    /* acessando box de login */
    $('#logar').click( function(event) {
        event.preventDefault();
        $('#box-login').slideToggle();
        $('#banner-top div').toggle();
    });
   
    /* termo de responsabilidade - mosaico */
    $('.social-icons input').click( function(event) {
        if ( !$('#check').attr('checked') ) {
            event.preventDefault();
            alert('Voce deve aceitar o termo.');
        }
    });
   
    $('#pergaminho-index li[value="entenda"]').addClass('selected');
    $('#entenda-index li[value="0"]').addClass('selected');
   
    /* efeito na apresentacao/troca de pergaminho */
    $('#pergaminho-index li').click( function(event) {
        var elem = this.getAttribute('value');
        showPaper(elem);
    });
   
    /* efeito no pergaminho de apresentacao dos papeis na republica */
    $('#entenda-index li').click( function(event) {
        var elem = this.getAttribute('value');
        $('#entenda-index li').removeClass('selected');
        $(this).addClass('selected');
        setDiv('entenda', elem);
    });

    /* efeito no pergaminho de apresentacao dos papeis na republica */
    $('#papeis-index li').click( function(event) {
        var elem = this.getAttribute('value');
        $('#papeis-index li').removeClass('selected');
        $(this).addClass('selected');
        setDiv('papeis', elem);
    });

    // jqueryTools - Tooltip
    $("#his-santinho-small a[title]").tooltip();
    $("#profile-menu a[title]").tooltip();
    $(".badges-list li a[title]").tooltip();
    $("#votar-candidato[title]").tooltip();

    /* candidatura */
    $('.candidatura .steps').fadeOut(0);
    $('.candidatura #step1').fadeIn();
    
    $('.candidatura .nav a.step-back').click(function(event) {
        event.preventDefault();
        $('.candidatura .steps').fadeOut(0);
        $(this.getAttribute('href')).fadeIn();
    });
    
    $('.candidatura .nav a.step-ok').click(function(event) {
        event.preventDefault();

        if($('#email').val()!='') {
            $('#email').attr('readonly', true);
        }

        section = $(this).closest('div.steps').attr('id');

        if ( section == 'step2' ) {
            
            var navstep = this;
            
            $.ajax({
                url: '../cidadao/valida-cpf',
                data: 'cpf='+$('#cpf').val(),
                dataType: 'json',
                type: 'post',
                success: function (data) {
                    
                    if ( !$('#maior:checked').length>0 ) {
                        alert('Voc√™ precisa confirmar que possui mais de 16 anos');
                    } 
                    else if ( data.validate != true ) {
                        alert( data.message );
                    }
                    else if ( $('#email').val()=='' || validaEmail($('#email').val()==false) ) {
                        alert('Voc√™ precisa digitar seu endere√ßo de email corretamente');
                    } 
                    else {
                        $('.candidatura .steps').fadeOut(0);
                        $(navstep.getAttribute('href')).fadeIn();
                    }
                }
            });

        } else {

            if ( $( '#' + section + ' input[type=radio]:checked').length <= 0 ) {
                alert('Voc√™ n√£o selecionou nenhuma op√ß√£o');
            } else {
                
                $('.candidatura .steps').fadeOut(0);
                $(this.getAttribute('href')).fadeIn();
                
                if ( section == 'step1' ) {
                    
                    var cargo = $('#' + section + ' input[type=radio]:checked').val();
                    
                    $('#step2 .cargo').fadeOut(0);
                    $('#step2 #cargo-'+cargo).fadeIn();
                }

                if ( section == 'step5' ) {

                    var text = '<ul>';

                    $('.candidatura input[type=radio]:checked').each(function(index) {
                        
                        if (index==0) {
                            text += '<li><span>Cargo:</span>' + $(this).attr('alt') + '</li>';
                        } else {
                            text += '<li><span>Desafio ' + index +':</span>' + $(this).attr('alt') + '</li>';
                        }
                        
                    });
                    
                    text += ' <br style="clear" /></ul>';
                    /* @TODO
                    if( $('.candidatura input[type=radio]:checked').attr('alt') == 'Presidente' ) {
                       // text += '<p>Se voc√™ for eleito, vai poder criar um novo desafio. Este desafio vai entrar em uma lista e ser√° feito um plebiscito para que os cidad√£os decidam qual ser√° a atividade extra.</p>';
                    }
                     */
                    $('#step6 #plano-governo').html(text);
                    

                }

            }
        }
    });
    
    // botao finalizar no form candidato/minha propagando
    $('#finalizar').click(function(){
        window.location.href = '/my';
    });

    /* Fancybox plugin */
    if ($.fn.fancybox) {
        /* visualizar avatar em tamanho grande */ 
        $('.badges-list a').fancybox({
            'autoDimensions' : true,
            'titleShow' : false
        });

        $('.lista-conquistas a').fancybox({
            'autoDimensions' : true,
            'titleShow' : false
        });
        
        /* lightbox com posts do wordpress */
        $("#status-posts-links #republica-posts-list li a").fancybox({
            'width'  : 900,
            'height' : 550,
            'autoDimensions' : false
        });

        /* lightbox com santinhos */
        $("#my-santinho-small a").fancybox({
            'autoDimensions' : true,
            'titleShow' : false
        });
        $("#his-santinho-small a").fancybox({
            'autoDimensions' : true,
            'titleShow' : false
        });
    }

    // buscar input com erros e destacar 
    $('form .errors').prev().addClass('input-error');
    
    $('.input-error').blur( function() {
        if( $(this).val() != '' ) {
            $(this).removeClass('input-error');
        }
    });
    
    // download de wallpaper da republic
    $('.wallpaper-options li').click( function() {
        var url = '../wallpaperdownload/size/w' + $(this).attr('value') + '-' + $(this).text();
        window.location = url;
    });
     
    
    /* povo da republica, exibicao/foco na opcao desejada */
    var div_id = window.location.hash;

    if ( div_id != '' ) {
        div_id = div_id.replace('#', '');
        $('#list-governador').css('display','none');            
        $('#list-presidente').css('display','none');            
        $('#list-congressista').css('display','none');

        $('#congressista').css('background','');      
        $('#presidente').css('background','');      
        $('#governador').css('background','');      
        $('#'+div_id).css('background','rgb(66, 66, 70)');

        $('#list-'+div_id).css('display','block');     
    }else {
        $('#governador').css('background','rgb(66, 66, 70)');
    }

    //Efeito do mapa votacao
    $("#opcoes-mapa li").click(function() {  
        var _id    = this.getAttribute('value');
        var _valor = $("#opcoes-mapa li").index(this);

        $.getJSON('./mapa/check/question/'+_id, 
            function(data) {
                //Limpa todos os resultados
                $('.votacao').css('display','none');
                $('.votacao-sel').css('display','none');
                $('#resultado').css('display','none');
                
                // deixa somente classe opcao-mapa na li para check no mapa
                $('#opcoes-mapa li').removeClass().addClass('opcao-mapa');

                // Marca o local selecionado do mapa
                $('#cont'+_valor).addClass('seleciona-cont-'+_valor);

                if(data.answer==true){
                    el = $('#resultado');
                    el.html(retornaResultadoQuiz(data,0));
                }else {
                    var el = $('#votacao'+_valor);
                }
                
                el.removeClass('votacao');
                el.addClass('votacao-sel');
                el.fadeIn();
            });        
    });
    
    /* salvando voto do quiz map */
    $("li.votacao > ul > li").click( function(){
        _idQuestion = parseInt($(this).parent().parent().attr('value'));        
        _idAnswer   = this.getAttribute('value');
        _valorDiv=_idQuestion-1;
        $.getJSON('./mapa/resposta/question/'+_idQuestion+'/answer/'+_idAnswer, 
            function(data) {
                if ( data.success==true ) {
                    // salvou resposta
                    $('#votacao'+_valorDiv).css('display','none');
                    $('#resultado').html(retornaResultadoQuiz(data,1));

                    $('#resultado').addClass('votacao-sel');
                    $('#resultado').css('display','block');
                } else {
            // nao salvou resposta
            //console.log('Erro: resposta nao foi salva por algum motivo, ver mensagem');
            }
            });
    });
    $('#ir-ranking').click(function(event){
        event.preventDefault();
        location.href='/mapa/resultado-parcial/';
    });
   
    $('#votar-candidato').click( function(event){
        event.preventDefault();
        $('#confirma_voto').addClass('votacao-sel');
        $('#confirma_voto').css('display','block');
    });
   
    /**
    * reply post
    */
    $('.link-reply').click( function() {
        showReplyPost(this);
    } );
   
    $('.reply-post-div .cancel').click( function() {
        removeReplyPost(this);
    } );

   
    /**
    * rating do presidente
    */
    $('.rating-stars .rating-item').hover(ratingCompleteHover, ratingComplete);
    $('.rating-stars .rating-item').click( function(event) {
        event.preventDefault();
        var _rating = $(this).val();
        
        $.ajax(
        { 
            url      : '../../avaliacao-presidente',
            data     : {
                'rate' : _rating, 
                'format' : 'json'
            },
            dataType : 'json',
            type     : 'post',
            success  : function(data) {
                if (data.success==true) {
                    $('.rating-value').text(data.rating.rating);
                    ratingComplete();
                    suffix = (data.newVote) ? 'computada com sucesso' : 'alterada com sucesso' ;
                    alert('Sua avaliação, ' + _rating + ' estrelas, foi '+suffix+'. \n\
                           Obrigado pela participação!\n\
                           As estrelas em amarelo definem a média de avaliação de toda a República');
                } else {
                    alert(data.message);
                }
            }
        } );
    });
    
    
    //visualizar badge automaticamente via link
    if ( typeof _view_badge_name != 'undefined' ) {
        $("ul.lista-conquistas li.conquisted img[alt="+_view_badge_name+"]").parent().trigger('click');
    }
});



function retornaResultadoQuiz(dados,msg){
    if (msg==1) {
        _html ="<a href=\"javascript: fecharResultado()\" class=\"btn_close\"><img src=\"../img/close.png\"></a><h3>"+dados.result.question.description+"</h3>Voto computado com sucesso. Veja abaixo o resultado parcial.<hr>";       
    }else{
        _html ="<a href=\"javascript: fecharResultado()\" class=\"btn_close\"><img src=\"../img/close.png\"></a><h3>"+dados.result.question.description+"</h3>Você já votou nesta opção, veja abaixo o resultado.<hr>";        
    }
    if (!dados || !dados.result || !dados.result.question.option) return;
    options = dados.result.question.option;
    $(options).each(function(i) {
        option     = this;
        _perc      = option.percentual;
        line_class = (i%2) ? '' : 'background-color: #333;' ;
        _html += '<div style="padding-top: 4px; padding-bottom: 4px; '+line_class+'"><div class="descricao-resultado">'+option.description+'</div><div class="porc_externa"><div class=\'porc_resultado\'>('+_perc+'%) &nbsp; </div><div class="porc_interna" style="width:'+option.percentual+'px"></div></div></div>';
    });
    return _html;
}

function fecharJanela(k){
    document.getElementById('votacao'+k).style.display='none';
}
function fecharResultado(){
    document.getElementById('resultado').style.display='none';
}

/**
 * full html - vertical align 
 */
function setPosition() {
   
    var hwin = $(window).height();
    var hdoc = $(document).height();
   
    if ( hwin > hdoc) {
        var top = Math.round( (hwin - hdoc)/2 );
        $('#container').css('margin-top', top+'px');
        $('#container').animate({
            top: '+=' + top
        }, 100);
    }

}

/**
 * viewing the content until the div selected 
 */
function setDiv(papiro, div) {
    var margin   = ( -1*(div*756) );
    $("#" + papiro + " .pergaminho-container").animate({
        "margin-left": margin+"px"
    }, "slow");
}

/**
 * visual effect to change the papyrus
 */
function showPaper(id) {

    $('.pergaminho-index ul').fadeOut('normal', function() {

        // removendo selected (todos) e add no item selecionado, lista papiros
        $('#pergaminho-index li').removeClass('selected');
        $('#pergaminho-index li[value="'+id+'"]').addClass('selected');

        // removendo selected (todos) e add no 1.item, lista de item de um papiro
        $('.pergaminho-index li').removeClass('selected');
        //$('.pergaminho-index ul > li:eq(0)').addClass('selected');        
        $('#entenda-index ul > li:eq(0)').addClass('selected');
        $('#papeis-index ul > li:eq(0)').addClass('selected');

        $('#borda-pergaminho').animate(
        {
            width: 80
        }, 'slow', function() {
            
            $('#pergaminho div').fadeOut(0);
            $('#'+id+'-index').fadeIn('slow');
            $('#'+id+'-index ul').fadeIn(0);
            $('#'+id).fadeIn(0);
            $('.pergaminho section').css('margin-left', 0);
            $('#borda-pergaminho').animate(
            {
                width: 850
            }, 'slow') 
        }
        );

    });
}

setPosition();

function validaCPF(cpf) {
    exp = /\.|\-/g
    cpf = cpf.toString().replace( exp, "" ); 
    var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
    var soma1=0, soma2=0;
    var vlr =11;
        
    for(i=0;i<9;i++){
        soma1+=eval(cpf.charAt(i)*(vlr-1));
        soma2+=eval(cpf.charAt(i)*vlr);
        vlr--;
    }       
    soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
    soma2=(((soma2+(2*soma1))*10)%11);
        
    var digitoGerado=(soma1*10)+soma2;
    if(digitoGerado!=digitoDigitado) {
        return false;
    } else {
        return true;
    }
}

function validaEmail(email) 
{
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    return reg.test(email);
}

function formataData(campo){

    document.onkeyup = function(e){
        if(e.which==8){
       
        }else{
            if (campo.value.length == 2)
            {
                numero = campo.value.substring(0,2) + "/";
                campo.value = numero;
            }

            if (campo.value.length == 5)
            {
                numero = campo.value.substring(0,5) + "/";
                campo.value = numero;
            }

            if (campo.value.length > 10)
            {
                numero = campo.value.substring(0,10);
                campo.value = numero
            }       
        }
    }
}

$('#index-users div').click( function() {
    var id = $(this).attr('id');
    $('#list-governador').css('display','none');            
    $('#list-presidente').css('display','none');            
    $('#list-congressista').css('display','none');
        
    $('#congressista').css('background','');      
    $('#presidente').css('background','');      
    $('#governador').css('background','');      
    $('#'+id).css('background','rgb(66, 66, 70)');

    $('#list-'+id).css('display','block');              
});
    
$(function() {
    // twitter
    if ($('#twitter-stream').length)
        $.getJSON("http://api.twitter.com/1/statuses/user_timeline.json?screen_name=eupresidenterpc&count=20&callback=?",
            function(data){
                $.each(data, function(i,item){
                    ct   = item.text;
                    ct   = ct.replace(/http:\/\/\S+/g,  '<a href="$&" target="_blank">$&</a>');
                    ct   = ct.replace(/(@)(\w+)/g,    ' @<a onclick="javascript:pageTracker._trackPageview(\'/outgoing/twitter.com/\');" href="http://twitter.com/$2" target="_blank">$2</a>');
                    ct   = ct.replace(/(#)(\w+)/g,    ' #<a onclick="javascript:pageTracker._trackPageview("/outgoing/search.twitter.com/search?q=%23\');" href="http://search.twitter.com/search?q=%23$2" target="_blank">$2</a>');
                    from = item.user.screen_name;
                    link = 'http://www.twitter.com/'+from;
                    $("#twitter-stream").append('<li> <a href="'+link+'" target="_blank">@'+from+'</a>: '+ct+'</li>');
                });
            });
});

if(document.getElementById('total-destaque')){
    window.setInterval(function(){
        _tdestaque=document.getElementById('total-destaque');
        _indice_destaque=document.getElementById("indice_destaque");
        for(_j=1;_j<_tdestaque.value;_j++){
            if(_j==_indice_destaque.value){
                document.getElementById('destaque'+_j).style.display= 'block';               
            }else{
                document.getElementById('destaque'+_j).style.display= 'none';               
            }

        }
        
        if((_j-1)==(_indice_destaque.value)){
            _indice_destaque.value=1;    
        }else{
            _indice_destaque.value=parseInt(_indice_destaque.value)+1;    
        }
    },10000);
}
if(document.getElementById('destaque1')){
    document.getElementById('destaque1').style.display= 'block';
}

function next_destaque(){
    _tdestaque=document.getElementById('total-destaque');
    _indice_destaque=document.getElementById("indice_destaque");
    
    if(_indice_destaque.value==(_tdestaque.value-1)){
        _indice_destaque.value=1;    
    }else{
        _indice_destaque.value=parseInt(_indice_destaque.value)+1;    
        if(_indice_destaque.value>=_tdestaque.value){
            _indice_destaque.value=1;    
        }
    }
    
    
    for(_j=1;_j<_tdestaque.value;_j++){
        if(_j==_indice_destaque.value){
            document.getElementById('destaque'+_j).style.display= 'block';               
        }else{
            document.getElementById('destaque'+_j).style.display= 'none';               
        }

    }

    _indice_destaque.value=parseInt(_indice_destaque.value);    
}

function ant_destaque(k){
    _tdestaque=document.getElementById('total-destaque');
    _indice_destaque=document.getElementById("indice_destaque");
    
    if(_indice_destaque.value>1){
        _indice_destaque.value=indice_destaque.value-1;    
    }else{
        
        _indice_destaque.value=_tdestaque.value-1;    
    }
    
    
    for(_j=1;_j<_tdestaque.value;_j++){
        if(_j==_indice_destaque.value){
            document.getElementById('destaque'+_j).style.display= 'block';               
        }else{
            document.getElementById('destaque'+_j).style.display= 'none';               
        }

    }
    _indice_destaque.value=parseInt(_indice_destaque.value);  
}

function ratingComplete() {
    var _stared = $('.rating-value').text();
    for ( i=0; i < 5; i++ ) {
        if ( i < _stared ) {
            $('.rating-stars li').eq(i).addClass('rating-item-full');
        }
        if ( i >= _stared ) {
            $('.rating-stars li').eq(i).removeClass('rating-item-full');
        }
    }
}

function ratingCompleteHover() {
    $(this).prevAll().andSelf().addClass('rating-item-full');
    $(this).nextAll().removeClass('rating-item-full');
}

/**
 * called in ul.post-options > li.link-reply > click()
 */
function showReplyPost(el) {
    var _id = $(el).attr('value');
    if ($('#reply-post-'+_id).get(0)) {
        $('#reply-post-'+_id).empty();
    }     
    $.get('/my/form-reply-post/post/' + _id, function(data) {
        $('#reply-post-'+_id).append(data);
        $('#reply-post-'+_id).overlay({
            load: true, 
            mask: {
                color: '#000',
                loadSpeed: 200,
                opacity: 0.7
            }
        });
        $('#reply-post-'+_id).data('overlay').load();
    });
}

function removeReplyPost(el) {
    $(el).parents('.reply-post-div').html('');
}
