var AL_indice = '1';
var AL_color = 'ms';

/*******************************************************
 *Renvoie la chaine avec la première lettre en UpperCase
*/
function firstUpperCase(str) {
	var first_letter = new String(str.value.charAt(0));
	return first_letter.toUpperCase()+str.value.substring(1,str.value.length);
}

/*******************************************************
 *Renvoie true si la chaine val ne contient que des espaces
*/
function test_blank_value(val) {
	var str = new String(val);
	if (str.match('^[ ]{1,}$')) {
		return true;
	}
	else {
		return false;
	}
}
/*******************************************************
 *Renvoie true si la chaine ne contient que des caractères aplhanumériques ou .,-,_
*/
function test_string(val) {
	var str = new String(val);
	if (str.match('^[-_\.0-9a-zA-Z]{0,}$')) {
		return true;
	}
	else {
		return false;
	}
}
/*******************************************************
 *Renvoie true si la chaine val correspond au masque d'email
*/
function test_email_value(val) {
	var str = new String(val);
	if (!str.match('^[-_\.0-9a-zA-Z]{1,}@[-_\.0-9a-zA-Z]{1,}[\.][0-9a-zA-Z]{2,}$')) {
		return false;
	}
	else {
		return true;
	}
}
/*******************************************************
 *Renvoie true si la chaine ne contient que des caractères aplhanumériques ou .,-,_
*/
function test_pwd_value(val) {
	var str = new String(val);
	if (!str.match('^[-_\.0-9a-zA-Z]{1,}$')) {
		return false;
	}
	else {
		return true;
	}
}
/*******************************************************
 *Test le nom
*/
function test_lastname(obj) {
	if (test_blank_value(obj.value) || obj.value.length == 0) {
		document.getElementById("lastname_result").innerHTML = '<span class="warning">Votre nom n\'est pas pas valide</span>';
	}
	else {
		document.getElementById("lastname_result").innerHTML = '<span class="success">Votre nom est valide</span>';
	}
	obj.value = obj.value.toUpperCase();
}
/*******************************************************
 *Test le prénom 
*/
function test_firstname(obj) {
	if (test_blank_value(obj) || obj.value.length == 0) {
		document.getElementById("firstname_result").innerHTML = '<span class="warning">Votre prénom n\'est pas pas valide</span>';
	}
	else {
		document.getElementById("firstname_result").innerHTML = '<span class="success">Votre prénom est valide</span>';
	}
	obj.value = firstUpperCase(obj);
}
/*******************************************************
 *Test le mot de passe
*/
function test_pwd(val) {
	if (val.length < 4) {
		document.getElementById("pwd_result").innerHTML = '<span class="warning">Votre mot de passe doit faire au moins de 4 caractères</span>';
		return false;
	}
	if (test_blank_value(val)) {
		document.getElementById("pwd_result").innerHTML = '<span class="warning">Votre mot de passe ne doit pas contenir que des espaces</span>';
		return false;
	}
	if (!test_pwd_value(val)) {
		document.getElementById("pwd_result").innerHTML = '<span class="warning">Votre mot de passe ne doit contenir que des caractères alphanumériques ou les caractères ., -, _</span>';
		return false;
	}
	if (val != document.formulaire_inscription.pwdConfirm.value && document.formulaire_inscription.pwdConfirm.value != '') {
		document.getElementById("pwd_result").innerHTML = '<span class="warning">Votre mot de passe et sa confirmation sont différents</span>';
		return false;
	}
	else {
		document.getElementById("pwd_result").innerHTML = '<span class="success">Votre mot de passe est valide</span>';
	}
	document.getElementById("pwd_result").innerHTML = '<span class="success">Votre mot de passe est valide</span>';
	return true;
}
/*******************************************************
 *Test la confirmation de mot de passe
*/
function test_pwdconfirm(val) {
	if (val.length < 4) {
		document.getElementById("pwdconfirm_result").innerHTML = '<span class="warning">Votre mot de passe doit faire au moins 4 caractères</span>';
		return false;
	}
	if (test_blank_value(val)) {
		document.getElementById("pwdconfirm_result").innerHTML = '<span class="warning">Votre mot de passe ne doit pas contenir que des espaces</span>';
		return false;
	}
	if (!test_pwd_value(val)) {
		document.getElementById("pwdconfirm_result").innerHTML = '<span class="warning">Votre mot de passe ne doit contenir que des caractères alphanumériques ou les caractères ., -, _</span>';
		return false;
	}
	if (val != document.formulaire_inscription.pwd.value && document.formulaire_inscription.pwd.value != '') {
		document.getElementById("pwd_result").innerHTML = '<span class="warning">Votre mot de passe et sa confirmation sont différents</span>';
		return false;
	}
	else {
		if (val == document.formulaire_inscription.pwd.value) {
			document.getElementById("pwd_result").innerHTML = '<span class="success">Votre mot de passe est valide</span>';
		}
	}
	document.getElementById("pwdconfirm_result").innerHTML = '<span class="success">Votre mot de passe est valide</span>';
	return true;
}
/*******************************************************
 *Test l'identifiant
*/
function test_username(val) {
	document.getElementById("checkUserName").value = 0;
	var str = new String(val);
	if (str.length < 4) {
		document.getElementById("username_result").innerHTML = '<span class="warning">Votre identifiant doit faire au moins 4 caractères</span>';
		return false;
	}
	if (!test_string(val)) {
		document.getElementById("username_result").innerHTML = '<span class="warning">Votre identifiant ne doit contenir que des caractères alphanumériques ou les caractères ., -, _</span>';
		return false;
	}
	document.getElementById("checkUserName").value = 1;
	var XHR = new XHRConnection();
	XHR.appendData("userName", val);
	XHR.sendAndLoad("/XHR/php/test_username.php", "POST", refresh_test_username);
	document.getElementById("username_result").innerHTML = '<img src="/images/AL-'+AL_indice+'-'+AL_color+'.gif" alt="Ajax Loader" />';
	//document.getElementById("username_result").innerHTML = ' en cours ...';
}
/*******************************************************
 *Callback après vérification si l'identifiant exsite déjà
*/
function refresh_test_username(response) {
	if (response.responseText == -1) {
		document.getElementById("username_result").innerHTML = '<span class="error">Cet identifiant est interdit</span>';
		document.getElementById("checkUserName").value = 0;
		return false;
	}
	if (response.responseText > 0) {
		document.getElementById("username_result").innerHTML = '<span class="warning">Cet identifiant est déjà utilisé</span>';
		document.getElementById("checkUserName").value = 0;
	}
	else {
		document.getElementById("username_result").innerHTML = '<span class="success">Cet identifiant est libre</span>';
	}
}
/*******************************************************
 *Test l'email
*/
function test_email(val, userId) {
	document.getElementById("checkEmail").value = 0;
	if (!test_email_value(val)) {
		document.getElementById("email_result").innerHTML = '<span class="warning">Votre email n\'est pas pas valide</span>';
	}
	else {
		document.getElementById("checkEmail").value = 1;
		var XHR = new XHRConnection();
		XHR.appendData("email", val);
		if (userId != undefined) {
			XHR.appendData("userId", userId);
		}
		XHR.sendAndLoad("/XHR/php/test_email.php", "POST", refresh_test_email);
		document.getElementById("email_result").innerHTML = '<img src="/images/AL-'+AL_indice+'-'+AL_color+'.gif" alt="Ajax Loader" />';
		//document.getElementById("email_result").innerHTML = 'Traitement en cours ...';
	}
}
/*******************************************************
 *Callback après test d'existence de l'email
*/
function refresh_test_email(response) {
	if (response.responseText > 0) {
		document.getElementById("email_result").innerHTML = '<span class="warning">Cet email est déjà utilisé</span>';
		document.getElementById("checkEmail").value = 0;
	}
	else {
		document.getElementById("email_result").innerHTML = '<span class="success">Cet email est valide</span>';
	}
}

