
function checkeatodos(check)//selecciona todos los checkbox
{

	variable=eval(check);
if (!variable)
{

}
else
{	
	if ( check.length)
	{
		for(var i=0;i< check.length;i++)
		{
			check[i].checked=true;
		}
	}
	else 
	{
		
		check.checked=true;
	}	
}

}

function descheckeatodos(check)//deselecciona todos los chekbox
{
	

variable=eval(check);
if (!variable)
{

}
else
{	
	if ( check.length)
	{
		for(var i=0;i< check.length;i++)
		{
			check[i].checked=false;
		}
	}
	else 
	{
		
		check.checked=false;
	}	
}

}

function borrado(checks)//llama a un fichero php que borra los registros seleccionados
{
	
	if(confirm("¿Está seguro de que desea borrar registro/s?"))
	{
		id=new Array()
		indice=0;

		for(i=0;i<checks.length;i++)
		{
			
			if(checks[i].checked==true)
			{	
				id[indice]=checks[i].value;
			}
		}
		
		//si ha elegido algún check eliminamos
		if(id=="")
		{
			alert("No ha seleccionado ningún registro para borrar");
		}
		else
		{
			top.iframegestion.document.location.href='LC_usuarios.php?http_tipo=3&id='+id;
		}
	}
}

function ordena(pagina,formulario,sentido)//envia el formulario pasandole un parametros para ordenar la pagina
{
	formulario.action="lc_listanoticias.php";
	formulario.pagina.value=pagina;

        if(sentido==1)
        {
               formulario.sentido.value=sentido;
        }

        if(sentido==2)
        {
               formulario.sentido.value=sentido;
        }

	formulario.submit();
}

function ordena_centro(tipo,pagina,orden,formulario,codcentro)//envia el formulario pasandole un parametros para ordenar la pagina
{
	
	formulario.action="man_usuarios.php"+"?http_codcentro="+codcentro;
	formulario.pagina.value=pagina;
	formulario.filtrado.value=tipo;
	formulario.orden.value=orden;
	formulario.submit();
}


function cancelarAccion()//cancela una modificacion 
{
	window.open("V_frameUsuarios.php","_parent");
}
function cancelar()//cancela una modificacion 
{
	window.open("frame_mantUsuarios.php","_parent");
}


function accion(boton) //pone la variable oculta tipo a 1,2 o 3 segun lo que se vaya a hacer y envia el formulario
{
	//ponemos el identificador y clave visible
	document.formulario.http_identificador.disabled=false;
	document.formulario.http_clave.disabled=false;
	
	if(boton=='Modificar')
	{
		document.formulario.http_tipo.value=2;
	}
	
	if(boton=='Insertar')
	{
		document.formulario.http_tipo.value=1;
	}
	
	if(boton=='Actualizar Datos')
	{
		document.formulario.http_tipo.value=5;
	}
	//comprobamos los campos obligatorios y si ha elegido un perfil
	if(document.formulario.http_identificador.value!='' || document.formulario.http_clave.value!='')
	{
		if(comprobarCamposObligatorios() && comprobarPerfil())
		{
			//comprobamos que haya metido la fecha
			if(esFecha(document.formulario.http_fechanac.value))
			{
				if((esEntero(document.formulario.http_movil.value)|| document.formulario.http_movil.value=="") && (esEntero(document.formulario.http_codigopostal.value)|| document.formulario.http_codigopostal.value=="") && (esEntero(document.formulario.http_telefono.value)|| document.formulario.http_telefono.value==""))
				{
					document.formulario.submit();
				}
				else
				{
					alert('El codigo postal o el movil deben de ser numericos');
				}
			}
			
		}
		else
		{
			return false;
		}
	}
	else
	{
		alert('El identificador y la clave no pueden estar vacios');	
		return false;
	}
	
}

//campos enteros
function esEntero(valor){ 
      //intento convertir a entero. 
     //si era un entero no le afecta, si no lo era lo intenta convertir 
     valor = parseInt(valor) 
      //Compruebo si es un valor numérico 
      if (isNaN(valor)) { 
            //entonces (no es numero) devuelvo false
			//alert("El campo no es numérico");
            return false
      }else{ 
            //En caso contrario (Si era un número) devuelvo el true
            return true
      } 
} 

//campos de fecha
function esFecha(dateStr) {
	// Comprueba los siguientes formatos de fecha:
	// MM/DD/YY MM/DD/YYYY MM-DD-YY MM-DD-YYYY
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
	
	var matchArray = dateStr.match(datePat); // is the format ok?
	if (dateStr==""){
		return true
	}
	if (matchArray == null) {
		alert("El formato de la Fecha debe ser dd/mm/aaaa")
		return false;
	}
	month = matchArray[3]; // parse date into variables
	day = matchArray[1];
	year = matchArray[4];
	if (month < 1 || month > 12) { // check month range
		alert("El mes debe estar entre 1 y 12.");
		return false;
	}
	if (day < 1 || day > 31) {
		alert("Día debe estar entre 1 y 31.");
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		alert("Este mes no tiene 31 días!")
		return false
	}
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			alert("Febrero " + year + " no tiene " + day + " dias!");
			return false;
		}
	}

	return true; // date is valid
}

function muestraUsuario(codUsuario) //funcion que envia el codigo de usuario a V_altaUsuario para que muestre sus datos
{
	document.formulario.http_tipo.value=4;
	document.formulario.codusu.value=codUsuario;
	document.formulario.l_boton.value="Actualizar Datos";
	document.formulario.http_tipo_origen.value="V_usuarios.php";
	document.formulario.target="frm_arriba";
	document.formulario.action="LC_usuarios.php";
	document.formulario.submit();
	document.formulario.target="frm_abajo";
}

