Ben Sturmfels
531a97a3c9
The directory nesting is unnecessary here and confusing to navigate. I've moved all apps to the project subdirectory, currently called "www", but soon to be renamed "conservancy". I've also moved manage.py to the top-level directory.
63 lines
2.2 KiB
JavaScript
63 lines
2.2 KiB
JavaScript
/* Copyright (C) 2012-2013 Denver Gingerich,
|
|
** Copyright (C) 2013-2014 Bradley M. Kuhn,
|
|
** Copyright (C) 2016 Brett Smith.
|
|
** License: GPLv3-or-later
|
|
** Find a copy of GPL at https://sfconservancy.org/GPLv3
|
|
*/
|
|
|
|
$(document).ready(function() {
|
|
/* When the browser doesn't support any video source, replace it
|
|
with the HTML inside the <video> element. */
|
|
var showVideoInnerHTML = function(event) {
|
|
var video = event.target.parentNode;
|
|
var div = document.createElement('div');
|
|
div.classList = video.classList;
|
|
div.innerHTML = video.innerHTML;
|
|
video.parentNode.replaceChild(div, video);
|
|
}
|
|
$('video').each(function(index, video) {
|
|
$('source', video).last().on('error', showVideoInnerHTML);
|
|
});
|
|
|
|
/* Set up donation form elements used across the whole site. */
|
|
$('.toggle-content').hide();
|
|
$('.toggle-control')
|
|
.addClass('clickable')
|
|
.bind('click', function() {
|
|
var $control = $(this);
|
|
var $parent = $control.parents('.toggle-unit');
|
|
|
|
$parent.toggleClass('expanded');
|
|
$parent.find('.toggle-content').slideToggle();
|
|
|
|
// if control has HTML5 data attributes, use to update text
|
|
if ($parent.hasClass('expanded')) {
|
|
$control.html($control.attr('data-expanded-text'));
|
|
} else {
|
|
$control.html($control.attr('data-text'));
|
|
}
|
|
});
|
|
|
|
$('input[name=on0]:radio').on('change', function(event, duration) {
|
|
var $input = $(this);
|
|
var wantShirt = $input.val() == "wantGiftYes";
|
|
var $form = $input.parents('form').last();
|
|
var $tShirtSelector = $('.t-shirt-size-selector', $form);
|
|
$('input', $tShirtSelector).prop('disabled', wantShirt);
|
|
$('input[name=no_shipping]', $form).val(wantShirt ? '2' : '0');
|
|
if (wantShirt) {
|
|
$tShirtSelector.slideDown(duration);
|
|
} else {
|
|
$tShirtSelector.slideUp(duration);
|
|
}
|
|
}).filter(':checked').trigger('change', 0);
|
|
|
|
// Open mobile/search menu.
|
|
$('#menu-icon').on('click', function(event) {
|
|
$('#navbar').toggleClass('mobile');
|
|
});
|
|
$('#search-icon').on('click', function(event) {
|
|
$('#navbar').toggleClass('mobile');
|
|
$('#search-query').focus();
|
|
});
|
|
});
|