From 3e3ab9bd2553de2d3f3245391fca656019aa2d18 Mon Sep 17 00:00:00 2001 From: James Cole Date: Mon, 14 Dec 2015 20:25:48 +0100 Subject: [PATCH] Move some JS around. --- .../{reports.js => reports/default/month.js} | 0 public/js/reports/default/multi-year.js | 212 ++++++++++++++++++ public/js/reports/default/reports.js | 212 ++++++++++++++++++ public/js/reports/default/year.js | 212 ++++++++++++++++++ public/js/reports/index.js | 212 ++++++++++++++++++ 5 files changed, 848 insertions(+) rename public/js/{reports.js => reports/default/month.js} (100%) create mode 100644 public/js/reports/default/multi-year.js create mode 100644 public/js/reports/default/reports.js create mode 100644 public/js/reports/default/year.js create mode 100644 public/js/reports/index.js diff --git a/public/js/reports.js b/public/js/reports/default/month.js similarity index 100% rename from public/js/reports.js rename to public/js/reports/default/month.js diff --git a/public/js/reports/default/multi-year.js b/public/js/reports/default/multi-year.js new file mode 100644 index 0000000000..10997093bc --- /dev/null +++ b/public/js/reports/default/multi-year.js @@ -0,0 +1,212 @@ +/* globals google, startDate ,reportURL, endDate , reportType ,accountIds , picker:true, minDate, expenseRestShow:true, incomeRestShow:true, year, month, hideTheRest, showTheRest, showTheRestExpense, hideTheRestExpense, columnChart, lineChart, stackedColumnChart */ + + +$(function () { + "use strict"; + drawChart(); + + if ($('#inputDateRange').length > 0) { + + picker = $('#inputDateRange').daterangepicker( + { + locale: { + format: 'YYYY-MM-DD', + firstDay: 1, + }, + minDate: minDate, + drops: 'up', + } + ); + + + // set values from cookies, if any: + if (readCookie('report-type') !== null) { + $('select[name="report_type"]').val(readCookie('report-type')); + } + + if ((readCookie('report-accounts') !== null)) { + var arr = readCookie('report-accounts').split(','); + arr.forEach(function (val) { + $('input[type="checkbox"][value="' + val + '"]').prop('checked', true); + }); + } + + // set date: + var startStr = readCookie('report-start'); + var endStr = readCookie('report-end'); + if (startStr !== null && endStr !== null && startStr.length == 8 && endStr.length == 8) { + var startDate = moment(startStr, "YYYYMMDD"); + var endDate = moment(endStr, "YYYYMMDD"); + var datePicker = $('#inputDateRange').data('daterangepicker'); + datePicker.setStartDate(startDate); + datePicker.setEndDate(endDate); + } + } + + $('.openModal').on('click', openModal); + + $('.date-select').on('click', preSelectDate); + + $('#report-form').on('submit', catchSubmit); + + + // click open the top X income list: + $('#showIncomes').click(showIncomes); + // click open the top X expense list: + $('#showExpenses').click(showExpenses); +}); + +function catchSubmit() { + "use strict"; + // default;20141201;20141231;4;5 + // report name: + var url = '' + $('select[name="report_type"]').val() + '/'; + + // date, processed: + var picker = $('#inputDateRange').data('daterangepicker'); + url += moment(picker.startDate).format("YYYYMMDD") + '/'; + url += moment(picker.endDate).format("YYYYMMDD") + '/'; + + // all account ids: + var count = 0; + var accounts = []; + $.each($('.account-checkbox'), function (i, v) { + var c = $(v); + if (c.prop('checked')) { + url += c.val() + ';'; + accounts.push(c.val()); + count++; + } + }); + if (count > 0) { + // set cookie to remember choices. + createCookie('report-type', $('select[name="report_type"]').val(), 365); + createCookie('report-accounts', accounts, 365); + createCookie('report-start', moment(picker.startDate).format("YYYYMMDD"), 365); + createCookie('report-end', moment(picker.endDate).format("YYYYMMDD"), 365); + + window.location.href = reportURL + "/" + url; + } + //console.log(url); + + return false; +} + +function preSelectDate(e) { + "use strict"; + var link = $(e.target); + var picker = $('#inputDateRange').data('daterangepicker'); + picker.setStartDate(link.data('start')); + picker.setEndDate(link.data('end')); + return false; + +} + +function drawChart() { + "use strict"; + if (typeof columnChart !== 'undefined' && typeof year !== 'undefined' && typeof month === 'undefined') { + + columnChart('chart/report/in-out/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'income-expenses-chart'); + columnChart('chart/report/in-out-sum/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'income-expenses-sum-chart'); + } + if (typeof stackedColumnChart !== 'undefined' && typeof year !== 'undefined' && typeof month === 'undefined') { + stackedColumnChart('chart/budget/year/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'budgets'); + stackedColumnChart('chart/category/spent-in-year/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'categories-spent-in-year'); + stackedColumnChart('chart/category/earned-in-year/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'categories-earned-in-year'); + } + + //if (typeof lineChart !== 'undefined' && typeof month !== 'undefined' && typeof reportURL === 'undefined') { + // lineChart('/chart/account/month/' + year + '/' + month + shared, 'account-balances-chart'); + //} + + if (typeof lineChart !== 'undefined' && typeof accountIds !== 'undefined') { + lineChart('/chart/account/report/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'account-balances-chart'); + } +} + + +function openModal(e) { + "use strict"; + var target = $(e.target).parent(); + var URL = target.attr('href'); + + $.get(URL).success(function (data) { + $('#defaultModal').empty().html(data).modal('show'); + + }).fail(function () { + alert('Could not load data.'); + }); + + return false; +} + + +function showIncomes() { + "use strict"; + if (incomeRestShow) { + // hide everything, make button say "show" + $('#showIncomes').text(showTheRest); + $('.incomesCollapsed').removeClass('in').addClass('out'); + + // toggle: + incomeRestShow = false; + } else { + // show everything, make button say "hide". + $('#showIncomes').text(hideTheRest); + $('.incomesCollapsed').removeClass('out').addClass('in'); + + // toggle: + incomeRestShow = true; + } + + return false; +} + +function showExpenses() { + "use strict"; + if (expenseRestShow) { + // hide everything, make button say "show" + $('#showExpenses').text(showTheRestExpense); + $('.expenseCollapsed').removeClass('in').addClass('out'); + + // toggle: + expenseRestShow = false; + } else { + // show everything, make button say "hide". + $('#showExpenses').text(hideTheRestExpense); + $('.expenseCollapsed').removeClass('out').addClass('in'); + + // toggle: + expenseRestShow = true; + } + + return false; +} + +function createCookie(name, value, days) { + var expires; + + if (days) { + var date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toGMTString(); + } else { + expires = ""; + } + document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/"; +} + +function readCookie(name) { + var nameEQ = encodeURIComponent(name) + "="; + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) === ' ') c = c.substring(1, c.length); + if (c.indexOf(nameEQ) === 0) return decodeURIComponent(c.substring(nameEQ.length, c.length)); + } + return null; +} + +function eraseCookie(name) { + createCookie(name, "", -1); +} \ No newline at end of file diff --git a/public/js/reports/default/reports.js b/public/js/reports/default/reports.js new file mode 100644 index 0000000000..10997093bc --- /dev/null +++ b/public/js/reports/default/reports.js @@ -0,0 +1,212 @@ +/* globals google, startDate ,reportURL, endDate , reportType ,accountIds , picker:true, minDate, expenseRestShow:true, incomeRestShow:true, year, month, hideTheRest, showTheRest, showTheRestExpense, hideTheRestExpense, columnChart, lineChart, stackedColumnChart */ + + +$(function () { + "use strict"; + drawChart(); + + if ($('#inputDateRange').length > 0) { + + picker = $('#inputDateRange').daterangepicker( + { + locale: { + format: 'YYYY-MM-DD', + firstDay: 1, + }, + minDate: minDate, + drops: 'up', + } + ); + + + // set values from cookies, if any: + if (readCookie('report-type') !== null) { + $('select[name="report_type"]').val(readCookie('report-type')); + } + + if ((readCookie('report-accounts') !== null)) { + var arr = readCookie('report-accounts').split(','); + arr.forEach(function (val) { + $('input[type="checkbox"][value="' + val + '"]').prop('checked', true); + }); + } + + // set date: + var startStr = readCookie('report-start'); + var endStr = readCookie('report-end'); + if (startStr !== null && endStr !== null && startStr.length == 8 && endStr.length == 8) { + var startDate = moment(startStr, "YYYYMMDD"); + var endDate = moment(endStr, "YYYYMMDD"); + var datePicker = $('#inputDateRange').data('daterangepicker'); + datePicker.setStartDate(startDate); + datePicker.setEndDate(endDate); + } + } + + $('.openModal').on('click', openModal); + + $('.date-select').on('click', preSelectDate); + + $('#report-form').on('submit', catchSubmit); + + + // click open the top X income list: + $('#showIncomes').click(showIncomes); + // click open the top X expense list: + $('#showExpenses').click(showExpenses); +}); + +function catchSubmit() { + "use strict"; + // default;20141201;20141231;4;5 + // report name: + var url = '' + $('select[name="report_type"]').val() + '/'; + + // date, processed: + var picker = $('#inputDateRange').data('daterangepicker'); + url += moment(picker.startDate).format("YYYYMMDD") + '/'; + url += moment(picker.endDate).format("YYYYMMDD") + '/'; + + // all account ids: + var count = 0; + var accounts = []; + $.each($('.account-checkbox'), function (i, v) { + var c = $(v); + if (c.prop('checked')) { + url += c.val() + ';'; + accounts.push(c.val()); + count++; + } + }); + if (count > 0) { + // set cookie to remember choices. + createCookie('report-type', $('select[name="report_type"]').val(), 365); + createCookie('report-accounts', accounts, 365); + createCookie('report-start', moment(picker.startDate).format("YYYYMMDD"), 365); + createCookie('report-end', moment(picker.endDate).format("YYYYMMDD"), 365); + + window.location.href = reportURL + "/" + url; + } + //console.log(url); + + return false; +} + +function preSelectDate(e) { + "use strict"; + var link = $(e.target); + var picker = $('#inputDateRange').data('daterangepicker'); + picker.setStartDate(link.data('start')); + picker.setEndDate(link.data('end')); + return false; + +} + +function drawChart() { + "use strict"; + if (typeof columnChart !== 'undefined' && typeof year !== 'undefined' && typeof month === 'undefined') { + + columnChart('chart/report/in-out/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'income-expenses-chart'); + columnChart('chart/report/in-out-sum/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'income-expenses-sum-chart'); + } + if (typeof stackedColumnChart !== 'undefined' && typeof year !== 'undefined' && typeof month === 'undefined') { + stackedColumnChart('chart/budget/year/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'budgets'); + stackedColumnChart('chart/category/spent-in-year/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'categories-spent-in-year'); + stackedColumnChart('chart/category/earned-in-year/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'categories-earned-in-year'); + } + + //if (typeof lineChart !== 'undefined' && typeof month !== 'undefined' && typeof reportURL === 'undefined') { + // lineChart('/chart/account/month/' + year + '/' + month + shared, 'account-balances-chart'); + //} + + if (typeof lineChart !== 'undefined' && typeof accountIds !== 'undefined') { + lineChart('/chart/account/report/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'account-balances-chart'); + } +} + + +function openModal(e) { + "use strict"; + var target = $(e.target).parent(); + var URL = target.attr('href'); + + $.get(URL).success(function (data) { + $('#defaultModal').empty().html(data).modal('show'); + + }).fail(function () { + alert('Could not load data.'); + }); + + return false; +} + + +function showIncomes() { + "use strict"; + if (incomeRestShow) { + // hide everything, make button say "show" + $('#showIncomes').text(showTheRest); + $('.incomesCollapsed').removeClass('in').addClass('out'); + + // toggle: + incomeRestShow = false; + } else { + // show everything, make button say "hide". + $('#showIncomes').text(hideTheRest); + $('.incomesCollapsed').removeClass('out').addClass('in'); + + // toggle: + incomeRestShow = true; + } + + return false; +} + +function showExpenses() { + "use strict"; + if (expenseRestShow) { + // hide everything, make button say "show" + $('#showExpenses').text(showTheRestExpense); + $('.expenseCollapsed').removeClass('in').addClass('out'); + + // toggle: + expenseRestShow = false; + } else { + // show everything, make button say "hide". + $('#showExpenses').text(hideTheRestExpense); + $('.expenseCollapsed').removeClass('out').addClass('in'); + + // toggle: + expenseRestShow = true; + } + + return false; +} + +function createCookie(name, value, days) { + var expires; + + if (days) { + var date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toGMTString(); + } else { + expires = ""; + } + document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/"; +} + +function readCookie(name) { + var nameEQ = encodeURIComponent(name) + "="; + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) === ' ') c = c.substring(1, c.length); + if (c.indexOf(nameEQ) === 0) return decodeURIComponent(c.substring(nameEQ.length, c.length)); + } + return null; +} + +function eraseCookie(name) { + createCookie(name, "", -1); +} \ No newline at end of file diff --git a/public/js/reports/default/year.js b/public/js/reports/default/year.js new file mode 100644 index 0000000000..10997093bc --- /dev/null +++ b/public/js/reports/default/year.js @@ -0,0 +1,212 @@ +/* globals google, startDate ,reportURL, endDate , reportType ,accountIds , picker:true, minDate, expenseRestShow:true, incomeRestShow:true, year, month, hideTheRest, showTheRest, showTheRestExpense, hideTheRestExpense, columnChart, lineChart, stackedColumnChart */ + + +$(function () { + "use strict"; + drawChart(); + + if ($('#inputDateRange').length > 0) { + + picker = $('#inputDateRange').daterangepicker( + { + locale: { + format: 'YYYY-MM-DD', + firstDay: 1, + }, + minDate: minDate, + drops: 'up', + } + ); + + + // set values from cookies, if any: + if (readCookie('report-type') !== null) { + $('select[name="report_type"]').val(readCookie('report-type')); + } + + if ((readCookie('report-accounts') !== null)) { + var arr = readCookie('report-accounts').split(','); + arr.forEach(function (val) { + $('input[type="checkbox"][value="' + val + '"]').prop('checked', true); + }); + } + + // set date: + var startStr = readCookie('report-start'); + var endStr = readCookie('report-end'); + if (startStr !== null && endStr !== null && startStr.length == 8 && endStr.length == 8) { + var startDate = moment(startStr, "YYYYMMDD"); + var endDate = moment(endStr, "YYYYMMDD"); + var datePicker = $('#inputDateRange').data('daterangepicker'); + datePicker.setStartDate(startDate); + datePicker.setEndDate(endDate); + } + } + + $('.openModal').on('click', openModal); + + $('.date-select').on('click', preSelectDate); + + $('#report-form').on('submit', catchSubmit); + + + // click open the top X income list: + $('#showIncomes').click(showIncomes); + // click open the top X expense list: + $('#showExpenses').click(showExpenses); +}); + +function catchSubmit() { + "use strict"; + // default;20141201;20141231;4;5 + // report name: + var url = '' + $('select[name="report_type"]').val() + '/'; + + // date, processed: + var picker = $('#inputDateRange').data('daterangepicker'); + url += moment(picker.startDate).format("YYYYMMDD") + '/'; + url += moment(picker.endDate).format("YYYYMMDD") + '/'; + + // all account ids: + var count = 0; + var accounts = []; + $.each($('.account-checkbox'), function (i, v) { + var c = $(v); + if (c.prop('checked')) { + url += c.val() + ';'; + accounts.push(c.val()); + count++; + } + }); + if (count > 0) { + // set cookie to remember choices. + createCookie('report-type', $('select[name="report_type"]').val(), 365); + createCookie('report-accounts', accounts, 365); + createCookie('report-start', moment(picker.startDate).format("YYYYMMDD"), 365); + createCookie('report-end', moment(picker.endDate).format("YYYYMMDD"), 365); + + window.location.href = reportURL + "/" + url; + } + //console.log(url); + + return false; +} + +function preSelectDate(e) { + "use strict"; + var link = $(e.target); + var picker = $('#inputDateRange').data('daterangepicker'); + picker.setStartDate(link.data('start')); + picker.setEndDate(link.data('end')); + return false; + +} + +function drawChart() { + "use strict"; + if (typeof columnChart !== 'undefined' && typeof year !== 'undefined' && typeof month === 'undefined') { + + columnChart('chart/report/in-out/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'income-expenses-chart'); + columnChart('chart/report/in-out-sum/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'income-expenses-sum-chart'); + } + if (typeof stackedColumnChart !== 'undefined' && typeof year !== 'undefined' && typeof month === 'undefined') { + stackedColumnChart('chart/budget/year/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'budgets'); + stackedColumnChart('chart/category/spent-in-year/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'categories-spent-in-year'); + stackedColumnChart('chart/category/earned-in-year/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'categories-earned-in-year'); + } + + //if (typeof lineChart !== 'undefined' && typeof month !== 'undefined' && typeof reportURL === 'undefined') { + // lineChart('/chart/account/month/' + year + '/' + month + shared, 'account-balances-chart'); + //} + + if (typeof lineChart !== 'undefined' && typeof accountIds !== 'undefined') { + lineChart('/chart/account/report/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'account-balances-chart'); + } +} + + +function openModal(e) { + "use strict"; + var target = $(e.target).parent(); + var URL = target.attr('href'); + + $.get(URL).success(function (data) { + $('#defaultModal').empty().html(data).modal('show'); + + }).fail(function () { + alert('Could not load data.'); + }); + + return false; +} + + +function showIncomes() { + "use strict"; + if (incomeRestShow) { + // hide everything, make button say "show" + $('#showIncomes').text(showTheRest); + $('.incomesCollapsed').removeClass('in').addClass('out'); + + // toggle: + incomeRestShow = false; + } else { + // show everything, make button say "hide". + $('#showIncomes').text(hideTheRest); + $('.incomesCollapsed').removeClass('out').addClass('in'); + + // toggle: + incomeRestShow = true; + } + + return false; +} + +function showExpenses() { + "use strict"; + if (expenseRestShow) { + // hide everything, make button say "show" + $('#showExpenses').text(showTheRestExpense); + $('.expenseCollapsed').removeClass('in').addClass('out'); + + // toggle: + expenseRestShow = false; + } else { + // show everything, make button say "hide". + $('#showExpenses').text(hideTheRestExpense); + $('.expenseCollapsed').removeClass('out').addClass('in'); + + // toggle: + expenseRestShow = true; + } + + return false; +} + +function createCookie(name, value, days) { + var expires; + + if (days) { + var date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toGMTString(); + } else { + expires = ""; + } + document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/"; +} + +function readCookie(name) { + var nameEQ = encodeURIComponent(name) + "="; + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) === ' ') c = c.substring(1, c.length); + if (c.indexOf(nameEQ) === 0) return decodeURIComponent(c.substring(nameEQ.length, c.length)); + } + return null; +} + +function eraseCookie(name) { + createCookie(name, "", -1); +} \ No newline at end of file diff --git a/public/js/reports/index.js b/public/js/reports/index.js new file mode 100644 index 0000000000..10997093bc --- /dev/null +++ b/public/js/reports/index.js @@ -0,0 +1,212 @@ +/* globals google, startDate ,reportURL, endDate , reportType ,accountIds , picker:true, minDate, expenseRestShow:true, incomeRestShow:true, year, month, hideTheRest, showTheRest, showTheRestExpense, hideTheRestExpense, columnChart, lineChart, stackedColumnChart */ + + +$(function () { + "use strict"; + drawChart(); + + if ($('#inputDateRange').length > 0) { + + picker = $('#inputDateRange').daterangepicker( + { + locale: { + format: 'YYYY-MM-DD', + firstDay: 1, + }, + minDate: minDate, + drops: 'up', + } + ); + + + // set values from cookies, if any: + if (readCookie('report-type') !== null) { + $('select[name="report_type"]').val(readCookie('report-type')); + } + + if ((readCookie('report-accounts') !== null)) { + var arr = readCookie('report-accounts').split(','); + arr.forEach(function (val) { + $('input[type="checkbox"][value="' + val + '"]').prop('checked', true); + }); + } + + // set date: + var startStr = readCookie('report-start'); + var endStr = readCookie('report-end'); + if (startStr !== null && endStr !== null && startStr.length == 8 && endStr.length == 8) { + var startDate = moment(startStr, "YYYYMMDD"); + var endDate = moment(endStr, "YYYYMMDD"); + var datePicker = $('#inputDateRange').data('daterangepicker'); + datePicker.setStartDate(startDate); + datePicker.setEndDate(endDate); + } + } + + $('.openModal').on('click', openModal); + + $('.date-select').on('click', preSelectDate); + + $('#report-form').on('submit', catchSubmit); + + + // click open the top X income list: + $('#showIncomes').click(showIncomes); + // click open the top X expense list: + $('#showExpenses').click(showExpenses); +}); + +function catchSubmit() { + "use strict"; + // default;20141201;20141231;4;5 + // report name: + var url = '' + $('select[name="report_type"]').val() + '/'; + + // date, processed: + var picker = $('#inputDateRange').data('daterangepicker'); + url += moment(picker.startDate).format("YYYYMMDD") + '/'; + url += moment(picker.endDate).format("YYYYMMDD") + '/'; + + // all account ids: + var count = 0; + var accounts = []; + $.each($('.account-checkbox'), function (i, v) { + var c = $(v); + if (c.prop('checked')) { + url += c.val() + ';'; + accounts.push(c.val()); + count++; + } + }); + if (count > 0) { + // set cookie to remember choices. + createCookie('report-type', $('select[name="report_type"]').val(), 365); + createCookie('report-accounts', accounts, 365); + createCookie('report-start', moment(picker.startDate).format("YYYYMMDD"), 365); + createCookie('report-end', moment(picker.endDate).format("YYYYMMDD"), 365); + + window.location.href = reportURL + "/" + url; + } + //console.log(url); + + return false; +} + +function preSelectDate(e) { + "use strict"; + var link = $(e.target); + var picker = $('#inputDateRange').data('daterangepicker'); + picker.setStartDate(link.data('start')); + picker.setEndDate(link.data('end')); + return false; + +} + +function drawChart() { + "use strict"; + if (typeof columnChart !== 'undefined' && typeof year !== 'undefined' && typeof month === 'undefined') { + + columnChart('chart/report/in-out/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'income-expenses-chart'); + columnChart('chart/report/in-out-sum/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'income-expenses-sum-chart'); + } + if (typeof stackedColumnChart !== 'undefined' && typeof year !== 'undefined' && typeof month === 'undefined') { + stackedColumnChart('chart/budget/year/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'budgets'); + stackedColumnChart('chart/category/spent-in-year/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'categories-spent-in-year'); + stackedColumnChart('chart/category/earned-in-year/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'categories-earned-in-year'); + } + + //if (typeof lineChart !== 'undefined' && typeof month !== 'undefined' && typeof reportURL === 'undefined') { + // lineChart('/chart/account/month/' + year + '/' + month + shared, 'account-balances-chart'); + //} + + if (typeof lineChart !== 'undefined' && typeof accountIds !== 'undefined') { + lineChart('/chart/account/report/' + reportType + '/' + startDate + '/' + endDate + '/' + accountIds, 'account-balances-chart'); + } +} + + +function openModal(e) { + "use strict"; + var target = $(e.target).parent(); + var URL = target.attr('href'); + + $.get(URL).success(function (data) { + $('#defaultModal').empty().html(data).modal('show'); + + }).fail(function () { + alert('Could not load data.'); + }); + + return false; +} + + +function showIncomes() { + "use strict"; + if (incomeRestShow) { + // hide everything, make button say "show" + $('#showIncomes').text(showTheRest); + $('.incomesCollapsed').removeClass('in').addClass('out'); + + // toggle: + incomeRestShow = false; + } else { + // show everything, make button say "hide". + $('#showIncomes').text(hideTheRest); + $('.incomesCollapsed').removeClass('out').addClass('in'); + + // toggle: + incomeRestShow = true; + } + + return false; +} + +function showExpenses() { + "use strict"; + if (expenseRestShow) { + // hide everything, make button say "show" + $('#showExpenses').text(showTheRestExpense); + $('.expenseCollapsed').removeClass('in').addClass('out'); + + // toggle: + expenseRestShow = false; + } else { + // show everything, make button say "hide". + $('#showExpenses').text(hideTheRestExpense); + $('.expenseCollapsed').removeClass('out').addClass('in'); + + // toggle: + expenseRestShow = true; + } + + return false; +} + +function createCookie(name, value, days) { + var expires; + + if (days) { + var date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toGMTString(); + } else { + expires = ""; + } + document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/"; +} + +function readCookie(name) { + var nameEQ = encodeURIComponent(name) + "="; + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) === ' ') c = c.substring(1, c.length); + if (c.indexOf(nameEQ) === 0) return decodeURIComponent(c.substring(nameEQ.length, c.length)); + } + return null; +} + +function eraseCookie(name) { + createCookie(name, "", -1); +} \ No newline at end of file