function letra(e) {

	tecla = (document.all) ? e.keyCode : e.which;
	if (tecla==8) return true;//Tecla de retroceso (para poder borrar)
	patron =/[A-Z a-z áéíóú]/; // Solo acepta letras
	te = String.fromCharCode(tecla);
	return patron.test(te);

}
				
function validar(e) {

	tecla = (document.all) ? e.keyCode : e.which;
	if (tecla==8) return true; //Tecla de retroceso (para poder borrar)
	patron = /[0-9.]/; // Solo acepta números
	te = String.fromCharCode(tecla);
	return patron.test(te);

}
				
function comprueba_nif(nif, nif_nie){	//funcion para el evento onblur de la validacion del nif
								
	var respu=true;

	letranie = nif.substr(0, 1);
			
	if ( nif_nie == "nie" ) { 
			
		if ( nif.substr(0, 1).toUpperCase() != "X" && nif.substr(0, 1).toUpperCase() != "Y" ) {
														
			if(nif == ''){
			
				respu = true;
			
			}else{
			
				alert("La primera letra del Nie  debe ser una X/Y");
				respu = false;	
				
			}								
		}
	}
			
	if (!/^[0123456789]/.test(letranie) && nif_nie == 'nif') { // para NIF, el primer digito debe ser un numero
			
		if(nif == ''){
		
			respu = true;
			
		}else{
		
			alert("El primer digito del nif no puede ser una letra");
			respu = false;
	
		}
	
	}
			
	if ( nif_nie == 'nie' ){
						
		nif = nif.substr(1,(nif.length));  //pilla a partir del segundo caracter  del nie
	}
			
	var letra2 = nif.substr((nif.length - 1), 1); //pilla el ultimo caracter del nif
	
	letra2 = letra2.toUpperCase();
												
				
	if (!/^[0123456789]/.test(letra2)) { //si el ultimo caracter no es un numero
						
		var nif2 = nif.substr(0, (nif.length - 1));
				
	} else {
					 
		var nif2 = nif;
				
	}
			
	if ( letranie.toUpperCase() == "Y" ) {//si el nie empieza por Y se e tiene que sumar 10 millones a la variable nif2
	
		nif2 = Number(nif2);
	
		diezmilliones=parseInt(10000000);
	
		nif2 += diezmilliones;
																
	}
			
	//cuando los nies empiezen por Z se le tiene que sumar 20 millones
																
	if (nif2 !='') {
																			
		letra = (nif2 %= 23) + 1;
		if (letra == 1) {letra='T'};
		if (letra == 2) {letra='R'};
		if (letra == 3) {letra='W'};
		if (letra == 4) {letra='A'};
		if (letra == 5) {letra='G'};
		if (letra == 6) {letra='M'};
		if (letra == 7) {letra='Y'};
		if (letra == 8) {letra='F'};
		if (letra == 9) {letra='P'};
		if (letra == 10) {letra='D'};
		if (letra == 11) {letra='X'};
		if (letra == 12) {letra='B'};
		if (letra == 13) {letra='N'};
		if (letra == 14) {letra='J'};
		if (letra == 15) {letra='Z'};
		if (letra == 16) {letra='S'};
		if (letra == 17) {letra='Q'};
		if (letra == 18) {letra='V'};
		if (letra == 19) {letra='H'};
		if (letra == 20) {letra='L'};
		if (letra == 21) {letra='C'};
		if (letra == 22) {letra='K'};
		if (letra == 23) {letra='E'};
		
		if ( letra != letra2 ) {
		
			if ( nif_nie == 'nie' ) {
			
				alert("El Nie es erroneo");
				respu = false;
					
			} else {
			
				alert("El Nif Es erroneo"); 
				respu = false;
														
			}
		
		}
				
	}
			
return respu;

}


