//Maximiza a janela aberta. Deve ser utilizada no evento onload da tag <BODY>
function maximiza() 
{
 var sw=screen.availWidth; 
 var sh=screen.availHeight; 
 self.resizeTo(sw,sh); 
 self.moveTo(0,0);
}

//Funções de abertura de janelas
function janela_padrao(url,tit,top,left,height,width,st,sb,rs)
{
var wPadrao, wConfig

if (st==null) st='yes'
if (sb==null) sb='yes'
if (rs==null) rs='yes'
if (top==null) top=0
if (left==null) left=0
if (height==null) height=screen.availHeight
if (width==null) width=screen.availWidth

wConfig='top=' + top + ',left=' + left
wConfig=wConfig	+ ',toolbar=no,location=no,directories=no,'
wConfig=wConfig + 'status=' + st + ',menubar=no,scrollbars=' + sb 
wConfig=wConfig + ',resizable=' + rs + ',width=' + width + ',height=' + height

wPadrao=window.open(url,tit,wConfig);

wPadrao.focus();
}

function janela_imprimir(url,tit,top,left,height,width)
{
var wImprimir, wConfig

if (top==null) top=0
if (left==null) left=0
if (height==null) height=screen.availHeight
if (width==null) width=screen.availWidth

wConfig='top=' + top + ',left=' + left 
wConfig=wConfig + ',toolbar=no,location=no,directories=no,'
wConfig=wConfig + 'status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='
wConfig=wConfig + width + ',height=' + height

wImprimir=window.open(url,tit,wConfig);

wImprimir.focus();
}

//Muda a cor de fundo do objeto do formulário
function Hilite(objeto)
{
var t=objeto.type;
if(t=="radio"||t=="checkbox") objeto.style.backgroundColor='transparent';
if(t=="text"||t=="password"||t=="textarea"||objeto.tagName=="SELECT") objeto.style.backgroundColor='#ffffcc';
}

//Restaura a cor de fundo do objeto do formulário
function Restore(objeto)
{
var t=objeto.type;
if(t=="radio"||t=="checkbox") objeto.style.backgroundColor='transparent';
if(t=="text"||t=="password"||t=="textarea"||objeto.tagName=="SELECT") objeto.style.backgroundColor='#fff';
}

//Valida os dados digitados em um campo
function valida_campo(campo,msg,expressao)
{		  
	var ret=false;				

	var encontra=campo.value.match(expressao);
		  		
	if (encontra != null) 
	{
	   alert(msg);
       	   campo.focus();
	   campo.select();
	   ret=true;
	}
		  		
	return ret;		  	
}

//FUNCAO PARA VERIFICAÇÃO DE CAMPOS NÃO PREENCHIDOS
function verifica_branco(parametro)
{
	// variavel para teste de espacos em branco
	teste_parametro   = "false"; 
	tamanho_parametro = parametro.length;
	if (tamanho_parametro != 0)
	{
	   for (i = 0; i < tamanho_parametro; i++)
	   {
               if (parametro.charAt(i) != " ")
	       {
		  teste_parametro = "true"; /* existe caracter diferente de branco */
	       }
	   }	   
           if (teste_parametro == "false")  // todos os caracteres digitados são brancos
	   {
	      return false;
	   }
	   else
	   {
	      return true;
	   }
	}
	else
	{
	   return false;
	}		
}

//FUNCAO PARA VALIDACAO DE NÚMEROS INTEIROS, E ESPAÇOS EM BRANCO
function valida_inteiro(parametro)
{
	if (parametro.length != 0)
	{
	   if (!verifica_branco(parametro))
	   {
	       return true;
	   }
		
	   teste_ponto = "false";
	   tamanho_parametro = parametro.length;
		
	   if (isNaN(parametro)) //valor digitado não é numérico
	   {
	      return false;
	   }
	   else //valor digitado é um numérico válido
	   {			
	      for (k = 0; k < tamanho_parametro; k++)
	      {
		  if ((parametro.charAt(k) == '.') || (parametro.charAt(k) == '-') || (parametro.charAt(k) == '+'))
		  {
		      teste_ponto = "true"; /*existe caracter ponto*/
		  }
	      }
			
	      if (teste_ponto == "true") //encontrou caracter ponto(numero real)
	      {
		      return false;
	      }
	      else
	      {
		      return true;
	      }
	   }
	}
	else
	{
	   return true;
	}	
}

//VALIDAÇÃO DE DATA
function Valida_Data(dia,mes,ano)
{	
		
	var v_dia;
	var v_mes;
	var v_ano;
		
	if (!valida_inteiro(dia))
	{
 	   return (false);		
	}
	if (!valida_inteiro(mes))
	{
	   return (false);		
	}
	if (!valida_inteiro(ano))
	{
	   return (false);		
	}
				
	v_dia = dia;
	v_mes = mes;
	v_ano = ano;
		
	if (v_dia.length < 2)
	{
	   return(false);
	}
		
	if (v_mes.length < 2)
	{
	   return(false);
	}
		
	if (v_ano.length < 4)
	{
	   return(false);
	}
			
	if (((v_ano < 1900) || (v_ano > 2079)) && (v_ano.length != 0))
	{
	   return(false);
	}

	if (v_dia > 31 || v_dia < 1)
	{
	   return(false);
	}
		
	if (v_mes > 12 || v_mes < 1)
	{
	   return(false);
	}
		
	if (v_dia == "31") 
	{
	   if ((v_mes == "04") || (v_mes == "06") || (v_mes == "09") || (v_mes == "11"))
	   {
	      return(false);
	   }
	}
	
	//Validação de Ano Bissexto
	if (v_mes == "02")
	{
	   if (!(v_ano%4)) 
	   {
	      if (v_dia > 29)
	      {
		 return(false);
	      }
	   }
	   else if (v_dia > 28)
	   {
		return(false);
	   }
	}

	// Verifica se o dia, mês, ano não foi digitado!		
	if (((v_dia != "") || (v_mes != "") || (v_ano != "")) && ((v_dia == "") || (v_mes == "") || (v_ano == "")))
	{
	    return(false);
	}
		
	return(true);
}		  

