var TabMenu = new Class({ initialize: function(config) { this.otwarty = ''; this.start = 0; var czas_on = config.czas_on; var funkcja_on = config.funkcja_on; var wysokosc = config.wysokosc; var boxy = this.tab = config.tab; var content = this.content = config.content; var i = 0; var tab = $(document.body).getElements('[id^=' + boxy + ']'); this.wylaczwszystkie(0); tab.each(function(item){ var currenttab = item.getProperty('id'); var contenttab_current = $(content+currenttab); var nazwa = content+currenttab; $(currenttab).addEvent('click', function() { this.start = 1; this.wylaczwszystkie(1); item.set('class', 'tab_on'); if ((funkcja_on) && (czas_on) && (wysokosc)) { var html = contenttab_current.get('html'); contenttab_current.set('html',html); contenttab_current.setStyle('height', 0); contenttab_current.setStyle('display','block'); var myEffect = new Fx.Morph(contenttab_current, {duration: czas_on, transition: funkcja_on}); myEffect.start({ 'height': [0, wysokosc] }); } else { contenttab_current.setStyle('display','block'); } ajaxlink = item.get('title'); if (ajaxlink) { contenttab_current.addClass('tab_ajax'); var myRequest = new Request({url: ajaxlink, method: 'get', onSuccess: function(responseText, responseXML) { contenttab_current.removeClass('tab_ajax'); contenttab_current.set('html',responseText); var web = new webClass(); web.ajax_init(); }}).send(); } this.otwarty = currenttab; return false; }.bind(this)); if (i == 0) { item.set('class', 'tab_on'); if (contenttab_current) { contenttab_current.setStyle('display','block'); } this.otwarty = currenttab; } i++; }.bind(this)); }, wylaczwszystkie: function(morfuj) { var tab = this.tab; var tab = $(document.body).getElements('[id^=' + tab + ']'); var content = this.content; tab.each(function(item){ var currenttab = item.getProperty('id'); var contenttab_current = $(content+currenttab); var ajaxowy = item.get('title'); if (this.otwarty == currenttab) { item.set('class', 'tab_off'); } if (contenttab_current) { contenttab_current.setStyle('display','none'); } if ((ajaxowy) && (this.start)) { contenttab_current.set('html',''); } }.bind(this)); } });