function comprueba_nif_cif(nif, nif_nie){	//funcion para el evento onblur de la validacion del nif
	var respu=true;
	letranie = nif.substr(0, 1);
			
	if ( nif_nie == "nie" ) { 	
		if ( nif.substr(0, 1).toUpperCase() != "X" && nif.substr(0, 1).toUpperCase() != "Y"  && nif.substr(0, 1).toUpperCase() != "Z") {												
			if (nif == '') {			
				respu = true;
			} else {
				alert("La primera letra del Nie  debe ser una X/Y/Z");
				respu = false;		
			}								
		}
	}
			
	if (!/^[0123456789]/.test(letranie) && nif_nie == 'nif') { // para NIF, el primer digito debe ser un numero
		if (nif == '') {
			respu = true;		
		} else {
			alert("El primer digito del nif no puede ser una letra");
			respu = false;
		}
	}
	
	if ( nif_nie == 'cif' ) {//si es cif
		var pares = 0;
		var impares = 0;
		var suma;
		var ultima;
		var unumero;
		var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I");
		var xxx;
		var texto = nif.toUpperCase();
		
		ultima = texto.substr(8,1);
		
		for (var cont = 1 ; cont < 7 ; cont ++){	
			xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0";
			impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
			pares += parseInt(texto.substr(cont,1));
		}
		
		xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0";
		impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
		suma = (pares + impares).toString();
		unumero = parseInt(suma.substr(suma.length - 1, 1));
		unumero = (10 - unumero).toString();
		
		if (unumero == 10) unumero = 0;
		
		//console.log(unumero +' || '+ uletra[unumero]);
		//console.log(ultima);
		
		if ((ultima == unumero) || (ultima == uletra[unumero])){
		
		} else {
			if (nif != '') {	//para que cuando este vacio no saque el horror ;)
				alert("El Cif es erroneo");
				respu = false;
			}	
		}
		
	} else {
		if ( nif_nie == 'nie' ) {						
			nif = nif.substr(1,(nif.length));  //pilla a partir del segundo caracter  del nie
		}
				
		var letra2 = nif.substr((nif.length - 1), 1); //pilla el ultimo caracter del nif
		letra2 = letra2.toUpperCase();									
					
		if (!/^[0123456789]/.test(letra2)) { //si el ultimo caracter no es un numero
			var nif2 = nif.substr(0, (nif.length - 1));				
		} else {
			var nif2 = nif;	
		}
				
		if ( letranie.toUpperCase() == "Y" ) {//si el nie empieza por Y se e tiene que sumar 10 millones a la variable nif2
			nif2 = Number(nif2);
			diezmilliones=parseInt(10000000);
			nif2 += diezmilliones;
		}
				
		//cuando los nies empiezen por Z se le tiene que sumar 20 millones
																	
		if (nif2 !='') {
																				
			letra = (nif2 %= 23) + 1;
			if (letra == 1) {letra='T'};
			if (letra == 2) {letra='R'};
			if (letra == 3) {letra='W'};
			if (letra == 4) {letra='A'};
			if (letra == 5) {letra='G'};
			if (letra == 6) {letra='M'};
			if (letra == 7) {letra='Y'};
			if (letra == 8) {letra='F'};
			if (letra == 9) {letra='P'};
			if (letra == 10) {letra='D'};
			if (letra == 11) {letra='X'};
			if (letra == 12) {letra='B'};
			if (letra == 13) {letra='N'};
			if (letra == 14) {letra='J'};
			if (letra == 15) {letra='Z'};
			if (letra == 16) {letra='S'};
			if (letra == 17) {letra='Q'};
			if (letra == 18) {letra='V'};
			if (letra == 19) {letra='H'};
			if (letra == 20) {letra='L'};
			if (letra == 21) {letra='C'};
			if (letra == 22) {letra='K'};
			if (letra == 23) {letra='E'};
			
			if ( letra != letra2 ) {
			
				if ( nif_nie == 'nie' ) {
				
					alert("El Nie es erroneo");
					respu = false;
						
				} else {
				
					alert("El Nif Es erroneo"); 
					respu = false;
															
				}
			
			}
					
		}
	
	}
	
	return respu;

}


				
function valida_matricula(matricula){
					
	var reg = new RegExp ("^(([0-9]{4}[B,C,D,F,G,H,J,K,L,M,N,P,Q,R,S,T,V,W,X,Y,Z]{3})|([a-zA-Z]{1,2}[0-9]{4}[a-zA-z]{1,2})|([P]{1}[0-9]{4}[a-zA-Z]{3})|([E]{1}[0-9]{4}[a-zA-Z]{3})|([C]{1}[0-9]{4}[a-zA-Z]{3})|([a-zA-Z]{1,2}[0-9]{5}[VE]{2}))$","g");//expresion regular para todas las matriculas

	provincias = new Array ("VI","AB ","AL","AV","BA","IB","PM","BU","CC","CA","CS","CE","CR","CO","CU","GI","GE","GR","GU","SS","HU","LE","LO","LU","MA","ML","MU","NA","OR","OU","GC","PO","SA","TF","SG","SE","SO","TE","TO","VA","BI","ZA");//array de provincias para las matriculas antiguas

	provincias2 = new Array ("A","B","C","H","J","L","M","O","P","S","T","V","Z")
					
	remplazo=matricula.replace("-","");//se remplazan los guiones por nada
	remplazo=remplazo.replace("-","");
	
	
	
	remplazo=remplazo.toUpperCase();//cambia a mayusculas
    
	provin_matri=remplazo.substring(0,2);//2 primeros caracteres de la matricula
	provin_matri_segunda_letra=provin_matri.substring(1,2);//segundo caracter de la matricula
	provin_matri_primera_letra=provin_matri.substring(0,1);//primer caracter de la matricula

	if(matricula != '' ){//si la matricula no viene vacia
						
		if (reg.test(remplazo) == 0) {//si es erronea
						   
		    alert("matricula erronea");
						   
			patron = /[0-9.]/; // Solo acepta números
			var pos = remplazo.search(patron) ;
							
			if(pos > 0){
			
				switch(pos){ 
			
					case 1: //posicion cuando solo es provincia con una letra
							
						for(z=0;z< provincias2.length;z++){//recorro el array de provincias para ver si la provincia que han metido es correcta

								var encontrado2 = provincias2[z].search(provin_matri_primera_letra);//busqueda de la primera letras
								
								if(encontrado2==0){//si no lo a encontrado salgo del bucle
								
								 break;
								 
								 }	

						}
							
						if(encontrado2==-1){//si no lo a encontrado en el array sacamos el alert
						
							alert("Provincia erronea");		
						
						}
							
					break;
					
					case 2: //posicion cuando 									
				
						for(i=0;i< provincias.length;i++){//recorro el array de provincias para ver si la provincia que han metido es correcta

								var encontrado = provincias[i].search(provin_matri);//busqueda de las 2 primeras letras
								
								if(encontrado==0){
								
								 break;
								 
								 }	

						}

						if(encontrado==-1){
						
							alert("Provincia erronea");		
						
						}
							
					break;
			
				}
			}

																
		}else{
	
			patron = /[0-9.]/; // Solo acepta números
			var pos = remplazo.search(patron) ;
							
			if(pos > 0){
								
				switch(pos){ 
								
					case 1: 
												
					for(z=0;z< provincias2.length;z++){//recorro el array de provincias para ver si la provincia que han metido es correcta

						var encontrado2 = provincias2[z].search(provin_matri_primera_letra);//busqueda de la primera letras
						
						if(encontrado2==0){
						
							 break;
						 
						}	

					}
					
					if(provin_matri_primera_letra != 'E'){
					
						if(encontrado2==-1){
						
							alert("Provincia erronea");		
						
						}
					}
					
					break;
										
					case 2:									
									
					for(i=0;i< provincias.length;i++){//recorro el array de provincias para ver si la provincia que han metido es correcta
	
							var encontrado = provincias[i].search(provin_matri);//busqueda de las 2 primeras letras
							
							if(encontrado==0){
							
								break;
							 
							}	

					}

					if(encontrado==-1){
												
						alert("Provincia erronea");		
												
					}
												
					break;
								
				}
	
			}
						
		}
	
	}

}
				
				
function comprueba_codigo_postal(cod_post){
				
	var respu;
				
	if(cod_post != ''){//si esta vacio que no saque ningun mensaje de error
				 
		if(cod_post.length != 5){ //se valida que el codigo postal tenga 5 digitos

			alert("El codigo postal debe tener 5 digitos");
			respu = false;
													
		}else{
					
			if(cod_post > 52999){
			
				alert("Codigo postal erroneo");
				respu = false;
				
			}else{
			
			
				respu = true;
			
			}
					
		}
				
	}					

return respu;				
				
}
	
function buscarbanco(lstBancos, codBanco){
					
	var encontrado=false;
	var bancos = document.getElementById(lstBancos);

		for(var i=0;i < bancos.length;i++){

			codigo = codBanco.substring(0,4);

				if(codigo == bancos[i].value){

							bancos[i].selected=true;
							encontrado=true;
				}//end if codigo
		
		}//end bucle for
					
		if(! encontrado) {
		
			bancos[bancos.length-1].selected=true; bancos.value = '0000';

		}

		bancos.form.focus();
}//end funcion buscarbanco
				

function cargaCodigo(codBanco, txtBanco){// Funcion que carga el codigo del banco en la variable de la entidad
					
	var banco = document.getElementById(txtBanco);
	banco.value=codBanco;
	banco.focus();

}
				
function calculaDC(Entidad, Agencia, Ncuenta, Dc) {// Funcion que comprueba que el numero de cuenta es correcto. En caso de ser erroneo, indica cual es el correcto.
												   // se le pasan el codigo de banco, oficina, dc a validar y el numero de cuenta.

	// alert (Entidad+"//"+Agencia+"//"+Ncuenta+"//"+Dc);
	var dc = 0;
							
	for (cont2=0; cont2 < 2 ;cont2++) {
		
		var aux = "";
		
		if (cont2 == 1)
		
			dc = dc*10;

		if (cont2 == 0) {

			for (var i=0; i < Entidad.length; i++) {

				var ch = Entidad.substring (i, i+1);
				aux += ch;

			}

			for (var i=0; i < Agencia.length; i++) {

				var ch = Agencia.substring (i, i+1);
				aux += ch;

			}

		} else {
		
			for (var i=0; i < Ncuenta.length; i++) {

				var ch = Ncuenta.substring (i, i+1);
				aux += ch;

			}

		}
						
		var cont3 = 0;
		var suma = 0;
		
		for (var cont1 = aux.length-1; cont1 >= 0; cont1--) {
			
			dig_buf = aux.substring (cont1, cont1+1);
			digito = parseFloat (dig_buf);
			
			if (cont3 == 0)
				suma = suma + (digito*6);
			else if (cont3 == 1)
				suma = suma + (digito*3);
			else if (cont3 == 2)
				suma = suma + (digito*7);
			else if (cont3 == 3)
				suma = suma + (digito*9);
			else if (cont3 == 4)
				suma = suma + (digito*10);
			else if (cont3 == 5)
				suma = suma + (digito*5);
			else if (cont3 == 6)
				suma = suma + (digito*8);
			else if (cont3 == 7)
				suma = suma + (digito*4);
			else if (cont3 == 8)
				suma = suma + (digito*2);
			else if (cont3 == 9)
				suma = suma + (digito*1);
				cont3++;
		}
						
		suma = suma % 11;
					
		digito = 11 - suma;
						
		if (digito == 10)

			dc++;

		else if (digito == 11)
							;
    		 else
			
				dc+= digito;
					
	}
				
	if (dc < 10)
						
		dc = "0" + dc;

		if (Dc != dc){
						
			alert ("Hay un error en el dc de la cuenta bancaria");
			return false;
		
		} else {
			
			return true;
			
		}
							
}//end function calculaDC
				
