// Variables para setear
onload=function() 
{
	cAyuda=document.getElementById("mensajesAyuda");
	cNombre=document.getElementById("ayudaTitulo");
	cTex=document.getElementById("ayudaTexto");
	divTransparente=document.getElementById("transparencia");
	divMensaje=document.getElementById("transparenciaMensaje");
	form=document.getElementById("formulario");
	urlDestino="form_mail_alta.php";
	
	claseNormal="input";
	claseError="inputError";
		
	ayuda=new Array();
	ayuda["Nombre"]="Introduce tu nombre. De 4 a 50 caracteres. OBLIGATORIO";
	ayuda["Correo"]="Introduce un e-mail v&aacute;lido. OBLIGATORIO";
	ayuda["Telefon"]="Introduce tu tel&eacute;fono. OBLIGATORIO";
	ayuda["Movil"]="Introduce m&oacute;vil. OBLIGATORIO";
	ayuda["Direccion"]="Introduce tu direcci&oacute;n. OBLIGATORIO";
	ayuda["Poblacion"]="Introduce tu poblaci&oacute;n. OBLIGATORIO";
	ayuda["Codigo"]="Introduce tu c&oacute;digo postal. OBLIGATORIO";
	ayuda["Nacimiento"]="Introduce tu fecha de nacimiento (dd/mm/aa). OBLIGATORIO";
	ayuda["Dni"]="Introduce tu DNI. OBLIGATORIO";
	ayuda["Formacion"]="Introduce tu formaci&oacute;n. OBLIGATORIO";
	ayuda["Idioma"]="Introduce tu idioma preferente. OBLIGATORIO";
	ayuda["Cantidad"]="Introduce la cantidad con la que quieres colaborar (m&iacute;nimo 60 euros anuales).";
	ayuda["Pago"]="Escoje la periodicidad del pago. Anual/Mensual";
	ayuda["Cuenta bancaria"]="Introduce tu n&uacute;mero de cuenta bancaria (20 d&iacute;gitos). OBLIGATORIO";
	
	
	preCarga("images/formulari/ok.gif", "images/formulari/loading.gif", "images/formulari/error.gif");
}

function preCarga()
{
	imagenes=new Array();
	for(i=0; i<arguments.length; i++)
	{
		imagenes[i]=document.createElement("img");
		imagenes[i].src=arguments[i];
	}
}

