/*
	YUIDomCollapse by Christian Heilmann
	Version 1.0 / May 2007
	License: http://creativecommons.org/licenses/by/3.0/
	Homepage: http://onlinetools.org/tools/yuidomcollapse/
*/
YAHOO.namespace('otorg');YAHOO.otorg.DomCollapse={init:function(){var css=YAHOO.otorg.DomCollapse.css;if(typeof(css)!=='undefined'){var bookmark=window.location.hash.replace('#','');var elms=YAHOO.util.Dom.getElementsByClassName(css.triggerClass);for(var i=0,j=elms.length;i<j;i++){if(elms[i].nodeName.toLowerCase()!=='a'){var t=YAHOO.otorg.DomCollapse.getNext(elms[i]);if(t){var newID=t.id || YAHOO.util.Dom.generateId();t.setAttribute('id',newID);var a=document.createElement('a');a.setAttribute('href','#'+newID);var c=elms[i].innerHTML;a.innerHTML=elms[i].innerHTML;elms[i].innerHTML='';elms[i].appendChild(a);if(newID!==bookmark){YAHOO.util.Dom.addClass(elms[i],css.parentClass);YAHOO.util.Dom.addClass(t,css.hideClass);} else {YAHOO.util.Dom.addClass(elms[i],css.openClass);YAHOO.util.Dom.removeClass(t,css.hideClass);};YAHOO.util.Event.on(a, 'click', YAHOO.otorg.DomCollapse.toggle);};} else {var newID=elms[i].href.replace(/.*#/,'');var t=document.getElementById(newID) || YAHOO.otorg.DomCollapse.getNext(elms[i]);if(t!==null){if(t.id!==newID){newID=t.id;elms[i].setAttribute('href','#'+newID);};if(newID!==bookmark){YAHOO.util.Dom.addClass(elms[i],css.parentClass);YAHOO.util.Dom.addClass(t,css.hideClass);} else {YAHOO.util.Dom.addClass(elms[i],css.openClass);};YAHOO.util.Event.on(elms[i], 'click', YAHOO.otorg.DomCollapse.toggle);};};};};},getNext:function(o){var t=o.nextSibling;if(t){while(t.nodeType!==1&&t.nextSibling){t=t.nextSibling;}}return t;},toggle:function(e){var css=YAHOO.otorg.DomCollapse.css;var parent=YAHOO.util.Dom.hasClass(this,css.triggerClass)?this:this.parentNode;var id=this.href.replace(/.*#/,'');var t=document.getElementById(id);if(t!==undefined){if(YAHOO.util.Dom.hasClass(t,css.hideClass)){YAHOO.util.Dom.removeClass(t,css.hideClass);YAHOO.util.Dom.replaceClass(parent,css.parentClass,css.openClass);} else {YAHOO.util.Dom.addClass(t,css.hideClass);YAHOO.util.Dom.replaceClass(parent,css.openClass,css.parentClass);YAHOO.util.Event.preventDefault(e);};};}};YAHOO.util.Event.onDOMReady(YAHOO.otorg.DomCollapse.init);

/*
	YUIDomCollapse fancy add-on by Christian Heilmann
	Version 1.0 / May 2007
	License: http://creativecommons.org/licenses/by/3.0/
	Homepage: http://onlinetools.org/tools/yuidomcollapse/
*/
if(YAHOO&&YAHOO.otorg&&YAHOO.otorg.DomCollapse&&YAHOO.util&&YAHOO.util.Anim){YAHOO.otorg.DomCollapse.toggle=function(e){var css=YAHOO.otorg.DomCollapse.css;var parent=YAHOO.util.Dom.hasClass(this,css.triggerClass)?this:this.parentNode;var id=this.href.replace(/.*#/,'');var t=document.getElementById(id);if(t!==undefined){var oldover=YAHOO.util.Dom.getStyle(t,'overflow');YAHOO.util.Dom.setStyle(t,'overflow','hidden');var height=YAHOO.util.Dom.getStyle(t,'height');if(height==='auto'){  curHeight=t.offsetHeight;} else{ curHeight=Math.max(parseInt(height),t.offsetHeight);}var x=parseInt(curHeight);if(YAHOO.util.Dom.hasClass(t,css.hideClass)){YAHOO.util.Dom.setStyle(t,'height',0+'px');YAHOO.util.Dom.removeClass(t,css.hideClass);YAHOO.util.Dom.setStyle(t,'opacity',0);var a=new YAHOO.util.Anim(t,{opacity: {from:0,to: 1},height:{from:0,to:x} },.8,YAHOO.util.Easing.easeBoth);a.onComplete.subscribe(function(){YAHOO.util.Dom.setStyle(t,'overflow',oldover);YAHOO.util.Dom.replaceClass(parent,css.parentClass,css.openClass);});a.animate();} else {var a=new YAHOO.util.Anim(t,{opacity: {from:1,to: 0} ,height:{from:x,to:0} },.8,YAHOO.util.Easing.easeBoth);a.animate();a.onComplete.subscribe(function(){YAHOO.util.Dom.addClass(t,css.hideClass);YAHOO.util.Dom.setStyle(t,'height',x+'px');YAHOO.util.Dom.setStyle(t,'opacity',1);YAHOO.util.Dom.setStyle(t,'overflow',oldover);YAHOO.util.Dom.replaceClass(parent,css.openClass,css.parentClass);});};};YAHOO.util.Event.preventDefault(e);};};

if(YAHOO && YAHOO.otorg && YAHOO.otorg.DomCollapse){
	YAHOO.otorg.DomCollapse.css = {
		triggerClass:'accordion_trigger',
		hideClass:'accordion_hide',
		parentClass:'accordion_closed',
		openClass:'accordion_open'
	}
}

