//---------------------------------------------------------------------------------------------------------
// Nome:		LibOperacoes
// Descrição:	Arquivo de biblioteca de funções para Operacoes.
//---------------------------------------------------------------------------------------------------------

//---------------------------------------------------------------------------------------------------------
// Descrição das funções disponíveis neste arquivo:
//---------------------------------------------------------------------------------------------------------
// Nome						Descrição
//---------------------------------------------------------------------------------------------------------
// Repl						Substitui uma ou mais palavras por outra dentro de uma string.
//---------------------------------------------------------------------------------------------------------
// DiasEmFevereiro			Retorna último dia do mês de Fevereiro do ano solicitado.
//---------------------------------------------------------------------------------------------------------
// AbrePopup				Abre um janela personalizada com um enrdeço web ou arquivo.
//---------------------------------------------------------------------------------------------------------
// AddFavoritos				Adicionar um link de um site no Favoritos do browser.
//---------------------------------------------------------------------------------------------------------
// TamanhoImagem			Redimensiona a imagem para um tamanho específico sem distorcê-la.
//---------------------------------------------------------------------------------------------------------
// Imprimir					Abre a janela de impressão padrão do Windows para imprimir a página em foco.
//---------------------------------------------------------------------------------------------------------
// RollImage				Rollovers de imagens (muito utilizada em botões).
// RollImageOver
// MM_findObj
//---------------------------------------------------------------------------------------------------------
// MudaTecla				Permite alterar o foco do campo automaticamente
//---------------------------------------------------------------------------------------------------------

// Substitui uma ou mais palavras por outra dentro de uma string.

// Exemplo:
//<script language=javascript>
//	var S = "Teste teste teste";
//	alert(Repl(S, "teste", "xxx")); 
//	Resultado: "Teste xxx xxx"
//</script>

function Repl(entry, out, add) 
{
	temp = "" + entry;
	while (temp.indexOf(out)>-1) 
	{
		pos= temp.indexOf(out);
		temp = "" + (temp.substring(0, pos) + add + 
		temp.substring((pos + out.length), temp.length));
	}
	return temp;
}

//---------------------------------------------------------------------------------------------------------

// Retorna o último dia do mês de Fevereiro do ano solicitado.
// Exemplo:
// alert(DiasEmFevereiro(2002));

function DiasEmFevereiro(dtAno)
{
	return(dtAno % 4 == 0 && (!(dtAno % 100 == 0) || (dtAno % 400 == 0)) ? 29 : 28);
}

//---------------------------------------------------------------------------------------------------------

//Abre um janela personalizada com um enrdeço web ou arquivo.
//Exemplo: 
//	AbrePopup("http://www.geocities.com/CapitolHill/6126/javainde.htm","NovaJanela","toolbar=1,location=1,directories=0,status=1,menubar=1,scrollbars=1,resizable=0,width=320,height=240")

function AbrePopup(parPage, parName, parEtc)
{	
	if (parEtc == "")
	{
		parEtc = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=640,height=480";
	}
	window.open(parPage, parName, parEtc);
}

//---------------------------------------------------------------------------------------------------------

// Adicionar um link de um site no Favoritos do browser.
// Exemplo:
// <input type="button" value="Favoritos" OnClick="AddFavoritos('http://www.site.com.br','Portal Site');">

function AddFavoritos(site,title)
{  
 	window.external.AddFavorite(site,title);
}

//---------------------------------------------------------------------------------------------------------

// Redimensiona a imagem para um tamanho específico sem distorcê-la.
// Exemplo: 
//	<img src="imagem.gif" onLoad="JavaScript: return TamanhoImagem(this, '100', '100');">
//
function TamanhoImagem(Imagem, LimiteW, LimiteH)
{
	// Pega as propriedades da imagem.	
	W = Imagem.width;
	H = Imagem.height;

	// Qual lado da imagem é maior?
	if (H > W)
		{
		Maior = "H"
		}
	else
		{	
		Maior = "W"
		}

	// Se Altura é o lado maior.    	       
	if (Maior == "H")
		{
		// Se o lado maior for menor que o Limite correspondente. Deixe a imagem no tamanho real.
		if (H < LimiteH)
			{
			return;
			}

		// Reduza o lado maior para o valor do limite.
		//H = LimiteH //Reduz o Height.

		// Verifique a percentagem diminuida no Height e faça o mesmo com o Width.
		//Y = H //100% da Imagem.
		DIMI = H - LimiteH //Valor diminuido.
		PDIMI = ((100 * DIMI) / H) //Percentagem diminuida.	          
		W = W - (W * (PDIMI / 100))
		
		Imagem.height = LimiteH;
		Imagem.width = W;
		}
		
	// Senão Largura é o lado maior.
	else
		{
		//Se o lado maior for menor que o Limite correspondente. Deixe a imagem no tamanho real.
		if (W < LimiteW)
			{
			return;
			}

		// Reduza o lado maior para o valor do limite.
		//W = LimiteW //Reduz o Widht.

		// Verifique a percentagem diminuida no Width e faça o mesmo com o Height.
		//Y = W //100% da Imagem.
		DIMI = W - LimiteW //Valor diminuido.
		PDimi = ((100 * DIMI) / W) //Percentagem diminuida.	          
		H = H - (H * (PDimi / 100))
		
		Imagem.width = LimiteW;
		Imagem.height = H;
		}
}
//---------------------------------------------------------------------------------------------------------

// Abre a janela de impressão padrão do Windows para imprimir a página em foco.

function Imprimir(frame)
{
	frame.focus();
	frame.self.print();
}

//---------------------------------------------------------------------------------------------------------

<!--
// Rollover de imagens.

/*
Exemplo com link:
<a href="#" 
	onMouseOut="RollImageOver()"
	onMouseOver="RollImage('Image4','','btPesquisar2.gif',1)">
	<img name="Image4" border="0" src="btPesquisar.gif" vspace="2">
</a>

Exemplo sem link:
<img name="Image4" border="0" src="btPesquisar.gif" vspace="2"
onMouseOut="RollImageOver()"
onMouseOver="RollImage('Image4','','btPesquisar2.gif',1)">
*/

// Utiliza a função MM_findObj.
function RollImage() { // v3.0
  var i,j=0,x,a=RollImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// v3.0
function RollImageOver() 
{ 
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

		function MudaTecla(ocampo1, tam1, ocampo2){
			var tam = ocampo1.value.length;
			if (tam == tam1){
				ocampo2.focus();
			}			
		}

//---------------------------------------------------------------------------------------------------------