Event.observe(window, 'load', function() {

    $$('a').each( function(element) {

        //add missing ids
        if (element.name != '') { element.id = (element.id  == '') ? element.name : element.id; }

        //scrollto top or to element
        if (element.href.split('#')[0] == window.location)
            if (String(element.href.split('#')[1]) == '') {
                element.observe('click', function(event) {
                    var body = $$('body')[0];
                    if (body.id != '') new Effect.ScrollTo(body.id);
                        else self.scrollTo(0,0);
                    Event.stop(event);
                }.bindAsEventListener(element))
            } else {
                element.observe('click', function(event) {
                    new Effect.ScrollTo(this.href.split('#')[1], {offset: -24});
                    Event.stop(event);
                }.bindAsEventListener(element))
            }

    });
})