/*******************************************************
 *Test si tous les champs satisfont au formulaire d'inscription
*/
function test_signin(obj) {
	var msg = '';
	if (!obj.lastName.value) { msg += 'Veuillez saisir votre nom.\r\n'; }
	if (test_blank_value(obj.lastName.value)) { msg += 'Votre nom ne doit pas contenir que des espaces.\r\n'; }
	if (!obj.firstName.value) { msg += 'Veuillez saisir votre prénom.\r\n'; }
	if (test_blank_value(obj.firstName.value)) { msg += 'Votre prénom ne doit pas contenir que des espaces.\r\n'; }
	if (obj.checkUserName.value == 0) { msg += 'Votre identifiant n\'est pas valide.\r\n'; }
	if (!test_pwd(obj.pwd.value) || !test_pwdconfirm(obj.pwdConfirm.value)) { msg += 'Votre mot de passe n\'est pas valide.\r\n'; }
	if (!test_email_value(obj.email.value)) msg += 'Veuillez saisir un email du type "compte@domaine.extension".\r\n';
	if (obj.checkEmail.value == 0) { msg += 'Votre email n\'est pas valide.\r\n'; }
	if (msg != '') {
		alert (msg);
	}
	else {
		var XHR = new XHRConnection();
		XHR.appendData("civility", document.formulaire_inscription.civility.value);
		XHR.appendData("firstName", document.formulaire_inscription.firstName.value);
		XHR.appendData("formerName", document.formulaire_inscription.formerName.value);
		XHR.appendData("lastName", document.formulaire_inscription.lastName.value);
		XHR.appendData("address", document.formulaire_inscription.address.value);
		XHR.appendData("zipCode", document.formulaire_inscription.zipCode.value);
		XHR.appendData("city", document.formulaire_inscription.city.value);
		XHR.appendData("userName", document.formulaire_inscription.userName.value);
		XHR.appendData("email", document.formulaire_inscription.email.value);
		XHR.appendData("pwd", document.formulaire_inscription.pwd.value);
		XHR.setRefreshArea("formulaire_inscription");
		XHR.sendAndLoad("/XHR/php/user_create.php", "POST");
		document.getElementById("formulaire_inscription").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
		//document.getElementById("formulaire_inscription").innerHTML = '<p style="margin-left: 15px;">Traitement en cours ...</p>';
		document.location = '#content';
	}
	return false;
}
function test_signin_simple(obj) {
	var msg = '';
	if (!obj.lastName.value) { msg += 'Veuillez saisir votre nom.\r\n'; }
	if (test_blank_value(obj.lastName.value)) { msg += 'Votre nom ne doit pas contenir que des espaces.\r\n'; }
	if (!obj.firstName.value) { msg += 'Veuillez saisir votre prénom.\r\n'; }
	if (test_blank_value(obj.firstName.value)) { msg += 'Votre prénom ne doit pas contenir que des espaces.\r\n'; }
	if (!test_pwd(obj.pwd.value) || !test_pwdconfirm(obj.pwdConfirm.value)) { msg += 'Votre mot de passe n\'est pas valide.\r\n'; }
	if (!test_email_value(obj.email.value)) msg += 'Veuillez saisir un email du type "compte@domaine.extension".\r\n';
	if (msg != '') {
		alert (msg);
	}
	else {
	}
	return false;
}

/*******************************************************
 *Test si tous les champs satisfont au formulaire de contact
*/
function test_contact(obj) {
	var msg = '';
	if (obj.email.value) {
		str = new String(obj.email.value);
		if (!str.match('^[-_\.0-9a-zA-Z]{1,}@[-_\.0-9a-zA-Z]{1,}[\.][0-9a-zA-Z]{2,}$')) msg += 'Veuillez saisir un email du type "compte@domaine.extension".\r\n';
	}
	if (!obj.comment.value) msg += 'Veuillez saisir votre commentaire.\r\n';
	if (msg) {
		alert (msg);
	}
	else {
		var XHR = new XHRConnection();
		XHR.appendData("userName", document.getElementById("userName").value);
		XHR.appendData("email", document.getElementById("email").value);
		XHR.appendData("comment", document.getElementById("comment").value);
		XHR.setRefreshArea("formulaire_contact");
		XHR.sendAndLoad("/XHR/php/email_contact.php", "POST");
		document.getElementById("formulaire_contact").innerHTML = '<p>Traitement en cours ...</p>';
	}
	return false;
}

