<!-- Funciones para validar los campos obligatorios a rellenar -->
var mensajeerror="";
function validar_campotexto(texto){
	if (texto.value==""){
		return false;
	}
	
}
	
function validar_seleccion(texto){
	if (texto.value < 0) {
		return false;
	}
}
	
function validar_areatexto(texto){
	if (texto.value=="") {
		return false;
	}
}	
	
function validar_radio(opcion){
	if (opcion.value<0) {
		return false;
	}
}
<!-- FIN Funciones para validar los campos obligatorios a rellenar -->

<!-- Funcion para validar un telefono -->
function validar_telefono(numero){
	if ( (isNaN(numero)) || (numero.length<9) ){
		return false;
    }
}
<!-- Funcion para validar una dirección de correo electronico -->
function checkEmail(correo) {
         if (correo=="") return false;
         var a = correo.indexOf("@");
         var p = correo.lastIndexOf(".");
         var l = correo.length;
         if (a<1 || a>l-5 || a>p-2 || p<l-5 || p>l-3) return false;
         var especial = true;
         for (var i=a+1;i<l;i++) {
              var c=correo.charAt(i).toLowerCase();
              if ((c>='0' && c<='9') || (c>='a' && c<='z')) especial=false;
              else if (c=='-' || c=='.'){
                   if (especial) return false;
                   especial = true;
              }
              else return false;
         }
              if (especial) return false;
              return true;
}

<!-- Funcion para validar un NIF valido -->
function validar_nif(numeronif){

	var letterArray="TRWAGMYFPDXBNJZSQVHLCKE";
	dni=numeronif.substr(0,numeronif.length-1);
	
	if (isNaN(dni)) {
		mensajeerror=mensajeerror +"\n"+"Formato incorrecto de NIF. El formato debe ser 00000000L (0 número y L letra)";
		return false;
	}

	if (dni<23) {
		mensajeerror=mensajeerror +"\n"+"La parte numérica del NIF no es válida";
		return false;
	}		
	
	number=parseInt(dni/23);
	aux_number= dni - (number * 23) + 1;
	letter=numeronif.substr(numeronif.length-1,1);
	letter=letter.toUpperCase();
	aux_letter=letterArray.substr(aux_number-1,1);
	
	if (letter==aux_letter) {
		nif=dni+letter;
		return nif;
	} 
		else {
		mensajeerror=mensajeerror +"\n"+"La letra del NIF no concuerda con el número de NIF dado";
		return false;
	    }	
}

<!-- Funcion para validar un CIF valido -->
function validar_cif (numerocif) {

	organization_letters="ABCDEFGHKLMNPQS";
	control_letters="oABCDEFGHIJ";

	if (numerocif.length!=9 && numerocif.length!=8) {
		mensajeerror=mensajeerror +"\n"+"CIF no válido";
		return false;
	}

	letter=numerocif.substr(0,1);
	letter=letter.toUpperCase()
	dni=numerocif.substr(1,numerocif.length-2);
	
	if (organization_letters.indexOf(letter)==-1) {
		mensajeerror=mensajeerror +"\n"+"La letra de CIF no concuerda con el número de CIF dado";
		return false;
	}	
	
	if (isNaN(dni)) {
		mensajeerror=mensajeerror +"\n"+"La parte numérica del CIF no es válida";
		return false;
	}
	
	suma = parseInt(numerocif.substr(2,1)) + parseInt(numerocif.substr(4,1)) + parseInt(numerocif.substr(6,1));
	
	for (i=1;i<=7;i=i+2) {
		impar=parseInt(numerocif.substr(i,1)) * 2;
		aux_impar=parseInt(impar/10) + (impar % 10);		
		suma=suma + aux_impar;
	}	
	
	digito=10 - (suma % 10);
	if (digito>9) digito=0;
	
	if ((parseInt(numerocif.substr(numerocif.length-1,1))==digito) || ((numerocif.substr(numerocif.length-1,1)).toUpperCase()==control_letters.substr(digito,1))) {
		cif=letter+numerocif.substr(1,numerocif.length-2)+(numerocif.substr(numerocif.length-1,1)).toUpperCase();
		return true;
	}

       mensajeerror=mensajeerror +"\n"+"CIF incorrecto";

	return false;	
}

