var Onglet = {
	config : {	// à placer dans l'html
			   	CLASS_MENU:	'jsMenuOnglet',		// menu (ul / div)
				CLASS_TAB:	'jsTab',			// groupe de tab (div)
				ID_TAB:		'jsTab-',			// tab (div)
				ID_MENU: 	'jsMenu-onglet-',	// menu groupe (ul)
				ID_ONGLET:	'jsOnglet-'			// onlget (li)
			 },

	_lien : [],
	_premier_active : [],

	init: function() {
		var menu, tabs, onglets, lien;
		var menus = document.getElementsByClass(Onglet.config["CLASS_MENU"], null, 'div');

		var i, j, ii, k, matches, countOnglets, bFirst;

		for (i=0; i<menus.length; i++)	{
			menu = menus[i];
			menu.tabs = [];

			matches = menu.id.match(new RegExp(Onglet.config["ID_MENU"] + "([0-9\\w]+)"));
			menu.tabId = RegExp.$1;
			menu.tab = document.getElementById(Onglet.config["ID_TAB"] + menu.tabId); 	// tab
			menu.elem = document.getElementById(Onglet.config["ID_MENU"] + menu.tabId);	// menu

			var counts = document.getElementsByClass(Onglet.config["CLASS_TAB"], menu.tab, 'div');
			for (var k=0; k<counts.length; k++)
				menu.tabs[k] = counts[k];

				menu.tab.style.display = "none";
				bFirst = true;
				for (j=0; j<menu.elem.childNodes.length; j++)	{
				if( menu.elem.childNodes[j].nodeName == "UL" ) {
					onglets = menu.elem.childNodes[j];
					countOnglets = 0;
					for(ii = 0; ii < onglets.childNodes.length; ii++) {
						if( onglets.childNodes[ii].nodeName == "LI" ) {
							lien = onglets.childNodes[ii];
							lien.tabId = Onglet.config["ID_TAB"] + menu.tabId;
							lien.id = Onglet.config["ID_ONGLET"] + countOnglets + "-" + lien.tabId;
							lien.ongletId = countOnglets;
							lien.onclick = function() {
								Onglet.tabShow(this);
								return false;
							};

							// ancre du lien
							lien.ancre = "";
							for(k = 0; k < lien.childNodes.length; k++) {
								if( lien.childNodes[k].nodeName == "A" )
									lien.ancre = lien.childNodes[k].hash;
							}

							// 1er onglet actif par defaut ou par ancre
							if (document.location.hash == lien.ancre)
								Onglet._premier_active[i] = lien;
							else
								if (bFirst) Onglet._premier_active[i] = lien;
							bFirst = false;

							Onglet._lien[countOnglets] = lien;
							countOnglets++;
						}
					}
				}
			}
		}

		// affichage du 1et onglet actif
		for(i = 0; i < Onglet._premier_active.length; i++) {
			Onglet.tabShow(Onglet._premier_active[i]);
			document.getElementById(Onglet._premier_active[i].tabId).style.display = "block";
		}
	},

	tabShow : function(oOnglet_Id) { // TODO : rajouter des options
		var counts = document.getElementsByClass(Onglet.config["CLASS_TAB"], document.getElementById(oOnglet_Id.tabId), 'div');
		for (var i=0; i<counts.length; i++) {
			counts[i].style.display = "none";
			document.getElementById(Onglet.config["ID_ONGLET"] + i + "-" + oOnglet_Id.tabId).className = "";
		};

		counts[oOnglet_Id.ongletId].style.display = "block";
		document.getElementById(Onglet.config["ID_ONGLET"] + oOnglet_Id.ongletId + "-" + oOnglet_Id.tabId).className = "selected";
	}
};

if( navigator.userAgent.toLowerCase().indexOf("msie") != -1  && navigator.userAgent.toLowerCase().indexOf("opera") == -1)
	addEvents(window, "load", Onglet.init) // spec vla iframe bug iE
else
	onDomReady(Onglet.init);