function validar_datos_registro()
	{
	var obj;
	
	//Valido el primer nombre
	obj = $("#first_name");
	if(obj.val() == "" || /^\s+$/.test(obj.val()))
		{
		alert("Por favor complete el primer nombre.");
		obj[0].focus();
		return false;
		}
	//Valido el apellido	
	obj = $("#last_name");
	if(obj.val() == "" || /^\s+$/.test(obj.val()))
		{
		alert("Por favor complete el apellido paterno.");
		obj[0].focus();
		return false;
		}
		
	//Valido ue la fecha de nacimiento sea valida
	if(!valida_contruccion_fecha($("#anio").val(),$("#mes").val(),$("#dia").val()))
		{
		alert("Por favor verifique la construccion de la fecha de nacimiento.");
		$("#dia").focus();
		return false;
		}
	//Valido que la fecha de nacimiento sea anterior a hoy
	var hoy = new Date();
	var str_hoy = hoy.getDate().toString()+"/"+(hoy.getMonth()+1).toString()+"/"+hoy.getFullYear().toString()
	var fecha_nac = crea_objFecha($("#dia").val()+"/"+$("#mes").val()+"/"+$("#anio").val());
	if(compara_fechas(fecha_nac,crea_objFecha(str_hoy))>0)
		{
		alert("La fecha de nacimiento debe ser anterior a hoy.");
		$("#dia").focus();
		return false;
		}
		
	//Valido el email
	obj = $("#email");
	if(obj.val() == "" || !(/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(obj.val())))
		{
		alert("Por favor complete el email.");
		obj[0].focus();
		return false;
		}
	//Valido la confirmacion del email
	obj = $("#confirm_email");
	if(obj.val() != $("#email").val())
		{
		alert("El email de confiramción no coincide, por favor verificarlo.");
		obj[0].focus();
		return false;
		}
	
	//Valido la password
	obj = $("input[name='clave']");
	if(obj.val() == "" || /^\s+$/.test(obj.val()))
		{
		alert("Por favor complete la contraseña.");
		obj[0].focus();
		return false;
		}
	//Valido la confirmacion de la password
	obj = $("input[name='clave2']");	
	if(obj.val() != $("input[name='clave']").val())
		{
		alert("Las contraseñas no coinciden.");
		obj[0].focus();
		return false;
		}
	
	obj = $("#terminos");
	if(!obj.attr("checked"))
		{
		alert("No se puede continuar si no lee y acepta los términos y condiciones.");
		obj[0].focus();
		return false;
		}
	/* Se elimino el check del formulario	
	obj = $("#informacion");
	if(!obj.attr("checked"))
		{
		alert("Es condición para asociarse al programa que acepte recibir informacién por mail.");
		obj[0].focus();
		return false;
		}*/
		
	/* Dejaron de ser obligatorias
	obj = $("#promociones");
	if(!obj.attr("checked"))
		{
		alert("Es condición para asociarse al programa que acepte recibir promociones de MexicanaGO.");
		obj[0].focus();
		return false;
		}*/
		
	return true;
	}

/*
 * LA siguiente funcion crea un objeto Date
 * El argumento debe ser String, en formato YYYY/MM/DD
 */
function crea_objFecha(str_fecha)
	{
	var arrayFecha = str_fecha.split("/");
	var objFecha=new Date();
	objFecha.setFullYear(parseInt(arrayFecha[2]));
	if(arrayFecha[1].charAt(0) == "0")
		arrayFecha[1] = arrayFecha[1].replace("0","");
	objFecha.setMonth(parseInt(arrayFecha[1])-1);
	if(arrayFecha[0].charAt(0) == "0")
		arrayFecha[0] = arrayFecha[0].replace("0","");
	objFecha.setDate(parseInt(arrayFecha[0]));
	return objFecha;
	}

/*
 * LA siguiente funcion compara dos fechas y devuelve <0 si la primera es menor 0 si son iguales o >0 si la primera es mayor
 * Los argumentos deben ser objetos Date
 */
function compara_fechas(objFecha1,objFecha2)
	{
	var diff = objFecha1.getTime() - objFecha2.getTime();
	return diff;
	}


//Verifica que la fecha esté bien construida
function valida_contruccion_fecha(anio,mes,dia)
	{
	var d=new Date();
	var year=d.getFullYear();
	if((parseInt(anio)>parseInt(year))||((parseInt(anio)<(parseInt(year)-100))))
		{
		return false;
		}
	switch(parseFloat(mes))
		{
		case 1: case 3: case 5: case 7: case 8: case 10: case 12:
			{
			if((parseFloat(dia)>31)||(parseFloat(dia)<0))
				return false;
			}break;
		case 4: case 6: case 9: case 11:
			{
			if((parseFloat(dia)>30)||(parseFloat(dia)<0))
				return false;
			}break;
		case 2:
			{
			if(parseFloat(anio)%4==0)
				{
				if((parseFloat(dia)>29)||(parseFloat(dia)<0))
					return false;
				}
			else
				{
				if((parseFloat(dia)>28)||(parseFloat(dia)<0))
					return false;
				}
			}break;
		default:
			{
			return false;
			}
		}
	return true;
	}

function init()
	{
	$("#btnContinuar").click(function(){
		return validar_datos_registro();
		});
	}
	
$(document).ready(function(){
	init();
	});
