diff --git a/HTML/AvisosLegales.html b/HTML/AvisosLegales.html new file mode 100644 index 0000000..7922e69 --- /dev/null +++ b/HTML/AvisosLegales.html @@ -0,0 +1,129 @@ + + + + + + + + La Forja Dorada + + + + +
+ + + + + + +
+ +
+

Avisos Legales

+

Última actualización: 19 de diciembre de 2023

+

Esta página contiene los términos y condiciones (términos) en función de los cuales suministramos los productos (producto) listados en nuestro sitio web www.laforjadorada.com (la web). Al adquirir cualquier producto de la web aceptas estos términos y quedas sujeto a ellos.

+
+
+
+

Información sobre nosotros

+

Esta página está regida por La Forja Dorada/The Golden Forge (nosotros, o nuestra)

+ +

Tu situación

+

Al realizar un pedido a través de la web certificas que tienes la edad legal mínima necesaria para entrar en un contrato de compraventa por la adquisición de artículos y servicios en la ubicación donde resides, y que tienes la edad suficiente para adquirir todo artículo sujeto a restricción de edad que hayas incluido en tu pedido.

+ +

Constitución del contrato

+

Todo pedido necesita ser aceptado por nuestra parte. La confirmación será mediante el envío de un correo electrónico notificando que los productos se han enviado (confirmación de envío). El contrato entre nosotros y el cliente (contrato) quedará constituido tan pronto como te enviemos la confirmación de envío

+

Nos reservamos el derecho de:

+ + +

Propiedad de los productos

+

Serás el propietario de los productos cuando se te hayan entregado.

+

Una vez que se te hayan entregado, te pertenecerán bajo tu cuenta y riesgo y nosotros quedamos exentos de cualquier responsabilidad por su uso, pérdida o destrucción.

+ +

Precios y Pago

+

El precio de cualquier Producto se indica en la Página web, excepto en las circunstancias comentadas en la condición sobre el importe erróneo ofrecido en la web (más abajo). El precio de los productos se confirmará antes de finalizar tu pedido y en la confirmación de envío.

+

Todos los precios se muestran en Euros.

+

Los precios de los Productos pueden cambiar en cualquier momento, pero tales cambios no afectarán a los pedidos que ya hayas realizado y se hayan confirmado mediante una confirmación de envío.

+

Los precios de los Productos no incluyen costes de envío, que se añadirán (si es el caso) al coste total de tu pedido a la hora de procesarlo.

+

La Página web contiene un diverso número de productos y puede darse el caso, a pesar de nuestros esfuerzos, de que algunos de los productos listados en la página web tengan un precio incorrecto, en este caso, al solicitar el producto te informaremos del error y te preguntaremos si deseas continuar con el pedido.

+

El pago de todos los productos debe realizarse mediante uno de los métodos que se te facilitarán por correo en el momento de procesar tu pedido.

+ +

Entrega

+

Los Productos se entregarán en la dirección especificada en tu pedido y según la opción de entrega que elegiste al procesar tu pedido.

+

Aunque nosotros realicemos todos los pasos razonables para asegurarnos de que tu pedido se envía y se entrega a tiempo, por favor, sé consciente de que los tiempos de entrega son meras estimaciones y que los tiempos de envío y entrega no están sujetos a ningún contrato. Siempre que un producto sea fabricado o producido a petición tuya te especificaremos un plazo de entrega estimado en el momento de hacer tu pedido. Te indicaremos una fecha de entrega más precisa en la confirmación de envío. Al realizar el pedido de un producto fabricado o producido por encargo aceptas que el envío puede estar sujeto a un tiempo de espera sustancial.

+

Podemos aplazar la fecha de envío o de entrega o cancelar cualquier contrato, o eliminar cualquiera de los artículos de tu pedido (sin responsabilidad alguna), si se nos impide cumplir con nuestras obligaciones o nos vemos retrasados en ello debido a acontecimientos o circunstancias ajenas a nuestro control, incluyendo, pero no limitadas a: causas de fuerza mayor, bloqueos gubernamentales, emergencias de guerra o nacionales, actos de terrorismo, motín, conmoción civil, fuego, explosión, alteraciones climáticas, inundaciones, epidemia, pandemia, cierre patronal, huelgas o cualquier otro conflicto laboral, escasez de combustible, restricciones o retrasos que afecten al transporte, o incapacidad o retraso al obtener los suministros de materiales adecuados o necesarios.

+

En la medida de lo posible, nos aseguraremos de que la página muestre la disponibilidad correcta de los productos en venta.

+ +

Cancelaciones y devoluciones

+ +

Tienes derecho a cambiar de opinión y cancelar el contrato entre las dos partes en cualquier momento y por la razón que sea dentro de un plazo de 14 días, a partir del momento en que recibes los artículos (periodo de reflexión)

+

No tendrás derecho a cambiar de opinión ni a romper el contrato de compraventa si el artículo por el que se constituyó el contrato fuera fabricado expresamente para ti o producido por encargo tuyo.

+

Para cancelar el contrato debemos recibir una notificación tuya por escrito durante el periodo de reflexión, mediante correo electrónico con tu nombre, dirección y todos los detalles de tu pedido (deberás incluir número de pedido, artículos que lo componen y fecha de pedido). Mientras los artículos estén en tu posesión debes conservarlos adecuadamente hasta que vuelvan a estar en nuestras manos.

+

Si detectas un problema con los artículos de tu pedido, como por ejemplo defectos de cualquier tipo, deberás notificárnoslo por correo electrónico. Te pediremos alguna foto y te suministraremos una dirección donde mandarnos los artículos defectuosos Examinaremos los artículos devueltos por ser defectuosos, si encontramos evidencia de tal defecto, te notificaremos que tienes derecho a recibir, a tu elección, (i) un reemplazo del mismo artículo o (ii) el reembolso del importe del artículo defectuoso. En este último caso, procederemos a realizar dicho reembolso (incluyendo el reembolso de todos los gastos de envío abonados por el artículo así como el coste incurrido en la devolución), demostrado mediante recibos, con la mayor brevedad y, en cualquier caso, en un plazo máximo de 30 días a contar desde el día en que te notificamos el derecho a recibir el reembolso del artículo defectuoso.

