/**
 * variables globales
 */
var KEYS = [];		// clé des différentes parties
var LABELS = [];	// nom des différentes parties

var SS_RUBS = null;

var menu = null;
var menug = null;
var menut = null;

/**
 * Renseigne toutes les variables globales à partir des données fournies.
 * @param	a_rub		(String)	nom de la rubrique
 * @param	a_ssRub		(String)	nom de la sous-rubrique
* @param	a_onglet	(String)	nom de l'onglet
 */
function setInfos(a_rub, a_ssRub) {
	// les clés sont identiques aux labels dans ce cas
	KEYS[0]	= a_rub;
	KEYS[1]	= a_ssRub;

	LABELS[0]	= a_rub;
	LABELS[1]	= a_ssRub;
	
	if (window.SSRUB_ITEMS) {
		SS_RUBS = SSRUB_ITEMS[KEYS[0]];
	}
}

/**
 * Renseigne toutes les variables globales à partir de la clé fournie (ex : '010101').
 * Si elle est nulle, utilise directement le nom de la page (ex : '.../010101.htm').
 * @param  a_key	(String)	clé de la page (ex : '010101');
 */
function extractInfos(a_key) {
	if (a_key) {
		// clé définie -> on ne fait rien de plus
	} else {
		// pas de clé -> on utilise le nom du fichier
		var l_loc = window.location.pathname;
		var l_end = l_loc.lastIndexOf('.');
		var l_pos = l_end;
		// on parcours le nom jusqu'à trouver le séparateur de fichiers
		do {
			l_pos--;
		} while ((l_pos >= 0) && (l_loc.charAt(l_pos) != '/') && (l_loc.charAt(l_pos) != '\\'));
		a_key = l_loc.substring(l_pos + 1, l_end);
	}

	// création des clés
	KEYS[0] = a_key.substr(0, 2);		// rubrique
	KEYS[1] = a_key.substr(0, 4);		// sous-rubrique
	
	// label de la rubrique
	var l_item;
	for (var l_rub = 1; l_rub < MENU_ITEMS.length; l_rub++) {
		l_item = MENU_ITEMS[l_rub];
		if (l_item.key == KEYS[0]) {
			// c'est le bon -> on le conserve
			LABELS[0] = l_item.code;
			break;
		}
	}
	if (und(LABELS[0])) {
		// il s'agit sûrement des pages "d'accueil"
		LABELS[0] = ACCUEIL_ITEMS[KEYS[1]];
	}
	
	if (window.SSRUB_ITEMS) {
		SS_RUBS = SSRUB_ITEMS[KEYS[0]];
	}
	if (SS_RUBS) {
		// label de la sous-rubrique
		for (var l_sub = 0; l_sub < SS_RUBS.length; l_sub++) {
			l_item = SS_RUBS[l_sub];
			if (l_item.key == KEYS[1]) {
				// c'est le bon -> on le conserve
				LABELS[1] = l_item.code;
				break;
			}
		}
	}
}

/**
 * Définit le style de la têtière, ainsi que la map "tet".
 */
function definitTetiere() {
	// on définit le style de la table complète
	xbGetElementById("fondTab").className = 'fondRub' + KEYS[0];

	// on construit une table, contenant les différentes images
	var l_rub = KEYS[0], 
		l_page = KEYS[1].substring(2, 4);
	var l_buf = '<table class="menuTransRub' + l_rub + '" width="100%" cellspacing="0" cellpadding="0" align="center" border="0">';
	l_buf += '<tr><td>';
	if (l_page != '00') {
		l_buf += '<a href="' + l_rub + '00.htm" title="retour au sommaire de la rubrique">';
	}
	l_buf += '<img src="../site/_imgs/tetieres/imgRub' + l_rub + '.gif" width="200" height="100"/>';
	if (l_page != '00') {
		l_buf += '</a>';
	}
	l_buf += '</td>';
	l_buf += '<td class="tetRubTit' + l_rub + '">&nbsp;</td>';
	l_buf += '<td width="100%">&nbsp;</td>';
	l_buf += '<td><a href="../index.htm" title="retour à l\'accueil"><img src="../site/_imgs/tetieres/logoRub' + l_rub + '.gif" width="222" height="100"/></a></td>';
	l_buf += '</tr></table>';
		
	document.write(l_buf);
	
}

/**
 * Définit le style du contenu sur une page de filtre
 */
function definitContenuCSS() {
	xbGetElementById("contenu").className = 'fondRub' + KEYS[0];
}

/**
 * Définit le style du séparateur gauche
 */
function definitSepGaucheCSS(a_isFiltre) {
	xbGetElementById("sepGauche").className = (a_isFiltre ? 'sepPaddRub' : 'menugPaddRub') + KEYS[0];
}

/**
 * Définit le style du menu gauche
 */
function definitMenuGaucheCSS() {
	xbGetElementById("menuGauche").className = 'menugWidthRub' + KEYS[0];
}

/**
 * Définit le style du menu transveral bas
 */
