// Expresion regular validación email
// (^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*)@ ([0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,3})$


function cambiaDatosFacturacion() {
	
	if (document.getElementById('datosEnvio').checked == false){
		if (document.getElementById('fnombre').disabled == false){
			document.getElementById('fac_empresa').disabled = !document.getElementById('fac_empresa').disabled;
			document.getElementById('fac_nombre').disabled = !document.getElementById('fac_nombre').disabled;
			document.getElementById('fac_apellidos').disabled = !document.getElementById('fac_apellidos').disabled;
			document.getElementById('fac_nif').disabled = !document.getElementById('fac_nif').disabled;
			document.getElementById('fac_direccion').disabled = !document.getElementById('fac_direccion').disabled;
			document.getElementById('fac_poblacion').disabled = !document.getElementById('fac_poblacion').disabled;
			document.getElementById('fac_provincia').disabled = !document.getElementById('fac_provincia').disabled;
			document.getElementById('fac_cp').disabled = !document.getElementById('fac_cp').disabled;
		}
	}
	else {
		document.getElementById('fac_empresa').disabled = !document.getElementById('fac_empresa').disabled;
		document.getElementById('fac_nombre').disabled = !document.getElementById('fac_nombre').disabled;
		document.getElementById('fac_apellidos').disabled = !document.getElementById('fac_apellidos').disabled;
		document.getElementById('fac_nif').disabled = !document.getElementById('fac_nif').disabled;
		document.getElementById('fac_direccion').disabled = !document.getElementById('fac_direccion').disabled;
		document.getElementById('fac_poblacion').disabled = !document.getElementById('fac_poblacion').disabled;
		document.getElementById('fac_provincia').disabled = !document.getElementById('fac_provincia').disabled;
		document.getElementById('fac_cp').disabled = !document.getElementById('fac_cp').disabled;
	}
}


function comprueba_campos_registro() {
	var ok = true;
	var mensaje = "";
	
	var nombre = document.getElementById('fnombre').value;
	var nif = document.getElementById('fnif').value;
	var apellidos = document.getElementById('fapellidos').value;
	var email = document.getElementById('femail').value;
	var direccion = document.getElementById('fdireccion').value;
	var poblacion = document.getElementById('fpoblacion').value;
	var provincia = document.getElementById('fprovincia').value;
	var cp = document.getElementById('fcp').value;
	var telefono = document.getElementById('ftelefono').value;
	
	if (nombre == null || nombre == ""){
		mensaje += "El campo nombre es obligatorio\n";
		ok = false;
	}
	
	if (nif == null || nif == ""){
		mensaje += "El campo NIF/CIF es obligatorio\n";
		ok = false;
	}
	
	if (apellidos == null || apellidos == ""){
		mensaje += "El campo apellidos es obligatorio\n";
		ok = false;
	}
	if (email == null || email == ""){
		mensaje += "El campo email es obligatorio\n";
		ok = false;
	}
	if (direccion == null || direccion == ""){
		mensaje += "El campo direccion es obligatorio\n";
		ok = false;
	}
	if (poblacion == null || poblacion == ""){
		mensaje += "El campo poblacion es obligatorio\n";
		ok = false;
	}
	if (provincia == null || provincia == ""){
		mensaje += "El campo provincia es obligatorio\n";
		ok = false;
	}
	if (cp == null || cp == ""){
		mensaje += "El campo codigo postal es obligatorio\n";
		ok = false;
	}
	if (telefono == null || telefono == ""){
		mensaje += "El campo telefono es obligatorio\n";
		ok = false;
	}	
	
	if (mensaje != null && mensaje != "")
		alert(mensaje);
	
	return ok;
}


function finalizarPedido(){
	if (!comprueba_campos_registro()){
		alert("Es necesario que introduzca su información de usuario antes de continuar");
	}
	else {
		//location.href="finalizarPedido.php";		
		var formulario = document.getElementById('datosUsuario');
		formulario.submit();
	}
}

