/***FORMS***/

/*Constantes para mensajes*/
var MSG_ERR_REQ = 'Los campos con asterisco son obligatorios.';
var MSG_ERR_EMAIL = 'El email es incorrecto.';

function enviarForm(idForm)
{
	$('#'+idForm).submit();
}

function validarForm(formId)
{
	// limpiar mensajes de error
	$('#' + formId + ' .cnt-form-error').html('');

	var flagReq = false;
	
	// requeridos
	$('#' + formId + ' .requerido').each(
		function(index)
		{
			var val = $.trim($(this).val());
			if(val == '')
			{
				$(this).addClass('input-error');
				$(this).removeClass('input-success');
				
				flagReq = true;
			}
			else
			{
				$(this).addClass('input-success');
				$(this).removeClass('input-error');
			}
		}
	);
	
	if(flagReq)
	{
		$('#' + formId + ' .cnt-form-error').html(MSG_ERR_REQ);
		return false;
	}
	
	// mail
	var flagMail = false;
	
	$('#' + formId + ' .email').each(
		function(index)
		{
			var val = $.trim($(this).val());
			if(!validarEmail(val))
			{
				$(this).addClass('input-error');
				$(this).removeClass('input-success');
				
				flagMail = true;
			}
			else
			{
				$(this).addClass('input-success');
				$(this).removeClass('input-error');
			}
		}
	);
	
	if(flagMail)
	{
		$('#' + formId + ' .cnt-form-error').html(MSG_ERR_EMAIL);
		return false;
	}
	
	// radios
	var flagRad = false;
	$('#' + formId + ' .radio').each(
		function(index)
		{
			var msgErrRad = $(this).attr('msgerror');
			var nameRad = $(this).attr('name');
			var valRad = $('input[@name='+nameRad+']:checked').val();
			//console.log('input[@name='+nameRad+']:checked' + valRad);

			if(typeof valRad === 'undefined')
			{
				$('#' + formId + ' .cnt-form-error').html(msgErrRad);
				flagRad = true;
			}
			
		}
	);
	
	if(flagRad)
		return false;

	// checkboxes
	var flagChk = false;
	$('#' + formId + ' .chkbox').each(
		function(index)
		{
			var msgErrChk = $(this).attr('msgerror');
			
			if(!$(this).is(':checked'))
			{
				$('#' + formId + ' .cnt-form-error').html(msgErrChk);
				flagChk = true;
				return false;
			}
			
		}
	);
	
	if(flagChk)
		return false;
		
	// retornar exito si no hubo errores
	return true;
}

// valida el email
function validarEmail(email)
{
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
	return emailPattern.test(email);
}