function IsMail(YourMail){
        
	if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(YourMail))){
	
		alert("Hay un error en el email");
		
	} 

}
				
function emailIgual(){

	if (document.getElementById('Email').value == document.getElementById('Repetir Email').value){

		mail=true;

	}else{

		if(document.getElementById('Repetir Email').value == ""){
		
			mail=false;
		
		}else{
		
			alert('Los mails no son iguales.');
			mail=false;
		
		}

	}

return mail;

}
			
function cambia_datos (){
	
	document.getElementById('paso').value="tres_con_cinco";
	document.formulario.submit();
				
}
				
function cambio_vehiculo_tres_con_cinco(){
	
	document.getElementById('texto_marca').value="";
	document.getElementById('texto_modelo').value="";
	document.getElementById('texto_version').value="";
	document.getElementById('no_cambio_coche').style.display="none";
	document.getElementById('cambio_coche').style.display="block";
	
}
				
function no_cambio_vehiculo_tres_con_cinco(){
	
	document.getElementById('no_cambio_coche').style.display="block";
	document.getElementById('cambio_coche').style.display="none";

}

				
function validarFormInfo(form){				
	//alert('uu');	
	var errores = new Array(); 
	var val_txt = new Array(); 
	var cuentaerrores = 0;
	var cont2 = 0;	
	var mostrar;
	var cod;
	var longitud;
	var paso;
	var codigo_postal;
	var nif;
	var resul;
	var mostrarerrores;
	var nif_nie;
	var letranie;
	var cadenaletranie = 'x';
	var resul = false;
	var letra;
    var producto;
    var bmw;
/*---------------------------------- validacion de campos requeridos-----------------------------------------------*/

// alert(form.elements.length);

	for (i=0; ele=form.elements[i]; i++){	
							
// alert(ele.id);	
/*---------------------------------- validacion de fecha de efecto---------------------------------------------------*/		
		
		if((ele.id == "dia_efe") || (ele.id == "dia de efecto")){
			dia_efe = ele.value; // si es el dia de efecto
		}
		
		if((ele.id == "mes_efe") || (ele.id == "mes de efecto")){
			mes_efe = ele.value; // si es el mes de efecto
		}
		
		if((ele.id == "ano_efe") || (ele.id == "ano de efecto")){
			ano_efe = ele.value; // si es el ano de efecto
		}
		
		switch (ele.id) {
			case "dia nacimiento":
				DiaN = ele.value;
				break;
			case "mes nacimiento":
				MesN = ele.value;
				break;
			case "ano nacimiento":
				AnoN = ele.value;
				break;	
			case "dia carnet":
				DiaC = ele.value;
				break;
			case "mes carnet":
				MesC = ele.value;
				break;
			case "ano carnet":
				AnoC = ele.value;
				break;	
			case "dia matriculacion":
				DiaM = ele.value;
				break;
			case "mes matriculacion":
				MesM = ele.value;
				break;
			case "ano matriculacion":
				AnoM = ele.value;
				break;	
		}

		
/*---------------------------------- validacion de fecha de efecto---------------------------------------------------*/		
		
		
		
/*---------------------------------- validacion de codigo postal---------------------------------------------------*/		
		
		if(ele.id == "codigo postal"){
						
			codigo_postal = ele.value; // si es el codigo postal
																					
			if(codigo_postal == ''){//si viene vacia no meto nada en el array de errores
				
				errores[0] = '';
				errores[10] = '';
					
			}else{
	
				if(codigo_postal.length != 5){//si no son 2 digitos meto en el array de errores el error
				
					cuentaerrores=cuentaerrores+1;
					errores[0] = '-El codigo postal debe tener 5 digitos\n';
				
				}
				
				if(codigo_postal >= 52999){
				
					cuentaerrores=cuentaerrores+1;
					errores[10] = '-Codigo postal erroneo\n';
				
				}
		   }	
		}
		
/*---------------------------------- fin validacion de codigo postal-----------------------------------------------*/				
		
		if(ele.id=="nif_o_nie"){
													
			nif_nie = ele.value;
			
		}		
		
/*---------------------------------- validacion de dni-------------------------------------------------------------*/		

	    if(ele.id=="tomador_nif"){	
	    
	    	cif_tomador = ele.value;
	    	
	    	letranie = cif_tomador.substr(0, 1);
	    	
	    	if(document.getElementById("tomador_nif").disabled == false){//si esta disabled que no valide
	    	
	    	if ( document.getElementById("tomador_nif_o_nie").value == "nie" || document.getElementById("tomador_nif_o_nie").value == "nif" ){//validacion de nif o nie
	    	
				if ( document.getElementById("tomador_nif_o_nie").value == "nie" ){ 
	
					if ( cif_tomador.substr(0, 1).toUpperCase() != "X" && cif_tomador.substr(0, 1).toUpperCase() != "Y") {
																	
						errores[24] = '-La primera letra del Nie del tomador  debe ser una X/Y\n';
						cuentaerrores=cuentaerrores+1;
						
					}
				}
							
				
				if (!/^[0123456789]/.test(letranie) && document.getElementById("tomador_nif_o_nie").value == "nif"){//para NIF, el primer digito debe ser un numero
								
					errores[25] = '-El primer digito del nif del tomador no puede ser una letra\n';
					cuentaerrores=cuentaerrores+1;
																
				}
				
				if ( document.getElementById("tomador_nif_o_nie").value == 'nie' ){
											
					cif_tomador = cif_tomador.substr(1,(cif_tomador.length));  //pilla a partir del segundo caracter  del nie									
												
				}
				
				
				var letra2 = cif_tomador.substr((cif_tomador.length - 1), 1); //pilla el ultimo caracter del nif
				letra2 = letra2.toUpperCase();
								
				if (!/^[0123456789]/.test(letra2)){//si el ultimo caracter no es un numero
											
					var nif2 = cif_tomador.substr(0, (cif_tomador.length - 1));
										
				} else {

					var nif2 = cif_tomador;
										
				}	
															
				if ( letranie.toUpperCase() == "Y" ) {//si el nie empieza por Y se e tiene que sumar 10 millones a la variable nif2
							
								nif2 = Number(nif2);
								diezmilliones=parseInt(10000000);
								nif2 += diezmilliones;
																						
				}
				
				if (nif2 !='') {
												
					letra = (nif2 %= 23) + 1;
					if (letra == 1) {letra='T'};
					if (letra == 2) {letra='R'};
					if (letra == 3) {letra='W'};
					if (letra == 4) {letra='A'};
					if (letra == 5) {letra='G'};
					if (letra == 6) {letra='M'};
					if (letra == 7) {letra='Y'};
					if (letra == 8) {letra='F'};
					if (letra == 9) {letra='P'};
					if (letra == 10) {letra='D'};
					if (letra == 11) {letra='X'};
					if (letra == 12) {letra='B'};
					if (letra == 13) {letra='N'};
					if (letra == 14) {letra='J'};
					if (letra == 15) {letra='Z'};
					if (letra == 16) {letra='S'};
					if (letra == 17) {letra='Q'};
					if (letra == 18) {letra='V'};
					if (letra == 19) {letra='H'};
					if (letra == 20) {letra='L'};
					if (letra == 21) {letra='C'};
					if (letra == 22) {letra='K'};
					if (letra == 23) {letra='E'};
												
											
					if ( letra != letra2 ) {
					
						if ( document.getElementById("tomador_nif_o_nie").value == 'nie' ) {
						
							errores[26] = '-El Nie del tomador es erroneo \n';
							cuentaerrores=cuentaerrores+1;
															
						} else {
						
							errores[27] = '-El Nif del tomador Es erroneo \n';
							cuentaerrores=cuentaerrores+1;
																	
						}
					
					}
				}
				
	    	    
	    	}else{//validacion del cif
	    				
							
					if(cif_tomador == ''){//si viene vacia no meto nada en el array de errores
					
						errores[28] = ' ';
		
					}else{
					
						var pares = 0;
						var impares = 0;
						var suma;
						var ultima;
						var unumero;
						var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I");
						var xxx;
						var texto = cif_tomador.toUpperCase();
						
						ultima = texto.substr(8,1);
						
						for (var cont = 1 ; cont < 7 ; cont ++){
						
							xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0";
						
							impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
							
							pares += parseInt(texto.substr(cont,1));
						
						}
						
						xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0";
						
						impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
						
						suma = (pares + impares).toString();
						
						unumero = parseInt(suma.substr(suma.length - 1, 1));
						
						unumero = (10 - unumero).toString();
						
						if(unumero == 10) unumero = 0;
						
						//console.log(unumero +' || '+ uletra[unumero]);
						//console.log(ultima);
						
						if ((ultima == unumero) || (ultima == uletra[unumero])){
															
						
						}else{
											
							errores[28] = '-El Cif del tomador es erroneo \n';
							cuentaerrores=cuentaerrores+1;	
						}
							
					}
				}
			}	
		}

/*******************************/

		if(ele.id=="propietario_nif"){	
	    
	    	cif_propietario = ele.value; 
	    	    	
	    	letranie = cif_propietario.substr(0, 1);
	    	
	    	if(document.getElementById("propietario_nif").disabled == false){//si esta disabled que no valide
	    	
	    	if ( document.getElementById("propietario_nif_o_nie").value == "nie" || document.getElementById("propietario_nif_o_nie").value == "nif" ){//validacion de nif o nie
	    	
				if ( document.getElementById("propietario_nif_o_nie").value == "nie" ){ 
	
					if ( cif_propietario.substr(0, 1).toUpperCase() != "X" && cif_propietario.substr(0, 1).toUpperCase() != "Y") {
																	
						errores[20] = '-La primera letra del Nie del propietario  debe ser una X/Y\n';
						cuentaerrores=cuentaerrores+1;
						
					}
				}
							
				
				if (!/^[0123456789]/.test(letranie) && document.getElementById("propietario_nif_o_nie").value == "nif"){//para NIF, el primer digito debe ser un numero
								
					errores[21] = '-El primer digito del nif del propietario no puede ser una letra\n';
					cuentaerrores=cuentaerrores+1;
																
				}
				
				if ( document.getElementById("propietario_nif_o_nie").value == 'nie' ){
											
					cif_propietario = cif_propietario.substr(1,(cif_propietario.length));  //pilla a partir del segundo caracter  del nie									
												
				}
				
				
				var letra2 = cif_propietario.substr((cif_propietario.length - 1), 1); //pilla el ultimo caracter del nif
				letra2 = letra2.toUpperCase();
								
				if (!/^[0123456789]/.test(letra2)){//si el ultimo caracter no es un numero
											
					var nif2 = cif_propietario.substr(0, (cif_propietario.length - 1));
										
				} else {

					var nif2 = cif_propietario;
										
				}	
															
				if ( letranie.toUpperCase() == "Y" ) {//si el nie empieza por Y se e tiene que sumar 10 millones a la variable nif2
							
								nif2 = Number(nif2);
								diezmilliones=parseInt(10000000);
								nif2 += diezmilliones;
																						
				}
				
				if (nif2 !='') {
												
					letra = (nif2 %= 23) + 1;
					if (letra == 1) {letra='T'};
					if (letra == 2) {letra='R'};
					if (letra == 3) {letra='W'};
					if (letra == 4) {letra='A'};
					if (letra == 5) {letra='G'};
					if (letra == 6) {letra='M'};
					if (letra == 7) {letra='Y'};
					if (letra == 8) {letra='F'};
					if (letra == 9) {letra='P'};
					if (letra == 10) {letra='D'};
					if (letra == 11) {letra='X'};
					if (letra == 12) {letra='B'};
					if (letra == 13) {letra='N'};
					if (letra == 14) {letra='J'};
					if (letra == 15) {letra='Z'};
					if (letra == 16) {letra='S'};
					if (letra == 17) {letra='Q'};
					if (letra == 18) {letra='V'};
					if (letra == 19) {letra='H'};
					if (letra == 20) {letra='L'};
					if (letra == 21) {letra='C'};
					if (letra == 22) {letra='K'};
					if (letra == 23) {letra='E'};
												
											
					if ( letra != letra2 ) {
					
						if ( document.getElementById("propietario_nif_o_nie").value == 'nie' ) {
						
							errores[21] = '-El Nie del propietario es erroneo \n';
							cuentaerrores=cuentaerrores+1;
															
						} else {
						
							errores[22] = '-El Nif del propietario Es erroneo \n';
							cuentaerrores=cuentaerrores+1;
																	
						}
					
					}
				}
				
	    	    
	    	}else{// validacion del cif
	    
	    	    	if(cif_propietario == ''){//si viene vacia no meto nada en el array de errores
		
						errores[23] = ' ';
							
					}else{	
					
						var pares = 0;
						var impares = 0;
						var suma;
						var ultima;
						var unumero;
						var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I");
						var xxx;
						var texto = cif_propietario.toUpperCase();
						
						ultima = texto.substr(8,1);
						
						for (var cont = 1 ; cont < 7 ; cont ++){
						
							xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0";
						
							impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
							
							pares += parseInt(texto.substr(cont,1));
						
						}
						
						xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0";
						
						impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
						
						suma = (pares + impares).toString();
						
						unumero = parseInt(suma.substr(suma.length - 1, 1));
						
						unumero = (10 - unumero).toString();
						
						if(unumero == 10) unumero = 0;
						
						//console.log(unumero +' || '+ uletra[unumero]);
						//console.log(ultima);
						
						if ((ultima == unumero) || (ultima == uletra[unumero])){
													
						
						}else{
												
							
							errores[23] = '-El Cif del propietario es erroneo \n';
							cuentaerrores=cuentaerrores+1;	
						}
										
					}	
				}
		 	}	
		}
		
/*******************************/

		if(ele.id=="nif"){	
							
			nif = ele.value; 
	
			 if(nif == ''){//si viene vacia no meto nada en el array de errores

					errores[1] = '';
					errores[2] = '';
					errores[3] = '';
					errores[4] = '';

			 }else{	

					letranie = nif.substr(0, 1);
					if ( nif_nie == "nie" ){ 

									if ( nif.substr(0, 1).toUpperCase() != "X" && nif.substr(0, 1).toUpperCase() != "Y") {
																					
										errores[1] = '-La primera letra del Nie  debe ser una X/Y\n';
										cuentaerrores=cuentaerrores+1;
										
									}
					}
								
					if (!/^[0123456789]/.test(letranie) && nif_nie == 'nif'){//para NIF, el primer digito debe ser un numero
							
						errores[2] = '-El primer digito del nif no puede ser una letra\n';
						cuentaerrores=cuentaerrores+1;
																	
					}
	
					if ( nif_nie == 'nie' ){
											
						nif = nif.substr(1,(nif.length));  //pilla a partir del segundo caracter  del nie									
												
					}
								
					var letra2 = nif.substr((nif.length - 1), 1); //pilla el ultimo caracter del nif
					letra2 = letra2.toUpperCase();
									
					if (!/^[0123456789]/.test(letra2)){//si el ultimo caracter no es un numero
												
						var nif2 = nif.substr(0, (nif.length - 1));
											
					} else {

						var nif2 = nif;
											
					}	
																
					if ( letranie.toUpperCase() == "Y" ) {//si el nie empieza por Y se e tiene que sumar 10 millones a la variable nif2
								
									nif2 = Number(nif2);
									diezmilliones=parseInt(10000000);
									nif2 += diezmilliones;
																							
					}
								
								
					if (nif2 !='') {
												
						letra = (nif2 %= 23) + 1;
						if (letra == 1) {letra='T'};
						if (letra == 2) {letra='R'};
						if (letra == 3) {letra='W'};
						if (letra == 4) {letra='A'};
						if (letra == 5) {letra='G'};
						if (letra == 6) {letra='M'};
						if (letra == 7) {letra='Y'};
						if (letra == 8) {letra='F'};
						if (letra == 9) {letra='P'};
						if (letra == 10) {letra='D'};
						if (letra == 11) {letra='X'};
						if (letra == 12) {letra='B'};
						if (letra == 13) {letra='N'};
						if (letra == 14) {letra='J'};
						if (letra == 15) {letra='Z'};
						if (letra == 16) {letra='S'};
						if (letra == 17) {letra='Q'};
						if (letra == 18) {letra='V'};
						if (letra == 19) {letra='H'};
						if (letra == 20) {letra='L'};
						if (letra == 21) {letra='C'};
						if (letra == 22) {letra='K'};
						if (letra == 23) {letra='E'};
													
												
						if ( letra != letra2 ) {
						
							if ( nif_nie == 'nie' ) {
							
								errores[3] = '-El Nie es erroneo \n';
								cuentaerrores=cuentaerrores+1;
																
							} else {
							
								errores[4] = '-El Nif Es erroneo \n';
								cuentaerrores=cuentaerrores+1;
																		
							}
						
						}
					}
			}	
		}	

/*---------------------------------- validacion de dni-------------------------------------------------------------*/		
				
		if(ele.id=="Email"){
			
			mail = ele.value;
		
			if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mail))){
		
				errores[17] = '-Hay un error en el mail \n';
				cuentaerrores=cuentaerrores+1;
			
			} 
			
		}	