function checkFormularioRegistro(){
		
		var formulario = document.getElementById('formRegistroUsuario');
	
		var nombre = document.getElementById('fnombre').value;
		var apellidos = document.getElementById('fapellidos').value;
		var email = document.getElementById('femail').value;
		var direccion = document.getElementById('fdireccion').value;
		var poblacion = document.getElementById('fpoblacion').value;
		var provincia = document.getElementById('fprovincia').value;
		var cp = document.getElementById('fcp').value;
		var telefono = document.getElementById('ftelefono').value;
		var pwd1 = document.getElementById('rpass').value;
		var pwd2 = document.getElementById('rrpass').value;
		
		var mensaje = "";
		var ok = true;
		// Primero debo de comprobar que ninguno de los campos obligatorios son nulos o vacios

		if (nombre == null || nombre == ""){
			mensaje += "El campo NOMBRE es obligatorio\n";
			ok = false;
		}
		if (apellidos == null || apellidos == ""){
			mensaje += "El campo APELLIDOS es obligatorio\n";
			ok = false;
		}
		if (email == null || email == ""){
			mensaje += "El campo EMAIL es obligatorio\n";
			ok = false;
		}
		if (direccion == null || direccion == ""){
			mensaje += "El campo DIRECCION es obligatorio\n";
			ok = false;
		}
		if (poblacion == null || poblacion == ""){
			mensaje += "El campo POBLACION es obligatorio\n";
			ok = false;
		}
		if (provincia == null || provincia == ""){
			mensaje += "El campo PROVINCIA es obligatorio\n";
			ok = false;
		}
		if (cp == null || cp == ""){
			mensaje += "El campo CODIGO POSTAL es obligatorio\n";
			ok = false;
		}
		if (telefono == null || telefono == ""){
			mensaje += "El campo TELEFONO es obligatorio\n";
			ok = false;
		}
		if (pwd1 == null || pwd1 == "" || pwd2 == null || pwd2 == ""){
			mensaje += "Las contraseñas no pueden ser nulas\n";
			ok = false;
		}
		
		// Ahora debo de comprobar que las contraseÃ±as son iguales
		if (pwd1 != pwd2){
			mensaje += "Las contraseñas no coinciden\n";
			ok = false;
		}
		
		if (mensaje != null && mensaje != "")
			alert(mensaje);
		
		
		if (ok == true)
			formulario.submit();
		
	}
	
// Recuperación de los datos de usuario
function recuperarDatos(){
	var formulario = document.getElementById('formRecuperarDatos');
	var email = document.getElementById('email').value;
	var password = document.getElementById('password').value;
	var mensaje = "";
	if (email == "" || email == null)
		mensaje += "Debe rellenar el campo email\n";
	if (password == "" || password == null)
		mensaje += "Debe rellenar el campo contraseÃ±a\n";
		
	if (mensaje == "")
		formulario.submit();
	else
		alert(mensaje);
}

// Cada vez que se seleccion un método de envío
function cambioMetodoEnvio(){
	var formulario = document.getElementById('gastosEnvio');
	formulario.submit();
}

function realizarCompra(){
	var fZona = document.getElementById('fZona');
	var formaPago = document.getElementById('formaPago');
	var okZona = false;
	var okFormaPago = false;
	var okModoEnvio = false;
	var opcionZona;
	var opcionFormaPago;
	var opcionModoEnvio;
	var mensaje = "";
	var numTarjeta;
	var tipoTarjeta;
	var mesCaducidad;
	var agnoCaducidad;
	
	// Primero compruebo que hay una opción de pago seleccionada;
	for( i = 0; i < fZona.zona.length ; i++) {
        if(fZona.zona[i].checked) {
			opcionZona = fZona.zona[i].value;
			okZona = true;
		}
	}
	
	if (!okZona)
		mensaje += "Debe seleccionar el destino\n";
		
	// Ahora compruebo si hay un método de envio seleccionado
	// Primero compruebo que hay una opción de pago seleccionada;
	for( i = 0; i < formaPago.rFormaPago.length ; i++) {
        if(formaPago.rFormaPago[i].checked) {
			//opcionFormaPago = formaPago.rFormaPago[i].value;
			opcionFormaPago = "TAR";
			okFormaPago = true;
		}
	}
	
	// En los casos de envío a Europa o el resto del mundo sólo hay pago con tarjeta siempre seleccionado
	if (opcionZona == "EUR" || opcionZona == "MUN") {
		okFormaPago = true;
		opcionFormaPago = "TAR";
	}
	
	opcionFormaPago = "TAR";
	
	if (!okFormaPago)
		//mensaje += "Debe seleccionar una forma de pago\n";
		
	// Por Ãºltimo compruebo que se haya seleccionado el modo de envío
	// en el caso que el envío sea a Europa o Resto del mundo
	if (okFormaPago == true && (opcionZona == "EUR" || opcionZona == "MUN")){
		if (document.getElementById("modoEnvio") != null){
			var modo_envio = document.getElementById("modoEnvio");	
			for( i = 0; i < modo_envio.rModoEnvio.length ; i++) {
				if(modo_envio.rModoEnvio[i].checked) {
					opcionModoEnvio = modo_envio.rModoEnvio[i].value;
					okModoEnvio = true;
				}
			}
		}
	}
	
	// Si no es Europa o el resto del mundo no se tiene en cuenta el modo de envio
	if (opcionZona != "EUR" && opcionZona != "MUN")
		okModoEnvio = true;
		
		
	if (!okModoEnvio)
		mensaje += "Debe seleccionar un modo de envío\n";
	
	
	if (mensaje != "") {
		alert(mensaje);
	}
	
	else {
		var formCompra = document.getElementById('formCompra');
		formCompra.opcionPago.value = opcionFormaPago;
		formCompra.submit();
	}
}

