// JavaScript Document
function secciona(id, sessao, ib){
    //ib = itens por bloco
    var valor = Math.ceil(sessao.length/ib)
    var ul = id.find('ul:first')
    var container = id.find('.container')
    //prepara UL
    ul.css('width', container.width()*valor);
	
    //container - registro de largura
    container.data('cw', container.width());
    container.data('ch', container.height());

    for (i = 1; i <= valor; i++)
    {
        inicio = (i-1)*ib;
        fim = i*ib;
		
        var a = sessao.slice(inicio,fim);
		
        ul.append('<li id="b'+i+'" class="bloco" style="width: '+container.data('cw')+'px; height: '+container.data('ch')+'px;"><ul class="clearfix" style=" height: '+container.data('ch')+'px;"></ul></li>');
		
        ul.find('#b'+i+' ul').append(a.clone());
        a.remove();
		
        //Bolas
        id.find('.bolas').append('<span id="'+id.attr('id')+'-bola'+i+'" class="bola"></span>');
        id.find('#'+id.attr('id')+'-bola'+i).data('mover', container.width()*(i-1)).data('id_parent',id);
        if (i == 1){
            id.find('.bola').addClass('ativo');
        }
    }
    var bloco = ul.find('.bloco')
    ul.width((bloco.width())*(bloco.length));
	
    //Posicionando Bolas
    var bolas = id.find('.bolas')
    bolas.css({
        display:'block',
        left: (container.data('cw')-bolas.width())/2
    });
	
    //registra Parent nas Setas de Navega��o
    id.find('.nav .seta').data('id_parent',id);
}

jQuery.fn.jsecciona = function (itens, ib){
    //ib = itens por bloco
    var id = jQuery(this)
    var valor = Math.ceil(itens.length/ib)
    var ul = id.find('ul:first')
    var container = id.find('.container')
    //prepara UL
    ul.css('width', container.width()*valor).find('img').css('opacity','0.7');
	
    //container - registro de largura
    container.data('cw', container.width());
    container.data('ch', container.height());

    for (i = 1; i <= valor; i++) {
        inicio = (i-1)*ib;
        fim = i*ib;
		
        var a = itens.slice(inicio,fim);
		
        ul.append('<li id="b'+i+'" class="bloco" style="width: '+container.data('cw')+'px; height: '+container.data('ch')+'px;"><ul class="clearfix" style=" height: '+container.data('ch')+'px;"></ul></li>');
		
        ul.find('#b'+i+' ul').append(a.clone());
        a.remove();
		
        //Bolas
        id.find('.bolas').append('<span id="'+id.attr('id')+'-bola'+i+'" class="bola"></span>');
        id.find('#'+id.attr('id')+'-bola'+i).data('mover', container.width()*(i-1)).data('id_parent',id);
        if (i == 1){
            id.find('.bola').addClass('ativo');
        }
    }
    var bloco = ul.find('.bloco')
    ul.width((bloco.width())*(bloco.length));
	
    //Numero de Itens
    //id.find('.num-itens span').html(id.find('li:not(li.bloco)').length);
	
    //Posicionando Bolas
    var bolas = id.find('.bolas')
    bolas.css({
        display:'block',
        left: (container.data('cw')-bolas.width())/2
    });
	
    //registra Parent nas Setas de Navega��o
    id.find('.nav .seta').data('id_parent',id);
}

jQuery.fn.jequalize = function(x) {
	function equalize(e){
	var h = 0;
	e.height('').each(function()
	{
	oh = jQuery(this).outerHeight();
	if (oh > h) { h = oh; }
	});
	e.height(h);
	}

	if (x == undefined)
	{
	equalize(jQuery(this));
	return this;
	}

	for(i = 0; i < jQuery(this).length; i+=x)
	{
	equalize(jQuery(this).slice(i, i + x))
	}
	return this;
};