/*******************************************************
 *Change de position la photo
*/
function image_move(where, pictureId) {
	var XHR = new XHRConnection();
	XHR.appendData("where", where);
	XHR.appendData("pictureId", pictureId);
	XHR.setRefreshArea("photos");
	XHR.sendAndLoad("/XHR/php/picture_move.php", "POST");
	document.getElementById("photos").innerHTML = '<div style="margin: 0; padding: 2px; text-align: center;"><img src="/images/AL-'+AL_indice+'-'+AL_color+'.gif" alt="Ajax Loader" />&nbsp;</div>';
	//document.getElementById("photos").innerHTML = 'Traitement en cours ...';
}
/*******************************************************
 *Supprime la photo
*/
function image_delete(pictureId) {
	if (confirm('Etes vous sûr de vouloir effacer cette photo ?')) {
		document.formulaire.pictureId.value = pictureId;
		document.formulaire.action = '/php/user/picture_delete.php';
		document.formulaire.submit();
	}
}
/*******************************************************
 *Editer la photo
*/
function image_edit(pictureId, userName) {
	document.location = '/'+userName+'/photos/'+pictureId+'/photo_edition.html';
}

function test_file(obj) {
	if (obj.picture.value == '') {
		document.getElementById("picture").innerHTML = "<input type='hidden' name='no_picture' value='Y' />";
	}
}
/*******************************************************
 *Test les champs pour l'edition du profile
*/
function test_profile_edit(obj) {
	var msg = '';
	if (obj.dd.value != '' || obj.mm.value != '' || obj.yy.value != '') {
		str = new String(obj.dd.value+'-'+obj.mm.value+'-'+obj.yy.value);
		if (!str.match('[0-9]{2}-[0-9]{2}-[0-9]{4}')) {
			msg += 'Votre date de naissance n\'est pas valide.\r\n';
		}
	}
	if (!obj.lastName.value) { msg += 'Veuillez saisir votre nom.\r\n'; }
	if (test_blank_value(obj.lastName.value)) { msg += 'Votre nom ne doit pas contenir que des espaces.\r\n'; }
	if (!obj.firstName.value) { msg += 'Veuillez saisir votre prénom.\r\n'; }
	if (test_blank_value(obj.firstName.value)) { msg += 'Votre prénom ne doit pas contenir que des espaces.\r\n'; }
	if (!test_pwd(obj.pwd.value) || !test_pwdconfirm(obj.pwdConfirm.value)) { msg += 'Votre mot de passe n\'est pas valide.\r\n'; }
	if (!test_email_value(obj.email.value)) msg += 'Veuillez saisir un email du type "compte@domaine.extension".\r\n';
	if (msg != '') {
		alert (msg);
		return false;
	}
	else {
		test_file(obj);
		return true;
	}
}
/*******************************************************
 *Ajoute une personne aux amis
*/
function add_to_friends(userId) {
	if (confirm('Etes vous sûr de demander à cette personne d\'être votre Copaing ?')) {
		var XHR = new XHRConnection();
		XHR.appendData("userId", userId);
		XHR.setRefreshArea("add_to_friends");
		XHR.sendAndLoad("/XHR/php/add_to_friends.php", "POST");
		document.getElementById("add_to_friends").innerHTML = 'Traitement en cours ...';
	}
}
/*******************************************************
 *Supprime une personne des amis
*/
function drop_friend(userId) {
	if (confirm('Sûr de cette suppression ?')) {
		var XHR = new XHRConnection();
		XHR.appendData("userId", userId);
		XHR.setRefreshArea("amis");
		XHR.sendAndLoad("/XHR/php/drop_friend.php", "POST");
		document.getElementById("amis").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
		//document.getElementById("amis").innerHTML = 'Traitement en cours ...';
	}
}
/*******************************************************
 *Ajoute ou Supprime une personne des amis
*/
function friend_operation(key, type) {
	if (confirm('Sûr ?')) {
		var XHR = new XHRConnection();
		XHR.appendData("key", key);
		XHR.setRefreshArea("amis");
		if (type == 'ACCEPT') {
			XHR.sendAndLoad("/XHR/php/accept_friend.php", "POST");
		}
		if (type == 'REFUSE') {
			XHR.sendAndLoad("/XHR/php/refuse_friend.php", "POST");
		}
		document.getElementById("amis").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
		//document.getElementById("amis").innerHTML = 'Traitement en cours ...';
	}
}
/*******************************************************
 *Relance ou Supprime une personne des amis
*/
function friend_wait_operation(key, type) {
	if (confirm('Sûr ?')) {
		var XHR = new XHRConnection();
		XHR.appendData("key", key);
		XHR.setRefreshArea("amis");
		if (type == 'RELAUNCH') {
			XHR.sendAndLoad("/XHR/php/relaunch_friend.php", "POST");
		}
		if (type == 'CANCEL') {
			XHR.sendAndLoad("/XHR/php/cancel_friend.php", "POST");
		}
		document.getElementById("amis").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
		//document.getElementById("amis").innerHTML = 'Traitement en cours ...';
	}
}
/*******************************************************
 *Test si tous les champs satisfont au formulaire de contact
*/
function test_message(obj) {
	var msg = '';
	if (!obj.title.value) {
		msg += 'Veuillez donner un titre à votre message.\r\n';
	}
	if (!obj.message.value) msg += 'Veuillez saisir votre message.\r\n';
	if (msg) {
		alert (msg);
	}
	else {
		var XHR = new XHRConnection();
		XHR.appendData("userId", document.getElementById("userId").value);
		XHR.appendData("title", document.getElementById("title").value);
		if (document.getElementById("messageId")) {
			XHR.appendData("messageId", document.getElementById("messageId").value);
		}
		XHR.appendData("message", document.getElementById("message").value);
		XHR.setRefreshArea("formulaire_message");
		XHR.sendAndLoad("/XHR/php/send_message.php", "POST");
		document.getElementById("formulaire_message").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
		//document.getElementById("formulaire_message").innerHTML = '<p style="margin-top: 10px;">Traitement en cours ...</p>';
	}
	return false;
}
/*******************************************************
 *Lire le message
*/
function message_read(messageId) {
	var XHR = new XHRConnection();
	XHR.appendData("messageId", messageId);
	XHR.setRefreshArea("messages");
	XHR.sendAndLoad("/XHR/php/message_read.php", "POST");
	document.getElementById("messages").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
	document.location = '#content';
	//document.getElementById("messages").innerHTML = '<p style="margin: 10px 0 0 0;">Traitement en cours ...</p>';
}
/*******************************************************
 *Affiche les messages
*/
function messages_show() {
	var XHR = new XHRConnection();
	XHR.appendData("var", 1);
	XHR.setRefreshArea("messages");
	XHR.sendAndLoad("/XHR/php/messages.php", "POST");
	document.getElementById("messages").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
	document.location = '#content';
	//document.getElementById("messages").innerHTML = '<p style="margin:0;">Traitement en cours ...</p>';
}
/*******************************************************
 *Affiche les messages
*/
function message_delete(messageId) {
	if (confirm('Etes vous sûr de vouloir supprimer ce message ?')) {
		var XHR = new XHRConnection();
		XHR.appendData("messageId", messageId);
		XHR.setRefreshArea("messages");
		XHR.sendAndLoad("/XHR/php/delete_message.php", "POST");
		document.getElementById("messages").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
		//document.getElementById("messages").innerHTML = '<p style="margin: 10px 0 0 0;">Traitement en cours ...</p>';
	}
}
/*******************************************************
 *Répondre au message
*/
function message_answer(messageId) {
	var XHR = new XHRConnection();
	XHR.appendData("messageId", messageId);
	XHR.setRefreshArea("messages");
	XHR.sendAndLoad("/XHR/php/edit_message.php", "POST");
	document.getElementById("messages").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
	//document.getElementById("messages").innerHTML = '<p style="margin: 10px 0 0 0;">Traitement en cours ...</p>';
}
/*******************************************************
 *Verifie si tous champs du formulaire Parcours satisfont
*/
function test_parcours(obj) {
	var oki = 0;
	if (document.getElementById('establishment_fields').style.display == 'none') {
		if (
			!document.getElementById("name").value &&
			!document.getElementById("city").value
		) {
			alert('Veuillez renseigner au moins un des champs');
		}
		else {
			oki = 1;
			var XHR = new XHRConnection();
			XHR.appendData("name", document.getElementById("name").value);
			XHR.appendData("city", document.getElementById("city").value);
		}
	}
	else {
		if (
			!document.getElementById("type").value &&
			!document.getElementById("name").value &&
			!document.getElementById("address").value &&
			!document.getElementById("zipCode").value &&
			!document.getElementById("city").value
		) {
			alert('Veuillez renseigner au moins un des champs');
		}
		else {
			oki = 1;
			var XHR = new XHRConnection();
			XHR.appendData("type", document.getElementById("type").value);
			XHR.appendData("name", document.getElementById("name").value);
			XHR.appendData("address", document.getElementById("address").value);
			XHR.appendData("zipCode", document.getElementById("zipCode").value);
			XHR.appendData("city", document.getElementById("city").value);
		}
	}
	if (oki == 1) {
		XHR.setRefreshArea("route_result");
		XHR.sendAndLoad("/XHR/php/route_search.php", "POST");
		document.getElementById("route_result").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
		///document.getElementById("route_result").innerHTML = '<p style="margin: 0 0 20px 30px;">Traitement en cours ...</p>';
	}
	return false;
}
/*******************************************************
 *Check les champs avant la demande de modification d'un établissement
*/
function test_period_update(obj) {
	var msg = '';
	if (!document.getElementById("type").value) { msg += 'Veuillez sélectionner un type.\r\n'; }
	if (!document.getElementById("name").value) { msg += 'Veuillez saisir le nom de l\'établissement.\r\n'; }
	if (!document.getElementById("city").value) { msg += 'Veuillez saisir la ville de l\'établissement.\r\n'; }
	if (document.getElementById("name").value.length < 5) { msg += 'Le nom de l\'établissement semble trop court (inférieur à 5 caractères).\r\n'; }
	if (msg != '') {
		alert(msg);
		return false;
	}
	return false;
}
/*******************************************************
 *Affiche/Cache la période pour l'établissement choisi
*/
function show_period(id) {
	document.getElementById(id).style.display = 'block';
}
function hide_period(id) {
	document.getElementById(id).style.display = 'none';
}
/*******************************************************
 *Check les champs avant ajout de l'établissement
*/
function test_period(obj, indice, type) {
	if (!obj.period_start.value && !obj.period_end.value) {
		alert('Veuillez saisir au moins la date de début');
		return false;
	}
	if (!obj.period_start.value) {
		alert('Veuillez saisir la date de début');
		return false;
	}
	msg = '';
	if (obj.period_start.value && !obj.period_start.value.match('^[0-9]{4}$')) {
		msg += 'La date de début doit être composée de 4 chiffres.\r\n';
	}
	if (obj.period_end.value && !obj.period_end.value.match('^[0-9]{4}$')) {
		msg += 'La date de fin doit être composée de 4 chiffres.\r\n';
	}
	if (msg != '') {
		alert(msg);
	}
	else {
		var XHR = new XHRConnection();
		XHR.appendData("referer", document.location.href);
		XHR.appendData("comment", obj.comment.value);
		XHR.appendData("period_start", obj.period_start.value);
		XHR.appendData("period_end", obj.period_end.value);
		XHR.appendData("id", obj.id.value);
		XHR.setRefreshArea("route_search_result_"+indice);
		if (type == 'ADD') {
			XHR.sendAndLoad("/XHR/php/route_add.php", "POST");
			document.getElementById("route_search_result_"+indice).innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
			//document.getElementById("route_search_result_"+indice).innerHTML = '<p style="margin: 0;">Traitement en cours ...</p>';
		}
		if(type == 'UPDATE') {
			XHR.appendData("period_start_previous", obj.period_start_previous.value);
			XHR.appendData("period_end_previous", obj.period_end_previous.value);
			XHR.sendAndLoad("/XHR/php/route_edit.php", "POST");
			document.getElementById("route_search_result_"+indice).innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
			//document.getElementById("route_search_result_"+indice).innerHTML = '<p style="margin: 0;">Mise à jour en cours ...</p>';
		}
	}

	return false;
}
/*******************************************************
 *Supprime l'établissement
*/
function delete_period(indice) {
	obj = document.getElementById('formulaire_'+indice);
	if (confirm('Sûr de votre choix ?')) {
		obj.style.display = 'block';
		var XHR = new XHRConnection();
		XHR.appendData("period_start_previous", obj.period_start_previous.value);
		XHR.appendData("period_end_previous", obj.period_end_previous.value);
		XHR.appendData("id", obj.id.value);
		XHR.sendAndLoad("/XHR/php/route_delete.php", "POST");
		XHR.setRefreshArea("route_search_result_"+indice);
		document.getElementById("route_search_result_"+indice).innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
		//document.getElementById("route_search_result_"+indice).innerHTML = '<p style="margin: 0;">Traitement en cours ...</p>';
	}
}
/*******************************************************
 *Test la recherche
*/
function show_type(val) {
	if (val == 'user') {
		document.getElementById('route_form').style.display = 'none';
		document.getElementById(val+'_form').style.display = 'block';
	}
	if (val == 'route') {
		document.getElementById('user_form').style.display = 'none';
		document.getElementById(val+'_form').style.display = 'block';
	}
	document.getElementById('search_result').innerHTML = '';
	
}
/*******************************************************
 *Test la recherche
*/
function test_recherche(obj) {
	if (document.getElementById("radio_user").checked) {
		if (
			!document.getElementById("userName").value &&
			!document.getElementById("formerName").value &&
			!document.getElementById("lastName").value &&
			!document.getElementById("firstName").value &&
			!document.getElementById("cityUser").value &&
			!document.getElementById("zipCodeUser").value &&
			!document.getElementById("countryUser").value
		) {
			alert('Veuillez renseigner au moins un des champs');
		}
		else {
			var XHR = new XHRConnection();
			XHR.appendData("userName", document.getElementById("userName").value);
			XHR.appendData("formerName", document.getElementById("formerName").value);
			XHR.appendData("lastName", document.getElementById("lastName").value);
			XHR.appendData("firstName", document.getElementById("firstName").value);
			XHR.appendData("cityUser", document.getElementById("cityUser").value);
			XHR.appendData("zipCodeUser", document.getElementById("zipCodeUser").value);
			XHR.appendData("countryUser", document.getElementById("countryUser").value);
			XHR.setRefreshArea("search_result");
			XHR.sendAndLoad("/XHR/php/user_search.php", "POST");
			document.getElementById("search_result").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
			//document.getElementById("search_result").innerHTML = '<p style="margin: 0 0 20px 40px;">Traitement en cours ...</p>';
		}
	}
	if (document.getElementById("radio_route").checked) {
		var oki = 0;
		if (document.getElementById('establishment_fields').style.display == 'none') {
			if (
				!document.getElementById("name").value &&
				!document.getElementById("city").value
			) {
				alert('Veuillez renseigner au moins un des champs');
			}
			else {
				oki = 1;
				var XHR = new XHRConnection();
				XHR.appendData("name", document.getElementById("name").value);
				XHR.appendData("city", document.getElementById("city").value);
			}
		}
		else {
			if (
				!document.getElementById("type").value &&
				!document.getElementById("name").value &&
				!document.getElementById("address").value &&
				!document.getElementById("zipCode").value &&
				!document.getElementById("city").value &&
				!document.getElementById("country").value
			) {
				alert('Veuillez renseigner au moins un des champs');
			}
			else {
				oki = 1;
				var XHR = new XHRConnection();
				XHR.appendData("type", document.getElementById("type").value);
				XHR.appendData("name", document.getElementById("name").value);
				XHR.appendData("address", document.getElementById("address").value);
				XHR.appendData("zipCode", document.getElementById("zipCode").value);
				XHR.appendData("city", document.getElementById("city").value);
				XHR.appendData("country", document.getElementById("country").value);
			}
		}
		if (oki == 1) {
			XHR.setRefreshArea("search_result");
			XHR.sendAndLoad("/XHR/php/route_search.php", "POST");
			document.getElementById("search_result").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
			//document.getElementById("search_result").innerHTML = '<p style="margin: 0 0 20px 40px;">Traitement en cours ...</p>';
		}
	}
	return false;
}