+ + + +
+ +
+ + + + \ No newline at end of file diff --git a/HTML/Contactos.html b/HTML/Contactos.html new file mode 100644 index 0000000..ab81432 --- /dev/null +++ b/HTML/Contactos.html @@ -0,0 +1,120 @@ + + + + + + + + + La Forja Dorada + + +
+ + + + + + +
+ +
+

+ CONTACTO +

+
+
+
+
+ imagencontacto +
+

+ + ¡Ponte en contacto con nosotros! + +

+

+ Puedes contactar con nosotros solicitando más información, + para encargarnos algún producto/servicio o para enterarte + sobre el funcionamiento de los próximos eventos. Para ello, + completa y envía el formulario que encontrarás a continuación: +

+
+
+

Contacta con La Forja

+
+ + + + + + + + + + +
+
+ +
+ + + + + + \ No newline at end of file diff --git a/HTML/Eventos.html b/HTML/Eventos.html new file mode 100644 index 0000000..50624b1 --- /dev/null +++ b/HTML/Eventos.html @@ -0,0 +1,123 @@ + + + + + + + + + + + La Forja Dorada + + +
+ + + + + + +
+
+

EVENTOS

+

A continuación encontrarás un listado detallado con los próximos eventos en los que vamos a estar inmersos.
+ Si deseas más información o quieres apuntarte a alguno de ellos ponte en contacto con nosotros. +

+
+
+ + +
+
+
+
+
+
2020
+
+
+
+
Lunes
+
Martes
+
Miércoles
+
Jueves
+
Viernes
+
Sábado
+
Domingo
+
+
+
+ +
+
+

Aquí está La Forja:

+
+ + + + +
+ +
+
+ +
+ + + + + + diff --git a/HTML/Galletas.html b/HTML/Galletas.html new file mode 100644 index 0000000..91a31fc --- /dev/null +++ b/HTML/Galletas.html @@ -0,0 +1,158 @@ + + + + + + + + + + La Forja Dorada + + +
+ + + + + + +
+ + + +
+ +
+

Política de cookies

+
+

Última actualización: 16 de diciembre de 2023

+

Esta Política de Cookies explica qué son las Cookies y cómo las utilizamos. Usted debe leer esta política para que pueda entender qué tipo de cookies utilizamos, o la información que recopilamos utilizando Cookies y cómo se utiliza esa información.

+

Las Cookies no suelen contener información que identifique personalmente a un usuario, pero la información personal que almacenamos sobre Usted puede estar vinculada a la información almacenada y obtenida de las Cookies. Para más información sobre cómo utilizamos, almacenamos y mantenemos seguros sus datos personales, consulte nuestra Política de Privacidad.

+

No almacenamos información personal sensible, como direcciones de correo, contraseñas de cuentas, etc. en las Cookies que utilizamos.

+
+
+ +
+

Interpretación y definiciones

+

Interpretación

+

Las palabras cuya letra inicial va en mayúscula tienen significados definidos en las siguientes condiciones. Las siguientes definiciones tendrán el mismo significado independientemente de que aparezcan en singular o en plural.

+

Definiciones

+

A los efectos de la presente Política de Cookies:

+ +

Uso de las Cookies

+

Tipo de Cookies que Utilizamos

+

Las cookies pueden ser "persistentes" o de "sesión". Las Cookies persistentes permanecen en su ordenador personal o dispositivo móvil cuando Usted se desconecta, mientras que las Cookies de sesión se eliminan en cuanto Usted cierra su navegador web.

+

Utilizamos tanto Cookies de sesión como persistentes para los fines que se indican a continuación:

+ +

Sus opciones con respecto a las cookies

+

Si prefiere evitar el uso de Cookies en el Sitio Web, primero debe desactivar el uso de Cookies en su navegador y después eliminar las Cookies guardadas en su navegador asociadas a este sitio web. Puede utilizar esta opción para evitar el uso de Cookies en cualquier momento.

+

Si Usted no acepta nuestras Cookies, puede experimentar algunos inconvenientes en el uso del Sitio Web y algunas características pueden no funcionar correctamente.

+

Si desea eliminar las Cookies o indicar a su navegador que las elimine o rechace, visite las páginas de ayuda de su navegador.

+ +

Para cualquier otro navegador, visite las páginas oficiales de su navegador.

+

Más información sobre las cookies

+

Puede obtener más información sobre las cookies: ¿Qué son las cookies?.

+

Contacte con Nosotros

+

Si tiene alguna pregunta sobre esta Política de Cookies, puede ponerse en contacto con nosotros:

+ +
+
+ +
+ galleta +

Cookies

+

Utilizamos cookies propias y de terceros para mejorar nuestros servicios. +

+ + Gestión de Cookies + +
+
+ + + + + \ No newline at end of file diff --git a/HTML/PoliticaDatos.html b/HTML/PoliticaDatos.html new file mode 100644 index 0000000..1c9e8ce --- /dev/null +++ b/HTML/PoliticaDatos.html @@ -0,0 +1,265 @@ + + + + + + + + La Forja Dorada + + + + +
+ + + + + + +
+ +
+

Política de privacidad

+

Última actualización: December 12, 2023

+
+
+ +
+

Esta Política de Privacidad describe Nuestras políticas y procedimientos sobre la recopilación, uso y divulgación de Su información cuando Usted utiliza el Servicio y le informa sobre Sus derechos de privacidad y cómo le protege la ley.

+

Utilizamos sus datos personales para proporcionar y mejorar el Servicio. Al utilizar el Servicio, Usted acepta la recopilación y el uso de la información de acuerdo con esta Política de Privacidad.

+ +
+
+

Interpretación y definiciones

+

Interpretación

+

