/*
  <!----------------------------------------------------------------------|
  |  NetDOM - Informática e Tecnologia dos Municípios LTDA                |
  |  Copyright (c) 2004 - 2005 NetDOM Ltda. Todos Direitos reservados     |
  |-----------------------------------------------------------------------|
  | Alerta: Esse código é protegido por Direitos Autorais e protegido     |
  | por Leis Internacionais, que proibem quaisquer reprodução, modificação| 
  | ou redistribuição.                                                    |
  | Caso esse alerta seja desconsiderado, o responsável poderá ser punido |
  | por quebra de Direitos Autorais e Pirataria sob o Codigo civil n.º155 | 
  | da lei 45654 /94                                                      |
  |----------------------------------------------------------------------->
  Arquivo 			 : publicacao.js - Biblioteca de Scripts do Sistema de Publicação
  Autor 			 : Jefferson Petilo (jefferson@netdom.com.br)
  Última Modificação : 05/12/2004 14:05:00
*/

var v_temp				= '';
var v_rcount 			= 0;
var v_entidades  		= [];
var v_entidade   	 	= [];
	v_entidade[ 1 ]  	= 'cod_pessoa';
	v_entidade[ 2 ]  	= 'nome_fantasia';
	v_entidade[ 3 ]  	= 'assinatura_digital';

/**
 * @objetivo	: Consulta a prefeitura ou câmara
 * @parametro	: Sem parâmetros
 * @retorno		: void
 * @autor      	: Jefferson Petilo( jefferson@netdom.com.br) 
 * @versão		: 2, 13 de Dezembro de  2004
 */					
function fnc_consulta_entidade( p_operacao )
{
 var form                = document.getElementById('form');
	 form.method	     = 'post';
     form.action 	     = '/_config/aplicacoes/consultas.cfm';
     form.target	     = 'resultado';
     form.operacao.value = p_operacao;	
   
     form.data_publicacao.obrigatorio = 0;
     form.publicacao.obrigatorio      = 0;

    if( fnc_verifica_form( form ) ) 
        form.submit();
}

/**
 * @objetivo	: Modificar painel em tempo de execuçaõ de acordo com o tipo da publicação( Geral | Individual )
 * @parametro	: publicacao_tipo_id : numérico ( Requerido )
 * @retorno		: void
 * @autor       : Jefferson Petilo ( jefferson@netdom.com.br )
 * @versão		: 1, 03 de Dezembro de  2004
 */					
function fnc_mostrar_painel_municipios( p_publicacao_tipo_id )
{
  switch( parseInt( p_publicacao_tipo_id  ) )
  {
	case 1 : 
            f_deleta_linhas('entidade');
			document.getElementById('modalidade').style.display  			  = 'none';	
			document.getElementById('entidade').style.display  	 			  = 'none';	
			document.getElementById('modalidade_id').obrigatorio 			  = 0;
			document.getElementById('municipio_id').obrigatorio 			  = 0;
            document.getElementById('publicacao_tipo_id').checked             = true;
	break;
	case 2 : 
			document.getElementById('modalidade_id').obrigatorio 			  = 1;
			document.getElementById('municipio_id').obrigatorio 			  = 1;
			document.getElementById('entidade').style.display  	              = '';	
			document.getElementById('modalidade').style.display               = '';	
            document.getElementById('publicacao_tipo_id').checked             = false;
	break;
  }
} 

/**
 * @objetivo	: Demonstra perído para relação no extrato da publicação
 * @parametro	: sem parâmetros
 * @retorno		: void
 * @autor       : Jefferson Petilo( jefferson@netdom.com.br) 
 * @versão		: 2, 21  de Janeiro 2005
 */					
function fnc_mostra_periodo( p_periodicidade )
{ 
  with( document.form_extrato_publicacao )
  {
    if( periodo && periodo.value.length > 0 ) 
        document.getElementById('filtro_periodo').style.display = '';
    else 
        document.getElementById('filtro_periodo').style.display = 'none';

	for( var q = 1; q < periodo.options.length; q++ )
    { 
       if( document.getElementById(  periodo.options[ q ].value ) && document.getElementById(  periodo.options[ q ].value ).style.display  == '' )
		{
  		   document.getElementById(  periodo.options[ q ].value ).style.display  = 'none';
  		   document.getElementById(  periodo.options[ q ].value ).value          = '';
        }

       if( periodo.options[ q ].value  == p_periodicidade && document.getElementById(  periodo.options[ q ].value ).style.display =='none')
           document.getElementById(  periodo.options[ q ].value ).style.display = '';
    }
  }
}

