/*
	@ Plug'in "tabs" développé sur la base de fwk. 
	
	@ fwk requis.
	
	@ Auteur Benoît Rouches
	@ benoitrouches@gmail.com
*/

function tabs(settings) {
	var jfwk  = tabs.prototype;
	var settings = (typeof settings != 'object') ? {} : settings;
	settings = jfwk.params({
		selector     : '.tabs',
		prefixCible  : 'tabs',
		selected     : 'selected',
		trigger      : 'click',
		fadeIn       : true
     },settings);
	
	var elmt = jfwk.$(settings.selector); 
	var nbElmt = elmt.length;

	for(var i = 0; i < nbElmt; i++)
	jfwk.addListener( elmt[i], settings.trigger, function(i) { return function(e){ display(e,i); } }(i) );
	
	function display(e,index) {
		// élément cliqué
		var el = jfwk.$(e);
		// si l'élément cliqué est l'enfant du tag voulu
		// on recherche l'objet html du tag
		if(el.tagName != elmt[index].tagName) el = jfwk.findElement(el, elmt[index].tagName);
		
		if( !jfwk.hasClassName(elmt[index], settings.selected) )
		{
			for(var i = 0; i < nbElmt; i++)
			{
				if(elmt[i] == el)
				{
					jfwk.addClass(elmt[i], settings.selected);
					if(settings.fadeIn == true)
					jfwk.fadeIn( { objectHtml : jfwk.$('#'+settings.prefixCible + '-' + i ), duration : 'fast' } );
					else
					jfwk.$( '#'+settings.prefixCible + '-' + i ).style.display = 'block';
				}
				else
				{
					jfwk.removeClass(elmt[i], settings.selected);
					jfwk.$( '#'+settings.prefixCible + '-' + i ).style.display = 'none';
				}
			}
		}
		jfwk.stopEvent(e);
	};
}
tabs.prototype = new fwk();
