/* HWB GCSE Accordion */

var gsrAccordions = {
  initialize: function() {
    if( this.setMainAccordion() ) this.setCatalogAccordion();
  },
  setMainAccordion: function() {
    main_togglers = $$('div#gcse-catalog-box h2','div.gcse-type-box h2');
    main_elements = $$('div#gcse-catalog-box-clientarea','div.gcse-type-box-clientarea');

    maxContainerHeight = 0;

    if( main_togglers.length == 0 || main_elements.length == 0 ) return false;

    main_togglers.each( function(ft) {
      ft.setStyle('cursor', 'pointer');
      maxContainerHeight += ft.offsetHeight + 15;
    });

    largestContainer = 0;
    main_elements.each( function(mels) {
      largestContainer = Math.max( mels.offsetHeight+160, largestContainer );
    });

    maxContainerHeight += largestContainer;
    $('gcse-root').setStyle('height', maxContainerHeight);

    main_acc = new Accordion(main_togglers, main_elements, {
      onActive: function(ftoggler, felement) {
        ftoggler.setStyle('color','red');// if( felement == $('gcse-catalog-box-clientarea') ) felement.setStyle('height','auto');// alert(felement.getStyle('height'));
      },
      onBackground: function(ftoggler) { ftoggler.setStyle('color',''); },
      opacity: false
    });

    return true;
  },

  setCatalogAccordion: function() {
    dontAdjust = false;
    cat_togglers = $$('h4.gcse-catalog-sections-box-hdr');
    cat_elements = $$('div.gcse-catalog-sections-box-clientarea');
    gsrAccordions.cat_toggle_maxheight = 0;
    cat_togglers.each( function(ct) {
      ct.setStyle('cursor', 'pointer');
      gsrAccordions.cat_toggle_maxheight += ct.offsetHeight + 32;
    });

    cat_elements.each( function(cel) {
      cel.startHeight = cel.offsetHeight+gsrAccordions.cat_toggle_maxheight;
    });

    cat_acc = new Accordion(cat_togglers, cat_elements, {
      onActive: function(ftoggler, felement)  {
        ftoggler.setStyle('color','#cc4444');
        main_el = $('gcse-catalog-box-clientarea');
        //alert(felement.startHeight + ', ' + main_el.offsetHeight);
        main_el.effects().start({'height':[main_el.offsetHeight,felement.startHeight]});
      },
      onBackground: function(ftoggler) { ftoggler.setStyle('color',''); },
      opacity: false,
      display: 0
    });
    dontAdjust = true;
  }

};
window.addEvent('domready', function() { gsrAccordions.initialize(); } );