//
// FORMS
//

function focoAlCampo(campo, nombreCampo){
	if(campo.value == nombreCampo){
		campo.value = "";
	}
}

function campoPierdeFoco(campo, nombreCampo){
	if(campo.value.length == 0){
		campo.value = nombreCampo;
	}
}

function cargando(value){
	var contenedor = document.getElementById('contenido');
	if(value){
		// contenedor.className = "cargando";
		document.getElementById("formInscripcion").style.display = "none";
		var new_div = document.createElement('div');
		new_div.className = "cargando";
		contenedor.appendChild(new_div);
	}
	else{
		contenedor.innerHTML = "";
	}
}

function mainZoneHandler(type, data, evt){
	if(type == 'error'){
		// alert('Error when retrieving data from the server!');
		// alert(data);
		// alert(dojo.json.serialize(data));
		// dojo.debugShallow(data);
		document.getElementById("contenido").innerHTML = "<h3>Error en la comunicación</h3>";
		cargando(false);
	}
	else{
		try{
			// alert(data);
			var resultId = parseInt(data.getElementsByTagName("resultId").item(0).firstChild.data);
			var resultMessage = data.getElementsByTagName("resultMessage").item(0).firstChild.data;
			var resultLang = data.getElementsByTagName("resultLang").item(0).firstChild.data;
			// alert(resultMessage+"-"+resultId+"-"+resultLang);
			// document.getElementById("contenido").innerHTML = data;
			var new_p = document.createElement('p');
			new_p.className = "alerta";
			if(resultLang == "va"){
				switch(resultId){
					case 1:
						// no hay plazas
						new_p.innerHTML = "<br />Malauradament no hi ha places disponibles en aquesta activitat.<br />La seua sol·licitud queda en llista d'espera.<br />Si es produiren baixes entre els inscrits contactaríem amb vosté per correu electrònic.<br />";
					break;
					case 2:
						// Actividad inactiva
						new_p.innerHTML = "<br />L'actividad a la qual intenta inscriure's ja no està activa.<br />";
					break;
					default:
						// ok
						new_p.innerHTML = "<br />Enhorabona, la seua sol·licitud està acceptada.<br />";
					break;
				}
			}
			else{
				switch(resultId){
					case 1:
						// no hay plazas
						new_p.innerHTML = "<br />Lamentamos informarle que actualmente no quedan plazas disponibles en esta actividad.<br />Su solicitud ha sido puesta en lista de espera.<br />Si se produjeran bajas entre los inscritos nos pondríamos en contacto con usted por correo electr&oacute;nico para informarle al respecto.<br />";
					break;
					case 2:
						// Actividad inactiva
						new_p.innerHTML = "<br />La actividad a la que intenta inscribirse ya no est&aacute; activa.<br />";
					break;
					default:
						// ok
						new_p.innerHTML = "<br />Enhorabuena, su solicitud ha sido aceptada.<br />";
					break;
				}
			}
			cargando(false);
			document.getElementById("contenido").appendChild(new_p);
		}
		catch(e){
			document.getElementById("contenido").innerHTML = "<h2>Se produjo algún error</h2>Error: "+e;
			cargando(false);
		}
	}
}

