/**
 * @author Laureline Blanes
 */

var MOTO = 0 ; // entiers qui vont servir à switcher pour les menus événements
var DINER = 1 ;


// pour charger le texte d'accueil.
function getTextAcceuil() {
    dojo.xhrGet({
          url: "acceuil.txt",
          load: function(response, ioArgs){
            dojo.byId("contenu").innerHTML = response;

            //Dojo recommends that you always return(response); to propagate
            //the response to other callback handlers. Otherwise, the error
            //callbacks may be called in the success case.
            return response;
            },
          error: function(response, ioArgs){
            dojo.byId("contenu").innerHTML =
              "An error occurred, with response: " + response;
            return response;
          },
          handleAs: "text"
        });
}
			
// pour charger le texte de présentation.
function getTextPresentation() {
    dojo.xhrGet({
    url: "presentation.txt",
    load: function(response, ioArgs){
      dojo.byId("contenu").innerHTML = response;

      //Dojo recommends that you always return(response); to propagate
      //the response to other callback handlers. Otherwise, the error
      //callbacks may be called in the success case.
      return response;
    },
    error: function(response, ioArgs){
      dojo.byId("contenu").innerHTML =
        "An error occurred, with response: " + response;
      return response;
    },
    handleAs: "text"
  });
}

// pour charger le texte de présentation 2.
function getTextPresentation2() {
    dojo.xhrGet({
    url: "presentation2.txt",
    load: function(response, ioArgs){
      dojo.byId("contenu").innerHTML = response;

      //Dojo recommends that you always return(response); to propagate
      //the response to other callback handlers. Otherwise, the error
      //callbacks may be called in the success case.
      return response;
    },
    error: function(response, ioArgs){
      dojo.byId("contenu").innerHTML =
        "An error occurred, with response: " + response;
      return response;
    },
    handleAs: "text"
  });
}



//pour charger le texte de la page événements.
function getTextEvenements() {
  dojo.xhrGet({
  url: "evenements.txt",
  load: function(response, ioArgs){
    dojo.byId("contenu").innerHTML = response;

    //Dojo recommends that you always return(response); to propagate
    //the response to other callback handlers. Otherwise, the error
    //callbacks may be called in the success case.
    return response;
    },
  error: function(response, ioArgs){
    dojo.byId("contenu").innerHTML =
      "An error occurred, with response: " + response;
    return response;
  },
  handleAs: "text"
});


}
	
// pour charger le texte de la galerie.
function getTextGalerie() {
    dojo.xhrGet({
          url: "galerie.txt",
          load: function(response, ioArgs){
            dojo.byId("contenu").innerHTML = response;

            //Dojo recommends that you always return(response); to propagate
            //the response to other callback handlers. Otherwise, the error
            //callbacks may be called in the success case.
            return response;
            },
          error: function(response, ioArgs){
            dojo.byId("contenu").innerHTML =
              "An error occurred, with response: " + response;
            return response;
          },
          handleAs: "text"
        });
}
	
// pour charger les liens.
function getTextLiens() {
    dojo.xhrGet({
          url: "liens.txt",
          load: function(response, ioArgs){
            dojo.byId("contenu").innerHTML = response;

            //Dojo recommends that you always return(response); to propagate
            //the response to other callback handlers. Otherwise, the error
            //callbacks may be called in the success case.
            return response;
            },
          error: function(response, ioArgs){
            dojo.byId("contenu").innerHTML =
              "An error occurred, with response: " + response;
            return response;
          },
          handleAs: "text"
        });
}

// pour charger la page de contact.
function getTextContact() {
    dojo.xhrGet({
          url: "contact.txt",
          load: function(response, ioArgs){
            dojo.byId("contenu").innerHTML = response;

            //Dojo recommends that you always return(response); to propagate
            //the response to other callback handlers. Otherwise, the error
            //callbacks may be called in the success case.
            return response;
            },
          error: function(response, ioArgs){
            dojo.byId("contenu").innerHTML =
              "An error occurred, with response: " + response;
            return response;
          },
          handleAs: "text"
        });
}