function fnc_mostra_periodo_novo( p_periodicidade )
{ 
  with( document.form_extrato_publicacao )
  {
    if( periodo && periodo.value.length > 0 ) 
        document.getElementById('filtro_periodo').style.display = '';
    else 
        document.getElementById('filtro_periodo').style.display = 'none';

	if (p_periodicidade == 'Mensal'){

		document.getElementById('nana').className = 'visivel';

		document.getElementById('nana2').className = 'invisivel';	
	} else {
		document.getElementById('nana').className = 'invisivel';	
		document.getElementById('nana2').className = 'visivel';		  		
	  }
	/*
	for( var q = 1; q < periodo.options.length; q++ )
    {
       if( document.getElementById(  periodo.options[ q ].value ) && document.getElementById(  periodo.options[ q ].value ).style.display  == '' )
		{
  		   document.getElementById(  periodo.options[ q ].value ).style.display  = 'none';
  		   document.getElementById(  periodo.options[ q ].value ).value          = '';
        }

       if( periodo.options[ q ].value  == p_periodicidade && document.getElementById(  periodo.options[ q ].value ).style.display =='none'){
           alert(document.getElementById(  periodo.options[ q ].value ).style.display)
		   document.getElementById(  periodo.options[ q ].value ).style.display = '';
		   alert(document.getElementById(  periodo.options[ q ].value ).style.display)
	   }
    }
	*/
  }
}


/**
 * @objetivo	: Mostrar Formulário de Anexação de Arquivos
 * @parametro	: p_publicacao_id :Numerico ( Requerido )
 * @retorno		: void
 * @autor      	: Jefferson Petilo( jefferson@netdom.com.br) 
 * @versão		: 2, 02 de Janeiro de  2005
 */					
function fnc_arquivos_anexos_detalhes( p_publicacao_id, p_data_publicacao )
{
 with( document.form_publicacao )
 {
	action 		   		  = 'upload.cfm';
	method 		   		  = 'post';
	target 				  = '_self';
	operacao.value 		  = 1;
	publicacao_id.value   = p_publicacao_id;
	data_publicacao.value = p_data_publicacao;
	
  if( fnc_verifica_form( document.form_publicacao )) submit();
 }
}

/**
 * @objetivo	: Realiza publicação do Diário Oficial dos Municípios
 * @parametro	: Sem parâmetros
 * @retorno		: void
 * @autor      	: Jefferson Petilo( jefferson@netdom.com.br) 
 * @versão		: 2, 13 de Dezembro de  2004
 */					
function fnc_publica_dados()
{
 with( document.form_publicacao )
 {
   operacao.value 			= 3;	
   action 					= getCurrentPage();
   method 					= 'post';
   target 					= 'resultado'; // consultas

  
   // se a publicação for individual
   if( getRadioSelecionadoValor( publicacao_tipo_id ) == 1 )
   {
	   publicacao.obrigatorio        =  0;
	   assinatura.obrigatorio        =  1;
	   data_publicacao.obrigatorio   =  1;

	// se a publicação for geral   
   } else {
	   cod_pessoa.value 		     = '';
	   publicacao.obrigatorio        = 1;
	   data_publicacao.obrigatorio   = 1;
	   assinatura.obrigatorio        = 0;
	   
	for ( var i = 0 ; i < v_rcount; i++ )
	{
	  if( v_entidades[ i ] != null  )
	  {
		v_publicacao 	 = v_entidades[ i ].split(',')[ 0 ] +','+ v_entidades[ i ].split(',')[ 2 ];
		publicacao.value = ( i == 0 ) ? v_publicacao : publicacao.value + '|' + v_publicacao;
	  }
	}
   }

   // workarround para remoção de sinal
    if( publicacao.value.substr(0,1) == '|' )
        publicacao.value = publicacao.value.substr(1);

   if( publicacao.value.length > 0 ) 
	   municipio_id.obrigatorio = 0;
   else 
       assinatura.obrigatorio   = 1;
	
	if( fnc_verifica_form( document.form_publicacao ) )
	{
		publicar.disabled = true;
		submit();
		reset();
	}
  }
}

