function isEmpty (cadena){
   return (/^\s*$/.test(cadena))
 }
 
function validarEmail(direccion) {
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(direccion)){
    return (true);
  } else {
    return (false);
  }
}

function validarChangeEmail(frm){
	if (isEmpty(frm.mail.value)){
		alert("Debe introducir una dirección de correo");
		frm.mail.focus();
		return;
	 }
	 if (isEmpty(frm.mail2.value)){
		alert("Repita la dirección de correo por favor");
		frm.mail2.focus();
		return;
	 }
	 if (!validarEmail(frm.mail.value)){
		alert("La dirección de correo electrónico no parece correcta");
		frm.mail.focus();
		return;
	 }
	 if (frm.mail2.value!=frm.mail.value){
		alert("Las direcciones de correo no coinciden");
		frm.mail2.focus();
		return;
	 }
	 frm.submit();
	
}
function openWindowMenu(dir,ancho,alto)
{
	ventana=window.open(dir,'ventana','toolbar=0,titlebar=no,location=0,status=0,menubar=0,resizable=0,scrollbars=no');
	ventana.resizeTo(ancho,alto);
	ventana.focus();
}

function openWindowMenuScroll(dir,ancho,alto)
{
	ventana=window.open(dir,'ventana','toolbar=0,titlebar=no,location=0,status=0,menubar=0,resizable=0,scrollbars=yes');
	ventana.resizeTo(ancho,alto);
	ventana.focus();
}
function trim(cadena){
	cadena=cadena.replace(/^\s+/,'').replace(/\s+$/,'');
return(cadena)
}
function validarLogin(frm){
 	
 	if (isEmpty(frm.usuario.value)){
		alert("Introduzca un nombre de usuario");
		frm.usuario.focus();
		return;
	 }
	 if (isEmpty(frm.pwd.value)){
		alert("Debe introducir una clave");
		frm.pwd.focus();
		return;
	 }
	 frm.submit();
}

function validarPwd(frm){
 	
 	if (isEmpty(frm.pwd.value)){
		alert("Introduzca una password");
		frm.pwd.focus();
		return;
	 }
	 if (frm.pwd.value.length<6){
		alert("La contraseña debe contener al menos 6 caracteres");
		frm.pwd.focus();
		return;
	 }
	 if (isEmpty(frm.pwd2.value)){
		alert("Repita la contraseña por favor");
		frm.pwd2.focus();
		return;
	 }
	 if (frm.pwd2.value!=frm.pwd.value){
		alert("Las contraseñas no coinciden");
		frm.pwd2.focus();
		return;
	 }
	 frm.submit();
}

function validarRecPwd(frm){
 	
 	if (isEmpty(frm.usuario.value)){
		alert("Introduzca un nombre de usuario");
		frm.usuario.focus();
		return;
	 }
	 if (isEmpty(frm.mail.value)){
		alert("Debe introducir una dirección de correo");
		frm.mail.focus();
		return;
	 }
	 
	 if (!validarEmail(frm.mail.value)){
		alert("La dirección de correo electrónico no parece correcta");
		frm.mail.focus();
		return;
	 }
	 frm.submit();
}


function validarFormAlta(frm){
 	
 	if (isEmpty(frm.usuario.value)){
		alert("Introduzca un nombre de usuario");
		frm.usuario.focus();
		return;
	 }
		 
	 if (frm.usuario.value.length>15){
		alert("El usuario no puede contener más de 15 caracteres");
		frm.usuario.focus();
		return;
	 }
	 if (isEmpty(frm.pwd.value)){
		alert("Debe introducir una contraseña");
		frm.pwd.focus();
		return;
	 }
	 if (frm.pwd.value.length<6){
		alert("La contraseña debe contener al menos 6 caracteres");
		frm.pwd.focus();
		return;
	 }
	 if (isEmpty(frm.pwd2.value)){
		alert("Repita la contraseña por favor");
		frm.pwd2.focus();
		return;
	 }
 
	 if (frm.pwd2.value!=frm.pwd.value){
		alert("Las contraseñas no coinciden");
		frm.pwd2.focus();
		return;
	 }
	 if (isEmpty(frm.mail.value)){
		alert("Debe introducir una dirección de correo");
		frm.mail.focus();
		return;
	 }
	 if (isEmpty(frm.mail2.value)){
		alert("Repita la dirección de correo por favor");
		frm.mail2.focus();
		return;
	 }
	 if (!validarEmail(frm.mail.value)){
		alert("La dirección de correo electrónico no parece correcta");
		frm.mail.focus();
		return;
	 }
	 if (frm.mail2.value!=frm.mail.value){
		alert("Las direcciones de correo no coinciden");
		frm.mail2.focus();
		return;
	 }
	 if (isEmpty(frm.nombre.value)){
		alert("El campo nombre es obligatorio");
		frm.nombre.focus();
		return;
	 }
	 if (isEmpty(frm.apellidos.value)){
		alert("El campo apellidos es obligatorio");
		frm.apellidos.focus();
		return;
	 }
	 if (isEmpty(frm.lugar.value)){
		alert("El lugar de residencia es obligatorio");
		frm.lugar.focus();
		return;
	 }
	  if (isEmpty(frm.codigoAntiSpam.value)){
		alert("Por favor, introduzca el código para evitar registros automáticos");
		frm.codigoAntiSpam.focus();
		return;
	 }	 
	 
	frm.submit();
}