/*******************************************************
 *Envoie une invitation
*/
function send_invit(obj) {
	msg = '';
	if (obj.email_invit.value) {
		str = new String(obj.email_invit.value);
		if (!str.match('^[-_\.0-9a-zA-Z]{1,}@[-_\.0-9a-zA-Z]{1,}[\.][0-9a-zA-Z]{2,}$')) msg += 'Veuillez saisir un email du type "compte@domaine.extension".\r\n';
	}
	else {
		msg += 'Veuillez saisir un email.\r\n';
	}
	if (msg != '') {
		alert(msg);
	}
	else {
		var XHR = new XHRConnection();
		XHR.appendData("email", obj.email_invit.value);
		XHR.setRefreshArea("formulaire_invitation");
		XHR.sendAndLoad("/XHR/php/send_invit.php", "POST");
		document.getElementById("formulaire_invitation").innerHTML = '<div style="text-align: center;"><img style="border: 0px none;" src="/images/AL-1-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
		//document.getElementById("formulaire_invitation").innerHTML = '<p>Traitement ...</p>';
	}
	return false;
}

/*******************************************************
 *Recuperation du mot de passe
*/
function test_remind(obj) {
	msg = '';
	if (obj.email.value) {
		str = new String(obj.email.value);
		if (!str.match('^[-_\.0-9a-zA-Z]{1,}@[-_\.0-9a-zA-Z]{1,}[\.][0-9a-zA-Z]{2,}$')) msg += 'Veuillez saisir un email du type "compte@domaine.extension".\r\n';
	}
	else {
		msg += 'Veuillez saisir un email.\r\n';
	}
	if (msg != '') {
		alert(msg);
	}
	else {
		var XHR = new XHRConnection();
		XHR.appendData("email", obj.email.value);
		XHR.setRefreshArea("formulaire_contact");
		XHR.sendAndLoad("/XHR/php/remind_password.php", "POST");
		document.getElementById("formulaire_contact").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
		//document.getElementById("formulaire_contact").innerHTML = '<p>Traitement ...</p>';
	}
	return false;
}

