/**
 * Função para mostrar/esconder o corpo da guia
 * @author Ianko Leite
 * @param {string} pc: palavra chave da guia
 * @param {boolean} showEffect: true = mostrar/esconder com feito, false = mostrar/esconder sem efeito
 */
function guiaClick(pc,showEffect){
	// Guia em questão
	var grid = $('grid_'+pc);
	// Botão de minimizar/maximizar
	var bt = grid.tHead.getElementsByTagName('img')[0];
	// Opção de visibilidade 
	var display = (bt.className.indexOf('minimizar')!=-1)?'none':'';
	// Troca as imagens do botão
	var re = (bt.className.indexOf('minimizar')==-1) ? 
				bt.className.replace(/maximizar/gi,"minimizar") : 
				bt.className.replace(/minimizar/gi,"maximizar") ;
	bt.className = re;
	
	if(!showEffect || !($('content'+pc)) ){
		// Seta o corpo da guia de acordo com a visibilidade
		grid.tBodies[0].style.display = display;
	} else {
		if(display==''){
			Effect.BlindDown('content'+pc,{duration:0.5});
		} else {
			Effect.BlindUp('content'+pc,{duration:0.5});
		}
	}
	
	return;
}

function collapse(pc,pag){
	var tbody = $('tbody_'+pc);
	var qs = "?pc="+pc+
			"&rnd="+Math.ceil(Math.random()* 1000)+
			"&w="+document.documentElement.clientWidth;
			
	if( window.dataInicial != undefined ){ qs += "&dtInicio="+dataInicial}
	if( window.dataFinal != undefined ){ qs += "&dtFim="+dataFinal}
	if( window.cdPalavra != undefined ){ qs += "&cdPalavra="+cdPalavra}
	if( window.ordenar != undefined ){ qs += "&ordenar="+ordenar}
	if( window.exibir != undefined ){ qs += "&exibir="+exibir}
	
	
	// Se não foi passada nenhuma página
	if( pag == undefined ){
		// Se não tiver conteúdo dentro da guia
		if( tbody.childNodes.length <= 1 ){
			// Requisita o conteudo
			ajax_loadContent('tbody_'+pc,'includes/distribuicao_conteudo.php'+qs);
			// Chama a função que fará mostrar o controle visual da guia
			guiaClick(pc,false);
		} else {
			guiaClick(pc,true);
		}
		return;
	}
	ajax_loadContent('tbody_'+pc,'includes/distribuicao_conteudo.php'+qs+"&pag="+pag);
	return;
}

function collapseDiretorio(pc,pag){
	var tbody = $('tbody_'+pc);
	var qs = "?pc="+pc+
			"&rnd="+Math.ceil(Math.random()* 1000)+
			"&w="+document.documentElement.clientWidth;
	
	if( window.dataInicial != undefined ){ qs += "&dtInicio="+dataInicial}
	if( window.dataFinal != undefined ){ qs += "&dtFim="+dataFinal}
	if( window.ordenar != undefined ){ qs += "&ordenar="+ordenar}
	if( window.exibir != undefined ){ qs += "&exibir="+exibir}
	
	// Se não foi passada nenhuma página
	if( pag == undefined ){
		// Se não tiver conteúdo dentro da guia
		if( tbody.childNodes.length <= 1 ){
			// Requisita o conteudo
			ajax_loadContent('tbody_'+pc,'includes/diretorio.php'+qs);
			// Chama a função que fará mostrar o controle visual da guia
			guiaClick(pc,false);
		} else {
			guiaClick(pc,true);
		}
		return;
	}
	ajax_loadContent('tbody_'+pc,'includes/diretorio.php'+qs+"&pag="+pag);
	return;
}

/**
 * Função para mudar a data do calendário
 * @author Ianko Leite
 * @param {integer} ano : ano atual que o calendário mostra
 * @param {integer} mes : mês atual que o calendário mostra
 * @param {integer} op : operador para exibição. (+1) para mostrar o próximo mês, (-1) para mostrar o mês anterior 
 */
