/// VARIABLES GLOBALES///
reboot_on="non";

/// ONGLETS
function multiClass(eltId) {
	arrLinkId = new Array('_0','_1','_2','_3');
	intNbLinkElt = new Number(arrLinkId.length);
	arrClassLink = new Array('current','ghost');
	strContent = new String()
	for (i=0; i<intNbLinkElt; i++) {
		strContent = "menu"+arrLinkId[i];
		if ( arrLinkId[i] == eltId ) {
			document.getElementById(arrLinkId[i]).className = arrClassLink[0];
			document.getElementById(strContent).className = 'on content';
		} else {
			document.getElementById(arrLinkId[i]).className = arrClassLink[1];
			document.getElementById(strContent).className = 'off content';
		}
	}	
}

/// SECTION GLOBALE ///

function creerRequete() {
    try {
        requete = new XMLHttpRequest(); /* On essaye de créer un objet XmlHTTPRequest */
    } catch (microsoft) {
        /* Microsoft utilise une autre technique, on tente de créer un objet ActiveX */
        try {
            requete = new ActiveXObject('Msxml2.XMLHTTP');
        } catch(autremicrosoft) {
            /* On en teste une autre méthode si la première n'a pas marchée */
            try {
                requete = new ActiveXObject('Microsoft.XMLHTTP');
            } catch(echec) {
                /* Si aucune méthode ne fonctionne, il ne reste plus qu'à mettre à jour le navigateur ! */
                requete = null;
            }
        }
    }
    if(requete == null) {
        alert('Votre navigateur ne semble pas supporter les objets XMLHttpRequest.');
    }
	
	 return requete;
} 

function Loading(div) {
	document.getElementById(div).innerHTML = "<img src=\"img/ajax_loader.gif\" alt=\"Loading\" />";
	}

/// SECTION CONNEXION ADMIN ///

function VerifConnexion()
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var ident = document.getElementById('ident').value;
	var numero = document.getElementById('numero').value;
	var mdp = document.getElementById('mdp').value;
	var autologon = document.getElementById('autologon').value;
	var type_interface = document.getElementById('type_interface').value;
	
	var queryString = "ident="+ident+"&numero="+numero+"&mdp="+mdp+"&autologon="+autologon+"&type_interface="+type_interface;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_connexion.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("err");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
	{
		if(AjaxRequete.status == 200)
		{
			if(AjaxRequete.responseText == 1)
			{ 
				document.getElementById("err").innerHTML = "<span class='txt_rouge'>Erreur : hotspot inconnu</span>"; return false; 
			}			
			else if(AjaxRequete.responseText == 2)
			{ 
				document.getElementById("err").innerHTML = "<span class='txt_rouge'>Erreur : mot de passe incorrect pour le type sélectionné</span>"; return false; 
			}
			else if(AjaxRequete.responseText == 3)
			{ 
				document.getElementById("err").innerHTML = "<span class='txt_vert'>Connexion réussie</span>"; return true;	
			}	
			else 
			{
				document.getElementById("err").innerHTML = "<span class='txt_rouge'>Erreur : "+AjaxRequete.responseText+"</span>"; return false; 
			}
		}
	}
		
	return false;
}

/// SECTION GESTION DES USERS

function DesactiverUser(user,hotspot)
{
	
	if(!window.confirm('Voulez vous désactiver l\'utilisateur '+user+' sur votre hotspot !')){ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'> Désactivation annulée !</span><br /><br />"; return false; }
	
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "user="+user+"&id_hotspot="+hotspot;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_desactiver_user.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_users");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span><br /><br />"; return false; }
				
				else if(AjaxRequete.responseText == 2)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span><br /><br />"; return false; }	
				else {
					document.getElementById("info_users").innerHTML = "<span class='txt_vert'>L'utilisateur <u>"+user+"</u> est désactivé !</span><br /><br />"; 	
					document.getElementById("status_"+user).innerHTML = "<img src=\"img/ico_status/standby-2.png\" style=\"margin-right:5px;cursor:pointer;vertical-align:top;\" onmouseover=\"this.src='img/ico_status/standby-2.png'\" onmouseout=\"this.src='img/ico_status/standby-2.png'\" onclick=\"ActiverUser('"+user+"','"+hotspot+"')\" />";
					return true;
				}
			}
		}
}

function ActiverUser(user,hotspot)
{
	
	if(!window.confirm('Voulez vous activer l\'utilisateur '+user+' sur votre hotspot !')){ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'> Activation annulée !</span>"; return false; }
	
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "user="+user+"&id_hotspot="+hotspot;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_activer_user.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_users");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu ! </span><br /><br />"; return false; }
				
				else if(AjaxRequete.responseText == 2)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu ! </span><br /><br />"; return false; }	
				else {
					document.getElementById("info_users").innerHTML = "<span class='txt_vert'>L'utilisateur <u>"+user+"</u> est activé !</span><br /><br />"; 	
					document.getElementById("status_"+user).innerHTML = "<img src=\"img/ico_status/up-2.png\" style=\"margin-right:5px;cursor:pointer;vertical-align:top;\" onmouseover=\"this.src='img/activer_change.png'\" onmouseout=\"this.src='img/ico_status/up-2.png'\" onclick=\"DesactiverUser('"+user+"','"+hotspot+"')\" />";

					return true;
				}
			}
		}
}

function SupprimerUser(user,hotspot)
{
	
	if(!window.confirm('Voulez vous supprimer l\'utilisateur '+user+' de votre hotspot !')){ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'> Suppression annulée !</span>"; return false; }

	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "user="+user+"&id_hotspot="+hotspot;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_supprimer_user.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_users");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span><br /><br />"; return false; }
				
				else if(AjaxRequete.responseText == 2)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span><br /><br />"; return false; }	
				else {
					document.getElementById("info_users").innerHTML = "<span class='txt_vert'>L'utilisateur <u>"+user+"</u> est supprimé !</span><br /><br />"; 	
					liste_users();
					return true;
				}
			}
		}
}

function ModeUser(user,param)
{

	var value = document.getElementById('input_'+param+'_'+user).value;
	if(value == "" && param == "password"){ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Le nouveau mot de passe ne peut être vide.</span><br /><br />"; return false;}

	// Modification du paramètre
	var AjaxRequete = creerRequete();
	
	var queryString = "value="+value+"&param="+param+"&user="+user;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_mod_users.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_users");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>L'utilisateur utilisé éxiste déjà !</span><br /><br />"; return false; }
				
				else if(AjaxRequete.responseText == 2)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Le mot de passe ne peut être vide !</span><br /><br />"; return false; }	
				else {
					document.getElementById("info_users").innerHTML = "<span class='txt_vert'>Modification OK</span><br /><br />"; 	
					liste_users();
					return true;
				}
			}
		}
}

function ModeUserExpi(user,param)
{
	var expi = document.getElementById('expi'+'_'+user).value;
	var Heure_user = document.getElementById('Heure_user'+'_'+user).value;
	var Minute_user = document.getElementById('Minute_user'+'_'+user).value;
	var limite = document.getElementById('input_limite_temps'+'_'+user).value;

	if(expi != "")
	{
		var buf = expi.split("/");
		var value = buf[2]+"-"+buf[1]+"-"+buf[0]+"-"+" "+Heure_user+":"+Minute_user+":00";
	}
	
	// Modification du paramètre
	var AjaxRequete = creerRequete();
	
	var queryString = "value="+value+
	"&user="+user+
	"&param="+param+
	"&expi="+expi+
	"&limite="+limite+
	"&Heure_user="+Heure_user+
	"&Minute_user="+Minute_user;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_mod_users.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_users");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>L'utilisateur utilisé éxiste déjà !</span><br /><br />"; return false; }
				
				else if(AjaxRequete.responseText == 2)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Le mot de passe ne peut être vide !</span><br /><br />"; return false; }	
				else if(AjaxRequete.responseText == 4)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>La date d'expiration n'est pas valide !</span><br /><br />"; return false; }
				else if(AjaxRequete.responseText == 5)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>La date d'expiration ne peut être antérieur à la date d'aujourd'hui !</span><br /><br />"; return false; }
				else {
					document.getElementById("info_users").innerHTML = "<span class='txt_vert'>Modification OK</span><br /><br />"; 	
					liste_users();
					return true;
				}
			}
		}
}

function liste_users()
{	
	liste_users_tri('non','ASC','1');
}

function liste_users_rech(event)
{	
	var filtre_hotspot = document.getElementById('filtre_hotspot').value;
	if(filtre_hotspot == "utilisateur, commentaire" ) filtre_hotspot = "";
	
	if((event.which == 16 || event.keyCode == 16) && filtre_hotspot.length != 0) return false;
	if((event.which == 37 || event.keyCode == 37) && filtre_hotspot.length != 0) return false;
	if((event.which == 8 || event.keyCode == 8) && filtre_hotspot.length != 0) return false;
	if((event.which == 46 || event.keyCode == 46) && filtre_hotspot.length != 0) return false;
	if((event.which == 32 || event.keyCode == 32) && filtre_hotspot.length != 0) return false;
	
	if(
	(
		(filtre_hotspot.length > 2)
	)
	&& 
	( (event.which > 48 || event.which < 90) || (event.keyCode > 48 || event.keyCode < 90))
	)
	{
		liste_users_tri('non','ASC','1');
	}

	return true;
}

function liste_users_tri(tri,sens,page)
{

	var filtre_hotspot = document.getElementById('filtre_hotspot').value;
	
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "tri="+tri+"&sens="+sens+"&page="+page+"&filtre_hotspot="+filtre_hotspot;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_liste_users.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading('info_users');
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span><br /><br />"; return false; }
				else {
					document.getElementById("info_users").innerHTML = ""; 	
					document.getElementById("span_table_users").innerHTML = ""+AjaxRequete.responseText;
					
					new DatePicker('.demo_jqui', { 
						pickerClass: 'datepicker_jqui', 
						positionOffset: { x: 0, y: 5 },
						format: 'd/m/Y',
						allowEmpty: true,
						months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
						days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
						yearPicker: true,
						inputOutputFormat: 'd/m/Y'
						});
					return true;
				}
			}
		}

	return true;
}

function liste_logs_connexions_users()
{
	return liste_logs_connexions_users(1);
}

function liste_logs_connexions_users(page)
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	var nb_par_page = document.getElementById('nb_par_page').value;
	var date_stats_start = document.getElementById('date_stats_start').value;
	var date_stats_end = document.getElementById('date_stats_end').value;
	
	var queryString = "page="+page+"&nb_par_page="+nb_par_page+"&date_stats_start="+date_stats_start+"&date_stats_end="+date_stats_end;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_liste_logs_connexion.php", true);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_log_users");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	AjaxRequete.onreadystatechange = function() {
		if(AjaxRequete.readyState == 4 && AjaxRequete.status == 200) {
				if(AjaxRequete.responseText == 1)
				{ document.getElementById("info_log_users").innerHTML = "<span class='txt_rouge'>Erreur : La date de début ne peut être supérieur à la date d'aujourd'hui.</span><br /><br />"; return false; }
				else if(AjaxRequete.responseText == 2) {
					document.getElementById("info_log_users").innerHTML = "<span class='txt_rouge'>Erreur : La date de fin ne peut être antérieur à la date de début.</span><br /><br />"; return false;	
				}
				else {
					document.getElementById("info_log_users").innerHTML = "<span class='txt_vert'>Les données sur la période du "+date_stats_start+" au "+date_stats_end+" ont été chargées avec succès.</span>"; 	
					document.getElementById("span_table_log_users").innerHTML = ""+AjaxRequete.responseText;
					return true;
				}
			}
		}

	return true;
}

function Users_liste_online()
{
	Users_liste_online_param(true);
}

function Users_liste_online_param(settimeout)
{
	
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "";
	var d = new Date();
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_liste_user_online.php", true);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("liste_user_online_act");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	AjaxRequete.onreadystatechange = function() {
		if(AjaxRequete.readyState == 4 && AjaxRequete.status == 200) {
				document.getElementById("liste_user_online").innerHTML = ""+AjaxRequete.responseText+"";
				document.getElementById("liste_user_online_act").innerHTML = " Dernière mise à jour : <b>"+d.getHours()+"h"+d.getMinutes()+" "+d.getSeconds()+"s</b>";
				if(settimeout) setTimeout("Users_liste_online()",60000);
				return true;
			}
		}
	
	return false;
}

