//FUNÇÃO QUE TORNA LETRAS DO FORMULÁRIO PARA MAIÚSCULAS....

function Letra_Maiuscula(Objeto){

	if(window.event.keyCode != 37 && window.event.keyCode != 39 )

		Objeto.value=Objeto.value.toUpperCase();

}





//FUNÇÃO QUE MASCARA TODAS AS DATAS DO SISTEMA DIA/MES/ANO(##/##/####)

function Mascara_Data(data,Evento) {

	Critica_Numero(Evento);

		switch (data.value.length) {

			case 2:

				data.value += "/";

				break;

			case 5:

				data.value += "/";

				break;

      	}

}



//FUNÇÃO QUE SÓ ACEITA NÚMEROS

function Critica_Numero(keypress){

	caracteres = '01234567890,';

	if ((caracteres.search(String.fromCharCode (keypress))==-1))

		event.returnValue = false;

}



//FUNÇÃO QUE CHECA O FORMATO DO EMAIL DIGITADO

function chkEmail(mail1){

	if(mail1.value.indexOf("@") != "-1" && mail1.value.indexOf(".") != "-1" && mail1.value != "")

		return true;

	else

		return false

}



//FUNÇÃO QUE VERIFICA FORMATO DO NÚMERO CITV

function Critica_Citv(Objeto,keypress){

	caracteres = '01234567890';

	caracteres2 = 'ABCDEFGHIJKLMNOPQRSTUVXZRW';

	if(Objeto.value.length >= 2){

		if ((caracteres.search(String.fromCharCode(keypress))==-1))

			event.returnValue = false;

	}

	else{

		if ((caracteres2.search(String.fromCharCode(keypress).toUpperCase())==-1))

			event.returnValue = false;

	}

}



// FUNÇÃO QUE CONTA O NÚMERO DE CARACTERES MÁXIMO DOS TEXTAREAS...

function Conta_Caracter512(Numero) {



    intCaracteres = 510 - Numero.value.length;

    if (intCaracteres < 0) {

	event.returnValue = false;

	}

}

function Critica_Data(data){
	var Dthoje = new Date();	
	var Ano_Atual = Dthoje.getYear();
	var Mes_Atual = Dthoje.getMonth() + 1;
	//AS DUAS LINHAS ABAIXO FORAM COLOCADAS DEVIDO BUG DO FIREFOX
	//getYear() esta trazendo 106 inves de 2006
	//Funcionara ate 2099
	if(navigator.appName=="Netscape"){
		Ano_Atual = ""+ Ano_Atual;
		Ano_Atual = "20"+ Ano_Atual.substring(1,3);
	}

	if (Mes_Atual < 10) {
		Mes_Atual = "0"+ Mes_Atual;
	}	
	var Dia_Atual = Dthoje.getDate();
		
	if (Dia_Atual < 10) {
		Dia_Atual = "0"+ Dia_Atual;
	}
	var data = "";
	Data_Hoje = Ano_Atual +"/"+ Mes_Atual +"/"+ Dia_Atual;

	var dataInicialArray = data.value.split("/");
	dia_inicial = dataInicialArray[0];

	if (dia_inicial.length == 1) {
		dia_inicial = "0"+ dia_inicial;
	}	
	mes_inicial = dataInicialArray[1];
	
	if (mes_inicial.length == 1) {
		mes_inicial = "0"+ mes_inicial;
	}	
	ano_inicial = dataInicialArray[2];
	Data_Inicial = ano_inicial + "/" + mes_inicial + "/" + dia_inicial;
	Data_Hoje = Ano_Atual + "/" + Mes_Atual + "/" + Dia_Atual;
	data.value = dia_inicial + "/"+ mes_inicial+"/"+ano_inicial;
		

	
	if (dia_inicial == ""){
		alert("O Dia da deve ser digitado!");
		data.focus();
		return false;
	}
	if ((dia_inicial > 31) || (dia_inicial < 1)){
		alert("Dia da data inválido!");
		data.focus();
		return false;
	}
	if (mes_inicial == ""){
		alert("O Mês da data deve ser digitado!");
		data.focus();
		return false;
	}
	if ((mes_inicial > 12) || (mes_inicial < 1)){
		alert("Mês da data inválido!");
		data.focus();
		return false;
	}
	var anobisexto = 1924;
	while (ano_inicial > anobisexto)
	{
		anobisexto = anobisexto + 4;
		if ((mes_inicial == 2) && (dia_inicial > 29) && (ano_inicial == anobisexto)){
			alert("Dia inválido (o mês de fevereiro possui 29 dias)!");
			data.focus();
			return false;
		}
		if ((mes_inicial == 2) && (dia_inicial > 28) && (ano_inicial < anobisexto)){
			alert("Dia inválido! O mês de fevereiro possui 28 dias.");
			data.focus();
			return false;
		}	
	}
	if (((mes_inicial == 4) || (mes_inicial ==6) || (mes_inicial ==9) || (mes_inicial ==11)) && (dia_inicial > 30)) {
		alert("Dia inválido (o mês digitado possui 30 dias)!");
		data.focus();
		return false;
	}		
	if (ano_inicial == ""){
		alert("O Ano da data deve ser digitado!");
		data.focus();
		return false;
	}
	if (ano_inicial.length != 4){
		alert("O Ano da data deve conter 4 dígitos!");
		data.focus();
		return false;
	}
	if ((ano_inicial > Ano_Atual) || (ano_inicial == 0) || (ano_inicial < 1928)){
		alert("ano inválido!");
		data.focus();
		return false;
	}
		return true;				
}