Las palabras cuya letra inicial aparece en mayúscula tienen significados definidos en las siguientes condiciones. Las siguientes definiciones tendrán el mismo significado independientemente de que aparezcan en singular o en plural. +

+

Definiciones a los efectos de la presente Política de Privacidad

+ + +
+ +
+

Recopilación y uso de sus datos personales

+

Tipos de datos recogidos

+

Datos personales

+

Al utilizar nuestro Servicio, es posible que le pidamos que nos proporcione cierta información de identificación personal que pueda utilizarse para ponernos en contacto con usted o identificarle. La información de identificación personal puede incluir, pero no se limita a:

+ +

Datos de uso

+

Los Datos de Uso se recopilan automáticamente al utilizar el Servicio.

+

Los Datos de Uso pueden incluir información como la dirección de Protocolo de Internet (por ejemplo, la dirección IP) de su dispositivo, el tipo de navegador, la versión del navegador, las páginas de nuestro Servicio que visita, la hora y la fecha de su visita, el tiempo que pasa en esas páginas, identificadores únicos de dispositivos y otros datos de diagnóstico.

+

Cuando Usted accede al Servicio por o a través de un dispositivo móvil, podemos recopilar cierta información automáticamente, incluyendo, pero sin limitarse a, el tipo de dispositivo móvil que utiliza, el identificador único de su dispositivo móvil, la dirección IP de su dispositivo móvil, su sistema operativo móvil, el tipo de navegador de Internet móvil que utiliza, identificadores únicos de dispositivo y otros datos de diagnóstico.

+

También podemos recopilar información que su navegador envía cada vez que visita nuestro Servicio o cuando accede al Servicio por o a través de un dispositivo móvil.

+

Tecnologías de seguimiento y cookies

+

Utilizamos cookies y tecnologías de seguimiento similares para rastrear la actividad en nuestro Servicio y almacenar cierta información. Las tecnologías de rastreo utilizadas son balizas, etiquetas y scripts para recopilar y rastrear información y para mejorar y analizar Nuestro Servicio. Las tecnologías que utilizamos pueden incluir

+ +

Las cookies pueden ser "persistentes" o "de sesión". Las Cookies persistentes permanecen en su ordenador personal o dispositivo móvil cuando se desconecta, mientras que las Cookies de sesión se eliminan en cuanto cierra su navegador web.

+

Utilizamos tanto Cookies de Sesión como Persistentes para los fines que se indican a continuación:

+ +

Para obtener más información sobre las cookies que utilizamos y sus opciones en relación con las cookies, visite nuestra Política de cookies

+

Uso de sus datos personales

+

La Empresa podrá utilizar sus Datos Personales para los siguientes fines:

+ +

Podemos compartir su información personal en las siguientes situaciones:

+ +

Conservación de sus datos personales

+

La Empresa conservará Sus Datos Personales sólo durante el tiempo que sea necesario para los fines establecidos en esta Política de Privacidad. Conservaremos y utilizaremos sus Datos Personales en la medida necesaria para cumplir con nuestras obligaciones legales (por ejemplo, si estamos obligados a conservar sus datos para cumplir con la legislación aplicable), resolver conflictos y hacer cumplir nuestros acuerdos legales y políticas.

+

La Empresa también conservará los Datos de Uso con fines de análisis interno. Por lo general, los Datos de Uso se conservan durante un período de tiempo más corto, excepto cuando estos datos se utilizan para reforzar la seguridad o para mejorar la funcionalidad de Nuestro Servicio, o estamos legalmente obligados a conservar estos datos durante períodos de tiempo más largos.

+

Transferencia de sus datos personales

+

Su información, incluidos los Datos Personales, se procesa en las oficinas operativas de la Empresa y en cualquier otro lugar donde se encuentren las partes implicadas en el procesamiento. Esto significa que esta información puede ser transferida a - y mantenida en - ordenadores ubicados fuera de Su estado, provincia, país u otra jurisdicción gubernamental donde las leyes de protección de datos puedan diferir de las de Su jurisdicción.

+

Su consentimiento a esta Política de Privacidad seguido de Su envío de dicha información representa Su acuerdo a dicha transferencia.

+

La Empresa tomará todas las medidas razonablemente necesarias para garantizar que sus datos sean tratados de forma segura y de acuerdo con esta Política de Privacidad y no se realizará ninguna transferencia de sus Datos Personales a una organización o país a menos que existan controles adecuados que incluyan la seguridad de sus datos y otra información personal.

+

Eliminación de sus datos personales

+

Usted tiene derecho a eliminar o solicitar que le ayudemos a eliminar los Datos Personales que hayamos recopilado sobre Usted.

+

Nuestro Servicio puede ofrecerle la posibilidad de eliminar cierta información sobre Usted desde el propio Servicio.

+

Puede actualizar, modificar o eliminar su información en cualquier momento accediendo a su cuenta, si la tiene, y visitando la sección de configuración de la cuenta que le permite gestionar su información personal. También puede ponerse en contacto con nosotros para solicitar el acceso, la corrección o la eliminación de cualquier información personal que nos haya proporcionado.

+

No obstante, tenga en cuenta que es posible que debamos conservar determinada información cuando tengamos una obligación legal o una base jurídica para hacerlo.

+

Divulgación de sus datos personales

+

Transacciones comerciales

+

Si la empresa participa en una fusión, adquisición o venta de activos, sus datos personales pueden ser transferidos. Le avisaremos antes de que sus Datos Personales sean transferidos y pasen a estar sujetos a una Política de Privacidad diferente.

+

Cumplimiento de la ley

+

En determinadas circunstancias, la empresa puede verse obligada a revelar sus datos personales si así lo exige la ley o en respuesta a solicitudes válidas de las autoridades públicas (por ejemplo, un tribunal o una agencia gubernamental).

+

Otros requisitos legales

+

La Empresa podrá revelar Sus Datos Personales si cree de buena fe que dicha acción es necesaria para:

+ +

Seguridad de sus datos personales

+