/*---------------------------------- validacion de matricula-------------------------------------------------------------*/	
					
		if(ele.id=="Matricula"){
					
			matricula = ele.value;
							
			//alert(matricula);
					
			var reg = new RegExp ("^(([0-9]{4}[B,C,D,F,G,H,J,K,L,M,N,P,Q,R,S,T,V,W,X,Y,Z]{3})|([a-zA-Z]{1,2}[0-9]{4}[a-zA-z]{1,2})|([P]{1}[0-9]{4}[a-zA-Z]{3})|([E]{1}[0-9]{4}[a-zA-Z]{3})|([C]{1}[0-9]{4}[a-zA-Z]{3})|([a-zA-Z]{1,2}[0-9]{5}[VE]{2}))$","g");//expresion regular para todas las matriculas
			provincias = new Array ("VI","AB ","AL","AV","BA","AV","IB","PM","BU","CC","CA","CS","CE","CR","CO","CU","GI","GE","GR","GU","SS","HU","LE","LO","LU","MA","ML","MU","NA","OR","OU","GC","PO","SA","TF","SG","SE","SO","TE","TO","VA","BI","ZA");//array de provincias para las matriculas antiguas
			provincias2 = new Array ("A","B","C","H","J","L","M","O","P","S","T","V","Z")
							
			remplazo=matricula.replace("-","", 'g');//se remplazan los guiones por nada
			remplazo=remplazo.toUpperCase();//cambia a mayusculas
							
			provin_matri=remplazo.substring(0,2);//2 primeros caracteres de la matricula
			provin_matri_segunda_letra=provin_matri.substring(1,2);//segundo caracter de la matricula
			provin_matri_primera_letra=provin_matri.substring(0,1);//primer caracter de la matricula
						
			if(matricula != '' ){//si la matricula no viene vacia
								
				if (reg.test(remplazo) == 0) {//si es erronea
								   
				    errores[11] = '-Matricula erronea \n';
				    cuentaerrores=cuentaerrores+1;
								   
					patron = /[0-9.]/;//Solo acepta números
					var pos = remplazo.search(patron) ;
									
					if(pos > 0){
					
						switch(pos){ 
					
							case 1://posicion cuando solo es provincia con una letra
									
									for(z=0;z< provincias2.length;z++){//recorro el array de provincias para ver si la provincia que han metido es correcta

											var encontrado2 = provincias2[z].search(provin_matri_primera_letra);//busqueda de la primera letras
											
											if(encontrado2==0){//si no lo a encontrado salgo del bucle
											
											 break;
											 
											 }	

									}
									
									if(encontrado2==-1){//si no lo a encontrado en el array sacamos el alert
									
										errores[12] = '-Provincia erronea \n';
										cuentaerrores=cuentaerrores+1;
																	
									}
									
									break;
							
							case 2://posicion cuando es provincia con 2 letras							
						
									for(d=0;d< provincias.length;d++){//recorro el array de provincias para ver si la provincia que han metido es correcta

											var encontrado = provincias[d].search(provin_matri);//busqueda de las 2 primeras letras
											
											if(encontrado==0){//si no lo a encontrado salgo del bucle
											
											 break;
											 
											 }	
									}
							
									if(encontrado==-1){//si no lo a encontrado en el array sacamos el alert
									
										errores[13] = '-Provincia erronea \n';
										cuentaerrores=cuentaerrores+1;	
									
									}
									
									break;
					
						}

					}
							
																		
				} else {//si no es erronea
								
					patron = /[0-9.]/; // Solo acepta números
					var pos = remplazo.search(patron) ;
									
					if(pos > 0){
					
						switch(pos){ 
					
							case 1://posicion cuando solo es provincia con una letra
									
									for(z=0;z< provincias2.length;z++){//recorro el array de provincias para ver si la provincia que han metido es correcta

											var encontrado2 = provincias2[z].search(provin_matri_primera_letra);//busqueda de la primera letras
											
											if(encontrado2==0){
											
											 break;
											 
											 }	

									}
									
									
									if(provin_matri_primera_letra != 'E'){
									
										if(encontrado2==-1){//si no lo a encontrado en el array sacamos el alert
										
											errores[14] = '-Provincia erronea \n';
											cuentaerrores=cuentaerrores+1;	
										
										}
										
									}	
									
									break;
							
							case 2://posicion cuando es provincia con 2 letras 									
						
									for(d=0;d< provincias.length;d++){//recorro el array de provincias para ver si la provincia que han metido es correcta

											var encontrado = provincias[d].search(provin_matri);//busqueda de las 2 primeras letras
											
											if(encontrado==0){//si no lo a encontrado salgo del bucle
											
											 break;
											 
											 }	
									}
							
									if(encontrado==-1){//si no lo a encontrado en el array sacamos el alert
									
										errores[15] = '-Provincia erronea \n';
										cuentaerrores=cuentaerrores+1;	
									
									}
									
									break;
					
						}
				
						
					}
								
				}
		
			}
								
		}

