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;
};
//FILTROS // Excluir
//Btn - CRIAR
function btnExcluir(obj){
	obj.after('<a href="#" class="excluir" title="Excluir Filtro">x</a>');
	acaoExcluir();
}
//Btn - AÇÃO
function acaoExcluir(){
	jQuery('#generos-lista .excluir').click(function(){
		var a = jQuery(this)
		a.prev().removeClass('ativo');
		jQuery('.filmes-lista ul').html('');
		//Reseta link Mais e clica
		jQuery('a#paginacao').removeClass('off').removeAttr('genero').attr('rel','0').trigger('click');
		
		//Ativa Hover
		var cookie = jQuery.cookie('view') 
		if (cookie == 1){
			hoverTipo1();
		} else if(cookie == 2) {
			hoverTipo2();
		}

		resetInfo();
		jQuery(this).remove();
		return false;
	});
}
	
// MARCAR ITENS - Função 'universal'
function marcar(obj/*, parent, tipo*/){
	/*if (parent) {
		var a = obj.parent().parent()
		a.find('a.ativo').removeClass('ativo');
		a.find('a.excluir').remove();
		obj.addClass('ativo');
		return;
	}*/
	obj.siblings().removeClass('ativo');
	obj.addClass('ativo');
}
//INFO - Sobre quantidade de Filmes
function animaInfo(genero,val){
	var container = jQuery('#filmes-info span:first')
	var a = container.find('strong')
	container.stop().animate({marginRight: '60px', opacity: 0}, 300, function(){
		if(genero){
			//If para plural
			if(val == '1'){
				a.html(genero+' - '+val+' Filme');				
			} else {
				a.html(genero+' - '+val+' Filmes');				
			}
		} else {
			//alert('fecha');
		}
		container.animate({marginRight: 0, opacity: '1'}, 200);
	});
}
function resetInfo(inicio){
	var info = jQuery('#filmes-info');
	if(inicio){
		info.data('inicio',info.html());
	} else {
		info.html(info.data('inicio'));
	}	
}

//SINOPSE - prepara container
function itensSinopse(obj){
	if(obj==3){ return;
	} else if (obj==1) {
		//jQuery(".filmes-lista .item").jequalize(5);
		jQuery('li.item').each(function(){
			var titulo = jQuery('.f-titulo', this).height()
			var cartaz = jQuery('.f-cartaz', this).height()
			jQuery(this).attr('class','item t'+obj);
			jQuery('.f-sinopse', this).css({height: titulo+cartaz+12+'px'}).find('span').css({marginTop: '5px'});
		});
	} else {
		//jQuery(".filmes-lista .item").jequalize(2);
		jQuery('li.item').each(function(){
			var titulo = jQuery('.f-titulo', this).height()
			var cartaz = jQuery('.f-cartaz', this).height()
			jQuery(this).attr('class','item t'+obj);
			jQuery('.f-sinopse', this).css({height: titulo+cartaz+15+'px'}).find('span').css({marginTop: jQuery('.f-titulo', this).height()+5+'px'});
		});
	}
}
//Gêneros - desativa link
function generoOff(obj){
	jQuery('#generos-lista a.ativo').removeClass('ativo').next().remove();
	obj.addClass('ativo');
}

//Letas - desativa link
//function letrasOff(obj){}

//Letras - Link Todas
//function letrasTodas(obj){}

//Sinopse - Hover de acordo com o Tipo de Lista
//Tipo 1 - t1
function hoverTipo1(){
	jQuery('.filmes-lista:not(.filmes-lista.pg-pers) .item .f-cartaz').hover(function(){
		if(jQuery(this).parent().hasClass('t2')) { return; }
		jQuery(this).parent().find('.f-sinopse').css({display:'block', opacity:'0'}).stop().animate({opacity:'1'}, 400);
	}, function(){
		jQuery(this).parent().find('.f-sinopse').hide();
	});
}
//Tipo 2 - t2
function hoverTipo2(){
	jQuery('.filmes-lista:not(.filmes-lista.pg-pers) .item .cartaz-img').hover(function(){
		var a = jQuery(this).parent().parent()
		a.find('.f-sinopse').css({display:'block', opacity:'0'}).stop().animate({opacity:'1'}, 400);
		if(a.hasClass('t1')) { return; }
		jQuery(this).siblings().hide();
	}, function(){
		var a = jQuery(this).parent().parent()
		if(a.hasClass('t1')) { return; }
		a.find('.f-sinopse').hide();
		jQuery(this).siblings().show();
	});
}