/**
 * @objetivo	: Mostrar Formulário de Anexação de Arquivos
 * @parametro	: p_publicacao_id :Numerico ( Requerido )
 * @retorno		: void
 * @autor      	: Jefferson Petilo( jefferson@netdom.com.br) 
 * @versão		: 2, 02 de Janeiro de  2005
 */					
 function fnc_publicar_anexo()
 {
  with( document.form_publicacao )
  {
	action 		   		= 'act_upload.cfm';
	method 		   		= 'post';
	target 				= '_self';
	enctype				= 'multipart/form-data';
	operacao.value 		= 2;
	
	if( fnc_verifica_form( document.form_publicacao ) )
	{
		publicar.disabled = true;
		submit();
		reset();
    }
  }
} 

/**
 * @objetivo	: Cadastra linha na tbody
 * @parametro	: p_cod_elemento  : string. ( Requerido )
 * @retorno		: void
 * @autor      	: Jefferson Petilo( jefferson@netdom.com.br) 
 * @versão		: 2, 07 de Dezembro de  2004
 */					
function fnc_cadastra_entidade( p_cod_elemento )
{
  v_corpo   = document.getElementById( p_cod_elemento ).getElementsByTagName('TBODY')[ 0 ];
  v_linha   = document.createElement('TR');		

  for( var i = 1; i < v_entidade.length; i++ )
  {
	if( i == 1 ) 
		v_temp = eval('document.form_publicacao.' + v_entidade[ i ] + '.value');
	else 
		v_temp = v_temp + ',' + eval('document.form_publicacao.' + v_entidade[ i ] + '.value');
   
	var v_coluna	     		= document.createElement('TD');
		v_coluna.title   		= document.getElementById( v_entidade[ i ] ).value;

		v_coluna.appendChild( document.createTextNode(  document.getElementById( v_entidade[ i ] ).value  ) );
		
		v_linha.id			 	 = eval('document.form_publicacao.' +  v_entidade[ 1 ] + '.value');
		v_linha.title 			 = ( v_rcount % 2 == 1 )?'#FFFFFF':'#F1F1F1';
		v_linha.style.background = v_linha.title;
		v_linha.style.cursor 	 = 'default'; 
		v_linha.onmouseover  	 = function(){ swapBG( this , cor_primaria, '' );  }
		v_linha.onmouseout   	 = function(){ swapBG( this , this.title , '' ); }  
		
		v_linha.appendChild( v_coluna );
 }

   // cria coluna com imagem de exclusão da linha
	var v_coluna_img_deleta 	  = document.createElement('TD');
		v_coluna_img_deleta.align = 'center';
		v_coluna_img_deleta.width = '5%';
		
	var v_img_deleta 			  = new Image();
		v_img_deleta.src 		  = '/_imagens/icones/16x16/deletar.gif';
		v_img_deleta.title		  = 'Clique aqui para excluir a publicação';
		v_img_deleta.count 		  = v_rcount;
		v_img_deleta.indice 	  = v_linha.id;
		v_img_deleta.style.cursor = 'pointer';
		v_img_deleta.onclick 	  = function() { fnc_remove_entidade( p_cod_elemento , v_linha.rowIndex, this.count, this.indice ); }
					
	// monta tabela 
	v_coluna_img_deleta.appendChild( v_img_deleta );
	v_linha.appendChild( v_coluna_img_deleta );
	
	v_corpo.appendChild( v_linha );

    for( j = 0; j < v_entidades.length; j++ )
	{
      // se o índice do array não for nulo 
	  if(  v_entidades[ j ] != null )
	  {
           // se o índice do array já estiver cadastrado, mostra um alerta com mensagem de duplicidade
		   if( v_entidades[ j ] == v_temp ) 
		   {
				v_corpo.deleteRow( v_linha.rowIndex  );
				alert('S'+ String.fromCharCode( 243 ) +' '+ String.fromCharCode( 233 ) +'  permitido relacionar a entidade p'+ String.fromCharCode( 250 ) +'blica uma '+ String.fromCharCode( 250 ) +'nica vez !'); 
				return;
		  } 

		   v_assinatura_cadastrada = v_entidades[ j ].split(',')[ 2 ];
		   v_assinatura_informada  = v_temp.split(',')[ 2 ];

           // se a assinatura digital já estiver sendo utilizada, mostra um alerta com mensagem de duplicidade
		   if( v_assinatura_cadastrada == v_assinatura_informada ) 
		   {
				v_corpo.deleteRow( v_linha.rowIndex  );
				alert('Chave p'+ String.fromCharCode( 250 ) +'blica j'+ String.fromCharCode( 225 ) +' foi excolhida para outra entidade. Crie uma nova chave !'); 
				return;
		  } 
	   }
	} 
	
	// alterna linhas da tabela 
	fnc_cor_tablesort( p_cod_elemento );	
	
	v_entidades[ v_rcount ] = v_temp ;
	v_rcount++;
}
/**
 * @descritivo	: Mostra Página de Edição da Publicação
 * @parametro	: p_publicacao_id   : número. ( Requerido )
 * @retorno		: void
 * @autor       : Jefferson Petilo( jefferson@kmm.com.br ) 
 * @versão		: 1, 13 de Fevereiro de  2005
 */					