function desactivarDatos(){
		// Deshabilito los campos de envío
		document.getElementById('fempresa').disabled = true;
		document.getElementById('fnombre').disabled = true;
		document.getElementById('fapellidos').disabled = true;
		document.getElementById('fnif').disabled = true;
		document.getElementById('femail').disabled = true;		
		document.getElementById('fdireccion').disabled = true;
		document.getElementById('fpoblacion').disabled = true;
		document.getElementById('fprovincia').disabled = true;
		document.getElementById('fcp').disabled = true;
		document.getElementById('ftelefono').disabled = true;
		// Deshabilito los campos de facturación	
		document.getElementById('fac_empresa').disabled = true;
		document.getElementById('fac_nombre').disabled = true;
		document.getElementById('fac_apellidos').disabled = true;
		document.getElementById('fac_nif').disabled = true;
		document.getElementById('fac_direccion').disabled = true;
		document.getElementById('fac_poblacion').disabled = true;
		document.getElementById('fac_provincia').disabled = true;
		document.getElementById('fac_cp').disabled = true;
	}
	
	function activarDatos(){
		// Deshabilito los campos de envío
		document.getElementById('fempresa').disabled = false;
		document.getElementById('fnombre').disabled = false;
		document.getElementById('fapellidos').disabled = false;
		document.getElementById('fnif').disabled = false;
		document.getElementById('femail').disabled = false;		
		document.getElementById('fdireccion').disabled = false;
		document.getElementById('fpoblacion').disabled = false;
		document.getElementById('fprovincia').disabled = false;
		document.getElementById('fcp').disabled = false;
		document.getElementById('ftelefono').disabled = false;
		// Deshabilito los campos de facturación	
		document.getElementById('fac_empresa').disabled = false;
		document.getElementById('fac_nombre').disabled = false;
		document.getElementById('fac_apellidos').disabled = false;
		document.getElementById('fac_nif').disabled = false;
		document.getElementById('fac_direccion').disabled = false;
		document.getElementById('fac_poblacion').disabled = false;
		document.getElementById('fac_provincia').disabled = false;
		document.getElementById('fac_cp').disabled = false;
	}
	
	
	function actualizar_gastos_envio(){
		
		var zona_elegida = "";
		var forma_pago_elegida = "";
		var modo_envio_elegido = "";
		
		var zona = document.getElementById('fZona').zona;	
		for( i = 0; i < zona.length; i++)
	        if(zona[i].checked) 
				zona_elegida = zona[i].value;
		
		var forma_pago = document.getElementById('formaPago').rFormaPago;
		
		for( i = 0; i < forma_pago.length; i++)
	        if(forma_pago[i].checked) 
				forma_pago_elegida = forma_pago[i].value;
		
		
		if (document.getElementById('modoEnvio') != null)
			var modo_envio = document.getElementById('modoEnvio').rModoEnvio;
		
		if (modo_envio != null){		
			for( i = 0; i < modo_envio.length; i++)
				if(modo_envio[i].checked) 
					modo_envio_elegido = modo_envio[i].value;
		}
		//alert("Zona: " + zona_elegida);
		//alert("Forma Pago: " + forma_pago_elegida);
		location.href="finalizarPedido.php?zona=" + zona_elegida + "&fp=" + forma_pago_elegida + "&me=" + modo_envio_elegido;
	}