/*---------------------------------- fin de validacion de matricula-------------------------------------------------------------*/

	
/*---------------------------------- validacion digitos de entidad-------------------------------------------------------------*/		 
						  
		 if(ele.id=="Entidad"){
		 
			entidad = ele.value;
				
				if(entidad == ''){//si viene vacia no meto nada en el array de errores

					errores[5] = '';

				}else{

					if(entidad.length != 4){//si no son 4 digitos meto en el array de errores el error
					
						errores[5] = '-La entidad debe tener 4 digitos \n';
					
						cuentaerrores=cuentaerrores+1;
					
					}else{
					
						errores[5] = '';

					}
					
			   }
				
		}	
						  
/*---------------------------------- validacion digitos de entidad-------------------------------------------------------------*/		 
	  


/*---------------------------------- validacion digitos de la sucursal-------------------------------------------------------------*/		 
						  
		if(ele.id=="Sucursal"){
																		
			sucursal = ele.value;
				
				if(sucursal == ''){//si viene vacia no meto nada en el array de errores

					errores[6] = '';

				}else{
	
					if(sucursal.length != 4){//si no son 4 digitos meto en el array de errores el error
					
						errores[6] = '-La sucursal debe tener 4 digitos \n';
						cuentaerrores=cuentaerrores+1;
					
					}else{
					
						errores[6] = '';

					}
			   }
		}	
						  