/*******************************************************
 *Test si l'établissement existe déjà dans la base
*/
function test_etablissement(obj) {
	var msg = '';
	if (!document.getElementById("type").value) { msg += 'Veuillez sélectionner un type.\r\n'; }
	if (!document.getElementById("name").value) { msg += 'Veuillez saisir le nom de l\'établissement.\r\n'; }
	if (!document.getElementById("city").value) { msg += 'Veuillez saisir la ville de l\'établissement.\r\n'; }
	if (document.getElementById("name").value.length < 5) { msg += 'Le nom de l\'établissement semble trop court (inférieur à 5 caractères).\r\n'; }
	//if (document.getElementById("city").value.length < 5) { msg += 'La ville de l\'établissement semble trop court (inférieur à 5 caractères).\r\n'; }
	if (msg != '') {
		alert(msg);
	}
	else {
		var XHR = new XHRConnection();
		XHR.appendData("type", document.getElementById("type").value);
		XHR.appendData("name", document.getElementById("name").value);
		XHR.appendData("address", document.getElementById("address").value);
		XHR.appendData("zipCode", document.getElementById("zipCode").value);
		XHR.appendData("city", document.getElementById("city").value);
		XHR.appendData("country", document.getElementById("country").value);
		XHR.setRefreshArea("route_result");
		XHR.sendAndLoad("/XHR/php/route_check.php", "POST");
		document.getElementById("route_result").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
		//document.getElementById("route_result").innerHTML = '<p style="margin: 0 0 20px 30px;">Traitement en cours ...</p>';
	}
	return false;
}

