
function obligarDNI_por_provincia(){
	if((document.datos_invitado.provincia.value=='Las Palmas') || (document.datos_invitado.provincia.value=='Ceuta') || (document.datos_invitado.provincia.value=='Melilla') || (document.datos_invitado.provincia.value=='Tenerife')){
	 		alert('Para esta provincia, el DNI es obligatorio');
	 		/*var dni;
	 		dni = document.getElementById('dni_value');
	 		dni.style.display='block';*/
	 		return false;
	 		
	}
}

function obligarDNI(dato){
	if(dato.checked==true){
			if((document.form2.dni.value=='') || (document.form2.letra_nif.value=='')){
				alert('DNI es obligatorio');
			}
	 	
	 		var dni;
	 		dni = document.getElementById('dni_value');
	 		dni.style.display='block';
	 		return false;
	 		
	}
}
function mostrarDNI(dato){
	if(dato.checked==true){
	 		var dni;
	 		dni = document.getElementById('dni_value');
	 		dni.style.display='block';
	 		return false;
	 		
	}
}

function guarda_direccion(id){
	
	document.form2.id_direccion.value=id.value;
	return(false);
}
function expandir_formulario(objeto){		
		 if (objeto.checked){
			xDisplay('capaexpansion', 'block')
		 }else{
			xDisplay('capaexpansion', 'none')
		 }
	}
function MM_validateForm() { //v4.0
  var i,p,q,nm,id,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) {
  		test=args[i+2]; 
  		val = MM_findObj(args[i]);
  	  	if((val)){
  	  		nm=val.id; 
  	  		val = val.value;
  	  	    if ((val)!="") {
		    	if((nm=='telefono') || (nm=='telefono envio')|| (nm=='movil')|| (nm=='movil envio')){
		    		if (/^([0-9\+\s\+\-\+\/\+\(\+\)\+\.])+$/.test(val)){ 
					}else{ 
					errors +='- '+nm+' no es telefono válido. \n';
					} 
		    	}else if(nm=='dni'){
		    	  if(!RevisaDNI2()){
		   	  	 	errors +='- '+nm+' no es dni válido. \n';
		   	  	 }
		       }else if((nm=='provincia') || (nm=='provincia envio')){
					if(val=='Otra'){
			   	  	 	errors +='- '+nm+' es obligatorio. \n';
					}
				}else{
			      if (test.indexOf('isEmail')!=-1) { 
			      	p=val.indexOf('@');
			        if (p<1 || p==(val.length-1)) 
			        	errors+='- '+nm+' debe contener una dirección de correo.\n';
			      	} else if (test!='R') { 
			      		num = parseFloat(val);
			        	if (isNaN(val)) errors+='- '+nm+' debe contener un número.\n';
			        	if (test.indexOf('inRange') != -1) { 
			        		p=test.indexOf(':');
			            	min=test.substring(8,p); max=test.substring(p+1);
			         		if (num<min || max<num) 
			         			errors+='- '+nm+' debe contener números entre '+min+' y '+max+'.\n';
				    		}
			      	}
			   }
		  }else if (test.charAt(0) == 'R'){
				errors += '- '+nm+' es obligatorio.\n';
  	  		}
  	  	}
  	  	}
    	if (errors){ 
		alert('Han ocurrido los siguientes errores:\n'+errors);
	}else{
		document.MM_returnValue = (errors == '');
		/*redireccion siempre el primero, pq el formulario 0 es el de búsqueda*/
		document.forms[1].submit();
	}	
  	
}




	function MM_findObj(n, d) { //v4.01
	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	  if(!x && d.getElementById) x=d.getElementById(n); return x;
	}
	
	function guardarensesion(dni,letra){
		var el_dni; 
		el_dni = dni+'-'+letra;
		ajax=nuevoAjax(); 
		ajax.open("GET", "guardosesion.php?dni="+el_dni,true);
		ajax.send(null)
	}

	function nuevoAjax(){
		  var xmlhttp=false;
		  try {
		   // Creación del objeto ajax para navegadores diferentes a Explorer
		   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		  } catch (e) {
		   // o bien 
		   try {
		     // Creación del objet ajax para Explorer
		     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) {
		     xmlhttp = false;
		   }
		  }
		
		  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		   xmlhttp = new XMLHttpRequest();
		  }
		  return xmlhttp;
	}