La seguridad de sus Datos Personales es importante para Nosotros, pero recuerde que ningún método de transmisión a través de Internet, o método de almacenamiento electrónico es 100% seguro. Aunque nos esforzamos por utilizar medios comercialmente aceptables para proteger sus datos personales, no podemos garantizar su seguridad absoluta.

+
+
+

Privacidad de los niños

+

Nuestro Servicio no se dirige a menores de 18 años. No recopilamos conscientemente información personal identificable de menores de 18. Si usted es padre o tutor y sabe que su hijo nos ha proporcionado datos personales, póngase en contacto con nosotros. Si tenemos conocimiento de que hemos recopilado Datos Personales de cualquier persona menor de 18 años sin verificar el consentimiento paterno, tomaremos medidas para eliminar esa información de nuestros servidores.

+

Si necesitamos basarnos en el consentimiento como base legal para procesar su información y su país requiere el consentimiento de uno de los padres, podemos requerir el consentimiento de sus padres antes de recopilar y utilizar esa información.

+
+
+

Enlaces a otros sitios web

+

Nuestro Servicio puede contener enlaces a otros sitios web no gestionados por nosotros. Si hace clic en un enlace de un tercero, será dirigido al sitio de ese tercero. Le recomendamos encarecidamente que revise la Política de Privacidad de cada sitio que visite.

+

No tenemos ningún control ni asumimos ninguna responsabilidad por el contenido, las políticas de privacidad o las prácticas de los sitios o servicios de terceros.

+
+
+

Cambios en esta Política de Privacidad

+

Es posible que actualicemos nuestra Política de Privacidad de vez en cuando. Le notificaremos cualquier cambio publicando la nueva Política de Privacidad en esta página.

+

Le recomendamos que revise periódicamente esta Política de Privacidad para comprobar si se han producido cambios. Los cambios en esta Política de Privacidad entrarán en vigor cuando se publiquen en esta página.

+

Contacta con Nosotros

+

Si tiene alguna pregunta sobre esta Política de Privacidad, puede ponerse en + contacto con nosotros.

+
+
+ + + + + \ No newline at end of file diff --git a/HTML/Productos.html b/HTML/Productos.html new file mode 100644 index 0000000..0058dab --- /dev/null +++ b/HTML/Productos.html @@ -0,0 +1,90 @@ + + + + + + + + La Forja Dorada + + + + +
+ + + + + + +
+
+
+

PRODUCTOS

+
+ +
+ +
+ + + +
+ + + + + + \ No newline at end of file diff --git a/HTML/Servicios.html b/HTML/Servicios.html new file mode 100644 index 0000000..8fb03aa --- /dev/null +++ b/HTML/Servicios.html @@ -0,0 +1,160 @@ + + + + + + + + + La Forja Dorada + + +
+ + + + + + +
+
+

SERVICIOS

+ +
+ + +
+
+

Catálogo con nuestros servicios en la Forja

+
+
+ img1 +
+

Iniciación en Juegos

+

Si eres nuevo en los juegos de mesa de miniaturas, has comprado un set y + te vienen sin pintar, incluso sin montar, desde la Forja ponemos a tu + disposición todo lo necesario para que tengas por tí mismo tus figuras listas para jugar. +

+

Te proporcionamos las herramientas para que ensambles y pegues las miniaturas, te orientamos + sobre la variedad de colores disponibles para que queden completamente personalizadas. +

+

+ Además, si lo necesitas, te explicaremos las diversas técnicas de pintura a aplicar de nivel básico, + perfectamente funcional y visualmente agradable que te permitirá + empezar a jugar con tus miniaturas ya pintadas. +

+ +
+
+
+ + img2 +
+

Clases de Pintura

+

En la Forja nos gusta ahondar en todos los aspectos de los juegos de miniaturas + de mesa, entendemos que el componente artístico es una pieza fundamental para el + completo disfrute del hobbie por lo que ofrecemos numerosos seminarios de técnicas + de pintura concretas. +

+

+ En estas sesiones se muestran paso a paso diversos métodos que podrás emplear en + tus propias miniaturas y así integrarla a tu repertorio para poder usarla en casa. + +

+
+
+
+ + +
+

Pedidos por Encargo

+

Desde nuestro taller ofrecemos una personalización total del juego que se solicite, + con una amplísima variedad de colores y combinaciones para que incluso los grupos de miniaturas + "monopose" parezcan todas diferentes.

+

Cuidamos los detalles, escogemos las mejores técnicas en función del acabado deseado y + el aspecto final solicitado. Podrás pedirnos todas las combinaciones que tengas + en mente y lo reflejaremos de la mejor forma posible en las miniaturas.

