function ajax(fichier, commande, historique) {
	//document.getElementById("pagewidth").style.cursor = "progress";
	if (window.XMLHttpRequest) {
		xhr_object = new XMLHttpRequest();
		//xhr_object.overrideMimeType('text/html');
	}
	else if (window.ActiveXObject) {
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		//alert("Vous utilisez Internet Explorer. Il est probable que ce site fonctionne mal avec ce navigateur. Utilisez de préférence Firefox.");
	}
	else {
		alert("Erreur : impossible d’instancier un objet XMLHttpRequest !");
		//document.getElementById("pagewidth").style.cursor = "auto";
		document.images["amarok"].src = "share/amarok.png";
		return (false);
	}
	xhr_object.open("POST", fichier, false);
	xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhr_object.send(commande);

	if (xhr_object.readyState == 4) {
		resultatAjax = xhr_object.responseText;
		//document.getElementById("pagewidth").style.cursor = "auto";
		document.images["amarok"].src = "share/amarok.png";
		return resultatAjax;
	}
	else {
		//document.getElementById("pagewidth").style.cursor = "auto";
		document.images["amarok"].src = "share/amarok.png";
		return (false);
	}
}

var ajax_load = "share/load3.gif";
var duree_attente = 100;
var aurl = "http://kailaasa.net/zik2/ajax.php";
var historique;
setInterval("doHistorique()", 200);

function doHistorique() {
	//document.getElementById("iFrame").src = "summary.phtml?summary=" + historique;
	if (document.location.hash != "") {
		commande_historique = document.location.hash;
		commande_historique = commande_historique.substring(1);
		if (commande_historique != historique) {
			if (commande_historique.match(/:/)) {
				commande_historique = commande_historique.split(":");
				args = commande_historique[1].split(",");
			}
			switch (commande_historique[0]) {
			case ("album"):
				album(args[0]);
				break;
			case ("artiste"):
				artiste(args[0]);
				break;
			case ("recherche"):
				rechercher(args[0], args[1], args[2], args[3], args[4]);
				break;
			case ("lister_artistes"):
				lister_artistes(args[0]);
				break;
			case ("lister_genres"):
				lister_genres();
				break;
			case ("genre"):
				genre(args[0]);
				break;
			}
		}
	}
}

function consultation() {}

function compter_fichiers() {
	if (!lire_cookie("authentification_zik")) deconnexion();
	ajax(aurl, "pragma=compter_fichiers");
	document.getElementById("compter_fichiers").innerHTML = resultatAjax;
}

function rechercher(debut, ordre, en_cours, sens, requete) {
	if (!lire_cookie("authentification_zik")) deconnexion();
	document.images["amarok"].src = ajax_load;

	if (!debut) debut = 0;
	if (!ordre) ordre = "artist.name";
	if (!en_cours) en_cours = 0;
	if (!sens) sens = "ASC";
	if (!requete) requete = "tout";

	historique = "recherche:" + debut + "," + ordre + "," + en_cours + "," + sens + "," + requete;
	document.location.hash = historique;
	setTimeout("afficher_recherche(" + debut + ", \"" + ordre + "\", " + en_cours + ", \"" + sens + "\", \"" + requete + "\")", duree_attente);
}

function afficher_recherche(debut, ordre, en_cours, sens, requete) {
	document.getElementById("maincol").innerHTML = "Recherche en cours...";
	document.getElementById("titre").innerHTML = "Recherche en cours...";

	if (!debut) debut = 0;
	if (!ordre) ordre = "artist.name";
	if (!en_cours) en_cours = 0;
	if (!sens) sens = "ASC";
	if (!requete) requete = "tout";

	ajax(aurl, "pragma=rechercher&debut=" + debut + "&ordre=" + ordre + "&en_cours=" + en_cours + "&sens=" + sens + "&requete=" + requete);
	resultatAjax = resultatAjax.split("@@@@@@");
	document.getElementById("maincol").innerHTML = resultatAjax[0];
	if (!resultatAjax[1]) return;
	if (requete == "tout") {
		document.getElementById("titre").innerHTML = "Toutes les plages (triées par " + resultatAjax[1] + ")";
	}
	if (requete == "rechercher_albums") {
		document.getElementById("titre").innerHTML = "Tous les albums (" + resultatAjax[1] + " albums)";
	}
	else if (requete != "tout" && requete != "rechercher_albums") {
		if (resultatAjax[1] != "...") {
			resultat = (resultatAjax[2] > 1) ? "résultats" : "resultat";
			trie = (resultatAjax[2] > 1) ? "triés" : "trié";
			document.getElementById("titre").innerHTML = "Recherche de <em>" + requete + "</em>&nbsp;: " + resultatAjax[2] + " " + resultat + " (" + trie + " par " + resultatAjax[1] + ")";
		}
		else {
			document.getElementById("titre").innerHTML = "Recherche de <em>" + requete + "</em> infructueuse";
		}
	}
}

