(function($) {
$(function() {
if (typeof cssmenu_no_js === 'undefined') {
// add subnav toggle
$('.subnav').addClass('expand-container');
$('.subnav').prepend(
$('.subnav h2').clone().addClass('expand-toggle')
);
// highlight menu entry of the current page
var href = window.location.href.split('#')[0];
var current;
var res = $('#top a, .subnav a').each(function (_, a) {
if (a.href == href) {
current = a;
return false;
}
});
current = $(current);
// direct li parent containing the link
current.parent('li').addClass('active');
// topmost li parent, e.g. 'std'
current.parents('#top .expand-container').addClass('active');
current.parents('.subnav .expand-container')
.addClass('open');
var open_main_item = null;
$('.expand-toggle').click(function(e) {
var container = $(this).parent('.expand-container');
container.toggleClass('open');
/* In the main menu, let only one dropdown be open at a
time. Also close any open main menu dropdown when clicking
elsewhere. */
if (open_main_item !== container && open_main_item !== null) {
open_main_item.removeClass("open");
}
var clicking_main_bar = container.parents("#top").length > 0;
var clicking_hamburger = this === $('.hamburger')[0];
if (clicking_main_bar && !clicking_hamburger) {
open_main_item = container.hasClass('open')
? container : null;
}
return false;
});
$('html').click(function(e) {
var clicking_main_bar = $(e.target).parents("#top").length > 0;
if (clicking_main_bar) return;
if (open_main_item !== null) {
open_main_item.removeClass('open');
}
open_main_item = null;
});
}
$('.search-container .expand-toggle').click(function() {
$('#search-query input').focus();
});
// [your code here] rotation for index.html
var $examples = $('.your-code-here-extra > pre');
if ($examples.length) {
var n = Math.floor(Math.random() * ($examples.length+1));
if (n)
$('#your-code-here-default > pre').replaceWith($examples[n-1]);
}
// Insert the show/hide button if the contents section exists
$('.page-contents-header').append('[hide]');
// Event to hide or show the "contents" section when the hide button
// is clicked
$(".page-contents-header a").click(function () {
var elem = $('.page-contents > ol');
if (elem.is(':visible')) {
$(this).text("[show]");
elem.hide();
} else {
$(this).text("[hide]");
elem.show();
}
});
});
})(jQuery);
// "This Week in D" integration
// setTwid is called from http://arsdnet.net/this-week-in-d/twid-latest.js
// which is included in index.html
function setTwid(url, title, description) {
var twid = $('body#Home .boxes .twid');
twid
.empty()
.append($('').attr('href', url).text(title))
.append(': ')
.append(description);
}