function definitMenuTransCSS() {
	xbGetElementById("menuTrans").className = 'menuTransRub' + KEYS[0];
	var l_top = xbGetElementById("topTrans");
	if (l_top) {
		l_top.className = 'menuTransRub' + KEYS[0];
	}
}

/**
 * Renvoie sur le sommaire de la rubrique
 */
function retourSommaire() {
	location.href = './' + KEYS[0] + '00.htm';
	return void(0);
}

/**
 * Ajoute le code HTML correspondant à une image (+ loupe) cliquable pour obtenir un zoom.
 * @param a_type	(String)	type de popup à appeler (HORIZ, VERT, HORIZ_SPEC, VERT_SPEC)
 * @param a_imgSrc	(String)	url de l'image dans le répertoire site_rXX/_imgs (ex : '010101_01.jpg')
 * @param a_id		(String)	identifiant de la popup pour le zoom (ex : '010101_01')
 * @param a_index	(int)		index de l'image dans la page (0 par défaut)
 */
function addZoomableImage(a_type, a_imgSrc, a_id, a_index) {
	a_index = (a_index) ? a_index : '';
	var l_func;
	switch(a_type) {
		case HORIZ		: l_func = 'zoomInHoriz'; break;
		case VERT		: l_func = 'zoomInVert'; break;
		case HORIZ_SPEC	: l_func = 'zoomInHorizSpec'; break;
		case VERT_SPEC	: l_func = 'zoomInVertSpec'; break;
	}
	
	var l_bufHRef = '<a href="javascript:void(0);" onclick="' + l_func + '(\'' + a_id + '\')"';
	// image elle-même
	var l_buf = l_bufHRef + '>' + '<img src="./_imgs/' + a_imgSrc + '" title="Agrandir l\'image"';
	l_buf += ' width="170" height="119"/></a>';
	l_buf += '<br/>';
	
	// loupe
	l_buf += l_bufHRef + 'onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'zoom' + a_index + '\', \'\', \'../site/_imgs/zoomOver.gif\', 1)">';
	l_buf += '<img src="../site/_imgs/zoomOff.gif" title="Agrandir l\'image" name="zoom' + a_index + '" width="170" height="15"></a><br/>';
	
	// on écrit
	document.write(l_buf);
}

/**
 * Affiche le menu transversal
 * @param 	a_items		(Object[])		description des items
 * @param	a_target	(String)		éventuel target
 * @param	a_logout	(boolean)		true si l'item de connexion doit être en déconnexion
 */
function writeMenuTrans(a_items, a_target, a_logout) {
}

/**
 * Initialise la page : tous les menus présents sur la page, ainsi que le titre.
 */
function init() {
	initPage();
}

/**
 * Initialise la page : tous les menus présents sur la page, ainsi que le titre.
 */
function initPage() {
	// on modifie le titre du document
	var l_titre = LABELS[0];
	if (!und(l_titre) && ((window.document.title == ' - ') || (window.document.title == '-'))) {
		l_titre = (LABELS[1]) ? l_titre + ' : ' + LABELS[1] : "Marius Fabre - " + l_titre;
		l_titre = l_titre.replace(/&#8217;/g, "'");
		window.document.title = l_titre;
	}
}

/**
 * Exécute la commande particulière spécifiée.
 * @param a_command		(String)	commande à transmettre au serveur
 */
function executeCommand(a_command) {
	// on analyse la chaîne de commande
	var l_commands = a_command.split(":");
	
	// on construit l'url, en décomposant la clé
	var l_keys = l_commands[0].split(".");
	var l_url = '../control?key=' + l_keys[0] + '&_action=' + l_commands[0];
	if (l_commands.length > 1) {
		l_url += '&link_id=' + l_commands[1];
	}
	
	// on affiche cette page
	location.href = l_url;
}


/**
 * Fonction appelée sur le onload du body
 */
function loaded() {
	// ne fait rien ici, utile pour les pages particulières
}

/**
 * Repositionne verticalement le div contenant tout le contenu de la page
 */
function positionne() {
	var x, y;
	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
	var l_div = xbGetElementById("content");
	var l_pos = parseInt((y - l_div.offsetHeight) / 2);
	if (l_pos < 0) {
		l_pos = 0;
	}
	l_div.style.top = l_pos + "px";
	
	var l_actu = xbGetElementById("apDiv1");
	if (l_actu) {
		var l_pos = parseInt(Math.max(x, 990) / 2) - 220;
		l_actu.style.left = l_pos + "px";
		console.log(x + " -> " + l_pos);
	}
	
}

var message="";
function clickIE() {
	if (document.all) {
		(message);return false;
	}
}

function clickNS(e) {
	if(document.layers ||(document.getElementById&&!document.all)) {
		if (e.which==2||e.which==3) {
		 	(message);return false;
		}
	}
}
if (document.layers){
	document.captureEvents(Event.MOUSEDOWN);
	document.onmousedown=clickNS;
} else {
	document.onmouseup=clickNS;
	document.ondoubleclick=clickNS;
	document.oncontextmenu=clickIE;
}
document.oncontextmenu=new Function("return false")