function Deconnecter_user(token,id_hotspot,mac)
{
var choix = confirm('Voulez-vous déconnecter l\'utilisateur ?');
	if(choix == true) {
		// On demande si on verrouille l'utilisateur
		var lock = confirm('Voulez-vous bloquer l\'utilisateur 30 minutes ?');
		if(lock == true) { lock=1; }
		else lock=0;
			
		// Vérification du login
		var AjaxRequete = creerRequete();
		
		var queryString = "token="+token+"&id_hotspot="+id_hotspot+"&lock="+lock+"&mac="+mac;
		
		// Mode Synchrone ! Attente du résultat du serveur
		AjaxRequete.open('POST', "requetes/req_deco_users.php", false);
		AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
		
		// On patiente ;)
		Loading("liste_user_online_act");
		
		AjaxRequete.send(queryString);
			
		// l'état est à 4, requête reçu !
		if(AjaxRequete.readyState == 4)
			{
				if(AjaxRequete.status == 200)
				{
					if(AjaxRequete.responseText == 1)
					{ document.getElementById("liste_user_online_act").innerHTML = "<span class='txt_rouge'>Impossible de déconnecter l'utilisateur - ID Hotspot Manquant</span>"; return false; }
					else if(AjaxRequete.responseText == 2)
					{ document.getElementById("liste_user_online_act").innerHTML = "<span class='txt_rouge'>Impossible de déconnecter l'utilisateur - Token Manquant</span>"; return false; }	
					else {
						Users_liste_online_param(false)
						Mac_Locked_param(false)
						document.getElementById("liste_user_online_act").innerHTML = "<span class='txt_vert'>Utilisateur déconnecté.</span>"; 	
						return true;
					}
				}
			}
	
		return true;
	}
	else {
		return false;
	}
}

function Interdir_user(token,id_hotspot,mac)
{
var choix = confirm('Voulez-vous déconnecter et interdir l\'accès à cet utilisateur ?');
	if(choix == true) {
		lock=1;
			
		// Vérification du login
		var AjaxRequete = creerRequete();
		
		var queryString = "token="+token+"&id_hotspot="+id_hotspot+"&lock="+lock+"&mac="+mac+"&illimite=1";
		
		// Mode Synchrone ! Attente du résultat du serveur
		AjaxRequete.open('POST', "requetes/req_deco_users.php", false);
		AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
		
		// On patiente ;)
		Loading("liste_user_online_act");
		
		AjaxRequete.send(queryString);
			
		// l'état est à 4, requête reçu !
		if(AjaxRequete.readyState == 4)
			{
				if(AjaxRequete.status == 200)
				{
					if(AjaxRequete.responseText == 1)
					{ document.getElementById("liste_user_online_act").innerHTML = "<span class='txt_rouge'>Impossible de déconnecter l'utilisateur - ID Hotspot Manquant</span>"; return false; }
					else if(AjaxRequete.responseText == 2)
					{ document.getElementById("liste_user_online_act").innerHTML = "<span class='txt_rouge'>Impossible de déconnecter l'utilisateur - Token Manquant</span>"; return false; }	
					else {
						Users_liste_online_param(false)
						Mac_Locked_param(false)
						document.getElementById("liste_user_online_act").innerHTML = "<span class='txt_vert'>Utilisateur déconnecté.</span>"; 	
						return true;
					}
				}
			}
	
		return true;
	}
	else {
		return false;
	}
}

function Act_mdp_users()
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var test = confirm("ATTENTION, vous êtes sur le point de réinitialiser tous les mots de passe de vos utilisateurs et de vos cartes Wifi. Si vous avez imprimé ces identifiants sur des cartes, elles ne seront plus valides ! Etes-vous sur de vouloir réaliser cette opération ?");
	if(!test) return false; 
	
	var queryString = "";
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_act_mdp_users.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_users");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu ! </span><br /><br />"; return false; }
				else if(AjaxRequete.responseText == 2)
				{ document.getElementById("info_users").innerHTML = AjaxRequete.responseText+"<span class='txt_rouge'>Aucun e-mail défini pour l'envoi !</span><br /><br />"; return false; }	
				else {
					liste_users();
					document.getElementById("info_users").innerHTML = "<span class='txt_vert'> Les mots de passe des utilisateurs de votre hotspot on été réinitialisés et vous on été envoyés sur l'e-mail <b>: " + AjaxRequete.responseText + "</b> </span><br /><br />"; 	
					return true;
				}
			}
		}

	return true;
}

function Act_online_users()
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "";
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_act_online_users.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_users");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu ! </span><br /><br />"; return false; }
				else if(AjaxRequete.responseText == 2)
				{ document.getElementById("info_users").innerHTML = AjaxRequete.responseText+"<span class='txt_rouge'></span><br /><br />"; return false; }	
				else {
					liste_users();
					return true;
				}
			}
		}

	return true;
}

function Send_liste_users()
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "";
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_send_liste_users.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_users");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span><br /><br />"; return false; }
				else if(AjaxRequete.responseText == 2)
				{ document.getElementById("info_users").innerHTML = AjaxRequete.responseText+"<span class='txt_rouge'>Aucun e-mail défini pour l'envoi !</span><br /><br />"; return false; }	
				else {
					document.getElementById("info_users").innerHTML = "<span class='txt_vert'> La liste des utilisateurs <u>actifs</u> de votre hotspot vous a été envoyée sur l'e-mail <b>: " + AjaxRequete.responseText + "</b> </span><br /><br />"; 	
					return true;
				}
			}
		}

	return true;
}

function Add_X_users()
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var prefixe = document.getElementById('add_x_user_pre').value;
	var limite_temps = document.getElementById('limite_temps_x').value;
	var simult = document.getElementById('simult_x').value;
	var X_user = document.getElementById('X_user').value;
	var quota = document.getElementById('input_quota_addx').value;
	var expi = document.getElementById('expi_x').value;
	var Heure_user = document.getElementById('Heure_x_user').value;
	var Minute_user = document.getElementById('Minute_x_user').value;
	
	if(X_user < 1){
		document.getElementById("info_users_creation").innerHTML = "<span class='txt_rouge'>Vous devez définir un nombre d'utilisateur.</span><br /><br />"; return false;
		return false;
	}
	if(prefixe == "")
	{
		document.getElementById("info_users_creation").innerHTML = "<span class='txt_rouge'>Vous devez définir un préfixe.</span><br /><br />"; return false;
		return false;
	}
	
	var queryString = "prefixe="+prefixe+"&X_user="+X_user+"&expi="+expi+"&simult="+simult+"&Heure_user="+Heure_user+"&Minute_user="+Minute_user+"&limite_temps="+limite_temps+"&quota="+quota;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_add_x_user.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_users_creation");
	
	AjaxRequete.send(queryString);
	
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{
					return false;
				}
				else if(AjaxRequete.responseText == 2)
				{
					return false;
				}
				else if(AjaxRequete.responseText == 3)
				{
					document.getElementById("info_users_creation").innerHTML = "<span class='txt_rouge'>Merci de choisir un autre préfixe, celui-ci est déjà utilisé !</span><br /><br />"; 
					return false; 
				}
				else if(AjaxRequete.responseText == 5)
				{
					document.getElementById("info_users_creation").innerHTML = "<span class='txt_rouge'>La date d'expiration ne peut être antérieure à la date d'aujourd'hui !</span><br /><br />"; 
					return false; 
				}
				else if(AjaxRequete.responseText == 10)
				{
					liste_users();
					document.getElementById("info_users_creation").innerHTML = "<span class='txt_vert'>Les utilisateurs ont bien été créés et peuvent maintenant se connecter à votre hotspot !</span><br /><br />";
					return true;
				}
				else
				{
					document.getElementById("info_users_creation").innerHTML = "<span class='txt_rouge'>Une erreur est survenue !</span><br /><br />"+AjaxRequete.responseText; return false;
				}
				
			}
		}
	return true;
}

function EnregistrementUser(impression)
{
	if (!impression) { impression = false; } 
	
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var login = document.getElementById('login').value;
	var mdp = document.getElementById('mdp').value;
	var expi = document.getElementById('expi').value;
	var simult = document.getElementById('simult').value;
	var limite_temps = document.getElementById('limite_temps').value;
	var quota = document.getElementById('input_quota_add').value;
	var com = document.getElementById('com').value;
	var Heure_user = document.getElementById('Heure_user').value;
	var Minute_user = document.getElementById('Minute_user').value;
	var replace_user = document.getElementById('replace_user').checked;
	var param_imp_memo = document.getElementById('param_imp_memo').checked;
	var exemple_creation = document.getElementById('exemple_creation').selectedIndex;
	var remplacer = document.getElementById('replace_user').checked;
	
	document.getElementById('preference').value = "PROFILS|ID|"+simult+"|"+limite_temps+"|"+quota+"|"+exemple_creation+"|"+remplacer;
		
	var queryString = "login="+login+"&mdp="+mdp+"&expi="+expi+"&com="+com+"&simult="+simult+"&Heure_user="+Heure_user+"&Minute_user="+Minute_user+"&limite_temps="+limite_temps+"&quota="+quota+"&replace="+replace_user+"&param_imp_memo="+param_imp_memo+"&exemple_creation="+exemple_creation+"&remplacer="+remplacer;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_add_user.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_users_creation");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ document.getElementById("info_users_creation").innerHTML = "<span class='txt_rouge'>Une erreur est survenue ! </span><br /><br />"+AjaxRequete.responseText; return false; }
				else if(AjaxRequete.responseText == 2)
				{ document.getElementById("info_users_creation").innerHTML = "<span class='txt_rouge'>Les champs utilisateur et mot de passe ne peuvent pas être vide !</span><br /><br />"; return false; }	
				else if(AjaxRequete.responseText == 3 && !replace_user)
				{ 
					document.getElementById("info_users_creation").innerHTML = "<span class='txt_rouge'>L'utilisateur éxiste déjà !</span><br /><br />"; 
					if(confirm('L\'utilisateur éxiste déjà, voulez-vous le remplacer ?'))
					{
						document.getElementById('replace_user').checked = true;
						EnregistrementUser(impression);
					}
					return false; 
				}	
				else if(AjaxRequete.responseText == 4)
				{ document.getElementById("info_users_creation").innerHTML = "<span class='txt_rouge'>La date d'expiration n'est pas valide !</span><br /><br />"; return false; }	
				else if(AjaxRequete.responseText == 5)
				{ document.getElementById("info_users_creation").innerHTML = "<span class='txt_rouge'>La date d'expiration ne peut être antérieure à la date d'aujourd'hui !</span><br /><br />"; return false; }	
				else if(AjaxRequete.responseText == 6)
				{ document.getElementById("info_users_creation").innerHTML = "<span class='txt_rouge'>Le nombre maximum de connexions simultannées pour un utilisateur avec un quota est 1.</span><br /><br />"; return false; }	
				else if(AjaxRequete.responseText == 10)
				{ 	
					liste_users();
					document.getElementById("info_users_creation").innerHTML = "<span class='txt_vert'>L'utilisateur <b>"+login+"</b> à bien été créé et peut maintenant se connecter à votre hotspot !</span><br /><br />";
					document.getElementById('mdp').value = getPassword();
					
					if(impression) 
					{
						var currentLocation =  document.location.href;
						currentLocation = currentLocation.substring( 0 ,currentLocation.lastIndexOf( "/" ) );
							
						window.open(currentLocation+"/requetes/req_impression_tickets.php?buf=START|"+login, 'impression_carte');
					}	
					
					return true;
				}
				else
				{
					document.getElementById("info_users_creation").innerHTML = "<span class='txt_rouge'>Une erreur est survenue !</span><br /><br />"+AjaxRequete.responseText; return false;
				}
			}
		}

	return true;
	
}