/*******************************************************
 *Affiche les périodes ou non lors de la création de l'établissement
*/
function period_add(obj) {
	if (obj.checked) {
		document.getElementById('div_period').style.display = 'block';
	}
	else {
		document.getElementById('div_period').style.display = 'none';
	}
}
/*******************************************************
 *Créer l'établissement
*/
function test_etablissement_create(obj) {
	if (obj.subscribe) {
		if (obj.subscribe.checked) {
			if (!obj.period_start.value && !obj.period_end.value) {
				alert('Veuillez saisir au moins la date de début');
				return false;
			}
			if (!obj.period_start.value) {
				alert('Veuillez saisir la date de début');
				return false;
			}
			msg = '';
			if (obj.period_start.value && !obj.period_start.value.match('^[0-9]{4}$')) {
				msg += 'La date de début doit être composée de 4 chiffres.\r\n';
			}
			if (obj.period_end.value && !obj.period_end.value.match('^[0-9]{4}$')) {
				msg += 'La date de fin doit être composée de 4 chiffres.\r\n';
			}
			if (msg != '') {
				alert(msg);
				return false;
			}
		}
	}
	obj.type.value = document.getElementById("type").value;
	obj.name.value = document.getElementById("name").value;
	obj.address.value = document.getElementById("address").value;
	obj.zipCode.value = document.getElementById("zipCode").value;
	obj.city.value = document.getElementById("city").value;
	obj.country.value = document.getElementById("country").value;
	return true;
}

/*******************************************************
 * Opérations sur amis
*/
function show_friend_operations() {
	document.getElementById('friend_operations').style.display = 'block';
}
function hide_friend_operations() {
	document.getElementById('friend_operations').style.display = 'none';
}
function friend_operations_action(type, key) {
	var XHR = new XHRConnection();
	XHR.appendData("key", key);
	XHR.setRefreshArea("friend_operations");
	if (type == 'ACCEPT') { XHR.sendAndLoad("/XHR/php/friend_confirm.php", "POST"); }
	if (type == 'DENY') { XHR.sendAndLoad("/XHR/php/friend_deny.php", "POST"); }
	document.getElementById("friend_operations").innerHTML = '<div style="text-align: center;"><img src="/images/AL-1-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
	//document.getElementById("friend_operations").innerHTML = 'Traitement en cours ...';
}
/*******************************************************
 * Check sur event
*/
function test_event(obj) {
	var msg = '';
	str = new String(obj.dd.value+'-'+obj.mm.value+'-'+obj.yy.value);
	if (!str.match('[0-9]{2}-[0-9]{2}-[0-9]{4}')) {
		msg += 'La date de l\'évènement n\'est pas valide.\r\n';
	}
	str = new String(obj.yy.value+'-'+obj.mm.value+'-'+obj.dd.value+' '+obj.hh.value+':'+obj.mn.value);
	if (str <= obj.date_today.value) {
		msg += 'La date de l\'évènement doit être supérieure à la date d\'aujourd\'hui.\r\n';
	}
	str = new String(obj.hh.value+':'+obj.mn.value);
	if (!str.match('[0-9]{2}:[0-9]{2}')) {
		msg += 'L\'heure de l\'évènement n\'est pas valide.\r\n';
	}
	if (!obj.name.value) { msg += 'Veuillez saisir le titre de l\'évènement.\r\n'; }
	if (!obj.description.value) { msg += 'Veuillez saisir la description de l\'évènement.\r\n'; }
	if (msg != '') {
		alert(msg);
		return false;
	}
	test_file(obj);
	return true;
}
/*******************************************************
 * Delete event
*/
function delete_event(id) {
	if (confirm('Sur ?')) {
		document.location = '/php/user/event_delete.php?eventId='+id;
	}
}
/*******************************************************
 * Subscribe event
*/
function subscribe_event(id, target) {
	var XHR = new XHRConnection();
	XHR.appendData("eventId", id);
	XHR.setRefreshArea(target);
	XHR.sendAndLoad("/XHR/php/event_subscribe.php", "POST");
	//document.getElementById(target).innerHTML = 'Traitement en cours ...';
	document.getElementById(target).innerHTML = '<img src="/images/AL-'+AL_indice+'-'+AL_color+'.gif" alt="Ajax Loader" />';
}

