// JavaScript Document
function valida_cnpj(cnpj){
	var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
	digitos_iguais = 1;
	if(cnpj.length > 0){
		if (cnpj.length < 14 && cnpj.length < 15)
					return false;
		for (i = 0; i < cnpj.length - 1; i++)
					if (cnpj.charAt(i) != cnpj.charAt(i + 1))
								{
								digitos_iguais = 0;
								break;
								}
		if (!digitos_iguais)
				{
				tamanho = cnpj.length - 2
				numeros = cnpj.substring(0,tamanho);
				digitos = cnpj.substring(tamanho);
				soma = 0;
				pos = tamanho - 7;
				for (i = tamanho; i >= 1; i--)
							{
							soma += numeros.charAt(tamanho - i) * pos--;
							if (pos < 2)
										pos = 9;
							}
				resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
				if (resultado != digitos.charAt(0))
							return false;
				tamanho = tamanho + 1;
				numeros = cnpj.substring(0,tamanho);
				soma = 0;
				pos = tamanho - 7;
				for (i = tamanho; i >= 1; i--)
							{
							soma += numeros.charAt(tamanho - i) * pos--;
							if (pos < 2)
										pos = 9;
							}
				resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
				if (resultado != digitos.charAt(1))
							return false;
				return true;
				}
		else
				return false;
	}
} 

function valida_cpf(cpf){
	var numeros, digitos, soma, i, resultado, digitos_iguais;
	digitos_iguais = 1;
	
	if(cpf.length > 0){
		if (cpf.length < 11)
					return false;
		for (i = 0; i < cpf.length - 1; i++)
					if (cpf.charAt(i) != cpf.charAt(i + 1))
								{
								digitos_iguais = 0;
								break;
								}
		if (!digitos_iguais)
					{
					numeros = cpf.substring(0,9);
					digitos = cpf.substring(9);
					soma = 0;
					for (i = 10; i > 1; i--)
								soma += numeros.charAt(10 - i) * i;
					resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
					if (resultado != digitos.charAt(0))
								return false;
					numeros = cpf.substring(0,10);
					soma = 0;
					for (i = 11; i > 1; i--)
								soma += numeros.charAt(11 - i) * i;
					resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
					if (resultado != digitos.charAt(1))
								return false;
					return true;
					}
		else
					return false;
	}
}
			
/* Formulários de validação */
function isDate(val,format) {
	var date=getDateFromFormat(val,format);
	if(date==0){ 
		return false; 
	} else {
		return true;
	}
}

function validaData(fieldName) {
	objeto = document.getElementById(fieldName)
	if(objeto.value.length>0){
		regX = /(0[1-9]||(1||2)[1-9]||3[0-1])\/(0[1-9]||1[0-2])\/(19||20)[0-9]{2}$/
		if(regX.test(objeto.value)==false){
			alert('Data inválida.');
			objeto.value='';
			objeto.focus();
			return false;
		} else if(isDate(document.getElementById(fieldName).value)==false) {
			alert('Data inválida.');
			objeto.value='';
			objeto.focus();
			return false;
		} else {
			return true;	
		}
	}
}

function validaDDD(fieldName){
	objeto = document.getElementById(fieldName)
	if(objeto.value.length>0){
		regX = /[0-9]{2}$/
		if(regX.test(objeto.value)==false){
			alert('DDD inválido. Ele deve conter dois números (de 0 a 9), sem parentes ou quaisquer outros caracteres.');
			objeto.value=objeto.value.replace(/[^0-9]+$/, '');
			objeto.className='input-erro';	
			objeto.focus();
		} else {
			objeto.className='';	
		}
	}
}

function validaTelefone(fieldName){
	objeto = document.getElementById(fieldName)
	if(objeto.value.length>0){
		regX = /[0-9]{7,8}$/
		if(regX.test(objeto.value)==false){
			alert('Telefone inválido. Ele deve conter de sete a oito números (de 0 a 9), sem parentes ou quaisquer outros caracteres.');
			objeto.value=objeto.value.replace(/[^0-9]+$/, '');
			objeto.className='input-erro';	
			objeto.focus();
		} else {
			objeto.className='';	
		}
	}
}

