// Script que verifica se o e-mail é válido
function valida_email(elm) {
if (elm.value.indexOf("@") != "-1" &&
elm.value.indexOf(".") != "-1" &&
elm.value.indexOf("@.") == "-1" &&
elm.value.indexOf(".br.") == "-1" &&
elm.value.indexOf("\"") == "-1" &&
elm.value.indexOf(" ") == "-1" &&
elm.value.indexOf("'") == "-1" &&
elm.value.indexOf(";") == "-1" &&
elm.value.indexOf(",") == "-1" &&
elm.value.indexOf("{") == "-1" &&
elm.value.indexOf("}") == "-1" &&
elm.value.indexOf("[") == "-1" &&
elm.value.indexOf("]") == "-1" &&
elm.value.indexOf("<") == "-1" &&
elm.value.indexOf(">") == "-1" &&
elm.value.indexOf("?") == "-1" &&
elm.value.indexOf("|") == "-1" &&
elm.value.length > 5 )
return false;
else return true;
}

function replace( texto, procurar, novo ){
   len = procurar.length;
   pos = texto.indexOf(procurar);
   while (pos > -1){
      parte1 = texto.substring(0, pos);
      parte2 = texto.substring(pos + len , texto.length);
      texto = parte1 + novo + parte2;
      pos = texto.indexOf(procurar);
   }
   return texto;
}

function splitstr(str, strdiv)
{

	var vetret, vetpos, ocorr, i, i2, ini, fim;
	ocorr = 0;
	
	for (i=0; i < str.length; i++)
	{
		if ( str.charAt(i) == strdiv)
		{
			ocorr++;
		}
	}

	vetret = new Array(ocorr);
	vetpos = new Array(ocorr);
	i2=0;
	
	for (i=0; i < str.length; i++)
	{
		if ( str.charAt(i) == strdiv)
		{
			vetpos[i2]=i;
			i2++;
		}
	}

	i2=0; ini=0; fim=0;
	
	for (i=0; i<ocorr+1; i++)
	{
		if(i == vetpos.length)
			fim = str.length;
		else
			fim = vetpos[i];
			
		vetret[i]=str.substring(ini, fim);
		ini = vetpos[i]+1;
	}

	return vetret;
}

function isNumber(numero)
{
   var CaractereInvalido = false;
   for (i=0; i < numero.length; i++){
      var Caractere = numero.charAt(i);
      if(Caractere != "." && Caractere != "," && Caractere != "-"){
         if (isNaN(parseInt(Caractere))) CaractereInvalido = true;
      }
   }

   return !CaractereInvalido;
}

function isEmpty(text){
   var enter1 = "\n",
       enter2 = "\r",
       espaco = " ",
       tab = "\t";

   if (text == "") return true;

   //A verifica se o caracter selecionada possui valor vahlido
   for (var indice = 0; indice < text.length; indice++){
      if (text.charAt(indice) != espaco && 
         text.charAt(indice) != tab &&
         text.charAt(indice) != enter1 && 
         text.charAt(indice) != enter2 )
         return false;
   }
   return true;
}

function isDate2( data ){
   var tdate, ad, rd, dm, tmpstr;
   dm = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
   data = replace(data, "-", "/");
   ad = splitstr(data, '/');
   if (ad.length != 3) return false;
   if((ad[1]>=1 && ad[1]<=12)==false) return false;	
   if(Math.floor(ad[2]/4)*4==ad[2]) dm[1] = 29;
   if(ad[2].toString().length != 4) return false;
   dia_ok = ad[0]>=1 && ad[0]<=dm[ad[1]-1];
   if(dia_ok == false) return false;
   for(i=0; i<ad.length; i++) {
   if ((isEmpty(ad[i])) || (!isNumber(ad[i])) || ((ad[i]<0))) return false;
   }
   return true;
}


