var dnUIPool=dnUIPool||[],dnElementGroup=Class.create({initialize:function(b){this.elems=$A(b)},addObservers:function(b){var d=this;$H(b).each(function(c){d.elems.each(function(a){if(a.tagName.toLowerCase()=="a"&&a.href)a.onclick=function(){return false};a.observe(c.key,c.value)})});return this}}),dnElementMap=Class.create({initialize:function(b,d){this.srcGroup=b.elems?b:new dnElementGroup(b);this.destGroup=d.elems?d:new dnElementGroup(d);this.map=$H();var c=this;this.srcGroup.elems.each(function(a,
e){c.destGroup.elems[e]&&c.map.set($(a).identify(),c.destGroup.elems[e])});this.destGroup.elems.each(function(a,e){c.srcGroup.elems[e]&&c.map.set($(a).identify(),c.srcGroup.elems[e])})},getElementFromMap:function(b){return $(this.map.get($(b).identify()))}}),dnRadioGroup=Class.create(dnElementGroup,{initialize:function($super,d,c){$super(d);c=c||0;this.current=this.elems[c];var a=this;this.addObservers({"dnRadio:select":function(){var e=a.current,f=a.current=this;e!=f&&$(e).fire("dnRadio:unselect")}})},
selectIndex:function(b){$(this.elems[b]).fire("dnRadio:select")}}),dnTabGroup=Class.create(dnElementMap,{initialize:function($super,d,c,a,e){d=new dnRadioGroup(d,a);$super(d,c);d.addObservers({click:function(){$(this).fire("dnRadio:select")},"dnRadio:select":function(){$(this).fire("dnTab:select")},"dnRadio:unselect":function(){$(this).fire("dnTab:unselect")}});var f=this;this.getTabGroup().addObservers({"dnTab:select":function(){f.getElementFromMap(this).fire("dnPanel:show")},"dnTab:unselect":function(){f.getElementFromMap(this).fire("dnPanel:hide")}});
this.getPanelGroup().addObservers(e||{"dnPanel:show":function(){this.style.display="block"},"dnPanel:hide":function(){this.style.display="none"}})},getTabGroup:function(){return this.srcGroup},getPanelGroup:function(){return this.destGroup},selectIndex:function(b){this.getTabGroup().selectIndex(b)}});
function dnSetupTabGroup(b,d,c,a,e){e=e||0;b=new dnTabGroup(b,d,e);if(c||a)b.getTabGroup().addObservers({"dnTab:select":function(){c&&$(this).addClassName(c);a&&$(this).removeClassName(a)},"dnTab:unselect":function(){c&&$(this).removeClassName(c);a&&$(this).addClassName(a)}});a&&b.getTabGroup().elems.invoke("addClassName",a);b.selectIndex(e);dnUIPool.push(b);return b}
var dnRolloverMenu=Class.create(dnElementMap,{initialize:function($super,d,c,a){new dnElementGroup(d);$super(d,c);var e=this;this.getMenuBarGroup().addObservers({mouseover:function(){this.dnMenuActive||$(this).fire("dnMenu:activate")},"dnMenu:activate":function(){this.dnMenuActive=true;e.getElementFromMap(this).fire("dnPanel:show")},mouseout:function(f){f=f.relatedTarget||f.toElement;var g=e.getElementFromMap(this);if(!f||f!=g&&!$(f).descendantOf(g))$(this).fire("dnMenu:deactivate")},"dnMenu:deactivate":function(){this.dnMenuActive=
false;e.getElementFromMap(this).fire("dnPanel:hide")}});this.getPanelGroup().addObservers({mouseout:function(f){f=f.relatedElement||f.toElement;var g=e.getElementFromMap(this);f!=g&&g.fire("dnMenu:deactivate")}});this.getPanelGroup().addObservers(a||{"dnPanel:show":function(){this.style.display="block"},"dnPanel:hide":function(){this.style.display="none"}})},getMenuBarGroup:function(){return this.srcGroup},getPanelGroup:function(){return this.destGroup}});
function dnSetupRolloverMenu(b,d,c,a){b=new dnRolloverMenu(b,d,a);c&&b.getMenuBarGroup().addObservers({"dnMenu:activate":function(){$(this).addClassName(c)},"dnMenu:deactivate":function(){$(this).removeClassName(c)}});dnUIPool.push(b);return b}
function dnSetupRolloverMenuAnimated(b,d,c){return dnSetupRolloverMenu(b,d,c,{"dnPanel:show":function(){$(this).slideDown({duration:0.2,queue:{position:"end",scope:$(this).identify()},beforeStart:function(a){a.element.fire("dnPanel:beforeShow")},afterFinish:function(a){a.element.fire("dnPanel:afterShow")}})},"dnPanel:hide":function(){$(this).slideUp({duration:0.1,queue:{position:"end",scope:$(this).identify()},beforeStart:function(a){a.element.fire("dnPanel:beforeHide")},afterFinish:function(a){a.element.fire("dnPanel:afterHide")}})}})}
var dnToggleGroup=Class.create(dnElementMap,{initialize:function($super,d,c,a){$super(d,c);var e=this;this.getToggleGroup().addObservers({click:function(){if(this.dnActive){this.dnActive=false;$(this).fire("dnToggle:deactivate");e.getElementFromMap(this).fire("dnPanel:hide")}else{this.dnActive=true;$(this).fire("dnToggle:activate");e.getElementFromMap(this).fire("dnPanel:show")}}});this.getPanelGroup().addObservers(a||{"dnPanel:show":function(){this.style.display="block"},"dnPanel:hide":function(){this.style.display=
"none"}})},getToggleGroup:function(){return this.srcGroup},getPanelGroup:function(){return this.destGroup}});function dnSetupToggleGroup(b,d,c,a){b=new dnToggleGroup(b,d,a);c&&b.getToggleGroup().addObservers({"dnToggle:activate":function(){$(this).addClassName(c)},"dnToggle:deactivate":function(){$(this).removeClassName(c)}});dnUIPool.push(b);return b}
function dnSetupToggleGroupAnimated(b,d,c){return dnSetupToggleGroup(b,d,c,{"dnPanel:show":function(){$(this).blindDown({duration:0.3,queue:{position:"end",scope:$(this).identify()},beforeStart:function(a){a.element.fire("dnPanel:beforeShow")},afterFinish:function(a){a.element.fire("dnPanel:afterShow")}})},"dnPanel:hide":function(){$(this).blindUp({duration:0.2,queue:{position:"end",scope:$(this).identify()},beforeStart:function(a){a.element.fire("dnPanel:beforeHide")},afterFinish:function(a){a.element.fire("dnPanel:afterHide")}})}})}
;

