function accumulatePlot(form) {
	$(".ld-ext-right").addClass('running');
	$(".ld-ext-right").prop('disabled', true);
	// using this to change color of legend and label according to background color
	var color = ifDarkModeThemeReturn('white', 'grey');
	var award = form.awardradio.value;
	var mode = form.mode.value;
	var period = form.periodradio.value;
	$.ajax({
		url: base_url+'index.php/accumulated/get_accumulated_data',
		type: 'post',
		data: {'Band': form.band.value, 'Award': award, 'Mode': mode, 'Period': period},
		success: function(data) {
			// used for switching award text in the table and the chart
			switch(award) {
				case 'dxcc': var awardtext = "DXCC\'s"; break;
				case 'was':  var awardtext = "states";break;
				case 'iota': var awardtext = "IOTA\'s";break;
				case 'waz':  var awardtext = "CQ zones"; break;
			}
			var periodtext = 'Year';
			if (period == 'month') {
				periodtext += ' + month';
			}
			// removing the old chart so that it will not interfere when loading chart again
			$("#accumulateContainer").empty();
			$("#accumulateContainer").append("
");
			// appending table to hold the data
			$("#accumulateTable").append('' +
				'' +
				'| #' +
				' | ' + periodtext + '' +
				' | Accumulated # of ' + awardtext + ' worked'+
				' | 
' +
				'' +
				'
');
			var labels = [];
			var dataDxcc = [];
			var $myTable = $('.accutable');
			var i = 1;
			// building the rows in the table
			var rowElements = data.map(function ( row ) {
				var $row = $('|
');
				var $iterator = $('').html(i++);
				var $type = $(' | ').html(row.year);
				var $content = $(' | ').html(row.total);
				$row.append($iterator, $type, $content);
				return $row;
			});
			// finally inserting the rows
			$myTable.append(rowElements);
			$.each(data, function(){
				labels.push(this.year);
				dataDxcc.push(this.total);
			});
			var ctx = document.getElementById("myChartAccumulate").getContext('2d');
			var myChart = new Chart(ctx, {
				type: 'bar',
				data: {
					labels: labels,
					datasets: [{
						label: 'Accumulated number of ' + awardtext + ' worked each ' + period,
						data: dataDxcc,
						backgroundColor: 'rgba(54, 162, 235, 0.2)',
						borderColor: 'rgba(54, 162, 235, 1)',
						borderWidth: 2,
					}]
				},
				options: {
					scales: {
						yAxes: [{
							ticks: {
								beginAtZero:true,
								fontColor: color
							}
						}],
						xAxes: [{
							ticks: {
								fontColor: color
							}
						}]
					},
					legend: {
						labels: {
							fontColor: color
						}
					}
				}
			});
			$(".ld-ext-right").removeClass('running');
			$(".ld-ext-right").prop('disabled', false);
			$('.accutable').DataTable({
				responsive: false,
				ordering: false,
				"scrollY":        "400px",
				"scrollCollapse": true,
				"paging":         false,
				"scrollX": true,
				dom: 'Bfrtip',
				buttons: [
					'csv'
				]
			});
			// using this to change color of csv-button if dark mode is chosen
			var background = $('body').css( "background-color");
			if (background != ('rgb(255, 255, 255)')) {
				$(".buttons-csv").css("color", "white");
			}
		}
	});
} |