function validarFormEditarUsuario(frm){
	 if (isEmpty(frm.nombre.value)){
		alert("El campo nombre es obligatorio");
		frm.nombre.focus();
		return;
	 }
	 if (isEmpty(frm.apellidos.value)){
		alert("El campo apellidos es obligatorio");
		frm.apellidos.focus();
		return;
	 }
	 if (isEmpty(frm.lugar.value)){
		alert("El lugar de residencia es obligatorio");
		frm.lugar.focus();
		return;
	 }
	 frm.submit();
}


function validarFormRemoveNotif(frm){

	var elements = frm.elements;
	var seleccionado=false;
	var i=0;
	while (i<elements.length && !seleccionado)
	{
		 if(elements[i].type=='checkbox')
		 {
			 if (elements[i].checked)
			 	seleccionado=true;
		 }
		 i++;
	}
	if (!seleccionado)
	{
		alert("Seleccione al menos una notificación");
		return;
	}
	else
	{
		frm.submit();
	}

}

function validarFormSearchUser(frm){
	if (isEmpty(frm.busqueda.value)){
		alert("Introduzca un nombre de usuario");
		frm.busqueda.focus();
		return;
	}
	frm.submit();
}

function validarFormSearchText(frm){
	if (isEmpty(frm.busqueda.value)){
		alert("Introduzca al menos una palabra de búsqueda");
		frm.busqueda.focus();
		return;
	}
	parseConsulta(frm);
}
function validarFormContact(frm){
	if (isEmpty(frm.from.value)){
		alert("Introduzca su dirección de correo electrónico");
		frm.from.focus();
		return false;
	}
	if (isEmpty(frm.subject.value)){
		alert("Introduzca un asunto");
		frm.subject.focus();
		return false;
	}
	if (isEmpty(frm.body.value)){
		alert("No ha introducido ningún mensaje");
		frm.body.focus();
		return false;
	}
	if (!validarEmail(frm.from.value)){
		alert("La dirección de correo electrónico no parece correcta");
		frm.from.focus();
		return false;
	 }

}
function parseConsulta(frm){

	var palabras="";
	palabras=trim(frm.busqueda.value);
	palabras=palabras.replace(/\s+/g,' ');
	var arrPalabras=palabras.split(" ");
	var palabra="";
	for (i=0;i<arrPalabras.length;i++){
		palabra=arrPalabras[i];
		if (palabra.length<4){
			alert("la palabra '"+palabra+"' contiene "+palabra.length+" caracteres, el número mínimo de caracteres es 4");
			frm.busqueda.focus();
			return;
		}
		if (!/^[a-z0-9ñáéíóú]+$/i.test(palabra)){
			alert("la cadena de búsqueda contiene caracteres invalidos,se deben usar caracteres alfanuméricos");
			frm.busqueda.focus();
			return;
		}
	}
	frm.busqueda.value=palabras;
	frm.submit();
}

function abrirPerfil(usuario)
{
	self.location="showProfile.php?usuario="+usuario;
}

function deleteMsg(dir,user,fecha,hora)
{
	var borrar=confirm("¿Está seguro de querer borrar el mensaje del usuario "+user+"\n escrito el "+fecha+" a las "+hora+"?");
	if (borrar){
		self.location.href=dir;
	}
}
var request=null;
function createRequest(){
	try{
			request=new XMLHttpRequest();
	} catch(trymicrosoft){
				try {
					request=new ActiveXObject("Msxml2.XMLHTTP");
				}catch (othermicrosoft){
							try{
								request=new ActiveXObject("Microsoft.XMLHTTP");			
							}catch (failed){				
								request=null;
							}
				}
	}
	if (request==null){
		alert("No se pudo crear el objeto request");
	}
}