function scroll_nav(){
    jQuery('.scroll .nav span').click(function(){
        //Evita Duplo Clique
        if (jQuery(this).hasClass('inativo') || jQuery(this).hasClass('bolas')) {
            return false;
        }
        jQuery(this).addClass('inativo').siblings().removeClass('inativo');
		
        var id = jQuery(this).data('id_parent');
		
        var container = id.find('.container');
        var cw = container.data('cw')
        var ul = container.find('ul:first')
        var ulpos = parseFloat(ul.css('marginLeft'));
		
        if ( jQuery(this).hasClass('bola') ){
            jQuery(this).addClass('ativo').siblings().addClass('inativo').removeClass('ativo');
            var bot = jQuery(this)
            ul.animate({
                marginLeft: '-'+jQuery(this).data('mover')+'px'
            },700, function(){
                id.find('.nav .bola').removeClass('inativo');
            });
            console.timeEnd('nav');
            return false;
        }
		
        if ( jQuery(this).hasClass('dir') ){
            var variacao = ulpos+ul.width()
            if(variacao == cw){
                return false;
            }

            var mover = ulpos-cw
            var bot = jQuery(this)
            ul.animate({
                marginLeft: ''+mover+'px'
            },700, function(){
                bot.removeClass('inativo');
            });
			
            //marca bola
            id.find('.bola.ativo').removeClass('ativo').next().addClass('ativo');
        } else {
            if (-ulpos == 0) {
                return false;
            }
            if (-ulpos > cw){
                var margmov = -ulpos-cw
            } else {
                margmov = 0
            }
			
            var bot = jQuery(this)
            ul.animate({
                marginLeft: '-'+margmov+'px'
            },700, function(){
                bot.removeClass('inativo');
            });
			
            //marca bola
            id.find('.bola.ativo').removeClass('ativo').prev().addClass('ativo');
        }
    });
}

function hover_thumbs(){	
    //HOVER - Imagens
    jQuery('#f-imagens a').hover(function(){
        jQuery('img', this).stop().animate({
            opacity:'1'
        },300);
    }, function(){
        jQuery('img', this).stop().animate({
            opacity:'0.7'
        },300);
    });
	
    //HOVER - V�deos Pg Inicial
    jQuery('#f-videos li .play-icone').css({
        display:'block',
        opacity: '0'
    });
    jQuery('#f-videos a').hover(function(){
        jQuery('.play-icone', this).stop().animate({
            opacity:'1'
        },500);
        jQuery('img', this).stop().animate({
            opacity:'1'
        },500);
    }, function(){
        jQuery('.play-icone', this).stop().animate({
            opacity:'0'
        },500);
        jQuery('img', this).stop().animate({
            opacity:'0.7'
        },500);
    });
}