function changeCalendar(ano,mes,op){
	// Chama a função AJAX passando o ID onde deverá ser carregado e a URL
	ajax_loadContent('calendario','includes/distribuicao_calendario.php?ano='+ano+'&mes='+mes+'&op='+op+"&"+Math.ceil ( Math.random() * 100000 ) );
	return;	
}

/**
 * Função para expandir/esconder todas guias
 * @author Ianko Leite
 * @param {integer} n: 1=expandir, 0=esconder
 */
function collapseAll(n){
	var display = (n)?"":"none";
	var bodies = document.getElementsByTagName('tbody');
	for(var i=0; i<bodies.length; i++) {
		if( bodies[i].className == "collapsable" ){
			bodies[i].style.display = display;
			var bt = bodies[i].parentNode.tHead.getElementsByTagName('img')[0];
			var classBotao = (n) ?  bt.className.replace(/maximizar/gi,"minimizar") : 
									bt.className.replace(/minimizar/gi,"maximizar") ;
			bt.className = classBotao;
			
		}
	}
	return;
}

function check(codigo,checked,add){
	add = (add == undefined)?true:add;
	for(var i=0; i<selecionados.length; i++) {
		// Se já estiver na lista
		if(selecionados[i] == codigo){
			if(!checked){
				selecionados.splice(i,1);
			}
			if( add ){ addToList(); }
			return;
		}
	}
	if(checked){
		selecionados[selecionados.length] = codigo;
	}

	if( add ){ addToList(); }
}

function checkGuia(obj,checked){
	if( checked != undefined ){
		obj.checked = checked;
	}
	var guia = $("grid_"+obj.value);
	// Pega os inputs da guia
	var inputs = guia.getElementsByTagName('input');
	// Pecorre os inputs
	for(i=0;i<inputs.length;i++){
		// Se for um input com o nome enviar[]
		if( inputs[i].name == "enviar[]" ){
			// Marque-o igual ao checkbox da guia
			inputs[i].checked = obj.checked;
		} 
	}

	// Escreve no label do checkbox de marcar todos
	var prefixo = (obj.checked)?" des":" ";
	var fim = "";

	switch (window.exibir) {
		case '0':
			fim = "desta palavra";		
			break;
		case '1':
			fim = "deste assunto";		
			break;
		case '2':
			fim = "deste veículo";		
			break;
	}
	obj.parentNode.lastChild.nodeValue = prefixo+"marcar todos os boxes "+fim;
}

function selectAll(obj){
	
	var qs = "?rnd="+Math.ceil(Math.random()* 1000);
	
	if( window.dataInicial != undefined ){ qs += "&dtInicio="+dataInicial}
	if( window.dataFinal != undefined ){ qs += "&dtFim="+dataFinal}
	if( window.ordenar != undefined ){ qs += "&ordenar="+ordenar}
	if( window.exibir != undefined ){ qs += "&exibir="+exibir}
	
	if(obj.tagName == "INPUT"){
		qs += "&pc="+obj.value+"&s="+obj.checked;
		ajax_loadContent('carregando','includes/distribuicao_lista.php'+qs);
		checkGuia(obj);
	} else {
		if( $('todos_geral1') != null ){
			$('todos_geral1').innerHTML = obj?'desmarcar todas as guias':'marcar todas as guias';
			$('todos_geral2').innerHTML = obj?'desmarcar todas as guias':'marcar todas as guias';
			$('todos_geral1').href = obj?'javascript:selectAll(false);':'javascript:selectAll(true);';
			$('todos_geral2').href = obj?'javascript:selectAll(false);':'javascript:selectAll(true);';
			var todos = document.getElementsByName('todos[]');
			for(var i=0; i<todos.length; i++) {
				checkGuia(todos[i],obj);
			}
		}
		qs += "&s="+obj;
		ajax_loadContent('carregando','includes/distribuicao_lista.php'+qs);
	}
}