function action_users(hotspot)
{
	var choix = document.getElementById('form_users_table').choix;
	var action_users_select = document.getElementById('action_users_select').value;
	
	if(action_users_select == "supp")
	{
		if(!window.confirm('Voulez vous supprimer les utilisateurs sélectionnés de votre hotspot ?')){ return false; }
	}
	if(action_users_select == "desactiver")
	{	
		if(!window.confirm('Voulez vous désactiver les utilisateurs sélectionnés de votre hotspot ?')){ return false; }
	}
	if(action_users_select == "activer")
	{
		if(!window.confirm('Voulez vous activer les utilisateurs sélectionnés de votre hotspot ?')){ return false; }
	}
	if(action_users_select == "imprimer" || action_users_select == "imprimerticket")
	{
		if(!window.confirm('Voulez vous imprimer les utilisateurs sélectionnés ?')){ return false; }
		var utilisateurs_a_imp = new Array();
	}

	var k = 0;
	if(choix.length>0){
		for (var i=0; i<choix.length;i++){
			if(choix[i].checked)
			{
				k++;
				if(action_users_select == "supp")
				{
					action_users_supprimer(choix[i].value,hotspot);
				}
				if(action_users_select == "desactiver")
				{
					action_users_desactiver(choix[i].value,hotspot);
				}
				if(action_users_select == "activer")
				{
					action_users_activer(choix[i].value,hotspot);
				}
				if(action_users_select == "imprimer" || action_users_select == "imprimerticket")
				{
					//On ajoute dans un tableau les utilisateurs sélectionnés
					utilisateurs_a_imp.push(choix[i].value);
				}
			}
		}
	}
	else{
		//Une seul checkbox choix
		if(choix.checked)
		{
			k++;
			if(action_users_select == "supp")
			{
				action_users_supprimer(choix.value,hotspot);
			}
			if(action_users_select == "desactiver")
			{
				action_users_desactiver(choix.value,hotspot);
			}
			if(action_users_select == "activer")
			{
				action_users_activer(choix.value,hotspot);
			}
			if(action_users_select == "imprimer" || action_users_select == "imprimerticket")
			{
				//On ajoute dans un tableau les utilisateurs sélectionnés
				utilisateurs_a_imp.push(choix.value);
			}
		}
	}
	
	if(k == 0)
	{
		alert("Aucun utilisateur n'est sélectionné.");
		document.getElementById('action_users_select').selectedIndex = 0;
		return false;
	}
	
	if(action_users_select == "imprimer")
	{
		imprimer_selection(utilisateurs_a_imp,hotspot);
	}else if(action_users_select == "imprimerticket")
	{
		imprimer_selection_tickets(utilisateurs_a_imp,hotspot);
	}else{
		liste_users();
	}
	
	document.getElementById('action_users_select').selectedIndex = 0;
}

function imprimer_selection(utilisateurs_a_imp,hotspot)
{
	// Vérification du login
	var AjaxRequete = creerRequete();
		
	var buf = "START";
	
	for (var i=0; i<utilisateurs_a_imp.length;i++){
		buf += "|"+utilisateurs_a_imp[i];
	}
	
	//var queryString = "buf="+base64_encode(buf);
	var queryString = "buf="+buf;
	
	var currentLocation =  document.location.href;
	currentLocation = currentLocation.substring( 0 ,currentLocation.lastIndexOf( "/" ) );
		
	window.open(currentLocation+"/requetes/req_impression_cartes.php?"+queryString, 'impression_carte');

}

function imprimer_selection_tickets(utilisateurs_a_imp,hotspot)
{
	// Vérification du login
	var AjaxRequete = creerRequete();
		
	var buf = "START";
	
	for (var i=0; i<utilisateurs_a_imp.length;i++){
		buf += "|"+utilisateurs_a_imp[i];
	}
	
	//var queryString = "buf="+base64_encode(buf);
	var queryString = "buf="+buf;
	
	var currentLocation =  document.location.href;
	currentLocation = currentLocation.substring( 0 ,currentLocation.lastIndexOf( "/" ) );
		
	window.open(currentLocation+"/requetes/req_impression_tickets.php?"+queryString, 'impression_carte');

}

function action_users_supprimer(user,hotspot)
{
	
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "user="+user+"&id_hotspot="+hotspot;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_supprimer_user.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_users");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ 
					document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span><br /><br />"; 
				}
				else if(AjaxRequete.responseText == 2)
				{ 
					document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span><br /><br />"; 
				}	
				else {
					document.getElementById("info_users").innerHTML = "<span class='txt_vert'>L'utilisateur <u>"+user+"</u> est supprimé !</span><br /><br />"; 	
				}
			}
		}
}

function action_users_desactiver(user,hotspot)
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "user="+user+"&id_hotspot="+hotspot;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_desactiver_user.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_users");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span><br /><br />"; }
				
				else if(AjaxRequete.responseText == 2)
				{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span><br /><br />"; }	
				else {
					document.getElementById("info_users").innerHTML = "<span class='txt_vert'>L'utilisateur <u>"+user+"</u> est désactivé !</span><br /><br />"; 	
					document.getElementById("status_"+user).innerHTML = "<img src=\"img/ico_status/standby-2.png\" style=\"margin-right:5px;cursor:pointer;vertical-align:top;\" onmouseover=\"this.src='img/ico_status/standby-2.png'\" onmouseout=\"this.src='img/ico_status/standby-2.png'\" onclick=\"ActiverUser('"+user+"','"+hotspot+"')\" />";
				}
			}
		}
}

function action_users_activer(user,hotspot)
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "user="+user+"&id_hotspot="+hotspot;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_activer_user.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_users");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
	{
		if(AjaxRequete.status == 200)
		{
			if(AjaxRequete.responseText == 1)
			{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu ! </span><br /><br />"; }
			
			else if(AjaxRequete.responseText == 2)
			{ document.getElementById("info_users").innerHTML = "<span class='txt_rouge'>Une erreur est survenu ! </span><br /><br />"; }	
			else {
				document.getElementById("info_users").innerHTML = "<span class='txt_vert'>L'utilisateur <u>"+user+"</u> est activé !</span><br /><br />"; 	
				document.getElementById("status_"+user).innerHTML = "<img src=\"img/ico_status/up-2.png\" style=\"margin-right:5px;cursor:pointer;vertical-align:top;\" onmouseover=\"this.src='img/ico_status/up-2.png'\" onmouseout=\"this.src='img/ico_status/up-2.png'\" onclick=\"DesactiverUser('"+user+"','"+hotspot+"')\" />";
			}
		}
	}
}


/// SECTION ENREGISTREMENT PARAMETRE ///
function EnregistrementParametre()
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var hotspot = document.getElementById('hotspot').value;
	var mail = document.getElementById('mail').value;
	var url_redirect = document.getElementById('url_redirect').value;
	var ssid = document.getElementById('ssid').value;
	
	var mdp_admin = document.getElementById('mdp_admin').value;
	var mdp_user = document.getElementById('mdp_user').value;
	var mdp1 = document.getElementById('mdp1').value;
	var mdp2 = document.getElementById('mdp2').value;
	var type_auth = document.getElementById('type_auth').value;
	
	if(type_auth=="cgu" || type_auth=="mdp") {
		document.getElementById("mdp_actuel").innerHTML = mdp1;
		}

	if(document.getElementById('limite_session').checked) 
		{ var limite_session=document.getElementById('limite_session_time').value; }
	else { var limite_session=null; }
	
	if(document.getElementById('check_email').checked) var check_email=1; else var check_email=0;
	if(document.getElementById('check_email_old').checked) var check_email_old=1; else var check_email_old=0;
	if(check_email == 0 && check_email_old == 1)
	{
		if(!confirm("Etes vous sur de vouloir désactiver la vérification des e-mails ?"))
		{
			document.getElementById('check_email').checked = true;
			document.getElementById('check_email_old').checked = true;
			return false;
		}
	}
	
	document.getElementById('check_email_old').checked = document.getElementById('check_email').checked;
	if(document.getElementById('check_auto_connect').checked) var check_auto_connect=1; else var check_auto_connect=0;
	
	if(document.getElementById('lun').checked) var lun=true; else lun=false;
	if(document.getElementById('mar').checked) var mar=true; else mar=false;
	if(document.getElementById('mer').checked) var mer=true; else mer=false;
	if(document.getElementById('jeu').checked) var jeu=true; else jeu=false;
	if(document.getElementById('ven').checked) var ven=true; else ven=false;
	if(document.getElementById('sam').checked) var sam=true; else sam=false;
	if(document.getElementById('dim').checked) var dim=true; else dim=false;
	if(document.getElementById('open_24').checked) var open_24=1; else open_24=0;
	
	var Heure_D = document.getElementById('Heure_D').value;
	var Heure_F = document.getElementById('Heure_F').value;
	
	if(document.getElementById('limite_upload_check').checked) var limite_upload=document.getElementById('limite_upload').value; else limite_upload=0;
	if(document.getElementById('limite_download_check').checked) var limite_download=document.getElementById('limite_download').value; else limite_download=0;
	
	if(mdp1==mdp2)
		{
		// On patiente ;)
		Loading("info_enregistrement");
		
		var queryString = "mail="+mail+
		"&mdp_admin="+mdp_admin+
		"&mdp_user="+mdp_user+
		"&url_redirect="+url_redirect+
		"&ssid="+ssid+
		"&check_email="+check_email+
		"&check_auto_connect="+check_auto_connect+
		"&mdp="+mdp1+
		"&type_auth="+type_auth+
		"&lun="+lun+
		"&mar="+mar+
		"&mer="+mer+
		"&jeu="+jeu+
		"&ven="+ven+
		"&sam="+sam+
		"&dim="+dim+
		"&Heure_D="+Heure_D+
		"&Heure_F="+Heure_F+
		"&open_24="+open_24+
		"&limite_session="+limite_session+
		"&limite_upload="+limite_upload+
		"&limite_download="+limite_download;
		
		// Mode Synchrone ! Attente du résultat du serveur
		AjaxRequete.open('POST', "requetes/req_enregistrement_parametre.php", false);
		AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
		
		AjaxRequete.send(queryString);
			
		// l'état est à 4, requête reçu !
		if(AjaxRequete.readyState == 4)
			{
				if(AjaxRequete.status == 200)
				{
					if(AjaxRequete.responseText == 1)
					{ document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Erreur : Adresse E-Mail incorrect</span><br /><br />"; return false; }
					
					else if(AjaxRequete.responseText == 2) {
						document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Erreur : L'heure d'ouverture ne peut pas être égale à l'heure de fermeture.</span><br /><br />"; return false;	
					}
					
					else if(AjaxRequete.responseText == 3) {
						document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Une Erreur est survenue !</span><br /><br />"; return false;	
					}
					
					else if(AjaxRequete.responseText == 5) {
						document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Erreur : Un de vos mots de passe d'administration n'est pas valide !</span><br /><br />"; return false;	
					}
					
					else if(AjaxRequete.responseText == 6) {
						document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Erreur : Votre mot de passe d'administration doit être composé d'au minimum 6 caractères !</span><br /><br />"; return false;	
					}
					
					else if(AjaxRequete.responseText == 7) {
						document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Erreur : Votre url de redirection n'est pas valide !</span><br /><br />"; return false;	
					}
					
					else {
						if(type_auth == "login") { 
							document.getElementById("div_param2").style.display='block'; 
						} else { 
							document.getElementById("div_param2").style.display='none'; 
						}
						if(type_auth == "mdp") { 
							document.getElementById("mdp_unique").style.display='block'; 
						} else { 
							document.getElementById("mdp_unique").style.display='none'; 
						}
						if(AjaxRequete.responseText == 10) {
							document.getElementById("info_enregistrement").innerHTML = "<span class='txt_vert'>Vos nouveaux paramètres viennent d'être appliqués sur votre hotspot. <br /> Vous avez modifié la limite de bande passante, vous devez redémarrer votre équipement pour que ces paramètres soit pris en compte.  <br />  <br /> </span> <center> <div class=\"acces_rapide\" id=\"RebootHotspot\" onClick=\"RebootHotspot('"+hotspot+"')\"><img src=\"img/energy_direct.png\" /> <span class=\"titre\"> Redémarrer ! </span><br /><span id=\"reboot_hotspot_"+hotspot+"\" class=\"soustitre\">Appliquez vos paramètres.</span></div> </center> "; 
							return true;	
						}else if(AjaxRequete.responseText == 8) {
							document.getElementById("info_enregistrement").innerHTML = "<span class='txt_vert'>Vos nouveaux paramètres viennent d'être appliqués sur votre hotspot. <br /> Vous avez modifié le nom de votre réseau WiFi, vous devez redémarrer votre équipement pour que ce dernier soit pris en compte.  <br />  <br /> </span> <center> <div class=\"acces_rapide\" id=\"RebootHotspot\" onClick=\"RebootHotspot('"+hotspot+"')\"><img src=\"img/energy_direct.png\" /> <span class=\"titre\"> Redémarrer ! </span><br /><span id=\"reboot_hotspot_"+hotspot+"\" class=\"soustitre\">Appliquez vos paramètres.</span></div> </center> "; 
							return true;	
						}else if(AjaxRequete.responseText == 9)
						{
							document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Une erreur est survenue lors de la modification du nom de votre réseau wifi !</span>";
							return true;	
						}else if(AjaxRequete.responseText == 0 || AjaxRequete.responseText == 4)
						{
							document.getElementById("info_enregistrement").innerHTML = "<span class='txt_vert'>Vos nouveaux paramètres viennent d'être appliqués sur votre hotspot.</span>"; 
							setTimeout("document.getElementById(\"info_enregistrement\").innerHTML = \"\"",3000);
							return true;
						}else
						{
							document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Une erreur est survenue !</span>"+AjaxRequete.responseText;
							return true;
						}
					}
				}
			}
		}
	else {
		document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Erreur : les mots de passe ne sont pas identiques</span>";
		return false;
	}
}