/*******************************************************
 * Subscribe event
*/
function unsubscribe_event(id, target) {
	var XHR = new XHRConnection();
	XHR.appendData("eventId", id);
	XHR.setRefreshArea(target);
	XHR.sendAndLoad("/XHR/php/event_unsubscribe.php", "POST");
	document.getElementById(target).innerHTML = '<img src="/images/AL-'+AL_indice+'-'+AL_color+'.gif" alt="Ajax Loader" />';
	//document.getElementById(target).innerHTML = 'Traitement en cours ...';
}
/*******************************************************
 * show event sample
*/
function event_sample(id, ongletId) {
	var XHR = new XHRConnection();
	XHR.appendData("eventId", id);
	if (ongletId) { XHR.appendData("onglet-current", ongletId); }
	XHR.setRefreshArea("onglet-content");
	XHR.sendAndLoad("/XHR/php/event_sample.php", "POST");
	//document.getElementById("onglet-content").innerHTML = '<div style="margin: 0; padding: 2px;"><img src="/images/AL-'+AL_indice+'-'+AL_color+'.gif" alt="Ajax Loader" />&nbsp;</div>';
}
/*******************************************************
 * show news sample
*/
function news_sample(id, ongletId) {
	var XHR = new XHRConnection();
	XHR.appendData("newsId", id);
	if (ongletId) { XHR.appendData("onglet-current", ongletId); }
	XHR.setRefreshArea("onglet-content");
	XHR.sendAndLoad("/XHR/php/news_sample.php", "POST");
	//document.getElementById("onglet-content").innerHTML = '<div style="margin: 0; padding: 2px;"><img src="/images/AL-'+AL_indice+'-'+AL_color+'.gif" alt="Ajax Loader" />&nbsp;</div>';
}
/*******************************************************
 * show comment sample
*/
function comment_sample(id, ongletId) {
	var XHR = new XHRConnection();
	XHR.appendData("commentId", id);
	if (ongletId) { XHR.appendData("onglet-current", ongletId); }
	XHR.setRefreshArea("onglet-content");
	XHR.sendAndLoad("/XHR/php/comment_sample.php", "POST");
	//document.getElementById("onglet-content").innerHTML = '<div style="margin: 0; padding: 2px;"><img src="/images/AL-'+AL_indice+'-'+AL_color+'.gif" alt="Ajax Loader" />&nbsp;</div>';
}
/*******************************************************
 *Supprime la photo evt
*/
function image_event_delete(pictureId) {
	if (confirm('Etes vous sûr de vouloir effacer cette photo ?')) {
		document.formulaire.pictureId.value = pictureId;
		document.formulaire.action = '/php/event_picture_delete.php';
		document.formulaire.submit();
	}
}
/*******************************************************
 *Editer la photo evt
*/
function image_event_edit(pictureId, eventId, name) {
	document.location = '/evenements/'+eventId+'/'+name+'/photos/'+pictureId+'/photo_edition.html';
}
/*******************************************************
 * affiche l'onglet QVB 
*/
var onglet_current = '';
function onglet(id, idBis) {
	if (onglet_current != '' && document.getElementById(onglet_current)) {
		document.getElementById(onglet_current).className = '';
	}
	if (!document.getElementById(id)) { id = 'onglet-birth'; }
	document.getElementById(id).className = 'selected';
	onglet_current = id;
	switch(id) {
		case 'onglet-visitor':
			clearTimeout(timeout_visitor);
			refresh_visitor();
		break;
		case 'onglet-birth':
			var XHR = new XHRConnection();
			XHR.appendData("onglet-current", id);
			XHR.setRefreshArea("onglet-content");
			XHR.sendAndLoad("/XHR/php/birthdate.php", "POST");
			//document.getElementById("onglet-content").innerHTML = '<div style="margin: 0; padding: 2px;"><img src="/images/AL-'+AL_indice+'-'+AL_color+'.gif" alt="Ajax Loader" />&nbsp;</div>';
		break;
		case 'onglet-event':
			event_sample(idBis, id);
		break;
		case 'onglet-news':
			news_sample(idBis, id);
		break;
		case 'onglet-comment':
			comment_sample(idBis, id);
		break;
		case 'onglet-message':
			var XHR = new XHRConnection();
			XHR.appendData("onglet-current", id);
			XHR.setRefreshArea("onglet-content");
			XHR.sendAndLoad("/XHR/php/message_unread.php", "POST");
			//document.getElementById("onglet-content").innerHTML = '<div style="margin: 0; padding: 2px;"><img src="/images/AL-'+AL_indice+'-'+AL_color+'.gif" alt="Ajax Loader" />&nbsp;</div>';
		break;
		case 'onglet-copaing-paused':
			var XHR = new XHRConnection();
			XHR.appendData("onglet-current", id);
			XHR.setRefreshArea("onglet-content");
			XHR.sendAndLoad("/XHR/php/friends_paused.php", "POST");
			//document.getElementById("onglet-content").innerHTML = '<div style="margin: 0; padding: 0;"><img src="/images/AL-'+AL_indice+'-'+AL_color+'.gif" alt="Ajax Loader" />&nbsp;</div>';
		break;
	}
}
/*******************************************************
 * Refresh le nombre de visiteurs
*/
var timeout_visitor = '';
function refresh_visitor() {
	var XHR = new XHRConnection();
	XHR.appendData("val", true);
	XHR.setRefreshArea("onglet-visitor");
	XHR.sendAndLoad("/XHR/php/visitor_count.php", "POST");
	if (onglet_current == 'onglet-visitor') {
		var XHR = new XHRConnection();
		XHR.appendData("onglet-current", onglet_current);
		XHR.setRefreshArea("onglet-content");
		XHR.sendAndLoad("/XHR/php/visitor.php", "POST");
		//document.getElementById("onglet-content").innerHTML = '<div style="margin: 0; padding: 2px;"><img src="/images/AL-'+AL_indice+'-'+AL_color+'.gif" alt="Ajax Loader" />&nbsp;</div>';
	}
	timeout_visitor = setTimeout(refresh_visitor, 60000);
}
/*******************************************************
 * Affiche le code a inserer pour le logo sur son site
*/
function logo(image, host, username, title) {
	var alink = '<a href="'+host+'/'+username+'" title="'+title+'" style="border: 0 none; text-decoration: none;"><img src="'+host+'/images/'+image+'" alt="'+image+'" style="border: 0 none; margin: 0; padding: 0;" /></a>';
	document.getElementById('logo-code').value = alink;
}
/*******************************************************
 * Agenda : Afficher les evenements du jour
*/
function calendar_items(date) {
	var XHR = new XHRConnection();
	XHR.appendData("date", date);
	XHR.setRefreshArea("whatsthedaytoday");
	XHR.sendAndLoad("/XHR/php/calendar_items.php", "POST");
	document.getElementById("whatsthedaytoday").innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
}
// + ----------------------------------------------------------------------------------
// + insertInPlace
// + Permet de placer du texte dans une champ texte
// + par Thanh
// + ----------------------------------------------------------------------------------
function insertInPlace(currentRecipient, val) {
	textarea = document.getElementById(currentRecipient);
	textarea.focus();
	var start, end, sel, scrollPos, subst;
	
	// On détermine si du texte a été sélectionné
	if (typeof(document["selection"]) != 'undefined') {
		selection = document.selection.createRange().text
	}
	else if (typeof(textarea["setSelectionRange"]) != 'undefined') {
		start		 = textarea.selectionStart;
		end		 = textarea.selectionEnd;
		selection = textarea.value.substring(start, end);
	}
	// Si du texte a été sélectionné on le remplace
	if (selection.length > 0) {
		textarea.value = textarea.value.substring(0, start) +  val + textarea.value.substring(end);
		return false;
	}
	else {
		if (textarea.value.substring(end) == textarea.value) {
			textarea.value = textarea.value + val;
		}
		else {
			textarea.value = textarea.value.substring(0, start) + val + textarea.value.substring(end);
		} 
		return false;
	}	
}
/*******************************************************
 * Blog : Test le commentaire
*/
function test_comment(obj) {
	if (!obj.comment.value) {
		alert('Veuillez saisir votre commentaire');
		return false;
	}
	else {
		return true;
	}
}
/*******************************************************
 * Blog : Aperçu commentaire
*/
function sample_comment(obj) {
	if (test_comment(obj)) {
		document.location = '#apercu';
		obj.action = document.location;
		obj.submit();
	}
}

