
function validaFacaParte() {

	fieldsNok = "";
	alertMessage = "";

	var sFormName;
	var aRequiredFields, aRequiredMessages;
	var aCharCheckFields, aCharsToBeChecked, aCharCheckMessages;
	var aEmailFields, aEmailMessages;
	var aDateFields, aDateMessages;

	// Informe o nome do formulário
	sFormName = "frm_empresa"; 

	// Informe o nome dos campos que são obrigatórios
	aRequiredFields = new Array(
	"emp_des_nome",
	"emp_des_endereco",
	"emp_des_bairro",
	"emp_des_cep",
	"emp_des_cidade",
	"emp_des_fone",
	"emp_des_email",
	"emp_des_cnpj",
	"emp_des_perfil",
	"emp_des_contato1_nome",
	"emp_des_contato1_cargo",					
	"emp_des_contato1_email",
	"emp_des_contato2_nome",
	"emp_des_contato2_cargo",					
	"emp_des_contato2_email")	
	
	//Informe as mensagens para cada um dos campos obrigatórios (respeitando a ordem do array anterior)
	aRequiredMessages = new Array(
	"O campo Nome é obrigatório. Por favor, digite-o.",
	"O campo Endereço é obrigatório. Por favor, digite-o.",
	"O campo Bairro é obrigatório. Por favor, digite-o.",
	"O campo CEP é obrigatório. Por favor, digite-o.",
	"O campo Cidade é obrigatório. Por favor, digite-o.",
	"O campo Telefone é obrigatório. Por favor, digite-o.",
	"O campo E-mail é obrigatório. Por favor, digite-o.",
	"O campo CNPJ é obrigatório. Por favor, digite-o.",
	"O campo Perfil é obrigatório. Por favor, digite-o.",
	"O campo Contato de Marketing é obrigatório. Por favor, digite-o.",
	"O campo Cargo do contato é obrigatório. Por favor, digite-o.",
	"O campo E-mail do contato é obrigatório. Por favor, digite-o.",
	"O campo Contato Comercial é obrigatório. Por favor, digite-o.",
	"O campo Cargo do contato é obrigatório. Por favor, digite-o.",
	"O campo E-mail do contato é obrigatório. Por favor, digite-o.")

	//Informe o nome dos campos que precisam ser verificados qto a caracteres invalidos
	aCharCheckFields = new Array(
	"emp_des_nome",
	"emp_des_endereco",
	"emp_des_bairro",
	"emp_des_cep",
	"emp_des_cidade",
	"emp_des_fone",
	"emp_des_email",
	"emp_des_cnpj",
	"emp_des_contato1_nome",
	"emp_des_contato1_celular",
	"emp_des_contato1_cargo",					
	"emp_des_contato1_email",
	"emp_des_contato2_nome",
	"emp_des_contato2_celular",
	"emp_des_contato2_cargo",					
	"emp_des_contato2_email")	
	
	//Informe os caracteres que são inválidos para cada campo
	aCharsToBeChecked = new Array(
	"'",
	"'",
	"'",
	"'",
	"'",
	"'",
	"'",
	"'",
	"'",
	"'",								
	"'",	
	"'",
	"'",
	"'",								
	"'",
	"'")
	
	//Informe as mensagens para cada campo com caracteres inválidos
	aCharCheckMessages = new Array(
	"O campo Nome contém caracteres inválidos.",
	"O campo Endereço contém caracteres inválidos.",
	"O campo Bairro contém caracteres inválidos.",
	"O campo CEP contém caracteres inválidos.",
	"O campo Cidade contém caracteres inválidos.",
	"O campo Telefone contém caracteres inválidos.",
	"O campo E-mail contém caracteres inválidos.",
	"O campo CNPJ contém caracteres inválidos.",
	"O campo Contato de Marketing contém caracteres inválidos.",
	"O campo Celular do contato contém caracteres inválidos.",
	"O campo Cargo do contato contém caracteres inválidos.",
	"O campo E-mail do contato contém caracteres inválidos.",
	"O campo Contato Comercial contém caracteres inválidos.",
	"O campo Celular do contato contém caracteres inválidos.",
	"O campo Cargo do contato contém caracteres inválidos.",
	"O campo E-mail do contato contém caracteres inválidos.")	

	// Informe o nome dos campos que são e-mails
	aEmailFields = new Array(
	"emp_des_email",	
	"emp_des_contato1_email",
	"emp_des_contato2_email")
	 
	 //Informe as mensagens para cada um dos campos e-mail
	aEmailMessages = new Array(
	"O campo E-mail não contém um e-mail válido. Por favor, corrija.",
	"O campo E-mail do contato de Marketing não contém um e-mail válido. Por favor, corrija.",
	"O campo E-mail do contato Comercial não contém um e-mail válido. Por favor, corrija.")

	// Informe o nome dos campos que são Select Simples
	aSsingleFields = new Array(
	"tpe_cod_id",
	"est_des_sigla")
	
	//Informe as mensagens para cada um dos campos Select Simples
	aSsingleMessages = new Array(
	"É preciso escolher a seção do Evento Fácil na qual sua empresa se enquadra.",
	"O campo Estado é obrigatório.")
	
	aSsingleSelectValues = new Array(
	"0",
	"0")

	// Em relação às funções abaixo, deixar "chamando" as que forem necessárias e comentar as que não forem
  checkForRequiredFields( aRequiredFields, aRequiredMessages, sFormName )
	checkForInvalidChars( aCharCheckFields, aCharsToBeChecked, aCharCheckMessages, sFormName )
	checkForEmailFields( aEmailFields, aEmailMessages, sFormName )
	checkforSelectSingle( aSsingleFields, aSsingleMessages, aSsingleSelectValues, sFormName )

 	// verifica se existem campos em não conformidade
	if ( fieldsNok != null && fieldsNok != '') {

		// Exibe o ALERT com todos os "problemas" consolidados
		alertMessage = "Os seguintes problemas foram encontrados no formulário:\n\n" + alertMessage;
		alert (alertMessage);

		// Seta todos os campos para ficar com o style normal
		for( var y=0; y< eval("document." + sFormName + ".elements.length") -1; y++) {	
			changeStyle('formField', sFormName, eval("document." + sFormName + ".elements[y].name") )
		}

		// Seta os campos com problemas para ficar com o style marcado.
		eachField = fieldsNok.split("**")
		for( var y=0; y< eachField.length -1; y++) {
			changeStyle('formFieldWarning', sFormName, eachField[y] )
		}

		return false;
	} else {
		return true;
	}
}

