/* Administración del Catálogo Publicaciones de SS*/

/******************************************** Funciones de Validación  ********************************************/
	
	function validarFormulariobusqueda(){
		var bOk=true;
		var sMensaje='';
		oForm=document.fBusqueda;
		// Validamos que algun campo esté relleno, si no error.
		if (oForm.txttmateria1.value != '0' || oForm.txttmateria2.value != '0' || oForm.txttmateria3.value != '0'){
			bOk=true;
			sMensaje='';
			}
		else{			
			for(i=0;i<=oForm.length-1;i++){
				if(oForm[i].type=='text'){
					if(oForm[i].value==''){
						bOk=false;
						sMensaje='Es necesario introducir algún criterio para comenzar la búsqueda';
						oForm.navega.value='busqueda';
						oForm.action="index.cfm";
						}
					else{
						bOk=true;
						sMensaje='';
						break;
						}
				}
			}	
		}
		if (!bOk && (oForm.txttipodocumento.value != -1)){
			bOk=true;
		}
		if (!bOk && (oForm.txtrevista.value != -1)){
			bOk=true;
		}
		if ((oForm.txttipodocumento.value == 1) && (oForm.txtrevista.value != -1)) {
			sMensaje= 'No se puede elegir una revista con tipo de documento Libros.';
			bOk=false;
			oForm.txttipodocumento.focus();
		}		
		// Mostramos mensaje de error en caso de fallo.
		if(!bOk){
			alert(sMensaje);
		}
		/*if(oForm.txtisbn.value!=''){
			if(!valida(oForm.txtisbn.value)){
				bOk=false;
				sMensaje= 'El campo ISBN no es correcto.';
				alert(sMensaje);
				oForm.txtisbn.focus();
			}
		}*/
		
		if(bOk && oForm.txtdesdeaniopublicacion.value!='' && noesnumerico(oForm.txtdesdeaniopublicacion.value)){
			bOk=false;
			sMensaje= 'La fecha desde el año de publicación debe ser numérica';
			alert(sMensaje);
			oForm.txtdesdeaniopublicacion.focus();
		}
		
		if(bOk && oForm.txthastaaniopublicacion.value!='' && noesnumerico(oForm.txthastaaniopublicacion.value)){
			bOk=false;
			sMensaje= 'La fecha hasta el año de publicación debe ser numérica';
			alert(sMensaje);
			oForm.txthastaaniopublicacion.focus();
		}
		
		if(bOk && (oForm.txtdesdeaniopublicacion.value!='' && oForm.txthastaaniopublicacion.value!='')){
			if(oForm.txtdesdeaniopublicacion.value>=oForm.txthastaaniopublicacion.value){
				bOk=false;
				sMensaje= 'Compruebe las fechas: La fecha de búsqueda final debe ser mayor que la fecha inicial';
				alert(sMensaje);
				oForm.txtdesdeaniopublicacion.focus();
			}
		}
		// Submit de parametros a la aplicacion.
		if(bOk){
				oForm.action="index.cfm";
				oForm.navega.value="consulta";
				oForm.submit();
			}
	}

	/*****************************************  Formulario de términos *****************************************/

	function validarFormularioterminos(){
		var bOk=true;
		var sMensaje='';
		oForm=document.fterminos;
		
		if(bOk && oForm.nombre.value==''){
			bOk=false;
			sMensaje= 'El campo Nombre y apellidos no puede estar vacío.';
			alert(sMensaje);
			oForm.nombre.focus();
		}
		
		if(bOk && oForm.categoria.value==''){
			bOk=false;
			sMensaje= 'El campo Categoría profesional no puede estar vacío.';
			alert(sMensaje);
			oForm.categoria.focus();
		}
		
		if(bOk && oForm.centro.value==''){
			bOk=false;
			sMensaje= 'El campo Centro de trabajo no puede estar vacío.';
			alert(sMensaje);
			oForm.centro.focus();
		}
		
		if(bOk && oForm.dircentro.value==''){
			bOk=false;
			sMensaje= 'El campo Dirección del centro no puede estar vacío.';
			alert(sMensaje);
			oForm.dircentro.focus();
		}
			
		// Submit de parametros a la aplicacion.
		if(bOk){
			oForm.submit();
		}
	}
	
	/*****************************************  Formulario de áreas *****************************************/

	function validarFormularioareas(){
		var bOk=true;
		var sMensaje='';
		oForm=document.fareas;
		// Validamos que algún campo esté relleno, si no error.
		if (oForm.txtarea.value == '0' && oForm.txtsubarea.value == '0'){
			bOk=false;
			sMensaje='Debe de elegir algún criterio de búsqueda.';
			}
		
		// Mostramos mensaje de error en caso de fallo.
		if(!bOk){
			alert(sMensaje);
			oForm.txtarea.focus();
		}
	
		// Submit de parametros a la aplicacion.
		if(bOk){
				oForm.action="index.cfm";
				oForm.navega.value="busquedaareas";
				oForm.submit();
		}
	}

	/*****************************************  Formulario de pedido de la BTB *****************************************/

	function validarFormularioPedidobtb(){
		var bOk=true;
		var sMensaje='';
		oForm=document.fcorreo;
		
		if(bOk && oForm.nombre.value==''){
			bOk=false;
			sMensaje= 'El campo Nombre y apellidos no puede estar vacío.';
			alert(sMensaje);
			oForm.nombre.focus();
		}
		
		if(bOk && oForm.categoria.value==''){
			bOk=false;
			sMensaje= 'El campo Categoría profesional no puede estar vacío.';
			alert(sMensaje);
			oForm.categoria.focus();
		}
		
		if(bOk && oForm.centro.value==''){
			bOk=false;
			sMensaje= 'El campo Centro de trabajo no puede estar vacío.';
			alert(sMensaje);
			oForm.centro.focus();
		}
		
		if(bOk && oForm.dircentro.value==''){
			bOk=false;
			sMensaje= 'El campo Dirección del centro no puede estar vacío.';
			alert(sMensaje);
			oForm.dircentro.focus();
		}
		
		if((bOk && oForm.codpostal.value=='') || noesnumerico(oForm.codpostal.value)){
			bOk=false;
			sMensaje= 'El campo Código postal no puede estar vacío y debe de ser numérico.';
			alert(sMensaje);
			oForm.codpostal.focus();
		}
		
		if(bOk && oForm.localidad.value==''){
			bOk=false;
			sMensaje= 'El campo Localidad no puede estar vacío.';
			alert(sMensaje);
			oForm.localidad.focus();
		}
		
		if(bOk && oForm.provincia.value==''){
			bOk=false;
			sMensaje= 'El campo Provincia no puede estar vacío.';
			alert(sMensaje);
			oForm.provincia.focus();
		}
	
		// Submit de parametros a la aplicacion.
		if(bOk){
				oForm.action="index.cfm";
				oForm.submit();
		}
	}
	
	function validarFormularioPedidocpss(){
		var bOk=true;
		var sMensaje='';
		oForm=document.fcorreo;
		
		if(bOk && oForm.nombre.value==''){
			bOk=false;
			sMensaje= 'El campo Nombre y apellidos no puede estar vacío.';
			alert(sMensaje);
			oForm.nombre.focus();
		}
			
		if(bOk && oForm.dircentro.value==''){
			bOk=false;
			sMensaje= 'El campo Dirección no puede estar vacío.';
			alert(sMensaje);
			oForm.dircentro.focus();
		}
		
		if((bOk && oForm.codpostal.value=='') || noesnumerico(oForm.codpostal.value)){
			bOk=false;
			sMensaje= 'El campo Código postal no puede estar vacío y debe de ser numérico.';
			alert(sMensaje);
			oForm.codpostal.focus();
		}
		
		if(bOk && oForm.localidad.value==''){
			bOk=false;
			sMensaje= 'El campo Localidad no puede estar vacío.';
			alert(sMensaje);
			oForm.localidad.focus();
		}
		
		if(bOk && oForm.provincia.value==''){
			bOk=false;
			sMensaje= 'El campo Provincia no puede estar vacío.';
			alert(sMensaje);
			oForm.provincia.focus();
		}
		
		if(bOk && oForm.pais.value==''){
			bOk=false;
			sMensaje= 'El campo País no puede estar vacío.';
			alert(sMensaje);
			oForm.pais.focus();
		}
		
		if(bOk && oForm.email.value==''){
			bOk=false;
			sMensaje= 'El campo Email no puede estar vacío.';
			alert(sMensaje);
			oForm.email.focus();
		}
		
		if(bOk && oForm.cifnif.value==''){
			bOk=false;
			sMensaje= 'El campo CIF/NIF no puede estar vacío.';
			alert(sMensaje);
			oForm.cifnif.focus();
		}
	
		// Submit de parametros a la aplicacion.
		if(bOk){
				oForm.action="index.cfm";
				oForm.navega.value="grabapedido";
				oForm.submit();
		}
	}

	
	function ActualizaFormularioPedidocpss(){
		oForm=document.fcorreo;
		oForm.action="index.cfm";
		oForm.navega.value="actualizar";
		oForm.submit();
	}