/// SECTION ENREGISTREMENT PARAMETRE PORTAIL PERSO ///
function EnregistrementParametrePersoPortail()
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var perso_fr = encodeURIComponent(FCKeditorAPI.GetInstance('perso_portail_fr').GetHTML());
	var perso_en = encodeURIComponent(FCKeditorAPI.GetInstance('perso_portail_en').GetHTML());
	var perso_de = encodeURIComponent(FCKeditorAPI.GetInstance('perso_portail_de').GetHTML());
	var perso_nerl = encodeURIComponent(FCKeditorAPI.GetInstance('perso_portail_nerl').GetHTML());
	var perso_es = encodeURIComponent(FCKeditorAPI.GetInstance('perso_portail_es').GetHTML());
	var perso_it = encodeURIComponent(FCKeditorAPI.GetInstance('perso_portail_it').GetHTML());
		
	var text_perso = 0;
	if(document.getElementById('text-perso-1').checked) text_perso = 1;
	
	// On patiente ;)
	Loading("info_enregistrement");
	
	var queryString = ""+
	"perso_fr="+perso_fr+
	"&perso_en="+perso_en+
	"&perso_de="+perso_de+
	"&perso_es="+perso_es+
	"&perso_it="+perso_it+
	"&perso_nerl="+perso_nerl+
	"&text_perso="+text_perso;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_enregistrement_parametre_perso_portail.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
	{
		if(AjaxRequete.status == 200)
		{
			if(AjaxRequete.responseText == 0)
			{ 
				document.getElementById("info_enregistrement").innerHTML = "<span class='txt_vert'>Vos nouveaux paramètres viennent d'être appliqués sur votre portail.</span>"; return true;
			}else
			{
				document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Une erreur est survenue !</span>"+AjaxRequete.responseText;
				return true;
			}
		}
	}

}

/// SECTION ENREGISTREMENT PARAMETRE MANAGER ///
function EnregistrementParametreManager(manager)
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var mail = document.getElementById('mail').value;
	var mdp_admin = document.getElementById('mdp_admin').value;
	var societe = document.getElementById('societe').value;
	var url_societe = document.getElementById('url_societe').value;
	
	var text_perso = 0;
	if(document.getElementById('text-perso-1').checked) text_perso = 1;

	
	var perso_fr = encodeURIComponent(FCKeditorAPI.GetInstance('perso_portail_fr').GetHTML());
	var perso_en = encodeURIComponent(FCKeditorAPI.GetInstance('perso_portail_en').GetHTML());
	var perso_de = encodeURIComponent(FCKeditorAPI.GetInstance('perso_portail_de').GetHTML());
	var perso_es = encodeURIComponent(FCKeditorAPI.GetInstance('perso_portail_es').GetHTML());
	var perso_it = encodeURIComponent(FCKeditorAPI.GetInstance('perso_portail_it').GetHTML());
	var perso_nerl = encodeURIComponent(FCKeditorAPI.GetInstance('perso_portail_nerl').GetHTML());
	
	// On patiente ;)
	Loading("info_enregistrement");
		
	var queryString = "manager="+manager+
	"&mail="+mail+
	"&mdp_admin="+mdp_admin+
	"&url_societe="+url_societe+
	"&perso_fr="+perso_fr+
	"&perso_en="+perso_en+
	"&perso_de="+perso_de+
	"&perso_es="+perso_es+
	"&perso_it="+perso_it+
	"&perso_nerl="+perso_nerl+
	"&text_perso="+text_perso+
	"&societe="+societe;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_enregistrement_parametre_manager.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	AjaxRequete.send(queryString);
			
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
	{
		if(AjaxRequete.status == 200)
		{
			if(AjaxRequete.responseText == 1)
			{ document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Erreur : Adresse E-Mail incorrect</span><br /><br />"; return false; }
			
			else if(AjaxRequete.responseText == 2) {
				document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Erreur : L'heure d'ouverture ne peut pas être égale à l'heure de fermeture.</span><br /><br />"; return false;	
			}
			
			else if(AjaxRequete.responseText == 3) {
				document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Une Erreur est survenue !</span><br /><br />"; return false;	
			}
			
			else if(AjaxRequete.responseText == 5) {
				document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Erreur : Votre mot de passe d'administration n'est pas valide !</span><br /><br />"; return false;	
			}
			
			else if(AjaxRequete.responseText == 6) {
				document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Erreur : Votre mot de passe d'administration doit être composé d'au minimum 6 caractères !</span><br /><br />"; return false;	
			}
			
			else if(AjaxRequete.responseText == 7) {
				document.getElementById("info_enregistrement").innerHTML = "<span class='txt_rouge'>Erreur : Votre url de redirection n'est pas valide !</span><br /><br />"; return false;	
			}
			
			else {
				document.getElementById("info_enregistrement").innerHTML = "<span class='txt_vert'>Vos nouveaux paramètres viennent d'être appliqués sur votre hotspot.</span>"; return true;
				//setTimeout("document.getElementById(\"info_enregistrement\").innerHTML = \"\"",3000);
			}
		}
	}
}

/// SECTION EXPORT DES DONNEES ///
function logs_export()
{	
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var date_stats_start = document.getElementById('date_stats_start').value;
	var date_stats_end = document.getElementById('date_stats_end').value;
	
	var queryString = "date_stats_start="+date_stats_start+"&date_stats_end="+date_stats_end;
	
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_export_logs_connexion.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_log_users");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ 
					document.getElementById("info_log_users").innerHTML = "<span class='txt_rouge'>Erreur : La date de début ne peut être supérieur à la date d'aujourd'hui.</span><br /><br />"; return false; 
				}
				else if(AjaxRequete.responseText == 2) {
					document.getElementById("info_log_users").innerHTML = "<span class='txt_rouge'>Erreur : La date de fin ne peut être antérieur à la date de début.</span><br /><br />"; return false;	
				}
				else {
					document.getElementById("info_log_users").innerHTML = "<span class='txt_vert'>Export réalisé avec succès, si aucun téléchargement ne se lance merci de cliquer <a href=\""+AjaxRequete.responseText+"\" target=\"blank\">ici</a></span><br /><br />"; 
					window.location = AjaxRequete.responseText;
					return true;	
				}
			}
		}
	else {
		document.getElementById("export_info").innerHTML = "<span class='txt_rouge'>Erreur : Une erreur s'est produite lors de l'export des données.</span><br /><br />";
		return false;
	}
}

/// SECTION STATS ///

function Stats_Co_Jours()
{

	var AjaxRequete = creerRequete();
	
	var nb_jour_inf = document.getElementById('periode_co_j').value;
	
	var tick=0;
	
	if(nb_jour_inf==7) tick = 7;
	else if(nb_jour_inf==15) tick = 15;
	else if(nb_jour_inf==30) tick = 30;
	else if(nb_jour_inf==90) tick = 30;
	
	var queryString = "nb_jour_inf="+nb_jour_inf;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_stats_connexion_j.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("nb_co_j");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				var retour_global_ajax = AjaxRequete.responseText.split("#");
				var retour_ajax = retour_global_ajax[0];
				var timing = retour_global_ajax[1];
				
				var graph1 = [];
				var graph1_final = [];
				var graph1=retour_ajax.split("|");
				for (var i = 0; i < graph1.length; i += 2) graph1_final.push([graph1[i], graph1[i+1]]);
				
				flot_1graph("#nb_co_j",graph1_final,"Connexion / J","rgb(237, 194, 64)",tick);	
				document.getElementById("nb_co_j_timing").innerHTML = timing;				
			
			}
		}
	else {
		document.getElementById("nb_co_j").innerHTML = "<span class='txt_rouge'>Erreur : Une erreur s'est produite</span><br /><br />";
		return false;
	}
}

function Stats_Co_Mois()
{

	var AjaxRequete = creerRequete();
	
	var tick=12;
	
	var queryString = "";
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_stats_connexion_m.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("nb_co_m");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				var retour_global_ajax = AjaxRequete.responseText.split("#");
				var retour_ajax = retour_global_ajax[0];
				var timing = retour_global_ajax[1];
				
				
				var graph1 = [];
				var graph1_final = [];
				var graph1=retour_ajax.split("|");
				for (var i = 0; i < graph1.length; i += 2) graph1_final.push([graph1[i], graph1[i+1]]);
				
				flot_1graph("#nb_co_m",graph1_final,"Connexion / Mois","rgb(237, 64, 64)",tick);	
				document.getElementById("nb_co_m_timing").innerHTML = timing;				
			}
		}
	else {
		document.getElementById("nb_co_m").innerHTML = "<span class='txt_rouge'>Erreur : Une erreur s'est produite</span><br /><br />";
		return false;
	}
}

function Stats_Data_Jours()
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var nb_jour_inf = document.getElementById('periode_data_j').value;
	
	var tick=0;
	
	if(nb_jour_inf==7) tick = 7;
	else if(nb_jour_inf==15) tick = 15;
	else if(nb_jour_inf==30) tick = 30;
	else if(nb_jour_inf==90) tick = 30;
	
	var data="SUM_IN";
	
	var queryString = "nb_jour_inf="+nb_jour_inf+"&data="+data;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_stats_data_j.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("nb_data_j");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				var retour_ajax_graph1 = AjaxRequete.responseText;			
			}
		}
	else {
		document.getElementById("nb_data_j").innerHTML = "<span class='txt_rouge'>Erreur : Une erreur s'est produite</span><br /><br />";
		return false;
	}
	
	var data="SUM_OUT";
	
	var queryString = "nb_jour_inf="+nb_jour_inf+"&data="+data;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_stats_data_j.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("nb_data_j");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				var retour_ajax_graph2 = AjaxRequete.responseText;				
			}
		}
	else {
		document.getElementById("nb_data_j").innerHTML = "<span class='txt_rouge'>Erreur : Une erreur s'est produite</span><br /><br />";
		return false;
	}
	
	var data="MOYENNE_DONNEE_IN";
	
	var queryString = "nb_jour_inf="+nb_jour_inf+"&data="+data;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_stats_data_j.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("nb_data2_j");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				var retour_ajax_graph3 = AjaxRequete.responseText;			
			}
		}
	else {
		document.getElementById("nb_data_j").innerHTML = "<span class='txt_rouge'>Erreur : Une erreur s'est produite</span><br /><br />";
		return false;
	}
	
	var data="MOYENNE_DONNEE_OUT";
	
	var queryString = "nb_jour_inf="+nb_jour_inf+"&data="+data;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_stats_data_j.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("nb_data2_j");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				var retour_ajax_graph4 = AjaxRequete.responseText;
				
				var graph1 = [];
				var graph1_final = [];
				var graph1=retour_ajax_graph1.split("|");
				for (var i = 0; i < graph1.length; i += 2) graph1_final.push([graph1[i], graph1[i+1]]);
				
				var graph2 = [];
				var graph2_final = [];
				var graph2=retour_ajax_graph2.split("|");
				for (var i = 0; i < graph2.length; i += 2) graph2_final.push([graph2[i], graph2[i+1]]);
				
				var graph3 = [];
				var graph3_final = [];
				var graph3=retour_ajax_graph3.split("|");
				for (var i = 0; i < graph3.length; i += 2) graph3_final.push([graph3[i], graph3[i+1]]);
				
				var graph4 = [];
				var graph4_final = [];
				var graph4=retour_ajax_graph4.split("|");
				for (var i = 0; i < graph4.length; i += 2) graph4_final.push([graph4[i], graph4[i+1]]);
				
				flot_2graph("#nb_data_j",graph1_final,"Traf. UP Total / J","rgb(25, 78, 146)",graph3_final,"Traf. UP Moyen / J","rgb(30, 180, 20)",tick);
				flot_2graph("#nb_data2_j",graph2_final,"Traf. DOWN Total / J","rgb(228, 40, 40)",graph4_final,"Traf. DOWN Moyen / J","rgb(237, 194, 64)",tick);
			}
		}
	else {
		document.getElementById("nb_data_j").innerHTML = "<span class='txt_rouge'>Erreur : Une erreur s'est produite</span><br /><br />";
		return false;
	}
}

