	function iSubmitEnter(oEvento, oFormulario){ 
	     var iAscii; 
	
	     if (oEvento.keyCode) 
	         iAscii = oEvento.keyCode; 
	     else if (oEvento.which) 
	         iAscii = oEvento.which; 
	     else 
	         return false; 
	
	     if (iAscii == 13) oFormulario.submit(); 
	
	     return true; 
	} 
	
	function limpiarusrlogin(){
		if (document.flogin.nickname.value=='Usuario')
			document.flogin.nickname.value='';	
	}
	
	function limpiarpasslogin(){
		if (document.flogin.password.value=='PaSSword')
			document.flogin.password.value='';	
	}
		
	function trim(s){
		s = s.replace(/\s+/gi, ' '); //sacar espacios repetidos dejando solo uno
		s = s.replace(/^\s+|\s+$/gi, ''); //sacar espacios blanco principio y final
		return s;
	}

	function isValidURL(url){ 
		if(url.match(/^(http|ftp)\:\/\/\w+([\.\-]\w+)*\.\w{2,4}(\:\d+)*([\/\.\-\?\&\%\#\=]\w+)*\/?$/i))
	    return true;
	  else
	    return false;
	  
	}
	
	function isValidEmail(valor){
        
    var filter=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
   	if (filter.test(valor))
      return true;
   	else
     	return false;

	}
	
	function removeAllOptions(selectbox){
		var i;
		for(i=selectbox.options.length-1;i>=0;i--){
			selectbox.remove(i);
		}
	}



	function verpaginacionsig(categoria, numpagina){
		if (numpagina == null || numpagina == '' || numpagina==0 )
			inicio = paginas;
		else
			inicio = (numpagina + 1)* paginas;	
		if (categoria == '1'){	
			dsTipoMangaData.setURL("GenerateXMLData?categoria=" + categoria + "&tipocomic=" + tipocomic + "&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date());
			dsTipoMangaData.loadData();
		}else if (categoria == '2'){	
			dsEditorialData.setURL("GenerateXMLData?categoria=" + categoria + "&tipocomic=" + tipocomic + "&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date());
			dsEditorialData.loadData();
		}else if (categoria == '3'){	
			dsAutorData.setURL("GenerateXMLData?categoria=" + categoria + "&tipocomic=" + tipocomic + "&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date());
			dsAutorData.loadData();
		}else if (categoria == '4'){	
			dsMangaData.setURL("GenerateXMLData?categoria=" + categoria +"&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date());
			dsMangaData.loadData();
		}else if (categoria == '6'){
			nickname=document.fmismensajes.nickname75.value;	
			dsOpinionData.setURL("GenerateXMLData?categoria=" + categoria + "&tipocomic=" + tipocomic + "&inicio="+ inicio + "&nickname=" + nickname + "&paginas=" + paginas + "&fecha="+new Date());
			dsOpinionData.loadData();
		}else if (categoria == '7'){	
			dsVotacionData.setURL("GenerateXMLData?categoria=" + categoria + "&tipocomic=" + tipocomic + "&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date());
			dsVotacionData.loadData();
		}else if (categoria == '81'){	
			dsMensajeSendData.setURL("GenerateXMLData?categoria=" + categoria +"&tipomensaje=1&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date());
			dsMensajeSendData.loadData();
		}else if (categoria == '82'){	
			dsMensajeRecData.setURL("GenerateXMLData?categoria=" + categoria +"&tipomensaje=2&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date());
			dsMensajeRecData.loadData();
		}else if (categoria == '11'){	
			comic = document.faddportada.idcomic.options[document.faddportada.idcomic.selectedIndex].value;
			dsPortadaData.setURL("GenerateXMLData?categoria=" + categoria +"&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date()+ "&comic=" + comic);
			dsPortadaData.loadData();
		}else if (categoria == '15'){	
			titulo=document.fsearchmanga.mangatitulo.value;
			guion=document.fsearchmanga.comboguion.options[document.fsearchmanga.comboguion.selectedIndex].value;
			dibujo=document.fsearchmanga.combodibujo.options[document.fsearchmanga.combodibujo.selectedIndex].value;
			tinta=document.fsearchmanga.combotinta.options[document.fsearchmanga.combotinta.selectedIndex].value;
			editorial=document.fsearchmanga.comboeditorial.options[document.fsearchmanga.comboeditorial.selectedIndex].value;
			dsMangaData.setURL("GenerateXMLData?categoria=4&tipocomic=1&oper=fullmanga&fecha="+new Date()+"&inicio=" + inicio + 
					"&paginas=" + paginas + "&titulo=" + titulo + "&guion=" + guion + "&dibujo=" + dibujo + 
					"&tinta=" + tinta + "&editorial=" + editorial);
			dsMangaData.loadData();
		}
		
	}
	
	function verpaginacionprev(categoria, numpagina){
		

		if (numpagina != null && numpagina != '' && numpagina != 0 ){
			inicio = (numpagina - 1)* paginas;	
		
			if (categoria == '1'){	
				dsTipoMangaData.setURL("GenerateXMLData?categoria=" + categoria + "&tipocomic=" + tipocomic +"&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date());
				dsTipoMangaData.loadData();
			}else if (categoria == '2'){	
				dsEditorialData.setURL("GenerateXMLData?categoria=" + categoria + "&tipocomic=" + tipocomic +"&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date());
				dsEditorialData.loadData();
			}else if (categoria == '3'){	
				dsAutorData.setURL("GenerateXMLData?categoria=" + categoria  + "&tipocomic=" + tipocomic + "&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date());
				dsAutorData.loadData();
			}else if (categoria == '4'){	
				dsMangaData.setURL("GenerateXMLData?categoria=" + categoria + "&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date());
				dsMangaData.loadData();
			}else if (categoria == '6'){	
				nickname=document.fmismensajes.nickname75.value;
				dsOpinionData.setURL("GenerateXMLData?categoria=" + categoria  + "&tipocomic=" + tipocomic + "&inicio="+ inicio + "&nickname=" + nickname + 
					"&paginas=" + paginas + "&fecha="+new Date());
				dsOpinionData.loadData();
			}else if (categoria == '7'){	
				dsVotacionData.setURL("GenerateXMLData?categoria=" + categoria  + "&tipocomic=" + tipocomic + "&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date());
				dsVotacionData.loadData();
			}else if (categoria == '81'){	
				dsMensajeSendData.setURL("GenerateXMLData?categoria=" + categoria +"&tipomensaje=1&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date());
				dsMensajeSendData.loadData();
			}else if (categoria == '82'){	
				dsMensajeRecData.setURL("GenerateXMLData?categoria=" + categoria +"&tipomensaje=2&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date());
				dsMensajeRecData.loadData();
			}else if (categoria == '11'){	
				comic = document.faddportada.idcomic.options[document.faddportada.idcomic.selectedIndex].value;
				dsPortadaData.setURL("GenerateXMLData?categoria=" + categoria +"&inicio="+ inicio + "&paginas=" + paginas + "&fecha="+new Date()+ "&comic=" + comic);
				dsPortadaData.loadData();
			}else if (categoria == '15'){	
				titulo=document.fsearchmanga.mangatitulo.value;
				guion=document.fsearchmanga.comboguion.options[document.fsearchmanga.comboguion.selectedIndex].value;
				dibujo=document.fsearchmanga.combodibujo.options[document.fsearchmanga.combodibujo.selectedIndex].value;
				tinta=document.fsearchmanga.combotinta.options[document.fsearchmanga.combotinta.selectedIndex].value;
				editorial=document.fsearchmanga.comboeditorial.options[document.fsearchmanga.comboeditorial.selectedIndex].value;
				dsMangaData.setURL("GenerateXMLData?categoria=4&tipocomic=1&oper=fullmanga&fecha="+new Date()+
						"&inicio=" + inicio + "&paginas=" + paginas + "&titulo=" + titulo + "&guion=" + guion + 
						"&dibujo=" + dibujo + "&tinta=" + tinta + "&editorial=" + editorial);
				dsMangaData.loadData();
				
			}
		}
	}


	/* 																								Mis Opiniones
	 * ---------------------------------------------------------------------------------------------------------------
	 */

	function ocultarMisOpiniones(){
		document.getElementById('misopiniones').style.visibility='hidden';
		document.getElementById('addmisopiniones').style.visibility='hidden';
		document.getElementById('listmisopiniones').style.visibility='hidden';	
		document.getElementById('updatemisopiniones').style.visibility='hidden';	
		
	}
	
	function actMisOpiniones(operacion){
		ocultarAutor();
		ocultarEditorial();
		ocultarTipoManga();
		ocultarMisVotaciones();
		ocultarMisMensajes();
		ocultarMisPreferidos();
		
		document.getElementById('misopiniones').style.visibility='visible';
		actSubMisOpiniones(operacion);		
	}

	function actSubMisOpiniones(operacion){

		var nickname=document.fmismensajes.nickname75.value;		
		if (operacion == '1'){
			document.getElementById('addmisopiniones').style.visibility='hidden';
			document.getElementById('updatemisopiniones').style.visibility='hidden';
			document.getElementById('listmisopiniones').style.visibility='visible';
			inicio=0;
			dsOpinionData.setURL("GenerateXMLData?categoria=6&tipocomic="+tipocomic+"&fecha="+new Date()+"&inicio=" + inicio + "&paginas=" + paginas);
			dsOpinionData.loadData();
		}else if (operacion == '2'){
			nickname=null;
			document.getElementById('listmisopiniones').style.visibility='hidden';
			document.getElementById('updatemisopiniones').style.visibility='hidden';
			document.getElementById('addmisopiniones').style.visibility='visible';
			cargarCmbTitManga("combomangaadd", "misopinioneserror", nickname);
			//cargarMisOpinionesCombo("combomangaadd");
		}
		
	}
	
	/* Obtiene los valores de las opiniones del modulo de actualización de las opiniones
	 */
	function misOpinionesInfo(){
		
		document.getElementById('updatemisopiniones').style.visibility='visible';
		dwr.util.setValue("misopinioneserrorupd", " ");
		
		nickname=document.fmismensajes.nickname75.value;
		encontrado=false;
		
	}
	
	/* Elimina una editorial siempre que no tenga mangas asociados.
	 */
	function deleteMisOpiniones(idopinion){
		
		OpinionBean.deleteOpinion(idopinion, function(data) {
			if (data!= null)
				dwr.util.setValue("misopinioneserrordel", data);
			else
				actMisOpiniones('1');					
		});

	}

	/* Actualiza los valores de una opinion
	 */
	function updateMisOpiniones(){
		
		idmanga=document.misopinionesform.idmanga.value;
		titopinion=document.misopinionesform.titopinion.value;
		idopinion=document.misopinionesform.idopinion.value;

		epleidos=document.misopinionesform.epleidos.value;
		opiniontxt=document.misopinionesform.opiniontxt.value;
		//var patron = /[&\<\>\'\"]/;
		var patron = /[&\'\"]/;
		
		if (trim(titopinion) == ''){
			dwr.util.setValue("misopinioneserrorupd", "Indique un título");
		}else if (titopinion.search(patron)!=-1){
			dwr.util.setValue("misopinioneserrorupd", "Caracteres no permitidos en el titulo &,\',\" ");
		}else if ((trim(epleidos) == '') || (!/^([0-9])*$/.test(epleidos)) || (trim(epleidos) == '0')){
			dwr.util.setValue("misopinioneserrorupd", "Número de episodios leidos incorrecto");
		}else if (trim(opiniontxt) == ''){
			dwr.util.setValue("misopinioneserrorupd", "Introduzca su opinión");
		}else if (opiniontxt.search(patron)!=-1){
			dwr.util.setValue("misopinioneserrorupd", "Caracteres no permitidos en la opinión &,\',\" ");
		}else{
			OpinionBean.updateOpinion(idopinion,idmanga,titopinion, epleidos, opiniontxt, function(data) {
			
				if (data!= null)
					dwr.util.setValue("misopinioneserrorupd", data);
				else{
					
					document.misopinionesform.idopinion.value = '';
					document.misopinionesform.idmanga.value = '';
					document.misopinionesform.titopinion.value = '';
					document.misopinionesform.epleidos.value = '0';
					document.misopinionesform.opiniontxt.value = '';
					dwr.util.setValue("misopinioneserrorupd", " ");
					actMisOpiniones('1');					
				}
						
			});
			
		}
		
	}

	function addMisOpiniones(){
	
	
		
		nickname=document.fmismensajes.nickname75.value;			
		idmanga=document.fmisopiniones.combomangaadd.options[document.fmisopiniones.combomangaadd.selectedIndex].value;
		titopinion=document.fmisopiniones.titopinion.value;
		epleidos=document.fmisopiniones.epleidos.value;
		opiniontxt=document.fmisopiniones.opiniontxt.value;
		var patron = /[&\<\>\'\"]/;
		
		if (idmanga == '0'){
			dwr.util.setValue("misopinioneserror", "Seleccione un manga");
		}else if (trim(titopinion) == ''){
			dwr.util.setValue("misopinioneserror", "Indique un título");
		}else if (titopinion.search(patron)!=-1){
			dwr.util.setValue("misopinioneserror", "Caracteres no permitidos en el titulo &,>,<,\',\" ");
		}else if ((trim(epleidos) == '') || (!/^([0-9])*$/.test(epleidos))||(trim(epleidos) == '0')){
			dwr.util.setValue("misopinioneserror", "Número de episodios leidos incorrecto");
		}else if (trim(opiniontxt) == ''){
			dwr.util.setValue("misopinioneserror", "Introduzca su opinión");
		}else if (opiniontxt.search(patron)!=-1){
			dwr.util.setValue("misopinioneserror", "Caracteres no permitidos en la opinión &,>,<,\',\" ");
		}else{
			
			Validacion.validarOpinion(idmanga, nickname, function(data) {
				
			if (data == null){
					
					OpinionBean.addOpinion(idmanga,titopinion, epleidos, opiniontxt, nickname, function(data) {
			
						if (data!= null)
							dwr.util.setValue("misopinioneserror", data);
						else{
							
							//document.fmisopiniones.combomangaadd.options[0].selected;
							//dwr.util.addOptions("combomangaadd",null, 'idmanga','titulo');
							removeAllOptions(document.fmisopiniones.combomangaadd);			
							document.fmisopiniones.titopinion.value = '';
							document.fmisopiniones.epleidos.value = '0';
							document.fmisopiniones.opiniontxt.value = '';
							dwr.util.setValue("misopinioneserror", " ");
							actMisOpiniones('1');					
						}
						
					});
				}else
					dwr.util.setValue("misopinioneserror", data);
			});
			
		}
		
	}

	/* 																								Mis Preferidos
	 * ---------------------------------------------------------------------------------------------------------------
	 */

	function ocultarMisPreferidos(){
		document.getElementById('mispreferidos').style.visibility='hidden';
		document.getElementById('addmispreferidos').style.visibility='hidden';
	//	document.getElementById('listmispreferidos').style.visibility='hidden';	
	}
	
	function actMisPreferidos(){
		ocultarAutor();
		ocultarEditorial();
		ocultarTipoManga();
		ocultarMisVotaciones();
		ocultarMisMensajes();
		ocultarMisOpiniones();
		
		var nickname=document.fmismensajes.nickname75.value;		
		
		document.getElementById('mispreferidos').style.visibility='visible';
		//document.getElementById('listmispreferidos').style.visibility='visible';
		document.getElementById('addmispreferidos').style.visibility='visible';
			
		dsMisPreferidosData.setURL("GenerateXMLData?categoria=12&tipocomic="+tipocomic+"&fecha="+new Date());
		dsMisPreferidosData.loadData();
		cargarCmbTitManga("combomangapreferadd", "mispreferidoserror", null);

	}

	function deleteMisPreferidos(idmanga){
		
		var nickname=document.fmismensajes.nickname75.value;
		MisPreferidosBean.deleteMisPreferidos(idmanga, nickname, function(data) {
			if (data!= null)
				dwr.util.setValue("mispreferidoserrordel", data);
			else
				actMisPreferidos();					
		});

	}

	function addMisPreferidos(){
		nickname=document.fmismensajes.nickname75.value;			
		idmanga=document.fmispreferidos.combomangapreferadd.options[document.fmispreferidos.combomangapreferadd.selectedIndex].value;
		
		if (idmanga == '0'){
			dwr.util.setValue("mispreferidoserror", "Seleccione un manga");
		}else{
			
			MisPreferidosBean.insertMisPreferidos(idmanga, nickname, function(data) {
			
				if (data!= null)
						dwr.util.setValue("mispreferidoserror", data);
				else{
							removeAllOptions(document.fmispreferidos.combomangapreferadd);			
							dwr.util.setValue("mispreferidoserror", " ");
							actMisPreferidos();					
				}
						
			});
		}
	}


	/* 																								Mis Votaciones
	 * ---------------------------------------------------------------------------------------------------------------
	 */

	function ocultarMisVotaciones(){
		document.getElementById('misvotaciones').style.visibility='hidden';
		document.getElementById('addmisvotaciones').style.visibility='hidden';
		document.getElementById('listmisvotaciones').style.visibility='hidden';	
		document.getElementById('updatemisvotaciones').style.visibility='hidden';	
		
	}
	
	function actMisVotaciones(operacion){
		
		ocultarAutor();
		ocultarEditorial();
		ocultarTipoManga();
		ocultarMisOpiniones();
		ocultarMisMensajes();
		ocultarMisPreferidos();
		
		document.getElementById('misvotaciones').style.visibility='visible';
		actSubMisVotaciones(operacion);		
	}

	function actSubMisVotaciones(operacion){
		var nickname=document.fmismensajes.nickname75.value;
		if (operacion == '1'){
			document.getElementById('addmisvotaciones').style.visibility='hidden';
			document.getElementById('updatemisvotaciones').style.visibility='hidden';
			document.getElementById('listmisvotaciones').style.visibility='visible';
			inicio=0;
			dsVotacionData.setURL("GenerateXMLData?categoria=7&fecha="+new Date()+"&inicio=" + inicio + "&paginas=" + paginas+"&tipocomic="+tipocomic);
			dsVotacionData.loadData();
		}else if (operacion == '2'){
			document.getElementById('listmisvotaciones').style.visibility='hidden';
			document.getElementById('updatemisvotaciones').style.visibility='hidden';
			document.getElementById('addmisvotaciones').style.visibility='visible';
			//cargarMisVotacionesCombo("votcombomangaadd");
			cargarCmbTitManga("votcombomangaadd", "misvotacioneserror", null);
		}
		
	}
	
	'{idvotacion}','{historia}','{dibujo}','{edicion}','{entretenimiento}','{idmanga}','{manga}'
	/* Obtiene los valores de las votaciones del modulo de actualización de las votaciones
	 */
	function misVotacionesInfo(idvotacion, historia, dibujo, edicion, entretenimiento, idmanga, manga){
		
		document.getElementById('updatemisvotaciones').style.visibility='visible';
		dwr.util.setValue("misvotacioneserrorupd", " ");

		document.misvotacionesform.idvotacion.value=idvotacion;
		document.misvotacionesform.idmanga.value=idmanga;
		historiacountupd.setValue(historia/1);
		artcountupd.setValue(dibujo/1);
		edicioncountupd.setValue(edicion/1);
		entretencountupd.setValue(entretenimiento/1);
		dwr.util.setValue("mangatitulo", manga);
	}
/*
	
	function cargarMisVotacionesCombo(combo){
		
		DataBean.getMangaList(null,function(data) {
				dwr.util.addOptions(combo,null, 'idmanga','titulo');
				dwr.util.addOptions(combo, [{ idmanga:'0', titulo:'-- Mangas --'}], 'idmanga', 'titulo');
				if (data== null)
					dwr.util.setValue("misvotacioneserror", data);
				else
					dwr.util.addOptions(combo,data, 'idmanga','titulo');
				
			});
			
	}
	*/
	
	/* Elimina una editorial siempre que no tenga mangas asociados.
	 */
	function deleteMisVotaciones(idvotacion, idmanga){
		
		VotacionBean.deleteVotacion(idvotacion, idmanga, function(data) {
			if (data!= null)
				dwr.util.setValue("misvotacioneserrordel", data);
			else
				actMisVotaciones('1');					
		});

	}

	/* Actualiza los valores de una votacion
	 */
	function updateMisVotaciones(){
		
		//alert(document.misvotacionesform.combomangaupd.selectedIndex);
		idmanga=document.misvotacionesform.idmanga.value;
		historia=historiacountupd.getValue(); 
		dibujo=artcountupd.getValue(); 
		edicion=edicioncountupd.getValue(); 
		entretenimiento=entretencountupd.getValue();
		idvotacion=document.misvotacionesform.idvotacion.value;

		if (idmanga == '0'){
			dwr.util.setValue("misvotacioneserror", "Seleccione un manga");
		}else if (historia == 1 && dibujo == 1 && edicion == 1 && entretenimiento == 1){
			dwr.util.setValue("misvotacioneserror", "Votación no válida");	
		}else{
				
			VotacionBean.updateVotacion(idvotacion,idmanga, historia, dibujo, edicion, entretenimiento, function(data) {
				if (data!= null)
					dwr.util.setValue("misvotacioneserrorupd", data);
				else{
					document.misvotacionesform.idmanga.value="";
					historiacountupd.setValue(1);
					artcountupd.setValue(1);
					edicioncountupd.setValue(1);
					entretencountupd.setValue(1);
					dwr.util.setValue("misvotacioneserrorupd", " ");
					actMisVotaciones('1');					
				}
			});
		}
	}


	function addMisVotaciones(){
		
		idmanga=document.fmisvotaciones.votcombomangaadd.options[document.fmisvotaciones.votcombomangaadd.selectedIndex].value;
		historia=historiacount.getValue(); 
		dibujo=artcount.getValue(); 
		edicion=edicioncount.getValue(); 
		entretenimiento=entretencount.getValue(); 
		nickname=document.fmismensajes.nickname75.value;
		
		if (idmanga == '0'){
			dwr.util.setValue("misvotacioneserror", "Seleccione un manga");
		}else if (historia == 1 && dibujo == 1 && edicion == 1 && entretenimiento == 1){
			dwr.util.setValue("misvotacioneserror", "Votación no válida");	
		}else{
			
			Validacion.validarVotacion(idmanga, nickname, function(data) {
				if (data == null){
					VotacionBean.addVotacion(idmanga, historia, dibujo, edicion, entretenimiento, nickname, function(data) {
						
						if (data!= null)
							dwr.util.setValue("misvotacioneserror", data);
						else{
										//document.fmisvotaciones.combomangaadd.options[0].selected;
							//dwr.util.addOptions("combomangaadd",null, 'idmanga','titulo');
							removeAllOptions(document.fmisvotaciones.votcombomangaadd);			
							
							dwr.util.setValue("misvotacioneserror", " ");
							historiacount.setValue(1);
							artcount.setValue(1);
							edicioncount.setValue(1);
							entretencount.setValue(1);
							actMisVotaciones('1');					
						}
						
					});
				}else
					dwr.util.setValue("misvotacioneserror", data);
			});
			
		}
		
	}
	

	/* 																								Editorial
	 * ---------------------------------------------------------------------------------------------------------------
	 */

	/* Oculta las capas de editoriales
	 */ 
	function ocultarEditorial(){
		document.getElementById('editoriales').style.visibility='hidden';
		document.getElementById('updateeditorial').style.visibility='hidden';
		document.getElementById('listeditorial').style.visibility='hidden';
	}

	/* Oculta el resto de las capas salvo las de las editoriales. Se activa el listado de las editoriales
	 */
	function actEditorial(){
		
		ocultarTipoManga();
		ocultarAutor();
		ocultarMisOpiniones();
		ocultarMisVotaciones();
		ocultarMisMensajes();
		ocultarMisPreferidos();
		//ocultarrecomendaciones();
		//ocultarmismanga();
		//document.getElementById('autores').style.visibility='hidden';
		
		document.getElementById('updateeditorial').style.visibility='hidden';
		document.getElementById('editoriales').style.visibility='visible';
		document.getElementById('listeditorial').style.visibility='visible';
		inicio=0;
		
		dsEditorialData.setURL("GenerateXMLData?categoria=2&fecha="+new Date()+"&inicio=" + inicio + "&paginas=" + paginas + "&tipocomic=" + tipocomic);
		dsEditorialData.loadData();

	}

	/* Obtiene los valores de las editoriales del modulo de actualización de las editoriales
	 */
	function editorialInfo(iditem, desitem, urlitem){
		document.getElementById('updateeditorial').style.visibility='visible';
		dwr.util.setValue("editorialerrorupd", "");
		document.editorialform.desitem.value=desitem;
		document.editorialform.url.value=urlitem;
		document.editorialform.iditem.value=iditem;
	}


	
	
	/* Actualiza los valores de la editorial.
	 */
	function updateEditorial(){
		
		
		desitem=document.editorialform.desitem.value;
		iditem=document.editorialform.iditem.value;
		urltm=document.editorialform.url.value;
		var patron = /[&\<\>\'\"]/;
		
		if (trim(desitem) == '')
			dwr.util.setValue("editorialerrorupd", "Introduzca editorial");
		else if (desitem.search(patron)!=-1)
			dwr.util.setValue("editorialerrorupd", "Caracteres no permitidos &,>,<,\',\" ");
		else if (urltm!='' && !isValidURL(urltm))
			dwr.util.setValue("editorialerrorupd", "Url no válida. Formato http://<direccion>");
		else{
			ItemBean.updateItem(iditem, desitem, urltm, tipocomic, function(data) {
				if (data!= null)
					dwr.util.setValue("editorialerrorupd", data);
				else{
					dwr.util.setValue("editorialerrorupd", "");
					actEditorial();					
				}
			});
			
		}
		
	}

	/* Elimina una editorial siempre que no tenga mangas asociados.
	 */
	function deleteEditorial(iditem){
		
		Validacion.existeItem('2',iditem, tipocomic, function(data) {
				if (data!= null)
					dwr.util.setValue("editorialerrordel", data);
				else{
					ItemBean.deleteItem('2',iditem, tipocomic, function(data) {
						if (data!= null)
							dwr.util.setValue("editorialerrordel", data);
						else
							actEditorial();					
					});
				}
		});

	}


	/* Añade una editorial
	 */
	function addEditorial(){
		
		desitem=document.feditorial.desitem.value;
		urltm=document.feditorial.url.value;
		var patron = /[&\<\>\'\"]/;
		
		if (trim(desitem) == '')
			dwr.util.setValue("editorialerror", "Introduzca editorial");
		else if (desitem.search(patron)!=-1)
			dwr.util.setValue("editorialerror", "Caracteres no permitidos &,>,<,\',\" ");
		else if (urltm!='' && !isValidURL(urltm))
			dwr.util.setValue("editorialerror", "Url no válida. Formato http://<direccion>");
		else{
			Validacion.validarItem('2',desitem, tipocomic, function(data) {
				
				if (data == null){
					ItemBean.addItem('2',desitem, urltm, tipocomic, function(data) {
					
						if (data!= null)
							dwr.util.setValue("editorialerror", data);
						else{

							document.feditorial.desitem.value = '';
							document.feditorial.url.value = '';
							dwr.util.setValue("editorialerror", "");
							actEditorial();					
						}
						
					});
				}else
					dwr.util.setValue("editorialerror", data);
			});
		}
		
	}

	
	/* 																								Tipos de manga
	 * ---------------------------------------------------------------------------------------------------------------
	 */

	
	/* Actualiza los valores de un tipo de manga.
	 */
	function updateTipoManga(){
		
		desitem=document.tipomangaform.desitem.value;
		iditem=document.tipomangaform.iditem.value;
		urltm=document.tipomangaform.url.value;
		var patron = /[&\<\>\'\"]/;
		
		if (trim(desitem) == ''){
			dwr.util.setValue("tipomangaerrorupd", "Introduzca tipo de manga");
		}else if (desitem.search(patron)!=-1){
			dwr.util.setValue("tipomangaerrorupd", "Caracteres no permitidos &,>,<,\',\" ");
		}else if (urltm!='' && !isValidURL(urltm)){
			dwr.util.setValue("tipomangaerrorupd", "Url no válida. Formato http://<direccion>");
		}else{
			ItemBean.updateItem(iditem, desitem, urltm, tipocomic, function(data) {
				if (data!= null)
					dwr.util.setValue("tipomangaerrorupd", data);
				else{
					dwr.util.setValue("tipomangaerrorupd", "");
					actTipoManga();					
				}
			});
			
		}
	}
		 
	
	/* Elimina un tipo de manga siempre que no tenga mangas asociados.
	 */
	function deleteTipoManga(iditem){
		
		Validacion.existeItem('1',iditem, tipocomic,function(data) {
				if (data!= null)
					dwr.util.setValue("tipomangaerrordel", data);
				else{
					ItemBean.deleteItem('1',iditem, tipocomic, function(data) {
						if (data!= null)
							dwr.util.setValue("tipomangaerrordel", data);
						else
							actTipoManga();					
					});
				}
		});
		 
	}
	
	
	/* Añade un tipo de manga
	 */
	function addTipoManga(){
		
		desitem=document.ftipomanga.desitem.value;
		urltm=document.ftipomanga.url.value;
		var patron = /[&\<\>\'\"]/;
		
		if (trim(desitem) == ''){
			dwr.util.setValue("tipomangaerror", "Introduzca tipo de manga");
		}else if (desitem.search(patron)!=-1){
			dwr.util.setValue("tipomangaerror", "Caracteres no permitidos &,>,<,\',\" ");
		}else if (urltm!='' && !isValidURL(urltm)){
			dwr.util.setValue("tipomangaerror", "Url no válida. Formato http://<direccion>");
		}else{
			Validacion.validarItem('1',desitem, tipocomic, function(data) {
				
				if (data == null){
					ItemBean.addItem('1',desitem, urltm, tipocomic, function(data) {
					
						if (data!= null)
							dwr.util.setValue("tipomangaerror", data);
						else{

							document.ftipomanga.desitem.value = '';
							document.ftipomanga.url.value = '';
							dwr.util.setValue("tipomangaerror", "");
							actTipoManga();					
						}
						
					});
				}else
					dwr.util.setValue("tipomangaerror", data);
			});
		}
	}
	
	/* Oculta el resto de las capas salvo las de tipo de manga. Se activa el listado de los tipos de manga
	 */
	function actTipoManga(){
		ocultarEditorial();
		ocultarAutor();
		ocultarMisOpiniones();
		ocultarMisVotaciones();
		ocultarMisMensajes();
		ocultarMisPreferidos();
		//ocultarrecomendaciones();
		//ocultarmismanga();
		//document.getElementById('autores').style.visibility='hidden';
		
		document.getElementById('updatetipomanga').style.visibility='hidden';
		document.getElementById('tipomanga').style.visibility='visible';
		document.getElementById('listtipomanga').style.visibility='visible';
		inicio=0;
		
		dsTipoMangaData.setURL("GenerateXMLData?categoria=1&tipocomic="+tipocomic+"&fecha="+new Date()+"&inicio=" + inicio + "&paginas=" + paginas);
		dsTipoMangaData.loadData();
	}
	
	/* Obtiene los valores de los tipos de manga del modulo de los tipos de manga
	 */
	function tipoMangaInfo(iditem, desitem, urlitem){
	
		document.getElementById('updatetipomanga').style.visibility='visible';
		dwr.util.setValue("tipomangaerrorupd", "");
		document.tipomangaform.desitem.value=desitem;
		document.tipomangaform.url.value=urlitem;
		document.tipomangaform.iditem.value=iditem;
		
	}
	
	/* Oculta las capas de tipos de manga
 	 */ 
	function ocultarTipoManga(){
		
		document.getElementById('tipomanga').style.visibility='hidden';
		document.getElementById('updatetipomanga').style.visibility='hidden';
		document.getElementById('listtipomanga').style.visibility='hidden';
		
	}
	

	/* 																								Autores
	 * ---------------------------------------------------------------------------------------------------------------
	 */
	
	
		function actAutor(){
			ocultarEditorial();
			ocultarTipoManga();
			ocultarMisOpiniones();
			ocultarMisVotaciones();
			ocultarMisMensajes();
			ocultarMisPreferidos();
			
			document.getElementById('updateautor').style.visibility='hidden';
			document.getElementById('autor').style.visibility='visible';
			document.getElementById('listautor').style.visibility='visible';
			inicio=0;
			
			dsAutorData.setURL("GenerateXMLData?categoria=3&tipocomic="+tipocomic+"&fecha="+new Date()+"&inicio=" + inicio + "&paginas=" + paginas);
			dsAutorData.loadData();
			
		}
	
		/* Obtiene los valores de los autores del modulo de los autores
		 */
		function autorInfo(idautor, nombreautor, urlautor, guion, dibujo, tinta){
		
			document.getElementById('updateautor').style.visibility='visible';
			dwr.util.setValue("autorerrorupd", "");
			document.autorform.nombreautor.value=nombreautor;
			document.autorform.url.value=urlautor;
			document.autorform.idautor.value=idautor;
			
			if (guion=='Si')
				document.autorform.guion.checked=1;
			else
				document.autorform.guion.checked=0;
			if (dibujo=='Si')
				document.autorform.dibujo.checked=1;
			else
				document.autorform.dibujo.checked=0;
			if (tinta=='Si')
				document.autorform.tinta.checked=1;
			else
				document.autorform.tinta.checked=0;
			
		}
		
		/* Oculta las capas de autor
	 	 */ 
		function ocultarAutor(){
			
			document.getElementById('autor').style.visibility='hidden';
			document.getElementById('updateautor').style.visibility='hidden';
			document.getElementById('listautor').style.visibility='hidden';
			
		}	
	
		/* Elimina un autor siempre que no tenga mangas asociados.
		 */
		function deleteAutor(idautor){
			
			Validacion.existeItem('3',idautor, tipocomic,function(data) {
					if (data!= null)
						dwr.util.setValue("autorerrordel", data);
					else{
						AutorBean.deleteAutor(idautor, tipocomic, function(data) {
							if (data!= null)
								dwr.util.setValue("autorerrordel", data);
							else
								actAutor();					
						});
					}
			});
	
		}	
	
		function addAutor(){
		
			nombreautor=document.fautor.nombreautor.value;
			urlautor=document.fautor.url.value;
			guion = '0';
			if (document.fautor.guion.checked)
				guion='1';
			
			dibujo = '0';
			if (document.fautor.dibujo.checked)
				dibujo='1';
			
			tinta = '0';
			if (document.fautor.tinta.checked)
				tinta='1';
				
			var patron = /[&\<\>\'\"]/;
			
			if (trim(nombreautor) == ''){
				dwr.util.setValue("autorerror", "Introduzca autor");
			}else if (nombreautor.search(patron)!=-1){
				dwr.util.setValue("autorerror", "Caracteres no permitidos &,>,<,\',\" ");
			}else if (urlautor!='' && !isValidURL(urlautor)){
				dwr.util.setValue("autorerror", "Url no válida. Formato http://<direccion>");
			}else if (guion=='0' && dibujo=='0' && tinta=='0'){ 
				dwr.util.setValue("autorerror", "Catalogue al autor");
			}else{
				Validacion.validarItem('3',nombreautor, tipocomic, function(data) {
					
					if (data == null){
						AutorBean.addAutor(nombreautor, urlautor, guion, dibujo, tinta, tipocomic, function(data) {
						
							if (data!= null)
								dwr.util.setValue("autorerror", data);
							else{
	
								document.fautor.nombreautor.value = '';
								document.fautor.url.value = '';
								document.fautor.guion.checked = false;
								document.fautor.dibujo.checked = false;
								document.fautor.tinta.checked = false;
								dwr.util.setValue("autorerror", "");
								actAutor();					
							}
							
						});
					}else
						dwr.util.setValue("autorerror", data);
				});
			}
		}


		/* Actualiza los valores de un autor.
		 */
		function updateAutor(){
			
			
			nombreautor=document.autorform.nombreautor.value;
			urlautor=document.autorform.url.value;
			guion = '0';
			if (document.autorform.guion.checked)
				guion='1';
				
			dibujo = '0';
			if (document.autorform.dibujo.checked)
				dibujo='1';
				
			tinta = '0';
			if (document.autorform.tinta.checked)
				tinta='1';
					
			var patron = /[&\<\>\'\"]/;
				
			if (trim(nombreautor) == ''){
				dwr.util.setValue("autorerrorupd", "Introduzca autor");
			}else if (nombreautor.search(patron)!=-1){
				dwr.util.setValue("autorerrorupd", "Caracteres no permitidos &,>,<,\',\" ");
			}else if (urlautor!='' && !isValidURL(urlautor)){
				dwr.util.setValue("autorerrorupd", "Url no válida. Formato http://<direccion>");
			}else if (guion=='0' && dibujo=='0' && tinta=='0'){ 
				dwr.util.setValue("autorerrorupd", "Catalogue al autor");
			}else{
				var autor = { idautor:null, nombreautor:null, url:null, guion:null, dibujo:null, tinta:null};
				dwr.util.getValues(autor);
				autor.nombreautor=document.autorform.nombreautor.value;
				autor.url=document.autorform.url.value;
				autor.idautor=document.autorform.idautor.value;
				autor.guion=guion;
				autor.dibujo=dibujo;
				autor.tinta=tinta;
				AutorBean.updateAutor(autor, function(data) {
							
					if (data!= null)
							dwr.util.setValue("autorerrorupd", data);
					else{
						document.fautor.nombreautor.value = '';
						document.fautor.url.value = '';
						dwr.util.setValue("autorerrorupd", "");
						actAutor();					
					}
				});
			}
		}
		


	/* 																								Mensajes
	 * ---------------------------------------------------------------------------------------------------------------
	 */
		
		function preguntar(){
			getKaptcha('fpreguntas');
			email = document.fpreguntas.email.value;
			mensaje = document.fpreguntas.mensaje.value;
			kaptchareceived = document.fpreguntas.kaptchareceived.value;
			kaptchaexpected = document.getElementById('kaptchacode').innerHTML;
			
			var patron = /[&\<\>\'\"]/;
			if (trim(email) == '' || !isValidEmail(email))
				dwr.util.setValue("preguntaerror", "Dirección de correo no válida");
			else if (email.length > 140)
				dwr.util.setValue("preguntaerror", "Dirección de correo muy larga");
			else if (trim(mensaje)== '')
				dwr.util.setValue("preguntaerror", "Haga su propuesta");
			else if ((mensaje.search(patron)!=-1))
				dwr.util.setValue("preguntaerror", "Caracteres no permitidos en la pregunta o comentario &,>,<,\',\" ");
			else if (mensaje.length > 250)
				dwr.util.setValue("preguntaerror", "El tamaño máximo de la pregunta es 250 caracteres");
			else if (trim(kaptchareceived)== '')
				dwr.util.setValue("preguntaerror", "Comprueba el texto de la imagen");
			else if (kaptchareceived != kaptchaexpected)
				dwr.util.setValue("preguntaerror", "No coincide el texto introducido con el de la imagen");
			else{
			
				
				MensajeBean.addMensaje(email, 'comics75', mensaje, function(data) {
		
					if (data!= null && trim(data) != '')
						dwr.util.setValue("preguntaerror", data);
					else{
						document.fpreguntas.action='index.jsp';
						document.fpreguntas.submit();
						//dwr.util.setValue("preguntaerror", "Mensaje enviado");
					}
				
				});
			}
			
		}	
		
		function getKaptcha(formulario){
			valor = document.fpreguntas.kaptchareceived.value;
			dsKaptchaData.setURL("KaptchaServlet?texto="+valor+"&fecha="+new Date(), "kaptcha/mensaje");
			dsKaptchaData.loadData();
		
		}

		function validarMensaje(idusuariodest,mensaje,kaptchareceived,kaptchaexpected, etiquetaerror){
			
			var patron = /[&\<\>\'\"]/;
			if (idusuariodest == '0'){
				dwr.util.setValue(etiquetaerror, "Seleccione un usuario");
			}else if (trim(mensaje) == ''){
				dwr.util.setValue(etiquetaerror, "El mensaje no puede estar vacío");
			}else if (mensaje.search(patron)!=-1){
				dwr.util.setValue(etiquetaerror, "Caracteres no permitidos en el mensaje &,>,<,\',\" ");
			}else if (kaptchareceived!=kaptchaexpected){									
				dwr.util.setValue(etiquetaerror, "Introduzca el texto de la imagen correctamente");
			}else{
				return true;
			}
			return false;
			
		}	
	
	function mostrarMensaje(){
		document.getElementById('mensaje_box').style.visibility='visible';
		document.getElementById('submensaje_box').style.visibility='visible';
	}
	
	function ocultarMisMensajes(){
		document.getElementById('mismensajes').style.visibility='hidden';
		document.getElementById('addmismensajes').style.visibility='hidden';
		document.getElementById('listmismensajes').style.visibility='hidden';	
	//	document.getElementById('updatemismensajes').style.visibility='hidden';	
		
	}
	
	function actMisMensajes(operacion){
		
		ocultarAutor();
		ocultarEditorial();
		ocultarTipoManga();
		ocultarMisVotaciones();
		ocultarMisOpiniones();
		ocultarMisPreferidos();
		
		document.getElementById('mismensajes').style.visibility='visible';
		actSubMisMensajes(operacion);		
	}

	function actSubMisMensajes(operacion){
		var nickname=document.fmismensajes.nickname75.value;		
		
		if (operacion == '1'){
			
			document.getElementById('addmismensajes').style.visibility='hidden';
		//	document.getElementById('updatemismensajes').style.visibility='hidden';
			
			document.getElementById('listmismensajes').style.visibility='visible';
			iniciosend=0;
			inicioreceived=0;
			
			dsMensajeSendData.setURL("GenerateXMLData?categoria=81&tipomensaje=1&fecha="+new Date()+"&inicio=" + iniciosend + "&paginas=" + paginas);
			dsMensajeSendData.loadData();
			dsMensajeRecData.setURL("GenerateXMLData?categoria=82&tipomensaje=2&fecha="+new Date()+"&inicio=" + inicioreceived + "&paginas=" + paginas);
			dsMensajeRecData.loadData();
		}else if (operacion == '2'){
			document.getElementById('listmismensajes').style.visibility='hidden';
			//document.getElementById('updatemismensajes').style.visibility='hidden';
			document.getElementById('addmismensajes').style.visibility='visible';
			cargarUsuariosCombo("combousuarioadd");
		}
		
	}
	
	function misMensajesInfo(idopinion, titopinion, opiniontxt, idmanga, manga, epleidos){
		
		document.getElementById('updatemismensajes').style.visibility='visible';
		dwr.util.setValue("mismensajeserrorupd", " ");

		document.mismensajesform.idmensaje.value=idopinion;
		document.mismensajesform.mensaje.value=titopinion;
		cargarUsuariosCombo("combousuarioupd");
		encontrado=false;
		i=0;
		posi=0;
		

		while ((!encontrado) && (i < document.mismensajesform.combousuarioupd.options.length)){
			
			if (document.mismensajesform.combousuarioupd.options[i].value == idusuario){
				posi = i;
				encontrado = true;
			}else
				i = i+1;
				
		}
		document.mismensajesform.combousuarioupd.options[posi].selected=true;
		
	}

	
	function cargarUsuariosCombo(combo){
		
		DataBean.getUsuarioList(function(data) {
				dwr.util.addOptions(combo,null, 'idusuario','nickname');
				dwr.util.addOptions(combo, [{ idusuario:'0', nickname:'-- Usuarios --'}], 'idusuario', 'nickname');
				if (data== null)
					dwr.util.setValue("mismensajeserror", data);
				else
					dwr.util.addOptions(combo,data, 'idusuario','nickname');
				
			});
			
	}
	
	
	/* Elimina una editorial siempre que no tenga mangas asociados.
	 */
	function deleteMisMensajes(idmensaje){
		
		MensajeBean.deleteMensaje(idmensaje, function(data) {
			if (data!= null)
				dwr.util.setValue("mismensajeserrordel", data);
			else
				actMisMensajes('1');					
		});

	}

	function abrirMensajeRec(){
		
		document.getElementById('mensajerec_box').style.visibility='visible';
	}

	function abrirMensajeSend(){
		
		document.getElementById('mensajesend_box').style.visibility='visible';
	}
	
	function cierreMensaje(){
		document.getElementById('mensajerec_box').style.visibility='hidden';
		document.getElementById('mensajesend_box').style.visibility='hidden';
	}
	
	function addMisMensajes(){
		idusuariodest=document.fmismensajes.combousuarioadd.options[document.fmismensajes.combousuarioadd.selectedIndex].value;
		mensaje=document.fmismensajes.mensaje.value;
		nicknameorig=document.fmismensajes.nickname75.value;
		kaptchareceived = document.fmismensajes.kaptchareceived.value;
		kaptchaexpected = document.getElementById('kaptchacode').innerHTML;
		
		if (validarMensaje(idusuariodest, mensaje, kaptchareceived, kaptchaexpected, 'mismensajeserror')){
		
			MensajeBean.addMensaje(nicknameorig, idusuariodest, mensaje, function(data) {
			
				if (data!= null)
					dwr.util.setValue("mismensajeserror", data);
				else{
					removeAllOptions(document.fmismensajes.combousuarioadd);			
					document.fmismensajes.mensaje.value = '';
					document.fmismensajes.kaptchareceived.value = '';
					dwr.util.setValue("mismensajeserror", " ");
					actMisMensajes('1');					
				}
			});
					
		}
			
		
	}


	/* 																								Manga
	 * ---------------------------------------------------------------------------------------------------------------
	 */

	
	
	function addManga(){
		etiquetaerror = 'mismangaerror';
		
		//var manga = { titulo:null, titulooriginal:null, estado:null, portadas:null, pathimg:null, publicacion:null, volumenes:null, resumen:null, idguion:null, , mangadibujo:null, mangatinta:null, mangaeditorial:null, mangatipomanga:null, mangacolor:null, nickname75: null };
		var autor = { idautor:null};
		var autor2 = { idautor:null};
		var autor3 = { idautor:null};
		var item = { iditem:null};
		var item2 = { iditem:null};
		var item3 = { iditem:null};
		var item4 = { iditem:null};
		var manga = { mangatitulo:null, mangatitulooriginal:null, mangapathimg:null, mangaestado:null, mangapublicacion:null, mangavolumenes:null, mangaresumen:null, mangaguion: null, mangadibujo:null, mangatinta:null, mangaeditorial:null, mangatipomanga:null, mangacolor:null};
		dwr.util.getValues(manga);
	  // El valor de la fecha de publicación se ajusta cuando se añade la fecha de publicación de cada portada
	  manga.mangapublicacion=null;
	  autor.idautor = document.faddmanga.mangaidguion.options[document.faddmanga.mangaidguion.selectedIndex].value;
	  manga.mangaguion=autor;
	  autor2.idautor = document.faddmanga.mangaiddibujo.options[document.faddmanga.mangaiddibujo.selectedIndex].value;
	  manga.mangadibujo=autor2;
	  autor3.idautor = document.faddmanga.mangaidtinta.options[document.faddmanga.mangaidtinta.selectedIndex].value;
	  manga.mangatinta=autor3;
	  item.iditem = document.faddmanga.mangaideditorial.options[document.faddmanga.mangaideditorial.selectedIndex].value;
	  manga.mangaeditorial=item;
	  item2.iditem = document.faddmanga.mangaidtipomanga.options[document.faddmanga.mangaidtipomanga.selectedIndex].value;
	  manga.mangatipomanga=item2;
	  item3.iditem = document.faddmanga.mangaidcolor.options[document.faddmanga.mangaidcolor.selectedIndex].value;
	  manga.mangacolor=item3;
	  item4.iditem = document.faddmanga.mangaidestado.options[document.faddmanga.mangaidestado.selectedIndex].value;
	  manga.mangaestado=item4;
	    
		
		Validacion.validateManga(manga, document.faddmanga.openfilem.value, 0, function(data){
				if (data!= null)
					dwr.util.setValue(etiquetaerror, data);				
				else
					document.faddmanga.submit();	
				
		});
	
	}
	
	function modifyManga(idmanga){
		etiquetaerror = 'mismangaupderror';
		kaptchareceived = document.fmodifymanga.kaptchareceived.value;
		kaptchaexpected = document.getElementById('kaptchacode').innerHTML;
		
		if (kaptchareceived == kaptchaexpected){
			//var manga = { titulo:null, titulooriginal:null, estado:null, portadas:null, pathimg:null, publicacion:null, volumenes:null, resumen:null, idguion:null, , mangadibujo:null, mangatinta:null, mangaeditorial:null, mangatipomanga:null, mangacolor:null, nickname75: null };
			var autor = { idautor:null};
			var autor2 = { idautor:null};
			var autor3 = { idautor:null};
			var item = { iditem:null};
			var item2 = { iditem:null};
			var item3 = { iditem:null};
			var item4 = { iditem:null};
			var manga = { mangatitulo:null, mangatitulooriginal:null, mangapathimg:null, mangaestado:null, mangapublicacion:null, mangavolumenes:null, mangaresumen:null, mangaguion: null, mangadibujo:null, mangatinta:null, mangaeditorial:null, mangatipomanga:null, mangacolor:null};
			var mangaupd = { mangatitulooriginalupd:null, mangavolumenesupd:null, mangaresumenupd:null};
			dwr.util.getValues(mangaupd);
			manga.mangatitulooriginal = mangaupd.mangatitulooriginalupd;
			manga.mangavolumenes = mangaupd.mangavolumenesupd;
			manga.mangaresumen = mangaupd.mangaresumenupd;
			
		  
		  autor.idautor = document.fmodifymanga.mangaidguionupd.options[document.fmodifymanga.mangaidguionupd.selectedIndex].value;
		  manga.mangaguion=autor;
		  autor2.idautor = document.fmodifymanga.mangaiddibujoupd.options[document.fmodifymanga.mangaiddibujoupd.selectedIndex].value;
		  manga.mangadibujo=autor2;
		  autor3.idautor = document.fmodifymanga.mangaidtintaupd.options[document.fmodifymanga.mangaidtintaupd.selectedIndex].value;
		  manga.mangatinta=autor3;
		  item.iditem = document.fmodifymanga.mangaideditorialupd.options[document.fmodifymanga.mangaideditorialupd.selectedIndex].value;
		  manga.mangaeditorial=item;
		  item2.iditem = document.fmodifymanga.mangaidtipomangaupd.options[document.fmodifymanga.mangaidtipomangaupd.selectedIndex].value;
		  manga.mangatipomanga=item2;
		  item3.iditem = document.fmodifymanga.mangaidcolorupd.options[document.fmodifymanga.mangaidcolorupd.selectedIndex].value;
		  manga.mangacolor=item3;
		  item4.iditem = document.fmodifymanga.mangaidestadoupd.options[document.fmodifymanga.mangaidestadoupd.selectedIndex].value;
		  manga.mangaestado=item4;
		  
			
			Validacion.validateManga(manga, null, 1, function(data){
					if (data!= null)
						dwr.util.setValue(etiquetaerror, data);				
					else
						document.fmodifymanga.submit();		
			});
		}else
				dwr.util.setValue(etiquetaerror, 'El texto introducido no coincide con el de la imagen');				
	}

	function deleteManga(idmanga, pathimg){

		MangaBean.deleteManga(idmanga, pathimg, function(data) {
			
			if (data!= '')
				dwr.util.setValue("mismangalisterror", data);
			else{

				dsMangaData.setURL("GenerateXMLData?categoria=4&inicio=0&paginas="+paginas+"&fecha="+new Date());
				dsMangaData.loadData();
			}
		});

	}


	
	/* 																								Portadas
	 * ---------------------------------------------------------------------------------------------------------------
	 */
	 
	function actPortadas(){
		
		var Url2 = location.href;
		var pos=Url2.indexOf("insertManga.do");
   	if (pos>=0)
      actManga();
   	else{
   		document.getElementById('addmismanga').style.visibility='hidden';
			document.getElementById('modifymismanga').style.visibility='hidden';
			document.getElementById('addportada').style.visibility='visible';
			usuario=document.faddportada.nickname75.value;
			cargarCmbTitManga('idcomic','portadaerror', usuario);		
		}
	}
	
	function damePortadas(comic){
		inicio=0;
		dsPortadaData.setURL("GenerateXMLData?categoria=11&fecha="+new Date()+"&inicio=" + inicio + "&paginas=" + paginas + "&comic=" + comic);
		dsPortadaData.loadData();
		document.getElementById('listportada').style.visibility='visible';
		
	}
	
	function getFileUpload(tipo){
		if (tipo == 'g')
			dwr.util.setValue("filenameuploadg", document.faddportada.openfileg.value);
		else if (tipo == 'p')
			dwr.util.setValue("filenameuploadp", document.faddportada.openfilep.value);
		else if (tipo == 'm')
			dwr.util.setValue("filenameuploadm", document.faddmanga.openfilem.value);
	 
  }
  
  function addPortada(){
  	var pnumerico = /[0-9]{1,3}/;
  	var patron = /[&\<\>\'\"]/;
  	
  	if (document.faddportada.idcomic.options[document.faddportada.idcomic.selectedIndex].value == 0)
  		dwr.util.setValue("portadamsg", "Seleccione un manga");
  	else if (!pnumerico.test(document.faddportada.numeroport.value))
  		dwr.util.setValue("portadamsg", "El campo Número deberá ser numérico");
  	else if ((trim(document.faddportada.numpaginas.value) != '') && (!pnumerico.test(document.faddportada.numpaginas.value)))
  		dwr.util.setValue("portadamsg", "El campo Páginas deberá ser numérico");	
  	else if (patron.test(document.faddportada.fechapub.value))
  		dwr.util.setValue("portadamsg", "La fecha de publicación no admite los caracteres &<>\'\"");	
  	else if ((trim(document.faddportada.openfileg.value) == '') 
  			&& (trim(document.faddportada.openfilep.value) == '')
  			&& (document.faddportada.operacion.value=='add'))
  		dwr.util.setValue("portadamsg", "Seleccione una portada a subir. Grande y/o pequeña");	
  	else if ((trim(document.faddportada.resumenport.value) != '') && (trim(document.faddportada.resumenport.value).length >300))
  		dwr.util.setValue("portadamsg", "El resumen no puede exceder de 300 caracteres");	
  	else if (patron.test(document.faddportada.resumenport.value))
  		dwr.util.setValue("portadamsg", "El resumen no admite los caracteres &<>\'\"");	
  	else{
  		if (document.faddportada.operacion.value=='add')
  			document.faddportada.submit();
  		else{
  			document.faddportada.action= 'updatePortada.do';
  			document.faddportada.submit();
  		}
  	}
  }

	/* Elimina una editorial siempre que no tenga mangas asociados.
	 */
	function deletePortada(idportada, idcomic, patron, imageng, imagenp){
		posi = document.faddportada.idcomic.selectedIndex;
		
		PortadaBean.deletePortada(idportada, patron, imageng, imagenp, function(data) {
			if (data!= null)
				dwr.util.setValue("portadamsg", data);
			else{
				document.faddportada.idcomic.options[posi].selected;
				damePortadas(idcomic);
			}
		});

	}

	function loadInfoPortada(idportada, numeroport, numpaginas, fechapub, resumenport, imageng, imagenp, titulo){
		
		document.faddportada.numeroport.value=numeroport;
		document.faddportada.numpaginas.value=numpaginas;
		document.faddportada.fechapub.value=fechapub;
		document.faddportada.resumenport.value=resumenport;
		dwr.util.setValue("filenameuploadg", imageng);
		dwr.util.setValue("filenameuploadp", imagenp);
		document.faddportada.operacion.value='modify';
		document.faddportada.idportada.value=idportada;
		document.faddportada.titulo.value=titulo;
	}


/* 																								Manga 2
 * ---------------------------------------------------------------------------------------------------------------
 */


 function actManga(){
 	
 	document.getElementById('addportada').style.visibility='hidden';
 	document.getElementById('listportada').style.visibility='hidden';
 	document.getElementById('modifymismanga').style.visibility='hidden';
 	document.getElementById('addmismanga').style.visibility='visible';
 	cargarMangaCombos('mangaidguion','mangaiddibujo','mangaidtinta','mangaidtipomanga','mangaideditorial',
 		'mangaidcolor', 'mangaidestado','mismensajeserror');
 }

 function actModifyManga(idguion,iddibujo,idtinta,idtipomanga,ideditorial, idestado, idcolor){
 	
 	document.getElementById('addportada').style.visibility='hidden';
 	document.getElementById('listportada').style.visibility='hidden';
 	document.getElementById('addmismanga').style.visibility='hidden';
 	document.getElementById('modifymismanga').style.visibility='visible';
 	
 	cargarMangaCombos('mangaidguionupd','mangaiddibujoupd','mangaidtintaupd','mangaidtipomangaupd','mangaideditorialupd',
 		'mangaidcolorupd', 'mangaidestadoupd', '"mismensajeserrorupd',
 		idguion,iddibujo,idtinta,idtipomanga,ideditorial, idcolor, idestado, true);
 }
 

 /* Se utiliza para completar el combo de añadir manga.
	 */
	function cargarCmbTitManga(combo, msgerror, usuario){
		dwr.util.removeAllOptions(combo);
		DataBean.getMangaList(usuario, tipocomic, function(data) {
			
				dwr.util.addOptions(combo,null, 'idmanga','titulo');
				dwr.util.addOptions(combo, [{ idmanga:'0', titulo:'-- Mangas --'}], 'idmanga', 'titulo');
				if (data== null)
					dwr.util.setValue(msgerror, data);
				else
					dwr.util.addOptions(combo,data, 'idmanga','titulo');
				
			});
	}
	
	
	function cargarMangaCombos(comboguion, combodibujo, combotinta, combotipomanga, comboeditorial, combocolor, comboestado, mensajeerror,
			valorguion, valordibujo, valortinta, valortipomanga, valoreditorial, valorcolor, valorestado, tipoupd){

		DataBean.getAutorList('1', function(data) {
				dwr.util.addOptions(comboguion,null, 'idautor','nombreautor');
				dwr.util.addOptions(comboguion, [{ idautor:'0', nombreautor:'-- Autor --'}], 'idautor', 'nombreautor');
				if (data== null)
					dwr.util.setValue(mensajeerror, data);
				else{
					dwr.util.addOptions(comboguion,data, 'idautor','nombreautor');
					if (tipoupd){
						for (var i=0; i < document.fmodifymanga.mangaidguionupd.length; i++) {
				
							if (document.fmodifymanga.mangaidguionupd[i].value == valorguion) 
								document.fmodifymanga.mangaidguionupd[i].selected = true;
							
						}
					}
				}
		});
		
		DataBean.getAutorList('2', function(data) {
				dwr.util.addOptions(combodibujo,null, 'idautor','nombreautor');
				dwr.util.addOptions(combodibujo, [{ idautor:'0', nombreautor:'-- Autor --'}], 'idautor', 'nombreautor');
				if (data== null)
					dwr.util.setValue(mensajeerror, data);
				else{
					dwr.util.addOptions(combodibujo,data, 'idautor','nombreautor');
					if (tipoupd){
						for (var i=0; i < document.fmodifymanga.mangaiddibujoupd.length; i++) {
							if (document.fmodifymanga.mangaiddibujoupd[i].value == valordibujo) 
								document.fmodifymanga.mangaiddibujoupd[i].selected = true;
							
						}
					}
				}
		});
		
		DataBean.getAutorList('2', function(data) {
				dwr.util.addOptions(combotinta,null, 'idautor','nombreautor');
				dwr.util.addOptions(combotinta, [{ idautor:'0', nombreautor:'-- Autor --'}], 'idautor', 'nombreautor');
				if (data== null)
					dwr.util.setValue(mensajeerror, data);
				else{
					dwr.util.addOptions(combotinta,data, 'idautor','nombreautor');
					if (tipoupd){
						for (var i=0; i < document.fmodifymanga.mangaidtintaupd.length; i++) {
							if (document.fmodifymanga.mangaidtintaupd[i].value == valortinta) 
								document.fmodifymanga.mangaidtintaupd[i].selected = true;
						}	
					}
				}
		});
		
		//Tipo de manga
		DataBean.getItemList('1', function(data) {
				dwr.util.addOptions(combotipomanga,null, 'iditem','desitem');
				dwr.util.addOptions(combotipomanga, [{ iditem:'0', desitem:'-- Tipo Manga --'}], 'iditem', 'desitem');
				if (data== null)
					dwr.util.setValue(mensajeerror, data);
				else{
					dwr.util.addOptions(combotipomanga,data, 'iditem','desitem');
					if (tipoupd){
						for (var i=0; i < document.fmodifymanga.mangaidtipomangaupd.length; i++) {
							
							if (document.fmodifymanga.mangaidtipomangaupd[i].value == valortipomanga)
								document.fmodifymanga.mangaidtipomangaupd[i].selected = true;
						}
					}
				}
		});
		
		// Editorial
		DataBean.getItemList('2', function(data) {
				dwr.util.addOptions(comboeditorial,null, 'iditem','desitem');
				dwr.util.addOptions(comboeditorial, [{ iditem:'0', desitem:'-- Editorial --'}], 'iditem', 'desitem');
				if (data== null)
					dwr.util.setValue(mensajeerror, data);
				else{
					dwr.util.addOptions(comboeditorial,data, 'iditem','desitem');
					if (tipoupd){
						for (var i=0; i < document.fmodifymanga.mangaideditorialupd.length; i++) {
							if (document.fmodifymanga.mangaideditorialupd[i].value == valoreditorial)
								document.fmodifymanga.mangaideditorialupd[i].selected = true;
						}
					}
				}
		});

		// Color
		DataBean.getItemList('3', function(data) {
				dwr.util.addOptions(combocolor,null, 'iditem','desitem');
				dwr.util.addOptions(combocolor, [{ iditem:'0', desitem:'-- Color --'}], 'iditem', 'desitem');
				if (data== null)
					dwr.util.setValue(mensajeerror, data);
				else{
					dwr.util.addOptions(combocolor,data, 'iditem','desitem');
					if (tipoupd){
						for (var i=0; i < document.fmodifymanga.mangaidcolorupd.length; i++) {
							if (document.fmodifymanga.mangaidcolorupd[i].value == valorcolor)
								document.fmodifymanga.mangaidcolorupd[i].selected = true;
						}
					}
				}
		});
		
		// Estado
		DataBean.getItemList('4', function(data) {
				dwr.util.addOptions(comboestado,null, 'iditem','desitem');
				dwr.util.addOptions(comboestado, [{ iditem:'0', desitem:'-- Estado --'}], 'iditem', 'desitem');
				if (data== null)
					dwr.util.setValue(mensajeerror, data);
				else{
					dwr.util.addOptions(comboestado,data, 'iditem','desitem');
					if (tipoupd){
						for (var i=0; i < document.fmodifymanga.mangaidestadoupd.length; i++) {
							if (document.fmodifymanga.mangaidestadoupd[i].value == valorestado)
								document.fmodifymanga.mangaidestadoupd[i].selected = true;
						}
					}
				}
		});

	}
	
	function verAyudaPortada(){
		document.getElementById('ayuda').style.visibility='visible';
		document.getElementById('ayudaportada').style.visibility='visible';
		document.getElementById('ayudamanga').style.visibility='hidden';
		document.getElementById('ayudaportada').style.height='165px';
		document.getElementById('ayuda').style.height='175px';
		document.getElementById('ayuda').style.width='580px';
		
	}
	
	function verAyudaManga(){
		document.getElementById('ayuda').style.visibility='visible';
		document.getElementById('ayudaportada').style.visibility='hidden';
		document.getElementById('ayudamanga').style.visibility='visible';
		
		
		
		document.getElementById('ayuda').style.height='387px';
		document.getElementById('ayuda').style.width='585px';
		
	}
	
	function mostrarManga(){
		document.getElementById('manga').style.visibility='visible';
	}
	
	
	function mostrarPortadas(){
		document.getElementById('comics').style.visibility='visible';
		if (document.showcomics){ 

			//document.showcomics.SetVariable("comicinfo", "http://217.126.231.174:2000/comics/GenerateXMLData?categoria=20");
			document.showcomics.SetVariable("comicinfo", "http://www.comics75.com/comics/GenerateXMLData?categoria=20");
		}
		
	}
/* Flash
 */	
	function getUrlPortadas(){
		//var valcomic = document.getElementById('valcomic').innerHTML;
		//var validcomic = document.getElementById('validcomic').innerHTML;
		
		var validcomic = document.getElementById("validcomic").firstChild.nodeValue;
		var valcomic = document.getElementById("valcomic").firstChild.nodeValue;
		
		return "http://www.comics75.com/comics/GenerateXMLData?categoria=20&idcomic="+validcomic+"&comic="+valcomic;
	}
	
	function setUrlPortadas(){
		dwr.util.setValue("valcomic", " ");
		dwr.util.setValue("validcomic", " ");
	}
	
/* 																								Mismanga - Transferir
 * ---------------------------------------------------------------------------------------------------------------
 */	
	function actTransferir(idmanga, titulo){
		document.getElementById('transferirmanga').style.visibility='visible';
		cargarUsuariosCombo('combousuariolist');
		dwr.util.setValue("transfertit", titulo);
		document.ftransfercomic.transfermanga.value = idmanga;
		dwr.util.setValue("transfererror", "");
	}

	function transferir(){
		idmanga = document.ftransfercomic.transfermanga.value ;
		usuario = document.ftransfercomic.combousuariolist.options[document.ftransfercomic.combousuariolist.selectedIndex].value;
		if (usuario == 0)
			dwr.util.setValue("transfererror", "Seleccione un usuario");
		else{	
			MangaBean.transferir(idmanga, usuario, function(data) {
							if (data!= null)
								dwr.util.setValue("transfererror", data);
							else{
								dsMangaData.setURL("GenerateXMLData?categoria=4&inicio=0&paginas="+paginas+"&fecha="+new Date());
								dsMangaData.loadData();
								
								dwr.util.setValue("transfererror", "Manga transferido");
								
							}
			});
		}
	}
	
	
/* 																								TopManga
 * ---------------------------------------------------------------------------------------------------------------
 */

	function getTopMangaList(){
		inicio=0;
		dsTopMangaData.setURL("GenerateXMLData?categoria=17&fecha="+new Date()+"&inicio=" + inicio + "&paginas=" + paginas);
		dsTopMangaData.loadData();
		
	
	}

/* 																								Login
 * ---------------------------------------------------------------------------------------------------------------
 */
	
	function addUser(){
		
		nickname=document.fregusr.nickname.value;
		passusr=document.fregusr.passusr.value;
		passusr2=document.fregusr.passusr2.value;
		email=document.fregusr.email.value;
		var patron = /[&\<\>\'\"]/;
		  				
		if (trim(nickname) == ''){
			dwr.util.setValue("regerror", "Indique un nombre de usuario");
		}else if (nickname.search(patron)!=-1){
   			dwr.util.setValue("regerror", "Caracteres no permitidos en el nombre de usuario &,>,<,\',\" ");	
		}else if (trim(passusr) == ''){
			dwr.util.setValue("regerror", "Indique una password");
		}else if (passusr.search(patron)!=-1){
   			dwr.util.setValue("regerror", "Caracteres no permitidos en la password &,>,<,\',\" ");
		}else if (trim(passusr2) == ''){
			dwr.util.setValue("regerror", "Indique confirmación password");
		}else if (passusr != passusr2){
			dwr.util.setValue("regerror", "Las password deben de coincidir");
		}else if (trim(email) == ''){
			dwr.util.setValue("regerror", "Indique email");
		}else if (!isValidEmail(email)){
			dwr.util.setValue("regerror", "Dirección de correo no válida");
		}else{
			Validacion.validarUsuario(nickname, email, function(data) {
				
			if (data == null){
				
					UsuarioBean.addUsuario(nickname,passusr, email, function(data) {
						if (data!= null)
							dwr.util.setValue("regerror", data);
						else{
							document.fregusr.nickname.value = '';
							document.fregusr.passusr.value = '';
							document.fregusr.passusr2.value = '';
							document.fregusr.email.value = '';
							document.fregusr.kaptchareceived.value = '';
							dwr.util.setValue("regerror", "Usuario dado de alta");
							document.fregusr.action='usuario.jsp';
							document.fregusr.submit();
						}
					});
				}else
					dwr.util.setValue("regerror", data);
			});
			
		}
		
	}
	
	function updatePasswd(){
		
		valor = document.frecpass.kaptchareceived.value;
		dsKaptchaData.setURL("KaptchaServlet?texto="+valor+"&fecha="+new Date(), "kaptcha/mensaje");
		dsKaptchaData.loadData();
		nickname=document.frecpass.nickname.value;
		passusr=document.frecpass.passusr.value;
		passusr2=document.frecpass.passusr2.value;
		email=document.frecpass.email.value;
		kaptchareceived = document.frecpass.kaptchareceived.value;
		kaptchaexpected = document.getElementById('kaptchacode').innerHTML;
		var patron = /[&\<\>\'\"]/;

		if (trim(nickname) == '')
			dwr.util.setValue("regerrorupd", "Indique un nombre de usuario");
		else if (nickname.search(patron)!=-1)
   			dwr.util.setValue("regerrorupd", "Caracteres no permitidos en el nickname &,>,<,\',\" ");
		else if (trim(passusr) == '')
			dwr.util.setValue("regerrorupd", "Indique una password");
		else if (passusr.search(patron)!=-1)
   			dwr.util.setValue("regerrorupd", "Caracteres no permitidos en la password &,>,<,\',\" ");
		else if (trim(passusr2) == '')
			dwr.util.setValue("regerrorupd", "Indique confirmación password");
		else if (passusr != passusr2)
			dwr.util.setValue("regerrorupd", "Las password deben de coincidir");
		else if (trim(email) == '')
			dwr.util.setValue("regerrorupd", "Indique email");
		else if (!isValidEmail(email))
			dwr.util.setValue("regerrorupd", "Dirección de correo no válida");
		else if (trim(kaptchareceived)== '')
			dwr.util.setValue("regerrorupd", "Comprueba el texto de la imagen");
		else if (kaptchareceived != kaptchaexpected)
			dwr.util.setValue("regerrorupd", "No coincide el texto introducido con el de la imagen");
		else{
			UsuarioBean.updatePasswd(nickname,passusr, email, function(data) {

					if (data!= null)
						dwr.util.setValue("regerrorupd", data);
					else{
						document.frecpass.nickname.value = '';
						document.frecpass.passusr.value = '';
						document.frecpass.passusr2.value = '';
						document.frecpass.email.value = '';
						document.frecpass.kaptchareceived.value = '';
						dwr.util.setValue("regerrorupd", "Password modificada");
					}
			});
			
		}
		
	}
	

/* 																								Referencias
 * ---------------------------------------------------------------------------------------------------------------
 */

	function setImagenAutor(autor, imagen){
		
		document.getElementById('imagenautor').src='/img/referencias/' + imagen ;
		document.getElementById('autor').innerHTML='<h3>' + autor + '</h3>';
		document.getElementById("marco").style.visibility='visible';
	
	}

/* 																								Editorial
 * ---------------------------------------------------------------------------------------------------------------
 */

	function cargarComboEditorial(tipocomic){

		DataBean.getEditorialCatList('2', tipocomic, function(data) {
			
				dwr.util.addOptions('comboeditorial',null, 'iditem','desitem');
				dwr.util.addOptions('comboeditorial', [{ iditem:'0', desitem:'-- Editorial --'}], 'iditem', 'desitem');
				if (data== null)
					dwr.util.setValue("buscadorerror", data);
				else
					dwr.util.addOptions('comboeditorial',data, 'iditem','desitem');
				
		});
	}
	
	function cargarComboAutor(tipo, tipocomic,combo, mensajeerror,literal){
	
			DataBean.getAutorList(tipo, tipocomic, function(data) {
				dwr.util.addOptions(combo,null, 'idautor','nombreautor');
				dwr.util.addOptions(combo, [{ idautor:'0', nombreautor:literal}], 'idautor', 'nombreautor');
	
				if (data== null)
					dwr.util.setValue(mensajeerror, data);
				else
					dwr.util.addOptions(combo,data, 'idautor','nombreautor');
				
			});
	}
	
	function cargarSearchCombos(tipocomic){
	
		document.getElementById('colizq_loading').style.visibility='visible';
		cargarComboEditorial(tipocomic);
		cargarComboAutor('1',tipocomic,'comboguion','buscadorerror', '-- Guión --');
		cargarComboAutor('2',tipocomic,'combodibujo','buscadorerror', '-- Dibujo --');
		cargarComboAutor('3',tipocomic,'combotinta','buscadorerror', '-- Tinta --');
		document.getElementById('colizq_loading').style.visibility='hidden';
		document.getElementById('colizq_combos').style.visibility='visible';
	}
	
	function searchManga(){
		inicio=0;
		titulo=document.fsearchmanga.mangatitulo.value;
		guion=document.fsearchmanga.comboguion.options[document.fsearchmanga.comboguion.selectedIndex].value;
		dibujo=document.fsearchmanga.combodibujo.options[document.fsearchmanga.combodibujo.selectedIndex].value;
		tinta=document.fsearchmanga.combotinta.options[document.fsearchmanga.combotinta.selectedIndex].value;
		editorial=document.fsearchmanga.comboeditorial.options[document.fsearchmanga.comboeditorial.selectedIndex].value;
		if (guion == 0 && dibujo == 0 && tinta == 0 && editorial == 0 && (trim(titulo) == '' || trim(titulo) == '%'))
			dwr.util.setValue('buscadorerror', 'Debe de especificar alguna condición de búsqueda');
		else{
			dsMangaData.setURL("GenerateXMLData?categoria=4&tipocomic=1&oper=fullmanga&fecha="+new Date()+
				"&inicio=" + inicio + "&paginas=" + paginas + "&titulo=" + titulo + "&guion=" + guion + 
				"&dibujo=" + dibujo + "&tinta=" + tinta + "&editorial=" + editorial);
			dsMangaData.loadData();
			dwr.util.setValue('buscadorerror', ' ');
		}
	}
	
	
	
	
	function getMangaInfo(idmanga, tipocomic){
	
		dsMangaDetailData.setURL("GenerateXMLData?categoria=4&oper=mangainfo&tipocomic="+tipocomic+
				"&fecha="+new Date() + "&idcomic=" + idmanga);
		dsMangaDetailData.loadData();
	
		alto=(document.body.offsetHeight*3);
		ancho=(document.body.offsetWidth/2);
		
		document.getElementById('manga').style.width=screen.width*1.045;
		document.getElementById('manga').style.height=screen.height;
		document.getElementById('manga').style.left=0;
		document.getElementById('manga').style.top=0;
		document.getElementById('mangainfo').style.left=ancho;
		document.getElementById('mangainfo').style.top=alto;
		
		var validcomic = document.getElementById("validcomic");
		var valcomic = document.getElementById("valcomic");
		
		if (valcomic != null){
			document.getElementById("valportadas").removeChild(validcomic);
			document.getElementById("valportadas").removeChild(valcomic);
		}
		div = document.createElement("span");
		div.setAttribute("id", "validcomic");
		texto = document.createTextNode(idmanga);
		div.appendChild(texto);
		document.getElementById("valportadas").appendChild(div);
		div2 = document.createElement("span");
		div2.setAttribute("id", "valcomic");
		texto = document.createTextNode(idmanga);
		div2.appendChild(texto);
		document.getElementById("valportadas").appendChild(div2);
		
		document.getElementById('manga').style.visibility='visible';
		document.getElementById('mangainfo').style.visibility='visible';
	}
	

	
	function verResumen(){
		document.getElementById('viselado').style.visibility='visible';
	}
	
	function cierreResumen(){
		document.getElementById('viselado').style.visibility='hidden';
	}
	
	function cierreFicha(){
		document.getElementById('mangainfo').style.visibility='hidden';
		document.getElementById('manga').style.visibility='hidden';
	}
	
	
/* 																								Noticias
 * ---------------------------------------------------------------------------------------------------------------
 */
	/*
	function mostrarComics75(){
		document.getElementById('coldcha').style.visibility='hidden';
		document.getElementById('ivrea_box').style.visibility='hidden';
		document.getElementById('normaeditorial_box').style.visibility='hidden';	
		document.getElementById('normamanga_box').style.visibility='hidden';
		document.getElementById('glenat_box').style.visibility='hidden';	
		document.getElementById('comics75_box').style.visibility='visible';	
	}
	function cerrarComics75(){
		document.getElementById('coldcha').style.visibility='visible';
		document.getElementById('comics75_box').style.visibility='hidden';	
	}

	*/
	function mostrarGlenat(){
		document.getElementById('coldcha').style.visibility='hidden';
		document.getElementById('ivrea_box').style.visibility='hidden';
		document.getElementById('normaeditorial_box').style.visibility='hidden';	
		document.getElementById('normamanga_box').style.visibility='hidden';
	//	document.getElementById('comics75_box').style.visibility='hidden';	
		document.getElementById('glenat_box').style.visibility='visible';	
	}
	function cerrarGlenat(){
		document.getElementById('coldcha').style.visibility='visible';
		document.getElementById('glenat_box').style.visibility='hidden';	
	}
	
	function mostrarIvrea(){
		document.getElementById('coldcha').style.visibility='hidden';
		document.getElementById('glenat_box').style.visibility='hidden';
		document.getElementById('normaeditorial_box').style.visibility='hidden';	
		document.getElementById('normamanga_box').style.visibility='hidden';
		//document.getElementById('comics75_box').style.visibility='hidden';	
		document.getElementById('ivrea_box').style.visibility='visible';	
	}
	function cerrarIvrea(){
		document.getElementById('ivrea_box').style.visibility='hidden';	
		document.getElementById('coldcha').style.visibility='visible';
	}
	
	function mostrarNormaEditorial(){
		document.getElementById('coldcha').style.visibility='hidden';
		document.getElementById('glenat_box').style.visibility='hidden';
		document.getElementById('ivrea_box').style.visibility='hidden';
		document.getElementById('normamanga_box').style.visibility='hidden';
		//document.getElementById('comics75_box').style.visibility='hidden';	
		document.getElementById('normaeditorial_box').style.visibility='visible';	
	}
	function cerrarNormaEditorial(){
		document.getElementById('normaeditorial_box').style.visibility='hidden';	
		document.getElementById('coldcha').style.visibility='visible';
	}
	
	function mostrarNormaManga(){
		document.getElementById('coldcha').style.visibility='hidden';
		document.getElementById('glenat_box').style.visibility='hidden';
		document.getElementById('ivrea_box').style.visibility='hidden';
		document.getElementById('normaeditorial_box').style.visibility='hidden';	
		//document.getElementById('comics75_box').style.visibility='hidden';	
		document.getElementById('normamanga_box').style.visibility='visible';	
	}
	function cerrarNormaManga(){
		document.getElementById('normamanga_box').style.visibility='hidden';	
		document.getElementById('coldcha').style.visibility='visible';
	}
	
	
/* 																								Mi Perfil
 * ---------------------------------------------------------------------------------------------------------------
 */
	function actModifMisDatos(){
		document.getElementById('regusr').style.visibility='visible';
	}
	
	
	function modifyDataUsuario(idusuario){
		 
		nickname=document.fmodifdatausr.nickname.value;
		passusr=document.fmodifdatausr.passusr.value;
		passusr2=document.fmodifdatausr.passusr2.value;
		email=document.fmodifdatausr.email.value;
		
		if (trim(nickname) == '')
			dwr.util.setValue("modifdataerror", "Indique un nombre de usuario");
		else if (trim(passusr) == '')
			dwr.util.setValue("modifdataerror", "Indique una password");
		else if (trim(passusr2) == '')
			dwr.util.setValue("modifdataerror", "Indique confirmación password");
		else if (passusr != passusr2)
			dwr.util.setValue("modifdataerror", "Las password deben de coincidir");
		else if (trim(email) == '')
			dwr.util.setValue("modifdataerror", "Indique email");
		else if (!isValidEmail(email))
			dwr.util.setValue("modifdataerror", "Dirección de correo no válida");
		else{
			UsuarioBean.updateUsuario(idusuario, nickname,passusr, email, function(data) {
	
						if (data!= null)
							dwr.util.setValue("modifdataerror", data);
						else{
							document.fmodifdatausr.nickname.value = '';
							document.fmodifdatausr.passusr.value = '';
							document.fmodifdatausr.passusr2.value = '';
							document.fmodifdatausr.email.value = '';
							dwr.util.setValue("modifdataerror", "Datos modificada");
						}
			});	
		}
	}
	
/* 										Opinion
 */
	function getOpinionInfo(idopinion, idmanga, usuario){
		dsOpinionDetailData.setURL("GenerateXMLData?categoria=6&fecha="+new Date() + "&idopinion=" + idopinion+"&inicio=0&paginas=100");
		dsOpinionDetailData.loadData();
		dsOpinionesByUserData.setURL("GenerateXMLData?categoria=6&fecha="+new Date() + "&usuario=" + usuario+"&inicio=0&paginas=100");
		dsOpinionesByUserData.loadData();
		dsOpinionesByMangaData.setURL("GenerateXMLData?categoria=6&fecha="+new Date() + "&idcomic=" + idmanga + "&inicio=0&paginas=100");
		dsOpinionesByMangaData.loadData();
		
		alto=(document.body.offsetHeight*3);
		ancho=(document.body.offsetWidth/2);
		
		document.getElementById('opinion').style.width=screen.width*1.045;
		document.getElementById('opinion').style.height=screen.height;
		document.getElementById('opinion').style.left=0;
		document.getElementById('opinion').style.top=0;
		document.getElementById('opinioninfo').style.left=ancho;
		document.getElementById('opinioninfo').style.top=alto;
		
		document.getElementById('opinion').style.visibility='visible';
		document.getElementById('opinioninfo').style.visibility='visible';	
	}
	
	function getOpinionInfoByM(idmanga){
	
		dsOpinionDetailData.setURL("GenerateXMLData?categoria=6&fecha="+new Date() + "&idcomic=" + idmanga+"&inicio=0&paginas=100");
		dsOpinionDetailData.loadData();
		dsOpinionesByUserData.setURL("GenerateXMLData?categoria=31&fecha="+new Date() + "&idcomic=" + idmanga+"&inicio=0&paginas=100");
		dsOpinionesByUserData.loadData();
		dsOpinionesByMangaData.setURL("GenerateXMLData?categoria=6&fecha="+new Date() + "&idcomic=" + idmanga + "&inicio=0&paginas=100");
		dsOpinionesByMangaData.loadData();
		
		alto=(document.body.offsetHeight*3);
		ancho=(document.body.offsetWidth/2);
		
		document.getElementById('opinion').style.width=screen.width*1.045;
		document.getElementById('opinion').style.height=screen.height;
		document.getElementById('opinion').style.left=0;
		document.getElementById('opinion').style.top=0;
		document.getElementById('opinioninfo').style.left=ancho;
		document.getElementById('opinioninfo').style.top=alto;
		
		document.getElementById('opinion').style.visibility='visible';
		document.getElementById('opinioninfo').style.visibility='visible';
	}
	
	/*function closeOpinion(){
		document.getElementById('opinionesdetail').style.visibility='hidden';
		document.getElementById('opiniondetail').style.visibility='hidden';
		document.getElementById('barraopiniondetail').style.visibility='hidden';
		closeOpinionByManga();
		closeOpinionByUsuario();
		
	}*/

	function cierreFichaOp(){
		document.getElementById('opinioninfo').style.visibility='hidden';
		document.getElementById('opinion').style.visibility='hidden';
	}
	
	function updateOpinionesByManga(idmanga){
		inicio = 0;
		
		dsOpinionesByMangaData.setURL("GenerateXMLData?categoria=6&fecha="+new Date() + "&idcomic=" + idmanga + "&inicio=" + inicio + "&paginas=" + paginas);
		dsOpinionesByMangaData.loadData();
	}
	
	function updateOpinionesByUsuario(usuario){
		inicio = 0;
		dsOpinionesByUserData.setURL("GenerateXMLData?categoria=6&fecha="+new Date() + "&usuario=" + usuario+"&inicio="+ inicio + "&paginas=" + paginas);
		dsOpinionesByUserData.loadData();
	}

	
	/********* Libreria **************/
	function getLibPortadas(idcomic){
		dsMiLibPortadasData.setURL("GenerateXMLData?categoria=28&fecha="+new Date() + "&idcomic="+ idcomic);
		dsMiLibPortadasData.loadData();
		document.getElementById('colinf').style.visibility='visible';
	}
	
	function verLib(){
		document.getElementById('completarlib').style.visibility='hidden';
		document.getElementById('showlibreria').style.visibility='visible';
		document.getElementById('colsup').style.visibility='visible';
		dsMiLibreriaData.setURL("GenerateXMLData?categoria=4&tipocomic=1&oper=milibreria&inicio=0&paginas=5&fecha="+new Date());
		dsMiLibreriaData.loadData();		
	}
	
	function completarLib(){
		document.getElementById('showlibreria').style.visibility='hidden';
		document.getElementById('colsup').style.visibility='hidden';
		document.getElementById('colinf').style.visibility='hidden';
		dwr.util.setValue("coleccionerror", "");
		document.getElementById('completarlib').style.visibility='visible';
		cargarCmbTitManga("idcomiccoleccion", "coleccionerror", null);
		dsPortadaData.setURL("GenerateXMLData?categoria=29&fecha="+new Date()+"&inicio=0&paginas=150&idcomic=-100");
		dsPortadaData.loadData();		
	}
	
	function damePortadasColeccion(idcomic){
		dsPortadaData.setURL("GenerateXMLData?categoria=29&fecha="+new Date()+"&inicio=0&paginas=150&idcomic="+ idcomic);
		dsPortadaData.loadData();
		dwr.util.setValue("coleccionerror", "");
		document.fmicoleccion.idcomic.value=idcomic;
	}
	
	
	
	function completarColeccion(){
		numeroport = document.fmicoleccion.numeroport.value;
		usuario = document.fmicoleccion.usuario.value;
		idcomic = document.fmicoleccion.idcomic.value;
		var miColec = new Array(numeroport);
		
		for (var i=0; i < numeroport; i++) { 
			if (document.getElementById('port'+(i+1)).checked)
				miColec[i]=1; 
			else 
				miColec[i]=0; 
		} 
		
		LibreriaBean.buildColection(usuario, idcomic, miColec, function(data) {
				
						if (data== null)
							dwr.util.setValue("coleccionerror", 'Se ha producido un error');
						else{
							dwr.util.setValue("coleccionerror", data);
							document.fmicoleccion.idcomiccoleccion[0].selected = true;
							dsPortadaData.setURL("GenerateXMLData?categoria=29&fecha="+new Date()+"&inicio=0&paginas=150&idcomic=-100");
							dsPortadaData.loadData();	
						}
			});	
		
	}

