var archivoAjax = "./registracion_ajax.php";

function fn_BloquearBotones ()
{
	document.getElementById ("tablaExterior").style.cursor = "wait";
	
	document.frm_Datos.btn_Confirmar.style.cursor = "wait";
	document.frm_Datos.btn_Confirmar.disabled = true;

	document.frm_Datos.btn_Volver.style.cursor = "wait";
	document.frm_Datos.btn_Volver.disabled = true;
}

function fn_HabilitarBotones ()
{
	document.frm_Datos.btn_Confirmar.style.cursor = "pointer";
	document.frm_Datos.btn_Confirmar.disabled = false;

	document.frm_Datos.btn_Volver.style.cursor = "pointer";
	document.frm_Datos.btn_Volver.disabled = false;

	document.getElementById ("tablaExterior").style.cursor = "default";		
}

function fn_ListaParametrosAjax ()
{
	var formulario = document.frm_Datos;
	var lista = "";	

	lista = lista + "txt_HacerConfirmar=" + formulario.txt_HacerConfirmar.value;
	
	lista = lista + "&txt_Nombre=" + fn_Escape (trim (formulario.txt_Nombre.value));
	lista = lista + "&txt_Email=" + fn_Escape (trim (formulario.txt_Email.value));
	lista = lista + "&txt_Direccion=" + fn_Escape (trim (formulario.txt_Direccion.value));
	lista = lista + "&txt_Tel1=" + fn_Escape (trim (formulario.txt_Tel1.value));
	lista = lista + "&txt_Tel2=" + fn_Escape (trim (formulario.txt_Tel2.value));
	lista = lista + "&txt_Password1=" + trim (formulario.txt_Password1.value);
	lista = lista + "&txt_Password2=" + trim (formulario.txt_Password2.value);
	
	return lista;
}

function fn_Keypress (evento)
{
	if (!evento)
		var evento = window.event;

	if (evento.keyCode == 13)
		fn_Confirmar ();
}

function fn_ValidarIngreso ()
{
	var formulario = document.frm_Datos;

	if (trim (formulario.txt_Nombre.value) == "")
	{
		alert ("El nombre y apellido es un dato obligatorio.");
		formulario.txt_Nombre.focus ();
		return false;
	}
	
	if (trim (formulario.txt_Email.value) == "")
	{
		alert ("La direcci" + String.fromCharCode (243) + "n de e-mail es un dato obligatorio.");
		formulario.txt_Email.focus ();
		return false;
	}		
	
	if (fn_ValidarEmailValido (formulario.txt_Email.value, false) == false)
	{
		alert ("La direcci" + String.fromCharCode (243) + "n de e-mail ingresada es inv" + String.fromCharCode (225) + "lida.");
		formulario.txt_Email.focus ();
		return false;
	}		
	
	if (fn_ValidarComillasSimples (trim (formulario.txt_Email.value)) == false)
	{
		alert ("La direcci" + String.fromCharCode (243) + "n de e-mail no puede contener comillas simples.");
		formulario.txt_Email.focus ();
		return false;
	}

	// Validaciones de la contraseña.
	if (trim (formulario.txt_Password1.value) == "")
	{
		alert ("Debe ingresar una contraseña.");
		formulario.txt_Password1.focus ();
		return false;
	} 

	if (trim (formulario.txt_Password2.value) == "")
	{
		alert ("En el casillero de 'Confirmaci" + String.fromCharCode (243) + "n de contraseña' Debe repetir la contraseña ingresada.");
		formulario.txt_Password2.focus ();
		return false;
	}
	
	if (trim (formulario.txt_Password1.value) != trim (formulario.txt_Password2.value))
	{
		alert ("La contraseña ingresada no coincide en los dos casilleros. Por favor vuelva a ingresarla.");
		formulario.txt_Password1.value = "";
		formulario.txt_Password2.value = "";
		formulario.txt_Password1.focus ();
		return false;
	}

	var pwdNueva = trim (formulario.txt_Password1.value);
	
	if (pwdNueva.length < 6)
	{
		alert ("La contraseña no puede tener menos de seis caracteres. Por favor vuelva a ingresarla.");
		formulario.txt_Password1.value = "";
		formulario.txt_Password2.value = "";
		formulario.txt_Password1.focus ();
		return false;
	}
	
	if (fn_ValidarSoloLetrasNumeros (pwdNueva) == false)
	{
		alert ("La contraseña s" + String.fromCharCode (243) + "lo puede contener letras y n" + String.fromCharCode (250) + "meros. Por favor vuelva a ingresarla.");
		formulario.txt_Password1.value = "";
		formulario.txt_Password2.value = "";
		formulario.txt_Password1.focus ();
		return false;
	}
		
	return true;
}

function fn_Confirmar ()
{
	if (fn_ValidarIngreso ())
	{
		if (confirm (String.fromCharCode (191) + "Confirma los datos ingresados?"))
		{
			fn_BloquearBotones ();
	
			document.frm_Datos.txt_HacerConfirmar.value = "-1";
			
			var parametrosAjax = fn_ListaParametrosAjax ();
			fn_InvocarAjax_Post (archivoAjax, parametrosAjax);
		}
	}
}

function fn_ResultadoRegistracion (registracionOk, email)
{
	if (registracionOk)
	{
		fn_BloquearBotones ();
		window.location.href = "./registracionok.php?email=" + email;
	}
	else
	{
		alert ("La dirección de e-mail corresponde a la de un usuario registrado en el sitio.");
		document.frm_Datos.txt_Email.focus ();
	}
}

function fn_Volver ()
{
	fn_BloquearBotones ();
	window.location.href = "./index.php";
}