(function($) { var title_width; var manual_wrapper_rpad; var contents_title_l; var toc_container_width; var is_ios; var is_inverted; var toc_selector = "#toc_container"; var toc; function invert_colors() { if( !is_inverted ) // go to night mode { $('body').css({ 'backgroundColor': "#222", 'color': '#fff' }); $('h1').css('color','#fff'); $('h2').css('color','#fff'); $('h3').css('color','#fff'); $('h4').css('color','#fff'); $('h5').css('color','#fff'); $('h6').css('color','#fff'); $('li').css('color','#fff'); $('.contents_title').css({ 'backgroundColor': "#333", 'color': '#fff' }); $('#toc_container').css('backgroundColor','#333'); $('#product_families').css('borderBottom','1px solid #fff'); $('#inverter').text('Back to day reading mode'); is_inverted = true; } else { $('.invert').css('border',''); $('body').css('backgroundColor', ''); $('body').css('color',''); $('h1').css('color',''); $('h2').css('color',''); $('h3').css('color',''); $('h4').css('color',''); $('h5').css('color',''); $('h6').css('color',''); $('li').css('color',''); $('.contents_title').css('backgroundColor', ''); $('.contents_title').css('color',''); $('#toc_container').css('backgroundColor',''); $('#product_families').css('borderBottom',''); $('#inverter').text('Toggle night reading mode'); is_inverted = false; } } function set_targets() { if( $("#toc_container").innerHeight() > 50 ) // Make hidden { toc_container_width = 160; if( $(window).width() > 985 && !is_ios ) { contents_title_l = 'none'; } } else // Make visible { toc_container_width = $(window).width() * .25; manual_wrapper_rpad = $(window).width() * .05; contents_title_l = $(window).width() * .745; if( $(window).width() > 985 && $(window).height() > 499 && !($.browser.msie && $.browser.version < 9.0 ) && !is_ios ) { manual_wrapper_rpad = $(window).width() * .28; title_width = $(window).width() * .27; contents_title_l = $(window).width() * .745; if( $(window).width() >= 1150 ) { manual_wrapper_rpad = 325; contents_title_l = $(window).width() - 283; toc_container_width = 288; title_width = 283; } } } } function add_class( class_name ) { toc.addClass( class_name ); $('.contents_title').addClass( class_name ); $('#manual_wrapper').addClass( class_name ); } function remove_class( class_name ) { toc.removeClass( class_name ); $('.contents_title').removeClass( class_name ); $('#manual_wrapper').removeClass( class_name ); } var TableOfContentsCtrl = { init: function() { this.refresh_toc_element(); return this; }, refresh_toc_element: function() { this.toc = $(toc_selector); }, add_close_toc_link: function() { this.toc.find("h2").append(" [close]"); this.toc.find('.global_close').click(function() { $(toc_selector).slideToggle(450); }); }, insert_chapter_level_show_hide_links: function() { // Create the list elements this.toc.find(".toc > ul > li").each(function(index) { if($(this).find("ul").length > 0) { // if we have sub-elements... $(this).prepend( '[hide]' ); } }); // Add click functionality this.refresh_toc_element(); this.toc.find('.expand_collapse').click(this.toggle_section); }, hide_all_but_first_chapter: function() { this.toc.find('.expand_collapse').filter(function(index){ return index > 0; }).each(this.toggle_section); }, toggle_section: function() { $(this).parent().siblings("ul").slideToggle(450); if( $(this).text() == "hide" ) { // Hide it $(this).text("show"); } else { // showing it $(this).text("hide"); } } }; var anchorsClicked = 0; var uxCtrl = { bindSmoothScrollingForAllAnchors: function() { var PADDING = 80; $('a[href*=#]:not([href=#])').click(function() { if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { var target = $(this.hash); target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); if (target.length) { $('html,body').animate({ scrollTop: target.offset().top - PADDING }, 1000); } anchorsClicked += 1; } }); }, bindBackBtn: function() { if($("#back-nav").attr('href') == "../" ) { $("#back-nav").click(function() { history.go(-1 * (anchorsClicked + 1)); return false; }); } } }; $(document).ready(function() { is_ios = ( navigator.platform == 'iPad' || navigator.platform == 'iPhone' || navigator.platform == 'iPod'); var tocCtrl = TableOfContentsCtrl.init(); tocCtrl.add_close_toc_link(); tocCtrl.insert_chapter_level_show_hide_links(); tocCtrl.hide_all_but_first_chapter(); uxCtrl.bindSmoothScrollingForAllAnchors(); uxCtrl.bindBackBtn(); //is_inverted = false; //$('#menu-top-level-menu').append(''); //$('#inverter').click(invert_colors); }); })(jQuery);