<!-- Funcion para validar un NIE valido -->
function validar_nie (numeronie) {

	var letterArray="TRWAGMYFPDXBNJZSQVHLCKE";
	
	if(numeronie.substr(0,1).toLowerCase()!="x") {
		mensajeerror=mensajeerror +"\n"+"NIE no válido";
		return false;
    }

	dni=numeronie.substr(1,numeronie.length-2);

	if (isNaN(dni)) {
		mensajeerror=mensajeerror +"\n"+"NIE incorrecto";
		return false;
	}

	if (dni<23) {
		mensajeerror=mensajeerror +"\n"+"La parte numérica del NIE no es válida";
		return false;
	}		
	
	number=parseInt(dni/23);
	aux_number= dni - (number * 23) + 1;
	letter=numeronie.substr(numeronie.length-1,1);
	letter=letter.toUpperCase();
	aux_letter=letterArray.substr(aux_number-1,1);
	if (letter==aux_letter) {
		nif=dni+letter;
		return true;
	} 
		else {
		mensajeerror=mensajeerror +"\n"+"La letra del NIE no concuerda con el número de NIE dado";
		return false;
		}	

	return true;	
}

function validar_select( valorSelect ){
	if( valorSelect == null || valorSelect=="" ){
		return false;
	}
	else{
		return true;
	}
}

/* Funcion que recibe como parametro un boolean que le sirve para habilitar el focus en un campo, 
los errores en los campos obligatorios los concateno en un solo mensaje y voy mostrando los focus desde el primer error al ultimo -->*/

function validar_datos() {
			
			

	nombre=document.formulario.CTnombre;
	apellidos=document.formulario.CTapellidos;
	tipodoc=document.formulario.Sdocumento;
	numero=document.formulario.CTnumero;
	direccion=document.formulario.CTdireccion;
	localidad=document.formulario.CTlocalidad;
	provincia=document.formulario.CTprovincia;
	telefono=document.formulario.CTtelefono;
	email=document.formulario.CTemail;
	calidad=document.formulario.Scalidad;
	motivo=document.formulario.Smotivo;
	mensaje=document.formulario.TAmensaje;
	mensajeerror="Por favor revise los siguientes campos : ";
	contador=0;
	focusactivo= true;

	if ( (validar_campotexto(nombre))== false ){
		mensajeerror=mensajeerror+"\n"+"NOMBRE";
		contador=contador+1;
			if (focusactivo==true){
				nombre.focus();
				focusactivo=false;
				}
	}

	

	if ( (validar_campotexto(apellidos))== false ){
		mensajeerror=mensajeerror+"\n"+"APELLIDOS";
		contador=contador+1;
			if (focusactivo==true){
				apellidos.focus();
				focusactivo=false;
				}
	}	
	if ( (validar_seleccion(tipodoc))== false ){
		mensajeerror=mensajeerror+"\n"+"seleccione un TIPO DE DOCUMENTO";
		contador=contador+1;
			
				if (focusactivo==true){
				tipodoc.focus();
				focusactivo=false;
				}
	}

	if ( (validar_campotexto(numero))== false ){
		mensajeerror=mensajeerror+"\n"+"NUMERO DE DOCUMENTO";
		contador=contador+1;
			if (focusactivo==true){
				numero.focus();
				focusactivo=false;
				}
	}
	
		
	switch (tipodoc.value){
		case "0": //es un NIF
		if ( (validar_nif(numero.value))== false ){
				
				contador=contador+1;
				if (focusactivo==true){
				numero.focus();
				focusactivo=false;
				}
			}
			break;
			
		case "1": // es un NIE
			if ( (validar_nie(numero.value))== false ){
				
				contador=contador+1;
				if (focusactivo==true){
				numero.focus();
				focusactivo=false;
				}
			}
			break;
			
		case "2": // es un CIF
			if ( (validar_cif(numero.value))== false ){
			
				contador=contador+1;
				if (focusactivo==true){
				numero.focus();
				focusactivo=false;
				}
			} 
			break;			
	
	}//switch

	if ( (validar_campotexto(direccion))== false ){
		mensajeerror=mensajeerror+"\n"+"DIRECCION COMPLETA";
		contador=contador+1;
				if (focusactivo==true){
				direccion.focus();
				focusactivo=false;
				}
	}
		if ( (validar_campotexto(localidad))== false ){
		mensajeerror=mensajeerror+"\n"+"LOCALIDAD";
		contador=contador+1;
		if (focusactivo==true){
				localidad.focus();
				focusactivo=false;
				}
			
	}
	if ( (validar_campotexto(provincia))== false ){
		mensajeerror=mensajeerror+"\n"+"PROVINCIA";
		contador=contador+1;
			if (focusactivo==true){
				provincia.focus();
				focusactivo=false;
				}
	}	
		
	//Validamos el telefono
	if ( ((validar_campotexto(telefono.value))== false ) || ((validar_telefono(telefono.value))== false) ) 
	{
		mensajeerror=mensajeerror+"\n"+"TELEFONO";
		contador=contador+1;
			
				if (focusactivo==true){
				telefono.focus();
				focusactivo=false;
				}
	}		 
	
	if  ( (checkEmail(email.value))== false)
	{
		mensajeerror=mensajeerror+"\n"+"E-MAIL";
		contador=contador+1;
			if (focusactivo==true){
				email.focus();
				focusactivo=false;
				}
	}
	
		if ( (validar_seleccion(calidad))== false ){
		mensajeerror=mensajeerror+"\n"+"seleccione EN CALIDAD DE:";
		contador=contador+1;
			if (focusactivo==true){
				calidad.focus();
				focusactivo=false;
				}
	}	
		
	if ( (validar_seleccion(motivo))== false ){
		mensajeerror=mensajeerror+"\n"+"seleccione su MOTIVO";
		contador=contador+1;
			if (focusactivo==true){
				motivo.focus();
				focusactivo=false;
				}
	}	
	if ( (validar_campotexto(mensaje))== false ){
		mensajeerror=mensajeerror+"\n"+"MENSAJE";
		contador=contador+1;
			if (focusactivo==true){
				mensaje.focus();
				focusactivo=false;
				}
	}		
	

	
	if (contador == 0) { return true;}
	
	if (contador >0){
		alert(mensajeerror);
		return false;
	}			
}

