var tableOfContents=new Class({Implements:Options,options:{tag:"h2",topLinkText:"nach oben",topLinkDepth:1,inject:{ele:"",position:"before"}},initialize:function(a,b){this.setOptions(b);this.container=a;if(this.options.inject.ele==""){this.options.inject.ele=this.container}if($type(Fx.Scroll)=="class"){this.fxScroll=true}this.output()},output:function(){var e=this.options.tag.split(","),h=new Element("ol",{id:"toc"}).inject(this.options.inject.ele,this.options.inject.position),f=0,g=0,d=h,a,c,b;$(this.container).getElements("*").each(function(l,k){if(this.options.tag.contains(l.get("tag"))){f=e.indexOf(l.get("tag"));if(l.id==""){l.id="heading"+k}b=new Element("a",{text:l.get("text"),href:"#"+l.id});if(f<this.options.topLinkDepth){c=new Element("a",{text:this.options.topLinkText,"class":"top",style:"float: right",href:"#toc"});c.injectInside(l.getParent())}if(f>g){for(j=g;j<f;j++){a=new Element("li").inject(new Element("ol").inject(d))}}else{if(f==g&&f!=0){a=new Element("li").inject(d.getParent())}else{if(f==0){a=new Element("li").inject(h)}else{for(j=f;j<=g;j++){d=d.getParent()}a=new Element("li").inject(d)}}}d=a;b.inject(a);g=f;if(this.fxScroll==true){if(typeof(c)=="object"){c.addEvent("click",function(i){i.stop();new Fx.Scroll(window).toElement(h)})}b.addEvent("click",function(i){i.stop();new Fx.Scroll(window).toElement(l)})}}}.bind(this))}});
