[ Index ]

PHP Cross Reference of Joomla 1.5.26 DE

title

Body

[close]

/media/system/js/ -> switcher.js (source)

   1  /**
   2  * @version        $Id: switcher.js 14401 2010-01-26 14:10:00Z louis $
   3  * @package        Joomla
   4  * @subpackage    Config
   5  * @copyright    Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
   6  * @license GNU/GPL, see LICENSE.php
   7  * Joomla! is free software. This version may have been modified pursuant
   8  * to the GNU General Public License, and as distributed it includes or
   9  * is derivative of works licensed under the GNU General Public License or
  10  * other free or open source software licenses.
  11  * See COPYRIGHT.php for copyright notices and details.
  12  */
  13  
  14  /**
  15   * Switcher behavior for configuration component
  16   *
  17   * @package        Joomla.Extensions
  18   * @subpackage    Config
  19   * @since        1.5
  20   */
  21  var JSwitcher = new Class({
  22  
  23      toggler : null, //holds the active toggler
  24      page    : null, //holds the active page
  25  
  26      options : {
  27          cookieName: 'switcher'
  28      },
  29  
  30      initialize: function(toggler, element, options)
  31      {
  32          this.setOptions(options);
  33  
  34          var self = this;
  35  
  36          togglers = $ES('a', toggler);
  37          for (i=0; i < togglers.length; i++) {
  38              togglers[i].addEvent( 'click', function() { self.switchTo(this); } );
  39          }
  40  
  41          //hide all
  42          elements = element.getElements('div[id^=page-]');
  43          for (i=0; i < elements.length; i++) {
  44              this.hide(elements[i])
  45          }
  46  
  47          this.toggler = $E('a.active', toggler);
  48          this.page    = $('page-'+ this.toggler.id);
  49  
  50          this.show(this.page);
  51          if (this.options.cookieName)
  52          {
  53              if((page = Cookie.get(this.options.cookieName))) {
  54                  this.switchTo($(page));
  55              }
  56          }
  57      },
  58  
  59      switchTo: function(toggler)
  60      {
  61          page = $chk(toggler) ? $('page-'+toggler.id) : null;
  62          if(page && page != this.page)
  63          {
  64              //hide old element
  65              if(this.page) {
  66                  this.hide(this.page);
  67              }
  68  
  69              //show new element
  70              this.show(page);
  71  
  72              toggler.addClass('active');
  73              if (this.toggler) {
  74                  this.toggler.removeClass('active');
  75              }
  76              this.page    = page;
  77              this.toggler = toggler;
  78              Cookie.set(this.options.cookieName, toggler.id);
  79          }
  80      },
  81  
  82      hide: function(element) {
  83          element.setStyle('display', 'none');
  84      },
  85  
  86      show: function (element) {
  87          element.setStyle('display', 'block');
  88      }
  89  });
  90  
  91  JSwitcher.implement(new Options);
  92  
  93  document.switcher = null;
  94  window.addEvent('domready', function(){
  95       toggler = $('submenu')
  96        element = $('config-document')
  97        if(element) {
  98            document.switcher = new JSwitcher(toggler, element, {cookieName: toggler.getAttribute('class')});
  99        }
 100  });


Generated: Wed Mar 28 15:54:07 2012 Cross-referenced by PHPXref 0.7.1