function Stats_Temps_Jours()
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var nb_jour_inf = document.getElementById('periode_temps_j').value;
	
	var tick=0;
	
	if(nb_jour_inf==7) tick = 7;
	else if(nb_jour_inf==15) tick = 15;
	else if(nb_jour_inf==30) tick = 30;
	else if(nb_jour_inf==90) tick = 30;
	
	var duree="MAX_DUREE_SESSION";
	
	var queryString = "nb_jour_inf="+nb_jour_inf+"&duree="+duree;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_stats_temps_j.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("nb_temps_j");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				var retour_ajax_graph1 = AjaxRequete.responseText;			
			}
		}
	else {
		document.getElementById("nb_temps_j").innerHTML = "<span class='txt_rouge'>Erreur : Une erreur s'est produite</span><br /><br />";
		return false;
	}
	
	var duree="MOYENNE_DUREE_SESSION";
	
	var queryString = "nb_jour_inf="+nb_jour_inf+"&duree="+duree;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_stats_temps_j.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("nb_temps_j");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				var retour_ajax_graph2 = AjaxRequete.responseText;
				
				var graph1 = [];
				var graph1_final = [];
				var graph1=retour_ajax_graph1.split("|");
				for (var i = 0; i < graph1.length; i += 2) graph1_final.push([graph1[i], graph1[i+1]]);
				
				var graph2 = [];
				var graph2_final = [];
				var graph2=retour_ajax_graph2.split("|");
				for (var i = 0; i < graph2.length; i += 2) graph2_final.push([graph2[i], graph2[i+1]]);
				
				flot_2graph("#nb_temps_j",graph1_final,"Temps Connexion Max / J","rgb(208, 37, 198)",graph2_final,"Temps Connexion Moy / J","rgb(30, 180, 20)",tick);
			}
		}
	else {
		document.getElementById("nb_temps_j").innerHTML = "<span class='txt_rouge'>Erreur : Une erreur s'est produite</span><br /><br />";
		return false;
	}
}



//// SECTION MAC LOCK ////

function Mac_Locked()
{
	Mac_Locked_param(true);
}

function Mac_Locked_param(settimeout)
{
	
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "";
	var d = new Date();
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_liste_mac_lock.php", true);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("liste_mac_lock_act");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	AjaxRequete.onreadystatechange = function() {
		if(AjaxRequete.readyState == 4 && AjaxRequete.status == 200) {
				document.getElementById("liste_mac_lock").innerHTML = ""+AjaxRequete.responseText+"";
				document.getElementById("liste_mac_lock_act").innerHTML = " Dernière mise à jour : <b>"+d.getHours()+"h"+d.getMinutes()+" "+d.getSeconds()+"s</b>";
				if(settimeout) setTimeout("Mac_Locked()",90000);
				return true;
			}
		}
	
	return false;
	
}

function Deblock_MAC(id_hotspot,user_mac)
{
var choix = confirm('Voulez-vous débloquer l\'adresse MAC ?');
	if(choix == true) {
		// Vérification du login
		var AjaxRequete = creerRequete();
		
		var queryString = "user_mac="+user_mac+"&id_hotspot="+id_hotspot;
		
		// Mode Synchrone ! Attente du résultat du serveur
		AjaxRequete.open('POST', "requetes/req_mac_deblock.php", false);
		AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
		
		// On patiente ;)
		Loading("liste_mac_lock_act");
		
		AjaxRequete.send(queryString);
			
		// l'état est à 4, requête reçu !
		if(AjaxRequete.readyState == 4)
			{
				if(AjaxRequete.status == 200)
				{			
					if(AjaxRequete.responseText == 1)
					{ document.getElementById("liste_mac_lock_act").innerHTML = "<span class='txt_rouge'>Impossible de débloquer l'adresse MAC - ID Hotspot Manquant</span>"; return false; }
					else if(AjaxRequete.responseText == 2)
					{ document.getElementById("liste_mac_lock_act").innerHTML = "<span class='txt_rouge'>Impossible de débloquer l'adresse MAC - MAC Manquante</span>"; return false; }	
					else {
						Mac_Locked_param(false)
						document.getElementById("liste_mac_lock_act").innerHTML = "<span class='txt_vert'>Adresse MAC débloquée.</span>"; 	
						return true;
					}
				}
			}
	
		return true;
	}
	else {
		return false;
	}
}


//// Page Mon hotspot ////

function DeclarationEvenement(hotspot)
{
	if(!window.confirm('Vous êtes sur le point déclarer un évenement dans votre établissement : Coupure électrique, intervention ADSL, Fermeture programmée.\n\nCette action permettra à notre équipe de modifier la surveillance de votre(vos) équipement(s) pendant cette période définie.'))
	{ 
		return false; 
	}
	

	document.getElementById("fond_gris").style.height="200%";
	document.getElementById("fond_gris").style.display="block";
	document.getElementById("declarer_evenement").style.display="block";

	new DatePicker('.demo_jqui', { 
	pickerClass: 'datepicker_jqui', 
	positionOffset: { x: 0, y: 5 },
	format: 'd/m/Y',
	allowEmpty: true,
	months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
	days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
	yearPicker: true,
	inputOutputFormat: 'd/m/Y'
	});
	
	return true;
}

function ValiderEvenement(hotspot){
	
	var evenement_type = document.getElementById('evenement_type').value;
	var evenement_debut = document.getElementById('evenement_debut').value;
	var evenement_fin = document.getElementById('evenement_fin').value;
	var evenement_commentaire = document.getElementById('evenement_commentaire').value;
	
	// Préparation de la requète
	var AjaxRequete = creerRequete();
	
	var queryString = "hotspot="+hotspot+
	"&evenement_type="+evenement_type+
	"&evenement_debut="+evenement_debut+
	"&evenement_fin="+evenement_fin+
	"&evenement_commentaire="+evenement_commentaire+
	"";
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_declaration_evenement.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_action_declaration");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
	{
		if(AjaxRequete.status == 200)
		{
			if(AjaxRequete.responseText == 0)
			{ 
				document.getElementById("info_action_declaration").innerHTML = "<img src=\"img/ico_ok.png\" title=\"ico_ok\" /> <span class='txt_vert'> Evenement déclaré avec succès !</span> "; 	
				return true;
			}
			else {
				document.getElementById("info_action_declaration").innerHTML = "<span class='txt_rouge'>"+AjaxRequete.responseText+"</span>";
				return false;
			}
		}
	}
	
}

function check_hotspot_up(hotspot,check)
{
	var AjaxRequete = creerRequete();
	
	var queryString = "hotspot="+hotspot+
	'';
	
	// Mode ASynchrone ! on attend pas le résultat du serveur.
	AjaxRequete.open('POST', "requetes/req_test_sock_hotspot.php", true);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
		
	//On envoi 
	AjaxRequete.send(queryString);
	
	AjaxRequete.onreadystatechange = function() {
		if(AjaxRequete.readyState == 4 && AjaxRequete.status == 200) {
			if(AjaxRequete.responseText == 0)
			{ 
				document.getElementById("info_hotspots").innerHTML = "<img src=\"img/ico_ok.png\" title=\"ico_ok\" /> <span class='txt_vert'> Votre hotspot est redémarré !</span> "; 	 	
				document.getElementById("reboot_hotspot_"+hotspot).innerHTML = "<img src=\"img/reboot-notifier.png\" title=\"Reboot du hotspot\" style=\"filter:alpha(opacity=50);opacity: 0.5;-moz-opacity:0.5;\" /> ";
				document.getElementById("info_reboot").innerHTML = "";
				setTimeout("liste_hotspots()",2000);
				return true; 
			}
			else {
				document.getElementById("info_hotspots").innerHTML = "<img src=\"img/ico_ok.png\" title=\"ico_ok\" /> <span class='txt_vert'> Merci de patienter votre hotspot redémarre ! <img src=\"img/ajax_loader.gif\" alt=\"Loading\" /> </span> "; 	
				setTimeout("check_hotspot_up('"+hotspot+"','"+(parseInt(check)+1)+"')",8000);
				document.getElementById("info_reboot").innerHTML = "";
				return true;
			}
		}
	}
	
}

function check_hotspot_up_hot(hotspot,check)
{
	var AjaxRequete = creerRequete();
	
	var queryString = "hotspot="+hotspot+
	'';
	
	// Mode ASynchrone ! on attend pas le résultat du serveur.
	AjaxRequete.open('POST', "requetes/req_test_sock_hotspot.php", true);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
		
	//On envoi 
	AjaxRequete.send(queryString);
	
	AjaxRequete.onreadystatechange = function() {
		if(AjaxRequete.readyState == 4 && AjaxRequete.status == 200) {
			if(AjaxRequete.responseText == 0)
			{ 
				document.getElementById("info_hotspots").innerHTML = "<img src=\"img/ico_ok.png\" title=\"ico_ok\" /> <span class='txt_vert'> Votre hotspot est redémarré !</span> "; 	 	
				setTimeout("document.getElementById(\"info_hotspots\").innerHTML = ''",10000);
				
				//Le hotspot est de nouveau opérationnel on peut réactiver le bouton
				document.getElementById("RebootHotspot").style.filter='alpha(opacity=100)';
				document.getElementById("RebootHotspot").style.opacity='1';
				document.getElementById("RebootHotspot").style.cursor='pointer';
				setTimeout("document.location.reload(true)",12000);
				
				return true; 
			}
			else {
				document.getElementById("info_hotspots").innerHTML = "<img src=\"img/ico_ok.png\" title=\"ico_ok\" /> <span class='txt_vert'> Merci de patienter votre hotspot redémarre ! <img src=\"img/ajax_loader.gif\" alt=\"Loading\" /> </span> "; 	
				setTimeout("check_hotspot_up_hot('"+hotspot+"','"+(parseInt(check)+1)+"')",8000);
				return true;
			}
		}
	}
	
}