function album(lequel) {
	if (!lire_cookie("authentification_zik")) deconnexion();
	document.images["amarok"].src = ajax_load;

	historique = "album:" + lequel;
	document.location.hash = historique;
	setTimeout("afficher_album(\"" + lequel + "\")", duree_attente);
}

function afficher_album(lequel) {
	document.getElementById("maincol").innerHTML = "Recherche en cours...";
	document.getElementById("titre").innerHTML = "Recherche en cours...";
	ajax(aurl, "pragma=info_album&album=" + lequel);
	resultatAjax = resultatAjax.split("@@@@@@");
	if (resultatAjax[1] == "Erreur") document.location.hash = "";
	document.getElementById("maincol").innerHTML = resultatAjax[0];
	document.getElementById("titre").innerHTML = resultatAjax[1];
}

function lister_artistes(lettre) {
	if (!lire_cookie("authentification_zik")) deconnexion();
	document.images["amarok"].src = ajax_load;

	if (!lettre) lettre = "";
	historique = "lister_artistes:" + lettre;
	document.location.hash = historique;
	setTimeout("afficher_liste_artistes(\"" + lettre + "\")", duree_attente);
}

function lister_genres() {
	if (!lire_cookie("authentification_zik")) deconnexion();
	document.images["amarok"].src = ajax_load;

	historique = "lister_genres:";
	document.location.hash = historique;
	setTimeout("afficher_liste_genres()", duree_attente);
}

function afficher_liste_genres() {
	document.getElementById("maincol").innerHTML = "Recherche en cours...";
	document.getElementById("titre").innerHTML = "Recherche en cours...";

	ajax(aurl, "pragma=lister_genres");
	resultatAjax = resultatAjax.split("@@@@@@");
	document.getElementById("maincol").innerHTML = resultatAjax[0];
	document.getElementById("titre").innerHTML = resultatAjax[1];
}

function afficher_liste_artistes(lettre) {
	document.getElementById("maincol").innerHTML = "Recherche en cours...";
	document.getElementById("titre").innerHTML = "Recherche en cours...";
	if (!lettre) lettre = "";
	ajax(aurl, "pragma=lister_artistes&lettre=" + lettre);
	resultatAjax = resultatAjax.split("@@@@@@");
	document.getElementById("maincol").innerHTML = resultatAjax[0];
	document.getElementById("titre").innerHTML = resultatAjax[1];
}

function artiste(lequel) {
	if (!lire_cookie("authentification_zik")) deconnexion();
	document.images["amarok"].src = ajax_load;

	historique = "artiste:" + lequel;
	document.location.hash = historique;
	setTimeout("afficher_artiste(\"" + lequel + "\")", duree_attente);
}

function afficher_artiste(lequel) {
	document.getElementById("maincol").innerHTML = "Recherche en cours...";
	document.getElementById("titre").innerHTML = "Recherche en cours...";
	ajax(aurl, "pragma=info_artiste&artiste=" + lequel);
	resultatAjax = resultatAjax.split("@@@@@@");
	if (resultatAjax[1] == "Erreur") document.location.hash = "";
	document.getElementById("maincol").innerHTML = resultatAjax[0];
	document.getElementById("titre").innerHTML = resultatAjax[1];
}

function genre(lequel) {
	if (!lire_cookie("authentification_zik")) deconnexion();
	document.images["amarok"].src = ajax_load;

	historique = "genre:" + lequel;
	document.location.hash = historique;
	setTimeout("afficher_genre(\"" + lequel + "\")", duree_attente);
}