+ +
+
+
+ + + +
+ +
+ + + + \ No newline at end of file diff --git a/JS/index.js b/JS/index.js new file mode 100644 index 0000000..5d2b019 --- /dev/null +++ b/JS/index.js @@ -0,0 +1,519 @@ + + + /* posteriormente la información a cargar estará en una DB, la idea es más adelante hacer + una página de backoffice desde donde el admin gestionará los cambios + (adición, eliminación o modificación de productos, eventos...) */ + const infoProductos = [ + { + numeroproducto: 1, + titulo: "Primaris Invictor Tactical Warsuit", + img1: "../RECURSOS/Productos/Invictor300px.jpg", + img2: "../RECURSOS/Productos/InvictorLado300px.jpg", + img3: "../RECURSOS/Productos/InvictorOtroLado300px.jpg", + alt:"Invictor", + textodescrip: "Armadura de combate de los Ángeles Oscuros completamente pintada con un alto grado de detalle y personalización.", + disponibles: 1, + precio: "150,00" + }, + { + numeroproducto: 2, + titulo: "Termagantes Tiránidos", + img1: "../RECURSOS/Productos/TermagantesFront300px.jpg", + img2: "../RECURSOS/Productos/TermagantesLado300px.jpg", + img3: "../RECURSOS/Productos/TermagantesBack300px.jpg", + alt: "Termagantes", + textodescrip: "Unidad Básica de 10 Termagantes listos para la batalla. Especialistas en cuerpo a cuerpo, pese a no ser de élite aprovechan su gran número.", + disponibles: 1, + precio: "139,00" + }, + { + numeroproducto: 3, + titulo: "Primaris Inceptor Squad", + img1: "../RECURSOS/Productos/Inceptor300px.jpg", + img2: "../RECURSOS/Productos/InceptorLado300px.jpg", + img3: "../RECURSOS/Productos/PortadaInceptores300px.png", + alt: "Inceptores", + textodescrip: "Unidad de 3 Primaris Inceptors Ángeles Oscuros en armadura gravis equipados con armas de plasma.", + disponibles: 1, + precio: "149,00" + }, + { + numeroproducto: 4, + titulo: "Teniente Primaris Ángel Oscuro", + img1: "../RECURSOS/Productos/Teniente300px.jpg", + img2: "../RECURSOS/Productos/TenienteLadoDos300px.jpg", + img3: "../RECURSOS/Productos/TenienteLadouUno300px.jpg", + alt: "Teniente", + textodescrip: "Teniente Primaris de los Ángeles Oscuros equipado con arma de energía y pistola de plasma.", + disponibles: 1, + precio: "85,00" + }, + { + numeroproducto: 5, + titulo: "Guerreros Tiránidos", + img1: "../RECURSOS/Productos/TyranidWarriorUnoFront300px.jpg", + img2: "../RECURSOS/Productos/TyranidWarriorUno300px.jpg", + img3: "../RECURSOS/Productos/TyranidWarriorUnoBack300px.jpg", + alt: "Guerrero Tiranido", + textodescrip: "Versátil unidad de 2 guerreros y 1 primus. Bio-armas de disparo a distancicia y garras y látigo para el cuerpo a cuerpo.", + disponibles: 1, + precio: "129,00" + } + ] + + const listaEventos = [ + { + numeroEvento: 1, + titulo: "PARTIDA ZOMBICIDE 2ND EDITION", + texto: " Clásica partida de zombis, mínimo 4 jugadores para disfrutar de una experiencia aterradora.", + fecha: new Date(2023, 11, 27), + img: "../RECURSOS/Eventos/logozombicide150px.jpg" + }, + { + numeroEvento: 2, + titulo: "TORNEO PATRULLAS WARHAMMER 40K", + texto: "Torneito de toma de contacto para los recién iniciados al hobbie. Desde la Forja ponemos a vuestra disposición mesas, escenografía, ejército(en caso de que sea tu primera vez) y personal de apoyo.", + fecha: new Date(2023, 11, 30), + img: "../RECURSOS/Eventos/AquilaImperial150px.png" + }, + { + numeroEvento: 3, + titulo: "TORNEO 1000PTS WARHAMMER 40K", + texto: "Torneo para foguearse, la mitad de puntos que una partida competitiva. Desde la Forja ponemos a vuestra disposición mesas, escenografía y árbitro.", + fecha: new Date(2024, 0, 3), + img: "../RECURSOS/Eventos/AquilaImperial150px.png" + } + + ] + + + /*---------------------------- CONFIGURACION COOKIES------------------- */ + + function galletas() { + const aceptarGalletas = document.getElementById("botonGalleta"); + const avisoGalleta = document.getElementById("avisoGalleta"); + const fondoAvisoGalleta = document.getElementById("fondoAvisoGalletas"); + const galletasNecesarias = document.getElementById("galletasNecesarias"); + const galletasAnalisis = document.getElementById("galletasAnaliticas"); + const galletasPublicidad = document.getElementById("galletasPubli"); + + /** if(!localStorage.getItem('galletas-aceptadas')){ + avisoGalleta.classList.add('active'); + fondoAvisoGalleta.classList.add('active') + } +*/ + if(!getCookieExistance("cookieNecesaria")){ + avisoGalleta.classList.add('active'); + fondoAvisoGalleta.classList.add('active') + } + + aceptarGalletas.addEventListener('click', () => { + if (galletasAnalisis.checked){ + document.cookie = "cookieAnalisis=true; max-age=2628000; path=/;"; + } + if (galletasPublicidad.checked){ + document.cookie = "cookiepubli=true; max-age=2628000; path=/;"; + } + if (galletasNecesarias.checked){ + document.cookie = "cookieNecesaria=true; max-age=2628000; path=/;"; + avisoGalleta.classList.remove('active'); + fondoAvisoGalleta.classList.remove('active'); + location.reload(); + } + }) + + function getCookieExistance(nombre) { + var cookies = document.cookie.split(";"); + for (var i = 0; i < cookies.length; i++) { + var cookie = cookies[i].trim(); + if (cookie.startsWith(nombre + "=")) { + return true; + } + } + return false; // Si no se encuentra la cookie, retorna false + } + +} + + + +const cargado = () => { + + + // ---------------------- CONFIGURACIÓN BOTON SUBIR ARRIBA ----------------------------- + + + + const $btnUp = document.getElementById("botonArriba"); + + document.addEventListener("click", (e) =>{ + if(e.target === $btnUp || e.target.matches(".fa-arrow-up")){ + window.scrollTo({ + behaviour: "smooth", + top: 0 + }) + } + }); + + + //--------------------- CONFIGURACIÓN CARRITO COMPRA ------------------------------------- + + + + + //--------------------- CONFIGURACIÓN CONTENEDOR SERVICIOS ------------------------------------- + + const karroGrande = document.querySelector('.karro-grande'); + const puntoKarro = document.querySelectorAll('.punto-karro'); + + + puntoKarro.forEach((punto , i)=> { + puntoKarro[i].addEventListener('click', ()=>{ + + let posicionPunto = i; + let widthImg = 100 / puntoKarro.length + let operacionPunto = posicionPunto * -widthImg + console.log(operacionPunto) + karroGrande.style.transform = `translateX(${operacionPunto}%)` + + puntoKarro.forEach((punto, i) => { + puntoKarro[i].classList.remove('activo') + }) + puntoKarro[i].classList.add('activo') + }) + }) + +} + + + + + +//--------------------- CONFIGURACIÓN CONTENEDOR PRODUCTOS -------------------------------- + + + +const genListaProd = () => { + let contenedorProd = document.getElementById("contenedorProductos2"); + + for (let i = 0; i < infoProductos.length; i++){ + + + contenedorProd.innerHTML += ` + +
  • +

    ${infoProductos[i].titulo}

    + + +
  • + `} + + } + +/** más adelante se creará un botón para añadir a un carrito y un contenedor para los articulos del carrito +con sus correspondientes botones para quitar el producto, un espacio donde figure la suma de las cantidades, etc. */ + + + + + //--------------------- CONFIGURACIÓN SLIDERS ------------------------------/// + +let operacion = 0, + counter = 0; + + +function moveToRight() { + let elementoAMover = this.event.target.parentNode.firstElementChild; + let numeroContenedores = elementoAMover.children.length + + let widthImg = 100 / numeroContenedores; + + if (counter >= elementoAMover.children.length-1) { + operacion = 0; + counter = 0; + elementoAMover.style.transform = `translate(-${operacion}%)`; + return; + } + counter++; + operacion = operacion + widthImg; + + elementoAMover.style.transform = `translate(-${operacion}%)`; +} + +function moveToLeft() { + let elementoAMover = this.event.target.parentNode.firstElementChild; + + let widthImg = 100 / elementoAMover.children.length; + + + counter --; + if (counter < 0 ) { + counter = elementoAMover.children.length-1; + operacion = widthImg * (elementoAMover.children.length-1); + elementoAMover.style.transform = `translate(-${operacion}%)` + elementoAMover.style.transition = 'none'; + return; + } + + + operacion = operacion - widthImg; + elementoAMover.style.transform = `translate(-${operacion}%)` + +} + + + //-------------------------- EVENTOS -------------------------------- + + + + +const genListaEven = () => { + let contenedorEventos = document.getElementById("listadeEventos") + + + for(let i =0; i< listaEventos.length; i++) + contenedorEventos.innerHTML += ` +
  • + token_evento +

    ${listaEventos[i].titulo}

    +

    ${listaEventos[i].texto}

    +

    ${listaEventos[i].fecha.toLocaleDateString()}

    +
  • + ` +} + + + + //-------------------------- CONFIGURACIÓN CALENDARIO -------------------------------- + + + + + + const cargaCalendario = () => { + const nombresMeses = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', + 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'] + + + let fechaActual = new Date(); + let diaActual = fechaActual.getDate(); + let numeroMes = fechaActual.getMonth(); + let yearActual = fechaActual.getFullYear(); + + + let diaEventoUno = listaEventos[0].fecha //esta fecha se traerá posteriormente desde la DB + let diaEventoDos = listaEventos[1].fecha //esta fecha se traerá posteriormente desde la DB + let diaEventoZero = listaEventos[2].fecha //esta fecha se traerá posteriormente desde la DB + + + let fechas = document.getElementById("dates-calendar"); + let mes = document.getElementById("mes-actual"); + let year = document.getElementById("year"); + + let mesAnteriorDOM = document.getElementById("mes-anterior") + let mesSiguienteDOM = document.getElementById("mes-siguiente"); + + + mes.textContent = nombresMeses[numeroMes]; + year.textContent = yearActual.toString(); + + mesAnteriorDOM.addEventListener("click", () => mesAnterior()); + mesSiguienteDOM.addEventListener("click", () => mesSiguiente()) + + + const generacionMeses = (mes) => { + for(let i = diaComienzoSemana(); i>0; i--){ + fechas.innerHTML += `
    + ${numeroDiasMes(numeroMes-1)-(i-1)} +
    `; + } + + for (let i = 1; i <= numeroDiasMes(mes); i++){ + let fechaActualVieja = new Date(); + let mesActual = fechaActualVieja.getMonth(); + let yearActualViejo = fechaActualVieja.getFullYear(); + + let numeroDiaEventoZero = diaEventoZero.getDate(); + let mesDiaEventoZero = diaEventoZero.getMonth(); + let yearEventoZero = diaEventoZero.getFullYear(); + + let numeroDiaEventoUno = diaEventoUno.getDate(); + let mesDiaEventoUno = diaEventoUno.getMonth(); + let yearEventoUno = diaEventoUno.getFullYear(); + + let numeroDiaEventoDos = diaEventoDos.getDate(); + let mesDiaEventoDos = diaEventoDos.getMonth(); + let yearEventoDos = diaEventoDos.getFullYear(); + + if((i === diaActual) && (mes === mesActual) && (yearActualViejo === yearActual)){ + fechas.innerHTML += `
    ${i}
    `; + } + else if((i === numeroDiaEventoZero) && (yearActual === yearEventoZero) && (mesDiaEventoZero === mes) && (i !== diaActual)){ + fechas.innerHTML += ``; + } + else if((i === numeroDiaEventoUno) && (yearActual === yearEventoUno) && (mesDiaEventoUno === mes) && (i !== diaActual)){ + fechas.innerHTML += ``; + } + else if((i === numeroDiaEventoDos) && (yearActual === yearEventoDos) && (mesDiaEventoDos === mes) && (i !== diaActual)){ + fechas.innerHTML += ``; + } + else { + fechas.innerHTML += `
    ${i}
    `; + + } + }} + + + const numeroDiasMes = (mes) => { + if(mes === -1) mes = 11; + + if (mes === 0 || 2 || 4 || 6 || 7 || 9 || 11) { + return 31; + } else if (mes === 3 || 5 || 8 || 10) { + return 30; + } else { + return esBisiesto() ? 29:28; + } + + } + const esBisiesto = () => { + return ((yearActual % 100 !== 0) && (yearActual % 4 === 0) || (yearActual % 400 === 0)); + + + } + + + + const diaComienzoSemana = () => { + let comienzo = new Date(yearActual, numeroMes, 1); + return ((comienzo.getDay()-1) === -1) ? 6 : comienzo.getDay()-1; + + } + + const mesAnterior = () => { + if(numeroMes !== 0){ + numeroMes--; + }else { + numeroMes = 11; + yearActual--; + } + nuevaFecha(); + } + + const mesSiguiente = () => { + if(numeroMes !== 11){ + numeroMes++; + }else { + numeroMes = 0; + yearActual++; + } + + nuevaFecha(); + } + + + const nuevaFecha = () => { + fechaActual.setFullYear(yearActual, numeroMes, diaActual); + mes.textContent = nombresMeses[numeroMes]; + year.textContent = yearActual.toString(); + fechas.textContent = ''; + generacionMeses(numeroMes) + } + + + + generacionMeses(numeroMes); + + + + } + + +/*-------------------CONTROL FORMULARIO--------------------*/ + + + const validarFormulario = () => { + let formulario = document.getElementById('formularioContacto'); + let botonFormulario = document.getElementById('enviarForm'); + + const emailError = document.getElementById('mailErrorArea'); + let campoEmail = document.getElementById('mailForm'); + + + campoEmail.addEventListener("input", function (event) { + + + if (campoEmail.validity.valid) { + emailError.innerHTML = ""; + emailError.className = "error"; + } else { + showError(); + } + }); + + form.addEventListener("submit", function (event) { + + if (!campoEmail.validity.valid) { + showError(); + event.preventDefault(); + } + }); + + function showError() { + if (campoEmail.validity.valueMissing) { + + emailError.textContent = "Debe introducir una dirección de correo electrónico."; + } else if (campoEmail.validity.typeMismatch) { + + emailError.textContent = "El valor introducido debe ser una dirección de correo electrónico."; + } + emailError.className = "error active"; + } + formulario.submit() + + } + + + \ No newline at end of file diff --git a/RECURSOS/Contacto/Forja1.png b/RECURSOS/Contacto/Forja1.png new file mode 100644 index 0000000..b3f9ea2 Binary files /dev/null and b/RECURSOS/Contacto/Forja1.png differ diff --git a/RECURSOS/Contacto/Horno.jpg b/RECURSOS/Contacto/Horno.jpg new file mode 100644 index 0000000..813426b Binary files /dev/null and b/RECURSOS/Contacto/Horno.jpg differ diff --git a/RECURSOS/Contacto/cartacontacto300.jpg b/RECURSOS/Contacto/cartacontacto300.jpg new file mode 100644 index 0000000..8658847 Binary files /dev/null and b/RECURSOS/Contacto/cartacontacto300.jpg differ diff --git a/RECURSOS/Eventos/AquilaImperial150px.png b/RECURSOS/Eventos/AquilaImperial150px.png new file mode 100644 index 0000000..890734f Binary files /dev/null and b/RECURSOS/Eventos/AquilaImperial150px.png differ diff --git a/RECURSOS/Eventos/logozombicide150px.jpg b/RECURSOS/Eventos/logozombicide150px.jpg new file mode 100644 index 0000000..7dd627c Binary files /dev/null and b/RECURSOS/Eventos/logozombicide150px.jpg differ diff --git a/RECURSOS/IntroForja/FotoIntroForja500px.jpg b/RECURSOS/IntroForja/FotoIntroForja500px.jpg new file mode 100644 index 0000000..153f399 Binary files /dev/null and b/RECURSOS/IntroForja/FotoIntroForja500px.jpg differ diff --git a/RECURSOS/IntroForja/pngGalleta.png b/RECURSOS/IntroForja/pngGalleta.png new file mode 100644 index 0000000..eb57be4 Binary files /dev/null and b/RECURSOS/IntroForja/pngGalleta.png differ diff --git a/RECURSOS/Logo/LogoForjaDorada.png b/RECURSOS/Logo/LogoForjaDorada.png new file mode 100644 index 0000000..bcff941 Binary files /dev/null and b/RECURSOS/Logo/LogoForjaDorada.png differ diff --git a/RECURSOS/Logo/LogoForjaDorada100x80.png b/RECURSOS/Logo/LogoForjaDorada100x80.png new file mode 100644 index 0000000..fb50c8b Binary files /dev/null and b/RECURSOS/Logo/LogoForjaDorada100x80.png differ diff --git a/RECURSOS/Logo/LogoForjaDorada200x160.png b/RECURSOS/Logo/LogoForjaDorada200x160.png new file mode 100644 index 0000000..d3daf06 Binary files /dev/null and b/RECURSOS/Logo/LogoForjaDorada200x160.png differ diff --git a/RECURSOS/Logo/LogoForjaDorada300x248.png b/RECURSOS/Logo/LogoForjaDorada300x248.png new file mode 100644 index 0000000..78ae370 Binary files /dev/null and b/RECURSOS/Logo/LogoForjaDorada300x248.png differ diff --git a/RECURSOS/Logo/fuego2.jpg b/RECURSOS/Logo/fuego2.jpg new file mode 100644 index 0000000..a09bb20 Binary files /dev/null and b/RECURSOS/Logo/fuego2.jpg differ diff --git a/RECURSOS/Productos/IMG_1921.jpg b/RECURSOS/Productos/IMG_1921.jpg new file mode 100644 index 0000000..7db2171 Binary files /dev/null and b/RECURSOS/Productos/IMG_1921.jpg differ diff --git a/RECURSOS/Productos/Inceptor300px.jpg b/RECURSOS/Productos/Inceptor300px.jpg new file mode 100644 index 0000000..f8ee436 Binary files /dev/null and b/RECURSOS/Productos/Inceptor300px.jpg differ diff --git a/RECURSOS/Productos/InceptorLado300px.jpg b/RECURSOS/Productos/InceptorLado300px.jpg new file mode 100644 index 0000000..154b99b Binary files /dev/null and b/RECURSOS/Productos/InceptorLado300px.jpg differ diff --git a/RECURSOS/Productos/Invictor300px.jpg b/RECURSOS/Productos/Invictor300px.jpg new file mode 100644 index 0000000..93d0849 Binary files /dev/null and b/RECURSOS/Productos/Invictor300px.jpg differ diff --git a/RECURSOS/Productos/InvictorLado300px.jpg b/RECURSOS/Productos/InvictorLado300px.jpg new file mode 100644 index 0000000..b2329f5 Binary files /dev/null and b/RECURSOS/Productos/InvictorLado300px.jpg differ diff --git a/RECURSOS/Productos/InvictorOtroLado300px.jpg b/RECURSOS/Productos/InvictorOtroLado300px.jpg new file mode 100644 index 0000000..6479be4 Binary files /dev/null and b/RECURSOS/Productos/InvictorOtroLado300px.jpg differ diff --git a/RECURSOS/Productos/PortadaInceptores300px.png b/RECURSOS/Productos/PortadaInceptores300px.png new file mode 100644 index 0000000..8dfab91 Binary files /dev/null and b/RECURSOS/Productos/PortadaInceptores300px.png differ diff --git a/RECURSOS/Productos/Teniente300px.jpg b/RECURSOS/Productos/Teniente300px.jpg new file mode 100644 index 0000000..f3d00c8 Binary files /dev/null and b/RECURSOS/Productos/Teniente300px.jpg differ diff --git a/RECURSOS/Productos/TenienteLadoDos300px.jpg b/RECURSOS/Productos/TenienteLadoDos300px.jpg new file mode 100644 index 0000000..4cf6df5 Binary files /dev/null and b/RECURSOS/Productos/TenienteLadoDos300px.jpg differ diff --git a/RECURSOS/Productos/TenienteLadouUno300px.jpg b/RECURSOS/Productos/TenienteLadouUno300px.jpg new file mode 100644 index 0000000..7f8c4d9 Binary files /dev/null and b/RECURSOS/Productos/TenienteLadouUno300px.jpg differ diff --git a/RECURSOS/Productos/TermagantesBack300px.jpg b/RECURSOS/Productos/TermagantesBack300px.jpg new file mode 100644 index 0000000..5b6daa3 Binary files /dev/null and b/RECURSOS/Productos/TermagantesBack300px.jpg differ diff --git a/RECURSOS/Productos/TermagantesFront300px.jpg b/RECURSOS/Productos/TermagantesFront300px.jpg new file mode 100644 index 0000000..0c7a37f Binary files /dev/null and b/RECURSOS/Productos/TermagantesFront300px.jpg differ diff --git a/RECURSOS/Productos/TermagantesLado300px.jpg b/RECURSOS/Productos/TermagantesLado300px.jpg new file mode 100644 index 0000000..cc09d97 Binary files /dev/null and b/RECURSOS/Productos/TermagantesLado300px.jpg differ diff --git a/RECURSOS/Productos/TyranidWarriorUno300px.jpg b/RECURSOS/Productos/TyranidWarriorUno300px.jpg new file mode 100644 index 0000000..aef36c5 Binary files /dev/null and b/RECURSOS/Productos/TyranidWarriorUno300px.jpg differ diff --git a/RECURSOS/Productos/TyranidWarriorUnoBack300px.jpg b/RECURSOS/Productos/TyranidWarriorUnoBack300px.jpg new file mode 100644 index 0000000..1b6604c Binary files /dev/null and b/RECURSOS/Productos/TyranidWarriorUnoBack300px.jpg differ diff --git a/RECURSOS/Productos/TyranidWarriorUnoFront300px.jpg b/RECURSOS/Productos/TyranidWarriorUnoFront300px.jpg new file mode 100644 index 0000000..1426d50 Binary files /dev/null and b/RECURSOS/Productos/TyranidWarriorUnoFront300px.jpg differ diff --git a/RECURSOS/Servicios/UtensiliosBonitoDos600x450px.jpg b/RECURSOS/Servicios/UtensiliosBonitoDos600x450px.jpg new file mode 100644 index 0000000..8e64ed0 Binary files /dev/null and b/RECURSOS/Servicios/UtensiliosBonitoDos600x450px.jpg differ diff --git a/RECURSOS/Servicios/UtensiliosBonitoUno600x450px.jpg b/RECURSOS/Servicios/UtensiliosBonitoUno600x450px.jpg new file mode 100644 index 0000000..2d520d8 Binary files /dev/null and b/RECURSOS/Servicios/UtensiliosBonitoUno600x450px.jpg differ diff --git a/RECURSOS/Zombicide/ZombisGrupoEntero450px.png b/RECURSOS/Zombicide/ZombisGrupoEntero450px.png new file mode 100644 index 0000000..fca5a0e Binary files /dev/null and b/RECURSOS/Zombicide/ZombisGrupoEntero450px.png differ diff --git a/RECURSOS/Zombicide/ZombisGrupoEntero817x400px.png b/RECURSOS/Zombicide/ZombisGrupoEntero817x400px.png new file mode 100644 index 0000000..bfdb99e Binary files /dev/null and b/RECURSOS/Zombicide/ZombisGrupoEntero817x400px.png differ diff --git a/RECURSOS/Zombicide/collageZombisDos450px.jpg b/RECURSOS/Zombicide/collageZombisDos450px.jpg new file mode 100644 index 0000000..bf840b5 Binary files /dev/null and b/RECURSOS/Zombicide/collageZombisDos450px.jpg differ diff --git a/RECURSOS/Zombicide/collageZombisUno450px.jpg b/RECURSOS/Zombicide/collageZombisUno450px.jpg new file mode 100644 index 0000000..2f6979c Binary files /dev/null and b/RECURSOS/Zombicide/collageZombisUno450px.jpg differ diff --git a/RECURSOS/Zombicide/heroes600px.jpg b/RECURSOS/Zombicide/heroes600px.jpg new file mode 100644 index 0000000..2f87ae4 Binary files /dev/null and b/RECURSOS/Zombicide/heroes600px.jpg differ