/*---------------------------------- validacion digitos de la sucursal-------------------------------------------------------------*/		 


/*---------------------------------- validacion digitos del numero de cuenta-------------------------------------------------------------*/		 
						  
		if(ele.id=="Numero Cuenta"){
																		
			num_cuenta = ele.value;

				if(num_cuenta == ''){//si viene vacia no meto nada en el array de errores
				
					errores[8] = '';
																						
				}else{
				
					if(num_cuenta.length != 10){//si no son 10 digitos meto en el array de errores el error
					
						errores[8] = '-El Numero de cuenta debe tener 10 digitos \n';
						cuentaerrores=cuentaerrores+1;

					}else{
						
						errores[8] = '';
					
					}
			   }
		}	
						  
/*---------------------------------- validacion digitos del numero de cuenta-------------------------------------------------------------*/	



/*---------------------------------- validacion digitos del dc-------------------------------------------------------------*/		 
	 
		if(ele.id=="Dc") {
																		
			dc = ele.value;
				if(dc == '')//si viene vacia no meto nada en el array de errores
				{
					
					errores[7] = '';
				
					
				
				}else{
				
				
				
					if(dc.length != 2){//si no son 2 digitos meto en el array de errores el error
					
						errores[7] = '-El dc debe tener 2 digitos \n';
					
						cuentaerrores=cuentaerrores+1;
					
					}else{
					
						errores[7] = '';
																																
					
					}

					
			   }
				
		}	


/*-----------------------------------  Validación de campos nuevos - Personas Físicas o Jurídicas ----------------------------------------*/		
/*-----------------------------------  Validación de campos nuevos - Personas Físicas o Jurídicas ----------------------------------------*/		
/*-----------------------------------  Validación de campos nuevos - Personas Físicas o Jurídicas ----------------------------------------*/		
/*-----------------------------------------------------   T O M A D O R   ----------------------------------------------------------------*/

if (ele.id == "nif_nie_cif_tom") {

	nif_nie_cif_tom = ele.value;
	
	if (nif_nie_cif_tom != "") {		// Puede ser un NIF CIF NIE (Persona Física o Jurídica)

		tipo_doc = document.getElementById("nif_o_nie_tom").value;
		switch (tipo_doc) {

			case "nif":
			case "nie":
				t_ele = form.elements.length;
				for (h=0; t_ele=form.elements[h]; h++){						// Recorro los elementos del formulario
					if (t_ele.id.search(/Tomador Fisico/i) != -1) {			// Busco en el id la cadena Tomador Fisico - si hay resultados
						if(navigator.appName == "Microsoft Internet Explorer"){
 							document.getElementById(t_ele.id).setAttribute("className", "obli");
						} else {
 							document.getElementById(t_ele.id).setAttribute("class", "obli");
						}
					} 
					if (t_ele.id.search(/Tomador Juridico/i) != -1) {		//	Busco en el id la cadena Tomador Juridico - si hay resultados
						if(navigator.appName == "Microsoft Internet Explorer"){
 							document.getElementById(t_ele.id).setAttribute("className", "");
						} else {
 							document.getElementById(t_ele.id).setAttribute("class", "");
						}
					}		
				}	
				break;
			case "cif":
				t_ele = form.elements.length;
				for (h=0; t_ele=form.elements[h]; h++){	
					if (t_ele.id.search(/Tomador Juridico/i) != -1) {			// Busco en el id la cadena Tomador Juridico - si hay resultados
						if(navigator.appName == "Microsoft Internet Explorer"){
							if ((t_ele.id == "Email tomador Juridico") || 
								(t_ele.id == "Fax tomador Juridico") ||
								(t_ele.id == "Telefono2 tomador Juridico") ||
								(t_ele.id == "Piso Tomador Juridico")) {
 									document.getElementById(t_ele.id).setAttribute("className", "");
 							} else {
 									document.getElementById(t_ele.id).setAttribute("className", "obli");
 							}
						} else {
							if ((t_ele.id == "Email tomador Juridico") || 
								(t_ele.id == "Fax tomador Juridico") ||
								(t_ele.id == "Telefono2 tomador Juridico") ||
								(t_ele.id == "Piso Tomador Juridico")) {
 									document.getElementById(t_ele.id).setAttribute("class", "");
							} else {
	 								document.getElementById(t_ele.id).setAttribute("class", "obli");
	 						}
						}
					} 
					if (t_ele.id.search(/Tomador Fisico/i) != -1) {		//	Busco en el id la cadena Tomador Fisico - si hay resultados
						if(navigator.appName == "Microsoft Internet Explorer"){
 							document.getElementById(t_ele.id).setAttribute("className", "");
						} else {
 							document.getElementById(t_ele.id).setAttribute("class", "");
						}
					}		
				}		
				break;

		}
	
	}

}
/*-------------------------------------------------   P R O P I E T A R I O  ----------------------------------------------------------------*/
if (ele.id == "nif_nie_cif_prop") {

	nif_nie_cif_prop = ele.value;
	
	if (nif_nie_cif_prop != "") {		// Puede ser un NIF CIF NIE (Persona Física o Jurídica)

		tipo_doc2 = document.getElementById("nif_o_nie_prop").value;
		switch (tipo_doc2) {

			case "nif":
			case "nie":
				t_ele2 = form.elements.length;
				for (h=0; t_ele2=form.elements[h]; h++){						// Recorro los elementos del formulario
					if (t_ele2.id.search(/Propietario Fisico/i) != -1) {			// Busco en el id la cadena Propietario Fisico - si hay resultados
						if(navigator.appName == "Microsoft Internet Explorer"){
 							document.getElementById(t_ele2.id).setAttribute("className", "obli");
						} else {
 							document.getElementById(t_ele2.id).setAttribute("class", "obli");
						}
					} 
					if (t_ele2.id.search(/Propietario Juridico/i) != -1) {		//	Busco en el id la cadena Propietario Juridico - si hay resultados
						if(navigator.appName == "Microsoft Internet Explorer"){
 							document.getElementById(t_ele2.id).setAttribute("className", "");
						} else {
 							document.getElementById(t_ele2.id).setAttribute("class", "");
						}
					}		
				}	
				break;
			case "cif":
				t_ele2 = form.elements.length;
				for (h=0; t_ele2=form.elements[h]; h++){	
					if (t_ele2.id.search(/Propietario Juridico/i) != -1) {			// Busco en el id la cadena Propietario Juridico - si hay resultados
						if(navigator.appName == "Microsoft Internet Explorer"){
							if ((t_ele2.id == "Email Propietario Juridico") || 
								(t_ele2.id == "Fax Propietario Juridico") ||
								(t_ele2.id == "Telefono2 Propietario Juridico") ||
								(t_ele2.id == "Piso Propietario Juridico")) { 
	 								document.getElementById(t_ele2.id).setAttribute("className", "");
	 						} else {
	 								document.getElementById(t_ele2.id).setAttribute("className", "obli");
	 						}
						} else {
							if ((t_ele2.id == "Email Propietario Juridico") || 
								(t_ele2.id == "Fax Propietario Juridico") ||
								(t_ele2.id == "Telefono2 Propietario Juridico") ||
								(t_ele2.id == "Piso Propietario Juridico")) { 
 									document.getElementById(t_ele2.id).setAttribute("class", "");
 							} else {
 									document.getElementById(t_ele2.id).setAttribute("class", "obli");
 							}
						}
					} 
					if (t_ele2.id.search(/Propietario Fisico/i) != -1) {		//	Busco en el id la cadena Propietario Fisico - si hay resultados
						if(navigator.appName == "Microsoft Internet Explorer"){
 							document.getElementById(t_ele2.id).setAttribute("className", "");
						} else {
 							document.getElementById(t_ele2.id).setAttribute("class", "");
						}
					}		
				}		
				break;

		}
	
	}

}