// pour charger la page de réservation (menu évènement -> diner).
function getTextReservation() {
    dojo.xhrGet({
          url: "reservation.txt",
          load: function(response, ioArgs){
            dojo.byId("contenu").innerHTML = response;

            //Dojo recommends that you always return(response); to propagate
            //the response to other callback handlers. Otherwise, the error
            //callbacks may be called in the success case.
            return response;
            },
          error: function(response, ioArgs){
            dojo.byId("contenu").innerHTML =
              "An error occurred, with response: " + response;
            return response;
          },
          handleAs: "text"
        });

}

// pour charger la page de règlement (menu évènement -> diner).
function getTextReglement() {
    dojo.xhrGet({
          url: "reglement.txt",
          load: function(response, ioArgs){
            dojo.byId("contenu").innerHTML = response;

            //Dojo recommends that you always return(response); to propagate
            //the response to other callback handlers. Otherwise, the error
            //callbacks may be called in the success case.
            return response;
            },
          error: function(response, ioArgs){
            dojo.byId("contenu").innerHTML =
              "An error occurred, with response: " + response;
            return response;
          },
          handleAs: "text"
        });

}


//pour charger la page des news
//function getTextNews() {
//    dojo.xhrGet({
//          url: "news.txt",
//          load: function(response, ioArgs){
//            dojo.byId("contenu").innerHTML = response;
//
//            //Dojo recommends that you always return(response); to propagate
//            //the response to other callback handlers. Otherwise, the error
//            //callbacks may be called in the success case.
//            return response;
//            },
//          error: function(response, ioArgs){
//            dojo.byId("contenu").innerHTML =
//              "An error occurred, with response: " + response;
//            return response;
//          },
//          handleAs: "text"
//        });
//}


//pour charger la page du calendrier
function getTextCalendrier() {
    dojo.xhrGet({
          url: "calendrier.txt",
          load: function(response, ioArgs){
            dojo.byId("contenu").innerHTML = response;

            //Dojo recommends that you always return(response); to propagate
            //the response to other callback handlers. Otherwise, the error
            //callbacks may be called in the success case.
            return response;
            },
          error: function(response, ioArgs){
            dojo.byId("contenu").innerHTML =
              "An error occurred, with response: " + response;
            return response;
          },
          handleAs: "text"
        });
}

//pour charger la page sur les diners dédicaces (menu évènements)
function getTextDiner() {
    dojo.xhrGet({
          url: "diner.txt",
          load: function(response, ioArgs){
            dojo.byId("contenu").innerHTML = response;

            //Dojo recommends that you always return(response); to propagate
            //the response to other callback handlers. Otherwise, the error
            //callbacks may be called in the success case.
            return response;
            },
          error: function(response, ioArgs){
            dojo.byId("contenu").innerHTML =
              "An error occurred, with response: " + response;
            return response;
          },
          handleAs: "text"
        });

}

//pour charger la page du festival
function getTextFestival() {
    dojo.xhrGet({
          url: "festival.txt",
          load: function(response, ioArgs){
            dojo.byId("contenu").innerHTML = response;

            //Dojo recommends that you always return(response); to propagate
            //the response to other callback handlers. Otherwise, the error
            //callbacks may be called in the success case.
            return response;
            },
          error: function(response, ioArgs){
            dojo.byId("contenu").innerHTML =
              "An error occurred, with response: " + response;
            return response;
          },
          handleAs: "text"
        });

        
}

//pour charger la page divers (menu évènements)
function getTextDivers() {
    dojo.xhrGet({
          url: "divers.txt",
          load: function(response, ioArgs){
            dojo.byId("contenu").innerHTML = response;

            //Dojo recommends that you always return(response); to propagate
            //the response to other callback handlers. Otherwise, the error
            //callbacks may be called in the success case.
            return response;
            },
          error: function(response, ioArgs){
            dojo.byId("contenu").innerHTML =
              "An error occurred, with response: " + response;
            return response;
          },
          handleAs: "text"
        });

        // change la classe des items du menu2
         dojo.byId('divers').className='active2';
         dojo.byId('accueil2').className='';
         dojo.byId('festival').className='';
         dojo.byId('diner').className='';
}