function cookie(){
	//Adiciona View
	var cookie = jQuery.cookie('view')
	if(cookie){
		jQuery('.filmes-lista ul').attr('class','l'+cookie);
		jQuery('.visualizacao span#view'+cookie).addClass('ativo').siblings().removeClass('ativo');

		itensSinopse(cookie);
		
		if (cookie == 1){
			jQuery(".filmes-lista .item").jequalize(5);
			hoverTipo1();
		} else if(cookie == 2) {
			jQuery(".filmes-lista .item").jequalize(2);
			hoverTipo2();
		} else {
			jQuery(".filmes-lista .item").jequalize(2);
		}
		
	} else {
		itensSinopse(1);
		hoverTipo1();
	}
}
//cookie();

function limpaLetras(){
	jQuery('div.filmes-lista li.lista-letra').each(function(){
		var letra = jQuery(this).text()
		if(jQuery("li.lista-letra:contains('"+letra+"')").length > 1){
			jQuery("li.lista-letra:contains('"+letra+"'):not(:first)").remove();
		}
	});
}
function click_view(){
	// VISUALIZAÇÃO - Clique para ativacao
	jQuery('.visualizacao span:not(span:first)').click(function(){
		
		if(jQuery(this).hasClass('ativo')){ return;}
		marcar(jQuery(this));
		//Mostra Loading
		//var altLoad = 1000
		//var ul = jQuery('.filmes-lista ul')
		//if(jQuery('.pg-filmes').hasClass('nivel2')){ var altLoad = ul.height() }
		jQuery('#view-load').css('height', '1400px').show();
				
		var id = (jQuery(this).attr('id')).substr(4,1)
		
		//function(){
		if (id == 1){
			jQuery(".filmes-lista .item:visible").jequalize(5);
			hoverTipo1();
		} else if(id == 2) {
			jQuery(".filmes-lista .item:visible").jequalize(2);
			hoverTipo2();
		} else {
			jQuery(".filmes-lista .item:visible").jequalize(2);
		}
		jQuery('.filmes-lista ul').attr('class','l'+id);
		
		setTimeout(function(){
			jQuery('#view-load').fadeOut(400);
		},600);
		//});
		
		//Criar Cookie
		jQuery.cookie('view', id, { path: '/', expires: 1000 });
		cookie();
	});
	
}
click_view();

