/////////////////////////////////////////////////////////////////////////////////////////////////

/**
 * @author Maikel Finck <maikel.finck@logicadigital.com.br>
 * @copyright (c) 2006 Lógica Digital
 */
function jValidaData ( data , campo )
{
	// incializa a variavel	
	resultado = true ;
	// recebe os valores
	dia = ( data.substring( 0 , 2  )) ; 
    mes = ( data.substring( 3 , 5  )) ; 
	ano = ( data.substring( 6 , 10 )) ; 
	// verifica se foram digitados números
	if ( isNaN ( dia ) || isNaN ( mes ) || isNaN ( ano ))
    {
        // retorna erro
        return false;
	}
	// verifica se o mes é valido 
	if ( mes < 1 || mes > 12 )
    { 
		resultado = false; 
	} 
    // verifica fevereiro
    if (( dia < 1 || dia > 29 ) && ( mes == 2 ))
    {
		resultado = false ;
    }
    // verifica os meses com trinta dias
	else if (( dia < 1 || dia > 30 ) && ( mes == 4 || mes == 6 || mes == 9 || mes == 11 ))
    {
		resultado = false ;
    }
    // verifica os meses com trinta e um dias
    else if  (( dia < 1 || dia > 31 ) && ( mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12 ))
    {
    	resultado = false; 
    }		
	// verifica se é ano bissexto 
	if (( mes == 2 ) && ( dia > 28) && ( parseInt( ano / 4 ) != ano / 4 ))
    { 
        resultado = false; 
	}
    // verifica o resultado
    if (( resultado !== true ) && ( data != '' ))
    {
        // avisa o erro da data
        alert ( 'Atenção!\n\nA data digitada é inválida.' ) ;
        // esvazia
        document.getElementById( campo ).value = '' ;
        // seta o foco
        document.getElementById( campo ).focus () ;
    }
}
/////////////////////////////////////////////////////////////////////////////////////////////////	
/**
* @author Tiago Carvalho projetos@logicadigital.com.br
* @copyright (c) 2006 Lógica Digital
* Descrição: Script para ocultar/mostrar qualquer objeto
*/
 