function afficher_genre(lequel) {
	document.getElementById("maincol").innerHTML = "Recherche en cours...";
	document.getElementById("titre").innerHTML = "Recherche en cours...";
	ajax(aurl, "pragma=info_genre&genre=" + lequel);
	resultatAjax = resultatAjax.split("@@@@@@");
	if (resultatAjax[1] == "Erreur") document.location.hash = "";
	document.getElementById("maincol").innerHTML = resultatAjax[0];
	document.getElementById("titre").innerHTML = resultatAjax[1];
}

function zipper(quoi, titre_zip) {
	if (!lire_cookie("authentification_zik")) deconnexion();
	//document.getElementById("pagewidth").style.cursor = "progress";
	document.getElementById("message").style.display = "block";
	setTimeout("doZip('" + quoi + "', '" + titre_zip + "')", 1000);
}

function doZip(quoi, titre_zip) {
	if (!lire_cookie("authentification_zik")) deconnexion();
	commande = "pragma=zipper&quoi=" + quoi + "&titre_zip=" + titre_zip;
	ajax(aurl, commande);
	resultatAjax = resultatAjax.split("@@@@@@");
	if (resultatAjax[0] == "OK") {
		self.location.href = "zip.php?zip=" + resultatAjax[1];
	}
	document.getElementById("message").style.display = "none";
	//document.getElementById("pagewidth").style.cursor = "auto";
}

var deja = false;

function effacer(quoi) {
	if (!deja) {
		quoi.value = "";
		deja = true;
	}
}

function creer_cookie(nom_cookie, valeur, jours) {
	if (jours) {
		var date = new Date();
		date.setTime(date.getTime() + (jours * 24 * 60 * 60 * 1000));
		var expires = "; expires=" + date.toGMTString();
	}
	else var expires = "";
	document.cookie = nom_cookie + "=" + valeur + expires + "; path=/";
}

function lire_cookie(nom_cookie) {
	var nom_cookieEQ = nom_cookie + "=";
	var ca = document.cookie.split(';');
	for (var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ') c = c.substring(1, c.length);
		if (c.indexOf(nom_cookieEQ) == 0) return c.substring(nom_cookieEQ.length, c.length);
	}
	return null;
}

function historique() { /*	location.replace("index.php");*/
}

function vider_cache() {
	ajax(aurl, "pragma=vider_cache");
	document.getElementById("cache").style.display = "none";
}

function connexion(login, password) {
	ajax(aurl, "pragma=connexion&auth_login=" + login + "&auth_password=" + password);
	self.location.href = '/zik2';
}

function deconnexion(question) {
	if (!question) question = 0;
	if (question == 1) {
		if (!confirm("Voulez-vous vous déconnecter ?")) return;
	}
	ajax(aurl, "pragma=deconnexion");
	self.location.href = '/zik2';
	//document.getElementById("maincol").innerHTML = resultatAjax;
}
var innerquoi = new Array;

function afficher(quoi) {
	for (i = 0; i < document.getElementsByName("lecteur_simple").length; i++) {
		document.getElementsByName("lecteur_simple")[i].style.display = "none";
	}
	if (document.getElementById(quoi).style.display == "none") {
		document.getElementById(quoi).style.display = "block";
		if (innerquoi[quoi]) {
			document.getElementById(quoi).innerHTML = innerquoi[quoi];
		}
	}
	else {
		document.getElementById(quoi).style.display = "none";
		innerquoi[quoi] = document.getElementById(quoi).innerHTML;
		document.getElementById(quoi).innerHTML = "";
	}
}

function gerer_comptes() {
	ajax(aurl, "pragma=lecture_comptes");
	document.getElementById("maincol").innerHTML = resultatAjax;
}

function afficher_boite(laquelle) {
	if (document.getElementById(laquelle).style.display == "inline") document.getElementById(laquelle).style.display = "none";
	else document.getElementById(laquelle).style.display = "inline";
}

function effacer_compte(lequel) {
	if (!confirm("Voulez-vous effacer ce compte ?")) return;
	ajax(aurl, "pragma=effacer_compte&compte=" + lequel);
	document.getElementById("maincol").innerHTML = resultatAjax;
}
