File "tabs.js"
Full Path: /home/asmplong/www/ancien-site-2019/poc/media/system/js/tabs.js
File size: 2.25 KB
MIME-type: text/plain
Charset: utf-8
/**
* @version $Id: cookie.js 6138 2007-01-02 03:44:18Z eddiea $
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/
/**
* Tabs behavior
*
* @package Joomla!
* @subpackage JavaScript
* @since 1.5
*/
var JTabs = new Class({
getOptions: function(){
return {
display: 0,
onActive: function(title, description){
description.setStyle('display', 'block');
title.addClass('open').removeClass('closed');
},
onBackground: function(title, description){
description.setStyle('display', 'none');
title.addClass('closed').removeClass('open');
}
};
},
initialize: function(dlist, options){
this.dlist = $(dlist);
this.setOptions(this.getOptions(), options);
this.titles = this.dlist.getElements('dt');
this.descriptions = this.dlist.getElements('dd');
this.content = new Element('div').injectAfter(this.dlist).addClass('current');
for (var i = 0, l = this.titles.length; i < l; i++){
var title = this.titles[i];
var description = this.descriptions[i];
title.setStyle('cursor', 'pointer');
title.addEvent('click', this.display.bind(this, i));
description.injectInside(this.content);
}
if ($chk(this.options.display)) this.display(this.options.display);
if (this.options.initialize) this.options.initialize.call(this);
},
hideAllBut: function(but){
for (var i = 0, l = this.titles.length; i < l; i++){
if (i != but) this.fireEvent('onBackground', [this.titles[i], this.descriptions[i]])
}
},
display: function(i){
this.hideAllBut(i);
this.fireEvent('onActive', [this.titles[i], this.descriptions[i]])
}
});
JTabs.implement(new Events);
JTabs.implement(new Options);