function validarFormularioInscripcion(formulario){
	try{
		var lang = formulario.lang.value;
		var enviar = true;
		formulario.formacion.value = formulario.codFormacion.options[formulario.codFormacion.selectedIndex].text;
		formulario.profesion.value = formulario.ocupacion.options[formulario.ocupacion.selectedIndex].text;
		if(formulario.nombre.value == ""){
			enviar = false;
			if(lang == "va"){
				alert("Ompliga el camp nom");
			}
			else{
				alert("Rellene el campo nombre");
			}
			formulario.nombre.focus();
		}
		else{
			if(formulario.apellido1.value == ""){
				enviar = false;
				if(lang == "va"){
					alert("Ompliga primer cognom");
				}
				else{
					alert("Rellene primer apellido");
				}
				formulario.apellido1.focus();
			}
			else{
				if(!formulario.dian.value.match(/^\d{2}$/)){
					enviar = false;
					if(lang == "va"){
						alert("El format de la data de naixement es incorrecte");
					}
					else{
						alert("El formato de la fecha de nacimiento es incorrecto.");
					}
					formulario.dian.focus();
				}
				else{
					if(!formulario.mesn.value.match(/^\d{2}$/)){
						enviar = false;
						if(lang == "va"){
							alert("El format de la data de naixement es incorrecte");
						}
						else{
							alert("El formato de la fecha de nacimiento es incorrecto.");
						}
						formulario.mesn.focus();
					}
					else{
						if(!formulario.anon.value.match(/^\d{4}$/)){
							enviar = false;
							if(lang == "va"){
								alert("El format de la data de naixement es incorrecte");
							}
							else{
								alert("El formato de la fecha de nacimiento es incorrecto.");
							}
							formulario.anon.focus();
						}
						else{
							formulario.fecha_nac.value = formulario.anon.value+formulario.mesn.value+formulario.dian.value;
							if(formulario.dni.value == ""){
								enviar = false;
								if(lang == "va"){
									alert("Ompliga el camp dni");
								}
								else{
									alert("Rellene el campo 'dni'");
								}
								formulario.dni.focus();
							}
							else{
/*
								if(!validarNIF2(formulario.dni.value)){
									enviar = false;
									if(lang == "va"){
										alert("El dni es incorrecte o està incomplet");
									}
									else{
										alert("El 'dni' es incorrecto o está incompleto");
									}
									formulario.dni.focus();
								}
*/
								if(false){
									// ...
								}
								else{
									if(formulario.tipo_via.options[formulario.tipo_via.selectedIndex].value == "0"){
										enviar = false;
										if(lang == "va"){
											alert("Trie el tipus de via");
										}
										else{
											alert("Elija el tipo de vía.");
										}
										formulario.tipo_via.focus();
									}
									else{
										var calleOk = true;
										if(formulario.calle.value.length == 0){
											calleOk = false;
										}
										if(lang == "va" && formulario.calle.value == " Nom"){
											calleOk = false;
										}
										else if(lang != "va" && formulario.calle.value == " Nombre"){
											calleOk = false;
										}
										if(!calleOk){
											enviar = false;
											if(lang == "va"){
												alert("Ompliga tots els camps de l'adreça");
											}
											else{
												alert("Rellene todos los campos de la dirección.");
											}
											formulario.calle.focus();
										}
										else{
											var numOk = true;
											if(formulario.num_via.value.length == 0){
												numOk = false;
											}
											if(lang == "va" && formulario.num_via.value == "Num."){
												numOk = false;
											}
											else if(formulario.num_via.value == " Nº"){
												numOk = false;
											}
											if(!numOk){
												enviar = false;
												if(lang == "va"){
													alert("Ompliga tots els camps de l'adreça");
												}
												else{
													alert("Rellene todos los campos de la dirección.");
												}
												formulario.num_via.focus();
											}
											else{
												formulario.direccion.value = formulario.tipo_via.value+' '+formulario.calle.value+' '+formulario.num_via.value;
												var cpOk = true;
												if(formulario.cpostal.value.length == 0){
													cpOk = false;
												}
												if(lang == "va" && formulario.cpostal.value == " C.P."){
													cpOk = false;
												}
												else if(formulario.cpostal.value == " C.P."){
													cpOk = false;
												}
												if(!cpOk){
													enviar = false;
													if(lang == "va"){
														alert("Ompliga el camp 'codi postal'");
													}
													else{
														alert("Rellene el campo 'código postal'.");
													}
													formulario.cpostal.focus();
												}
												else{
													if(formulario.ciudad.value.length == 0){
														enviar = false;
														if(lang == "va"){
															alert("Ompliga el camp ciutat");
														}
														else{
															alert("Rellene el campo ciudad.");
														}
														formulario.ciudad.focus();
													}
													else{
														if(formulario.provincia.value.length == 0){
															enviar = false;
															if(lang == "va"){
																alert("Ompliga el camp província");
															}
															else{
																alert("Rellene el campo provincia.");
															}
															formulario.provincia.focus();
														}
														else{
															if(formulario.telefono.value.length == 0){
																enviar = false;
																if(lang == "va"){
																	alert("Ompliga el camp telèfon");
																}
																else{
																	alert("Rellene el campo teléfono.");
																}
																formulario.telefono.focus();
															}
															else{
																if(formulario.email.value == ""){
																	enviar = false;
																	if(lang == "va"){
																		alert("Ompliga el camp e-mail");
																	}
																	else{
																		alert("Rellene el campo e-mail");
																	}
																	formulario.email.focus();
																}
																else{
																	if(!isEmail(formulario.email.value)){
																		enviar = false;
																		if(lang == "va"){
																			alert("La adreça de correu electrònic és incorrecta");
																		}
																		else{
																			alert("La dirección de correo electrónico es incorrecta");
																		}
																		formulario.email.focus();
																	}
/*
																	else{
																		if(formulario.autorizacion.checked != true){
																			enviar = false;
																			if(lang == "va"){
																				alert("Per continuar ens cal la seua autorització per usar les dades");
																			}
																			else{
																				alert("Para continuar necesitamos su autorización para usar los datos.");
																			}
																			formulario.autorizacion.focus();
																		}
																	}
*/
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		if(enviar){
			guardarDatosInscripcion(formulario);
			return(false);
		}
	}
	catch(e){
		alert("Error: "+e);
		return(false);
	}
}

function guardarDatosInscripcion(formulario){
	cargando(true);
	dojo.io.bind({
		method: "post",
		url: "../../Eventos/inscripcionActividad.jsp",
		handler: mainZoneHandler,
		formNode: dojo.byId("formInscripcion"),
		mimetype: "text/xml",
		transport: "XMLHTTPTransport"
	});
	return(false);
}
