/****************************************************************************************
* 
* @desc Javascript onde estão as funções responsáveis em validar o formulário e formatar 
*		o campo dos mesmos.	
*
* @author       Cláudia	Santos  <claudia@compos.com.br>
*				Joel Tadeu 		<joel@compos.com.br>
*				      
* @copyright    Compos 26/01/2005
* @version		1.0
* @access		public 
*
****************************************************************************************/

/**
* @desc Função responsável em validar o formulário
* @param Form form	- Objeto formulário da pagina a ser validada
* @return boolean True para todos os campos válidos, false para algum campo não validado.
*/
function validarFormulario(form) {

	// percorre todos os objetos do formulario
 	for (i=0;i<form.elements.length;i++)
	{
		// verifica se o campo ID está preenchido
		// Caso exista entra em uma das regras de validação
		if (form.elements[i].id != "") 
		{
			id = form.elements[i].id;
			var idvalida=form.elements[i].id.split(':');
			ccampo=idvalida[0];
			cconfig=configValida[idvalida[1]];

			// Aplica a regra de validação
			if (cconfig) {
				//--Texto
				if (cconfig == 'TEXTO') {
					if (trim(form.elements[i].value) == '') {
						alert("Campo "+ccampo+" está em branco!");
						form.elements[i].focus();
						return false;
					} 
				}
				//-- SELECT
				if (cconfig == 'SELECT') {
					if (trim(form.elements[i].value) == '' || form.elements[i].value == 0) {
						alert("Campo "+ccampo+" está em branco!");
						form.elements[i].focus();
						return false;
					} 
				}
				//--Data Completa
				if (cconfig == 'DATA_FULL') {
					
					if (!validarData(form.elements[i].value)) {
						alert ("Campo " + ccampo + " é inválido!\nO formato correto é DD/MM/AAAA.");
						form.elements[i].focus();
						return false;
					}
				}
				//--Cpf-Cnpj
				if (cconfig == 'CPF_CNPJ') {
					if (form.elements[i]=="" || !ValidaCpfCnpj(form.elements[i])) {
						return false;
					}
				}
				//--E-mail 
				if (cconfig == 'EMAIL') {
					if (!validarEmail(form.elements[i])) {
						alert ("Campo " + ccampo + " é inválido!");
						form.elements[i].focus();
						return false;
					}
				}
				//--Imagem
				if (cconfig == 'IMAGEM_FULL') {
					if(trim(form.elements[i].value != '')) {
						if (!validarImagem(form.elements[i].value)) {
							alert ("Campo " + ccampo + " tem um formato inválido!");
							form.elements[i].focus();
							return false;
						}
					}
				}
				//--Arquivo PDF
				if (cconfig == 'ARQUIVO_PDF') {
					if(trim(form.elements[i].value != '')) {
						if (!validarPDF(form.elements[i].value)) {
							alert ("Campo " + ccampo + " não contém um arquivo no formato PDF!");
							form.elements[i].focus();
							return false;
						}
					}
				}				
				//--Horario HH:MM
				if (cconfig == 'HORARIO_FULL') {
					if(trim(form.elements[i].value != '')) {
						if (!validarHorario(form.elements[i])) {
							alert ("Campo " + ccampo + " tem um formato inválido!");
							form.elements[i].focus();
							return false;
						}
					}else {
						alert("Campo "+ccampo+" está em branco!");
						form.elements[i].focus();
						return false;
					}
				}
			}
		}
	}
	return true;
}

function validarFormato(objeto) {

	id = objeto.id;
	var idvalida=id.split(':');
	ccampo=idvalida[0];
	cconfig=idvalida[1];
	
	if (cconfig == 'LOGIN') {
		objeto.value.toUpperCase();
	}
	
	if (cconfig == 'SENHA_CADASTRO') {
		if (trim(objeto.value) == '') {
			alert("Campo " + ccampo + " está em branco!");
			objeto.focus();
		}
	}
	
}