function fnc_publicacao_detalhes( p_publicacao_id )
{
with( document.form_publicacao )
 {
    method		 	    = 'post';
    action 		 	    = 'publicacao_dados_detalhes.cfm';
	target 		 	    = '_self';
	publicacao_id.value = p_publicacao_id;
	
	submit();
  }		
}

/**
 * @objetivo	: Pesquisar Extrato de publicacação
 * @parametro	: sem parâmetros
 * @retorno		: void
 * @autor       : Jefferson Petilo( jefferson@netdom.com.br) 
 * @versão		: 2, 21  de Janeiro 2005
 */					
function fnc_pesquisa_extrato_publicacao()
{
 var form                = document.form_extrato_publicacao;
	 form.method	     = 'post';
     action 		 	 = 'extrato_publicacao.cfm';
     form.target	     = '_self';
     form.operacao.value = 1;	
/*
	 for( var i = 0 ; i < form.length; i++ )
	 {
	   switch( form.elements[ i ].type )
	   {
		 case 'select-one':
		 case 'text':
			 if( form.elements[ i ].value )
				 setCookie( form.elements[ i ].name , form.elements[ i ].value );
			  else 
				 setCookie( form.elements[ i ].name , '');
		 break;
	   }
	 }
 */ 
	if( fnc_verifica_form(  form ) ) 
        form.submit();
}

function fnc_pesquisa_extrato_publicacao_novo()
{
 var form                = document.form_extrato_publicacao;
	 form.method	     = 'post';
     action 		 	 = 'extrato_publicacao.cfm';
     form.target	     = '_self';
     form.operacao.value = 1;	
	
/*
	 for( var i = 0 ; i < form.length; i++ )
	 {
	   switch( form.elements[ i ].type )
	   {
		 case 'select-one':
		 case 'text':
			 if( form.elements[ i ].value )
				 setCookie( form.elements[ i ].name , form.elements[ i ].value );
			  else 
				 setCookie( form.elements[ i ].name , '');
		 break;
	   }
	 }
  */
	/**/if( fnc_verifica_form( form ) ) 
         form.submit();
}

function fnc_pesquisa_extrato_publicacao_busca()
{
 var form                = document.form_extrato_publicacao_busca;
	 form.method	     = 'post';
     action 		 	 = 'extrato_publicacao.cfm';
     form.target	     = '_self';
     form.operacao.value = 1;	
	
/*
	 for( var i = 0 ; i < form.length; i++ )
	 {
	   switch( form.elements[ i ].type )
	   {
		 case 'select-one':
		 case 'text':
			 if( form.elements[ i ].value )
				 setCookie( form.elements[ i ].name , form.elements[ i ].value );
			  else 
				 setCookie( form.elements[ i ].name , '');
		 break;
	   }
	 }
  */
	/**/	
	if( fnc_verifica_form( form ) ) 
         form.submit();
}