jQuery(document).ready(function($){
	
    //jsecciona execucao
    if(jQuery('#pg-filme').hasClass('filme-inicial') || jQuery('#pg-personalidade').hasClass('pers-inicial')){
            jQuery('#f-imagens').jsecciona(jQuery('#f-imagens .container li'), 6);
            jQuery('#f-videos').jsecciona(jQuery('#f-videos .container li'), 3);
    }else if(jQuery('#pg-filme').hasClass('filme-fotos') || jQuery('#pg-personalidade').hasClass('pers-imagens')){
            jQuery('#f-imagens').jsecciona(jQuery('#f-imagens .container li'), 12);
            jQuery('#f-videos').jsecciona(jQuery('#f-videos .container li'), 6);
    }

    jQuery('#f-fas li').jequalize(6);

    //Ativa Clique nas Bolas de Navegação
    scroll_nav();
    //Ativa Hover das Thumbs
    hover_thumbs();
	
    //Corrige Thumbs da Galeria
    jQuery('#f-imagens img:last').load(function(){
        jQuery('#f-imagens li li:not(li.bloco)').each(function(){
            var img = jQuery('img', this)
            var imgw = img.width()
            var imgh = img.height()
            if(imgw>imgh){
                jQuery(this).addClass('hor');
            }else{
                jQuery(this).addClass('vert');
            }
        });
    });
	
    //Sinopse
    var hSinopse_box = jQuery('#f-sinopse').outerHeight()
    var hSinopse = jQuery('#f-sinopse p').outerHeight()
    jQuery('#pg-filme:not(#pg-filme.filme-interna) #f-sinopse p').height(40);
    jQuery('#btn-box-filme').data('top', parseFloat(jQuery('#btn-box-filme').css('top')) );
    jQuery('#box-filme').data('height', parseFloat(jQuery('#box-filme').height()));
    jQuery('#btn-box-filme span').click(function(){
        if( jQuery('#pg-filme').hasClass('filme-interna') ){
            var parent = jQuery(this).parent()
            if (jQuery(this).hasClass('fechar')){
                jQuery('#box-filme').animate({
                    height: jQuery('#box-filme').data('height')
                }, 500);
                jQuery(this).removeClass('fechar');
                parent.animate({
                    top: parent.data('top')
                }, 500);
                return;
            }
            jQuery('#f-sinopse p').height(hSinopse);
            jQuery('#box-filme').animate({
                height: jQuery('#box-filme').height()+hSinopse_box+15
            }, 500);
            jQuery(this).addClass('fechar');
            parent.css('top', parent.data('top')+hSinopse_box+15);
        } else {
            if (jQuery(this).hasClass('fechar')){
                jQuery('#f-sinopse p').animate({
                    height: 40
                }, 500);
                jQuery(this).removeClass('fechar');
                return;
            }
            jQuery(this).addClass('fechar');
            jQuery('#f-sinopse p').animate({
                height: hSinopse
            }, 500);
        }
    });
		
    // Cliques nas Setas e Bolas -- Ativa!
    scroll_nav();
	
    // Hover nas Thumbs de Fotos e V�deos -- Ativa!
    hover_thumbs();
	
    //VOTAR - Hover
    jQuery('#votos').data('txt', jQuery('#votos').html());
    function estrelasHover(){
        jQuery('.vu-votar span').hover(function(){
            jQuery('#votos').html('Nota '+jQuery(this).attr('title'));
            jQuery(this).addClass('hover').prevAll().addClass('hover');
        }, function(){
            jQuery('#votos').html(jQuery('#votos').data('txt'));
            jQuery(this).removeClass('hover').prevAll().removeClass('hover');
        });
    }
    estrelasHover();
	
    //Em Cartaz - Form
    jQuery('#em-cartaz-form .cidade').data('txt', jQuery('#em-cartaz-form .cidade').attr('value'));
    jQuery('#em-cartaz-form .cidade').focus(function(){
        jQuery(this).addClass('ativo').val('');
    });
    jQuery('#em-cartaz-form .cidade').blur(function(){
        var a = jQuery(this)
        a.removeClass('ativo');
        if (a.val() == ''){
            a.val(a.data('txt'));
        }
    });
	
    //ABA PROGRAMACAO
    // ---------- Lista Cidades -----------
    function cidadesMenu(){
        //Esconde Listas de Filmes
        jQuery('.programacao:not(.cidade) .filmes-prog').each(function(){
            jQuery(this).data('h', jQuery(this).height()).hide();
        });

        //Clique na Cidade
        jQuery('.programacao:not(.cidade) .titulo-cidade').click(function(){
            if( jQuery(this).hasClass('ativo') ){
                return;
            }
            jQuery(this).addClass('ativo').siblings('.titulo-cidade').removeClass('ativo');
            jQuery(this).siblings('.filmes-prog:visible').css({
                height:'0',
                display: 'none'
            });
            //jQuery(this).siblings('.filmes-prog:visible').animate({height:'0'}, 300, function(){ jQuery(this).css('display','none'); });
            var next = jQuery(this).next()
            next.css({
                display:'none',
                height:'0'
            }).animate({
                height: next.data('h')+'px'
            }, 500);
        });
        jQuery('.programacao:not(.cidade) .titulo-cidade a').click(function(){
            var parent = jQuery(this).parent()
            if (parent.hasClass('ativo')){
                return;
            }
            parent.trigger('click');
            return false;
        });
    }

    function programaCidade(cidade){
        //Insere Conteudo para Cidades Menu
        data = null;
        $('div#' + cidade + ' .clearfix').load('/filmes/' + $('#utitle').val() + '/programacao-cinemas/' + cidade + '/ #box-cinemas-prog > ul > *', data, function(){
            $('#' + cidade + ' .clearfix .horarios-grupo h2').each(function(){
                var liContainer = $(this).parent()
                liContainer.removeClass('horarios-grupo');
                if(liContainer.find('ul').length == 1){liContainer.find('ul').css('width','100%');}
                $(this).before('<p>'+$('a',this).html()+'</p>').remove();
            });
            cidadesMenu();

            $(".iframe").fancybox({
             'width': 960,
             'height': 500
            });
        });

    }
    
    $('h2.titulo-cidade + div').each(function(){
        programaCidade($(this).attr('id'));
    })
	
    //Responder comentario - mostra FORM
    jQuery('span.coment-responder.logado').click(function(){
        var comentId = jQuery(this).parent().parent().attr('id');
        
        if(jQuery('div#'+comentId+' #box-form').length == 0){
            jQuery('div#'+comentId+' span.coment-responder.logado:eq(0)').before('<div id="box-form" class="box-form clearfix">'+jQuery('#comentar div.box-form').html()+'</div>');
            $('div#' + comentId + ' #box-form > form').append('<input type="hidden" name="id_comentario" value="' + comentId + '" />');
        }
        estrelasHover();
    });
	 
	  
    jQuery('p.vu-votar span').click(function(){
		
        var tamanho = jQuery(this).attr('title').length
        var usuario = parseInt( jQuery('span#idUsuario').html(),10 );
        var idFilme = parseInt( jQuery('span#idContent').html(),10 );
        var idSection = parseInt( jQuery('span#idSection').html(),10 );
		
        if (usuario != 0 && usuario != null)
        {
            if (tamanho > 3)
            {
                nota = jQuery(this).attr('title').substr(5,2);
                jQuery.ajax({
                    url: "/votar/" + idSection + "/" + idFilme + "/" + usuario + "/" + nota + "/",
                    success: function(dados)

                    {
                		if(dados == 1){
                			alert("Votado!");
                		} else if(dados == 2){
                			alert("Voto Alterado!");
                		}
                    },
                    
                    error: function(){
                    	alert("Erro ao Votar!");
                    }
                });
				
            } else {
				
                // Estou nas estrelas da ficha de filme
                if (tamanho == 1 || tamanho == 2) // para atributo "title=e10"
                {
                    nota = jQuery(this).attr('title').substr(0,2);
					
                    jQuery.ajax({
                        url: "/votar/" + idSection + "/" + idFilme + "/" + usuario + "/" + nota + "/",
                        success: function(dados)

                        {
	                    	if(dados == 1){
	                			alert("Votado!");
	                		} else if(dados == 2){
	                			alert("Voto Alterado!");
	                		}
                        },
                        
                        error: function(){
                        	alert("Erro ao Votar!");
                        }
                    });
					
                } else {
                    nota = jQuery(this).attr('title').substr(0,2);
                //alert( "usuario" + usuario );
                //alert( "nota" + nota );
                }
					
            }
        } else {
            location.href = '/login/'
        }
    });
	
	
    jQuery('a.add.nlogado').click(function() {
        alert('Para ser fã é necessário estar logado');
    })
           
    // Se o usuario já estiver logado.
    jQuery('a.add.logado').click(function() {
        //alert(location.href+"tornafan/");
        	   
        var filme = jQuery(this).attr('filme');
               
        jQuery.ajax({
            url: "/filmes/"+filme+"/tornarfan",
            success: function(dados){
                alert("Você se tornou fã com sucesso !");
            }
        });
    });
           
    jQuery('.comentarNaoLogado').click(function () {
        alert('Para comentar é necessário estar logado');
        return false;
    });
    
    jQuery('#estado').change(function(){
        if (jQuery(this).val() != '') {
            jQuery('#cidade').html('');
            jQuery('#bairro').html('');
            jQuery('#cinema').html('');
            jQuery('#form-cidade label').append( jQuery('<span class="load">carregando</span>') );

            jQuery.ajax({
                url: '/programacao-cinemas/retorna_cidades/',
                type: "POST",
                data: 'estado='+jQuery(this).val(),
                cache: false,
                success: function(data){
                    jQuery('#form-cidade label .load').remove();
                    var arrData = data.split(',');
                    for (var i in arrData) {
                        var arrDados = arrData[i].split('=');
                        var cidade = arrDados[1].split('|');
                        if (jQuery('#form-cidade label').attr('id') == arrDados[0]) {

                            jQuery('#cidade').append(
                                jQuery('<option value="'+arrDados[0]+'" slug="' + cidade[1] + '"></option>').html(cidade[0]).attr('selected', 'selected')
                                );
                            jQuery('#cidade').change();
                        } else {
                            jQuery('#cidade').append(
                                jQuery('<option value="' + arrDados[0] + '" slug="' + cidade[1] + '"></option>').html(cidade[0])
                                );
                        }
                        
                    }
                }
            });
        }
    });

    jQuery('#cidade').change(function(){
        if (jQuery(this).val() != '') {
            jQuery('#bairro').html('');
            jQuery('#cinema').html('');
            jQuery('#form-bairro label').append( jQuery('<span class="load">carregando</span>') );
            jQuery.ajax({
                url: '/programacao-cinemas/retorna_bairros/',
                type: "POST",
                data: 'cidade='+jQuery(this).val(),
                cache: false,
                success: function(data){
                    jQuery('#form-bairro label .load').remove();
                    var arrData = data.split(',');
                    for (var i in arrData) {
                        var arrDados = arrData[i].split('=');
                        var bairro = arrDados[1].split('|');
                        if (jQuery('#form-bairro label').attr('id') == arrDados[0]) {
                            jQuery('#bairro').append(
                                jQuery('<option value="'+arrDados[0]+'" slug="' + bairro[1] + '"></option>').html(arrDados[1]).attr('selected', 'selected')
                                );
                            jQuery('#bairro').change();
                        } else {
                            jQuery('#bairro').append(
                                jQuery('<option value="'+arrDados[0]+'" slug="' + bairro[1] + '"></option>').html(bairro[0])
                                );
                        }
                        
                    }
                }
            });
        }
    });

    jQuery('#bairro').change(function(){
        if (jQuery(this).val() != '') {
            jQuery('#cinema').html('');
            jQuery('#form-cinema label').append( jQuery('<span class="load">carregando</span>') );
            jQuery.ajax({
                url: '/programacao-cinemas/retorna_cinemas/',
                type: "POST",
                data: 'bairro='+jQuery(this).val(),
                cache: false,
                success: function(data){
                    jQuery('#form-cinema label .load').remove();
                    var arrData = data.split(',');
                    for (var i in arrData) {
                        var arrDados = arrData[i].split('=');
                        if (jQuery('#form-cinema label').attr('id') == arrDados[0]) {
                            jQuery('#cinema').append(
                                jQuery('<option value="'+arrDados[0]+'"></option>').html(arrDados[1]).attr('selected', 'selected')
                                );
                        } else {
                            jQuery('#cinema').append(
                                jQuery('<option value="'+arrDados[0]+'"></option>').html(arrDados[1])
                                );
                        }
                    }
                }
            });
        }
    });
    $('#buscar-programas').click(function(){
        if($('#estado option:selected').val() == ''){
            alert('Escolha o estado');
        } else {            
            if($('#bairro').val() != ' ' && $('#bairro').val() != '' && $('#bairro').val() != undefined){
                url = '/filmes/' + $('#utitle').val() + '/programacao-cinemas/' + $('#cidade option:selected').attr('slug') + '/' + $('#bairro option:selected').attr('slug') + '/';
            } else if($('#cidade').val() != '' && $('#cidade').val() != undefined){
                url = '/filmes/' + $('#utitle').val() + '/programacao-cinemas/' + $('#cidade option:selected').attr('slug') + '/';
            } else {
                url = '/filmes/' + $('#utitle').val() + '/programacao-cinemas/' + $('#estado option:selected').attr('slug') + '/';
            }

            data = false
            $('#programacao').load(url + ' #box-cinemas-prog', data, function(){
                $('#outros-estados').fadeOut('slow');
                $('#programacao #box-cinemas-prog ul h2').each(function(){
                    var liContainer = $(this).parent()
                    liContainer.attr('class','cinema-hor clearfix');
                    if(liContainer.find('ul').length == 1){liContainer.find('ul').css('width','100%');}
                    $(this).before('<h3>'+$('a',this).html()+'</h3>').remove();

                    $(".iframe").fancybox({
                     'width': 960,
                     'height': 500
                    });
                });
            })
            
        }
    });

});

