| Linux hosting5.siteguarding.com 3.10.0-962.3.2.lve1.5.88.el7.x86_64 #1 SMP Fri Sep 26 14:06:42 UTC 2025 x86_64 Path : /home/devsafetybis/verd.dev.safetybis.com/catalogue/js/varien/ |
| Current File : /home/devsafetybis/verd.dev.safetybis.com/catalogue/js/varien/accordion.js |
/**
* OpenMage
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE_AFL.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magento.com so we can send you a copy immediately.
*
* @category Varien
* @package js
* @copyright Copyright (c) 2006-2020 Magento, Inc. (https://www.magento.com)
* @license https://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
*/
Accordion = Class.create();
Accordion.prototype = {
initialize: function(elem, clickableEntity, checkAllow) {
this.container = $(elem);
this.checkAllow = checkAllow || false;
this.disallowAccessToNextSections = false;
this.sections = $$('#' + elem + ' .section');
this.currentSection = false;
var headers = $$('#' + elem + ' .section ' + clickableEntity);
headers.each(function(header) {
Event.observe(header,'click',this.sectionClicked.bindAsEventListener(this));
}.bind(this));
},
sectionClicked: function(event) {
this.openSection($(Event.element(event)).up('.section'));
Event.stop(event);
},
openSection: function(section) {
var section = $(section);
// Check allow
if (this.checkAllow && !Element.hasClassName(section, 'allow')){
return;
}
if(section.id != this.currentSection) {
this.closeExistingSection();
this.currentSection = section.id;
$(this.currentSection).addClassName('active');
var contents = Element.select(section, '.a-item');
contents[0].show();
//Effect.SlideDown(contents[0], {duration:.2});
if (this.disallowAccessToNextSections) {
var pastCurrentSection = false;
for (var i=0; i<this.sections.length; i++) {
if (pastCurrentSection) {
Element.removeClassName(this.sections[i], 'allow');
}
if (this.sections[i].id==section.id) {
pastCurrentSection = true;
}
}
}
}
},
closeSection: function(section) {
$(section).removeClassName('active');
var contents = Element.select(section, '.a-item');
contents[0].hide();
//Effect.SlideUp(contents[0]);
},
openNextSection: function(setAllow){
for (section in this.sections) {
var nextIndex = parseInt(section)+1;
if (this.sections[section].id == this.currentSection && this.sections[nextIndex]){
if (setAllow) {
Element.addClassName(this.sections[nextIndex], 'allow');
}
this.openSection(this.sections[nextIndex]);
return;
}
}
},
openPrevSection: function(setAllow){
for (section in this.sections) {
var prevIndex = parseInt(section)-1;
if (this.sections[section].id == this.currentSection && this.sections[prevIndex]){
if (setAllow) {
Element.addClassName(this.sections[prevIndex], 'allow');
}
this.openSection(this.sections[prevIndex]);
return;
}
}
},
closeExistingSection: function() {
if(this.currentSection) {
this.closeSection(this.currentSection);
}
}
};