function CatGenMarked(listas) {   

	var catgen = new Array();

	if (catgen.length==0) return false;

	for (var x=0;x<listas.length;x++) {

		for (y=0;y<catgen.length;y++) {

			if (listas[x].value==catgen[y])

				if (listas[x].checked) {   

					return true;

				}

		}

	}      

	

	return false;

}

function isEmail(str) {

	// are regular expressions supported?

	var supported = 0;

	if (window.RegExp) {

		var tempStr = "a";

		var tempReg = new RegExp(tempStr);

		if (tempReg.test(tempStr)) supported = 1;

	}

	if (!supported) 

		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);

	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");

	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,4})(\\]?)$");

	return (!r1.test(str) && r2.test(str));

}

function mi_trim(cadena){

	sp_ini=0;

	do{

		if (cadena.charAt(0) == " "){

			cadena=cadena.substring(1,cadena.length);

		}else{

			sp_ini=1;

		}

	}while (sp_ini==0);     

	

	sp_ini=0;

	do{

		if (cadena.charAt(cadena.length-1) == " "){

			cadena=cadena.substring(0,cadena.length-1);

		}else{

			sp_ini=1;

		}

	}while (sp_ini==0);     

	

	return cadena;

}



function compruebaenvio(formi){

	if(formi.nombre.value==""){

		alert("Debes introducir tu nombre");

		formi.nombre.focus();

		return false;

	}

	if(formi.email.value==""){

		alert("Debes introducir tu email");

		formi.email.focus();

		return false;

	}

	if(!isEmail(formi.email.value)){

		alert("El email indicado no es válido");

		formi.email.focus();

		return false;

	}

	if(formi.paranombre.value==""){

		alert("Debes introducir el nombre de la persona a la que envías el TE QUIERO");

		formi.paranombre.focus();

		return false;

	}

	if(formi.paramail.value==""){

		alert("Debes introducir el email de la persona a la que envías el TE QUIERO");

		formi.paramail.focus();

		return false;

	}

	if(!isEmail(formi.paramail.value)){

		alert("El email del destinatario no es válido");

		formi.paramail.focus();

		return false;

	}	

	if(formi.comentario.value==""){

		alert("Debes introducir el comentario.");

		formi.comentario.focus();

		return false;

	}



	if (formi.dia.options[formi.dia.selectedIndex].value == 0){

		alert("Debes seleccionar tu fecha de nacimiento.");

		formi.dia.focus();

		return (false);

	}

	

	if (formi.mes.options[formi.mes.selectedIndex].value == 0){

		alert("Debes seleccionar tu fecha de nacimiento.");

		formi.mes.focus();

		return (false);

	}

	

	if (formi.ano.options[formi.ano.selectedIndex].value == 0){

		alert("Debes seleccionar tu fecha de nacimiento.");

		formi.ano.focus();

		return (false);

	}

	

	if ((formi.pais.options[formi.pais.selectedIndex].value=="")){

		alert("Debes seleccionar un país.");

		formi.pais.focus();

		return(false);

	}

	

	if(formi.provincia.options.length > 1){

		if ((formi.provincia.options[formi.provincia.selectedIndex].value=="")){

			alert("Debes seleccionar una provincia.");

			formi.provincia.focus();

			return(false);

		}

	}

	

	var numlistas=0;

	listas = document.formulario.elements['listas[]']; 

	if (listas){

		numlistas=listas.length;

	}



	// Comprueba que ha marcado alguna lista o categoría genérica

	if (!CatGenMarked(listas)){

		for (var k=0;k<numlistas;k++){

			if (listas[k].checked) break;

			if (k==listas.length-1){

				alert("Debes seleccionar algunas cosas que te gusten, de otra manera no puedes optar al premio.");

				return false;

			}

		}

	}

	formi.Submit.disabled=true;
}



function compruebabuscador(formi){

	if (formi.buscahistoria.value==""){

		alert("Debes introducir el nombre a buscar.");

		formi.buscahistoria.focus();

		return (false);

	}

}