<!-- Funcion que valida los campos del formulario de atencion ciudadana teniendo en cuenta que no todos los campos son obligatorios-->
function validar_atencion() {
	nombre=document.formulario.CTnombre;
	apellidos=document.formulario.CTapellidos;
	tipodoc=document.formulario.Sdocumento;
	numero=document.formulario.CTnumero;
	direccion=document.formulario.CTdireccion;
	localidad=document.formulario.CTlocalidad;
	provincia=document.formulario.CTprovincia;
	telefono=document.formulario.CTtelefono;
	email=document.formulario.CTemail;
	calidad=document.formulario.Scalidad;
	motivo=document.formulario.Smotivo;
	asunto=document.formulario.asunto;
	mensaje=document.formulario.TAmensaje;
	respuesta=document.formulario.Rrespuesta;
	mensajeerror="Por favor revise los siguientes campos : ";
	contador=0;
	focusactivo= true;

	if ( (validar_campotexto(nombre))== false ){
		mensajeerror=mensajeerror+"\n"+"NOMBRE";
		contador=contador+1;
			if (focusactivo==true){
				nombre.focus();
				focusactivo=false;
				}
	}

	

	if ( (validar_campotexto(apellidos))== false ){
		mensajeerror=mensajeerror+"\n"+"APELLIDOS";
		contador=contador+1;
			if (focusactivo==true){
				apellidos.focus();
				focusactivo=false;
				}
	}	
	if ( (validar_seleccion(tipodoc))== false ){
		mensajeerror=mensajeerror+"\n"+"seleccione un TIPO DE DOCUMENTO";
		contador=contador+1;
			if (focusactivo==true){
				tipodoc.focus();
				focusactivo=false;
				}
	}

	if ( (validar_campotexto(numero))== false ){
		mensajeerror=mensajeerror+"\n"+"NUMERO DE DOCUMENTO";
		contador=contador+1;
			if (focusactivo==true){
				numero.focus();
				focusactivo=false;
				}
	}
	
		
	switch (tipodoc.value){
		case "0": //es un NIF
		if ( (validar_nif(numero.value))== false ){
				
				contador=contador+1;
				if (focusactivo==true){
				numero.focus();
				focusactivo=false;
				}
			}
			break;
			
		case "1": // es un NIE
			if ( (validar_nie(numero.value))== false ){
				
				contador=contador+1;
				if (focusactivo==true){
				numero.focus();
				focusactivo=false;
				}
			}
			break;
			
		case "2": // es un CIF
			if ( (validar_cif(numero.value))== false ){
			
				contador=contador+1;
				if (focusactivo==true){
				numero.focus();
				focusactivo=false;
				}
			} 
			break;			
	
	}//switch
	
	
	if (respuesta[0].checked)//email
		{ if  ( (checkEmail(email.value))== false)
			{
			mensajeerror=mensajeerror+"\n"+"E-MAIL";
			contador=contador+1;
			if (focusactivo==true){
				email.focus();
				focusactivo=false;
				}
			}
		}//email
	if (respuesta[1].checked) //telefono
		{ if ( ((validar_campotexto(telefono.value))== false ) || ((validar_telefono(telefono.value))== false) ) 
			{
			mensajeerror=mensajeerror+"\n"+"TELEFONO";
			contador=contador+1;
			if (focusactivo==true){
				telefono.focus();
				focusactivo=false;
				}
			}
		} //telefono
		
	if (respuesta[2].checked)  //direccion postal
		{ if ( (validar_campotexto(direccion))== false ){
			mensajeerror=mensajeerror+"\n"+"DIRECCION COMPLETA";
			contador=contador+1;
				if (focusactivo==true){
				direccion.focus();
				focusactivo=false;
				}
		}
		
		if ( (validar_campotexto(localidad))== false ){
			mensajeerror=mensajeerror+"\n"+"LOCALIDAD";
			contador=contador+1;
				if (focusactivo==true){
				localidad.focus();
				focusactivo=false;
				}
		}
		if ( (validar_campotexto(provincia))== false ){
			mensajeerror=mensajeerror+"\n"+"PROVINCIA";
			contador=contador+1;
				if (focusactivo==true){
				provincia.focus();
				focusactivo=false;
				}
		}	
	} // direccion postal
	
	
	if ( (validar_select(calidad.value))== false ){
		mensajeerror=mensajeerror+"\n"+"seleccione EN CALIDAD DE";
		contador=contador+1;
			if (focusactivo==true){
				calidad.focus();
				focusactivo=false;
				}
	}	
		
	if ( (validar_select(motivo.value))== false ){
		mensajeerror=mensajeerror+"\n"+"seleccione su MOTIVO";
		contador=contador+1;
			if (focusactivo==true){
				motivo.focus();
				focusactivo=false;
				}
	}	

	if ( (validar_select(asunto.value))== false ){
		mensajeerror=mensajeerror+"\n"+"seleccione su ASUNTO";
		contador=contador+1;
			if (focusactivo==true){
				asunto.focus();
				focusactivo=false;
				}
	}

	if ( (validar_campotexto(mensaje))== false ){
		mensajeerror=mensajeerror+"\n"+"MENSAJE";
		contador=contador+1;
			if (focusactivo==true){
				mensaje.focus();
				focusactivo=false;
				}
	}		

	if (contador == 0) { 
		return true;
	} 

	if (contador >0){
		alert(mensajeerror);
		return false;
	}		
	
}



<!-- funcion para abrir en ventana nueva una imagen de la seccion visitar leon/imagenes  -->
var miventana=null;
function abrirImagen(ruta,ancho,alto){
ancho=ancho+25;
alto=alto+25;
if (miventana!=null){miventana.close()}

miventana=window.open(ruta,'Imagen','top=10,left=10,width='+ancho+',height='+alto+' ');
miventana.height=alto;
miventana.width=ancho;
//miventana.title="Imagen";
miventana.focus();
}

<!-- funcion para recargar la imagen de la webcam cada 30 segundo  -->

function reloadImage(imgWebCam){
if (document.images)
	{
	document.images.webcam.src=imgWebCam+'?'+(new Date()).getTime();
	}
setTimeout('reloadImage(imgWebCam)',30000);
}

function newWindow(mypage, myname, w, h) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',resizable,location=no,directories=no,scrollbars=yes,toolbar=no,menubar=no';
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function newWindowE(mypage, myname, w, h) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',resizable=no,location=no,directories=no,scrollbars=yes,toolbar=no,menubar=no';
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
function newWindowL(mypage, myname, w, h) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',resizable=no,location=yes,directories=no,scrollbars=yes,toolbar=no,menubar=no';
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
