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;
19 if ($('#toc li').length == 0) {
20 $('#menu li a[href="#toc"]').remove();
22 if ($('#nota_red').length == 0) {
23 $('#menu li a[href="#nota_red"]').remove();
26 // On page load, scroll to anchor
27 scrollToAnchor(window.location.hash)
29 $('#toc, #themes, #book-text').delegate('click', 'a', function(event) {
30 event.preventDefault();
31 $('#menu li a.selected').click();
32 scrollToAnchor($(this).attr('href'));
35 $('#menu li a.menu').toggle(function() {
36 $('#menu li a.selected').click();
37 $(this).addClass('selected');
38 $($(this).attr('href')).slideDown('fast');
40 $(this).removeClass('selected');
41 $($(this).attr('href')).slideUp('fast');
45 if (window.getSelection) {
46 $('.theme-begin').click(function() {
47 var selection = window.getSelection();
48 selection.removeAllRanges();
49 var range = document.createRange();
51 var e = $(".theme-end[fid='" + $(this).attr('fid') + "']")[0];
54 range.setStartAfter(this);
55 range.setEndBefore(e);
56 selection.addRange(range);