/***********************************************Sezione Stats*******************************************************************************************/ let stats = { contatore: [ "conteggioTotale", "conteggioAriete", "conteggioToro", "conteggioGemelli", "conteggioCancro", "conteggioLeone", "conteggioVergine", "conteggioBilancia", "conteggioScorpione", "conteggioSagittario", "conteggioCapricorno", "conteggioAcquario", "conteggioPesci", ], aggiornaStat(segno) { document.getElementById(this.contatore[segno]).innerHTML = parseInt(document.getElementById(this.contatore[segno]).innerHTML) + 1; }, statsDefault() { document.getElementById('stats').style.display = "none"; document.getElementsByClassName('nomeRiquadro1')[0].style.display = "none"; document.getElementsByClassName('nomeRiquadro3')[0].style.gridArea = "3 / 1 / 4 / 2"; document.getElementsByClassName("segno")[0].style.gridArea = "4 / 1 / 5 / 2"; document.getElementsByClassName('nomeRiquadro2')[0].style.display = "none"; document.getElementsByClassName('nomi')[0].style.display = "none"; }, display() { document.getElementById('stats').style.display = "block"; document.getElementsByClassName('nomeRiquadro1')[0].style.display = "block"; document.getElementsByClassName('nomeRiquadro3')[0].style.gridArea = "5 / 1 / 6 / 2"; document.getElementsByClassName("segno")[0].style.gridArea = "6 / 1 / 7 / 2"; document.getElementsByClassName('nomeRiquadro2')[0].style.display = "block"; document.getElementsByClassName('nomi')[0].style.display = "block"; } }; /*******************************************************************************************************************************************************/ document.addEventListener("onload", Init()); function Init() { aggiungiDefault(); impostaImmagine(); stats.statsDefault(); } const segniZodiacali = [ "Ariete", "Toro", "Gemelli", "Cancro", "Leone", "Vergine", "Bilancia", "Scorpione", "Sagittario", "Capricorno", "Acquario", "Pesci", ]; /***********************************************Sezione Content*****************************************************************************************/ function Oroscopo() { const frasi = [ "Una nuova opportunità lavorativa si presenta, sfruttala!", "Ascolta i consigli degli amici, potrebbero essere utili.", "Attento alle spese, non esagerare.", "La vita sentimentale si anima, aspettati un sorriso!", "Concentrati sui tuoi obiettivi e non lasciare che le distrazioni ti rallentino.", "Sii paziente, i risultati non tarderanno.", "Un cambiamento di programma potrebbe essere necessario.", "La tua intuizione è acuta, ascoltala!", "Non lasciare che le preoccupazioni ti consumino.", "Il tuo amore per la famiglia e gli amici si rafforza.", "Sii più aperto ai nuovi progetti, potrebbero essere interessanti!", "Non esitare a chiedere aiuto quando ne hai bisogno.", "La tua autorità è riconosciuta e apprezzata.", "Sii cauto con le tue finanze, non spendere troppo!", "Non lasciare che la pigrizia ti rallenti.", "Le tue abilità organizzative sono essenziali per un nuovo progetto.", "Sii più socievole e aperto con gli altri, potresti scoprire nuove amicizie!", "Non esitare a chiedere chiarimenti quando ne hai bisogno.", "La tua vita sociale si anima, aspettati un'intrattenimento!", "Sii più equilibrato e razionale nelle tue decisioni.", "Non lasciare che la competitività ti consumi.", "I segreti di cui sei a conoscenza potrebbero essere utili per aiutare qualcuno.", "Sii più aperto alle novità e non temere il cambiamento!", "Non esitare a difendere ciò che è giusto.", "La tua ambizione si rafforza, sfruttala per raggiungere nuovi obiettivi!", "Sii più paziente e non affrettarti troppo.", "Non lasciare che la curiosità ti porti a commettere errori.", "La tua responsabilità è apprezzata e riconosciuta.", "Sii più aperto alle novità e non temere il cambiamento!", "Non esitare a chiedere aiuto quando ne hai bisogno.", "La tua creatività è essenziale per un nuovo progetto.", "Sii più socievole e aperto con gli altri, potresti scoprire nuove amicizie!", "Non lasciare che la curiosità ti porti a commettere errori.", "La tua intuizione è acuta, ascoltala!", "Sii più aperto alle novità e non temere il cambiamento!", "Non esitare a chiedere aiuto quando ne hai bisogno.", ]; document.getElementById("output").innerHTML = ""; if (!(document.getElementById("nome").value === "")) { if (!(document.getElementById("segno").value === "Seleziona un segno")) { if ( document.getElementById("bottone").innerHTML === "Chiedi un altro pronostico" ) { let isSegnoDefaultPresent = false; for ( let i = 0; i < document.getElementById("segno").getElementsByTagName("option") .length && !isSegnoDefaultPresent; i++ ) { if ( document.getElementById("segno").getElementsByTagName("option")[ i ] == "Seleziona un segno" ) { document.getElementById("segno").value = "Seleziona un segno"; isSegnoDefaultPresent = true; } } if (!isSegnoDefaultPresent) { aggiungiDefault(); } document.getElementById("segno").dispatchEvent(new Event("change")); document.getElementById("link").style.display = "block"; document.getElementById("nome").value = ""; document.getElementById("bottone").innerHTML = "Chiedi il tuo pronostico"; } else { stats.aggiornaStat(0); stats.aggiornaStat( stats.contatore.indexOf( `conteggio${document.getElementById("segno").value}` ) ); stats.display(); aggiungiNome(); document.getElementById("output").innerHTML = frasi[Math.floor(Math.random() * frasi.length)]; document.getElementById("bottone").innerHTML = "Chiedi un altro pronostico"; if (document.getElementById("segno").disabled) { document.getElementById("segno").disabled = false; } } } else { alert("Inserire il proprio segno"); } } else { alert("Inserire il proprio nome"); } } //gestione UI sezione trova segno document.getElementById("segno").addEventListener("input", function () { document.getElementById("link").style.display = "none"; }); //mostro la parte per inserire la data e trovare il proprio segno e nascondo defaultInput document.getElementById("link").addEventListener("click", function () { document.getElementById("output").innerHTML = ""; document.getElementById("link").style.display = "none"; document.getElementById("defaultInput").style.display = "none"; document.getElementById("bottone").style.display = "none"; document .querySelectorAll("#trovaSegno > :not(#link)") .forEach((tag) => (tag.style.display = "inline")); }); function trovaSegno() { document.getElementById("segno").getElementsByTagName("option")[0].remove(); let isDateInserted = document.getElementById("date").value !== ""; if (isDateInserted) { const nascita = document.getElementById("date").value.split("-"); const mese = parseInt(nascita[1]); const giorno = parseInt(nascita[2]); const campoSegno = document.getElementById("segno"); switch (mese) { case 3: if (giorno >= 20) { campoSegno.value = segniZodiacali[0]; } else { campoSegno.value = segniZodiacali[11]; } break; case 4: if (giorno >= 19) { campoSegno.value = segniZodiacali[1]; } else { campoSegno.value = segniZodiacali[0]; } break; case 5: if (giorno >= 20) { campoSegno.value = segniZodiacali[2]; } else { campoSegno.value = segniZodiacali[1]; } break; case 6: if (giorno >= 20) { campoSegno.value = segniZodiacali[3]; } else { campoSegno.value = segniZodiacali[2]; } break; case 7: if (giorno >= 22) { campoSegno.value = segniZodiacali[4]; } else { campoSegno.value = segniZodiacali[3]; } break; case 8: if (giorno >= 22) { campoSegno.value = segniZodiacali[5]; } else { campoSegno.value = segniZodiacali[4]; } break; case 9: if (giorno >= 22) { campoSegno.value = segniZodiacali[6]; } else { campoSegno.value = segniZodiacali[5]; } break; case 10: if (giorno >= 22) { campoSegno.value = segniZodiacali[7]; } else { campoSegno.value = segniZodiacali[6]; } break; case 11: if (giorno >= 21) { campoSegno.value = segniZodiacali[8]; } else { campoSegno.value = segniZodiacali[7]; } break; case 12: if (giorno >= 21) { campoSegno.value = segniZodiacali[9]; } else { campoSegno.value = segniZodiacali[8]; } break; case 1: if (giorno >= 20) { campoSegno.value = segniZodiacali[10]; } else { campoSegno.value = segniZodiacali[9]; } break; case 2: if (giorno >= 18) { campoSegno.value = segniZodiacali[11]; } else { campoSegno.value = segniZodiacali[10]; } break; } document.getElementById("segno").dispatchEvent(new Event("change")); // Reset della UI a prima di premere il link document.getElementById("link").style.display = "block"; document.getElementById("defaultInput").style.display = "block"; document.getElementById("bottone").style.display = "block"; document .querySelectorAll("#trovaSegno > :not(#link)") .forEach((tag) => (tag.style.display = "none")); campoSegno.disabled = true; } else { alert("Inserire una data completa"); } } function aggiungiNome() { let found = false; nome = document.createElement("li"); nome.innerHTML = document.getElementById("nome").value; for ( let i = 0; i < document .getElementsByClassName("nomi")[0] .getElementsByTagName("ul")[0] .getElementsByTagName("li").length && !found; i++ ) { if ( document .getElementsByClassName("nomi")[0] .getElementsByTagName("ul")[0] .getElementsByTagName("li")[i].innerHTML == nome.innerHTML ) { found = true; } } if (!found) { document .getElementsByClassName("nomi")[0] .getElementsByTagName("ul")[0] .appendChild(nome); } } //gestione immagine segno function impostaImmagine() { const immagine = document.createElement("img"); immagine.setAttribute("src", "img/Oroscopo.jpeg"); immagine.setAttribute( "width", `${document.getElementsByClassName("segno")[0].offsetWidth}` ); document.getElementsByClassName("segno")[0].appendChild(immagine); } document.getElementById("segno").addEventListener("change", function () { cambiaImmagine(document.getElementById("segno").value); }); function cambiaImmagine(segno) { const immagine = document .getElementsByClassName("segno")[0] .getElementsByTagName("img")[0]; if (segno == "Seleziona un segno") { immagine.setAttribute("src", "img/Oroscopo.jpeg"); } else { immagine.setAttribute("src", `img/${segno}.png`); } } //modifiche select del segno dinamiche function aggiungiDefault() { const selezioneDefault = document.createElement("option"); selezioneDefault.innerHTML = "Seleziona un segno"; document .getElementById("segno") .insertBefore( selezioneDefault, document.getElementById("segno").getElementsByTagName("option")[0] ); document.getElementById("segno").value = "Seleziona un segno"; } document.getElementById("segno").addEventListener("mousedown", function () { if (this.value == "Seleziona un segno") { this.getElementsByTagName("option")[0].remove(); } }); /*******************************************************************************************************************************************************/