window.onload = iniciar;
window.onkeypress = teclaPresionada;
var parametros;
var noEsPosible;

function iniciar() {
	darleElFocoAlPrimerCampoVacio();
}

function darleElFocoAlPrimerCampoVacio() {
	var usuario = document.getElementById('usuario');
	var captcha = document.getElementById('captcha');
	if (usuario != null && usuario.value.toString().length == 0) {
		usuario.focus();
		return;
   }
	if (captcha != null && captcha.value.toString().length == 0) {
		captcha.focus();
		return;
   }
}

function teclaPresionada(evento) {
	var e;
	if (evento) {
		e = evento;
	} else {
		e = window.event;
	}
	if (e.keyCode == 13) {
		recuperarContrasena();
   }
}

function nuevoCaptcha() {
	var imagen = document.getElementById('imagenCaptcha');
	imagen.src = "imagenes/captcha.jpg?" + (new Date()).getTime();
	var captcha = document.getElementById('captcha');
	captcha.value = "";
	darleElFocoAlPrimerCampoVacio();
}

function enviarSolicitudDeRecuperacion(mensaje, _noEsPosible) {
	document.getElementById("mensaje").innerHTML = mensaje;
	noEsPosible = _noEsPosible;

	var usuario = document.getElementById('usuario').value;
	var captcha = document.getElementById('captcha').value;
	parametros = "u=" + encodeURI(usuario) + "&c=" + encodeURI(captcha);
	if (window.XMLHttpRequest) {
		request = new XMLHttpRequest();
	} else {
		if (window.ActiveXObject) {
			request = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	request.open("POST", "solicitarRecuperacionDeContrasena.jsp", true);
	request.onreadystatechange = manejarResultado;
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
	request.send(parametros);
}

var manejarResultado = function() {
	var mensaje = document.getElementById("mensaje");
	if (request.readyState == 4) {
		switch (request.status) {
		case 200:
			var codigo = request.responseText.toString().substring(0, 2);
			var texto = request.responseText.toString().substring(2);
			switch (codigo) {
				case "00":
					document.location = 'recuperarContrasena.jsp?a=' + texto;
					break;
				default:
					mensaje.innerHTML = '<spam class="error">' + texto + '</spam>';
					break;
			}
			break;
		default:
			mensaje.innerHTML = '<spam class="error">' + noEsPosible + ' (' + request.status + ')</spam>';
		}
		darleElFocoAlPrimerCampoVacio();
	}
};
