// Dès que la page est totalement chargée, on vient calquer les listeners sur les éléments.
 
/* une fois que la fenetre est chargée on recupère la valeur de searchPatient pour
savoir si on doit afficher la partie de recherche d'un patient après metre cette variable à 0 pour ne plus
afficher le block de recherche si on rafraichit la page*/
$(window).load(function() {
	
	// Corrige les choses imposées par le jQueryMobile
	
	$('.ui-loader').remove();
	$('.ui-page').css('min-height', 0);
		
var SearchPatient= sessionStorage.getItem('SearchPatient');


if(SearchPatient==1)
{		
$(document).ready(function() {
 // executes when HTML-Document is loaded and DOM is ready

		// On peuple les variables globales depuis le localstorage (localstorage si possible mis a jour depuis la bdd)
		loadFromLocalStorage($('#blocconnexion').find('input:text').val(), $('#blocconnexion').find('input:password').val());

		// Affichet et gère le menu de recherche de patient
		loadSearchAutoCompletion();

		// On affiche pas les notes en revanche
		$("#noteSearch").addClass("hidden");
sessionStorage.setItem('SearchPatient',0);

});
}
	


	/* Début du listener sur le boutton de Connexion */
	
	$(document).on("click", '#blocconnexionbtn', function(e) {
		console.log("click #blocconnexionbtn");
		console.log("$('#blocconnexion').find('input:text').val()");
		// On supprimer l'action native (rechargement de la page)
		e.preventDefault();
		
		// On peuple les variables globales depuis le localstorage (localstorage si possible mis a jour depuis la bdd)
		loadFromLocalStorage($('#blocconnexion').find('input:text').val(), $('#blocconnexion').find('input:password').val());

		// Affiche et gère le menu de recherche de patient
		loadSearchAutoCompletion();

		// On affiche pas les notes en revanche
		$("#debut").addClass("hidden");
		$("#blocdeconnexionbtn").removeClass("hidden");
		$("#etablissement").removeClass("hidden");
		$("#connexion").addClass("hidden");
		$("#noteSearch").addClass("hidden");

	});
	
	/* Fin du listener sur le boutton de Connexion */
	
		/* Début du listener sur le boutton de Deconnexion */
	
	
	$(document).hammer().on("click", "#blocdeconnexionbtn", function(e) {
			
			console.log("click #blocdeconnexionbtn");

			// On supprimer l'action native (rechargement de la page)
			e.preventDefault();
			// retour à la page d'acceuil.
			location.reload();
		
			__PARAMETRES__.currentPage = 'pageDeConnexion';
			
	});
		
		
		$(document).hammer().on("click", "#btnsor", function(e) {
			
			console.log("click #btnsor");

			// On supprimer l'action native (rechargement de la page)
			e.preventDefault();
			// retour à la page d'acceuil.
			location.reload();
		
			__PARAMETRES__.currentPage = 'pageDeConnexion';
			
	});
		
	
	/* Fin du listener sur le boutton de Deconnexion */


	/* Début du listener sur le boutton de Recherche après connexion */
	
	$(document).on("click", '#blocconnexionbtn2', function(e) {
		
		if ($("#blocconnexionbtn2").val() == "RECHERCHER") {

			// On supprimer l'action native (rechargement de la page)
			e.preventDefault();

			// On affiche la page de radar
			$("#grille_nom").text(__LISTEGRILLES__[4].libelle);

			__DOCTEUR__.idLastGrille = 4 ;
			__DOCTEUR__.idGrille = __DOCTEUR__.idLastGrille;
			createRadar(4);
			loadPage("pageQuestions");
			loadPage("pageListe");
			loadPage("pageRadar");
			createRadar(4);
			
			// On trig l'évènement "pageloaded"
			$(document).trigger("pageloaded");

		}

		else {

			// On supprimer l'action native (rechargement de la page)
			e.preventDefault();

			// On affiche la page de création patient
			$("#blocconnexion").addClass("hidden");
			$("#createPatient").removeClass("hidden");
			
			// On trig l'évènement "pageloaded"
			$(document).trigger("pageloaded");

		}

	});
	
	/* Fin du listener sur le Recherche après connexion */


	/* Début du listener sur le bouton Confidentialité */

	$(document).on("click", "#checkSearch", function() {
		if ($("#checkSearch").is(":checked") == true) {
			$("#noteSearch").addClass("hidden");
		}
		else {
			$("#noteSearch").removeClass("hidden");
		}
	});

	/* Fin du listener sur le bouton Confidentialité */


	/* Début du listener sur la recherche */

	
	$(document).on("keyup", "#tags", function() {
		if ($("#tags").length===(0)){
			$("#blocconnexionbtn2").addClass("hidden");
		}
		
		
		else if ($("#tags").val() != ($("#nomSearch").text() + " " + $("#prenomSearch").text()) || $("#tags").value == "") {
			$("#blocconnexionbtn2").removeClass("hidden");
			$("#blocconnexionbtn2").val("CREER PATIENT");
		}
		else {
			$("#blocconnexionbtn2").val("RECHERCHER");
		}
	});

	$(document).on("click", ".ui-widget", function() {
		if ($("#tags").val() != ($("#nomSearch").text() + " " + $("#prenomSearch").text()) || $("#tags").value == "") {
			$("#blocconnexionbtn2").val("CREER PATIENT");
		}
		else {
			$("#blocconnexionbtn2").val("RECHERCHER");
		}
	});

	/* Fin du listener sur la recherche */


/* Début du listener sur la création patient */

	$(document).on("click", "#submitCreatePatient", function(e) {

		// On supprimer l'action native (rechargement de la page)
		e.preventDefault();
// on ne crée un patient que si les 3 premiers champs sont remplis
		if ($("input[name='nomPatient']").val() != "" && $("input[name='prenomPatient']").val() != "" && $("input[name='sexePatient']").val() != "") {
// on recupère les valeurs des champs dans des variables
var nomPatient=$("input[name='nomPatient']").val();
var prenomPatient=$("input[name='prenomPatient']").val();
var sexePatient=$("input[name='sexePatient']").val();
var chambrePatient=$("input[name='chambrePatient']").val();
var dossierPatient=$("input[name='dossierPatient']").val();
var naissancePatient=$("input[name='naissancePatient']").val();
var adressePatient=$("input[name='adressePatient']").val();
var villePatient=$("input[name='villePatient']").val();
 // on mets des valeurs par défaut pour les champs qui sont pas remplis
if( $("input[name='chambrePatient']").val() == "" )
{
var chambrePatient=0;
}

if ($("input[name='dossierPatient']").val() == "" )
{
var dossierPatient=0;
}
if ($("input[name='naissancePatient']").val() == "" )
{
var naissancePatient="0000-00-00";
}
if ($("input[name='adressePatient']").val() == "" )
{
var adressePatient=0;
} 
if ($("input[name='villePatient']").val() == "" )
{
var villePatient=0;
}


			var requete = $.ajax({
				url      : "include/insertPatient.php",
				type     : "POST",
				data: {
					idDocteur: __DOCTEUR__.id,
					idEtablissement: __ETABLISSEMENT__.id,
					idGrille: __DOCTEUR__.idLastGrille,
					nbLvlGrille: __LISTEGRILLES__[__DOCTEUR__.idLastGrille].idFonctions.length,
					lvlCliniMin: __LVLCLINIMETREMIN__,
					lvlCliniMax: __LVLCLINIMETREMAX__,
					lvlGrilleMin: __LVLTHERMOMIN__,
					lvlGrilleMax: __LVLTHERMOMAX__,
					nomPatient: nomPatient,
					prenomPatient: prenomPatient,
					sexePatient: sexePatient,
					naissancePatient: naissancePatient,
					dossierPatient: dossierPatient,
					chambrePatient: chambrePatient,
					adressePatient: adressePatient,
					villePatient:villePatient
				},
				success: function(data) {
					
					

//on met à jour le local storage 
var p = { 
nom:nomPatient,
prenom:prenomPatient,
sexe:sexePatient,
date_naissance:naissancePatient,
adresse:adressePatient,
ville:villePatient,
num_dossier:dossierPatient,
num_chambre:chambrePatient

}; 
/*
__DOCTEUR__ = JSON.parse(localStorage.getItem('docteur'));

var id=__DOCTEUR__.idLastPatient;
__DOCTEUR__.idLastPatient=parseInt(id)+1;
__LISTEPATIENTS__ = JSON.parse(localStorage.getItem('listePatients'));
__LISTEPATIENTS__[parseInt(id)+1]=p;

//window.localStorage.setItem('ListePatients', JSON.stringify(__LISTEPATIENTS__  )); 
//window.localStorage.setItem('docteur', JSON.stringify(__DOCTEUR__  )); 

var DonneesClinimetre = JSON.parse(localStorage.getItem('donneesClinimetre'));
var nbValGrille=__LISTEGRILLES__[__DOCTEUR__.idLastGrille].idFonctions.length;

*/
//localStorage.setItem('donneesClinimetre', JSON.stringify(DonneesClinimetre));




					// On affiche la page de création de patient
					$("#createPatient").addClass("hidden");


if(navigator.onLine) {
login=JSON.parse(localStorage.getItem('docteur')).login;
password = JSON.parse(localStorage.getItem('docteur')).passwd;
loadFromLocalStorage(login, password);
}

					loadPage("pageListe");
					loadPage("pageQuestions");
					loadPage("pageRadar");
					
					// On trig l'évènement "pageloaded"
					$(document).trigger("pageloaded");
				}

			});

		}

	});
	/* Début du listener sur la création patient */


	// On installe les nouveaux listeners
	// quand l'évènement "pageloaded" est triggé
	$(document).on("pageloaded", function() {
		
			
		/* Début listener sur le logo */
		
		$(document).hammer().on("tap", "#logo", function() {
			
			console.log("tap #logo");

			// retour à la page d'acceuil.
			location.reload();
		
			__PARAMETRES__.currentPage = 'pageDeConnexion';
			// A compléter
		});
		
		/* Fin listener sur le logo */






		/* Début listener grille */
		
		$(document).on("click", "#grille_nom", function() {
			console.log("click #grille_nom");

			changerGrille();
			
			$("#changergrillebackground").bind("click", function() {$(this).remove();});
			$("#changergrilleselect").bind("focusin", function() {$("#changergrillebackground").unbind("click");});
			$("#changergrilleselect").bind("focusout", function() {$("#changergrillebackground").bind("click", function() {$(this).remove();});});
			$( "#changergrilleselect" ).change(function() {
			
			
			
				var idSelectionne = $( "#changergrilleselect" ).val();


				for(var i = 1 ; i < __LISTEGRILLES__.length +1 ; i++)
				{
					

					console.log("idSelectionne : "+ idSelectionne);


					console.log("__LISTEGRILLES__[i].libelle : "+ __LISTEGRILLES__[i].libelle);


					console.log("i : "+i);

					if(idSelectionne == __LISTEGRILLES__[i].libelle){


						// Ceci change le nom de la grille en haut 
						$("#grille_nom").text(__LISTEGRILLES__[i].libelle);

						__DOCTEUR__.idLastGrille = i ;
						__DOCTEUR__.idGrille = __DOCTEUR__.idLastGrille;
						
						


						// la diese sert a indiquer que c'est un id et non une classe 
						// sinon le point . selectionne tous les element qui on une certaine classe

						// $("#spidergraphcontainer").html(''); 
						// cela supprime le html de cette zone. 
						//Pas tres utile car déja présent dans la fonction create rader

						// On redessinne le radar
						createRadar(i);
						loadPage("pageQuestions");
						loadPage("pageListe");
						loadPage("pageRadar");
						createRadar(i);
						
						// !!!!!!!!! Cette fonction est celle qui permet le changement des grilles en reprenant à 0
// Effacement du tableau puis réécriture du nouveau!!!!!!!!!!!!!!!! +++++++++++IMPORTANT+++++++++++++
						//updateLibGrille();

						
						// CHOPER LE BON ID ET L'ENVOYÉ A CREATERADAR(I);



					}

				}
			
			});
			
		});
		
		/* Fin listener grille */
		

		





		

		/* Début listener fleche bas */
		
		$(document).hammer().on("release", "#fleche_bas", function(e) {
			console.log("tap #fleche_bas");
			fonctionSuivante();
		});
		
		$(document).on("keypress", function(e) {
			if(e.keyCode == '40') {
				console.log("keypress #fleche_bas");
				fonctionSuivante();
			}
		});
		
		/* Fin listener fleche bas */
		
		/* Début listener fleche haut */
		
		$(document).hammer().on("release", "#fleche_haut", function(e) {
			console.log("tap #fleche_haut");
			fonctionPrecedente();
		});
		
		$(document).on("keypress", function(e) {
			if(e.keyCode == '38') {
				console.log("keypress #fleche_haut");
				fonctionPrecedente();
			}
		});
		
		/* Fin listener fleche haut */



		
		

		/* Début listener thermometre */
		
		$(document).on("change", "#thermometre", function(e) {
			console.log("change #thermometre");
			
			updateThermometre(this);
		});
		
		$(document).hammer().on("release", "#thermometre", function() {
			console.log("release #thermometre");
			
			// On injecte la nouvelle valeur dans le localStorage et les variables globales
			saveLSClinimetreValue(parseInt($('#valeurclinimetre').text()));
			
			// On met à jour le radar à partir du localStorage
			if(__PARAMETRES__.currentPage == "pageRadar") {updateRadar();}
			
			// On met à jour la liste à partir du localStorage pb boucle
			else if(__PARAMETRES__.currentPage == "pageListe") { refreshSondage(); }
						
			else if(__PARAMETRES__.currentPage == "pageQuestions") { }
			else {updateRadar();}
		});
			
			
		/* Fin listener thermometre */
		
		
		
	
			
		/* Début listener update liste */
		
		$(document).on("change", ".sondage", function() {
			console.log("change .sondage");
			updateSondage(this);
		});
		
		/* Fin listener update liste */
		
		/* Début listener champ liste */
		
		$(document).hammer().on("tap", ".listesondage", function() {
			console.log("tap .listesondage");
			clickTextSondage($(this).attr('name'));
		});
		
		/* Fin listener champ liste */
			
		/* Début listener swipe liste */
		
		$(document).hammer().on('drag swipe', '#fonctions_liste', function(e) {
			e.gesture.preventDefault();

			var deltaY = - e.gesture.deltaY;
			var oldY = $('#fonctions_liste').scrollTop();
			
			// Sensibilité 0.5
			$('#fonctions_liste').scrollTop(oldY + 0.3*deltaY);
		});
		
		/* Fin listener swipe liste */
		
		/* Début listener swipe questions */
		
		$(document).hammer().on('drag', '#questions', function(e) {
			e.gesture.preventDefault();

			var deltaY = - e.gesture.deltaY;
			var oldY = $('#questions').scrollTop();
			
			// Sensibilité 0.5
			$('#questions').scrollTop(oldY + 0.3*deltaY);
		});
		
		/* Fin listener swipe questions */
		




		/* Début listener champ autour du radar */
		
		$(document).hammer().on("tap", ".diagramText", function() {
			
			console.log("tap .diagramText");
			clickTextRadar($(this).attr('name'));
		});
		
		/* Fin listener champ autour du radar */

		/* Début listener orientationchange du radar */

		$(window).on("orientationchange resize", function() {
			console.log("orientationchange resize window");
			adaptListeRadarSize();
			createRadar();
		});

		/* Fin listener orientationchange du radar */





		/* Début du listener sur le swiper */
	
		$(document).hammer().on('drag', '.contenu', function(e) {
				
			var fonctionsliste = $('#fonctions_liste');
			var radar = $('#radar');
			var listeQuestions =$('#questions');
			
			
			if (e.gesture.deltaX > 200 && e.gesture.direction == "right") {
				
				if (__PARAMETRES__.currentPage==("pageRadar")) {
				
				
					if(fonctionsliste.hasClass('hidden')) {	
						fonctionsliste.removeClass('hidden');
						radar.addClass('hidden');
						__PARAMETRES__.currentPage = "pageListe";
						adaptListeRadarSize();
						refreshSondage();
					}
				}
				else if (__PARAMETRES__.currentPage==("pageQuestions") ){
					
					if(radar.hasClass('hidden')) {
						radar.removeClass('hidden');
						listeQuestions.addClass('hidden');
						__PARAMETRES__.currentPage = "pageRadar";
						adaptListeRadarSize();
						createRadar();
					}
				}
				
				
					
					
					
					
			} else if (e.gesture.deltaX > -200 && e.gesture.direction == "left") {
					

				if(__PARAMETRES__.currentPage==("pageListe")){
				
					if(radar.hasClass('hidden')) {
						radar.removeClass('hidden');
						fonctionsliste.addClass('hidden');
						__PARAMETRES__.currentPage = "pageRadar";
						adaptListeRadarSize();
						createRadar();
					}
					
				}	
				else if(__PARAMETRES__.currentPage==("pageRadar")){
				
					if(listeQuestions.hasClass('hidden')){
					listeQuestions.removeClass('hidden');
					radar.addClass('hidden');
					__PARAMETRES__.currentPage = "pageQuestions";
					adaptListeRadarSize();
	
	
					
					}
				
				
				}
			}
		});
		
		// Vers la gauche
		// $(document).on("keypress", function(e) {
			// if(e.keyCode == '37') {
				// console.log("keypress #fleche_gauche");
					
				// var fonctionsliste = $('#fonctions_liste');
				// var radar = $('#radar');
				
				// if(fonctionsliste.hasClass('hidden')) {
					// fonctionsliste.removeClass('hidden');
					// radar.addClass('hidden');
					// __PARAMETRES__.currentPage = "pageListe";
					// refreshSondage();
				// }
			// }
		// });
		
		// Vers la droite
		// $(document).on("keypress", function(e) {
			// if(e.keyCode == '39') {
				// console.log("keypress #fleche_droite");
				
				// var fonctionsliste = $('#fonctions_liste');
				// var radar = $('#radar');
				
				// if(radar.hasClass('hidden')) {
					// radar.removeClass('hidden');
					// fonctionsliste.addClass('hidden');
					// __PARAMETRES__.currentPage = "pageRadar";
					// updateRadar();
				// }
			// }
		// });
		
		/* Fin du listener sur le swiper */
		
		



		/* Début listener historique hier */
		
		$(document).hammer().on("release", "#fleche_gauche", function() {
			console.log("release #fleche_gauche");
			
			// Demain 
			var tmw = new Date();
			tmw.setDate(tmw.getDate() + 1);

			// Cas historique ou today
			if(__PARAMETRES__.currentDate <= dateToString(tmw)) {
				var tdy = new Date(__PARAMETRES__.currentDate);
				tdy.setDate(tdy.getDate()-1);
				getRadarDate(tdy); 
			}
			else {
				// On modifie la date courante
				var d = new Date(__PARAMETRES__.currentDate);
				d.setDate(d.getDate() - 1);
				__PARAMETRES__.currentDate = dateToString(d);
				$('#date').html(__PARAMETRES__.currentDate);

				// On met à jour la date des valeurs actuelles par la date courante
				saveLSDate();
			}
		});
		
		/* Fin listener historique hier */
		
		/* Début listener historique demain */
		
		$(document).hammer().on("release", "#fleche_droite", function() {
			console.log("release #fleche_droite");
			
			// Cas historique ou today
			if(__PARAMETRES__.currentDate <= dateToString()) {
				var tdy = new Date(__PARAMETRES__.currentDate);
				tdy.setDate(tdy.getDate() + 1);
				getRadarDate(tdy);
			}
			else {
				// On modifie la date courante
				var d = new Date(__PARAMETRES__.currentDate);
				d.setDate(d.getDate() + 1);
				__PARAMETRES__.currentDate = dateToString(d);
				$('#date').html(__PARAMETRES__.currentDate);

				// On met à jour la date des valeurs actuelles par la date courante
				saveLSDate();
			}
		});
		
		/* Fin listener historique demain */
			
		/* Début listener historique aujourd'hui */
		
		$(document).on("click", "#date", function() {
			console.log("click #date");
			var tdy = new Date();
			getRadarDate(tdy);
		});
		
		/* Fin listener historique aujourd'hui */





		/* Début listener sur le boutton Enregistrer */
		
		$(document).hammer().on("release", "#enregistrer", function(e) {
			console.log("release #enregistrer");
			updateBDDFromLocalStorage();	
			// On supprimer l'action native (rechargement de la page)
			e.preventDefault();
			// retour à la page d'acceuil.
			location.reload();
		
			__PARAMETRES__.currentPage = 'pageDeConnexion';
	
		});
		
		/* Fin listener sur le bouton Enregistrer */

		/* Début listener sur le bouton "Imprimer" */

		
		$(document).on("click", "#imprimer", function() {
			console.log("click #imprimer");
			imprimer();
		});
		
		/* Fin listener sur le bouton "Imprimer" */
	


		/* Début listener sur le bouton "Analyse et objectifs" */
		
		$(document).on("click", "#analyse", function() {
			console.log("click #analyse");
			getAnalyseObjectifs();
		});
		
		/* Fin listener sur le bouton "Analyse et objectifs" */
	});



	/* Début listener swipe/drag sur la page (astuce iPad) */

	// $(window).hammer().on('drag swipe', function(e) {
	// 		e.gesture.preventDefault();
	// 	});

	/* Fin listener swipe/drag sur la page (astuce iPad) */
});