/*
 * Copyright (c) 2011, Augré du vent. Tous droits réservés.
 */

/*
 * Created by Pierre de Soyres. Only for use in AGV's web site : http://www.augreduvent.fr
 * ---------------------------
 */
var TOP_POPUP_MENU_ID = "topsubmenu_";

var pathLevel;
function initPathLevel(level) {
	if (level) pathLevel = level;
	else pathLevel = ".";
}

var theMainMenu;
var theTopMenu;

function loadMenu(level) {
	initPathLevel(level);
	initMainMenu();
	initTopMenu();
}

function writeMainMenu() {
	var len = theMainMenu.length;
	for (var i = 0; i < len; i++) {
		theMainMenu[i].writeMain();
	}
}

function writeTopMenu() {
	var len = theTopMenu.length;
	for (var i = 0; i < len; i++) {
		theTopMenu[i].writeTop();
	}
}

function montre(id) {
	if (!theTopMenu) return;

	//if (!id) return;

	var len = theTopMenu.length;
	for (var i = 1; i <= len; i++) {
		if (document.getElementById(TOP_POPUP_MENU_ID + i)) {
			document.getElementById(TOP_POPUP_MENU_ID + i).style.display = 'none';
		}
	}
	var d;
	if (id) d = document.getElementById(id);
	if (d) {
		d.style.display = 'block';
	}
}


/*MAIN menu*/
function initMainMenu() {
	theMainMenu = new Array(
			new MenuItem(1, "Qui sommes nous ?", "qui-sommes-nous.html", null, null),
			new MenuItem(2, "Loisirs nautiques", "loisirs-nautiques/loisirs-nautiques.html",
					new Array(
							new SubMenuItem("Location canoë-kayak", "loisirs-nautiques/location-canoe-kayak.html"),
							new SubMenuItem("Randonnée kayak mer", "loisirs-nautiques/ecole-kayak-de-mer.html"),
							new SubMenuItem("Location bateau à moteur", "loisirs-nautiques/location-bateau-a-moteur.html"),
							new SubMenuItem("Location vélo", "loisirs-nautiques/location-velo.html")
							), null),
			new MenuItem(3, "Formules groupes", "formules-groupe/formules-groupe.html",
					new Array(
							new SubMenuItem("Entreprise", "formules-groupe/entreprise.html"),
							new SubMenuItem("Comité d'entreprise", "formules-groupe/comites-entreprise.html"),
							new SubMenuItem("Etudiants", "formules-groupe/etudiant.html"),
							new SubMenuItem("CLSH, scolaire...", "formules-groupe/jeunes.html")
							), null),
			new MenuItem(4, "Vente de materiels", null,
					new Array(
							new SubMenuItem("Canoës-kayaks", "vente-materiel/vente-canoe-kayaks.html"),
							new SubMenuItem("Vélos", "vente-materiel/vente-velos.html")
							), null),
			new MenuItem(4, "Contactez-nous", "contact.html", null, null),
			new MenuItem(5, "A la une", null, null, getAlaUne())
			);
}

function initTopMenu() {
	theTopMenu = new Array(
			new MenuItem(1, "Actualités", null,
					new Array(
							new SubMenuItem("Actualités du mois", "actualites/actualites-du-mois.html"),
							new SubMenuItem("Actualités à venir", "actualites/actualites-a-venir.html"),
							new SubMenuItem("Revues de presse", "actualites/revues-de-presse.html")
							), null),
			new MenuItem(2, "Coffret cadeau", null,
					new Array(
							new SubMenuItem("Chèque cadeau", "cadeau/cheque-cadeau.html"),
							new SubMenuItem("Coffret week-end", "cadeau/coffret-week-end.html")
							), null),
			new MenuItem(3, "Tarifs", null,
					new Array(
							new SubMenuItem("Location de kayak", "tarifs/tarifs-kayak.html"),
							new SubMenuItem("Randonnée kayak mer", "tarifs/tarifs-ecole.html"),
							new SubMenuItem("Location de bateau", "tarifs/tarifs-bateau.html"),
							new SubMenuItem("Location de vélo", "tarifs/tarifs-velo.html"),
							new SubMenuItem("Formules groupe", "tarifs/tarifs-formules-groupe.html")
							), null),
			new MenuItem(4, "Pratique", null,
					new Array(
							new SubMenuItem("Plan d'accès", "pratique/acces.html"),
							new SubMenuItem("Périodes d'ouverture", "pratique/ouverture.html"),
							new SubMenuItem("Météo", "pratique/meteo.html")
							), null),
			new MenuItem(5, "Partenaires", null,
					new Array(
							new SubMenuItem("Loisirs", "partenaires/partenaires-loisirs.html"),
							new SubMenuItem("Tourisme", "partenaires/partenaires-tourisme.html"),
							new SubMenuItem("Hébergement", "partenaires/partenaires-hebergement.html"),
							new SubMenuItem("Annuaire", "partenaires/annuaire.html")
							), null),
			new MenuItem(6, "Emploi / stage", "emploi-stage.html", null, null)
			);
}

/**
 * Menu Item. If subMenus is null, then, uses the htmlContent.
 * @param index
 * @param title
 * @param url
 * @param subMenus
 * @param htmlContent
 */
function MenuItem(index, title, url, subMenus, htmlContent) {
	//var init
	this.theIndex = index;
	this.theTitle = title;
	this.theUrl = url;
	this.theSubMenus = subMenus;
	this.theHTMLContent = htmlContent;

	//functions init
	this.display = MenuItem_display;
	this.writeMain = MenuItem_writeMain;
	this.writeTop = MenuItem_writeTop;
}

