function replace_str(base, replacement) {
return base + replacement; // FIXME TODO should replace %s
}
$(function(){
$('.reveal-on-click dd').hide();
$('.reveal-on-click dt').on('click', function(){
// $(this).find('+ dd').toggle();
var $dd = $(this).find('+ dd');
if ($dd.is(':visible')) {
$(this).removeClass('revealed');
$dd.slideUp();
} else {
$(this).addClass('revealed');
$dd.slideDown();
}
});
var reveal_all_text = {'reveal': 'Show all ', 'hide': 'Collapse all '}; // TODO add %s
$('dl.reveal-on-click').each(function(){
$(this).before("
");
});
$('.reveal-all').on('click', function(){
console.log("reveal all clicked");
var $dl = $(this).find('+ dl.reveal-on-click');
var noun = $dl.data('reveal-noun');
if ($(this).hasClass('revealed')) {
console.log("hiding all");
$dl.find('dt').removeClass('revealed');
$dl.find('dd').slideUp();
$(this).removeClass('revealed');
$(this).text(replace_str(reveal_all_text['reveal'], noun));
} else {
console.log("showing all");
$dl.find('dt').addClass('revealed');
$dl.find('dd').slideDown();
$(this).addClass('revealed');
$(this).text(replace_str(reveal_all_text['hide'], noun));
}
});
$('.reveal-all').trigger('click');
// hide the attention-box breakouts within mock-documents so
// the use can copy-and-paste the templates
// this is used in: running/example_press_releases
$('.toggle-button').on('click', function(){
var target = $(this).data("target");
$('#' + target +'.mock-document .attention-box').slideToggle();
});
$('.toggle-button').show(); // reveal the show/hide buttons
/**
* Owl Slider
*/
$("#owl-slide").owlCarousel({
items : 1,
singleItem : true,
navigation : true
});
/**
* training slideshow for /training pages
**/
$('a.play-as-slideshow').html('» View as slideshow').attr('href', '#');
var current_slide_number;
var slides;
$(".play-as-slideshow").on("click", function(){
var $slide;
if (current_slide_number === undefined) {
slides = [];
current_slide_number = 0;
$slide = $(
'');
$('body').prepend($slide);
$(".modal-slide-close").on("click", function(){
end_training_slides();
});
var slides_title = $('.main-content h1').text();
var $slide_0 = $(''
+ '
' + slides_title + '
'
+ '
press → to advance
'
+ '
press esc to exit
'
+ '
');
slides.push($slide_0);
var last_heading = "";
$("main.main-content").find("h2,h3").each(function($i){
last_heading = $(this).html();
var $contents = $(this).nextUntil("h2,h3");
var $slide_div = $('');
$slide_div.append($("").html(last_heading));
$slide_div.append($contents.clone(false));
slides.push($slide_div.clone(false));
});
$(document).keydown( function(e) { key_down_training(e.which);} );
}
display_training_slide(0);
});
// which_slide: "next", "prev", or a number
function display_training_slide(which_slide){
if (which_slide == 'next' && current_slide_number + 1 < slides.length) {
current_slide_number++;
} else if (which_slide == 'prev' && current_slide_number > 0 ) {
current_slide_number--;
} else {
var slide_number = parseInt(which_slide);
if (slide_number >= 0 && slide_number < slides.length) {
current_slide_number = slide_number;
}
}
$("#full-screen-slide .slide-contents")
.html(slides[current_slide_number].html());
$("#full-screen-slide").show();
}
function end_training_slides(){
$("#full-screen-slide").hide();
current_slide_number = 0;
}
var key_code_arrow_left = 37;
var key_code_arrow_right = 39;
var key_code_ENTER = 13;
var key_code_ESC = 27;
var key_code_SPACE = 32;
var key_code_0 = 48;
var key_code_9 = 57;
var key_code_B = 66;
function key_down_training(key_code){
if (key_code == key_code_arrow_right || key_code == key_code_ENTER) {
display_training_slide('next')
} else if (key_code == key_code_arrow_left || key_code == key_code_B ) {
display_training_slide('prev')
} else if (key_code >= key_code_0 && key_code <= key_code_9) {
display_training_slide(key_code - key_code_0);
} if (key_code == key_code_ESC || key_code == key_code_SPACE) {
end_training_slides();
}
}
});