/*-------------------------------  FIN DE Validación de campos nuevos - Personas Físicas o Jurídicas -------------------------------------*/		
/*-------------------------------  FIN DE Validación de campos nuevos - Personas Físicas o Jurídicas -------------------------------------*/		
/*-------------------------------  FIN DE Validación de campos nuevos - Personas Físicas o Jurídicas -------------------------------------*/		
						  
/*---------------------------------- validacion digitos del dc-------------------------------------------------------------*/	

		if(ele.className == 'obli2' && ele.value=='' ){
																										
			campo = i;							
			val_txt[cont2] = '-Debe rellenar el campo ' +ele.id+'\n';	// junto todos los requeridos que no estan rellenos
			cont2 = cont2+1;						
		
		}		
							
													
		if ( ele.className == 'obli' && ele.value=='' ){
										
			campo = i;
			//alert(cont2+" "+ele.id);
			val_txt[cont2] = '-Debe rellenar el campo ' +ele.id+'\n';	// junto todos los requeridos que no estan rellenos
			cont2 = cont2+1;	
		
		} 

		if (ele.id == "bmw") {		// Si es BMW hace validación de fechas un poquito más abajo .... Para el resto habría que realizarlo en un futuro muy próximo
			bmw = form.bmw.value;
		}
		
			
	}//fin del for que recorre todos los elementos
			
	paso = form.paso.value;

	if(paso==2) {//si no especifico en que paso quiero esta validacion no deja avanzar en los demas pasos
		
		alo_cubano = valida_fecha_efecto(ano_efe, mes_efe, dia_efe);//validacion de  la fecha de efecto
		if(alo_cubano == true){	
			errores[18] = '-La fecha de efecto no puede ser inferior a la actual ni superior en 15 dias \n';
			cuentaerrores=cuentaerrores+1;
		}
		
	}
	

	if (bmw==4) {
		
		fecha_ok = valida_fecha_efecto(ano_efe, mes_efe, dia_efe);
		if(fecha_ok == true){	
			errores[54] = '-La fecha de efecto no puede ser inferior a la actual ni superior en 15 dias \n';
			cuentaerrores=cuentaerrores+1;
		}

		fecha_ok = valida_fecha(DiaN, MesN, AnoN); // Fecha nacimiento
		if(fecha_ok == false){	
			errores[55] = '-Revise por favor la fecha de nacimiento \n';
			cuentaerrores=cuentaerrores+1;
		}

		fecha_ok = valida_fecha(DiaC, MesC, AnoC); // Fecha carnet
		if(fecha_ok == false){	
			errores[56] = '-Revise por favor la fecha de carnet \n';
			cuentaerrores=cuentaerrores+1;
		}

		fecha_ok = valida_fecha(DiaM, MesM, AnoM); // Fecha matriculacion
		if(fecha_ok == false){	
			errores[57] = '-Revise por favor la fecha de matriculacion \n';
			cuentaerrores=cuentaerrores+1;
		}

		difer_fechas = fechas(dia_efe, mes_efe, ano_efe, DiaM, MesM, AnoM);
		if(difer_fechas == false){
			errores[53] = '-La fecha de efecto no puede ser inferior a la fecha de matriculacion \n';
			cuentaerrores=cuentaerrores+1;
		}

	}

	if (bmw==7) {
		alo_cubano = valida_fecha_efecto(ano_efe, mes_efe, dia_efe);//validacion de  la fecha de efecto
		if(alo_cubano == true){	
			errores[58] = '-La fecha de efecto no puede ser inferior a la actual ni superior en 15 dias \n';
			cuentaerrores=cuentaerrores+1;
		}

		difer_fechas = fechas(dia_efe, mes_efe, ano_efe, DiaM, MesM, AnoM);
		if(difer_fechas == false){
			errores[53] = '-La fecha de efecto no puede ser inferior a la fecha de matriculacion \n';
			cuentaerrores=cuentaerrores+1;
		}

	}
	
	if(paso==7){//si no especifico en que paso quiero esta validacion no deja avanzar en los demas pasos
	
		valida_ya = calculaDC(entidad, sucursal, num_cuenta, dc);//validacion del dc en el submit se hace llamando a la funcion que se utiliza en el onblur
		//alert(entidad+" "+sucursal+" "+num_cuenta+" "+dc+" "+valida_ya);
	
		if (valida_ya == false && entidad != '' && sucursal != '' && num_cuenta != ''){
						
			errores[16] = '-Hay un error en el dc de la cuenta bancaria \n';
			cuentaerrores=cuentaerrores+1;
						
		}
	}
						
	longitud=val_txt.length; 
						
	for(z=0;longitud>z;z++){
				
			mostrar = val_txt.join(""); //uno el array para sacarlo por pantalla
			
	}
	
	for(b=0;b<cuentaerrores;b++){
	
			mostrarerrores = errores.join(""); //uno el array de errores
									
	}
	
/*---------------------------------- fin validacion de campos requeridos--------------------------------------------*/
						
	//alert(paso);
		
	if (cont2>0 || cuentaerrores>0 ){// si tenemos algun campo vacio o si algun campo contiene algun error
	
		switch(paso){//para cada paso sacamos las alertas correspondientes
							
			case "2": 	if(mostrar && mostrarerrores){
			
							alert(mostrar+mostrarerrores);	
					
						}else{
						
							if(mostrar){
							
								alert(mostrar);
							
							}
							
							
							if(mostrarerrores){
							
								alert(mostrarerrores);
						
							}
						
						}				
						break;
												
			case "3": 			
						if(mostrar && mostrarerrores){
			
							alert(mostrar+mostrarerrores);	
					
						}else{
						
							if(mostrar){
							
								alert(mostrar);
							
							}
							
							
							if(mostrarerrores){
							
								alert(mostrarerrores);
						
							}
						
						}				
						break;
																
											
			case "4": 	if(mostrar && mostrarerrores){
			
							alert(mostrar+mostrarerrores);	
					
						}else{
						
							if(mostrar){
							
								alert(mostrar);
							
							}
							
							
							if(mostrarerrores){
							
								alert(mostrarerrores);
						
							}
						
						}		
						//alert(document.formulario.modificar_vehiculo.checked);
						break;
								
			case "7": 	if(mostrar && mostrarerrores){
			
							alert(mostrar+mostrarerrores);	
					
						}else{
						
							if(mostrar){
							
								alert(mostrar);
							
							}
							
							
							if(mostrarerrores){
							
								alert(mostrarerrores);
						
							}
						
						}																		
						break;
			
			
			default : 	
					break;
							
		}				
								
	return false;
	
	
	}
				
	//return true;
	form.submit();
			
}