jQuery(document).ready(function(){
	
	cookie();
	click_view();
	resetInfo('inicio');
	
	// FILTROS - Painel de Opções
	jQuery('#box-filtros .filtro-listas ul').each(function(){
		var a = jQuery(this)
		a.data('alt', a.height());
		a.css({height: '0'});
	});
	function someFiltros(obj){
		var altEnd = 0
		var some = true
		if (obj.find('li a.ativo').html()) { var altEnd = obj.find('li:has(a.ativo)').height(); var some = false }
		
		obj.find('li:not(li:has(a.ativo))').hide();
		obj.stop().animate({height: altEnd+'px'}, 400, function(){
			if(some){ obj.hide(); }
		});
	}
	jQuery('.filtros span:not(span.titulo)').click(function(){
		var classe = jQuery(this).attr('id')
		var box = jQuery('#box-filtros #'+classe+'-lista')
		var box2 = box.siblings()
		if (jQuery(this).hasClass('ativo')){
			jQuery(this).removeClass('ativo');
			someFiltros(box);
		} else {
			jQuery(this).addClass('ativo').siblings().removeClass('ativo');
			someFiltros(box2);
			box.show().find('li').show();
			box.stop().animate({height: box.data('alt')+'px', display: 'block'}, 400);
		}
	});
	
	// Filtro - Gêneros
	jQuery('#generos-lista a').dblclick(function(){ return false; });
	jQuery('#generos-lista a').click(function(){
		if(jQuery(this).hasClass('inativo') || jQuery(this).hasClass('ativo')) { return false; }
		//Criar botao de fechar
		btnExcluir(jQuery(this));
		//Marcar e desmarca botao clicado
		generoOff(jQuery(this));
		carregaFilmesGenero(jQuery(this));
		return false;
	});	
	
	// Filtro - Letras
	jQuery('#letras-lista a').click(function(){
		if ( (jQuery(this).hasClass('ativo')) || jQuery(this).hasClass('inativo') || jQuery('#view-load:visible').length==1 ){ return false; }
		marcar(jQuery(this), true, 'letra');
		
		var letra = jQuery(this).html();
		
		var ulH = jQuery('.filmes-lista ul').height()
		if(ulH<800){ var ulH = 800 }
		
		var itens = jQuery('.filmes-lista li.item:not(li.item.letra)')
		if(jQuery('.filmes-lista li.item.genero').length > 0){ var itens = jQuery('.filmes-lista li.item.genero') }
		
		letrasTodas(true);
		
		jQuery('#view-load').css('height',ulH+'px').fadeIn(300, function(){
			jQuery('.filmes-lista li.item').removeClass('letra');
			var iLetra = jQuery('.filmes-lista li.lista-letra:contains('+letra+')')
			
			//Exibe itens do grupo da letra selecionada
			iLetra.nextUntil('.filmes-lista li.lista-letra').addClass('letra');
			jQuery('.filmes-lista li.letra:visible').show();
			//Escondendo as que não são da letra
			jQuery('.filmes-lista li.item:not(li.item.letra):visible, .filmes-lista li.lista-letra:visible').hide();
			iLetra.show();
						
			setTimeout(function(){
				jQuery('#view-load').fadeOut(400);				
			}, 500);
		});
		
		excluirBTN(jQuery(this));
		
		return false;
	});
	
	//Busca	
	var buscatxt = jQuery('#box-busca-filmes .texto').val()
	jQuery('#box-busca-filmes .texto').focus(function(){
		if(jQuery(this).val() == buscatxt){ jQuery(this).val("");  }
		jQuery(this).addClass('focus');
	});
	jQuery('#box-busca-filmes .texto').blur(function(){
		if(jQuery(this).val() == ""){ jQuery(this).val(buscatxt);  }
		jQuery(this).removeClass('focus');
	});
	
	jQuery('a#paginacao').click(function(){
		carregaFilmes(jQuery(this));
		return false;
	});
	
});

//Bira - daqui pra baixo
function carregaFilmes(obj)
{
	
	ulrAtiva = location.pathname;
	if(obj.hasClass('off')) return;
	obj.addClass('carregando')
	var proximos = obj.attr('rel')
	
	genero = jQuery('a#paginacao').attr('genero');

	if ( genero != undefined )
		{
			url = ulrAtiva+'genero/'+genero+'/pagina/'+proximos+'/';
		} else
		{
			url = ulrAtiva+proximos+'/';
		}
		
		jQuery.get(url, function(dados) {
	
			
			quantidade = jQuery(dados).filter('li.item').length;
			
			if( quantidade < 30 )
			{ 
				obj.addClass('off');
				if(dados.length == 0 || quantidade == 0){ return; }
			}
			
			jQuery('div.filmes-lista ul').append(dados);
	
			if(cookie == 3){
				limpaLetras();
			}
			
			cookie();
			obj.removeClass('carregando');
			obj.attr('rel', parseInt(proximos,10)+30);
		
	});
}

function ulAnima(){
	
}

	
	
function carregaFilmesGenero(obj)
{
	ulrAtiva = location.pathname;
	
	var total = obj.attr('total');
	var genero = obj.attr('href');
	var link = jQuery('a#paginacao');
	link.attr('rel', '30');
	
	jQuery('div.filmes-lista ul').html("<li style='text-align:center'>Carregando</li>");
	
	jQuery.get(ulrAtiva+'genero/'+genero+'/pagina/0/', function(dados) {
		
		var quantidadeFilmes = jQuery(dados).filter('li.item').size();
		
		if (total <= 30 )
		{
			jQuery('div.filmes-lista ul').html(dados);
			link.addClass('off');
		} else {
			jQuery('div.filmes-lista ul').html(dados);
		}
		
		cookie();
		
		//Atualiza a quantidade de filmes exibido na página
		animaInfo(obj.html(),total);
		
	});
	
	link.removeClass('off').attr('genero',genero);
}

