
var actionEnCours = false;

function CreerHttpRequest() {
	var httpRequest = null;
	if (window.XMLHttpRequest) {
		httpRequest = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		httpRequest = new ActiveXObject('Microsoft.XMLHTTP');
	} else {
		alert('Erreur XMLHTTPRequest'); 
	}
	return httpRequest;
}

function ChangerDiv(id, url) {
	var hr = CreerHttpRequest();
	hr.open('GET', url, true);
	hr.onreadystatechange = function() {
		if (hr.readyState == 4 && hr.status == 200) { // Terminé et réussi
			if (id == 'content') {
				var response =  hr.responseText.split("\1");
				var titre = response[0];
				var contenu = response[1];
			}
			if (contenu) {
				document.getElementById('pageTitle').innerHTML = titre;
				document.getElementById(id).innerHTML = contenu;
			} else {
				document.getElementById(id).innerHTML = hr.responseText;
			}
		}
	}
	hr.setRequestHeader('If-Modified-Since', new Date(0));
	hr.send('');
}

// Login

function MontrerLogin() {
	ChangerDiv('content', 'ajax/pageLogin.php');
}

function Login(login, password) {
	if (actionEnCours == true) return;
	actionEnCours = true;
	var url = "ajax/login.php";
	var data = "login=" + login + "&password=" + password;
	var hr = CreerHttpRequest();
	hr.open('POST', url, true);
	hr.onreadystatechange = function() {
		if (hr.readyState == 4) { // Terminé
			actionEnCours = false;
			if (hr.status == 200) { // Réussi
				if (hr.responseText != '') {
					actionEnCours = true;
					window.location = '';
				}
			}
		}
	}
	hr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=iso-8859-1');
	hr.setRequestHeader('If-Modified-Since', new Date(0));
	hr.send(data);
}

function Logout() {
	if (actionEnCours == true) return;
	actionEnCours = true;
	var url = "ajax/logout.php";
	var data = "";
	var hr = CreerHttpRequest();
	hr.open('POST', url, true);
	hr.onreadystatechange = function() {
		if (hr.readyState == 4) { // Terminé
			actionEnCours = false;
			if (hr.status == 200) { // Réussi
				actionEnCours = true;
				window.location = '?page=accueil';
			}
		}
	}
	hr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=iso-8859-1');
	hr.setRequestHeader('If-Modified-Since', new Date(0));
	hr.send(data);
}

// Pages

function ChangerPageTexte(section, page) {
	ChangerDiv('content', 'ajax/pageTexte.php?section=' + section + '&page=' + page);
}

// Collections

function ChangerPageListeCollection(groupe, page) {
	ChangerDiv('content', 'ajax/pageListeCollection.php?groupe=' + groupe + '&page=' + page);
}

function ChangerPageCollection(id, page) {
	ChangerDiv('content', 'ajax/pageCollection.php?id=' + id + '&page=' + page);
}

function ChangerPhoto(chemin, description) {
	// Attention: getElementsByName cherche par id sous ie et name sous firefox ><
	var photo = document.getElementsByName('photo')[0];
	photo.style.top = '0px';
	photo.src = 'photo/' + chemin;
	document.getElementById('desc').innerHTML = description;
}

// Divers

function CentrerVerticalement(node) {
	var parent = node.parentNode;
	node.style.position = 'relative';
	node.style.top = ((parent.offsetHeight - node.offsetHeight) / 2.0) + 'px';
}


function CyclerPhoto(collection) {
	if (collection == 0) return;
	setTimeout(function() {FaireCyclerPhoto(collection);}, 3000);
}

var numPhoto = 1;
function FaireCyclerPhoto(collection) {
	var url = "ajax/image.php?collection=" + collection + "&photo=" + numPhoto;
	var hr = CreerHttpRequest();
	hr.open('GET', url, true);
	hr.onreadystatechange = function() {
		if (hr.readyState == 4 && hr.status == 200) { // Terminé et réussi
			var photo = document.getElementsByName('photo')[0];
			//photo.style.top = '0px';
			numPhoto = numPhoto + 1;
			photo.src = 'photo/' + hr.responseText;
		}
	}
	hr.setRequestHeader('If-Modified-Since', new Date(0));
	hr.send('');
}
