in site/js/dev/ponymail_pagebuilder.js [35:105]
function buildCalendar(json) {
var firstYear = json.firstYear
var lastYear = json.lastYear
var firstMonth0 = json.firstMonth - 1 // 0-based
var lastMonth0 = json.lastMonth - 1 // 0-based
var monthly_emails = json.monthly_emails
// Build the main calendar (desktop version)
var dp = document.getElementById('datepicker')
dp.style.width = "150px"
dp.innerHTML = "<h3>Archive:</h3>"
var fyear = lastYear ? lastYear : new Date().getFullYear();
// Check we don't esplode
if (fyear > new Date().getFullYear()) {
fyear = new Date().getFullYear();
}
for (var year = fyear; year >= (firstYear ? firstYear : current_cal_min); year--) {
var n = "none";
if (fyear == firstYear) {
n = "block"
}
var cale = ''
var em = (new Date().getFullYear() == year) ? new Date().getMonth() : 11;
for (var y = em; y >= 0; y--) {
var yyyymm = (year+"-"+(y+1))
var url = "list.html?" + xlist + ":" + yyyymm
var yyyy0m = y < 9 ? (year+"-0"+(y+1)) : yyyymm
if (monthly_emails[yyyy0m]) {
var count = monthly_emails[yyyy0m]
cale += "<a href='" + url + "' onclick='return false;'><label id='calmonth_" + yyyymm + "' style='width: 80px; float: left;cursor: pointer;' class='label label-default label-hover' onclick='toggleEmail(" + year + ", " + (y + 1) + ");' >" + months[y] + ' ('+ count + ')' + "</label></a><br/>"
}
}
if (cale != '') {
cale += "</div>"
dp.innerHTML += "<label onmouseout='this.setAttribute(\"class\", \"label label-success\");' onmouseover='this.setAttribute(\"class\", \"label label-warning\");' onclick='toggleCalendar(" + year + ");' class='label label-success' style='float: left; width: 110px; font-size: 11pt; cursor: pointer'>" + year + "</label><br/>"
var calehdr = "<div style='float: left; width: 80%; display: " + n + "; padding-left: 15px; margin-bottom: 15px;' id='cal_" + year + "'>"
dp.innerHTML += calehdr + cale
}
}
// Build the mobile version (dropdown)
var mdp = document.getElementById('datepicker_mobile')
if (mdp) {
mdp.innerHTML = ""
for (var year = fyear; year >= (firstYear ? firstYear : current_cal_min); year--) {
var n = "none";
if (fyear == firstYear) {
n = "block"
}
var ye = document.createElement('OPTGROUP');
ye.label = year
mdp.appendChild(ye)
var em = (new Date().getFullYear() == year) ? new Date().getMonth() : 11;
for (var y = em; y >= 0; y--) {
var m = document.createElement('OPTION');
var pfx = ''
var sfx = ''
if ((year == firstYear && y < firstMonth0) || (year == lastYear && y > lastMonth0)) {
pfx = '('
sfx = ')'
}
m.textContent = pfx + months[y] + ", " + year + sfx
m.value = year + '-' + (y+1)
ye.appendChild(m)
}
}
}
}