/**
 * @objetivo	: Mostrar Detalhes do Aviso
 * @parametro	: sem parâmetros
 * @retorno		: void
 * @autor       : Jefferson Petilo( jefferson@netdom.com.br) 
 * @versão		: 2, 13 de Fevereiro de 2005
 */					
function fnc_atualiza_publicacao( )
{
 with( document.form_publicacao )
 {
    method		 	    = 'post';
    action 		 	    = 'publicacao_dados_detalhes.cfm';
	target 		 	    = '_self';
    operacao.value      = 2;
	
	if( fnc_verifica_form( document.form_publicacao )) submit();
  }		
}

/**
 * @objetivo	: Deletar Agendamento da Publicação
 * @parametro	: sem parâmetros
 * @retorno		: void
 * @autor       : Jefferson Petilo( jefferson@netdom.com.br) 
 * @versão		: 2, 01  de Fevereiro de 2005
 */					
function fnc_deletar_agendamento_publicacao( p_publicacao_id )
{
 with( document.form_publicacao )
 {
   method	           = 'post';
   action 	           = getCurrentPage();
   target	           = '_self';
   publicacao_id.value = p_publicacao_id;
   operacao.value      = 3;  

   if( confirm('Deseja realmente excluir o agendamento dessa publica'+ String.fromCharCode( 231 ) + String.fromCharCode( 227 ) + 'o ?' ) )
       submit();
 }
}
/**
 * @objetivo	: Deletar Agendamento da Publicação
 * @parametro	: sem parâmetros
 * @retorno		: void
 * @autor       : Jefferson Petilo( jefferson@netdom.com.br) 
 * @versão		: 2, 01  de Fevereiro de 2005
 */					
function fnc_deletar_publicacao_anexo( p_publicacao_id , p_titulo_anexo )
{
 with( document.form_publicacao )
 {
   method	           = 'post';
   action 	           = '';
   target	           = 'resultado';
   publicacao_id.value = p_publicacao_id;
   titulo_anexo.value  = p_titulo_anexo;
   operacao.value      = 4;  

   if( confirm('Deseja realmente excluir os anexos da publica'+ String.fromCharCode( 231 ) + String.fromCharCode( 227 ) + 'o ? \n\n Alerta Importante : Esta opera'+String.fromCharCode( 231 )+ String.fromCharCode( 227 )+'o remover' + String.fromCharCode( 225 ) + ' todos os arquivos.'  ) )
       submit();
 }
}

/**
 * @objetivo	: Deletar Agendamento da Publicação
 * @parametro	: sem parâmetros
 * @retorno		: void
 * @autor       : Jefferson Petilo( jefferson@netdom.com.br) 
 * @versão		: 2, 01  de Fevereiro de 2005
 */					
function fnc_deletar_publicacao( p_publicacao_id )
{
 with( document.form_publicacao )
 {
   method	           = 'post';
   action 	           = getCurrentPage();
   target	           = 'resultado';
   publicacao_id.value = p_publicacao_id;
   operacao.value      = 3;  

   if( confirm('Deseja realmente excluir a publica'+ String.fromCharCode( 231 ) + String.fromCharCode( 227 ) + 'o ? \n\n Alerta Importante : Esta opera'+String.fromCharCode( 231 )+ String.fromCharCode( 227 )+'o remover' + String.fromCharCode( 225 ) + ' todos registros dependentes.'  ) )
       submit();
  }
}

/**
 * @objetivo	: Resetar campos de formulário
 * @parametro	: sem parâmetros
 * @retorno		: void
 * @autor       : Jefferson Petilo( jefferson@netdom.com.br) 
 * @versão		: 2, 11 de Março de 2005
 */
					
function fnc_limpar_publicacao()
{
   fnc_mostrar_painel_municipios( 1 );
   document.forms[ 0 ].reset();
}