//Máscara para o campo data
function mascara_data(obj)
{
	if (obj.value.length=="2"){obj.value = obj.value + "/";}	
	if (obj.value.length=="5"){obj.value = obj.value + "/";}		  
}

//Envia os dados do formulario informado através do parâmetro
function salvar(formulario)
{
  formulario.submit();
}

//Obtêm valor do cookie
function getCookie(cookieName)
{
	var cookie;
	cookie = "" + document.cookie;
	var start = cookie.indexOf(cookieName);
	if (cookie == "" || start == -1) 
		return "";
	var end = cookie.indexOf(';',start);
	if (end == -1)
		end = cookie.length;
	return unescape(cookie.substring(start+cookieName.length + 1,end));
}

//Cria o cookie
function setCookie(cookieName, value, expires)
{
	cookieInfo = cookieName + "=" + escape(value) + ";path=/;expires=" + expires;
	document.cookie = cookieInfo;  
	return document.cookie;
}

//Data de expiração do cookie
function getExpirationDate(days)
{
	today = new Date();
	today.setTime(Date.parse(today) + (days * 60 * 60 * 24 * 100));
	return  today.toUTCString();
}

//***********************************************************************************************
// expandit function
//   calls toggleSection function after a
//   short delay so that images display 
//   without interuption
function expandit(itemId)
{
	window.setTimeout("toggleSection('" + itemId + "')",10);
}

// toggleSection function
//   opens or closes menu section 
function toggleSection(itemId) 
{	
	var item;    
	
	//Definição para o IEx
	if (document.all) 
        {
	   item=document.all[itemId];	   
	}
    
	//Definição para outros browser's
        if (!document.all && document.getElementById) 
        {
	   item=document.getElementById(itemId);
	}
        
	//Caso a tabela esteja oculta, troca a imagem e mostra a tabela.         
	if (item.style.display == "none") 
        {	
	   item.style.display="inline";
	}
	//Se visível, troca a imagem e oculta a tabela.
	else
        {
	   item.style.display="none";		
	}
}

//***********************************************************************************************
function controla_obj(itemId,img)
{
  window.setTimeout("define_estado_obj('" + itemId + "'," + img + ")",10);
}

function define_estado_obj(itemId,img) 
{
//Variável utilizada para controle da visualização do objeto
var item;

//Troca Imagem?(0-Não,1-Sim)
if (img==1)
{	   
   var imagem, posicao, antes;
	   
   //Recupera a "posicao" do underscore na cadeia de caracteres
   posicao=itemId.indexOf("_");
	   
   //Recupera a "descrição" do objeto antes do underscore. Ex.: "funcao_1" por "funcao"
   antes=itemId.substring(0,posicao);	

   //Troca a descrição contida na variável(antes) definida acima, 
   //pela contida na variável(depois) definida em diagrama.js. 
   //Ex.: "funcao" por "imagem"
   var img_id=itemId.replace(antes,depois);
}	
		
//Definição para o IEx
if (document.all) 
{
   item=document.all[itemId];
   if (img==1) imagem=document.all[img_id]		   
}
   
//Definição para outros browser's
if (!document.all && document.getElementById) 
{
   item=document.getElementById(itemId);
   if (img==1) imagem=document.getElementById(img_id)	
}
        
//Caso o objeto esteja oculto, mostra-o.         
if (item.style.display == "none") 
{
   item.style.display="inline";
   //img_open, definido em diagrama.js
   if (img==1) imagem.src=img_open.src
}
//Se visível, oculta-o.
else
{
   item.style.display="none";
   //img_close, definido em diagrama.js
   if (img==1) imagem.src=img_close.src	
}

}

//Array's presentes em: salva_estado_obj e verifica_estado_obj
var aObjeto_Name=new Array("menu_","funcao_")
var aCookie_Name=new Array("menu","funcao");

function salva_estado_obj(inicio,fim,id_obj)
{
var cookieInfo="";
for (i=inicio; i<=fim; i++)
{
var item;
var itemId=aObjeto_Name[id_obj] + i;		
if (document.all) 
{
   item=document.all[itemId];
}
if (!document.all && document.getElementById) 
{
   item=document.getElementById(itemId);
}	
//Armazena os id's dos objetos ocultos no cookie
if (item.style.display == "none")
{
   cookieInfo=cookieInfo + "|" + i; 		
}	
}
setCookie(aCookie_Name[id_obj],cookieInfo,getExpirationDate(1));	
}

function verifica_estado_obj(id_obj,img) 
{ 
 var objeto=new Array();
 //Recupera os id's dos objetos armazenados no cookie
 objeto=getCookie(aCookie_Name[id_obj]).split("|");
 for (i=1; i < objeto.length; i++) 
 {
     var itemId=aObjeto_Name[id_obj] + objeto[i];
     controla_obj(itemId,img);
 }
}
//***********************************************************************************************