function valida_fecha_efecto(ano, mes, dia) {

 mes=mes-1;	//no se por que pero ahy que restar un mes
 
 f2=new Date();
 var  hora = f2.getHours();
 var  minutos = f2.getMinutes();
 var  segundos = f2.getSeconds();
 
 f1=new Date(ano, mes, dia, hora, minutos, segundos);
 //alert(f1+"---"+f2);

 error=false;
 
 if (f1<f2) {//la fecha no puede ser anterior
    error=true;
 }
 
 f2.setTime(f2.getTime()+15*24*60*60*1000);//se le suman 15 dias 
 
 if (f1>f2) {//la fecha no puede ser superior a 15 dias
    error=true;
 } 
 
 f3=new Date();//necesito una nueva fecha para compararlo a la nueva ya que la otra se le suma 15
 
 micadena1=String(f1);
 micadena2=String(f3);
 
 if(micadena1==micadena2){//si son iguales las fechas
   
   	error=false;
 }
 
	return error;

}


				
function MostrarOcultar(parr) {

	var np = 'p' + parr; /*numero de parrafo*/
	var ne = 'e' + parr; /*numero de enlace*/
	var npout = 'p' + parr + 'out';

	var elem = document.getElementById(np);
	var enlace = document.getElementById(ne);
	var elemout = document.getElementById(npout);


	switch (elem.style.display) {
		case 'none': 
			elem.style.display = 'block';
			enlace.title = 'Ocultar Datos';
			elemout.style.display = 'none';
			break;
		default: 
			elem.style.display = 'none';
			enlace.title = 'Mostrar Datos';
			elemout.style.display = 'block';
			break;
	}

	return;
}



function switchid(id){	
	hideallids();
	showdiv(id);
}

function hideallids(){
	var ids = new Array('p1','p2','p3','p4','p5','p6');
	for (var i=0;i<ids.length;i++){
		hidediv(ids[i]);
	}		  
}

function hidediv(id) {

	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'none';
	}
	else {
		if (document.layers) { // Netscape 4
			document.id.display = 'none';
		}
		else { // IE 4
			document.all.id.style.display = 'none';
		}
	}

}

function showdiv(id) {
	//safe function to show an element with a specified id
	document.getElementById(id).style.display = 'block';
	document.getElementById("a").style.color = 'red';

}





				
function frases_alea(){//funcion que te devuelve frases aleatorias en un array			
	
	frases = new Array();
	frases[0] = "Consultanos y beneficiate de nuestras nuevas tarifas";
	frases[1] = "En Eurolloyd aplicamos los descuentos de tu seguro actual en nuestros precios";
	frases[2] = "Si quieres seguridad para t&iacute; y los tuyos, consulta nuestro seguro de accidentes para motoristas.";
	frases[3] = "Si te interesa, puedes contratar tu seguro directamente desde nuestra pagina web: WWW.EUROLLOYD.ES ";
	frases[4] = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="160" height="300">      <param name="movie" value="definitivo01.swf">      <param name="quality" value="high">      <embed src="definitivo01.swf" width="160" height="300" quality="high"      pluginspage="http://www.macromedia.com/go/getflashplayer"      type="application/x-shockwave-flash"></embed>    </object>';
	aleatorio=Math.floor(Math.random()*5);

	return frases[aleatorio];
}
				
					
function resultado_frases(){//funcion que te devuelve frases aleatorias cada 5 segundos

	document.getElementById('algo').innerHTML=frases_alea();
	return setInterval(function(){document.getElementById('algo').innerHTML=frases_alea();},1000)
	
}  					
 				

				
function abre_capa_caser (){
	
	document.getElementById('caserxml').style.display="block";

} 
				
function cierra_capa_caser (){
	
	document.getElementById('caserxml').style.display="none";

} 
				
function abre_capa_liberty (){
	
	document.getElementById('libertyxml').style.display="block";

} 
				
function cierra_capa_liberty (){
	
	document.getElementById('libertyxml').style.display="none";

} 
				
function abre_capa_vitalicio (){
	
	document.getElementById('vitalicioxml').style.display="block";
					
} 
				
function cierra_capa_vitalicio (){
	
	document.getElementById('vitalicioxml').style.display="none";

}
				
function abre_capa_pelayo (){
	
	document.getElementById('pelayoxml').style.display="block";
					
} 
				
function cierra_capa_pelayo (){
	
	document.getElementById('pelayoxml').style.display="none";

}
				
				
function enviar_mail(cia){

	document.getElementById('email_tarif').value=cia;

}
				
function abre_capa_post (){
	
	document.getElementById('radio_post').style.display="block";
					
} 
			
function cierra_capa_post (){
	
	document.getElementById('radio_post').style.display="none";

}


function abre_capa_debugging (){
	
	document.getElementById('debugging').style.display="block";
					
} 

function cierra_capa_debugging (){
	
	document.getElementById('debugging').style.display="none";

}


function abre_capa_tarifas (){
	
	document.getElementById('tarifas_debug').style.display="block";
					
} 

function cierra_capa_tarifas (){
	
	document.getElementById('tarifas_debug').style.display="none";

}

function abre_capa_BMWEstrella (){
	
	document.getElementById('BMWEstrella').style.display="block";
					
} 
				
function cierra_capa_BMWEstrella (){
	
	document.getElementById('BMWEstrella').style.display="none";

}

function abre_capa_datos (){
	
	document.getElementById('datos').style.display="block";
					
} 
				
function cierra_capa_datos (){
	
	document.getElementById('datos').style.display="none";

}

function abre_capa (capa){
		
	capa.style.display="block";
	
} 
				
function cierra_capa (capa){
	
	capa.style.display="none";

} 


function valida_fecha(Dia, Mes, Ano) {
		
		hoy=new Date();
		//guardo en variables las fechas de hoy
		var ano_hoy
		ano_hoy = hoy.getFullYear();
		Mes = (Mes.length < 2)?"0"+Mes:Mes; 
		Dia = (Dia.length < 2)?"0"+Dia:Dia; 
		hoy1 = Ano + Mes + Dia;
		var ano 
		ano = parseFloat(Ano); 
		var mes
		mes = parseFloat(Mes); 
		var dia 
		dia = parseFloat(Dia); 
		var Error
		Error = 0;
		var resuc
		resuc = true;
	
		// validamos que la fecha sea correcta
		if(isNaN(ano) || isNaN(mes) || isNaN(dia) || 
			(ano < 1900) || (ano > ano_hoy && desDe == 3) || 
			(mes < 1) || (mes > 12) || 
			(dia < 1) || (dia > 31)) {
			Error = 1;
		} else {
			if((ano%4 != 0) && (mes == 2) && (dia > 28)) {
				Error = 1;
			} else {
				if ((((mes == 4) || (mes == 6) || (mes == 9) || (mes==11)) && (dia>30)) || ((mes==2) && (dia>29))) {
					Error = 1;
				}
			}
		}
		
		if (Error != 0) {
			resuc = false;
		} 
		
		return resuc; 
		
}


function change_select_prop(xxx) {
	if ( xxx == "cif" ) {
		document.getElementById("persona_fisica_prop").style.display = "none";
		document.getElementById("persona_juridica_prop").style.display = "block";
	} else {
		document.getElementById("persona_fisica_prop").style.display = "block";
		document.getElementById("persona_juridica_prop").style.display = "none";
    }
	return
}

function change_select_tom(xxx) {
	if ( xxx == "cif" ) {
		document.getElementById("persona_fisica_tom").style.display = "none";
		document.getElementById("persona_juridica_tom").style.display = "block";
	} else {
		document.getElementById("persona_fisica_tom").style.display = "block";
		document.getElementById("persona_juridica_tom").style.display = "none";
    }
	return
}

function fechas(dia, mes, ano, DiaM1, MesM1, AnoM1) {
	Matric = new Date(AnoM, MesM, DiaM); 
	Efect = new Date(ano_efe, mes_efe, dia_efe); 
	
		if(Matric - Efect > 0){ 	// no es valido
			salidaout = false; 
		} else {  					// es valido
			salidaout = true; 
		}

		return salidaout; 

}

// function activar_boton() {
// 	if (document.getElementById("confirmar").checked) {
// 		document.getElementById("volver_atras").disabled = false;
// 		alert('true');
// 	} else {
// 		document.getElementById("volver_atras").disabled = true;
// 		alert('false');
// 	}
// }