//expresiones regulares para validar los campos	
	
regexp_ss_alumno = /^([0-9]{12})$/;
regexp_dni = /^([0-9a-zA-Z]){1}([0-9]{7})([0-9a-zA-Z]{1})$/;
regexp_texto = /^([\/_\-\.;, a-zñáéíóúüA-ZÑÁÉÍÓÚÜ]){3,50}$/;
regexp_numero = /^([0-9]){1,5}$/;
regexp_cp = /^([0-9]){4,5}$/;
regexp_tlf = /^[0-9]{9}$/;
regexp_email = /^[0-9a-zA-Z]{1}[._\-0-9a-zA-Z]+\@[0-9a-zA-Z]+\.[0-9a-zA-Z]{2,}$/;


//funcion que verifica los campos cada vez que salimos de ellos
function fieldCheck(elem,expresion) {
    var valor = elem.value;
    var nombre = elem.name;
    if (elem.className == 'error') {
	elem.className = '';
    }
    if (nombre != 'email') {
	elem.value =valor.toUpperCase();
    }
    else {
	elem.value=valor.toLowerCase();
    }
    if (!(valor.match(expresion)) || (valor == '')){ //usamos el metodo match para realizar la comprobacion
	    elem.className = 'error';
	    if (nombre != 'apellido2'){
	    
		    elem.focus();
		    elem.select();
		    return false;
	    }
	    else
	    	return false;
	    
    }
    else {
    	//verificamos, ademas que se el campo de SS o DNI para comprobar que los datos son correctos
    	if (nombre == 'ss_alumno'){
    		if(!dcSS(elem)){
		    	elem.className = 'error';
			    elem.focus();
			    elem.select();
			    return false;
    		}
    		
    	}
    	if (nombre == 'dni'){
    		if (!letraDni(elem)){
    			elem.className = 'error';
			    elem.focus();
			    elem.select();
			    return false;
    		}
    	}
    	
    	return true;	
    }
	
}


//funcion de comprobacion para los selects

function selectCheck(elem) {
    var valor = elem.value;
    var clase = elem.className;
    if (clase == 'error') {
	elem.className = '';
    }
     
    if ((valor =='')){ //comprobamos que se haya seleccionado algo que no sea la opcion 'null'
	   elem.className = 'error';
	   //elem.focus();
	   return false;
	   
	    
    }
    else {
	return true;
    }
}
//funcion que cambia el estado de los campos de deshabilitado a habilitado
function changeFields()
				{
					var formLength = document.forms[1].length;
					//alert (formLength);
					for (var i=0; i<formLength-3; i++){
						if (document.forms[1].elements[i].disabled == true){
							document.forms[1].elements[i].disabled = false;
						}
						else document.forms[1].elements[i].disabled = true;
						
					}
					
				}
function changeFieldsData()
				{
					var formLength = document.forms['changeDataForm'].length;
					//alert (formLength);
					for (var i=0; i<formLength-3; i++){
						if (document.forms['changeDataForm'].elements[i].disabled == true){
							document.forms['changeDataForm'].elements[i].disabled = false;
						}
						else document.forms['changeDataForm'].elements[i].disabled = true;
						
					}
					
				}
function comprov_contrasena()
				{
					if (inscripcionform.contrasena.value != inscripcionform.rep_contrasena.value) {
						alert ("La contraseña que ha introducido en los dos campos destinados para comprobar la contraseña no coinciden");
							inscripcionform.contrasena.value="";
							inscripcionform.rep_contrasena.value="";
							inscripcionform.contrasena.focus();
					}
				}

				//funcion que verifica que el número de la SS es correcto		
