function PaginaContactans(padre, callback)
{

	var instancia = this;	
	this._estructura = document.createElement("div");
	$(this._estructura).addClass("Contactans_Form");
	this._callback = callback;	
	
	this.validarEmail = function (email) {
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;		
		if(reg.test(email) == false) {			
			return false;
		}
		else return true;
	}
	
	this._validarFormulario = function(datos)
	{

		var nom = $(instancia._estructura).find("input#nom").val();
		var email = $(instancia._estructura).find("input#email").val();
		var missatge = $(instancia._estructura).find("textarea#missatge").val();
		
		nom = $.trim(nom);
		email = $.trim(email);
		missatge = $.trim(missatge);
		
		var errores = [];
		
		var idioma = $("#aplicacion").data("idioma");		
		
		if (nom == '')
		{
			var errorLI = document.createElement("li");
			$(errorLI).addClass("etiqueta");
			$(errorLI).data("cat", datos.mensajes.errorCampoObligatorio.cat.replace(":campo", datos.etiquetas.nom.cat));
			$(errorLI).data("cast", datos.mensajes.errorCampoObligatorio.cast.replace(":campo", datos.etiquetas.nom.cast));
			$(errorLI).data("eng", datos.mensajes.errorCampoObligatorio.eng.replace(":campo", datos.etiquetas.nom.eng));
			$(errorLI).css("background-image", "url('img/warn.png')");
			$(errorLI).css("background-repeat", "no-repeat");
			$(errorLI).css("padding-left", "20px");			
			var texto = $(errorLI).data(idioma);
			$(errorLI).text(texto);
			errores.push(errorLI);
		}
		
		if (email == '')
		{
			var errorLI = document.createElement("li");
			$(errorLI).addClass("etiqueta");
			$(errorLI).data("cat", datos.mensajes.errorCampoObligatorio.cat.replace(":campo", datos.etiquetas.email.cat));
			$(errorLI).data("cast", datos.mensajes.errorCampoObligatorio.cast.replace(":campo", datos.etiquetas.email.cast));
			$(errorLI).data("eng", datos.mensajes.errorCampoObligatorio.eng.replace(":campo", datos.etiquetas.email.eng));
			var texto = $(errorLI).data(idioma);
			$(errorLI).css("background-image", "url('img/warn.png')");
			$(errorLI).css("background-repeat", "no-repeat");
			$(errorLI).css("padding-left", "20px");			
			$(errorLI).text(texto);
			errores.push(errorLI);
		}
		else
		{
			if (!this.validarEmail(email))
			{
				var errorLI = document.createElement("li");
				$(errorLI).addClass("etiqueta");
				$(errorLI).data("cat", datos.mensajes.errorEmailInvalido.cat.replace(":campo", datos.etiquetas.email.cat));
				$(errorLI).data("cast", datos.mensajes.errorEmailInvalido.cast.replace(":campo", datos.etiquetas.email.cast));
				$(errorLI).data("eng", datos.mensajes.errorEmailInvalido.eng.replace(":campo", datos.etiquetas.email.eng));
				var texto = $(errorLI).data(idioma);
				$(errorLI).css("background-image", "url('img/warn.png')");
				$(errorLI).css("background-repeat", "no-repeat");
				$(errorLI).css("padding-left", "20px");			
				$(errorLI).text(texto);
				errores.push(errorLI);
			}
		}
		
		if (missatge == '')
		{
			var errorLI = document.createElement("li");
			$(errorLI).addClass("etiqueta");
			$(errorLI).data("cat", datos.mensajes.errorCampoObligatorio.cat.replace(":campo", datos.etiquetas.missatge.cat));
			$(errorLI).data("cast", datos.mensajes.errorCampoObligatorio.cast.replace(":campo", datos.etiquetas.missatge.cast));
			$(errorLI).data("eng", datos.mensajes.errorCampoObligatorio.eng.replace(":campo", datos.etiquetas.missatge.eng));
			var texto = $(errorLI).data(idioma);
			$(errorLI).css("background-image", "url('img/warn.png')");
			$(errorLI).css("background-repeat", "no-repeat");
			$(errorLI).css("padding-left", "20px");			
			$(errorLI).text(texto);
			errores.push(errorLI);
		}

		$(instancia._estructura).find("ul#errores").empty();
		$.each(errores, function(i, error){
			$(instancia._estructura).find("ul#errores").append(error);
		});

		return (errores.length == 0);
		
	};
	
	$.ajax({url:"php/datosContactans.php", dataType:"text", success:function(datos){
		
		var json = jQuery.parseJSON(datos);

		$(instancia._estructura).load("html/contactans.html", function() {

			instancia._configurar_etiquetas(json);

			$(instancia._estructura).find("ul#datos_contacto").css("list-style-type", "none");
			$(instancia._estructura).find("ul#datos_contacto").css("padding", "0px");		
			$(instancia._estructura).find("ul#datos_contacto").css("margin", "0px");					

			$(instancia._estructura).find("ul#datos_contacto").append("<li>" + json.contacto.direccion + "</li>");
			$(instancia._estructura).find("ul#datos_contacto").append("<li>" + json.contacto.codigoPostal + " " + json.contacto.localidad +  "</li>");
			$(instancia._estructura).find("ul#datos_contacto").append("<li>&nbsp;</li>");
			$(instancia._estructura).find("ul#datos_contacto").append("<li>T " + json.contacto.telefonoFijo + "</li>");
			$(instancia._estructura).find("ul#datos_contacto").append("<li>M " + json.contacto.telefonoMovil + "</li>");
			$(instancia._estructura).find("ul#datos_contacto").append("<li>" + json.contacto.correo + "</li>");

			$(padre).children().first().remove();
			$(padre).prepend(instancia._estructura);

			var link = $(instancia._estructura).find("a#enviar");
			$(link).click(function() {

				if (instancia._validarFormulario(json))
				{
					var idioma = $("#aplicacion").data("idioma");	
					var datosFormulario = $(instancia._estructura).find("form#contactans_form").serialize();
					$.post("php/formContactans.php", datosFormulario);

					$("form#contactans_form").find("table:last").remove();

					var spanMensaje = document.createElement("span");
					$(spanMensaje).data("cat", "<br><br>" + json.mensajes.emailEnviado.cat);
					$(spanMensaje).data("cast", "<br><br>" + json.mensajes.emailEnviado.cast);
					$(spanMensaje).data("eng", "<br><br>" + json.mensajes.emailEnviado.eng);
					$(spanMensaje).html("<br><br>" + json.mensajes.emailEnviado[idioma]);
					$(spanMensaje).addClass("infoTexto");
					$(spanMensaje).addClass("etiqueta");

					$("form#contactans_form").append(spanMensaje);
				}

			});
			
			actualizarEtiquetas();
		});

	}});
	
	this._configurar_etiquetas = function(json)
	{
		var idioma = $("#aplicacion").data("idioma");

		$(instancia._estructura).find("span#nom_etiq").data("cat", json.etiquetas.nom.cat);
		$(instancia._estructura).find("span#nom_etiq").data("cast", json.etiquetas.nom.cast);
		$(instancia._estructura).find("span#nom_etiq").data("eng", json.etiquetas.nom.eng);
		var textoNom = $(instancia._estructura).find("span#nom_etiq").data(idioma);
		$(instancia._estructura).find("span#nom_etiq").text(textoNom);
		
		$(instancia._estructura).find("span#email_etiq").data("cat", json.etiquetas.email.cat);
		$(instancia._estructura).find("span#email_etiq").data("cast", json.etiquetas.email.cast);
		$(instancia._estructura).find("span#email_etiq").data("eng", json.etiquetas.email.eng);
		var textoEmail = $(instancia._estructura).find("span#email_etiq").data(idioma);
		$(instancia._estructura).find("span#email_etiq").text(textoEmail);
		
		$(instancia._estructura).find("span#missatge_etiq").data("cat", json.etiquetas.missatge.cat);
		$(instancia._estructura).find("span#missatge_etiq").data("cast", json.etiquetas.missatge.cast);
		$(instancia._estructura).find("span#missatge_etiq").data("eng", json.etiquetas.missatge.eng);
		var textoEmail = $(instancia._estructura).find("span#missatge_etiq").data(idioma);
		$(instancia._estructura).find("span#missatge_etiq").text(textoEmail);

		$(instancia._estructura).find("span#aviso").data("cat", json.mensajes.aviso.cat);
		$(instancia._estructura).find("span#aviso").data("cast", json.mensajes.aviso.cast);
		$(instancia._estructura).find("span#aviso").data("eng", json.mensajes.aviso.eng);
		var textoAccepta = $(instancia._estructura).find("span#aviso").data(idioma);
		$(instancia._estructura).find("span#aviso").text(textoAccepta);

		$(instancia._estructura).find("a#enviar").data("cat", json.etiquetas.enviar.cat);
		$(instancia._estructura).find("a#enviar").data("cast", json.etiquetas.enviar.cast);
		$(instancia._estructura).find("a#enviar").data("eng", json.etiquetas.enviar.eng);
		var textoEnviar = $(instancia._estructura).find("a#enviar").data(idioma);
		$(instancia._estructura).find("a#enviar").text(textoEnviar);
		
		$(instancia._estructura).find("a#link_google_maps").data("cat", json.etiquetas.googlemaps.cat);
		$(instancia._estructura).find("a#link_google_maps").data("cast", json.etiquetas.googlemaps.cast);
		$(instancia._estructura).find("a#link_google_maps").data("eng", json.etiquetas.googlemaps.eng);
		$(instancia._estructura).find("a#link_google_maps").text($(instancia._estructura).find("a#link_google_maps").data(idioma));
	}
	
	this.getEstructura = function()
	{
		return this._estructura;
	}

}

