// Funciones en JavaScript comunes a la parte no pública de la web
function resetpassword(formulario)
{
	if ((document.flogin.usuario.value == "") || (document.flogin.usuario.value== null))
	{
		alert("Debe introducir su e-mail como nombre de usuario.");
		document.flogin.usuario.focus();
		return false;
	}else {
		valido = comprobar_email("usuario");
		if(!valido)
		{
			alert("e-mail como nombre de usuario incorrecto.");
			document.flogin.usuario.focus();
			return false;
		}else {
			cambiarPassword(formulario);
			alert("La nueva clave ha sido enviada a su e-mail");
		}
	}
}
function compruebalog()
{
	if ((document.flogin.usuario.value == "") || (document.flogin.usuario.value== null))
	{
		alert("Debe introducir su e-mail como nombre de usuario.");
		document.flogin.usuario.focus();
		return false;
	}
	else
	{
		if ((document.flogin.clave.value == "") || (document.flogin.clave== null))
		{
			alert("Por favor, introduzca su clave de acceso.");
			document.flogin.clave.focus();
			return false;
		}
		else return true;
	}
}
function reloadImg(serverPage, idObj)
{
	var ajax = nuevoAjax();
	var obj = document.getElementById(idObj);
	ajax.open("GET", serverPage);
	ajax.onreadystatechange = function() 
	{
		if(ajax.readyState == 4 && ajax.status == 200)
		{
			obj.innerHTML = ajax.responseText;
		//	obj.innerHTML = "Ahora es cuando se deberia ver la imagen";
		}
	}
	ajax.send(null)
}
function cambiarPassword(formulario)
{
	var ajax = nuevoAjax();
	var form = document.getElementById(formulario);
	submitform(form, "includes/reset.php?op=reset", "res");
}
function comprobar_email(idemail)
// Esta función valida el e-mail si es del tipo correcto
{
    email = document.getElementById(idemail).value;
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email))
	{
	   return true;
    }else{ return false; }

}
function isNumberKey(evt) //Esta función comprueba que solo se introduzcan números
{
  var charCode = (evt.which) ? evt.which : event.keyCode
  if (charCode > 31 && (charCode < 46 || charCode > 57 || charCode == 47))
  return false;
  return true;
}
//--------------------------	Funciones comunes para cualquier aplicación con AJAX	--------------------------------\\
function obtenerDatosFormulario(fobj)
// Esta función es para obtener todos los campos del formulario
//	Recibe:
//		fobj: Formulario
{
	var str = "";
	// Recorremos la lista de todos los oobjetos que contiene el formulario
//	alert("El numero de elementos es: "+ fobj.elements.length);
	for(var i = 0; i<fobj.elements.length;i++)
	{
		if(fobj.elements[i].type=="radio")//Comprobamos si el elemento del formulario es un radio
		{
			if(fobj.elements[i].checked)//Si es un radio, comprobamos que esté marcado
			{
				//Si el radio es el que está marcado, lo introducimos en la cadena del post
				str += fobj.elements[i].name + "=" + unescape(fobj.elements[i].value) + "&";
			}
		}else { //Si no es un radio, seguimos introduciendo datos en la cadena
			str += fobj.elements[i].name + "=" + unescape(fobj.elements[i].value) + "&";
		}
	}
	// Devolvemos los valores de la cadena
//	alert(str);
	return str;
}
function submitform(theform, serverPage, objID)
/*
 Esta función recibe:
	theform: El formulario inicial
	serverPage: Action del formulario inicial
	objID: Id del div en el que vamos a ejecutar el código Ajax
*/
{
	var file = serverPage;
	var str = obtenerDatosFormulario(theform);
	var obj = document.getElementById(objID);
	processajax(file, obj, "post", str);
}
function processajax(serverPage, obj, getOrPost, str)
{
	// Primero creamos el objeto de ajax
	var ajax = nuevoAjax();
	if (getOrPost == "get")
	{
		ajax.open("GET", serverPage);
		ajax.setRequestHeader("Content-Type","application/x-javascript; charset:ISO-8859-1");
		ajax.onreadystatechange = function()
		{
			if(ajax.readyState == 4 && ajax.status == 200)
			{
				obj.innerHTML = ajax.responseText;
			}
		}
		ajax.send(null);
	}
	else
	{
		ajax.open("POST", serverPage, true);
//		ajax.setRequestHeader("Content-Type","application/x-javascript; charset:ISO-8859-1");
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=ISO-8859-1");
	//	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		ajax.onreadystatechange = function()
		{
			if(ajax.readyState == 4 && ajax.status==200)
			{
				obj.innerHTML = ajax.responseText;
			}
		}
		ajax.send(str);
	}
}
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;
	// Comprobamos si estamos usando IE
	try
	{
		// Si la versión de JavaScript es superior a la 5
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		// Si no, utilizamos el antiguo objeto ActiveX
		try
		{
			// Si estamos utilizando IE
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(E)
		{
			// En caso contrario debemos estar utilizando un navegador que no es IE
			if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }
		}
	}
	return xmlhttp; 
}
