/**
*@projectDescription Classe Para a Validaçao de Formulários
*@author Enio Borges Ribeiro
*@copyright Enio Ribeiro - 2008
*@version 1.0 beta
*/
function ValidaCampos(form)
{
	var form = form;
	this.comprimentoMensagem = 1000;
	this.comprimentoMaxMensagem = 300;
	this.resultStrings	= false;
	this.resultMail		= false;
	this.resultTelefone = false;
	this.resultMensagem = false;
	this.resultArea		= false;

	
	this.confereArea = function()
	{
		var string = form.area.value;
		
		if (string != null )
		{			
				this.resultArea = true;
		}
		else
		{
			alert("Selecione o campo 'AREA'." );
			this.resultArea = false;
		}

	}
	
	
	this.confereStrings = function()
	{
		var str = /[0-9]/g;
		var string = form.nome.value;
		var teste =  str.test(string);

		if (string != null && string != "" )
		{
			if(teste == true)
			{
				alert("Este campo deve conter apenas letras!")
				this.resultStrings = false
			}
			else
			{
				this.resultStrings = true;
			}
		}
		else
		{
			alert("Preencha o campo 'NOME'." );
			this.resultStrings = false;
		}

	}

	this.confereEmail = function()
	{
		var email1 = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
		var email2 = /^[\w-]+(\.[\w-]+)*@(([\w-]{2,63}\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
		var email3 = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
		var email = email3;
		var mail = form.email.value;
		var teste =  email.test(mail);

		if (mail != null && mail != "")
		{
			if(teste == false)
			{
				alert("O email parece estar errado!")
				this.resultMail = false;
			}
			else
			{
				this.resultMail = true;
			}
		}
		else
		{
			alert("Preencha o campo EMAIL.");
			this.resultMail = false;
		}
	}

	this.confereTelefone = function()
	{
		var telefone = /^[0-9]{2}[0-9]{4}-[0-9]{4}$/i;
		var tel   = form.ddd.value + form.telefone.value;
		var teste =  telefone.test(tel);

		if (tel != null && tel != "")
		{
			if(teste == false)
			{
				alert("O Telefone parece estar errado!\n Siga este modelo 39 3691-0203")
				this.resultTelefone = false;
			}
			else
			{
				this.resultTelefone = true;
			}
		}
		else
		{
			alert("Preencha o campo TELEFONE.");
			this.resultTelefone = false;
		}
	}

	this.confereMensagem = function()
	{
		var mensagem   = form.mensagem.value;
		if (mensagem != null && mensagem != "")
		{
			if(mensagem.length < this.comprimentoMensagem)
			{
				alert("Sua mensagem parece estar muito pequena!")
				this.resultMensagem = false;
			}
			else if(mensagem.length > this.comprimentoMaxMensagem)
			{
				alert("Sua mensagem parece estar muito grande!\nEla deve ter no maximo " + this.comprimentoMaxMensagem + " caracteres.")
				this.resultMensagem = false;
			}
			else
			{
				this.resultMensagem = true;
			}
		}
		else
		{
			alert("Preencha o campo MENSAGEM")
			this.resultMensagem = false;
		}
	}


}