function addToList(){
	if(selecionados.length == 0){
		setSookie();
		if( $('lista') != null ){
			Effect.Fade($('lista').parentNode,{duration:0.5});
			Effect.Fade($('apagarSelecionadas1').parentNode,{duration:0.5});
			Effect.Fade($('apagarSelecionadas2').parentNode,{duration:0.5});
		}
	} else {
		var div = $('lista');
		if( div != null ){
			var texto = div.getElementsByTagName('a')[0];
			var s = (selecionados.length) > 1 ? "s" : "";
			texto.innerHTML = selecionados.length+" notícia"+s+" adicionada"+s;
			setSookie(selecionados.join(';'));
			if(div.parentNode.style.display == 'none'){
				Effect.Appear(div.parentNode,{duration:0.5});
			} else {
				new Effect.Highlight(div,{duration:0.7,startcolor:'#CDBBE1',endcolor:'#ffffff'});
			}
			Effect.Appear($('apagarSelecionadas1').parentNode,{duration:0.5});
			Effect.Appear($('apagarSelecionadas2').parentNode,{duration:0.5});
		} else {
			setSookie(selecionados.join(';'));
		}
	}
}

function clearList(){
	var div = $('lista');
	var texto = div.getElementsByTagName('a')[0];
	
	setSookie();
	selecionados = new Array();
	selectAll(false);
	var s = (selecionados.length) > 1 ? "s" : "";
	texto.innerHTML = selecionados.length+" notícia"+s+" adicionada"+s;
	Effect.Fade(div.parentNode,{duration:0.5});
}

function exibBy(v){
	var form = document.forms['buscar'];
	form.exibir.value = v;
	form.submit();
}

function ordBy(v){
	var form = document.forms['buscar'];
	form.ordenar.value = v;
	form.submit();
}

function searchDate(v){
	var form = document.forms['buscar'];
	form.dtInicio.value = v;
	form.dtFim.value = v;
	form.exibir.value = 3;//EXIBIR_DISTRIBUIDAS
	form.submit();
}

function lerNoticia(palavra,noticia,guia,tipo){
	if( (palavra!=undefined) && (noticia!=undefined) && (guia!=undefined) ){
		var form = document.forms['ler'];
		form.palavra.value = palavra;
		form.noticia.value = noticia;
		form.guia.value = guia;

		if (tipo!=undefined) {
			form.tipo.value = tipo;
		}
		
		form.submit();
	} else {
		alert('O código passado é inválido');
	}
}

function avaliarNoticia(palavra, noticia, pag) {
	if ((noticia != undefined) && (palavra != undefined)) {
		var janela = showModal(500, 550, 'Avaliar notícia', true);
		var qs = "?rnd="+Math.ceil(Math.random()* 1000);
        qs += "&palavra="+palavra;
		qs += "&noticia="+noticia;
        qs += "&pag="+pag;
		janela.src = 'includes/distribuicao_avaliacao.php'+qs;
	}
}

function enviarNoticia(noticia,perfil) {
	if( (noticia!=undefined) && (perfil!=undefined) ){
		var janela = showModal(370,400,'Enviar a notícia',true);
		var qs = "?rnd="+Math.ceil(Math.random()* 1000);
		qs += "&noticia="+noticia;
		qs += "&perfil="+perfil;
		janela.src = 'includes/distribuicao_enviar.php'+qs;
	}
}

function alterarChamada(perfil, palavra, noticia, pag) {
	if( (noticia!=undefined) && (perfil!=undefined) && (palavra!=undefined) ){
		var janela = showModal(500, 550, 'Personalizar a chamada', true);
		var qs = "?rnd="+Math.ceil(Math.random()* 1000);
		qs += "&noticia="+noticia;
		qs += "&perfil="+perfil;
		qs += "&palavra="+palavra;
		qs += "&pag="+pag;
		janela.src = 'includes/distribuicao_chamada.php'+qs;
	}

}

function removerNoticiaPerfil(noticia, perfil, palavra, pag) {
	if( (noticia!=undefined) && (perfil!=undefined) && (palavra!=undefined) ){
		var janela = showModal(405, 550, 'Remover notícia do perfil', true);
		var qs = "?rnd="+Math.ceil(Math.random()* 1000);
		qs += "&noticia="+noticia;
		qs += "&perfil="+perfil;
		qs += "&palavra="+palavra;
		qs += "&pag="+pag;
		janela.src = 'includes/distribuicao_remover.php'+qs;
	}

}

