', loadingMessage: ' Loading slider... ', contentSources: { "Financials": { type: 'financials', reportTypes: ['First Quarter', 'Second Quarter', 'Third Quarter', 'Fourth Quarter'], label: 'financials' }, 'Other: news': { type: 'news', tags: ['financials'], label: 'other' }, 'Other: webcast': { type: 'events', tags: ['financials'], label: 'other' }, 'Other: presentation': { type: 'presentations', tags: ['financials'], label: 'other' }, 'SEC: quarterly filing': { type: 'sec', symbol: SECCONFIG.cik, excludeNoDocuments: true, includeHtmlDocument: true, filingTypes: ['10-K', '10-K/A', '10-Q'], exchange: 'CIK', label: 'sec' }, "News": { type: 'news', loadShortBody: false, tags: ['earnings', 'financials'], label: 'news' }, }, template: ( /* beautify preserve:start */ '{{#quartersWithItems.length}}'+ // build tabs navigation for desktop ' {{#quartersWithItems}}'+ '{{#.}}'+ ' '+ ''+ ' '+ '{{/.}}'+ '{{/quartersWithItems}} '+ // build select navigation for mobile ' '+ ' Selecting the value will change the page content ' + ''+ ''+ ' '+ // tabpanel // news item '{{#quartersWithItems}}'+ '{{#.}} '+ ' '+ '{{#news}}'+ ' '+ ' '+ ' {{{body}}} '+ ' ' + '' + 'View full release' + '' + ' ' + '{{/news}}'+ '{{^news}}'+ ' There is no related quarterly press release. Continue for this quarter\'s downloads and related information. '+ '{{/news}}'+ ' '+ ' '+ //' '+ ' '+ ' ' + '{{#docs}}' + ' ' + '' + '{{docTitle}}' + '{{#blank}}(opens in new window){{/blank}}' + ' ' + '{{/docs}}' + ' ' + ' '+ ' '+ ' ' + 'SEC Filings' + '' + ' ' + ' '+ ' '+ ' {{/.}}'+ '{{/quartersWithItems}}'+ '{{/quartersWithItems.length}}'+ '{{^quartersWithItems.length}}'+ ' No financial quarters found. '+ '{{/quartersWithItems.length}}' /* beautify preserve:end */ ), beforeRender: function (e, data) { data.quartersWithItems = []; var quarterArray = [], quarterlyRange = { /*'Q1': [1, 2, 3], 'Q2': [4, 5, 6], 'Q3': [7, 8, 9], 'Q4': [10, 11, 12]*/ 'Q1': [4, 5, 6], 'Q2': [7, 8, 9], 'Q3': [10, 11, 12], 'Q4': [1, 2, 3] }; secQuarterlyRange = { 'Q1': { monthStart: 1, monthEnd: 4 }, 'Q2': { monthStart: 5, monthEnd: 7 }, 'Q3': { monthStart: 8, monthEnd: 10 } }; function addSortGetIndex(value, array) { array.push(value); array.sort().reverse(); return array.indexOf(value); } function makeTargetBlank(doc) { if (doc.docUrl) { var url = doc.docUrl.toLowerCase().split('.'); if (url[url.length - 1] != 'aspx') { doc.blank = true; } } } function findDocIndex(index, item) { return data.quartersWithItems[index].docs.findIndex(function (doc) { return doc.docCategory == item.docCategory; }); } function setupItems(item) { if (item.contentSourceID == 'Financials') { quarterArray.push(item.fiscalYear + ' ' + item.shortType); data.quartersWithItems.push(item); } else if (item.contentSourceID.startsWith('SEC') && WIDGETSETUP.useSec) { setupSec(item); setupSecDocs(item); addSecItem(item); } else if (item.contentSourceID.startsWith('Other') && WIDGETSETUP.useOther) { $.each(item.tags, function (i, tag) { if (tag.startsWith('fin-')) { setupOther(item, tag); } }); } else if (item.contentSourceID == 'News') { setupNews(item); } } function setupSec(item) { if (item.description === 'Annual Report') { item.fiscalYear = SECCONFIG.secAnnualSameYear ? item.year : item.year - 1; item.shortType = 'Q4'; item.docCategory = 'tenk'; } else { var filingMonth = new Date(item.date).getMonth(); item.fiscalYear = item.year; item.docCategory = 'tenq'; if (filingMonth >= secQuarterlyRange.Q1.monthStart && filingMonth <= secQuarterlyRange.Q1.monthEnd) { item.shortType = 'Q1'; } else if (filingMonth >= secQuarterlyRange.Q2.monthStart && filingMonth <= secQuarterlyRange.Q2.monthEnd) { item.shortType = 'Q2'; } else if (filingMonth >= secQuarterlyRange.Q3.monthStart && filingMonth <= secQuarterlyRange.Q3.monthEnd) { item.shortType = 'Q3'; } } } function setupSecDocs(item) { $.each(SECCONFIG.secFilingTypes[item.type].preferredDocs, function (x, prefDoc) { var found = false; $.each(item.docs, function (j, secDoc) { if (prefDoc === secDoc.docType) { secDoc.docType == "CONVPDF" ? secDoc.docType = "PDF" : secDoc.docType = secDoc.docType; item.docType = secDoc.docType; item.docUrl = secDoc.docUrl; found = true; } }); if (found) return false; }); } function addSecItem(item) { var quarterIndexSec = $.inArray((item.fiscalYear + ' ' + item.shortType), quarterArray); if (quarterIndexSec > -1) { var secDocIndex = findDocIndex(quarterIndexSec, item); if (secDocIndex > -1) { if (!WIDGETSETUP.onlyFillBlanksSec) data.quartersWithItems[quarterIndexSec].docs.splice(secDocIndex, 1, item); } else { data.quartersWithItems[quarterIndexSec].docs.push(item); } } else { var secQuarter = item.fiscalYear + ' ' + item.shortType, secIndex = addSortGetIndex(secQuarter, quarterArray), newSecItem = { shortType: item.shortType, fiscalYear: item.fiscalYear, docs: [item] }; data.quartersWithItems.splice(secIndex, 0, newSecItem); } } function setupOther(item, details) { if (item.tags.indexOf('transcript') > -1) { item.docCategory = 'transcript'; } else { item.docCategory = item.contentSourceID.replace('Other: ', ''); } if (item.docCategory == 'webcast' && item.docs) { $.each(item.docs, function (ind, doc) { doc.title = doc.title.toLowerCase(); if (doc.title.includes('transcript')) { if (item.webcast) { doc.contentSourceID = 'Other: transcript'; doc.tags = item.tags; var otherTranscript = { id: 'Other: transcript', label: 'other', items: [] }; otherTranscript.items.push(doc); data.sourcesWithItems.push(otherTranscript); } else { item.docCategory = 'transcript'; item.url = doc.url; item.size = doc.size; } } }); } if (item.webcast) { item.docUrl = item.webcast; } else if (!item.docUrl && item.url) { item.docUrl = item.url; } var detailsArr = details.split('-'), itemYear = detailsArr[1], shortType = detailsArr[2].toUpperCase(), quarterIndex = $.inArray((itemYear + ' ' + shortType), quarterArray); if (quarterIndex > -1) { var docIndex = findDocIndex(quarterIndex, item); if (docIndex > -1) { if (!WIDGETSETUP.onlyFillBlanksOther) data.quartersWithItems[quarterIndex].docs.splice(docIndex, 1, item); } else { data.quartersWithItems[quarterIndex].docs.push(item); } } else { var otherQuarter = itemYear + ' ' + shortType, otherIndex = addSortGetIndex(otherQuarter, quarterArray), newOtherItem = { shortType: shortType, fiscalYear: parseInt(itemYear), year: parseInt(itemYear), docs: [item] }; data.quartersWithItems.splice(otherIndex, 0, newOtherItem); } } function setupNews(item) { if (item.tags.indexOf('financials') > -1 && WIDGETSETUP.useFinNewsTags) { // New school "financials" formatted tag used setupNewsFinancialsTag(item); } else if (item.tags.indexOf('earnings') > -1) { // Old school "earnings" tag used setupNewsEarningsTag(item); } } function setupNewsEarningsTag(item){ item.month = new Date(item.dateObj).getMonth() + 1; // first month, january return 0, february returns 2 if (quarterlyRange['Q1'].indexOf(item.month) > -1) { item.shortType = 'Q1'; item.fiscalYear = item.year; // item.year + 1 if news quarter is in next year or item.year - 1 if news quarter is in previous year } else if (quarterlyRange['Q2'].indexOf(item.month) > -1) { item.shortType = 'Q2'; item.fiscalYear = item.year; // item.year + 1 if news quarter is in next year or item.year - 1 if news quarter is in previous year } else if (quarterlyRange['Q3'].indexOf(item.month) > -1) { item.shortType = 'Q3'; item.fiscalYear = item.year; // item.year + 1 if news quarter is in next year or item.year - 1 if news quarter is in previous year } else if (quarterlyRange['Q4'].indexOf(item.month) > -1) { item.shortType = 'Q4'; item.fiscalYear = item.year - 1; // item.year + 1 if news quarter is in next year or item.year - 1 if news quarter is in previous year } if ($.inArray((item.fiscalYear + ' ' + item.shortType), quarterArray) > -1) { data.quartersWithItems[$.inArray((item.fiscalYear + ' ' + item.shortType), quarterArray)].news = item; } } function setupNewsFinancialsTag(item){ $.each(item.tags, function (i, tag) { if (tag.startsWith('fin-')) { var tagArr = tag.split('-'), itemYear = tagArr[1], shortType = tagArr[2].toUpperCase(); if ($.inArray((itemYear + ' ' + shortType), quarterArray) > -1) { data.quartersWithItems[$.inArray((itemYear + ' ' + shortType), quarterArray)].news = item; } } }); } function setTitleAndPlacement(quarter) { $.each(quarter.docs, function (i, doc) { if (DOCSETUP[doc.docCategory]) { doc.docTitle = DOCSETUP[doc.docCategory].title; doc.placement = DOCSETUP[doc.docCategory].placement; } else { doc.docTitle = doc.docTitle || doc.title; doc.placement = 9; } }); quarter.docs.sort(function (a, b) { return a.placement - b.placement; }); } for (var i = 0; i < data.sourcesWithItems.length; i++) { $.each(data.sourcesWithItems[i].items, function (i, item) { setupItems(item); }); } data.quartersWithItems.length = WIDGETSETUP.totalQuarters; $.each(data.quartersWithItems, function (i, quarter) { if (quarter){ setTitleAndPlacement(quarter); $.each(quarter.docs, function (i, doc) { makeTargetBlank(doc); }); } }); //Hide tab with only SEC Filing /* var findSecIndex = data.quartersWithItems.findIndex( function (quarterItem) { return !quarterItem.shortType; }) ; if(findSecIndex !== -1) data.quartersWithItems.splice(findSecIndex,1); console.log(data);*/ }, complete: function (e) { q4Defaults.tabs($(e.target), '.tabs_nav', '.tabs_link', '.module-financial-mashup_item', '.module-financial-mashup_select', false); } });})(); Latest Quarters
{{shortType}} {{fiscalYear}} Report
{{{title}}}
Download for {{shortType}} {{fiscalYear}}
Downloads
Related Information
' + ' {{year}} ' + ' ' + '{{#docs}}' + ' ' + '' + ''+ '{{docTitle}}' + '{{#blank}}(opens in new window){{/blank}}'+ '' + ' ' + '{{/docs}}' + 'Latest Financial Results