+
+ print $fh qq|
+<input type=button value="all" onClick="all_years(1)">
+<input type=button value="none" onClick="all_years(0)">
+ |;
+
+ print $fh qq|</span>|;
+
+ print $fh q|
+<script>
+
+var years = |, encode_json($years), q|;
+
+var type_cat_count = |, encode_json($type_cat_count), q|;
+
+function year_show(year) {
+ $('.y'+year).show();
+ console.debug('show', year);
+ for(var type_cat in years[year]) {
+ if ( ( type_cat_count[ type_cat ] += years[year][type_cat] ) == years[year][type_cat]) {
+ $('a[name="'+type_cat+'"]').show();
+ console.debug(type_cat, 'show');
+ }
+ }
+}
+
+function year_hide(year) {
+ $('.y'+year).hide();
+ console.debug('hide', year);
+ for(var type_cat in years[year]) {
+ if ( ( type_cat_count[ type_cat ] -= years[year][type_cat] ) == 0 ) {
+ $('a[name="'+type_cat+'"]').hide();
+ console.debug(type_cat, 'hide');
+ }
+ }
+}
+
+function toggle_year(year, el) {
+ if ( el.checked ) {
+ year_show(year);
+ } else {
+ year_hide(year);
+ }
+}
+
+function all_years( turn_on ) {
+ $('input[name=year_selection]').each( function(i,el) {
+ if ( turn_on ) {
+ if ( ! el.checked ) {
+ el.checked = true;
+ year_show( el.value );
+ }
+ } else {
+ if ( el.checked ) {
+ el.checked = false;
+ year_hide( el.value );
+ }
+ }
+ } );
+}
+
+$(document).ready( function() {
+ console.info('ready');
+
+ $('input[name=year_selection]').each( function(i, el) {
+ var year = el.value;
+ console.debug( 'on load', year, el.checked );
+ if (! el.checked) year_hide(year);
+ });
+
+});
+</script>
+ |;