function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false; 
	try 
	{ 
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{ 
			// Creacion del objet AJAX para IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); } 

	return xmlhttp; 
}

function eliminaEspacios(cadena)
{
	// Funcion equivalente a trim en PHP
	var x=0, y=cadena.length-1;
	while(cadena.charAt(x)==" ") x++;	
	while(cadena.charAt(y)==" ") y--;	
	return cadena.substr(x, y-x+1);
}

function validaIngreso(valor)
{
	/* Funcion encargada de validar lo ingresado por el usuario. Se devuelve TRUE en caso de ser 
	valido, FALSE en caso contrario */
	var reg=/(^[a-zA-Z0-9.]{3,15}$)/;
	if(reg.test(valor)) return true;
	else return false;
}

function nuevoEvento(evento)
{
	// Obtengo el div donde se mostraran las advertencias y errores
	var divMensaje = document.getElementById("mNick");

	if (evento == "comprobarNick"){
		// cojo valores de la página
		var input = document.getElementById("Nick");
		var boton = document.getElementById("btnComprobarNick");
		var valor = input.value;
		var textoAccion = "Comprobando...";
	}else{
		// este caso no debería ocurrir...
		return;
	}
	valor = eliminaEspacios(valor);

	//validar nick válido
	if (valor.length > 3){
		if(!validaIngreso(valor)) {
			divMensaje.className = "mensajeError";
			divMensaje.innerHTML = "El nick introducido tiene caracteres no válidos";
		}
		else
		{
			// Deshabilito inputs y botones para evitar dobles ingresos
			boton.disabled = true;
			input.disabled = true;
			divMensaje.style.color = "#999";
			divMensaje.innerHTML = "Comprobando...";
			//input.value = textoAccion;
			
			// Creo la conexion con el servidor y le envio la variable evento (que le indica si debe ingresar o verificar) y el dato a utilizar
			var ajax = nuevoAjax();
			ajax.open("POST", "/util/comprueba-nick.asp", true);
			ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			ajax.send(evento + "=" + valor);
			
			ajax.onreadystatechange=function()
			{
				if (ajax.readyState==4)
				{
					// Habilito nuevamente botones e inputs
					//input.value = "";
					boton.disabled = false;
					input.disabled=false;
					// Muestro el mensaje enviado desde el servidor
					var Respuesta = ajax.responseText;
					Respuesta = Respuesta.substring(Respuesta.length-1);
					if (Respuesta == "1") {
						input.style.color = "green";
						divMensaje.innerHTML = "<img src='/images/icons/tick.png' width='16' height='16' align='top' /> Nick disponible";
						divMensaje.style.display = "block";
						document.getElementById("HayNickValido").value = "si";
					}else{
						//alert(Respuesta);
						input.style.backgroundColor = "#ffcc00";
						input.style.color = "red";
						divMensaje.innerHTML = "<img src='/images/icons/cross.png' width='16' height='16' align='top' /> Nick no disponible";
						divMensaje.style.display = "block";
						document.getElementById("HayNickValido").value = "no";
					}
				}
			}
		}
	}else{
		divMensaje.className = "mensajeError";
		divMensaje.innerHTML = "Introduzca nick de usuario (mínimo 4 caracteres)";
	}
}

function resetNickUsuario(){
	var input = document.getElementById("Nick");
	document.getElementById("HayNickValido").value = "no";
	input.style.color = "black";
}