// dojo 
dojo.require("dojo.parser");

// dijit
dojo.require("dijit.TitlePane");
dojo.require("dijit.layout.ContentPane");

/* This function allows AccordionGroup and TitlePane to work correctly. */
dojo.declare("dijit.layout.AccordionGroup", dijit._Widget, {
  postCreate: function() {
    this.inherited(arguments);
    this.connect(this.domNode, "onclick", "closeAllBut");
    // slightly foo: works in this usecase, but this will close all TitlePane's on a page, even the ones not in this group!
    this.connect(dijit.TitlePane.prototype, "_onTitleKey", "closeAllBut")
  },
  closeAllBut: function(e) {
    var d = dijit.getEnclosingWidget(e.target);
    if(d && d.declaredClass == "dijit.TitlePane"){
      dojo.query(".dijitTitlePane", this.domNode)
      .forEach(function(n){
        var tp = dijit.getEnclosingWidget(n);
        if(tp.open && tp !== d){ tp.toggle(); }
      });
    }
  }
});