//Scrpit que valida se o cpf é válido
function valida_CPF(s){
  	var i;
  	var c = s.substr(0,9);
  	var dv = s.substr(9,2);
  	var d1 = 0;
  	for (i = 0; i < 9; i++){
  		d1 += c.charAt(i)*(10-i);
  	}
	if (d1 == 0) return false;
  	d1 = 11 - (d1 % 11);
  	if (d1 > 9) d1 = 0;
  	if (dv.charAt(0) != d1){
  		return false;
  	}
 	d1 *= 2;
  	for (i = 0; i < 9; i++){
  		d1 += c.charAt(i)*(11-i);
  	}
  	d1 = 11 - (d1 % 11);
  	if (d1 > 9) d1 = 0;
  	if (dv.charAt(1) != d1){
  		return false;
  	}
	return true;
}

//Scrpit que valida se o cnpj é válido
function valida_CNPJ(s){
   	var i;
   	var c = s.substr(0,12);
   	var dv = s.substr(12,2);
   	var d1 = 0;
   	for (i = 0; i < 12; i++){
   		d1 += c.charAt(11-i)*(2+(i % 8));
   	}
	if (d1 == 0) return false;	
	d1 = 11 - (d1 % 11);
   	if (d1 > 9) d1 = 0;
   	if (dv.charAt(0) != d1){
   		return false;
   	}
   	d1 *= 2;
   	for (i = 0; i < 12; i++){
   		d1 += c.charAt(11-i)*(2+((i+1) % 8));
   	}
   	d1 = 11 - (d1 % 11);
   	if (d1 > 9) d1 = 0;
   	if (dv.charAt(1) != d1){
   		return false;
   	}
           return true;
}

//Scrpit que valida se é número
function valida_numero(s){
	if ( s != "" ) {
		var i; 
		var dif = 0;
		for (i = 0; i < s.value.length; i++){
			var c = s.value.charAt(i);
			if (!((c >= "0") && (c <= "9"))){
				dif = 1;
			}
		}
		if (dif == 1){
			return false;		
		} else {
			return true;		
		}
	}
	return false;
}

// Script que verifica se o campo é numérico
function valida_numero(s){
	var i,j,c,ok;
	ok = true;
	i = s.value.length;
	for(j=0;j<i;j++){
		c = s.value.substring(j,j+1);
		if (c != '0' && c != '1' && c != '2' && c != '3' && c != '4' && c != '5' && c != '6' && c != '7' && c != '8' && c != '9'){
			ok = false;
		}
	}
	return ok;
}

// Script que verifica se o campo é uma data válida
function isDate(dia,mes,ano){
	var now = new Date()
	var MaxAno = now.getYear();
	if ((dia > 31) || (mes > 12) || (ano > MaxAno) || (ano < 1900))	{
		return false;
	}
	
	if((mes == 1) || (mes == 3) || (mes == 5) || (mes == 7) || (mes == 8) || (mes == 10) || (mes == 12))	{
		if(dia > 31)		{
			return false;
		}				
	}
	
	if((mes == 4) || (mes == 6) || (mes == 9) || (mes == 11))	{
		if(dia > 30)		{
			return false;
		}
	}
	
	if(mes == 2)	{
		var MaxDia = 0
		if(ano % 4 == 0)		{
			MaxDia = 29
		} else {
			MaxDia = 28
		}
		if(dia > MaxDia)		{
			return false;
		}
	}
	return true;
}

function valida_formato(paramentro){
	var dia, mes, ano;
	var barra1, barra2;
	dia = paramentro.value.substring(0,1);
	barra1 = paramentro.value.substring(2,2);
	mes = paramentro.value.substring(3,4);
	barra2 = paramentro.value.substring(5,5);
	ano = paramentro.value.substring(6,9);
	if ( !(EhNumero(dia)) || !(EhNumero(mes)) || !(EhNumero(ano)) || (barra1 != '/') || (barra2 != '/') ){
		return false;
	} else {
		return true;
	}
}

// Verifica se o valor é númerico e diferente de zero e não é tudo igual
function EhNumero(campo) { 
	var i
	var digitos = "0123456789"
	var zero = "0"	

	// Todos os caracteres devem ser digitos
	for (i=0; i < campo.length; i++) {
		if (digitos.indexOf(campo.charAt(i)) < 0 ) {
			return false;	
		}
	}
	return true;
}

