// ======================= Popup ==========================================

function popup(chaine) {
	page = open("",'newpopup','width=700,height=400,toolbar=no,scrollbars=yes,resizable=yes');
	page.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">');
	page.document.write("<html><head><title>page popup</title></head>");
	page.document.write("<body>" + chaine + "</body></html>");
}

// ====================== Tableaux ========================================

function appartient(element, tableau) {

	var E = false;

	for(var i = 0 ; i < tableau.length ; i++) {
		if(element == tableau[i]) {
			E = true;
			break;
		}
	}

	return E;
}

function indiceTableau(element, tableau) {

	var indice;

	if(! appartient(element, tableau)) return null;

	for(var i = 0 ; i < tableau.length ; i++) {
		if(element == tableau[i]) {
			indice = i;
			break;
		}
	}

	return indice;
}

// ====================== Visibilité ======================================

function estVisible(id) {

    visible = (document.getElementById(id).style.display != "none");
	return visible;
}

function montre(id) {

    document.getElementById(id).style.display = "block";
}

function cache(id) {

    document.getElementById(id).style.display = "none";
}

function interrupteur(id) {

	var visible = estVisible(id);

	if(visible) cache(id);
	else montre(id);
}

// ====================== Cookies =========================================

function afficheCookie() {
	popup(document.cookie);
}

function ecrireCookie(nom, valeur) {

	var argv = ecrireCookie.arguments;
	var argc = ecrireCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie = nom + "=" + escape(valeur) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}

function valeurCookie(indice) {

	var endstr = document.cookie.indexOf (";", indice);
	if (endstr == -1) endstr = document.cookie.length;
	return unescape(document.cookie.substring(indice, endstr));
}

function lireCookie(nom) {

	var arg = nom + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	var j;

	while (i < clen) {
		j = i + alen;
		if (document.cookie.substring(i, j) == arg) return valeurCookie(j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}

	return null;
}

function effaceCookie(nom) {

	var date = new Date;
	date.setFullYear(date.getFullYear()-1);
	ecrireCookie(nom, null, date);
}

function testCookie() {

	ecrireCookie("test", "reussi");
	popup("test = " + lireCookie("test"));
}

// ====================== Style ===========================================

// --------------- Texte ------------------------------

function caractere(famille) {

	if(famille != null) {
		document.getElementById("corps").style.fontFamily = famille;
	}
	else document.getElementById("corps").style.fontFamily = "Comic Sans MS";
}

function manuscrit(famille) {

	caractere(famille);
	ecrireCookie("manuscrit", famille);
}

function manuscritDefaut() {

	caractere(null);
	effaceCookie("manuscrit");
}

// --------------- Couleur de fond --------------------

function colorie(couleur) {

	document.getElementById('corps').style.backgroundImage = "none";

	if(couleur != null) {
		document.getElementById('corps').style.backgroundColor = couleur;
	}
	else document.getElementById("corps").style.backgroundColor = "#DDDDFF";
}

function couleurFond(couleur) {

	colorie(couleur);
	ecrireCookie("couleurFond", couleur);
}

function couleurDefaut() {

	colorie(null);
	effaceCookie("couleurFond");
}

// --------------- Image de fond ----------------------

function peinture(image) {

	var urlimage = "url('" + image + "')";
	if(image != null) document.getElementById('corps').style.backgroundImage = urlimage;
	else document.getElementById('corps').style.backgroundImage = "none";
}

function imageFond(image) {

	peinture(image);
	ecrireCookie("imageFond", image);
}

function imageDefaut() {

	peinture(null);
	effaceCookie("imageFond");
}

// --------------- Général ----------------------------

function chargeStyle() {

	var famille = lireCookie("manuscrit");
	caractere(famille);

	var couleur = lireCookie("couleurFond");
	colorie(couleur);

	var image = lireCookie("imageFond");
	peinture(image);
}

// ====================== Menu ============================================

function cacheMenus() {

		var Nmenus = 8;

		for (var i = 0 ; i < Nmenus ; i++) {
			var menu = 'menu' + i;
			if (document.getElementById(menu)) {
				cache(menu);
			}
		}
}

// ====================== Chargement ======================================

function charge() {

	//chargeStyle();
	cacheMenus();
}

