// JavaScript Document
function nuevoAjax(){
	var xmlhttp=false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");  		// Creación del objeto ajax para navegadores diferentes a Explorer
	} catch (e) {
		try {								// o bien
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");		// Creación del objet ajax para Explorer
		} catch (E) {
		//	xmlhttp = false;
		if (!xmlhttp && typeof XMLHttpRequest!="undefined") xmlhttp=new XMLHttpRequest(); 
		}
	}

	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_]{4,40}$)/;
	if(reg.test(valor)) return true;
	else return false;
}

function checkUsername()
{
	// Obtengo el div donde se mostraran las advertencias y errores
	var divMensaje=document.getElementById("error");

	
	var input=document.getElementById("username1");
	// Boton presionado
	var boton=document.getElementById("checkUser");
		// Valor ingresado por el usuario
	var valor=input.value;
		// Texto a colocar en el input mientras se esta cargando la respuesta del servidor
	var textoAccion="Comprobando...";
	
	// Elimino espacios por delante y detras de lo ingresado por el usuario
	//valor=eliminaEspacios(valor);
	// Si el ingreso es invalido coloco un mensaje de error en la capa correspondiente
	if(!validaIngreso(valor)) 
	{
		divMensaje.innerHTML="El texto ingresado contiene caracteres o longitud inv&aacute;lida";
	}
	else
	{
		// Deshabilito inputs y botones para evitar dobles ingresos
		boton.disabled=true; input.disabled=true;
		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 ajaxUser=nuevoAjax();
		ajaxUser.open("POST", "includes/comprobar_usuarios.php", true);
		ajaxUser.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajaxUser.send("user="+valor);
		
		ajaxUser.onreadystatechange=function()
		{
			if (ajaxUser.readyState==4)
			{
				// Habilito nuevamente botones e inputs
				input.value=valor;
				boton.disabled=false; input.disabled=false;
				// Muestro el mensaje enviado desde el servidor
//				document.getElementById('error').className = '#003399';
//				document.getElementById('error').className = "okmsj";
				//divMensaje.innerHTML= "<li>" + ajaxUser.responseText + "</li>";
				divMensaje.innerHTML= ajaxUser.responseText;
			}
		}
	}
}

function imprimir_calendario(tipo, ano, mes, user)
{
	//var mespush=document.getElementById(ano+"_"+mes);
	// Boton presionado
	var div=document.getElementById("calendario");
	var title=document.getElementById("calendartitle");

		// Valor ingresado por el usuario
	
	// Elimino espacios por delante y detras de lo ingresado por el usuario
	// Si el ingreso es invalido coloco un mensaje de error en la capa correspondiente
		// Deshabilito inputs y botones para evitar dobles ingresos
	//mespush.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 ajaxUser=nuevoAjax();
		ajaxUser.open("POST", "../includes/imprimir_calendario.php", true);
		ajaxUser.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajaxUser.send("tipo="+tipo+"&ano="+ano+"&mes="+mes+"&user="+user);
		
		ajaxUser.onreadystatechange=function()
		{
			if (ajaxUser.readyState==4)
			{
				// Habilito nuevamente botones e inputs
				// Muestro el mensaje enviado desde el servidor
//				document.getElementById('error').className = '#003399';
//				document.getElementById('error').className = "okmsj";
				//divMensaje.innerHTML= "<li>" + ajaxUser.responseText + "</li>";
				div.innerHTML= ajaxUser.responseText;
				title.innerHTML= "Archivo de "+user+" - "+encuentraNombredelMes(mes)+" de "+ano; 
			}
		}
	
}

function encuentraNombredelMes (mes) {
    var mes = mes-1; // Ajusta el número del mes por el índice de lista
                     // (1=Enero, 12=Diciembre)
    var meses = ["Enero","Febrero","Marzo","Abril","Mayo","Junio",
                "Julio", "Agosto","Septiembre","Octubre",
                "Noviembre","Diciembre"];
    if (meses[mes] != null) {
        return meses[mes]
		}
}