//pour charger la page du programme du festival
function getTextProgramme() {
    dojo.xhrGet({
          url: "programme.txt",
          load: function(response, ioArgs){
            dojo.byId("contenu").innerHTML = response;

            //Dojo recommends that you always return(response); to propagate
            //the response to other callback handlers. Otherwise, the error
            //callbacks may be called in the success case.
            return response;
            },
          error: function(response, ioArgs){
            dojo.byId("contenu").innerHTML =
              "An error occurred, with response: " + response;
            return response;
          },
          handleAs: "text"
        });
}


//pour charger la page d'itinéraire du festival'
function getTextCarte() {
    dojo.xhrGet({
          url: "carte.txt",
          load: function(response, ioArgs){
            dojo.byId("contenu").innerHTML = response;

            //Dojo recommends that you always return(response); to propagate
            //the response to other callback handlers. Otherwise, the error
            //callbacks may be called in the success case.
            return response;
            },
          error: function(response, ioArgs){
            dojo.byId("contenu").innerHTML =
              "An error occurred, with response: " + response;
            return response;
          },
          handleAs: "text"
        });
}

// on passe maintenant au formulaire de la page Contact
var erreur = true ;	// var booléenne qui va permettre d'empêcher l'envoi du formulaire

// pour la verif du formulaire lors du submit

function validForm() {
    if (erreur==true) {     // s'il y a encore des erreurs
        alert ('Il y a des erreurs dans le formulaire. Merci de les corriger avant l\'envoi');
        return false;
    }
    else {                  // sinon le formulaire est validé
        return true;
    }
}

// verif du Nom dans le formulaire de Contact
function verifNom () {
        if (document.getElementById('lastName').value==null || document.getElementById('lastName').value=='' || isNaN(document.getElementById('lastName').value)==false)

            {
				document.getElementById('nom').style.color='red' ;
				document.getElementById('nom').focus() ;
                erreur = true ;
			}
			else
			{
				document.getElementById('nom').style.color='black' ;
				erreur = false ;
			}
    }

// Verif du prénom
function verifPrenom() {
    if (document.getElementById('firstName').value==null || document.getElementById('firstName').value=='' || isNaN(document.getElementById('firstName').value)==false)
			{
				document.getElementById('prenom').style.color='red';
				document.getElementById('prenom').focus() ;
				erreur = true ;
			}
			else
			{
				document.getElementById('prenom').style.color='black' ;
				erreur = false ;
			}
}

// verif de l'email
function verifEmail () {
    var reg = new RegExp('^[a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+', 'g');
    testEmail = document.getElementById('email1').value;
    resultat = reg.test(testEmail);

    if (resultat == false)
    {
        document.getElementById('email').style.color='red';
        document.getElementById('email').focus();
        erreur = true ;
    }
    else
    {
        document.getElementById('email').style.color='black' ;
        erreur = false ;
    }
}

// Verif de la confirmation de l'email
function verifEmailConfirm() {
    if (document.getElementById('email2').value != document.getElementById('email1').value)
	{
		document.getElementById('confirmation').style.color='red';
		document.getElementById('confirmation').focus() ;
		erreur = true ;
	}
    else
    {
        document.getElementById('confirmation').style.color='black' ;
        erreur = false ;
    }
}

// fonction qui affiche les sous menus de la page événement

function changeMenu(typeEvenement) {
    switch (typeEvenement) {
        case DINER : afficheDiner();
            break ;
        case MOTO : afficheMoto();
            break ;
        default : ;
    }
}

// fonction qui permet de chaner les images du menu événement facilement
function changeImage(img, id, src, title) {
    img.src = src;
    img.title = title;
    img.setAttribute("id", id);
    img.classname="";
}

// fonction qui permet de changer la classe des éléments actifs
function changeClasse(typeEvenement) {
    for (i=1 ; i<=4; i++) {
        document.getElementsByName('li'+i)[1].className = '' ;
    }
    dojo.byId(typeEvenement).className = 'active2' ;
}