function dcSS(numss){
	var valor = numss.value;
	var cadena = valor.substring(0,valor.length-2);
	var dcOri = valor.substring(valor.length-2,valor.length);
	
	
	if (valor.length==9){
		
		/*cadenacalc = parseInt (cadenacalc);
		var temp = (cadenacalc/97).toString();
		
		temp = parseInt(temp);
		
		var dc = cadenacalc - (temp*97);
		
		dc = dc.toString(); */
		var dc = cadenacalc%97;
			
			
		
	}
	else {
			//var cadena=valor.substring(0,10);
			
			if (cadena.substring(2,3) =='0'){
				var cadenacalc = cadena.substring(0,2) + cadena.substring(3,10);
				
			}
			else {
				var cadenacalc = cadena;
			}
			
			cadenacalc = parseInt (cadenacalc,10);
						
			var dc = cadenacalc%97; //calcula el valor para el digito de control en el número de la seguridad social
			
			
		}
			dc = dc.toString(); 
			if (dc.length==1)
				dc = "0"+dc;
				//alert (dc);
			if (dc != dcOri){
				
			
				alert ("El número de la Seguridad Social no es correcto\n\nPor favor, corríjalo antes de continuar\nGracias");
				return false;
			}
			else				
				return true;
			
	
}


// verificacion de la letra del dni

function letraDni(elem)
{
				var dni = elem.value;
			if (dni.length == 9){
				var primnunDni = dni.substring(0,1);
				var letra = dni.substring(8,9);
				
				dni = dni.substring(0,8);
				dni = parseInt (dni);
				if (parseInt (primnunDni)){
					
					var juegocaracteres="TRWAGMYFPDXBNJZSQVHLCKET";
					var posicion= dni % 23;
					var Letra = juegocaracteres.charAt(posicion);
					
					if (Letra != letra) {
						alert ("La letra del NIF no es correcta");
						elem.focus();
						elem.select();
						return false;
					}
					else 
						return true;
					
				}
				else if (parseInt (letra)){
					alert ("El documento de identificación no parece correcto\nRevíselo, por favor");
					elem.focus();
					elem.select();
					return false;
				}
				else 
					return true;
			}
			else {
				alert ("El número de identificación es demasiado corto");
				elem.focus();
				elem.select();
				return false;
			}
		
}

function ValidThisForm (formu){
	
		if (formu.pp.checked!=true) {
		alert ("Debes aceptar nuestra política de privacidad");
		formu.pp.checked;
		return false;
		}
		else {
				var longitud = formu.length;
				var errores = 0;
				var telerror = 0;
				//defnimos el array para las expresiones regulares
				var expreg = new Array();
				expreg[1] = /^([0-9a-zA-Z]){1}([0-9]{7})([0-9a-zA-Z]{1})$/;
				expreg[0] = /^([0-9]{12})$/;
				expreg[6] = /^([- a-zñáéíóúüA-ZÑÁÉÍÓÚÜ]){3,50}$/;
				expreg[7] = /^([- a-zñáéíóúüA-ZÑÁÉÍÓÚÜ]){3,50}$/;
				expreg[8] = /^([- a-zñáéíóúüA-ZÑÁÉÍÓÚÜ]){3,50}$/;
				expreg[10] = /^([- a-zñáéíóúüA-ZÑÁÉÍÓÚÜ]){3,50}$/;
				expreg[11] = /^([0-9]){1,5}$/;
				expreg[12] = /^([- a-zñáéíóúüA-ZÑÁÉÍÓÚÜ]){3,50}$/;
				expreg[13] = /^([0-9]){4,5}$/
				expreg[19] =/^[0-9]{9}$/;
				expreg[20] =/^[0-9]{9}$/;
				expreg[26] =/^[0-9a-zA-Z]{1}[-._0-9a-zA-Z]+\@[0-9a-zA-Z]+\.[0-9a-zA-Z]{2,}$/;
				for (var i=0; i<longitud-3;i++){
					
					if ((formu.elements[i].value=='') && (formu.elements[i].name != 'apellido2')){
						if ((formu.elements[i].name=='telefono') ||(formu.elements[i].name=='movil') ){
							telerror+= 1;
						}
						errores+= 1;
						formu.elements[i].className = 'error';
						//alert ("Númeor de errores: "+errores);
						
					}
					else{ 
						
						if ((formu.elements[i].type=='text') && !(fieldCheck(formu.elements[i],expreg[i])) && (formu.elements[i].name != 'apellido2')){
							
							errores+= 1;
							
							formu.elements[i].className = 'error';								
						
						}
					}
				}
				
				if (errores !=0){
					if(errores == 1 && telerror ==1)
						return true;
					else {
						if (errores == 2 && telerror ==2)
						alert ("Al menos debes poner un número de teléfono");
						alert ("Hay errores en el formulario. Revise los datos");
						return false;
					}
				}
				else			
					return true;
		}
				
}

