function confirmacion()
{
	if (!confirm('¿Está seguro de eliminar el elemento?'))
		return false;
}

function validanick(nick,id)
{
	var params= '&nick=' + nick + '&id='+id;
	doAjax('misc/ajax/chknick.php', params, 'validanickRet', 'post', 0);
}

function validanickRet(t)
{
	if (t == 1)
	{
		document.getElementById('descripcionmsg').innerHTML = 'Ya existe un usuario con ese nick, debes seleccionar otro nombre de usuario';
		document.getElementById('descripcionok').value = 0;
		document.getElementById('descripcionmsg').style.display = 'block';
	}
	else
	{
		document.getElementById('descripcionmsg').innerHTML = '';
		document.getElementById('descripcionok').value = 1;		
		document.getElementById('descripcionmsg').style.display = 'none';
	}
}

function validamail(mail)
{
	var params= '&mail=' + mail;
	doAjax('misc/ajax/chkmail.php', params, 'validamailRet', 'post', 0);
}

function validamailRet(t)
{
	if (t == 1)
	{
		document.getElementById('mailmsg').innerHTML = 'Ya existe un usuario con esa dirección de correo electrónico, debes seleccionar otra dirección de correo electrónico';
		document.getElementById('mailok').value = 0;
		document.getElementById('mailok').style.display = 'block';
	}
	else
	{
		document.getElementById('mailmsg').innerHTML = '';
		document.getElementById('mailok').value = 1;		
		document.getElementById('mailok').style.display = 'none';
	}
}

/* Funciones de validación de formularios */