function MenuItem_writeMain() {
	//-> menu item : begin
	document.write("<div class=\"menu\">");

	// button
	document.write("<div class=\"menu-btn\">");
	if (this.theUrl != null) document.write("<a href=\"" + getLeveled(this.theUrl) + "\">" + this.theTitle + "</a>");
	else document.write(this.theTitle);
	document.write("</div>");

	// content
	var content = null;
	if (this.theSubMenus != null) {
		content = "<div class=\"subMenu\"><ul>";
		var len = this.theSubMenus.length;
		for (var i = 0; i < len; i++) {
			content += this.theSubMenus[i].getMainMenuHTML();
		}
		content += "</ul></div>"
	} else if (this.theHTMLContent != null) {
		content = this.theHTMLContent;
	}
	if (content != null) document.write(content);

	//-> menu item : end
	document.write("</div>");


	//-> separator
	document.write("<div class=\"menu-bottom\"></div>");
}


/**
 <dl>
 <dt onmouseover="montre('smenu1');">Actualités</dt>
 <dd id="smenu1" onmouseover="montre('smenu1');" onmouseout="montre('');">
 <ul>
 <li><a href="./actualites/actualites-du-mois.html">Actualité du mois</a></li>
 <li><a href="./actualites/old.html">Actualités passées</a></li>
 <li><a href="./actualites/actualites-a-venir.html">Actualités à venir</a></li>
 <li><a href="./actualites/revues-de-presse.html">Revues de presse</a></li>
 </ul>
 </dd>
 </dl>

 <dl>
 <dt onmouseover="montre();"><a href="./liens.html">Nos partenaires</a></dt>
 </dl>
 */
function MenuItem_writeTop() {
	//-> menu item : begin
	document.write("<dl>");

	var subMenuId = TOP_POPUP_MENU_ID + this.theIndex;

	// menu item title
	document.write("<dt onmouseover=\"montre('" + subMenuId + "');\" onmouseout=\"montre();\">");
	if (this.theUrl != null) document.write("<a href=\"" + getLeveled(this.theUrl) + "\">" + this.theTitle + "</a>");
	else document.write(this.theTitle);
	document.write("</dt>");

	// sub-menus
	var content = null;
	if (this.theSubMenus != null) {
		content = "<dd id=\"" + subMenuId + "\" onmouseover=\"montre('" + subMenuId + "');\" onmouseout=\"montre();\"><ul>";
		var len = this.theSubMenus.length;
		for (var i = 0; i < len; i++) {
			content += this.theSubMenus[i].getTopMenuHTML();
		}
		content += "</ul></dd>"
	}

	if (content != null) document.write(content);

	//-> menu item : end
	document.write("</dl>");
}

function MenuItem_display() {
	alert(this.theTitle + "\n" + this.theUrl + " - " + this.theHTMLContent);
}

/**
 * SubMenuItem. Used for main menu.
 * @param title
 * @param url
 */
function SubMenuItem(title, url) {
	//var init
	this.theTitle = title;
	this.theUrl = url;

	//functions init
	this.display = SubMenuItem_display;
	this.getMainMenuHTML = SubMenuItem_getMainMenuHTML;
	this.getTopMenuHTML = SubMenuItem_getTopMenuHTML;
}

function SubMenuItem_display() {
	alert(this.theTitle + " - " + this.theUrl);
}

/**
 * <li><a href="./URL">TITLE</a></li>
 */
function SubMenuItem_getMainMenuHTML() {
	return "<li><a href=\"" + getLeveled(this.theUrl) + "\">" + this.theTitle + "</a></li>";
}

/**
 * <li><a href="./URL">TITLE</a></li>
 */
function SubMenuItem_getTopMenuHTML() {
	return "<li><a href=\"" + getLeveled(this.theUrl) + "\">" + this.theTitle + "</a></li>";
}


/*A LA UNE*/
/* A la une Box */
var CURRENT_INDEX = 0;
var BOXES;
var ID_PREFIX = "switchbox";

function getAlaUne() {
    BOXES = new Array(
            "<p class=\"common\"><strong>Comme<br/>l’équipe de France<br/>de Volley féminine</strong></p><p class=\"common centered\"><img src=\""+getLeveled("img/page/a_la_une_02.jpg")+"\"/><br/>développez la cohésion<br/>d'équipe grâce à nos<br/><a href=\"" + getLeveled("formules-groupe/formules-groupe.html") + "\" style=\"font-weight:bold\">formules groupes</a></p>"
            );

	// content
	var content = "<div class=\"aLaUneBox\">";

	for (var i = 0; i < BOXES.length; i++) {
		content += box(i, BOXES[i], (i == 0));
	}
	content += "</div>";

	// toggle
	if (BOXES.length > 1) window.setInterval("switchBox()", 5000);

	return content;
}

// animate boxes.
function switchBox() {
	document.getElementById(ID_PREFIX + CURRENT_INDEX).style.display = "none";
	if (CURRENT_INDEX == BOXES.length - 1) CURRENT_INDEX = 0;
	else CURRENT_INDEX++;
	document.getElementById(ID_PREFIX + CURRENT_INDEX).style.display = "inline";
}

// init the boxes.
function box(index, content, isVisible) {
	var result = "<div id=\"" + ID_PREFIX + index + "\" class=\"aLaUneItemBox\" style=\"";
	if (isVisible) {
		result += "display:inline;";
	} else {
		result += "display:none;";
	}
	result += "\">";
	result += content;
	result += "</div>";


	return result;
}


/*utils*/
function getLeveled(aString) {
	return pathLevel + "/" + aString;
}