function ValidThisBolsa (formu){
	
		if (formu.pp.checked!=true) {
		alert ("Debes aceptar nuestra política de privacidad");
		formu.pp.checked;
		return false;
		}
		else {
				var longitud = formu.length;
				var errores = 0;
				var telerror = 0;
				//defnimos el array para las expresiones regulares
				var expreg = new Array();
				expreg[0] = /^([- a-zñáéíóúüA-ZÑÁÉÍÓÚÜ]){3,50}$/;
				expreg[1] = /^([- a-zñáéíóúüA-ZÑÁÉÍÓÚÜ]){3,50}$/;
				expreg[2] = /^([- a-zñáéíóúüA-ZÑÁÉÍÓÚÜ]){3,50}$/;
				expreg[4] = /^([- a-zñáéíóúüA-ZÑÁÉÍÓÚÜ]){3,50}$/;
				expreg[5] = /^([0-9]){1,5}$/;
				expreg[6] = /^([- a-zñáéíóúüA-ZÑÁÉÍÓÚÜ]){3,50}$/;
				expreg[7] = /^([0-9]){4,5}$/;
				expreg[8] = /^([- a-zñáéíóúüA-ZÑÁÉÍÓÚÜ]){3,50}$/;
				expreg[9] = /^([0-9]){1,5}$/;
				expreg[10] = /^([- a-zñáéíóúüA-ZÑÁÉÍÓÚÜ]){3,50}$/;
				expreg[11] = /^([0-9]){4,5}$/
				expreg[13] = /^[0-9]{9}$/;
				expreg[14] = /^[0-9]{9}$/;
				
				expreg[16] =/^[0-9a-zA-Z]{1}[-._0-9a-zA-Z]+\@[0-9a-zA-Z]+\.[0-9a-zA-Z]{2,}$/;
				
				expreg[17]=/^([\/_\-\.;, a-zñáéíóúüA-ZÑÁÉÍÓÚÜ]){3,50}$/;
				
				
				for (var i=0; i<longitud-3;i++){
					
					if ((formu.elements[i].value=='') && (formu.elements[i].name != 'apellido2')){
						if ((formu.elements[i].name=='telefono') ||(formu.elements[i].name=='movil') ){
							telerror+= 1;
						}
						errores+= 1;
						formu.elements[i].className = 'error';
						//alert ("Númeor de errores: "+errores);
						
					}
					else{ 
						
						if ((formu.elements[i].type=='text') && !(fieldCheck(formu.elements[i],expreg[i])) && (formu.elements[i].name != 'apellido2')){
							
							errores+= 1;
							
							formu.elements[i].className = 'error';								
						
						}
					}
				}
				
				if (errores !=0){
					if(errores == 1 && telerror ==1)
						return true;
					else {
						if (errores == 2 && telerror ==2)
						alert ("Al menos debes poner un número de teléfono");
						alert ("Hay errores en el formulario. Revise los datos");
						return false;
					}
				}
				else			
					return true;
		}
				
}

function dcSS_copia(numss){
	var valor = numss.value;
	if (valor.length==9){
		
		cadenacalc = parseInt (cadenacalc);
		var temp = (cadenacalc/97).toString();
		
		temp = parseInt(temp);
		
		var dc = cadenacalc - (temp*97);
		
		dc = dc.toString(); 
		
	}
	else {
			var cadena=valor.substring(0,10);
			
			if (cadena.substring(2,3) =='0'){
				var cadenacalc = cadena.substring(0,2) + cadena.substring(3,10);
				
			}
			else {
				var cadenacalc = cadena;
			}
			alert (cadenacalc);
			cadenacalc = parseInt (cadenacalc);
			var temp = (cadenacalc/97).toString();
			alert (temp);
			temp = parseInt(temp);
			alert (temp);
			var dc = cadenacalc - (temp*97);
			alert (dc);
			dc = dc.toString(); 
		}
			
			if (dc != valor.substring(10,12)){
				
			
				alert ("El número de la Seguridad Social no es correcto\n\nPor favor, corríjalo antes de continuar\nGracias");
				return false;
			}
			else				
				return true;
			
	
}