function validausuario()
{
	var msg = '';
	var ok = true;
	
	if (document.getElementById('descripcionok').value == 0)
		ok = false;
	else if (document.getElementById('mailok').value == 0)
		ok = false;
	else
	{
		ok = ok & esVacio('descripcion', 'Debes introducir un nombre de usuario');
		ok = ok & esVacio('mail', 'Es necesario introducir una dirección de correo electrónico');
		ok = ok & ComparaCampos('pwd', 'pwd2', 'Las contraseñas introducidas no son iguales');
	}

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validausuariopub()
{
	var msg = '';
	var ok = true;
	
	if (document.getElementById('descripcionok').value == 0)
		ok = false;
	else if (document.getElementById('mailok').value == 0)
		ok = false;
	else
	{
		ok = ok & esVacio('descripcion', 'Debes introducir un nombre de usuario');
		ok = ok & esVacio('mail', 'Es necesario introducir una dirección de correo electrónico');
		ok = ok & ComparaCampos('pwd', 'pwd2', 'Las contraseñas introducidas no son iguales');
	}

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaanuncio()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('descripcion', 'Debes introducir un título interno para el anuncio');

	tmp = esVacio('fechaactivacion', 'Es necesario introducir una fecha a partir de la cual se mostrará el anuncio');
	if (tmp == true)
		ok = ok & esFecha('fechaactivacion', 'La fecha introducida no es válida');
	else
		ok = false;
		
	tmp = esVacio('fechacaducidad', 'Es necesario introducir una fecha a partir de la cual dejará de mostrarse el anuncio');
	if (tmp == true)
		ok = ok & esFecha('fechacaducidad', 'La fecha introducida no es válida');
	else
		ok = false;

	if (ok == true)
		ok = ok & esMayorFecha('fechaactivacion', 'fechacaducidad', 'La fecha de activación es posterior a la fecha de caducidad');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaarticulo()
{
	var msg = '';
	var ok = true;
	var tmp;
	tinyMCE.triggerSave();
	ok = ok & esVacio('descripcion1', 'Introduce un título para el artículo');
	ok = ok & esVacio('contenido1', 'El artículo debe tener algún contenido');
	ok = ok & esVacio('blogcategoria', 'Debes asociar una sección al artículo');
	ok = ok & esVacioImg('img', 'Debes asociar una imagen al artículo');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaarticuloclub()
{
	var msg = '';
	var ok = true;
	var tmp;
	tinyMCE.triggerSave();
	ok = ok & esVacio('descripcion1', 'Introduce un título para el artículo');
	ok = ok & esVacio('contenido1', 'El artículo debe tener algún contenido');
	ok = ok & esVacio('blogcategoria', 'Debes asociar una sección al artículo');
	ok = ok & esVacioImg('img', 'Debes asociar una imagen al artículo');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validalogin()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('usuario', 'Introduce tu nombre de usuario');
	ok = ok & esVacio('pwdlogin', 'Introduce la contraseña de acceso');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaarticuloimg()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('img2', 'Debes asociar una imagen al artículo');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaarticuloclubimg()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('img', 'Debes asociar una imagen al artículo');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaarticulodescarga()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('descarga', 'Debes asociar una descarga al artículo');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaarticuloclubdescarga()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('descarga', 'Debes asociar una descarga al artículo');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaarticulogaleria()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('galeria', 'Debes asociar una galería al artículo');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaarticuloarticulo()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('relacionado', 'No has introducido el identificador del artículo a relacionar');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaarticuloclubgaleria()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('galeria', 'Debes asociar una galería al artículo');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validablog()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('descripcion1', 'Debes definir una descripción para el tipo de artículo');
	ok = ok & esVacio('artspag', 'Debes definir cuántos artículos quieres que salgan por página');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validablogcategoria()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('descripcion1', 'Debes definir una descripción para el tipo de artículo');
	ok = ok & esVacioSelect('juegoblog', 'Debes asociar el subtipo de artículo a una combinación de juego y artículo');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaclub()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('descripcion1', 'Debes definir el nombre del club');
	ok = ok & esVacio('mail', 'Debes introducir la dirección de correo electrónico');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validadatosclub()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('descripcion1', 'Debes definir el nombre del club');
	ok = ok & esVacio('mail', 'Debes introducir la dirección de correo electrónico');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validadescarga()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	hayChecksSelected('item', 'Es recomendable que selecciones una categoría para la descarga');
	ok = ok & esVacio('descripcion1', 'Debes definir el nombre del club');
	esVacio('juego', 'Es recomendable que asocies la descarga a un juego');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validadescargafamilia()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('descripcion1', 'Debes definir el nombre del club');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaencuesta()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('descripcion1', 'Debes definir un título para la encuesta');
	tmp = esVacio('fechainicio', 'Es necesario definir la fecha a partir de la cual se mostrará la encuesta');
	if (tmp == true)
		ok = ok & esFecha('fechainicio', 'La fecha introducida no es válida');
	else
		ok = false;
		
	tmp = esVacio('fechafin', 'Es necesario definir la fecha a partir de la cual dejará de mostrarse la encuesta');
	if (tmp == true)
		ok = ok & esFecha('fechafin', 'La fecha introducida no es válida');
	else
		ok = false;
	
	if (ok == true)
		ok = ok & esMayorFecha('fechainicio', 'fechafin', 'La fecha de inicio es posterior a la fecha de fin');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaencuestaenunciado()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('descripcion1', 'Debes definir un título para el enunciado la encuesta');
	ok = ok & esVacio('encuestarespuestagenerica', 'Debes asociar el enunciado con una familia de respuestas');
	tmp = esVacio('posicion', 'Debes darle una posición a la pregunta');
	if (tmp == true)
		ok = ok & esNumero('posicion', 'La posición ha de ser un número entero positivo');
	else
		ok = false;

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaencuestaclub()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('descripcion1', 'Debes definir un título para la encuesta');
	tmp = esVacio('fechainicio', 'Es necesario definir la fecha a partir de la cual se mostrará la encuesta');
	if (tmp == true)
		ok = ok & esFecha('fechainicio', 'La fecha introducida no es válida');
	else
		ok = false;
		
	tmp = esVacio('fechafin', 'Es necesario definir la fecha a partir de la cual dejará de mostrarse la encuesta');
	if (tmp == true)
		ok = ok & esFecha('fechafin', 'La fecha introducida no es válida');
	else
		ok = false;
	
	if (ok == true)
		ok = ok & esMayorFecha('fechainicio', 'fechafin', 'La fecha de inicio es posterior a la fecha de fin');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaencuestaclubenunciado()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('descripcion1', 'Debes definir un título para el enunciado la encuesta');
	ok = ok & esVacio('encuestarespuestagenerica', 'Debes asociar el enunciado con una familia de respuestas');
	tmp = esVacio('posicion', 'Debes darle una posición a la pregunta');
	if (tmp == true)
		ok = ok & esNumero('posicion', 'La posición ha de ser un número entero positivo');
	else
		ok = false;

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaencuestarespuestagenerica()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('descripcion', 'Debes definir un nombre identificativo para la respuesta genérica');
	
	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaencuestarespuestagenericalinea()
{
	var msg = '';
	var ok = true;
	var tmp;
	
	ok = ok & esVacio('descripcion1', 'Debes definir un nombre identificativo para la opción de la respuesta genérica');
	
	tmp = esVacio('posicion', 'Debes definir el orden en el que aparece esta opción de respuesta');
	if (tmp == true)
		ok = ok & esNumero('posicion', 'La posición debe ser un valor numérico');
	else
		ok = false;

	ok = ok & esVacio('valoracion', 'Debes dar una valoración para identificar si la respuesta es buena o mala');
	if (tmp == true)
	{
		tmp = esNumero('valoracion', 'La valoración debe ser un valor numérico entre 0 y 10');
		if (tmp == true)
			tmp = esNumeroEntre('valoracion', 0, 10, 'La valoración debe ser un valor numérico entre 0 y 10');
		else
			ok = false;
	}
	else
		ok = false;

	
	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaenlace()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('url', 'Es necesario que definas la dirección del enlace de interés');
	ok = ok & esVacio('descripcion1', 'Es necesario dar una descripción al enlace de interés');

	tmp = esVacio('posicion', 'Debes definir el orden en el que aparece este enlace');
	if (tmp == true)
		ok = ok & esNumero('posicion', 'La posición debe ser un valor numérico');
	else
		ok = false;

	ok = ok & hayChecksSelected('juego', 'Es necesario que asocies el enlace al menos a un juego');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaenlacefamilia()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('url', 'Es necesario que definas la dirección del enlace de interés');
	ok = ok & esVacio('descripcion1', 'Es necesario dar una descripción al enlace de interés');

	tmp = esVacio('posicion', 'Debes definir el orden en el que aparece este enlace');
	if (tmp == true)
		ok = ok & esNumero('posicion', 'La posición debe ser un valor numérico');
	else
		ok = false;

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaevento()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('descripcion1', 'Es necesario dar una descripción al evento');

	tmp = esVacio('fechaini', 'Es necesario definir la fecha de inicio del evento');
	if (tmp == true)
		ok = ok & esFecha('fechaini', 'La fecha introducida no es válida');
	else
		ok = false;

	tmp = esVacio('fechafin', 'Es necesario definir la fecha de fin del evento');
	if (tmp == true)
		ok = ok & esFecha('fechafin', 'La fecha introducida no es válida');
	else
		ok = false;

	if (ok == true)
		ok = ok & esMayorFecha('fechaini', 'fechafin', 'La fecha de inicio es posterior a la fecha de fin');

	ok = ok & hayChecksSelected('juego', 'Es necesario asociar el evento al menos a una categoría');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaeventoclub()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('descripcion1', 'Es necesario dar una descripción al evento');
	
	tmp = esVacio('fechaini', 'Es necesario definir la fecha de inicio del evento');
	if (tmp == true)
		ok = ok & esFecha('fechaini', 'La fecha introducida no es válida');
	else
		ok = false;
		
	tmp = esVacio('fechafin', 'Es necesario definir la fecha de fin del evento');
	if (tmp == true)
		ok = ok & esFecha('fechafin', 'La fecha introducida no es válida');
	else
		ok = false;
	
	if (ok == true)
		ok = ok & esMayorFecha('fechaini', 'fechafin', 'La fecha de inicio es posterior a la fecha de fin');

	ok = ok & hayChecksSelected('juego', 'Es necesario asociar el evento al menos a una categoría');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaeventofamilia()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('descripcion1', 'Es necesario dar una descripción a la categoría de eventos');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaformulario()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('nombre', 'Es necesario rellenar el nombre');
	ok = ok & esVacio('estado', 'Define el nuevo estado del formulario');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaformulariop()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('nombre', 'Es necesario rellenar el nombre');
	ok = ok & esVacio('email', 'Es necesario rellenar una dirección de correo electrónico');
	ok = ok & esVacio('contenido', 'Es necesario definir el contenido de la consulta');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validaformularioestado()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('descripcion1', 'Es necesario dar una descripción a la categoría de eventos');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validagaleria()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('descripcion1', 'Es necesario dar una descripción a la galería');
	ok = ok & hayChecksSelected('juego', 'Es necesario asociar la galería al menos a un juego');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validagaleriaelemento()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('mediacategoria', 'Es necesario que definas qué tipo de elemento es');
	ok = ok & esVacio('url', 'No has seleccionado ningún fichero');
	ok = ok & esVacio('descripcionb1', 'Es necesario dar una descripción a la galería');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validajuego()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('descripcion1', 'Introduce un nombre para el juego');

	tmp = esVacio('color', 'Debes definir un color en RGB para asociar al juego');
	if (tmp == true)
		ok = ok & esRGB('color', 'El valor RGB debe tener el formato #RRGGBB');
	else
		ok = false;

	tmp = esVacio('posicion', 'Debes dar un orden al juego');
	if (tmp == true)
		ok = ok & esNumero('posicion', 'La posición ha de ser un número entero positivo');
	else
		ok = false;
	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validanoticia()
{
	var msg = '';
	var ok = true;
	var tmp;

	tinyMCE.triggerSave()

	ok = ok & esVacio('descripcion1', 'Es necesario dar un título a la noticia');
	ok = ok & esVacio('contenido1', 'Es necesario introducir un contenido a la noticia');

	tmp = esVacio('fecha', 'Es necesario definir la fecha a partir de la cual se publicará la noticia');
	if (tmp == true)
		ok = ok & esFecha('fecha', 'La fecha introducida no es válida');
	else
		ok = false;

	tmp = esVacio('caducidad', 'Es necesario definir la fecha a partir de la cual la noticia dejará de publicarse');
	if (tmp == true)
		ok = ok & esFecha('caducidad', 'La fecha introducida no es válida');
	else
		ok = false;

	if (ok == true)
		ok = ok & esMayorFecha('fecha', 'caducidad', 'La fecha de inicio es posterior a la fecha de caducidad');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validapromocion()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('descripcion1', 'Es necesario dar un título a la promoción');
	
	tmp = esVacio('fechaini', 'Es necesario definir la fecha a partir de la cual estará disponible la promoción');
	if (tmp == true)
		ok = ok & esFecha('fechaini', 'La fecha introducida no es válida');
	else
		ok = false;
		
	tmp = esVacio('fechafin', 'Es necesario definir la fecha a partir de la cual la promoción deja de tener validez');
	if (tmp == true)
		ok = ok & esFecha('fechafin', 'La fecha introducida no es válida');
	else
		ok = false;
	
	if (ok == true)
		ok = ok & esMayorFecha('fechaini', 'fechafin', 'La fecha de inicio es posterior a la fecha de fin');

	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validasala()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('descripcion', 'Es necesario dar un nombre a la sala');
	ok = ok & esVacio('url', 'Debes dar la dirección del sitio web de la sala');
	ok = ok & esVacio('comentarios', 'Es necesario dar comentarios sobre la sala');
	
	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validasinonimo()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('descripcion', 'Define la palabra a reemplazar');
	ok = ok & esVacio('sinonimo', 'Define la palabra por la que se reemplaza');
	ok = ok & esVacio('idioma', 'Define para qué idioma aplica el sinónimo');
	
	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validasolicitudclub()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('estado', 'Define el nuevo estado de la solicitud');
	
	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validasolicitudclubgestionada()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('estado', 'Define el nuevo estado de la solicitud');
	
	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validacomentararticulo()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & esVacio('nombre', 'Introduce tu nombre, por favor');
	ok = ok & esVacio('mail', 'Introduce tu dirección de correo electrónico');
	ok = ok & esVacio('contenido', 'No has introducido ningún contenido');
	ok = ok & esVacio('tmptxt', 'Debes introducir los caracteres que se muestran en la imagen');
	
	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validavotacion()
{
	var msg = '';
	var ok = true;
	var tmp;

	ok = ok & hayRadioSelected('voto', 'Selecciona un elemento primero antes de votar');
	
	if (!ok)
	{
		alert('Algunos campos no son correctos. Revisa el formulario, por favor');
		return false;
	}
	else
		return true;
}

function validarencuesta(frmname)
{
	var ant = '';
	var marcado = false;
	var corr = false;

	var j;
	
	for (j=0; j<document.forms.length; j++)
	{
		if (document.forms[j].id == frmname)
		{
			var controles = document.forms[j];
			var lcont = controles.length;
			
			for (i = 0; i < lcont; i++)
			{
				if (controles[i].name.substring(0, 5) == 'resp_')
				{
					if (controles[i].name == ant || ant == '')
						marcado = (controles[i].checked || marcado);
					else
					{
						if (marcado == false)
						{
							alert('Responda todas las preguntas, por favor.');
							return false;
						}
						marcado = controles[i].checked;
					}
					
					ant = controles[i].name;
				}
			}
			if (marcado == false)
			{
				alert('Responda todas las preguntas, por favor.');
				return false;
			}
		}
	}

	return true;
}

/* FIN Funciones de validación de formularios */


/********************************************************************************************************************/
// FUNCIONES UTILIZADAS EN MCGESTAL
/********************************************************************************************************************/

function hayRadioSelected(obj, msgerror)
{
	var inputs = document.getElementsByTagName('input');
	var nCol = inputs.length;
	var input;
	var i = 0;
	var ok = false;
	
	while (i < nCol && ok == false)
	{
		if (inputs[i].type == 'radio' && inputs[i].id.substring(0, obj.length) == obj)
		{
			if (inputs[i].checked)
				ok = true;
		}
		i++;
	}

	if (ok == true)
	{
		document.getElementById(obj+'msg').innerHTML = '';
		return true;
	}
	else
	{
		document.getElementById(obj+'msg').innerHTML = msgerror;
		return false;
	}
}

function hayChecksSelected(obj, msgerror)
{
	var inputs = document.getElementsByTagName('input');
	var nCol = inputs.length;
	var input;
	var i = 0;
	var ok = false;
	
	while (i < nCol && ok == false)
	{
		if (inputs[i].type == 'checkbox' && inputs[i].id.substring(0, obj.length) == obj)
		{
			if (inputs[i].checked)
				ok = true;
		}
		i++;
	}

	if (ok == true)
	{
		document.getElementById(obj+'msg').innerHTML = '';
		return true;
	}
	else
	{
		document.getElementById(obj+'msg').innerHTML = msgerror;
		return false;
	}
}

// Devuelve error cuando es vacio
function esVacio(obj, msgerror, msgdivname)
{
	if (msgdivname == undefined)
		msgdivname = obj + 'msg';
	else
		msgdivname = msgdivname + 'msg';

	if (trim(document.getElementById(obj).value) != '')
	{
		document.getElementById(msgdivname).innerHTML = '';
		document.getElementById(msgdivname).style.display = 'none';
		return true;
	}
	else
	{
		document.getElementById(msgdivname).innerHTML = msgerror;
		document.getElementById(msgdivname).style.display = 'block';
		return false;
	}
}

// Devuelve error cuando es vacio considerando que hay un control llamado imgreal+obj que puede tener la imagen (en edición)
function esVacioImg(obj, msgerror, msgdivname)
{
	var ok;
	
	if (msgdivname == undefined)
		msgdivname = obj + 'msg';
	else
		msgdivname = msgdivname + 'msg';

	// Ok, tiene contenido
	if (trim(document.getElementById(obj).value) != '')
		ok = true;
	// Nk, no tiene contenido y no hay imagen
	else if (document.getElementById('imgreal'+obj) == null)
		ok = false;
	// Ok, no tiene contenido pero hay ya una imagen
	else if (trim(document.getElementById('imgreal'+obj).value) != '')
		ok = true;
	// Vacío y no hay imagen
	else
		ok = false;
	
	// Sale true si no Ok
	if (ok == true)
	{
		document.getElementById(msgdivname).innerHTML = '';
		document.getElementById(msgdivname).style.display = 'none';
		return true;
	}
	else
	{
		document.getElementById(msgdivname).innerHTML = msgerror;
		document.getElementById(msgdivname).style.display = 'block';
		return false;
	}
}

function esVacioSelect(obj, msgerror)
{
	if (trim(document.getElementById(obj).value) != ''  && trim(document.getElementById(obj).value) != '0')
	{
		document.getElementById(obj+'msg').innerHTML = '';
		document.getElementById(obj+'msg').style.display = 'none';
		return true;
	}
	else
	{
		document.getElementById(obj+'msg').innerHTML = msgerror;
		document.getElementById(obj+'msg').style.display = 'block';
		return false;
	}
}

function ComparaCampos(obj1, obj2, msgerror)
{
	var tmp;
	
	if (document.getElementById(obj1).value == document.getElementById(obj2).value)
	{
		document.getElementById(obj1+'msg').innerHTML = '';
		document.getElementById(obj1+'msg').style.display = 'none';
		return true;
	}
	else
	{
		document.getElementById(obj1+'msg').innerHTML = msgerror;
		document.getElementById(obj1+'msg').style.display = 'block';
		return false;
	}
}

function esMayorFecha(obj1, obj2, msgerror)
{
	var tmp;
	
	tmp = document.getElementById(obj1).value.split("/");
	var d1 = new Date(tmp[2], tmp[1]-1, tmp[0]);
	
	tmp = document.getElementById(obj2).value.split("/");
	var d2 = new Date(tmp[2], tmp[1]-1, tmp[0]);

	if (d1<=d2)
	{
		document.getElementById(obj1+'msg').innerHTML = '';
		document.getElementById(msgdivname).style.display = 'none';
		return true;
	}
	else
	{
		document.getElementById(obj1+'msg').innerHTML = msgerror;
		document.getElementById(msgdivname).style.display = 'block';
		return false;
	}
}

function esFecha(obj, msgerror)
{
	var dateStr = document.getElementById(obj).value.trim();
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	
	var matchArray = new Array();
	var matchArray = dateStr.match(datePat); // is the format ok?
	var ok = true;

	if (matchArray == null) 
	{
		ok = false;
	}
	else
	{
		day = matchArray[1]; // parse date into variables
		month = matchArray[3];
		year = matchArray[5];

		if (month < 1 || month > 12) 
		{ // check month range
			ok = false;
		}
		
		if (day < 1 || day > 31) 
		{
			ok = false;
		}
		
		if ((month==4 || month==6 || month==9 || month==11) && day==31) 
		{
			ok = false;
		}
		
		if (month == 2) 
		{ // check for february 29th
			var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
			if (day > 29 || (day==29 && !isleap)) 
			{
				ok = false;
			}
		}
		ok = true; // date is valid
	}
	
	if (ok == true)
	{
		document.getElementById(obj+'msg').innerHTML = '';
		document.getElementById(msgdivname).style.display = 'none';
		return true;
	}
	else
	{
		document.getElementById(obj+'msg').innerHTML = msgerror;
		document.getElementById(msgdivname).style.display = 'block';
		return false;
	}
}

function esNumero(obj, msgerror)
{
	var ok;
	
	if (isnumeric(document.getElementById(obj).value))
	{
		if (document.getElementById(obj).value.indexOf('.') == -1 && document.getElementById(obj).value.indexOf(',') == -1 )
		{
			if (parseInt(document.getElementById(obj).value, 10) > 0)
				ok = true;
			else
				ok = false;
		}
		else
			ok = false;
	}
	else
		ok = false;
		
	if (ok == true)
	{
		document.getElementById(obj+'msg').innerHTML = '';
		document.getElementById(msgdivname).style.display = 'none';
		return true;
	}
	else
	{
		document.getElementById(obj+'msg').innerHTML = msgerror;
		document.getElementById(msgdivname).style.display = 'block';
		return false;
	}
}

function enNumeroEntre(obj1, min, max, msgerror)
{
	var ok;
	
	ok = esNumero(obj1, msgerror);
	
	if (ok == true)
	{
		var tmp = parseInt(document.getElementById(obj1).value, 10);
		
		if (tmp > max || tmp < min)
		{
			ok = false;
		}
	}
	
	if (ok == true)
	{
		document.getElementById(obj+'msg').innerHTML = '';
		document.getElementById(msgdivname).style.display = 'none';
		return true;
	}
	else
	{
		document.getElementById(obj+'msg').innerHTML = msgerror;
		document.getElementById(msgdivname).style.display = 'block';
		return false;
	}
}

function esRGB(obj, msgerror)
{
	var val = document.getElementById(obj).value;
	var i=0;
	var ok=false;
	
	if (val.length != 7)
		ok = false;
	else
		if (val.substring(0,1) != '#')
			ok = false;
		else
			for (i=1;i<6;i++)
			{
				ok=false;
				if (val.charCodeAt(i) >= 48 && val.charCodeAt(i) <= 57)
					ok = true;
				if (val.charCodeAt(i) >= 65 && val.charCodeAt(i) <= 70)
					ok = true;
				if (val.charCodeAt(i) >= 97 && val.charCodeAt(i) <= 102)
					ok = true;
			}

	if (ok == true)
	{
		document.getElementById(obj+'msg').innerHTML = '';
		document.getElementById(msgdivname).style.display = 'none';
		return true;
	}
	else
	{
		document.getElementById(obj+'msg').innerHTML = msgerror;
		document.getElementById(msgdivname).style.display = 'block';
		return false;
	}
}

/********************************************************************************************************************/
// FUNCIONES ANTIGUAS
/********************************************************************************************************************/

function cadMsg(textoantiguo, texto, campo)
{
	if (campo != '')
		texto = texto + ' [se encontró "' + document.getElementById(campo).value + '"]';

	if (textoantiguo == '')
		return texto;
	else
		return textoantiguo + "\r\n" + texto;
}


function setValue(objeto, valor)
{
	document.getElementById(objeto).value = valor;
	return false;
}

function checkvars(msg, msgW)
{
	var ok;

	if (msg != '')
	{
		alert(msg);
		ok = false;
	}
	else
		if (msgW != '')
			ok = confirm(msgW + "\r\nQuieres continuar de todas formas?");

	return ok;
}

function esOculto(obj)
{
	if (trim(document.getElementById(obj).style.display) == 'none')
		return true;
	else
		return false;
}

function esVisible(obj)
{
	return !esOculto(obj);
}

function getValor(obj)
{
	return document.getElementById(obj).value;
}

function Longitud(obj)
{
	return document.getElementById(obj).value.length;
}

function Comparar(obj, valor)
{
	return (document.getElementById(obj).value == valor);
}

function esEmail(obj)
{
	var val = document.getElementById(obj).value;
	if (val.indexOf('@') == -1)
		return false;
	if (val.indexOf('.') == -1)
		return false;

	return  true;
}

function trim(cadea)
{
	var senBrancos = cadea;
	while (senBrancos.indexOf(" ")!=-1)
	{
		senBrancos = senBrancos.replace(" ","");
	}

	return senBrancos;
}

function isnumeric(sText) 
{
	var ValidChars = "0123456789";
	var IsNumber = true;
	var Char;

	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
		}
	}
	return IsNumber;
}

function isDate(dateStr) 
{
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?

	if (matchArray == null) 
	{
		return false;
	}

	day = matchArray[1]; // parse date into variables
	month = matchArray[3];
	year = matchArray[5];

	if (month < 1 || month > 12) 
	{ // check month range
		return false;
	}

	if (day < 1 || day > 31) 
	{
		return false;
	}

	if ((month==4 || month==6 || month==9 || month==11) && day==31) 
	{
		return false;
	}

	if (month == 2) 
	{ // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) 
		{
			return false;
		}
	}
	return true; // date is valid
}

function esLink(obj)
{
	var l = document.getElementById(obj).value;

	if (l.indexOf('www') == -1)
	{
		l = 'http://www.' + l;
	}

	if (l.substring(0,4) != 'http')
	{
		l = 'http://' + l;
	}

	if (l.indexOf('.com') == -1 && l.indexOf('.es') == -1 && l.indexOf('.org') == -1 && l.indexOf('.biz') == -1 && l.indexOf('.net') == -1)
	{
		return false;
	}

	return l;
}

function esChecked(obj)
{
	return document.getElementById(obj).checked;
}

function HistorialFB(page)
{
	var params = '&p='+page;
	doAjax('misc/ajax/historialfb.php', params, 'HistorialFBRet', 'get', 0);
}

function HistorialFBRet(t)
{
	var c = t.split('|##|');
	document.getElementById('pub'+c[0]).innerHTML = c[1];
}
