
var ReadMoreController = new Class({
  initialize: function() {
    $$(' .readmore-style-box').each(function(boxEl) {
      var buttonEl = boxEl.getElement(' .readmore-style-button');
      buttonEl.addEvent('click', function(boxEl, event) {
        this.toggleReadMore(boxEl);
      }.pbind(this, boxEl));
      
      this.toggleReadMore(boxEl, true);
    }.pbind(this));
  },
  toggleReadMore:function(boxEl, hide) {
    if (hide == null) {
      var boxHideAttr = boxEl.get('readMoreHidden');
      if (boxHideAttr != null) {
        hide = (boxHideAttr == "true");
      } else {
        hide = true;
      }
    }
    
    boxEl.set('readMoreHidden', !hide);
    
    var childEls = boxEl.getChildren();
    
    var toggleNow = false;
    childEls.each(function(childEl) {
      if (toggleNow) {
        if (hide) {
          childEl.hide();
        } else {
          childEl.show();
        }
      }
      if (childEl.get('tag') == 'hr' && childEl.hasClass('readmore-style-break')) {
        toggleNow = true;
      }
    });
    
    var buttonEls = boxEl.getElements(' .readmore-style-button');
    buttonEls.each(function(buttonEl) {
      if (hide) {
        buttonEl.removeClass('expanded');
      } else {
        buttonEl.addClass('expanded');
      }
    });
  }
});

var readMoreController = null;
window.addEvent("domready", function() {
  readModeController = new ReadMoreController();
});

