var registrando_usuario = false;

//Cambia la imagen de seguridad
function cambiar_imagen_seg()
{
	img = document.getElementById("imagen_seg");
	var now = new Date();
	img.src = "funciones_generales.php?function=IMAGEN_SEG&time="  + now.getTime();
}


function click_temat(elemento)
{
	var clas = elemento.className;
	var vec = clas.split("_");
	var tematica;
	if (vec.length == 3) 	//Está e blanco y negro
	{
	 	tematica = vec[2];
		elemento.className = vec[0] + "_" + vec[2];
	}
	else
	{
	 	tematica = vec[1];
	 	elemento.className = vec[0] + "_bn_" + vec[1];
	}
	
}


//Obtiene una marca de tiempo para realizar el login del usuario
function registro_usuario()
{
	if (registrando_usuario) return;
	registrando_usuario = true;
	
	document.getElementById("registro_msg_error").style.visibility = "hidden";
	document.getElementById("registro_msg_error2").style.visibility = "hidden";
	document.getElementById("registro_msg_ok").style.visibility = "hidden";
	
	var error = false;
		
	//Obtenemos los datos de registro del usuario
	var nombre = document.getElementById("NOMBRE").value;
	var email = document.getElementById("CORREO").value;
	var pass = document.getElementById("PASS").value;
	var pais = document.getElementById("PAIS").value;
	var ciudad = document.getElementById("CIUDAD").value;
	var pass2 = document.getElementById("PASS2").value;
	var codigo_sec = document.getElementById("CODIGOSEC").value;
	var no_nombre = document.getElementById("NO_NOMBRE").checked;
	var no_email = document.getElementById("NO_EMAIL").checked;
	var his = document.getElementById("HIS").className.split("_").length==3?"false":"true";
	var arq = document.getElementById("ARQ").className.split("_").length==3?"false":"true";
	var cyt = document.getElementById("CYT").className.split("_").length==3?"false":"true";
	var cin = document.getElementById("CIN").className.split("_").length==3?"false":"true";
	var dep = document.getElementById("DEP").className.split("_").length==3?"false":"true";
	var esc = document.getElementById("ESC").className.split("_").length==3?"false":"true";
	var ley = document.getElementById("LEY").className.split("_").length==3?"false":"true";
	var nat = document.getElementById("NAT").className.split("_").length==3?"false":"true";
	var oci = document.getElementById("OCI").className.split("_").length==3?"false":"true";
	var pin = document.getElementById("PIN").className.split("_").length==3?"false":"true";
	var rel = document.getElementById("REL").className.split("_").length==3?"false":"true";
	
	//Comprobamos que no estén vacíos
	if (nombre.length == 0){
		document.getElementById("div_warning_nombre").innerHTML = INTRODUCIR_NOMBRE_O_APODO;
		error = true;
	}
	else
		document.getElementById("div_warning_nombre").innerHTML = "";
	
	if (email.length == 0){
		document.getElementById("div_warning_email").innerHTML = INTRODUCIR_EMAIL;
		error = true;
	}
	else if (!email_check(email)){
		document.getElementById("div_warning_email").innerHTML = EMAIL_NO_VALIDO;
		error = true;
	}
	else
		document.getElementById("div_warning_email").innerHTML = "";
	
	if (pass.length == 0){
		document.getElementById("div_warning_pass").innerHTML = INTRODUCIR_CONTRASENA;
		error = true;
	}
	else if (pass != pass2 ){
		document.getElementById("div_warning_pass").innerHTML = "Las contraseñas no coinciden.";
		error = true;
	}
	else
		document.getElementById("div_warning_pass").innerHTML = "";
	
	if (codigo_sec.length == 0){
		document.getElementById("div_warning_codigo_sec").innerHTML = CODIGO_SEC;
		error = true;
	}
	else 
		document.getElementById("div_warning_codigo_sec").innerHTML = "";
	
	if (error) 
	{
	   registrando_usuario = false;
		 return;
	}
	
	//Cambiamos los números por el programa de carga
	document.getElementById("numero_uno").src = "imagenes/web/ajax_loader.gif";
	document.getElementById("numero_dos").src = "imagenes/web/ajax_loader.gif";
	document.getElementById("numero_tres").src = "imagenes/web/ajax_loader.gif";
	
	//Construyo toda la url que se enviará
	

	var valorpost = "nombre=" + nombre;
	valorpost += "&email=" + email; 
	valorpost += "&pass=" + pass;
	valorpost += "&pais=" + pais;
	valorpost += "&ciudad=" + ciudad;
	valorpost += "&no_nombre=" + no_nombre;
	valorpost += "&no_email=" + no_email;	
	valorpost += "&codigo_sec=" + codigo_sec;
	valorpost += "&his=" + his;
	valorpost += "&arq=" + arq;
	valorpost += "&cyt=" + cyt;
	valorpost += "&cin=" + cin;
	valorpost += "&dep=" + dep;
	valorpost += "&esc=" + esc;
	valorpost += "&ley=" + ley;
	valorpost += "&nat=" + nat;
	valorpost += "&oci=" + oci;
	valorpost += "&pin=" + pin;
	valorpost += "&rel=" + rel;
	
	ajax = login_user_new_ajax();	
	ajax.onreadystatechange=function()
	{
		if (ajax.readyState==4){
			//He recibido correctamente la marca de tiempo
			respuesta = ajax.responseText;
			
			if (respuesta.indexOf("OK#") != 0)
			{
				var texto = respuesta.split("#")[1];
				document.getElementById("registro_msg_error").innerHTML = texto;
				document.getElementById("registro_msg_error").style.visibility = "visible";
				document.getElementById("registro_msg_error2").innerHTML = texto;
				document.getElementById("registro_msg_error2").style.visibility = "visible";
				
				document.getElementById("numero_uno").src = "imagenes/web/1_registro.gif";
				document.getElementById("numero_dos").src = "imagenes/web/2_registro.gif";
				document.getElementById("numero_tres").src = "imagenes/web/3_registro.gif";
				cambiar_imagen_seg();
				registrando_usuario = false;
				
				enable_all();
			}
			else
			{
				//LLegados aquí todo acabó bien				
				document.getElementById("numero_uno").src = "imagenes/web/tick.gif";
				document.getElementById("numero_dos").src = "imagenes/web/tick.gif";
				document.getElementById("numero_tres").src = "imagenes/web/tick.gif";
					
				var texto = respuesta.split("#")[1];
				document.getElementById("registro_msg_ok").innerHTML = texto + "<br>";
				document.getElementById("registro_msg_ok").style.visibility = "visible";
				document.getElementById("boton_registrar").innerHTML = "<br>" + texto;
			}			
		}
	};
	
	disable_all();
	ajax_post(ajax,"funciones_registro.php","function=REGISTRO_USUARIO",valorpost);
}