/*******************************************************
 * Par Olivier d'Alsacreations
*/
/*document.getElementsByClassName = function(className) {
	var elts = document.getElementsByTagName('*');
	var classArray = new Array();
	for (var j = 0; j < elts.length; ++j) {
		if (elts[j].getAttribute('class') && elts[j].getAttribute('class').split(' ').inArray(className)) {
			// méthode inArray faite à la main > Explication et code
			classArray.push(elts[j]);
		}
	}
	return classArray;
};*/

/*******************************************************
 * Tag : Select tag
*/
array_tagId = new Array();
function tag_select(obj, id) {
	obj.className = (obj.className == 'tag') ? 'tag-selected' : 'tag';
}

/*******************************************************
 * Check les tags photos
*/
function check_tag() {
	$('.tag-selected').each(function() {
		var str = new String($(this).attr('id'));
		str = str.replace('tag-', '');
		array_tagId[array_tagId.length] = str;
	});
	document.getElementById('string_tagId').value = array_tagId;
}

/*******************************************************
 * Admin : affiche les users
*/
function show_users(id) {
	obj = document.getElementById(id);
	obj.style.display = (obj.style.display == 'block') ? 'none' : 'block';
}
/*******************************************************
 * Admin : supprime définitivement votre compte
*/
function user_delete() {
	if (confirm('Confirmez vous cette opération ?')) {
		document.formulaire_inscription.action = '/php/user/user_delete.php';
		document.formulaire_inscription.submit();
	}
}
/*******************************************************
 * Admin : action sur commentaire
*/
function comment_action(commentId, action) {
	if (confirm('Sûr ?')) {
		var XHR = new XHRConnection();
		XHR.appendData("commentId", commentId);
		XHR.appendData("action", action);
		XHR.setRefreshArea('comment_result_'+commentId);
		XHR.sendAndLoad("/XHR/admin/comment_action.php", "POST");
		document.getElementById('comment_result_'+commentId).innerHTML = '<div style="text-align: center;"><img src="/images/AL-2-'+AL_color+'.gif" alt="Ajax Loader" /></div>';
	}
}

