2 function scrollToAnchor(anchor) {
4 var anchor_name = anchor.slice(1);
5 var element = $('a[name="' + anchor_name + '"]');
6 if (element.length > 0) {
7 $.scrollTo(element, 500, {offset: {top: -50, left: 0}});
8 foot_elem = $('#footnotes a[name="' + anchor_name + '"]');
9 if (foot_elem.length > 0) {
10 $(element).parent().highlightFade('yellow');
12 window.location.hash = anchor;
17 $.highlightFade.defaults.speed = 3000;
18 if ($('#themes li').length == 0) {
19 $('#menu li a[href="#themes"]').remove();
21 if ($('#nota_red').length == 0) {
22 $('#menu li a[href="#nota_red"]').remove();
25 // On page load, scroll to anchor
26 scrollToAnchor(window.location.hash)
28 $('#toc, #themes, #book-text').delegate('click', 'a', function(event) {
29 event.preventDefault();
30 $('#menu li a.selected').click();
31 scrollToAnchor($(this).attr('href'));
34 $('#menu li a.menu').toggle(function() {
35 $('#menu li a.selected').click();
36 $(this).addClass('selected');
37 $($(this).attr('href')).slideDown('fast');
39 $(this).removeClass('selected');
40 $($(this).attr('href')).slideUp('fast');
44 if (window.getSelection) {
45 $('.theme-begin').click(function() {
46 var selection = window.getSelection();
47 selection.removeAllRanges();
48 var range = document.createRange();
50 var e = $(".theme-end[fid='" + $(this).attr('fid') + "']")[0];
53 range.setStartAfter(this);
54 range.setEndBefore(e);
55 selection.addRange(range);