// Make all tables striped by default. $("table").addClass("table table-striped"); // Handle foldable challenges and solutions (on click and at start). $(".challenge,.solution").click(function(event) { var trigger = $(event.target).has(".fold-unfold").size() > 0 || $(event.target).filter(".fold-unfold").size() > 0; if (trigger) { $(">*:not(h2)", this).toggle(400); $(">h2>span.fold-unfold", this).toggleClass("glyphicon-collapse-down glyphicon-collapse-up"); } }); $(".challenge,.solution").each(function() { $(">*:not(h2)", this).toggle(); var h2 = $("h2:first", this); h2.append("<span class='fold-unfold glyphicon glyphicon-collapse-down'></span>"); }); // Handle searches. // Relies on document having 'meta' element with name 'search-domain'. function google_search() { var query = document.getElementById("google-search").value; var domain = $("meta[name=search-domain]").attr("value"); window.open("https://www.google.com/search?q=" + query + "+site:" + domain); }