//Utilização
//onSubmit="validaFormulario();"
//Verifica se algum dos radios foi checked
//Verifica se o campo NOME foi preenchido
//Verifica se o campo EMAIL foi preenchido de forma valida
//Verifica se o campo EMPRESA foi preenchido
//Verifica se o campo MENSAGEM foi preenchido
function validaFormulario()
{
	var nome 		= document.getElementById('fieldnome');
	var email   	= document.getElementById('fieldemail');
	var empresa   	= document.getElementById('fieldempresa');
	var mensagem	= document.getElementById('fieldmensagem');
	
	
	if(trim(nome.value).length < 2)
	{
		//Alerta comum.
		alert('Por favor preencha seu nome corretamente.');
		return false;
	}
	
	if(!validateEmail(email.value))
	{
		alert('Por favor preencha seu e-mail corretamente.');
		return false;
	}
	
	if(trim(empresa.value).length < 2)
	{
		//Alerta comum.
		alert('Por favor preencha o nome de sua empresa corretamente.');
		return false;
	}
	
	if(trim(mensagem.value).length < 2)
	{
		//Alerta comum.
		alert('Por favor preencha sua mensagem corretamente.');
		return false;
	}
	
	return true;
}



//Utilização:
//onkeypress="return somenteLetra(event);"
function somenteLetra(e)
{
	if(document.all){ // Internet Explorer
		var tecla = event.keyCode;
	}
	else{ // Firefox
		var tecla = e.which;
	}
	if(tecla == 32){ // tecla de espaço
		return true;
	}
	if(tecla >= 65 && tecla <= 90){ // LETRAS MAIUSCULAS
		return true;
	}
	else{
		if(tecla >= 97 && tecla <= 122){ // LETRAS MINUSCULAS
			return true;
		}
		else{
			if (tecla != 8){ // backspace
				return false;
			}
			else{
				return true;
			}
		}
	}
}

//Utilizacao
// onKeyUp = "return formataData(this);"
function formataData(val)
{
   	var pass = val.value;
	var expr = /[0123456789]/;
		
	for(i=0; i<pass.length; i++){
		// charAt -> retorna o caractere posicionado no índice especificado
		var lchar = val.value.charAt(i);
		var nchar = val.value.charAt(i+1);
	
		if(i==0){
		   // search -> retorna um valor inteiro, indicando a posição do inicio da primeira
		   // ocorrência de expReg dentro de instStr. Se nenhuma ocorrencia for encontrada o método retornara -1
		   // instStr.search(expReg);
		   if ((lchar.search(expr) != 0) || (lchar>3)){
			  val.value = "";
		   }
		   
		}else if(i==1){
			   
			   if(lchar.search(expr) != 0){
				  // substring(indice1,indice2)
				  // indice1, indice2 -> será usado para delimitar a string
				  var tst1 = val.value.substring(0,(i));
				  val.value = tst1;				
 				  continue;			
			   }
			   
			   if ((nchar != '/') && (nchar != '')){
				 	var tst1 = val.value.substring(0, (i)+1);
				
					if(nchar.search(expr) != 0) 
						var tst2 = val.value.substring(i+2, pass.length);
					else
						var tst2 = val.value.substring(i+1, pass.length);
	
					val.value = tst1 + '/' + tst2;
			   }

		 }else if(i==4){
			
				if(lchar.search(expr) != 0){
					var tst1 = val.value.substring(0, (i));
					val.value = tst1;
					continue;			
				}
		
				if	((nchar != '/') && (nchar != '')){
					var tst1 = val.value.substring(0, (i)+1);

					if(nchar.search(expr) != 0) 
						var tst2 = val.value.substring(i+2, pass.length);
					else
						var tst2 = val.value.substring(i+1, pass.length);
	
					val.value = tst1 + '/' + tst2;
				}
   		  }
		
		  if(i>=6){
			  if(lchar.search(expr) != 0) {
					var tst1 = val.value.substring(0, (i));
					val.value = tst1;			
			  }
		  }
	 }
	
     if(pass.length>10)
		val.value = val.value.substring(0, 10);
	 	return true;
}

//Utilização:
//onkeypress="return somenteNumero(event);"
function somenteNumero(e){
	if(document.all){ // Internet Explorer
		var tecla = event.keyCode;
	}
	else{ // Firefox
		var tecla = e.which;
	}
	if(tecla == 32){ // tecla de espaço
		return true;
	}
	if(tecla >= 48 && tecla <= 57){ // Numeros de 0 a 9
		return true;
	}
	else{
		if (tecla != 8){ // backspace
			return false;
		}
		else{
			return true;
		}
	}
}


//Utilização
//onkeypress="return validaCaracteres(this.value);"
function validaCaracteres( mystring ){
	var caracteresInvalidos = "!#$%^&*()+|\/,;:<>~{}[]`";
	var valida=true;

	for( i=0; i<mystring.length; i++){
		if( caracteresInvalidos.indexOf( mystring.substring(i,i+1)) > 0){
			valida=false;	
			break;
		}
	}

	return valida;
}


//Utilizado para verificar espacos em branco
function trim(str)
{
	return str.replace(/^\s+|\s+$/g,"");
}


//Utilização: 
//onclick="alert(validateEmail(document.getElementById('email').value)); return false;"
function validateEmail(elementValue){
   var emailPattern = /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;
   return emailPattern.test(elementValue);
} 