function validaCEP(fieldName){
	objeto = document.getElementById(fieldName)
	if(objeto.value.length>0){
		regX = /[0-9]{8}$/
		if(regX.test(objeto.value)==false){
			alert('CEP inválido. Ele deve conter oito números (de 0 a 9), sem traços, pontos ou quaisquer outros caracteres.');
			objeto.value=objeto.value.replace(/[^0-9]+$/, '');
			objeto.className='input-erro';	
			objeto.focus();
		} else {
			objeto.className='';	
		}
	}
	/*var valor = document.getElementById(fieldName).value;
	var tecla = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	//alert(tecla)
	//Somente números!
	//alert(tecla)
	//alert(String.fromCharCode(tecla))
	//alert(regXNumber.test(String.fromCharCode(tecla)))
	if (regXNumber.test(document.getElementById(fieldName).value)==false){
		event.returnValue = false;
		alert("Este campo aceita somente números.")
		return false;
	} else {
		event.returnValue = true;
		return true;
	}*/
}

function validaTexto(fieldName) {
	objeto = document.getElementById(fieldName)
	regX = /[^0-9]+$/
	if(regX.test(objeto.value)==false){
		objeto.value=objeto.value.replace(/[0-9]+$/, '');
	}
	/*var tecla = event.which;
	if (tecla == null) {
		tecla = event.keyCode;
	}
	//Somente números!
	if (tecla > 32 && tecla < 65 && tecla != 39){
		event.returnValue = false;
		alert("Este campo não aceita números.")
		fieldName.focus
	return false;
	}
	event.returnValue = true;
	return true;*/
}

//# e-mail
function checkEmailStrucure(fieldName) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(fieldName)) 
		return (true);
	else 
		return (false);
}


function validaEmail(fieldName) {
	objeto = document.getElementById(fieldName)
	var valor = document.getElementById(fieldName).value
	if(valor != '') {
		if (checkEmailStrucure(valor)==false) {
			alert("E-mail '"+ valor +"' inválido. Digite novamente.");
			objeto.value='';
			objeto.focus();
			objeto.className='input-erro';	
			return false;
		} else {
			objeto.className='';	
			return true;
		}
		
		if (valor.indexOf('@', 0) == -1 || valor.indexOf('.', 3) == -1) { 
			alert("Email inválido. Digite novamente.");
			objeto.focus();
			objeto.className='input-erro';	
			return false;
		} else {
			objeto.className='';	
			return true;
		}
	}
}

function sendForm(formName) {
	var fields = new Array(formName.selSubject.value, formName.txtEmail.value, formName.txtDDD.value, formName.txtPhone.value, formName.txtEmail.value, formName.txtMessage.value)
	var alertMsg = ''
	var showAlert = false
	for(i=0; i<fields.length; i++){
		if(fields[i]=='' || fields[i]==' ' || fields[i]=='  ') {
			showAlert = true
		} 
	}
	if(Boolean(showAlert) == true) {
		alert('Por favor, preencha todos os campos corretamente.')
	} else {
		formName.submit();
	}
}

function contadorSpan(field, countfield, maxlimit) {
	if (field.value.length > maxlimit) {
		field.value = field.value.substring(0, maxlimit);
	} else {
		countfield.innerText = maxlimit - field.value.length;
	}
}


//
function onlyNumsAllowed(e){
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	alert(keyCode)
	if(keyCode < 48 || keyCode > 57){
		event.keyCode = null;
		return false;
	} else {
		return true;			
	}
}

function retornaStyle(obj) {
	obj.className='';
}
function limpaEspacos(obj){
	string = new String(obj.value)
	obj.value = string.replace('  ', ' ');
}
function limpaTodosEspacos(obj){
	string = new String(obj.value)
	obj.value = string.replace(' ', '');
}