function isNumeroString (InString) {

	if(InString.length==0) return (false);

	var RefString="1234567890";

	for (Count=0;Count<InString.length;Count++) {

		TempChar=InString.substring(Count,Count+1);

		if (RefString.indexOf(TempChar,0)==-1)

			return (false);

		}

	return (true);

}

function Cpf(strTemp) {

   cpfmf = leftTrim(strTemp);

   cpfmf = rightTrim(cpfmf);

   if (cpfmf.length != 11) return (false) ;

   if (isNumeroString(cpfmf) != 1) return (false);

   Multiplic = "1110 9 8 7 6 5 4 3 2";

   soma = 0;

   for (Count=0;Count < 9;Count++){

      cchar = cpfmf.substring(8-Count,8-Count+1);

      cpeso = Multiplic.substring(18-Count*2,18-Count*2+2);

      soma = soma + parseInt(cchar) * parseInt(cpeso);

      }

   resto = soma % 11;

   if  (resto == 0) digito = 0

   else

      {

      digito = 11 - resto;

      if (digito>9) digito = digito -10;

      }

   if (cpfmf.substring(9,10) != digito) return (false);

   soma = 0;

   for (Count=0;Count < 10;Count++){

      cchar = cpfmf.substring(9-Count,9-Count+1);

      cpeso = Multiplic.substring(18-Count*2,18-Count*2+2);

      soma = soma + parseInt(cchar) * parseInt(cpeso);

      }

   resto = soma % 11;

   if (resto ==0) digito = 0

   else

      {

      digito = 11-resto ;

      if (digito > 9) digito = digito-10;

      }

   if (rightString(cpfmf,1) != digito) return (false);

   return (true);

}



function Cgc(strTemp) {

   cgcmf = leftTrim(strTemp);

   cgcmf = rightTrim(cgcmf);

   if (cgcmf.length != 14) return (false) ;

   if (isNumeroString(cgcmf) != 1) return (false);

//   digito = Mod11(leftString(cgcmf,12)) ;

//   if (parseInt(cgcmf.substring(12,13)) != digito) return (false);

   digito = Mod11(leftString(cgcmf,13)) ;

   if (parseInt(rightString(cgcmf,1)) != digito) return (false)

   else return (true);

}



function Mod11(strTemp) {

   if (strTemp.length > 20) return (false);

   var tam = strTemp.length-1

   var Multiplic = "54329876543298765432" ;

   Multiplic = rightString(Multiplic,tam+1);

   var soma = 0;

   for (Count=0;Count < tam+1;Count++)

      {

      cchar = strTemp.substring(tam-Count,tam-Count+1);

      cpeso = Multiplic.substring(tam-Count,tam-Count+1);

      soma = soma + parseInt(cchar) * parseInt(cpeso);

      }

   resto = soma % 11;

   if (resto == 0) return 0;

   cret = 11-resto ;

   if (cret > 9) cret = cret -10;

   return cret

   }

function rightString (InString, num)  {

	OutString=InString.substring (InString.length-num, InString.length);

	return (OutString);

}

function leftTrim (InString)  {

	OutString=InString;

	for (Count=0; Count < InString.length; Count++)  {

		TempChar=InString.substring (Count, Count+1);

		if (TempChar!=" ") {

			OutString=InString.substring (Count, InString.length)

			break;

		}

	}

	return (OutString);

}

function rightTrim (InString)  {

	OutString=InString;

	for (Count=InString.length; Count > 0; Count--)  {

		TempChar=InString.substring (Count-1, Count);

		if (TempChar!=" ") {

			OutString=InString.substring (0, Count)

			break;

		}

	}

	return (OutString);

}

function leftString (InString, num)  {

	OutString=InString.substring (0, num);

	return (OutString);

}