function RebootHotspotManager(hotspot)
{
	
	if(!window.confirm('Nous vous conseillons de redémarrer votre équipement seulement si vous avez modifié votre SSID/Nom de réseau WiFi ou si vous rencontrez des problèmes dans l\'utilisation de votre réseau WiFi. \n\nÊtes-vous sûr de vouloir redémarrer votre routeur WiFi ?')){ 
		//document.getElementById("reboot_hotspot_"+hotspot).innerHTML = "<span class='txt_rouge'> Reboot annulée !</span>"; 
		return false; 
	}

	// Préparation de la requète
	var AjaxRequete = creerRequete();
	
	var queryString = "hotspot="+hotspot+
	'&cmd=reboot'+
	'';
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_exec_ssh_cmd_hotspot.php", true);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("reboot_hotspot_"+hotspot);
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	AjaxRequete.onreadystatechange = function() {
		if(AjaxRequete.readyState == 4 && AjaxRequete.status == 200) {
			if(AjaxRequete.responseText == 0)
			{ 
				document.getElementById("info_hotspots").innerHTML = "<img src=\"img/ico_ok.png\" title=\"ico_ok\" /> <span class='txt_vert'> Merci de patienter votre hotspot redémarre ! <img src=\"img/ajax_loader.gif\" alt=\"Loading\" /> &nbsp; &nbsp;</span> "; 	
				setTimeout("check_hotspot_up('"+hotspot+"','1')",10000);
				return true;
			}
			else if(str_contain(AjaxRequete.responseText,'php_network_getaddresses'))
			{
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_rouge'>Une action est déjà en cours. </span> : "+AjaxRequete.responseText;
				//document.getElementById("reboot_hotspot_"+hotspot).innerHTML = "<img src=\"img/reboot-notifier.png\" style=\"cursor:pointer;\" title=\"Reboot du hotspot\" onclick=\"RebootHotspotManager('"+hotspot+"')\" />";
				//document.getElementById("reboot_hotspot_"+hotspot).innerHTML = "Redémarrez votre routeur.";
				//setTimeout("document.getElementById(\"reboot_hotspot_"+hotspot+"\").innerHTML = \"Redémarrez votre routeur.\"",10000);
				return false;
			}
			else {
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_rouge'>Erreur lors du redémarrage. </span> : "+AjaxRequete.responseText;
				//document.getElementById("reboot_hotspot_"+hotspot).innerHTML = "<img src=\"img/reboot-notifier.png\" style=\"cursor:pointer;\" title=\"Reboot du hotspot\" onclick=\"RebootHotspotManager('"+hotspot+"')\" />";
				//document.getElementById("reboot_hotspot_"+hotspot).innerHTML = "Redémarrez votre routeur.";
				//setTimeout("document.getElementById(\"reboot_hotspot_"+hotspot+"\").innerHTML = \"Redémarrez votre routeur.\"",10000);
				return false;
			}
		}
	}
	
	return false;
	
}

function RebootHotspot(hotspot)
{
	
	if(!window.confirm('Nous vous conseillons de redémarrer votre équipement seulement si vous avez modifié votre SSID/Nom de réseau WiFi ou si vous rencontrez des problèmes dans l\'utilisation de votre réseau WiFi. \n\nÊtes-vous sûr de vouloir redémarrer votre routeur WiFi ?')){ 
		//document.getElementById("reboot_hotspot_"+hotspot).innerHTML = "<span class='txt_rouge'> Reboot annulée !</span>"; 
		return false; 
	}
	
	if(reboot_on != "non"){ alert('Redémarrage en cours du hotspot !'+reboot_on); return false; }

	reboot_on = "oui";
	
	// Préparation de la requète
	var AjaxRequete = creerRequete();
	
	var queryString = "hotspot="+hotspot+
	'&cmd=reboot'+
	'';
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_exec_ssh_cmd_hotspot.php", true);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("reboot_hotspot_"+hotspot);
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	AjaxRequete.onreadystatechange = function() {
		if(AjaxRequete.readyState == 4 && AjaxRequete.status == 200) {
			if(AjaxRequete.responseText == 0)
			{ 
				document.getElementById("RebootHotspot").style.filter='alpha(opacity=40)';
				document.getElementById("RebootHotspot").style.opacity='0.4';
				document.getElementById("RebootHotspot").style.cursor='default';
				document.getElementById("RebootHotspot").onclick="";
				
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_vert'> Merci de patienter votre hotspot redémarre ! <img src=\"img/ajax_loader.gif\" alt=\"Loading\" /> &nbsp; &nbsp;</span> "; 	
				setTimeout("check_hotspot_up_hot('"+hotspot+"','1')",10000);
				setTimeout("document.getElementById(\"reboot_hotspot_"+hotspot+"\").innerHTML = \"Redémarrez votre routeur.\"",500);
				return true;
			}
			else if(str_contain(AjaxRequete.responseText,'php_network_getaddresses'))
			{
				document.getElementById("reboot_hotspot_"+hotspot).innerHTML = "<span class='txt_rouge'>Une action est déjà en cours. </span>"+AjaxRequete.responseText;
				setTimeout("document.getElementById(\"reboot_hotspot_"+hotspot+"\").innerHTML = \"Redémarrez votre routeur.\"",10000);
				reboot_on = "non";
				return false;
			}
			else 
			{
				document.getElementById("reboot_hotspot_"+hotspot).innerHTML = "<span class='txt_rouge'>Erreur lors du redémarrage. </span>"+AjaxRequete.responseText;
				setTimeout("document.getElementById(\"reboot_hotspot_"+hotspot+"\").innerHTML = \"Redémarrez votre routeur.\"",10000);
				reboot_on = "non";
				return false;
			}
		}
	}
	
	return false;
	
}

function liste_mac_email_temp()
{
	liste_mac_email_temp_param(true)
}

function liste_mac_email_temp_param(settimeout)
{

	var AjaxRequete = creerRequete();
	
	var queryString = "";
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_liste_emails_valides_temp.php", true);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("span_liste_mac_email_temp");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	AjaxRequete.onreadystatechange = function() {
		if(AjaxRequete.readyState == 4 && AjaxRequete.status == 200) {
				var d = new Date();
				document.getElementById("span_liste_mac_email_temp").innerHTML = "";
				document.getElementById("liste_mac_email_temp").innerHTML = ""+AjaxRequete.responseText;
				document.getElementById("liste_mac_email_temp_act").innerHTML = " Dernière mise à jour : <b>"+d.getHours()+"h"+d.getMinutes()+" "+d.getSeconds()+"s</b>";
				if(settimeout) setTimeout("liste_mac_email_temp()",120000);
				return true;
			}
		}

	return true;
}

function ActiverMailValide(user_mac,email)
{
	
	if(!window.confirm('Voulez vous valider le couple '+user_mac+'/'+email+' ?')){ document.getElementById("span_liste_mac_email_temp").innerHTML = "<span class='txt_rouge'> Validation annulée !</span>"; return false; }

	var AjaxRequete = creerRequete();
	
	var queryString = "user_mac="+user_mac+"&email="+email;
		
	// Mode ASynchrone ! on attend pas le résultat du serveur.
	AjaxRequete.open('POST', "requetes/req_validation_mac_email.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("span_liste_mac_email_temp");
	
	//On envoi 
	AjaxRequete.send(queryString);
	
	if(AjaxRequete.readyState == 4 && AjaxRequete.status == 200) {
		if(AjaxRequete.responseText == 1)
		{ 
			document.getElementById("span_liste_mac_email_temp").innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span>"; return false; 
		}
		else if(AjaxRequete.responseText == 2)
		{ 
			document.getElementById("span_liste_mac_email_temp").innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span>"; return false; 
		}	
		else {
			document.getElementById("span_liste_mac_email_temp").innerHTML = "<span class='txt_vert'>Le couple a été validée !</span>"; 	
			liste_mac_email_temp_param(false);
			return true;
		}
	}
}

/* Page Support */

function ValiderTicketOuverture(hotspot){
	
	var support_type = document.getElementById('support_type').value;
	var support_sujet = document.getElementById('support_sujet').value;
	var support_commentaire = document.getElementById('support_commentaire').value;
	
	// Préparation de la requète
	var AjaxRequete = creerRequete();
		
	var queryString = "hotspot="+hotspot+
	"&support_type="+support_type+
	"&support_sujet="+support_sujet.replace('&', ' et ')+
	"&support_commentaire="+support_commentaire.replace('&', ' et ')+
	"";
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_ouverture_ticket.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_action_ouverture_ticket");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
	{
		if(AjaxRequete.status == 200)
		{
			if(AjaxRequete.responseText == 0)
			{ 
				document.getElementById("info_action_ouverture_ticket").innerHTML = "<img src=\"img/ico_ok.png\" title=\"ico_ok\" /> <span class='txt_vert'> Votre demande de support a été ouverte avec succès !</span> "; 	
				liste_tickets_ouverts();
				return true;
			}
			else {
				document.getElementById("info_action_ouverture_ticket").innerHTML = "<span class='txt_rouge'>"+AjaxRequete.responseText+"</span>";
				liste_tickets_ouverts();
				return false;
			}
		}
	}	
}

function ValiderTicketRepondre(hotspot){
	
	var support_sujet = document.getElementById('support_sujet_repondre').value;
	var support_commentaire = document.getElementById('support_commentaire_repondre').value;
	
	// Préparation de la requète
	var AjaxRequete = creerRequete();
	
	var queryString = "hotspot="+hotspot+
	"&support_sujet="+support_sujet.replace('&', ' et ')+
	"&support_commentaire="+support_commentaire.replace('&', ' et ')+
	"";
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_repondre_ticket.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_action_repondre");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
	{
		if(AjaxRequete.status == 200)
		{
			if(AjaxRequete.responseText == 0)
			{ 
				document.getElementById("info_action_repondre").innerHTML = "<img src=\"img/ico_ok.png\" title=\"ico_ok\" /> <span class='txt_vert'> Votre réponse a été transmise avec succès !</span> "; 	
				liste_tickets_ouverts();
				return true;
			}
			else {
				document.getElementById("info_action_repondre").innerHTML = "<span class='txt_rouge'>"+AjaxRequete.responseText+"</span>";
				liste_tickets_ouverts();
				return false;
			}
		}
	}	
}

function CloreTicket(hotspot){
	
	var support_sujet = document.getElementById('support_sujet_cloture').value;
	var support_commentaire = document.getElementById('support_commentaire_cloture').value;
	
	// Préparation de la requète
	var AjaxRequete = creerRequete();
	
	var queryString = "hotspot="+hotspot+
	"&support_sujet="+support_sujet.replace('&', ' et ')+
	"&support_commentaire="+support_commentaire.replace('&', ' et ')+
	"";
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_cloture_ticket.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_action_cloture");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
	{
		if(AjaxRequete.status == 200)
		{
			if(AjaxRequete.responseText == 0)
			{ 
				document.getElementById("info_action_cloture").innerHTML = "<img src=\"img/ico_ok.png\" title=\"ico_ok\" /> <span class='txt_vert'> Vos remarques et la demande de fermeture du ticket ont été transmises avec succès !</span> "; 	
				return true;
			}
			else {
				document.getElementById("info_action_cloture").innerHTML = "<span class='txt_rouge'>"+AjaxRequete.responseText+"</span>";
				return false;
			}
		}
	}	
}

function liste_tickets_ouverts()
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "";
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_ticket_ouvert.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading('span_infos_tickets_ouverts');
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ document.getElementById("span_infos_tickets_ouverts").innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span><br /><br />"; return false; }
				else {
					document.getElementById("span_infos_tickets_ouverts").innerHTML = ""; 	
					if(document.getElementById("ticket_open") != null){
						if(document.getElementById("ticket_open").value == "non")
						{
							document.getElementById("span_tickets_ouverts").innerHTML = ""+AjaxRequete.responseText;
						}
					}else{
						document.getElementById("span_tickets_ouverts").innerHTML = ""+AjaxRequete.responseText;
					}
					setTimeout("liste_tickets_ouverts()",59000);
					return true;
				}
			}
		}

	return true;
}

function liste_tickets_historique()
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "";
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_ticket_historique.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading('span_infos_tickets_historique');
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ document.getElementById("span_infos_tickets_historique").innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span><br /><br />"; return false; }
				else {
					document.getElementById("span_infos_tickets_historique").innerHTML = ""; 	
					if(document.getElementById("ticket_historique") != null){
						if(document.getElementById("ticket_historique").value == "non")
						{
							document.getElementById("span_tickets_historique").innerHTML = ""+AjaxRequete.responseText;
						}
					}else{
						document.getElementById("span_tickets_historique").innerHTML = ""+AjaxRequete.responseText;
					}
					setTimeout("liste_tickets_historique()",350000);
					return true;
				}
			}
		}

	return true;
}

function CloseElement(name,num_ticket){	
	var x=document.getElementsByName(name);
	for(var i=0;i<x.length;i++)
	{	
		if('tr_detail_ticket_'+num_ticket != x[i].id) x[i].style.display='none';
	}
}

