String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }

function loadLogin()
{
	//new Ajax.Updater('login', 'ajax/loadLogin.php',{});
	
	new Ajax.Request('ajax/loadLogin.php', {
  		onSuccess: function(transport) {
  			document.getElementById("login").innerHTML = transport.responseText;
  }
});
}

function envioOtros(param)
{
	if(param == "show")
	{
		document.getElementById("envioOtros").style.display = '';
	}
	else if(param == "hidden")
	{
		document.getElementById("envioOtros").style.display = 'none';
	}
}

function validateForm(option)
{
	var usuario = "", passwd = "", passwd_rep = "", nombre = "", apellidos = "", dni, direccion, municipio, provincia, cp, telefono, movil, email;

	if(option == 'registro' || document.getElementById('optEnvioUsuario').checked)
	{
		if(option == 'registro')
		{
			usuario = document.getElementById('usuario');
			passwd = document.getElementById('passwd');
			passwd_rep = document.getElementById('passwd_rep');
		}
		
		nombre = document.getElementById('nombre');
		apellidos = document.getElementById('apellidos');
		dni = document.getElementById('dni');
		direccion = document.getElementById('direccion');
		municipio = document.getElementById('municipio');
		provincia = document.getElementById('provincia');
		cp = document.getElementById('cp');
		telefono = document.getElementById('telefono');
		movil = document.getElementById('movil');
		email = document.getElementById('email');
	}
	else
	{
		//nombre = document.getElementById('nombre_otra');
		//apellidos = document.getElementById('apellidos_otra');
		//dni = document.getElementById('dni_otra');
		direccion = document.getElementById('direccion_otra');
		municipio = document.getElementById('municipio_otra');
		provincia = document.getElementById('provincia_otra');
		cp = document.getElementById('cp_otra');
		telefono = document.getElementById('telefono_otra');
		movil = document.getElementById('movil_otra');
		email = document.getElementById('email');
	}
	
	var errores = "";
	
	if(option == 'registro')
	{
		if(usuario.value.trim() == "")
		{
			//usuario.className = 'bordeRojo';
			errores += "El campo usuario es obligatorio.\n";
		}
		
		if(passwd.value.trim() == "")
		{
			//passwd.className = 'bordeRojo';
			errores += "El campo contraseña es obligatorio.\n";
		}
		
		if(passwd_rep.value.trim() == "")
		{
			//passwd_rep.className = 'bordeRojo';
			errores += "El campo repetición de contraseña es obligatorio.\n";
		}
		
		if(passwd.value.trim() != passwd_rep.value.trim())
		{
			//passwd.className = 'bordeRojo';
			//passwd_rep.className = 'bordeRojo';
			errores += "El campo repetición de contraseña no coincide con la contraseña.\n";
		}
	}
	
	if(option == 'registro' || document.getElementById('optEnvioUsuario').checked)
	{
		
		if(nombre.value.trim() == "")
		{
			//nombre.className = 'bordeRojo';
			errores += "El campo nombre es obligatorio.\n";
		}
		
		if(apellidos.value.trim() == "")
		{
			//apellidos.className = 'bordeRojo';
			errores += "El campo apellidos es obligatorio.\n";
		}	
		
		if(dni.value.trim() == "")
		{
			//dni.className = 'bordeRojo';
			errores += "El campo DNI es obligatorio.\n";
		}
		else
		{
			if(!checkNIF(dni.value.trim()))
			{
				//dni.className = 'bordeRojo';
				errores += "El DNI introducido no es válido.\n";
			}
		}
	}
	
	if(direccion.value.trim() == "")
	{
		//direccion.className = 'bordeRojo';
		errores += "El campo dirección es obligatorio.\n";
	}
	
	if(municipio.value.trim() == "")
	{
		//municipio.className = 'bordeRojo';
		errores += "El campo municipio es obligatorio.\n";
	}
	
	if(provincia.value.trim() == "")
	{
		//provincia.className = 'bordeRojo';
		errores += "El campo provincia es obligatorio.\n";
	}
	
	if(cp.value.trim() == "")
	{
		//cp.className = 'bordeRojo';
		errores += "El campo cp es obligatorio.\n";
	}
	
	if(telefono.value.trim() == "")
	{
		//telefono.className = 'bordeRojo';
		errores += "El campo teléfono es obligatorio.\n";
	}
	
	/*if(movil.value.trim() == "")
	{
		//movil.className = 'bordeRojo';
		errores += "El campo movil es obligatorio.\n";
	}*/
	
	if(email.value.trim() == "")
	{
		//email.className = 'bordeRojo';
		errores += "El campo email es obligatorio.\n";
	}
	
	//avaluacion de errores
	if(errores != "")
	{
		alert(errores);
		return false;
	}
	else
	{
		acepto = document.getElementById("acepto");
		if(!acepto.checked)
		{
			alert("Se debe aceptar la política de privacidad para enviar los datos.");
			return false;
		}
		else return true;
	}
	
}

function letraDni(dni) 
{
   var lockup = 'TRWAGMYFPDXBNJZSQVHLCKE';
   return lockup.charAt(dni % 23);
}
 	
//Function return true = NIF o DNI correcto, falsa = incorrecto
function checkNIF(dni)
{
	var numero = new String();
	numero = dni;
	numero = numero.toUpperCase(); 
	numeroLength = numero.length;
	letraFinal = numero.charAt(numero.length - 1);
	
	if(numeroLength != 9) 
	{
		//alert("El nif/nie no es correcto.");
		return false;
	}
	
	//Si la primera letra es X o T se trata de un NIE
	if((numero.charAt(0) == "X") || (numero.charAt(0) == "T"))
	{
		//alert("Se trata de un NIE");	
		numero = "0" + numero.substr(1, numero.length - 2);
		if(letraFinal != letraDni(numero))
		{
			//alert("La letra del NIE no es correcta.");
			return false;
		}
		else
		{
			//alert("El NIE es correcto.");
			return true;
		}
	}
	else // NIF, presumiblemente
	{
		numero = numero.substr(0, numero.length - 1);
		if(isNaN(numero))
		{
			//alert("El NIF contiene valores no válidos.");
			return false;
		}
		
		if(letraFinal != letraDni(numero))
		{
			//alert("La letra del DNI no es válida");
			return false;
		}
		else
		{
			//alert("El NIF es correcto.");
			return true;
		}
	}
	return false;
}

function resetBorder(id)
{
	document.getElementById(id).className = 'borderNegro';
}

function submitPedido()
{
	//alert("Hacer pedido!");
}

function validateRegForm()
{
	return false;
}