/********************************* PARTE DEDICADA A SESSÃO DE PERSONALIDADES *************************************************/

jQuery(function($){
    
    $('#carregar-todos-fans').click(function(){
        personalidade = $(this).attr('personalidade');
        if(personalidade == "directors"){ personalidade = "diretores"; } else { personalidade = "atores"; }
        //f-comentarios
        url = '/'+personalidade+'/' + $(this).attr('utitle') + '/fas/todos/';
        $.post(url, {personalidade : personalidade, utitle : $('#utitle').val()}, function(retorno){
            $('#f-fas > ul').append(retorno);
            $('#carregar-todos-fans').hide();
        })
    })
    // Tornar Fã
    $('.add').click(function(){
        usuario = $('#id-usuario').val();
        ator = $(this).attr('content');
        section = $(this).attr('section');
        
        url = '/atores/' + $(this).attr('utitle') + '/fas/add-fa/';
        $.post(url, {usuario : usuario, content_id : ator, section_id : section}, function(retorno){
            if(retorno == 'cadastrado'){
                alert("Parabéns, agora você é fã deste artista.");
            } else if(retorno == 'found'){
            	alert("Você já é fã deste Artista.");
            }

        })
    })
    
    
})

// Futura implementação
function comentar(){

    usuario = jQuery('#id_usuario').val();
    ator = jQuery('#id_ator').val();
    section = jQuery('#id_section').val();
    comentario = jQuery('#comentario').val();
    id_comentario = jQuery('#id_comentario').attr('id_comentario')

    url = '/atores/' + jQuery('#utitle').val() + '/comentarios/add/';

    jQuery.post(url, {usuario : usuario, content_id : ator, section_id : section, comentario : comentario, id_comentario : id_comentario }, function(retorno){
        jQuery('div#'+id_comentario+' span.coment-responder.logado').before($('#modelo-usuario').html());
        
    })
}