function Aff_detail_ticket(num_ticket,nb_ticket,historique)
{
	CloseElement('tr_detail_ticket_ouvert',num_ticket);
	CloseElement('tr_detail_ticket_historique',num_ticket);

	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "num_ticket="+num_ticket+"&historique="+historique;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_ticket_detail.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading('loupe_detail_ticket_'+num_ticket);
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				if(AjaxRequete.responseText == 1)
				{ document.getElementById('detail_ticket_'+num_ticket).innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span><br /><br />"; return false; }
				else {
					document.getElementById('detail_ticket_'+num_ticket).innerHTML = ""+AjaxRequete.responseText; 	
					document.getElementById('loupe_detail_ticket_'+num_ticket).innerHTML = "<img src=\"img/search.png\" class=\"detail_ticket_img\" onClick=\"Aff_detail_ticket('"+num_ticket+"','"+nb_ticket+"')\" />";
					Aff_detail_reponse(num_ticket,nb_ticket,historique);
					return true;
				}
			}
		}

	return true;
}

function Aff_detail_reponse(num_ticket,conv,historique)
{
	// Vérification du login
	var AjaxRequete = creerRequete();
	
	var queryString = "num_ticket="+num_ticket+"&conv="+conv+"&historique="+historique;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_ticket_detail_contenu.php", false);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading('contenu_detail_'+num_ticket);
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	if(AjaxRequete.readyState == 4)
		{
			if(AjaxRequete.status == 200)
			{
				var retour=AjaxRequete.responseText.split("|##|");
				if(retour[1] == 1)
				{ 
					document.getElementById('contenu_detail_'+num_ticket).innerHTML = "<span class='txt_rouge'>Une erreur est survenu !</span><br /><br />"; return false; }
				else {					
				
					document.getElementById('nb_ticket_'+num_ticket).value = retour[0];
					var nb_ticket = document.getElementById('nb_ticket_'+num_ticket).value;
					
					for(var i=1;i<=nb_ticket;i++) { 
						document.getElementById('tr_liste_detail_ticket_'+num_ticket+'_'+i).style.fontWeight=""; 
						document.getElementById('tr_liste_detail_ticket_'+num_ticket+'_'+i).style.backgroundColor="#FFFFFF"; 
					}
					if(conv%2 == 0){ 
						document.getElementById('tr_liste_detail_ticket_'+num_ticket+'_'+conv).style.fontWeight="bold";
						document.getElementById('tr_liste_detail_ticket_'+num_ticket+'_'+conv).style.backgroundColor="#f8dfcf"; 
					}else{
						document.getElementById('tr_liste_detail_ticket_'+num_ticket+'_'+conv).style.fontWeight="bold";
						document.getElementById('tr_liste_detail_ticket_'+num_ticket+'_'+conv).style.backgroundColor="#f8dfcf"; 
					}
					
					document.getElementById('contenu_detail_'+num_ticket).innerHTML = ""+retour[1]; 	
					return true;
				}
			}
		}

	return true;
}

/** GESTION DES HOTSPOTS MANAGERS **/

function liste_hotspots()
{
	var AjaxRequete = creerRequete();
	var rech = document.getElementById('rech_hotspot').value;
	var rech_emplacement = document.getElementById('rech_emplacement').value;
	
	var queryString = "rech="+rech+"&rech_emplacement="+rech_emplacement;
	
	// Mode ASynchrone ! on attend pas le résultat du serveur.
	AjaxRequete.open('POST', "requetes/req_liste_hotspot.php", true);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_hotspots");
	
	//On envoi 
	AjaxRequete.send(queryString);
	
	AjaxRequete.onreadystatechange = function() {
		if(AjaxRequete.readyState == 4 && AjaxRequete.status == 200) {
			if(AjaxRequete.responseText == 1)
			{ 
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_rouge'>Une erreur est survenue pendant le chargement des hotspots </span>"+AjaxRequete.responseText;
				return false; 
			}
			else {
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_vert'>La liste de vos hotspots a été chargée avec succès.</span>";
				document.getElementById("span_table_hotspots").innerHTML = ""+AjaxRequete.responseText;
				Verrouillage_Heure();
				return true;
			}
		}
	}
}

function liste_hotspots_rech_empl(event)
{
	var rech_hotspot = document.getElementById('rech_hotspot').value;
	var rech_emplacement = document.getElementById('rech_emplacement').value;
	
	if((event.which == 16 || event.keyCode == 16) && rech_hotspot.length != 0) return false;
	if((event.which == 37 || event.keyCode == 37) && rech_hotspot.length != 0) return false;
	if((event.which == 8 || event.keyCode == 8) && rech_hotspot.length != 0) return false;
	if((event.which == 46 || event.keyCode == 46) && rech_hotspot.length != 0) return false;
	if((event.which == 32 || event.keyCode == 32) && rech_hotspot.length != 0) return false;
		
	if(
	(
		(rech_emplacement.length > 1 || rech_emplacement.length == 0)
	)
	&& 
	( (event.which > 48 || event.which < 90) || (event.keyCode > 48 || event.keyCode < 90))
	)
	{
		liste_hotspots();
	}

	return true;
}

function liste_hotspots_rech(event)
{
	var rech_hotspot = document.getElementById('rech_hotspot').value;
	var rech_emplacement = document.getElementById('rech_emplacement').value;
	
	if((event.which == 16 || event.keyCode == 16) && rech_hotspot.length != 0) return false;
	if((event.which == 37 || event.keyCode == 37) && rech_hotspot.length != 0) return false;
	if((event.which == 8 || event.keyCode == 8) && rech_hotspot.length != 0) return false;
	if((event.which == 46 || event.keyCode == 46) && rech_hotspot.length != 0) return false;
	if((event.which == 32 || event.keyCode == 32) && rech_hotspot.length != 0) return false;
		
	if(
	(
		(rech_hotspot.length > 2 || rech_hotspot.length == 0) 
	)
	&& 
	( (event.which > 48 || event.which < 90) || (event.keyCode > 48 || event.keyCode < 90))
	)
	{
		liste_hotspots();
	}

	return true;
}

function EnregistrementHoraire()
{
	var choix = document.getElementById('form_hotspots_table').choix;
	
	if(document.getElementById('lun').checked) var lun=true; else lun=false;
	if(document.getElementById('mar').checked) var mar=true; else mar=false;
	if(document.getElementById('mer').checked) var mer=true; else mer=false;
	if(document.getElementById('jeu').checked) var jeu=true; else jeu=false;
	if(document.getElementById('ven').checked) var ven=true; else ven=false;
	if(document.getElementById('sam').checked) var sam=true; else sam=false;
	if(document.getElementById('dim').checked) var dim=true; else dim=false;
	if(document.getElementById('open_24').checked) var open_24=1; else open_24=0;
	
	var Heure_D = document.getElementById('Heure_D').value;
	var Heure_F = document.getElementById('Heure_F').value;
	
	var queryString ="lun="+lun+
		"&mar="+mar+
		"&mer="+mer+
		"&jeu="+jeu+
		"&ven="+ven+
		"&sam="+sam+
		"&dim="+dim+
		"&Heure_D="+Heure_D+
		"&Heure_F="+Heure_F+
		"&open_24="+open_24;
	
	var hotspots = "";
	
	var k = 0;
	if(choix.length>0){
		for (var i=0; i<choix.length;i++){
			if(choix[i].checked)
			{
				k++;
				hotspots += choix[i].value+"|";
			}
		}
	}
	else{
		//Une seul checkbox choix
		if(choix.checked)
		{
			k++;
			hotspots += choix.value+"|";
		}
	}
	
	if(k == 0)
	{
		alert("Aucun hotspot n'est sélectionné.");
		document.getElementById('action_hotspots_select').selectedIndex = 0;
		return false;
	}else
	{
		//On execute une fois la modification
		action_hotspots_mod_horaire(hotspots,queryString);
	}
		
	document.getElementById('action_hotspots_select').selectedIndex = 0;
	document.getElementById('fond_gris').style.display='none';
	document.getElementById('modification_horaire').style.display='none';
}

function EnregistrementLimite()
{
	var choix = document.getElementById('form_hotspots_table').choix;
	
	var limite_session_time = document.getElementById('limite_session_time').value;
	
	var queryString ="limite_session="+limite_session_time;
	
	var hotspots = "";
	
	var k = 0;
	if(choix.length>0){
		for (var i=0; i<choix.length;i++){
			if(choix[i].checked)
			{
				k++;
				hotspots += choix[i].value+"|";
			}
		}
	}
	else{
		//Une seul checkbox choix
		if(choix.checked)
		{
			k++;
			hotspots += choix.value+"|";
		}
	}
	
	if(k == 0)
	{
		alert("Aucun hotspot n'est sélectionné.");
		document.getElementById('action_hotspots_select').selectedIndex = 0;
		return false;
	}else
	{
		//On execute une fois la modification
		action_hotspots_mod_limite(hotspots,queryString);
	}
		
	document.getElementById('action_hotspots_select').selectedIndex = 0;
	document.getElementById('fond_gris').style.display='none';
	document.getElementById('modification_limite').style.display='none';
}

function action_hotspots()
{
	var choix = document.getElementById('form_hotspots_table').choix;
	var action_hotspots_select = document.getElementById('action_hotspots_select').value;
	
	if(action_hotspots_select == "pass_admin")
	{
		if(!window.confirm('Voulez vous modifier le mot de passe administrateur de l\'ensemble des hotspots sélectionnés ?')){ return false; }
		var value = prompt('Nouveau mot de passe d\'administration ?','');
		if(value == "" || value.length < 8){ 
			alert("Le mot de passe ne peut être vide et doit comporter au minimum 8 caractères.");
			document.getElementById('action_hotspots_select').selectedIndex = 0;
			return false; 
		}
	}
	
	
	if(action_hotspots_select == "pass")
	{
		if(!window.confirm('Voulez vous modifier le mot de passe client de l\'ensemble des hotspots sélectionnés ?')){ return false; }
		var value = prompt('Nouveau mot de passe client ?','');
		if(value == "" || value.length < 4){ 
			alert("Le mot de passe ne peut être vide et doit comporter au minimum 4 caractères.");
			document.getElementById('action_hotspots_select').selectedIndex = 0;
			return false; 
		}
	}
	
	if(action_hotspots_select == "verif-a")
	{
		if(!window.confirm('Voulez vous activer la vérification des e-mails sur l\'ensemble des hotspots sélectionnés ?')){ return false; }
		var value = 1;
	}	
	
	if(action_hotspots_select == "verif-d")
	{
		if(!window.confirm('Voulez vous désactiver la vérification des e-mails sur l\'ensemble des hotspots sélectionnés ?')){ return false; }
		var value = 0;
	}	

	if(action_hotspots_select == "horaire")
	{
		document.getElementById("fond_gris").style.height="200%";
		document.getElementById("fond_gris").style.display="block";
		document.getElementById("modification_horaire").style.display="block";
		return true;
	}
	
	if(action_hotspots_select == "limite")
	{
		document.getElementById("fond_gris").style.height="200%";
		document.getElementById("fond_gris").style.display="block";
		document.getElementById("modification_limite").style.display="block";
		return true;
	}
	
	var hotspots = "";
	
	var k = 0;
	if(choix.length>0){
		for (var i=0; i<choix.length;i++){
			if(choix[i].checked)
			{
				k++;
				hotspots += choix[i].value+"|";
				//var retour = action_hotspots_mod(choix[i].value,action_hotspots_select,value);
			}
		}
	}
	else{
		//Une seul checkbox choix
		if(choix.checked)
		{
			k++;
			hotspots += choix.value+"|";
			//var retour = action_hotspots_mod(choix[i].value,action_hotspots_select,value);
		}
	}
	
	if(k == 0)
	{
		alert("Aucun hotspot n'est sélectionné.");
		document.getElementById('action_hotspots_select').selectedIndex = 0;
		return false;
	}else
	{
		//On execute une fois la modification
		action_hotspots_mod(hotspots,action_hotspots_select,value);
	}
		
	document.getElementById('action_hotspots_select').selectedIndex = 0;
}

