function mostrar(seleccion) {
  	if (seleccion!=""){
		if(document.getElementById(seleccion)){
			obj = document.getElementById(seleccion);  
			obj.style.display='block';
		}		
	}
}

function ocultar(seleccion) {
  	if (seleccion!=""){
		if(document.getElementById(seleccion)){
			obj = document.getElementById(seleccion);  
			obj.style.display='none';
		}		
	}
}
function insgen(f){
  if (f.nombre.value.length <= 0)
  {
    alert("Debe indicar su nombre y apellidos");
    f.nombre.focus();
    return false;
  }
  if (f.dni.value.length <= 0)
  {
    alert("Debe indicar su DNI");
    f.dni.focus();
    return false;
  }
  if (f.direccion.value.length <= 0)
  {
    alert("Debe indicar su direccion");
    f.direccion.focus();
    return false;
  }
  if (f.cp.value.length <= 0)
  {
    alert("Debe indicar su codigo postal");
    f.cp.focus();
    return false;
  }
  if (f.ciudad.value.length <= 0)
  {
    alert("Debe indicar su municipio");
    f.ciudad.focus();
    return false;
  }
  if (f.provincia.value.length <= 0)
  {
    alert("Debe indicar su provincia");
    f.provincia.focus();
    return false;
  }
  if (f.telefono.value.length <= 0)
  {
    alert("Debe indicar un telefono");
    f.telefono.focus();
    return false;
  }
  if (f.email.value.length <= 0)
  {
    alert("Debe indicar un e-mail");
    f.email.focus();
    return false;
  }
  if (f.expone.value.length <= 0)
  {
    alert("Debe exponer su instancia");
    f.expone.focus();
    return false;
  }
  if (f.solicita.value.length <= 0)
  {
    alert("Debe rellenar su solicitud");
    f.solicita.focus();
    return false;
  }
  
  f.submit();
  return true;
}

function insssb(f){
  if (f.nombre.value.length <= 0)
  {
    alert("Debe indicar su nombre y apellidos");
    f.nombre.focus();
    return false;
  }
  if (f.dni.value.length <= 0)
  {
    alert("Debe indicar su DNI");
    f.dni.focus();
    return false;
  }
  if (f.direccion.value.length <= 0)
  {
    alert("Debe indicar su direccion");
    f.direccion.focus();
    return false;
  }
  if (f.cp.value.length <= 0)
  {
    alert("Debe indicar su codigo postal");
    f.cp.focus();
    return false;
  }
  if (f.ciudad.value.length <= 0)
  {
    alert("Debe indicar su municipio");
    f.ciudad.focus();
    return false;
  }
  if (f.provincia.value.length <= 0)
  {
    alert("Debe indicar su provincia");
    f.provincia.focus();
    return false;
  }
  if (f.telefono.value.length <= 0)
  {
    alert("Debe indicar un telefono");
    f.telefono.focus();
    return false;
  }
  
  if (f.nombrer.value.length <= 0)
  {
    alert("Debe indicar el nombre y apellidos del representante");
    f.nombrer.focus();
    return false;
  }
  if (f.dnir.value.length <= 0)
  {
    alert("Debe indicar el DNI del representante");
    f.dnir.focus();
    return false;
  }
  if (f.direccionr.value.length <= 0)
  {
    alert("Debe indicar la direccion del representante");
    f.direccionr.focus();
    return false;
  }
  if (f.cpr.value.length <= 0)
  {
    alert("Debe indicar el codigo postal del representante");
    f.cpr.focus();
    return false;
  }
  if (f.ciudadr.value.length <= 0)
  {
    alert("Debe indicar el municipio del representante");
    f.ciudadr.focus();
    return false;
  }
  if (f.provinciar.value.length <= 0)
  {
    alert("Debe indicar la provincia del representante");
    f.provinciar.focus();
    return false;
  }
  if (f.telefonor.value.length <= 0)
  {
    alert("Debe indicar el telefono del representante");
    f.telefonor.focus();
    return false;
  }
  
  if (f.email.value.length <= 0)
  {
    alert("Debe indicar un e-mail");
    f.email.focus();
    return false;
  }
  
  if (f.expone.value.length <= 0)
  {
    alert("Debe exponer su instancia");
    f.expone.focus();
    return false;
  }
  if (f.solicita.value.length <= 0)
  {
    alert("Debe rellenar su solicitud");
    f.solicita.focus();
    return false;
  }
  
  f.submit();
  return true;
}