// affiche le menu de la "page" diner
function afficheDiner() {

    // on change le premier lien
    lien = document.getElementsByName('li1')[0];
    lien.setAttribute("onClick", "retourMenu(); changeClasse('accueil2'); getTextEvenements();");
    lien.setAttribute("id", "retourA");
    // changer balise image
    img = document.getElementsByName('li1')[1];
    changeImage(img, "retour", "images/retour.png", "Retour au menu précédent");
    
    // on ne change pas le deuxieme lien qui est la page d'accueil des diners

    // on change le troisieme lien
    lien = document.getElementsByName('li3')[0];
    lien.setAttribute("onClick", "getTextReservation();  changeClasse('reservation');");
    lien.setAttribute("id", "reservationA");
    // changer balise image
    img = document.getElementsByName('li3')[1];
    changeImage(img, "reservation", "images/reservation.png", "Réservez en ligne !");

    // on change le quatrieme lien
    lien = document.getElementsByName('li4')[0];
    lien.setAttribute("onClick", "getTextReglement(); changeClasse('reglement');");
    lien.setAttribute("id", "reglementA");
    // changer balise image
    img = document.getElementsByName('li4')[1];
    changeImage(img, "reglement", "images/reglement.png", "Lire le règlement officiel");

}

// affiche le menu de la "page" moto
function afficheMoto() {
    // on change le premier lien
    lien = document.getElementsByName("li1")[0] ;
    lien.setAttribute("onClick", "retourMenu(); changeClasse('accueil2'); getTextEvenements();");
    lien.setAttribute("id", "retourA");
    // changer balise image
    img = document.getElementsByName("li1")[1] ;
    changeImage(img, "retour", "images/retour.png", "Retour au menu précédent");

    // on change le troisieme lien
    lien = document.getElementsByName("li2")[0] ;
    lien.setAttribute("onClick", "getTextProgramme(); changeClasse('programme');");
    lien.setAttribute("id", "programmeA");
    // changer balise image
    img = document.getElementsByName("li2")[1] ;
    changeImage(img, "programme", "images/programme.png", "Les auteurs présents")

    // on change le deuxieme lien
    lien = document.getElementsByName("li3")[0] ;
    lien.setAttribute("onClick", "getTextFestival(); changeClasse('festival');");
    lien.setAttribute("id", "festivalA");
    // changer balise image
    img = document.getElementsByName("li3")[1] ;
    changeImage(img, "festival", "images/festival.png", "Le festival Dékazé");


    // on change le quatrieme lien
    lien = document.getElementsByName("li4")[0] ;
    lien.setAttribute("onClick", "getTextCarte(); changeClasse('carte');");
    lien.setAttribute("id", "carteA");
    // changer balise image
    img = document.getElementsByName("li4")[1] ;
    changeImage(img, "carte", "images/carte.png", "GPS");
    
}

// ré affiche le menu de base de la page événements
function retourMenu() {
    // on change le premier lien
    lien = document.getElementsByName("li1")[0] ;
    lien.setAttribute("onClick", "getTextEvenements(); changeClasse('accueil2');");
    lien.setAttribute("id", "accueil2A");
    // on change la balise image
    img = document.getElementsByName("li1")[1];
    changeImage(img, "accueil2", "images/accueil.png", "Récap' des événements en cours ou à venir")
    img.setAttribute("src", "images/accueil.png");

    // on change le deuxième lien
    lien = document.getElementsByName("li2")[0] ;
    lien.setAttribute("onClick", "getTextDiner(); changeMenu(DINER); changeClasse('diner');");
    lien.setAttribute("id", "dinerA");
    // changer balise image
    img = document.getElementsByName("li2")[1];
    changeImage(img, "diner", "images/diner.png", "Les dîners dédicaces");

    // on change le troisième lien
    lien = document.getElementsByName("li3")[0] ;
    lien.setAttribute("onClick", "getTextFestival(); changeMenu(MOTO); changeClasse('festival');");
    lien.setAttribute("id", "festivalA");
    // changer balise image
    img = document.getElementsByName("li3")[1];
    changeImage(img, "festival", "images/festival.png", "Le festival Dékazé");

    // on change le dernier lien
    lien = document.getElementsByName("li4")[0] ;
    lien.setAttribute("onClick", "getTextDivers(); changeClasse('divers');");
    lien.setAttribute("id", "diversA");
    // changer balise image
    img = document.getElementsByName("li4")[1];
    changeImage(img, "divers", "images/divers.png", "Le reste");
}