function nuevoAjax()
{ 
	var xmlhttp=false; 
	try 
	{ 
		// No IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{ 
			// IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); } 
	return xmlhttp; 
}

function limpiaForm()
{
	for(i=0; i<=18; i++)
	{
		form.elements[i].className=claseNormal;
	}
	document.getElementById("inputCuenta4").className=claseNormal;
}

function campoError(campo)
{
	campo.className=claseError;
	error=1;
}

function ocultaMensaje()
{
	divTransparente.style.display="none";
}

function muestraMensaje(mensaje)
{
	divMensaje.innerHTML=mensaje;
	divTransparente.style.display="block";
}

function eliminaEspacios(cadena)
{
	// Funcion para eliminar espacios delante y detras de cada cadena
	while(cadena.charAt(cadena.length-1)==" ") cadena=cadena.substr(0, cadena.length-1);
	while(cadena.charAt(0)==" ") cadena=cadena.substr(1, cadena.length-1);
	return cadena;
}

function validaLongitud(valor, permiteVacio, minimo, maximo)
{
	var cantCar=valor.length;
	if(valor=="")
	{
		if(permiteVacio) return true;
		else return false;
	}
	else
	{
		if(cantCar>=minimo && cantCar<=maximo) return true;
		else return false;
	}
}
function validaCantidad(valor, euros, minimo, maximo)
{
	var cantCar=valor;
	if(cantCar>=euros) return true;
		else return false;
	}
function validaCorreo(valor)
{
	var reg=/(^[a-zA-Z0-9._-]{1,30})@([a-zA-Z0-9.-]{1,30}$)/;
	if(reg.test(valor)) return true;
	else return false;
}

function validaForm()
{
	limpiaForm();
	error=0;
	
	var nombre=eliminaEspacios(form.inputNombre.value);
	var correo=eliminaEspacios(form.inputCorreo.value);
	var telefon=eliminaEspacios(form.inputTelefon.value);
	var movil=eliminaEspacios(form.inputMovil.value);
	var direccion=eliminaEspacios(form.inputDireccion.value);
	var poblacion=eliminaEspacios(form.inputPoblacion.value);
	var codigo=eliminaEspacios(form.inputCodigo.value);
	var nacimiento=eliminaEspacios(form.inputNacimiento.value);
	var dni=eliminaEspacios(form.inputDni.value);
	var formacion=eliminaEspacios(form.inputFormacion.value);
	var idioma=(form.inputIdioma.value);
	var cantidad=(form.inputCantidad.value);
	var pago=(form.inputPago.value);
	var cuenta1=eliminaEspacios(form.inputCuenta1.value);
	var cuenta2=eliminaEspacios(form.inputCuenta2.value);
	var cuenta3=eliminaEspacios(form.inputCuenta3.value);
	var cuenta4=eliminaEspacios(form.inputCuenta4.value);
	
	if(!validaLongitud(nombre, 0, 2, 50)) campoError(form.inputNombre);
	if(!validaCorreo(correo)) campoError(form.inputCorreo);
	if(!validaLongitud(telefon, 0, 9, 50)) campoError(form.inputTelefon);
	if(!validaLongitud(movil, 0, 9, 50)) campoError(form.inputMovil);
	if(!validaLongitud(direccion, 0, 4, 50)) campoError(form.inputDireccion);
	if(!validaLongitud(poblacion, 0, 4, 50)) campoError(form.inputPoblacion);
	if(!validaLongitud(codigo, 0, 5, 50)) campoError(form.inputCodigo);
	if(!validaLongitud(nacimiento, 0, 8, 50)) campoError(form.inputNacimiento);
	if(!validaLongitud(dni, 0, 9, 50)) campoError(form.inputDni);
	if(!validaLongitud(formacion, 0, 4, 50)) campoError(form.inputFormacion);
	if(!validaLongitud(idioma, 0, 2, 20)) campoError(form.inputIdioma);
	if(!validaCantidad(cantidad, 60, 2, 20)) campoError(form.inputCantidad);
	if(!validaLongitud(pago, 0, 2, 20)) campoError(form.inputPago);
	if(!validaLongitud(cuenta1, 0, 4, 4)) campoError(form.inputCuenta1);
	if(!validaLongitud(cuenta2, 0, 4, 4)) campoError(form.inputCuenta2);
	if(!validaLongitud(cuenta3, 0, 2, 2)) campoError(form.inputCuenta3);
	if(!validaLongitud(cuenta4, 0, 10, 10)) campoError(form.inputCuenta4);
	
		
	if(error==1)
	{
		var texto="<table align='center'><tr><td><img src='images/formulari/error.gif' alt='Error'></td></tr></table><br><br>Error: revise los campos en rojo.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
		muestraMensaje(texto);
	}
	else
	{
		var texto="<table align='center'><tr><td><img src='images/formulari/loading.gif' alt='Enviando'></td></tr></table><br>Enviando. Por favor espere.<br><br><button style='width:60px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ocultar</button>";
		muestraMensaje(texto);
		
		var ajax=nuevoAjax();
		ajax.open("POST", urlDestino, true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajax.send("nombre="+nombre+"&correo="+correo+"&telefon="+telefon+"&movil="+movil+"&direccion="+direccion+"&poblacion="+poblacion+"&codigo="+codigo+"&nacimiento="+nacimiento+"&dni="+dni+"&formacion="+formacion+"&idioma="+idioma+"&cantidad="+cantidad+"&pago="+pago+"&cuenta1="+cuenta1+"&cuenta2="+cuenta2+"&cuenta3="+cuenta3+"&cuenta4="+cuenta4);
		
		ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			{
				var respuesta=ajax.responseText;
				if(respuesta=="OK")
				{
					var texto="<table align='center'><tr><td><img src='images/formulari/ok.gif' alt='Ok'></td></tr></table><br>Gracias por su mensaje.<br>Le responderemos lo antes posible.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
				}
				else var texto="<table align='center'><tr><td><img src='images/formulari/error.gif'></td></tr></table><br><br>Error: intentelo mas tarde.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
				
				muestraMensaje(texto);
			}
		}
	}
}

// Mensajes de ayuda

if(navigator.userAgent.indexOf("MSIE")>=0) navegador=0;
else navegador=1;

function colocaAyuda(event)
{
	if(navegador==0)
	{
		var corX=window.event.clientX+document.documentElement.scrollLeft;
		var corY=window.event.clientY+document.documentElement.scrollTop;
	}
	else
	{
		var corX=event.clientX+window.scrollX;
		var corY=event.clientY+window.scrollY;
	}
	cAyuda.style.top=corY+20+"px";
	cAyuda.style.left=corX+15+"px";
}

function ocultaAyuda()
{
	cAyuda.style.display="none";
	if(navegador==0) 
	{
		document.detachEvent("onmousemove", colocaAyuda);
		document.detachEvent("onmouseout", ocultaAyuda);
	}
	else 
	{
		document.removeEventListener("mousemove", colocaAyuda, true);
		document.removeEventListener("mouseout", ocultaAyuda, true);
	}
}

function muestraAyuda(event, campo)
{
	colocaAyuda(event);
	
	if(navegador==0) 
	{ 
		document.attachEvent("onmousemove", colocaAyuda); 
		document.attachEvent("onmouseout", ocultaAyuda); 
	}
	else 
	{
		document.addEventListener("mousemove", colocaAyuda, true);
		document.addEventListener("mouseout", ocultaAyuda, true);
	}
	
	cNombre.innerHTML=campo;
	cTex.innerHTML=ayuda[campo];
	cAyuda.style.display="block";
}