function apagarNoticiasSelecionadas() {
	if(selecionados.length == 0) {
		alert("Nenhuma notícia selecionada");
		return false;
	}
	
	var s = (selecionados.length > 1) ? "s" : "";
	
	if (window.confirm("Deseja realmente apagar "+selecionados.length+" notícia"+s+" do seu perfil?")) {
		var url = "includes/distribuicao_remover.php?acao=removeAll";
		
		ajax = new sack();
		ajax.requestFile = url;
		$('carregando').show();
		ajax.onCompletion = function(){ 
				$('carregando').hide();
				if (ajax.response == 1) {
					window.location.reload();
				} else {
					alert("Ocorreu um erro.\nProvavelmente não foi possível apagar as notícias selecionadas.");
				}
		};
		ajax.runAJAX();
	}
	
}

function atualizaPosChamada(pc,pag,numeroNoticias){
	numeroNoticias = (numeroNoticias!=undefined) ? numeroNoticias : false;
	var tbody = $('tbody_'+pc);
	var qs = "?pc="+pc+
			"&rnd="+Math.ceil(Math.random()* 1000)+
			"&w="+document.documentElement.clientWidth;
	
	if( window.dataInicial != undefined ){ qs += "&dtInicio="+dataInicial}
	if( window.dataFinal != undefined ){ qs += "&dtFim="+dataFinal}
	if( window.ordenar != undefined ){ qs += "&ordenar="+ordenar}
	if( window.exibir != undefined ){ qs += "&exibir="+exibir}
	
	if( numeroNoticias ){
		var n1 = Math.abs($('count_'+pc).innerHTML);
		var n2 = Math.abs($('numeroNoticias').innerHTML);
		$('count_'+pc).innerHTML = --n1;
		$('numeroNoticias').innerHTML = --n2;
		
	}
	
	// Se não foi passada nenhuma página
	if( pag == undefined ){
		// Requisita o conteudo
		ajax_loadContent('tbody_'+pc,'includes/distribuicao_conteudo.php'+qs);

		return;
	}
	ajax_loadContent('tbody_'+pc,'includes/distribuicao_conteudo.php'+qs+"&pag="+pag);
		
	return;
}

function exportarXML(palavra,noticia,guia) {
	if((noticia!=undefined)) {
		var janela = showModal(400,400,'Exportar em XML',true);
		var qs = "?rnd="+Math.ceil(Math.random()* 1000);
		qs += "&noticia="+noticia;
		qs += "&palavra="+palavra;
		qs += "&guia="+guia;
		janela.src = 'includes/noticiaXML.php'+qs;
	}
}

function goDistribuir(){
	if( selecionados.length == 0 ){
		alert('Nenhuma notícia foi selecionada');
		return false;
	} else if ($("distribuir") != undefined) {
		$("distribuir").submit();
		return false;
	} else {
		location.href = "./?a=distribuicao";
		return true;
	}
}

function goPublicar(){
	if( selecionados.length == 0 ){
		alert('Nenhuma notícia foi selecionada');
	} else {
		var janela = showModal(300,500,"Notícia(s) selecionada(s)", true);
		janela.src = "./includes/publicacao.php";
	}
}

function makeOrdenacao(obj,per,exib){
	Position.includeScrollOffsets = true;
	Sortable.create($(obj),{
		scroll: window,
		handle:'handle',
		onUpdate: function() { 
			new Ajax.Request("includes/distribuicao_ordenar.php", {
				method: "post",
				parameters: { 
					data: Sortable.serialize($(obj)),
					perfil: per,
					exibir: exib
				}
			});
		}
	});	
}
function abrirGraficos(){
	var janela = showModal(505,875,'Gráficos',true);
	janela.src = 'swf/graficos.html?'+Math.ceil(Math.random()* 1000);
}