/* Archivo que contiene todas las funciones JavaScript
 * utilizadas para este proyecto.
 */
 
//Función que se utiliza para mostrar la lista de ventajas que conlleva el hecho de registrarse en Kaosenlared
function MostrarPorque(idElemento) {
	elemento = document.getElementById(idElemento);
	if(elemento.className  == "alavista"){
		elemento.className = "oculto";
	}
	else{
		elemento.className = "alavista";	
	}
}

//Función para añadir a favoritos Kaosenlared
function add() {
	if (window.sidebar&&window.sidebar.addPanel)
		window.sidebar.addPanel("Tu Kaos","http://www.kaosenlared.net","");
	else
		window.external.AddFavorite("http://www.kaosenlared.net","Tu Kaos")
}

//Función para que el usuario no pueda seleccionar varios colores para la página principal
function contar(frm) {
    maximo=1;
    elem=frm.form.elements;
    num=0;
    for(i=0;i<elem.length;i++)
        if(elem[i].type=='checkbox')
            if(elem[i].checked)
                num++
    if (num>maximo) {
        alert('Solo puedes seleccionar un color para la Web!!');
        frm.checked=false;
    }
}

//Función que se utiliza para seleccionar un grupo de checkbox's
function cambiaGrupo(chk) {
    var padreDIV=chk;
    while( padreDIV.nodeType==1 && padreDIV.tagName.toUpperCase()!="DIV" )
        padreDIV=padreDIV.parentNode;
    //ahora que padreDIV es el DIV, cogeremos todos sus checkboxes
    var padreDIVinputs=padreDIV.getElementsByTagName("input");
    for(var i=0; i<padreDIVinputs.length; i++) {
        if( padreDIVinputs[i].getAttribute("type")=="checkbox" )
            padreDIVinputs[i].checked = chk.checked;
    }
}

//Numero de carácteres permitodos para el resumen de una noticia o entrada del blog
num_caracteres_permitidos = 200
	
//Función que verifica la longitud de un campo textarea
function valida_longitud() {
	num_caracteres = document.form1.resumen.value.length
			  		 
	if (num_caracteres > num_caracteres_permitidos){
		document.form1.caracteres.style.color = "#ff0000";
	}
	else{
		document.form1.caracteres.style.color = "#000000";
	}		 
	cuenta()
}

//Función que cuenta los caracteres
function cuenta(){
	document.form1.caracteres.value = document.form1.resumen.value.length
}

/* Función que verifica el nombre de usuario válido para Kaos.
 * Se comprueba que no esté vacío el campo y que como mínimo contenga
 * 3 carácteres y como máximo 12.
 */

function verificaUsuario() {
	var login = new LiveValidation('login');
  	login.add(Validate.Presence);
	login.add(Validate.Length, {minimum: 3, maximum: 12});	
}

/* Función que verifica el password de usuario válido para Kaos.
 * Se comprueba que no esté vacío el campo y que como mínimo contenga
 * 6 carácteres y como máximo 12.
 */

function verificaPassword() {
	var psw = new LiveValidation('psw');
	psw.add(Validate.Presence);
	psw.add(Validate.Length, {minimum: 6});	
}

/* Función que verifica el email que introduce un usuario.
 * Se comprueba que no esté vacío el campo y que tenga formato email.
 */

function verificaEmail() {
	var email = new LiveValidation('email');
	email.add(Validate.Presence);
	email.add(Validate.Email);	
}

function verificaCondiciones() {
	var acceptlegal = new LiveValidation('acceptlegal');
	acceptlegal.add(Validate.Acceptance);	
}

/* Función que verifica el cuerpo de un comentario.
 * Se comprueba que no esté vacío el campo y que como mínimo contenga
 * 3 carácteres y como máximo 255.
 */

function verificaComentario() {
	var cuerp = new LiveValidation('cuerp');
	cuerp.add(Validate.Presence);
	cuerp.add(Validate.Length, {minimum: 1, maximum: 255});
}

/* Función que verifica el resumen de una noticia o entrada.
 * Como se trata de un campo opcional, no se comprueba que 
 * esté vacío pero si que como mínimo contenga
 * 1 carácteres y como máximo 255.
 */

function verificaResumen() {
	var resumen = new LiveValidation('resumen');
	resumen.add(Validate.Length, {maximum: 200});
}

/* Función que verifica el título de un comentario, noticia o entrada.
 * Se comprueba que no esté vacío el campo y que como mínimo contenga
 * 3 carácteres y como máximo 100.
 */
function verificaTitulo() {
	var titulo = new LiveValidation('titulo');
	titulo.add(Validate.Presence);
	titulo.add(Validate.Length, {minimum: 3, maximum: 100});
}

/* Función que verifica el cuerpo de una noticia o entrada.
 * Se comprueba que no esté vacío el campo y que como mínimo contenga
 * 25 carácteres y como máximo 10000.
 */
function verificaCuerpo() {
	var cuerpo = new LiveValidation('cuerp');
	cuerpo.add(Validate.Presence);
	cuerpo.add(Validate.Length, {minimum: 25, maximum: 10000});	
}

function noespacios() {
		var er = new RegExp(/\s/);
		var web = document.getElementById('login').value;
		if(er.test(web)){
			alert('No se permiten espacios en el nombre de usuario.');
			return false;
		}
                else
			return true;
	}