function buscaUsuario() //funcion que envia el codigo de usuario a V_altaUsuario para que muestre sus datos
{
	//ponemos el identificqdor y clave visible
	document.formulario.http_identificador.disabled=false;
	document.formulario.http_clave.disabled=false;
	document.formulario.http_buscar.value=1;
	document.formulario.target="frm_abajo";
	document.formulario.action="man_usuarios.php";
	document.formulario.submit();
}

//Comprueba que haya elegido al menos un perfil y si es el de alumno comprueba que meta el dni
function comprobarPerfil()
{
	var enviar='no';
	
	if(document.formulario.http_chk_admin.checked==true)
	{
		enviar='si';
	}
	
	if(document.formulario.http_chk_centro.checked==true)
	{
		enviar='si';
	}
	
	if(document.formulario.http_chk_tutor.checked==true)
	{
		enviar='si';
	}
	
	if(document.formulario.http_chk_alumno.checked==true)
	{
		enviar='si';
	}
	
	if(enviar=='si')
	{
		if(document.formulario.http_chk_alumno.checked)
		{
			if( (document.formulario.http_dni.value!='') && (esDni(document.formulario.http_dni.value)) )
			{
				return true;
			}
			else
			{	
				alert('dni no valido o vacio');		
				return false;
			}
		}
		else
		{
			return true;
		}
	}
	else
	{
		alert('seleccione al menos un perfil');	
		return false;
	}
	
		
}

//Comprueba que ha rellenado los campos obligatorios
function comprobarCamposObligatorios()
{
	var enviar='si';
	
	if(document.formulario.http_nombre.value=='')
	{
		alert('Inserte su nombre');
		enviar='no';
	}

	if(document.formulario.http_cif.value=='')
	{
		alert('Inserte los numeros del cif');
		enviar='no';
	}



	if(document.formulario.http_letracif.value=='')
	{
		alert('Inserte la letra del cif');
		enviar='no';
	}
	
	if(!esMail(document.formulario.http_email.value))
	{
		enviar='no';
	}
	
	if(document.formulario.http_denominacionsocial.value=='')
	{
		alert('Inserte su donominacion social');
		enviar='no';
	}
	
	if(document.formulario.http_nif.value=='')
	{
		alert('Inserte los numeros del nif');
		enviar='no';
	}
	
	if(document.formulario.http_letranif.value=='')
	{
		alert('Inserte la letra del nif');
		enviar='no';
	}
	
	if(document.formulario.http_entidad.value=='' || document.formulario.http_sucursal.value=='' || document.formulario.http_entidad.dc=='' || document.formulario.http_entidad.cuenta=='')
	{
		alert('Inserte todos los campos de la cuenta bancaria');
		enviar='no';
	}
	
	if(enviar=='no')
	{
		return false;
	}
	else
	{
		return true;
	}
}

function esMail(YourMail)
{
	//Formato de direccion de correo electronico
	var Template = /^[a-z][a-z-_0-9.]+@[a-z-_=>0-9.]+.[a-z]{2,3}$/ 
	//Compara "YourMail" con el formato "Template" y si coincidevuelve verdadero si no devuelve falso
	if((Template.test(YourMail))) {
		return true;
	}
	else {
		alert("La dirección de correo no es correcta");
		return false;
	}
}

function CompruebaCIF(elCIF){
    var resul = false;
    var temp = elCIF.toUpperCase(); // pasar a mayúsculas

    if (!/^[A-Za-z0-9]{9}$/.test(temp)){ // Son 9 dígitos?
//      alert ("Longitud incorrecta, un CIF consta de 9 dígitos");
      return false;
    }
    else if (!/^[ABCDEFGHKLMNPQS]/.test(temp)){ // Es una letra de las admitidas ?
//      alert("El primer dígito es incorrecto, debe ser una letra de las siguientes: A,B,C,D,E,F,G,H,K,L,M,N,P,Q,S ");
      return false;
    }

    return ValidaCIF(elCIF);
}


  // La función recibe el CIF completo: A58818501
 function ValidaCIF(elCIF)
 {

    var v1 = new Array(0,2,4,6,8,1,3,5,7,9);
    var temp = 0;


    for( i = 2; i <= 6; i += 2 )
    {
      temp = temp + v1[ parseInt(elCIF.substr(i-1,1)) ];
      temp = temp + parseInt(elCIF.substr(i,1));
    };

    temp = temp + v1[ parseInt(elCIF.substr(7,1)) ];

    temp = (10 - ( temp % 10));

    if( temp == 10 ){
        if(((elCIF.substr(elCIF.length-1,1))!='J')&&
           ((elCIF.substr(elCIF.length-1,1))!='0')){
//                alert( "El dígito de control "+elCIF.substr(elCIF.length-1,1)+" != J y O");
                return false;
        }
    }
    else{
        if((elCIF.substr(elCIF.length-1,1))!=temp){
//                alert( "El dígito de control "+elCIF.substr(elCIF.length-1,1)+" != "+temp );
                return false;
        }
    }

    return true;
}

function esDni(sNif)
{
        var strLetras = 'TRWAGMYFPDXBNJZSQVHLCKE';
        var Letra;
        sNif=sNif.toUpperCase();
        if(sNif.length<9) {
                return(false);
        }
        else {
             if(sNif.charAt(0)=="X")
                sNif=sNif.substr(1,sNif.length);
                Letra=sNif.charAt(sNif.length-1);
                if(Letra<'A' || Letra>'Z') {
                        return(false);
                }
                else
                        Letra=strLetras.charAt((sNif.substr(0,sNif.length-1))%23);
                if(sNif.charAt(sNif.length-1)==Letra)
                        return(true);
                else {
                        return(false);
                }
        }
}