function action_hotspots_mod(hotspots,param,value)
{
	// Modification du paramètre
	var AjaxRequete = creerRequete();
	
	var queryString = "value="+value+"&param="+param+"&hotspots="+hotspots;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_mod_hotspots.php", true);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_hotspots");
	
	AjaxRequete.send(queryString);
	
	AjaxRequete.onreadystatechange = function() {
		if(AjaxRequete.readyState == 4 && AjaxRequete.status == 200) {
			if(AjaxRequete.responseText == 1)
			{ document.getElementById("info_hotspots").innerHTML = "<span class='txt_rouge'>Une erreur est survenue ! [1]</span>"; return false; }
			
			else if(AjaxRequete.responseText == 2)
			{ 
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_rouge'>Une erreur est survenue ! [2]</span>"; 
				return false; 
			}	
			else if(AjaxRequete.responseText == 0){
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_vert'>La modification des paramètres a été prise en compte !</span>"; 	
				setTimeout("liste_hotspots()",2000);
				return true;
			}else{
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_rouge'>Une erreur est survenue ! </span>"; 
				return false; 
			}
		}
	}
	
	return true;
}

function action_hotspots_mod_horaire(hotspots,value)
{
	// Modification du paramètre
	var AjaxRequete = creerRequete();
	
	var queryString = value+"&hotspots="+hotspots;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_mod_hotspots_horaire.php", true);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_hotspots");
	
	AjaxRequete.send(queryString);
	
	AjaxRequete.onreadystatechange = function() {
		if(AjaxRequete.readyState == 4 && AjaxRequete.status == 200) {
			if(AjaxRequete.responseText == 1)
			{ 
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_rouge'>Une erreur est survenue ! [1]</span>"; return false; }
			else if(AjaxRequete.responseText == 2)
			{ 
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_rouge'>Une erreur est survenue ! [2]</span>"; 
				return false; 
			}	
			else if(AjaxRequete.responseText == 0){
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_vert'>Les nouveaux horaires ont été pris en compte !</span>"; 	
				//setTimeout("liste_hotspots()",3000);
				return true;
			}else{
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_rouge'>Une erreur est survenue ! </span>"+AjaxRequete.responseText; 
				return false; 
			}
		}
	}
	return true;
}

function action_hotspots_mod_limite(hotspots,value)
{
	// Modification du paramètre
	var AjaxRequete = creerRequete();
	
	var queryString = value+"&hotspots="+hotspots;
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_mod_hotspots_limite.php", true);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	Loading("info_hotspots");
	
	AjaxRequete.send(queryString);
	
	AjaxRequete.onreadystatechange = function() {
		if(AjaxRequete.readyState == 4 && AjaxRequete.status == 200) {
			if(AjaxRequete.responseText == 1)
			{ 
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_rouge'>Une erreur est survenue ! [1]</span>"; return false; }
			else if(AjaxRequete.responseText == 2)
			{ 
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_rouge'>Une erreur est survenue ! [2]</span>"; 
				return false; 
			}	
			else if(AjaxRequete.responseText == 0){
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_vert'>La nouvelle limite a été prise en compte !</span>"; 	
				setTimeout("liste_hotspots()",3000);
				return true;
			}else{
				document.getElementById("info_hotspots").innerHTML = "<span class='txt_rouge'>Une erreur est survenue ! </span>"; 
				return false; 
			}
		}
	}
	return true;
}

function Users_online()
{

	var AjaxRequete = creerRequete();
	
	var queryString = "";
	
	// Mode Synchrone ! Attente du résultat du serveur
	AjaxRequete.open('POST', "requetes/req_nb_user_online.php", true);
	AjaxRequete.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
	
	// On patiente ;)
	//Loading("nb_user_online");
	
	AjaxRequete.send(queryString);
		
	// l'état est à 4, requête reçu !
	AjaxRequete.onreadystatechange = function() {
		if(AjaxRequete.readyState == 4 && AjaxRequete.status == 200) {
				document.getElementById("nb_user_online").innerHTML = ""+AjaxRequete.responseText+"";
				setTimeout("Users_online()",120000);
				return true;
			}
		}	
	return false;
}

function application_preference()
{
	var valeur = document.getElementById('preference').value;
	var buf = valeur.split("|");
	
	var buf2 = buf[4].split(":");

	document.getElementById('simult').value = buf[2];
	document.getElementById('limite_temps').value = buf[3];
	document.getElementById('exemple_creation').selectedIndex = buf[5];
	
	if(buf[6] == 1) document.getElementById('replace_user').checked = true;

	
	//Quota utilisateurs
	if(buf[4] == "-00:01:00")
	{
		document.getElementById('quota_illimite').checked = true;
		document.getElementById('quota_m_user_add').value = 0;
		document.getElementById('quota_h_user_add').value = 0;
		document.getElementById('quota_m_user_add').disabled = false;
		document.getElementById('quota_h_user_add').disabled = false;
		
		document.getElementById('tr_expiration').style.display='table-row';
		document.getElementById('tr_simult').style.display='table-row';
		document.getElementById('tr_credit').style.display='table-row';
	}else
	{	
		document.getElementById('quota_illimite').checked = false;
		document.getElementById('quota_m_user_add').disabled = false;
		document.getElementById('quota_m_user_add').selectedIndex = buf2[1];
		document.getElementById('quota_h_user_add').disabled = false;
		document.getElementById('quota_h_user_add').selectedIndex = buf2[0];
		
		document.getElementById('tr_expiration').style.display='table-row';
		document.getElementById('tr_simult').style.display='table-row';
		document.getElementById('tr_credit').style.display='table-row';
	}
	
	maj_quota_input_add();

}

function application_profiles_creation()
{
	//Valeur de preference de creation
	var valeur_preference = document.getElementById('preference').value;
	var buf_preference = valeur_preference.split("|");
	var buf2_preference = buf_preference[4].split(":");
	
	var simult_preference = buf_preference[2];
	var limite_temps_preference = buf_preference[3];

	//Valeur de exemple creation
	var valeur = document.getElementById('exemple_creation').value;
	var buf = valeur.split("|");
	
	if(buf[0] == "TYPES")
	{
		//On repasse tous les paramètres par defaut
		document.getElementById('input_expi').innerHTML="<input name=\"expi\" id=\"expi\" type='text' style=\"height:14px;text-indent:3px;cursor:pointer;width:95px;background:url(img/cal-back.png);\" class='date demo_jqui' />";
		new DatePicker('.demo_jqui', { 
			pickerClass: 'datepicker_jqui', 
			positionOffset: { x: 0, y: 5 },
			format: 'd/m/Y',
			allowEmpty: true,
			months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
			days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
			yearPicker: true,
			inputOutputFormat: 'd/m/Y'
			});
		
		switch(buf[1]){
			case '1':
				document.getElementById('tr_expiration').style.display='none';
				document.getElementById('tr_simult').style.display='table-row';
				document.getElementById('tr_credit').style.display='none';
				
				//Sans QUOTA
				document.getElementById('quota_illimite').checked = true;
				document.getElementById('quota_m_user_add').value = 0;
				document.getElementById('quota_h_user_add').value = 0;
				document.getElementById('quota_m_user_add').disabled = false;
				document.getElementById('quota_h_user_add').disabled = false;

				//Sans LIMITE
				document.getElementById('limite_temps').value = 0;
				
				//Avec SIMULT par defaut
				document.getElementById('simult').value = simult_preference;

				
			break;
			//Utilisateur avec un crédit temps
			case '2':
				document.getElementById('tr_expiration').style.display='none';
				document.getElementById('tr_simult').style.display='table-row';
				document.getElementById('tr_credit').style.display='table-row';
				
				//Avec QUOTA par defaut
				if(buf_preference[4] == "-00:01:00")
				{
					document.getElementById('quota_illimite').checked = true;
					document.getElementById('quota_m_user_add').value = 0;
					document.getElementById('quota_h_user_add').value = 0;
					document.getElementById('quota_m_user_add').disabled = false;
					document.getElementById('quota_h_user_add').disabled = false;
				}else
				{	
					document.getElementById('quota_illimite').checked = false;
					document.getElementById('quota_m_user_add').disabled = false;
					document.getElementById('quota_m_user_add').selectedIndex = buf2_preference[1];
					document.getElementById('quota_h_user_add').disabled = false;
					document.getElementById('quota_h_user_add').selectedIndex = buf2_preference[0];
				}

				//Sans LIMITE
				document.getElementById('limite_temps').value = 0;
				
				//Avec SIMULT par defaut
				document.getElementById('simult').value = simult_preference;
				
				
			break;
			//Utilisateur expirant a une date précise
			case '3':
				document.getElementById('tr_expiration').style.display='table-row';
				document.getElementById('tr_simult').style.display='table-row';
				document.getElementById('tr_credit').style.display='none';
				
				//Sans QUOTA
				document.getElementById('quota_illimite').checked = true;
				document.getElementById('quota_m_user_add').value = 0;
				document.getElementById('quota_h_user_add').value = 0;
				document.getElementById('quota_m_user_add').disabled = false;
				document.getElementById('quota_h_user_add').disabled = false;
				
				//Avec LIMITE par defaut
				document.getElementById('limite_temps').value = limite_temps_preference;
				
				//Avec SIMULT par defaut
				document.getElementById('simult').value = simult_preference;

			break;
			//Utilisateur avec toute les restrictions
			case '4':
				document.getElementById('tr_expiration').style.display='table-row';
				document.getElementById('tr_simult').style.display='table-row';
				document.getElementById('tr_credit').style.display='table-row';
				
				//Avec QUOTA par defaut
				if(buf_preference[4] == "-00:01:00")
				{
					document.getElementById('quota_illimite').checked = true;
					document.getElementById('quota_m_user_add').value = 0;
					document.getElementById('quota_h_user_add').value = 0;
					document.getElementById('quota_m_user_add').disabled = false;
					document.getElementById('quota_h_user_add').disabled = false;
				}else
				{	
					document.getElementById('quota_illimite').checked = false;
					document.getElementById('quota_m_user_add').disabled = false;
					document.getElementById('quota_m_user_add').selectedIndex = buf2_preference[1];
					document.getElementById('quota_h_user_add').disabled = false;
					document.getElementById('quota_h_user_add').selectedIndex = buf2_preference[0];
				}
				
				//Avec LIMITE par defaut
				document.getElementById('limite_temps').value = limite_temps_preference;
				
				//Avec SIMULT par defaut
				document.getElementById('simult').value = simult_preference;
			break;
		}
	}else
	{
		
		var buf2 = buf[4].split(":");

		document.getElementById('simult').value = buf[2];
		document.getElementById('limite_temps').value = buf[3];
		
		//Quota utilisateurs
		if(buf[4] == "-00:01:00")
		{
			document.getElementById('quota_illimite').checked = true;
			document.getElementById('quota_m_user_add').value = 0;
			document.getElementById('quota_h_user_add').value = 0;
			document.getElementById('quota_m_user_add').disabled = false;
			document.getElementById('quota_h_user_add').disabled = false;
			
			document.getElementById('tr_expiration').style.display='table-row';
			document.getElementById('tr_simult').style.display='table-row';
			document.getElementById('tr_credit').style.display='table-row';
		}else
		{	
			document.getElementById('quota_illimite').checked = false;
			document.getElementById('quota_m_user_add').disabled = false;
			document.getElementById('quota_m_user_add').selectedIndex = buf2[1];
			document.getElementById('quota_h_user_add').disabled = false;
			document.getElementById('quota_h_user_add').selectedIndex = buf2[0];
			
			document.getElementById('tr_expiration').style.display='table-row';
			document.getElementById('tr_simult').style.display='table-row';
			document.getElementById('tr_credit').style.display='table-row';
		}
	}
	//nouveau mot de passe
	document.getElementById('mdp').value = getPassword();
	
	maj_quota_input_add();
}

function getPassword() {
	var numChars = '123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ';
	var num = '123456789';

	var randomnumber=Math.floor(Math.random()*11)
	var mdp = ""+num[randomFromTo(0,8)];
	for(i=0;i<7;i++) mdp += numChars[randomFromTo(0,58)];
	return mdp;
}

function randomFromTo(from, to){
       return Math.floor(Math.random() * (to - from + 1) + from);
    }