function cesmat(f){
  if (f.nombre.value.length <= 0)
  {
    alert("Debe indicar su nombre y apellidos");
    f.nombre.focus();
    return false;
  }
  if (f.dni.value.length <= 0)
  {
    alert("Debe indicar su DNI");
    f.dni.focus();
    return false;
  }
  if (f.direccion.value.length <= 0)
  {
    alert("Debe indicar su direccion");
    f.direccion.focus();
    return false;
  }
  if (f.cp.value.length <= 0)
  {
    alert("Debe indicar su codigo postal");
    f.cp.focus();
    return false;
  }
  if (f.ciudad.value.length <= 0)
  {
    alert("Debe indicar su municipio");
    f.ciudad.focus();
    return false;
  }
  if (f.provincia.value.length <= 0)
  {
    alert("Debe indicar su provincia");
    f.provincia.focus();
    return false;
  }
  if (f.telefono.value.length <= 0)
  {
    alert("Debe indicar un telefono");
    f.telefono.focus();
    return false;
  }
  if (f.email.value.length <= 0)
  {
    alert("Debe indicar un e-mail");
    f.email.focus();
    return false;
  }
  if (f.finalidad.value.length <= 0)
  {
    alert("Debe exponer su finalidad");
    f.finalidad.focus();
    return false;
  }
  if (document.getElementById('listado').innerHTML == "")
  {
    alert("Debe indicar al menos un material para la cesión.\nPulse en el boton +");
    return false;
  }
  
  f.submit();
  return true;
}
//**************************************************************//
function nuevoAjax() { 
	var xmlhttp=false; 
	try { 
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e){ 
		try{ // Creacion del objet AJAX para IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } 	      
	return xmlhttp; 
}
//************************ VALIDACION DE CIF / NIF / NIE  **************************************//
function validancn(ncn){
	if(ncn.value!=''){
		var comprobacion=valida_nif_cif_nie(ncn.value);
		if (comprobacion<=0){
			if (comprobacion==0){
				alert("El dato introducido no corresponde a un NIF, CIF o NIE valido");
			}
			else if (comprobacion==-1){
				alert("El NIF introducido no es correcto");
			}
			else if (comprobacion==-2){
				alert("El CIF introducido no es correcto");
			}
			else if (comprobacion==-3){
				alert("El NIE introducido no es correcto");		
			}
			ncn.value='';
			ncn.focus();
		}
	}
}

//Devuelve: 1 = NIF ok, 2 = CIF ok, 3 = NIE ok, -1 = NIF error, -2 = CIF error, -3 = NIE error, 0 = ??? error
function valida_nif_cif_nie(a) {
	var temp=a.toUpperCase();
	var cadenadni="TRWAGMYFPDXBNJZSQVHLCKE";
 
	if (temp!==''){
		//si no tiene un formato valido devuelve error
		if ((!/^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$/.test(temp) && !/^[T]{1}[A-Z0-9]{8}$/.test(temp)) && !/^[0-9]{8}[A-Z]{1}$/.test(temp)){
			return 0;
		}
		//comprobacion de NIFs estandar
		if (/^[0-9]{8}[A-Z]{1}$/.test(temp)){
			posicion = a.substring(8,0) % 23;
			letra = cadenadni.charAt(posicion);
			var letradni=temp.charAt(8);
			if (letra == letradni){
			   	return 1;
			}
			else{
				return -1;
			}
		}
 
		//algoritmo para comprobacion de codigos tipo CIF
		suma = parseInt(a[2])+parseInt(a[4])+parseInt(a[6]);
		for (i = 1; i < 8; i += 2){
			temp1 = 2 * parseInt(a[i]);
			temp1 += '';
			temp1 = temp1.substring(0,1);
			temp2 = 2 * parseInt(a[i]);
			temp2 += '';
			temp2 = temp2.substring(1,2);
			if (temp2 == ''){
				temp2 = '0';
			}
			suma += (parseInt(temp1) + parseInt(temp2));
		}
		suma += '';
		n = 10 - parseInt(suma.substring(suma.length-1, suma.length));
 
		//comprobacion de NIFs especiales (se calculan como CIFs)
		if (/^[KLM]{1}/.test(temp)){
			if (a[8] == String.fromCharCode(64 + n)){
				return 1;
			}
			else{
				return -1;
			}
		}
 
		//comprobacion de CIFs
		if (/^[ABCDEFGHJNPQRSUVW]{1}/.test(temp)){
			temp = n + '';
			if (a[8] == String.fromCharCode(64 + n) || a[8] == parseInt(temp.substring(temp.length-1, temp.length))){
				return 2;
			}
			else{
				return -2;
			}
		}
 
		//comprobacion de NIEs
		if (/^[T]{1}/.test(temp)){
			if (a[8] == /^[T]{1}[A-Z0-9]{8}$/.test(temp)){
				return 3;
			}
			else{
				return -3;
			}
		}
		//XYZ
		if (/^[XYZ]{1}/.test(temp)){
			pos = str_replace(['X', 'Y', 'Z'], ['0','1','2'], temp).substring(0, 8) % 23;
			if (a[8] == cadenadni.substring(pos, pos + 1)){
				return 3;
			}
			else{
				return -3;
			}
		}
	}
	return 0;
} 

function str_replace(search, replace, subject) {
    var f = search, r = replace, s = subject;
    var ra = r instanceof Array, sa = s instanceof Array, f = [].concat(f), r = [].concat(r), i = (s = [].concat(s)).length;
 
    while (j = 0, i--) {
        if (s[i]) {
            while (s[i] = s[i].split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
        }
    };
    return sa ? s : s[0];
} 

