// 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="http://www.volcanica.cat/participants/regpart2.php";
	
	claseNormal="input";
	claseError="inputError";
	
	
	preCarga("ok.gif", "loading.gif", "error.gif");
}

function esDNI(campo) {
	//valor = campo.value;
	valor = campo;
	exp_reg = /^[0-9x-yX-Y]{1}[0-9]{7}[a-zA-Z]{1}$/;
	if ( exp_reg.test(valor) == false ) {
		//alert(”El dni que introdujo: “+valor+” no es valido”);
		return false;
	}
	else {
		return true;
	}
}


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<=16; i++)
	{
		form.elements[i].className=claseNormal;
	}
	//document.getElementById("inputComentario").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 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()
{
	var avui = new Date();
	var fipagamentreduit = new Date(2011,09,18); 
	var fi;
	var reduit_scg=10;
	var noreduit_scg=15;
	var reduit_volcanica=15;
	var noreduit_volcanica=20;
	var pagar=0;
	var totalpagar=0;
	var activitat=1;
	limpiaForm();
	error=0;
	
	//facilitem l'us de les variables
	var nom=eliminaEspacios(form.nom.value);
	var cognoms=eliminaEspacios(form.cognoms.value);	
	var mail=eliminaEspacios(form.mail.value);
	var nif=eliminaEspacios(form.nif.value);
	var poblacio=eliminaEspacios(form.poblacio.value);
	var telefon=eliminaEspacios(form.telefon.value);
	var edat=eliminaEspacios(form.edat.value);
	var sobrenom=eliminaEspacios(form.sobrenom.value);
	var clan=eliminaEspacios(form.clan.value);
	var allotjament=form.allotjament.value;
	

	//radio formulario.edad[0].checked
	if (form.allotjament[0].checked) {
		var allotjament=1;
	}
	else {
		var allotjament=0;
	}
	
	//Checkbox	
	if (form.sopdiv.checked) { 
		var sopdiv=10;
	}
	else {
		var sopdiv=0;
	}
	if (form.esmdis.checked) { 
		var esmdis=3;
	}
	else {
		var esmdis=0;
	}
	if (form.dindis.checked) { 
		var dindis=10;
	}
	else {
		var dindis=0;
	}
	if (form.sopdis.checked) { 
		var sopdis=10;
	}
	else {
		var sopdis=0;
	}
	if (form.esmdiu.checked) { 
		var esmdiu=3;
	}
	else {
		var esmdiu=0;
	}
	if (form.dindiu.checked) { 
		var dindiu=10;
	}
	else {
		var dindiu=0;
	}
	if (form.sopdiu.checked) { 
		var sopdiu=10;
	}
	else {
		var sopdiu=0;
	}


	//fem les comprovacions
	if(!validaCorreo(mail)) campoError(form.mail);	
	if(!validaLongitud(nom, 0, 3, 30)) campoError(form.nom);
	if(!validaLongitud(cognoms, 0, 3, 30)) campoError(form.cognoms);
	if(!esDNI(nif)) campoError(form.nif);
	if(!validaLongitud(poblacio, 0, 4, 30)) campoError(form.poblacio);
	if(!validaLongitud(telefon, 1, 9, 9)) campoError(form.telefon);
	if(!validaLongitud(edat, 0, 1, 3)) campoError(form.edat);
	if(!validaLongitud(sobrenom, 0, 3, 30)) campoError(form.sobrenom);
	
	//comprovem que s'ha marcat alguna activitat i què et toca pagar
	if(avui < fipagamentreduit) { 
		pagar=reduit_volcanica;
	}
	else {
		pagar=noreduit_volcanica;
	} 
		
	
	totalpagar=pagar+sopdiv+esmdis+dindis+sopdis+esmdiu+dindiu+sopdiu;

	if(error==1)
	{
		var texto="<img src='error.gif' alt='Error'><br><br>Error: revisa els camps en vermell.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
		muestraMensaje(texto);
	}
	else
	{
		var texto="<img src='loading.gif' alt='Enviando'><br>S'esta enviant. Un moment siusplau.<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", "regpart2.php", true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajax.send("nom="+nom+"&cognoms="+cognoms+"&mail="+mail+"&nif="+nif+"&poblacio="+poblacio+"&telefon="+telefon+"&edat="+edat+"&sobrenom="+sobrenom+"&clan="+clan+"&allotjament="+allotjament+"&sopdiv="+sopdiv+"&esmdis="+esmdis+"&dindis="+dindis+"&sopdis="+sopdis+"&esmdiu="+esmdiu+"&dindiu="+dindiu+"&sopdiu="+sopdiu+"&activitat="+activitat);
		
		ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			{
				var respuesta=ajax.responseText;
				//if( respuesta == "ok" )
				//{
					var texto="<img src='ok.gif' alt='Ok'><br>De seguida rebras un correu amb mes informacio.<br>Has de pagar: "+totalpagar+"<br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
					form.reset();
				//}
				//else {
				//	var texto="<img src='error.gif'><br><br>Error: intenta-ho mes tard.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
				//	alert (respuesta);
				//}
				muestraMensaje(texto);
			}
		}
		
	}
}