function jMostraOculta_Objeto ( campo , acao )
{
	if ( acao == 'onBlur' ) 
	{
		document.getElementById(campo).style.display='none';
	}
	else if ( acao = 'onFocus' ) 
	{
		document.getElementById(campo).style.display='';
	}
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/**
* @author Maikel Finck projetos@logicadigital.com.br
* @copyright (c) 2006 Lógica Digital
* Descrição: Script para usuário digitar apenas números
*/

function jCampoNumerico ( x , y , evtKeyPress )
{
// Inicializa a variavel
var nTecla = 0;
// Verifica plataforma
if (document.all)
{
// Plataformas tipo IE
nTecla = evtKeyPress.keyCode ;
}
else
{
// Plataformas tipo NETSCAPE
nTecla = evtKeyPress.which ;
}
// Verifica tecla pressionada
if ((( nTecla > 47 ) && ( nTecla < 58 ))  // numerico (0123456789)
|| ( nTecla == 8   )   // backspace
|| ( nTecla == 127 )   // delete
|| ( nTecla == 0   )   // teclas nao definidas
//|| ( nTecla == 9   )   // tabulacao
|| ( nTecla == 13  )   // enter
//|| ( nTecla == 44  )   // , (vírgula)
//|| ( nTecla == 46  ))  // . (ponto)
)
{
// Digita a tecla pressionada
return true;
}
else
{
// Ignora a tecla pressionada
return false;
}
}


/***********************************************************************
FUNÇÃO PRINCIPAL DA MASCARA
-------------------------------------------------------------------
Função: fnMascara
Dados de Entrada: objeto (nome do campo no formulário), evt (evento do campo), mask(O Formato de mascara que deseja)
Dados de Saída:
Processamento: Enquanto o usuario for digitando automaticamente ele ja 
vai colocando os pontos(se necessario), barras(se necessario), traço(se necessario) e entre outros.
Uso no formulário: onkeypress="return fnMascara(this, event,'#####-###');"
Lembrando que #####-### é o formato da mascara que você quer, no caso é a de CEP

Responsavél: Marcelo Abib Cardoso
Data: 17/08/2006
************************************************************************/
function fnMascara(objeto, evt, mask)
{ 
	var LetrasU = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	var LetrasL = 'abcdefghijklmnopqrstuvwxyz';
	var Letras  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';	
	var Numeros = '0123456789';
	var Fixos  = '().-:/ ';
	var Charset = " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_/`abcdefghijklmnopqrstuvwxyz{|}~";

	evt = (evt) ? evt : (window.event) ? window.event : "";
	var value = objeto.value;
	if (evt) {
 	var ntecla = (evt.which) ? evt.which : evt.keyCode;
 	tecla = Charset.substr(ntecla - 32, 1);
 	if (ntecla < 32) return true;

 	var tamanho = value.length;
 	if (tamanho >= mask.length) return false;

 	var pos = mask.substr(tamanho,1);
 	while (Fixos.indexOf(pos) != -1)
	 	{
 	 		value += pos;
 	 		tamanho = value.length;
 	 		if (tamanho >= mask.length) return false;
 	 		pos = mask.substr(tamanho,1);
		}

 	switch (pos) 
		{
   			case '#' : if (Numeros.indexOf(tecla) == -1) return false; break;
   			case 'A' : if (LetrasU.indexOf(tecla) == -1) return false; break;
   			case 'a' : if (LetrasL.indexOf(tecla) == -1) return false; break;
   			case 'Z' : if (Letras.indexOf(tecla) == -1) return false; break;
   			case '*' : objeto.value = value; return true; break;
   			default : return false; break;
 		}
	}
	objeto.value = value;
	return true;
}

// Abre Pop-up
function AbrePopUp(url, titulo, largura, altura, scrollbar) {
	var info = window.open(url ,titulo ,'width=' + largura + ', height=' + altura +', scrollbars=' + scrollbar + ', toolbar=no, location=no, status=yes, menubar=no, resizable=no, left=10, top=10');
	info.focus();
}

// Adiciona nos favoritos (multibrowser)
function favoritos()
{

 title = document.title;
 url = "http://www.enxuto.com.br";

	if (window.sidebar)
        {       // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	}

        else if( window.external )
        {       // IE Favorite
		window.external.AddFavorite( url, title);
        }

	else if(window.opera && window.print)
        {       // Opera Hotlist
		return true;
        }
}

function fnValidaNews(form,evento)
{
	if (form.email.value.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) == -1)
		{
			alert("Atenção!\nO campo E-MAIL deve ser preenchido corretamente.");
			form.email.focus();
			return false;
		}
}

function fnValidaBusca(form,evento)
{
	if(form.busca.value == "")
		{
			alert("Atenção!\nFavor Preencher o campo BUSCA corretamente.");
			form.busca.focus();
			return false;
		}
}

// Máscara de Campos
function FormatMask(objForm, strField, sMask, evtKeyPress) {
      var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

      if(window.event) { // Internet Explorer
        nTecla = evtKeyPress.keyCode; }
      else if(evtKeyPress.which) { // Nestcape
        nTecla = evtKeyPress.which;
      }

      sValue = objForm[strField].value;

      // Limpa todos os caracteres de formatação que
      // já estiverem no campo.
      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( "/", "" );
      sValue = sValue.toString().replace( "/", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( " ", "" );
      sValue = sValue.toString().replace( " ", "" );
      fldLen = sValue.length;
      mskLen = sMask.length;

      i = 0;
      nCount = 0;
      sCod = "";
      mskLen = fldLen;

      if (nTecla != 8) { // backspace
        if (sMask.charAt(i-1) == "9") { // apenas números...
          return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
        else { // qualquer caracter...


		  while (i <= mskLen) {
	        bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
	        bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

	        if (bolMask) {
	          sCod += sMask.charAt(i);
	          mskLen++; }
	        else {
	          sCod += sValue.charAt(nCount);
	          nCount++;
	        }

	        i++;
	      }

	      objForm[strField].value = sCod;

          return true;
        } }
      else {
        return true;
      }
    }