function validarMetodoEnvio(){
	if(document.form2.canarias.value=='si'){
		if((document.form2.dni.value=='') || (document.form2.letra_nif.value=='')){
			alert('El DNI es obligatorio para esta provincia');
			return false;
		}else{
			var dni=document.form2.elements[2].value+document.form2.elements[3].value;
			if(!RevisaDNI(dni)){
				alert('DNI no valido');
				return false;
			}
		}
	}
	
	if(document.form2.facturacion.checked==true){
		if((document.form2.elements[2].value=='') || (document.form2.elements[3].value=='')){
			alert('El DNI es obligatorio');
			return false;
		}else{
			var dni=document.form2.elements[2].value+document.form2.elements[3].value;
			if(!RevisaDNI(dni)){
				alert('DNI no valido');
				return false;
			}
		}
	}
	if(document.form2.datos_envio.checked==true){
		//validamos el mail
	//	if(document.form2.e_mail_envio.value){
//			if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.form2.e_mail_envio.value)) 
//			{}else{ 
//				alert("La dirección de email es incorrecta."); 
//				return (false); 
//			}
//		}
		if(document.form2.nombre_envio.value==''){
			alert("Introduzca el nombre de facturación."); 
			return (false); 
		}
		if(document.form2.apellidos_envio.value==''){
			alert("Introduuzca los apellidos de facturación."); 
			return (false); 
			
		}
		if(document.form2.telefono_envio.value){
			if (/^([0-9\+\s\+\-\+\/\+\(\+\)\+\.])+$/.test(document.form2.telefono_envio.value)){ 
					}else{ 
					alert("Teléfono no válido."); 
			return (false); 
					} 
			
		}
		if(document.form2.movil_envio.value){
			if (/^([0-9\+\s\+\-\+\/\+\(\+\)\+\.])+$/.test(document.form2.movil_envio.value)){ 
					}else{ 
					alert("Teléfono no válido."); 
					return (false); 
					} 
			
		}
		if(document.form2.direccion_envio.value==''){
			alert("Introduzca la dirección de envio."); 
			return (false); 
		}	
		if(document.form2.poblacion_envio.value==''){
			alert("Introduzca la poblacion de envio."); 
			return (false); 
		}
		if(document.form2.provincia_envio.value=='Otra'){
			alert("Introduzca la provincia de envio."); 
			return (false); 
		}
		if(document.form2.codigo_postal_envio.value==''){
			alert("Introduzca el codigo postal de envio."); 
			return (false); 
		}else{
			if(isNaN(document.form2.codigo_postal_envio.value)){
				alert("El código postal debe estar formado por números."); 
				return false;
			}
			
		}
		
	}
	document.form2.submit();
	
} 
function validarMetodoEnvio2(){
	
	if(document.form2.canarias.value=='si'){
		if((document.form2.dni.value=='')){
			alert('El DNI es obligatorio para esta provincia');
			return false;
		}
	}
	
	document.form2.submit();
	
} 
function RevisaDNI2 () {
        numero=document.datos_invitado.dni.value;
        letra=document.datos_invitado.letra_nif.value;                       
        var dni=numero+letra
        
        return(RevisaDNI(dni));
	   
	}
function RevisaDNI(cadena) { 
	var dni = cadena; 
	letraNIE = dni.substr(0,1); 
	// compruebo si es un NIE  
	if ((letraNIE=="X") || (letraNIE=="x")) 
	numero = dni.substr(1,dni.length-2); 
	else 
	numero = dni.substr(0,dni.length-1);  
	let = dni.substr(dni.length-1,1); 
	let = let.toUpperCase(); 
	numero = numero % 23; 
	letra='TRWAGMYFPDXBNJZSQVHLCKET'; 
	letra=letra.substring(numero,numero+1); 
	if (letra!=let){ 
		return false;  
	}else{
		return true;  
	}

}