var general_msg= "Debes completar todos los campos obligatorios para poder enviar los datos.";
var firstname_msg= "Solo letras y espacios son válidos para el nombre.";
var email_msg= "Por favor, ingresa un e-mail válido.";
var city_msg= "Solo letras y espacios son válidos para el nombre de la ciudad";
var country_msg= "Solo letras y espacios son válidos para el nombre del país";
var numericExp = /^[0-9]+$/;
var alphaExp = /^[a-zA-ZÑÁÉÍÓÚñáéíóú ]+$/;
var alphaNumExp = /^[0-9a-zA-ZÑÁÉÍÓÚñáéíóú]+$/;
var addressExp = /^[0-9a-zA-ZÑÁÉÍÓÚñáéíóú ]+$/;
var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;

function submit_form(){
	var_form = document.getElementById("contact_form");
	if (validate_form(var_form)){
		var_form.submit();
	}
}

function validate_form(){
	var firstname = document.getElementById('nombre');
	var email = document.getElementById('email');
	var city = document.getElementById('ciudad');
	if(!isEmpty(firstname, general_msg) && isValid(firstname, alphaExp, firstname_msg)){
		if(!isEmpty(email, general_msg) && isValid(email, emailExp, email_msg)){
			if(!isEmpty(city, general_msg) && isValid(city, alphaExp, city_msg)){
				return true;
			}
		}
	}
	return false;
}


function isEmpty(elem, helperMsg){
	if(elem.value.length == 0){
		alert(helperMsg);
		elem.focus(); 
		return true;
	}
	return false;
}

function isValid(elem, expre, helperMsg){
	if(elem.value.match(expre)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function lengthRestriction(elem, min, max, helperMsg){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}
