function main(id){if(!document.getElementById||!document.getElementsByTagName)return false;this.menu=document.getElementById(id);this.submenus=this.menu.getElementsByTagName("div");this.speed=5;this.oneSmOnly=false;}main.prototype.init=function(){var mainInstance=this;for(var i=0;i<this.submenus.length;i++)this.submenus[i].getElementsByTagName("span")[0].onclick=function(){mainInstance.toggleMenu(this.parentNode);};};main.prototype.toggleMenu=function(submenu){if(submenu.className=="collapsed")this.expandMenu(submenu);elsethis.collapseMenu(submenu);};main.prototype.expandMenu=function(submenu){var fullHeight=submenu.getElementsByTagName("span")[0].offsetHeight;var links=submenu.getElementsByTagName("p");for(var i=0;i<links.length;i++)fullHeight+=links[i].offsetHeight;var moveBy=Math.round(fullHeight/this.speed);var mainInstance=this;var intId=setInterval(function(){var curHeight=submenu.offsetHeight;var newHeight=curHeight+moveBy;if(newHeight<fullHeight)submenu.style.height=newHeight+"px";else
{clearInterval(intId);submenu.style.height="";submenu.className="";}},30);this.collapseOthers(submenu);};main.prototype.collapseMenu=function(submenu){var minHeight=submenu.getElementsByTagName("span")[0].offsetHeight;var fullHeight=submenu.getElementsByTagName("span")[0].offsetHeight;var links=submenu.getElementsByTagName("p");for(var i=0;i<links.length;i++)fullHeight+=links[i].offsetHeight;var moveBy=Math.round(fullHeight/this.speed);var mainInstance=this;var intId=setInterval(function(){var curHeight=submenu.offsetHeight;var newHeight=curHeight-moveBy;if(newHeight>minHeight)submenu.style.height=newHeight+"px";else{clearInterval(intId);submenu.style.height="";submenu.className="collapsed";}},30);};main.prototype.collapseOthers=function(submenu){if(this.oneSmOnly){for(var i=0;i<this.submenus.length;i++)if(this.submenus[i]!=submenu&&this.submenus[i].className!="collapsed")this.collapseMenu(this.submenus[i]);}};main.prototype.expandAll=function(){var oldOneSmOnly=this.oneSmOnly;this.oneSmOnly=false;
for(var i=0;i<this.submenus.length;i++)if(this.submenus[i].className=="collapsed")this.expandMenu(this.submenus[i]);this.oneSmOnly=oldOneSmOnly;};main.prototype.collapseAll=function(){for(var i=0;i<this.submenus.length;i++)if(this.submenus[i].className!="collapsed")this.collapseMenu(this.submenus[i]);}
