// JavaScript Document
	function validaEmail(mail){
		var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
		if(typeof(mail) == "string") {
			if(!mail) return true; 
			else if(er.test(mail)) return true; 
			else {
				alert ('E-mail incorreto. Por favor, corrija');
				mail.focus();
			}
		}
		else if(typeof(mail) == "object") {
			if(!mail.value) return true; 
			else if(er.test(mail.value)) return true; 
			else {
				alert ('E-mail incorreto. Por favor, corrija');
				mail.focus();
			}
		}
		else return false;
	}
	function validaCPF_CNPJ(objCPF, tipo) {
		if (!objCPF.value) return false;
		if (objCPF.value.length<14 && tipo=='CPF') {
			alert("O CPF deve ter 14 dígitos");
			objCPF.focus();
		}
		else if (objCPF.value.length<18 && tipo=='CNPJ') {
			alert("O CNPJ deve ter 18 dígitos");
			objCPF.focus();
		}
		
		numCPFCNPJ = ApenasNum(objCPF.value);
	
		if (!DigitoCPFCNPJ(numCPFCNPJ)) {
			if (tipo=="CPF") alert("O dígito verificador do CPF é inválido!");
			else if (tipo=="CNPJ") alert("O dígito verificador do CNPJ é inválido!");
			objCPF.focus();
			return false;
		}
	}
	function ApenasNum(strParm) {
		strParm = String(strParm);
		var chrPrt = "0";
		var strRet = "";
		var j=0;
		for (var i=0; i < strParm.length; i++) {
			chrPrt = strParm.substring(i, i+1);
			if ( chrPrt.match(/\d/) ) {
				if (j==0) {
					strRet = chrPrt;
					j=1;
				}
				else {
					strRet = strRet.concat(chrPrt);
				}
			}
		}
		return strRet;
	}
	function DigitoCPFCNPJ(numCIC) {
		var numDois = numCIC.substring(numCIC.length-2, numCIC.length);
		var novoCIC = numCIC.substring(0, numCIC.length-2);
		switch (numCIC.length){
			case 11 :
				numLim = 11;
				break;
			case 14 :
				numLim = 9;
				break;
			default : return false;
		}
		//
		var numSoma = 0;
		var Fator = 1;
		for (var i=novoCIC.length-1; i>=0 ; i--) {
			Fator = Fator + 1;
			if (Fator > numLim) {
				Fator = 2;
			}
			numSoma = numSoma + (Fator * Number(novoCIC.substring(i, i+1)));
		}
		numSoma = numSoma/11;
		var numResto = Math.round( 11 * (numSoma - Math.floor(numSoma)));
		if (numResto > 1) {
			numResto = 11 - numResto;
		}
		else {
			numResto = 0;
		}
		//-- Primeiro dígito calculado.  Fará parte do novo cálculo.
		//--
		var numDigito = String(numResto);
		novoCIC = novoCIC.concat(numResto);
		//--
		numSoma = 0;
		Fator = 1;
		for (var i=novoCIC.length-1; i>=0 ; i--) {
			Fator = Fator + 1;
			if (Fator > numLim) {
				Fator = 2;
			}
			numSoma = numSoma + (Fator * Number(novoCIC.substring(i, i+1)));
		}
		numSoma = numSoma/11;
		numResto = numResto = Math.round( 11 * (numSoma - Math.floor(numSoma)));
		if (numResto > 1) {
			numResto = 11 - numResto;
		}
		else {
			numResto = 0;
		}
		//-- Segundo dígito calculado.
		numDigito = numDigito.concat(numResto);
		//
		if (numDigito == numDois) {
			return true;
		}
		else {
			return false;
		}
	}
	
	
	function validaData(field) {
		  var checkstr = "0123456789"; 
		  var DateField = field; 
		  var Datevalue = ""; 
		  var DateTemp = ""; 
		  var seperator = "/"; 
		  var day; 
		  var month; 
		  var year; 
		  var leap = 0; 
		  var err = 0; 
		  var i; 
		  err = 0; 
		  DateValue = DateField.value; 
		  /* Deletando todos os caracteres exceto o 0..9 */ 
		  for (i = 0; i < DateValue.length; i++) 
		  { 
			 if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) 
				{ 
					DateTemp = DateTemp + DateValue.substr(i,1); 
				} 
		  } 
		  DateValue = DateTemp; 
		  /* Exectutando a data para 8 digitos - string*/ 
		  /* if entrada do ano com 2-digitos / exemplo 20xx */ 
		  if (DateValue.length == 6) 
			 { 
				if (DateValue.substr(4,2) < 50)
				{
					DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); 
				}else{
					DateValue = DateValue.substr(0,4) + '19' + DateValue.substr(4,2); 
				}
			 } 
		  if (DateValue.length != 8) 
			 { 
				err = 19; 
			 } 
		  /* Se o ano for errado = 0000 */ 
		  year = DateValue.substr(4,4); 
		  if (year == 0) 
			 { 
				err = 20; 
			 } 
		  /* Validando o mês*/ 
		  month = DateValue.substr(2,2); 
		  if ((month < 1) || (month > 12)) 
			 { 
				err = 21; 
			 } 
		  /* Validando o dia*/ 
		  day = DateValue.substr(0,2); 
		  if (day < 1) 
			 { 
				err = 22; 
			 } 
		  /* Validando ano Bissexto / fevereiro / dia */ 
		  if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) 
			 { 
				leap = 1; 
			 } 
		  if ((month == 2) && (leap == 1) && (day > 29)) 
			 { 
				err = 23; 
			 } 
		  if ((month == 2) && (leap != 1) && (day > 28)) 
			 { 
				err = 24; 
			 } 
		  /* Validando o mês */ 
		  if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) 
			 { 
				err = 25; 
			 } 
		  if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) 
			 { 
				err = 26; 
			 } 
		  /* if 00 houvendo entrada, sem erros */ 
		  if ((day == 0) && (month == 0) && (year == 00)) 
			 { 
				err = 0; day = ""; month = ""; year = ""; seperator = ""; 
			 } 
		  /* if sem erros, escrevo a data completa no Input-Field (e.x. 13/12/2001) */ 
		if (err == 0) { 
			DateField.value = day + seperator + month + seperator + year; 
		} 
		/* Mensagem de erro if err != 0 */  
		else { 
			alert("Atenção, a data digitada é inválida!"); 
			DateField.select(); 
			DateField.focus(); 
		} 
	}

