	
	var alVacioR;
	var alProR;
	var alNumR = new Array(); //cp, tf1, tf2 y fax
	var alMailR;
	var fraANomR;
	var fraVacioR;
	var fraProR;
	var fraNumR; //cp
	
	
	//ALUMNO ----------------------------------------------------------------------------------------------------------------
	function valAl(){
		//Campos vacios
		var alVacio = ['alNom', 'alApe', 'alNif', 'alDir', 'alPob', 'alCp', 'alTf1', 'alEma', 'alProf'];
		for(i=0;i<alVacio.length;i++) {
			var alA = gId(alVacio[i]);
			if(alA.value == ""){
				alVacioR = false;
				alA.parentNode.style.border = '1px solid #E35000';
				alA.parentNode.style.background = '#FFFDE3';
			}else{
				alA.parentNode.style.border = '1px solid #CFCFC5';
				alA.parentNode.style.background = '#fff';
			}
		}
		//Provincia
		var alB = gId('alPro');
		if(alB.selectedIndex == 0){
			alProR = false;
			alB.style.background = '#FFFDE3';
		}else{
			alB.style.background = '#fff';
		}
		//Campos de numero
		var alNum = ['alCp', 'alTf1', 'alTf2', 'alFax'];
		for(i=0;i<alNum.length;i++){
			var alC = gId(alNum[i]);
			if(alC.value != ""){
				alC.parentNode.style.border = '1px solid #CFCFC5';
				alC.parentNode.style.background = '#fff';
				if(!valNum(alC.value,alC.id)){
					alNumR[i] = false;
					alC.parentNode.style.border = '1px solid #E35000';
					alC.parentNode.style.background = '#FFFDE3';
				}
			}
		}
		//Email
		var alMail = gId('alEma');
		if(alMail.value != ""){
			alMail.parentNode.style.border = '1px solid #CFCFC5';
			alMail.parentNode.style.background = '#fff';
			if(!valEmail(alMail)){
				alMailR = false;
				alMail.parentNode.style.border = '1px solid #E35000';
				alMail.parentNode.style.background = '#FFFDE3';
			}
		}
	}
	
	//FACTURA ----------------------------------------------------------------------------------------------------------------
	function valFra(){
		//Campos vacios
		var fraVacio = ['fraNom', 'fraCif', 'fraDir', 'fraPob', 'fraCp'];
		for(i=0;i<fraVacio.length;i++) {
			var fraA = gId(fraVacio[i]);
			if(fraA.value == ""){
				fraVacioR = false;
				fraA.parentNode.style.border = '1px solid #E35000';
				fraA.parentNode.style.background = '#FFFDE3';
			}else{
				fraA.parentNode.style.border = '1px solid #CFCFC5';
				fraA.parentNode.style.background = '#fff';
			}
		}
		//Provincia
		var fraB = gId('fraPro');
		if(fraB.selectedIndex == 0){
			fraProR = false;
			fraB.style.background = '#FFFDE3';
		}else{
			fraB.style.background = '#fff';
		}
		//Campos de numero
		var fraC = gId('fraCp');
		if(fraC.value != ""){
			fraC.parentNode.style.border = '1px solid #CFCFC5';
			fraC.parentNode.style.background = '#fff';
			if(!valNum(fraC.value,fraC.id)){
				fraNumR = false;
				fraC.parentNode.style.border = '1px solid #E35000';
				fraC.parentNode.style.background = '#FFFDE3';
			}
		}
	}
	
	//VARIAS -----------------------------------------------------------------------------------------------------------------
	function valNum(n,t){
		var valor = parseInt(n) ;
		if(isNaN(valor)){ return false; }
		else{
			var str = String(n);
			if((t == 'alCp' || t == 'fraCp') && str.length < 5) return false;  
			else if((t == 'alTf1' || t == 'alTf2' || t == 'alFax') && str.length < 9) return false;  
			else return true; 
		}
	}
	function valEmail(dir){
		var caractNovalidos = " /:,;"
		for(i=0; i<caractNovalidos.length; i++)
			caractInv = caractNovalidos.charAt(i);
		if(dir.value.indexOf(caractInv,0) > -1) return false;
		
		var posicionArroba = dir.value.indexOf("@", 1);
		if(posicionArroba == -1) return false; 
		if(dir.value.indexOf("@", posicionArroba +1) > -1) return false;
		
		var punto = dir.value.indexOf(".", 1);
		if(punto == -1) return false;
		
		var cadenaTrasArroba = dir.value.substring(dir.value.indexOf("@")+1,dir.value.length);
		var ultimoPunto = cadenaTrasArroba.indexOf(".", 1);
		var ultimoPuntoCorrect = dir.value.lastIndexOf(".", "@");
		
		if(cadenaTrasArroba == 0 || ultimoPunto == -1 || ultimoPuntoCorrect+3 > dir.value.length) return false;
		else return true;
	}
	
	//VALIDACION Y MENSAJES -------------------------------------------------------------------------------------------------
	function valForm(){
		gId('ulError').innerHTML = "";
		alVacioR = alProR = alNumR[0] = alNumR[1] = alNumR[2] = alNumR[3] = alMailR = fraANomR = fraVacioR = fraProR = fraNumR = true;
		valAl();
		if(gId('alFra').checked){
			if(!document.preF.alFraN[0].checked && !document.preF.alFraN[1].checked){
				fraANomR = false;
				gId('cPre1').style.borderTop = '1px solid #E35000';
				gId('cPre1').style.borderBottom = '1px solid #E35000';			
				gId('cPre1').style.background = '#FFFDE3';
			}else{
				gId('cPre1').style.borderTop = '1px solid #EEEEE6';
				gId('cPre1').style.borderBottom = '1px solid #EEEEE6';			
				gId('cPre1').style.background = '#F8F8F4';
				if(document.preF.alFraN[1].checked) valFra();
			}
		}
		if(!alVacioR || !alProR || !alNumR[0] || !alNumR[1] || !alNumR[2] || !alNumR[3] || !alMailR || !fraANomR || !fraVacioR || !fraProR || !fraNumR){
			ScrollWin.scroll('0','cTop');
			if(gId('cPreE').style.display == 'none') gId('cPreE').style.display = 'block';
			if(!alVacioR || !fraVacioR || !alProR || !fraProR) gId('ulError').innerHTML += '<li>Los campos con <strong>asterisco</strong> son necesarios.</li>';
			if(!alNumR[0]) gId('ulError').innerHTML += '<li>El campo <strong>Cód. Postal</strong> debe contener <strong>cinco dígitos</strong>.</li>';
			if(!alNumR[1]) gId('ulError').innerHTML += '<li>El campo <strong>Teléfono 1</strong> debe contener <strong>nueve dígitos</strong>.</li>';
			if(!alNumR[2]) gId('ulError').innerHTML += '<li>El campo <strong>Teléfono 2</strong> debe contener <strong>nueve dígitos</strong>.</li>';
			if(!alNumR[3]) gId('ulError').innerHTML += '<li>El campo <strong>Fax</strong> debe contener <strong>nueve dígitos</strong>.</li>';
			if(!alMailR) gId('ulError').innerHTML += '<li>La dirección de <strong>Correo electrónico</strong> introducida no tiene<br /> el formato correcto.</li>';
			if(!fraANomR) gId('ulError').innerHTML += '<li>Debe elegir a <strong>nombre de quién se emitirá la factura</strong>.</li>';
			if(!fraNumR) gId('ulError').innerHTML += '<li>El campo <strong>Cód. postal</strong> en el apartado <strong>Emisión de factura</strong> debe contener <strong>cinco dígitos</strong>.</li>';
			dataAlt();
			return;
		}
		else{
			document.preF.submit();
		}
	}
