function objetoAjax(){
	var xmlhttp=false;
	// Obtener la instancia del objeto XMLHttpRequest
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
xmlhttp = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // Internet Explorer
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
	return xmlhttp;
}

function MostrarRegistro(){
	var seccioncentral = document.getElementById('contenido');
	ajax = objetoAjax();
	
	ajax.open("GET", "registroform.php");
	ajax.onreadystatechange = function(){
		if (ajax.readyState == 4 && ajax.status == 200) {
			OcultarCentro();
			seccioncentral.innerHTML = ajax.responseText;
			InicializarRegistro();
		}
		
	}
	ajax.send(null);
}


function ValidarCampo(evento){
	var evento = evento || window.event;
	var campoactual = evento.target || evento.scrElement;
	
	var ajax = objetoAjax();
	
	ajax.open("GET", "validarformulario.php?" + campoactual.name + "=" + encodeURIComponent(campoactual.value), true);
	ajax.onreadystatechange = function(){
		if (ajax.readyState == 4 && ajax.status == 200) {
			var respuesta = ajax.responseText.split("|");
			var imgError = document.getElementById("img" + campoactual.id);
			var imgCorrecto = document.getElementById("img2" + campoactual.id);
			var botonregistro = document.getElementById("btnregistro");
								
			if(!eval(respuesta[0])){ 
				imgError.title = respuesta[1];
				imgCorrecto.style.display = "none";
				imgError.style.display = "";
				campoactual.valido = false;
			}else {
				imgCorrecto.style.display = "";
				imgError.style.display = "none";
				campoactual.valido = true;
			}
			
			botonregistro.disabled = !ComprobarValidez();
		}
		
	}
	ajax.send(null);
	
	
}

//Compruebo la propiedad 'valido' de los elementos del formulario
//Si la propiedad 'valido' es true en todos los elementos del formulario devuelvo true 
function ComprobarValidez(){ 
	
	var form = document.forms[0];
    var boton = true;

    for (var i=0; i < form.elements.length; i++) {        
        if (typeof form.elements[i].valido == "boolean") {
            boton = boton && form.elements[i].valido;            
        }
    }
    
    return boton;
}

function InicializarRegistro(){
	var user = document.getElementById("user");
	var pass1 = document.getElementById("pass1");
	var pass2 = document.getElementById("pass2");
	var email = document.getElementById("email");
	var nombre = document.getElementById("nombre");
	var apellidos = document.getElementById("apellidos");
	var botonregistro = document.getElementById("btnregistro");
			
	botonregistro.disabled = true;
	user.valido = false;
	pass1.valido = false;
	pass2.valido = false;
	nombre.valido = false;
	apellidos.valido = false;
	email.valido = false;
	
	
	user.onkeyup = ValidarCampo;
	pass1.onkeyup = ValidarCampo;
	pass2.onkeyup = ValidarCampo;
	nombre.onkeyup = ValidarCampo;
	apellidos.onkeyup = ValidarCampo;
	email.onkeyup = ValidarCampo;		
		
}

//nombre=valor&nombre=valor
function CreaCadena(Form){
	var matriz = new Array();
	
	for(var i=0 ; i<Form.elements.length ; i++){
		var suma = encodeURIComponent(Form.elements[i].name);
		suma += "=";
		suma += encodeURIComponent(Form.elements[i].value);
		matriz.push(suma);
	}
	return matriz.join("&");
}
	
		
function Registro(){
	var form = document.forms[0];
	var cadena = CreaCadena(form);
	var cont = document.getElementById('resultadoregistro');
	
	ajax = objetoAjax();
	
	ajax.open("post", form.action, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.onreadystatechange = function(){
		if (ajax.readyState == 4 && ajax.status == 200) {
			cont.innerHTML = ajax.responseText;
		}
		else {
			cont.innerHTML = 'Cargando...';
		}
	}
	ajax.send(cadena);
}