/******************************************** Funciones genéricas  ********************************************/
	function valida ( isbn ) {
		var longitud = isbn.length;
	
		if (longitud != 13)
			{
			 return false;
			}
		else 
			{
			 if (((isbn.charAt(12) != '0') && (isbn.charAt(12) != '1') && (isbn.charAt(12) != '2') &&
				 (isbn.charAt(12) != '3') && (isbn.charAt(12) != '4') && (isbn.charAt(12) != '5') &&
				 (isbn.charAt(12) != '6') && (isbn.charAt(12) != '7') && (isbn.charAt(12) != '8') &&
				 (isbn.charAt(12) != '9') && (isbn.charAt(12) != 'X') && (isbn.charAt(12) != 'x')) || ((isbn.charAt(2) != '-') || 
				 (isbn.charAt(7) != '-') || (isbn.charAt(11) != '-')))  
				{
				 return false;
				}
				
			 else	
				{
				 suma = ((isbn.charAt(0)*10)+(isbn.charAt(1)*9)+(isbn.charAt(3)*8)+(isbn.charAt(4)*7)+(isbn.charAt(5)*6)+(isbn.charAt(6)*5)+(isbn.charAt(8)*4)+(isbn.charAt(9)*3)+(isbn.charAt(10)*2))
				 if ((isbn.charAt(12) == 'X') || (isbn.charAt(12) == 'x')){
					suma = suma + 10;
				 } else { 
					suma = suma + parseInt(isbn.charAt(12));
				 }
				 suma = suma % 11;
				 if (suma==0){return true;}else{return false;}
			 }
		}
		// por ejemplo 84-7808-204-2
	}
	
	function noesnumerico ( dato ) {
		return (isNaN(dato));
	}