function disable_all()
{
	document.getElementById("NOMBRE").setAttribute('disabled', true);
	document.getElementById("CORREO").setAttribute('disabled', true);			
	document.getElementById("PASS").setAttribute('disabled', true);
	document.getElementById("PAIS").setAttribute('disabled', true);
	document.getElementById("CIUDAD").setAttribute('disabled', true);
	document.getElementById("PASS2").setAttribute('disabled', true);
	document.getElementById("CODIGOSEC").setAttribute('disabled', true);
	document.getElementById("NO_NOMBRE").setAttribute('disabled', true);
	document.getElementById("NO_EMAIL").setAttribute('disabled', true);
	document.getElementById("HIS").setAttribute('disabled', true);
	document.getElementById("ARQ").setAttribute('disabled', true);
	document.getElementById("CYT").setAttribute('disabled', true);
	document.getElementById("CIN").setAttribute('disabled', true);
	document.getElementById("DEP").setAttribute('disabled', true);
	document.getElementById("ESC").setAttribute('disabled', true);
	document.getElementById("LEY").setAttribute('disabled', true);
	document.getElementById("NAT").setAttribute('disabled', true);
	document.getElementById("OCI").setAttribute('disabled', true);
	document.getElementById("PIN").setAttribute('disabled', true);
	document.getElementById("REL").setAttribute('disabled', true);
}

function enable_all()
{
	document.getElementById("NOMBRE").disabled = false;
	document.getElementById("CORREO").disabled = false;
	document.getElementById("PASS").disabled = false;
	document.getElementById("PAIS").disabled = false;
	document.getElementById("CIUDAD").disabled = false;
	document.getElementById("PASS2").disabled = false;
	document.getElementById("CODIGOSEC").disabled = false;
	document.getElementById("NO_NOMBRE").disabled = false;
	document.getElementById("NO_EMAIL").disabled = false;
	document.getElementById("HIS").disabled = false;
	document.getElementById("ARQ").disabled = false;
	document.getElementById("CYT").disabled = false;
	document.getElementById("CIN").disabled = false;
	document.getElementById("DEP").disabled = false;
	document.getElementById("ESC").disabled = false;
	document.getElementById("LEY").disabled = false;
	document.getElementById("NAT").disabled = false;
	document.getElementById("OCI").disabled = false;
	document.getElementById("PIN").disabled = false;
	document.getElementById("REL").disabled = false;
}

function email_check(str) {
		var at="@";
		var dot=".";
		var comilla="'";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		if (str.indexOf(at)==-1)
		   return false;
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
		   return false;
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
		    return false;
		if (str.indexOf(at,(lat+1))!=-1)
		    return false;
		if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
		    return false;
		if (str.indexOf(dot,(lat+2))==-1)
		    return false;
		if (str.indexOf(" ")!=-1)
		    return false;
		if (str.indexOf(comilla)!=-1)
		    return false;		    
 		 return true;					
}

function registro_usuario_new_ajax(){
  var xmlhttp=false;
  try {
   // Creaciónel objeto ajax para navegadores diferentes a Explorer
   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   // o bien
   try {
     // Creación del objeto ajax para Explorer
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) {
     xmlhttp = false;
   }
  }

  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
   xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
} 

//Realiza un post con una variable ajax. Pasa información por GET y por POST según convenga
function ajax_post(ajax,pagina,valorget,valorpost)
{
	if (valorget == null || valorget == "")
		valorget = "?"
	else
		valorget = "?" + valorget + "&";	
		
	if(valorpost!="")
		{
			ajax.open("POST",pagina+valorget+"time_pet="+new Date().getTime(),true);
		} 
	else 
		{
			ajax.open("GET",pagina+valorget+"time_pet="+new Date().getTime(),true);
		}

	if(valorpost!="")
		{
				ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");			
				ajax.send(valorpost);
		} 
	else 
		{
			ajax.send(null);
		}	
}

