function sendLog(name, data, event_type) { var message = data || {}; message.chapter = PDF_URL || ''; message.name = "textbook.pdf." + name; Logger.log(event_type ? event_type : message.name, message); }; // this event is loaded after the others to accurately represent the order of events: // click next -> pagechange $(function() { var first_page = true; var scroll = {timeStamp: 0, direction: null}; $(window).bind("pagechange", function(event) { // log every page render var page = PDFViewerApplication.page; var old_page = event.originalEvent.previousPageNumber; // pagechange is called many times per viewing. if (old_page !== page || first_page) { first_page = false; if ((event.timeStamp - scroll.timeStamp) < 50) { sendLog("page.scrolled", {"page": page, "direction": scroll.direction}); } sendLog("page.loaded", {"type": "gotopage", "old": old_page, "new": page}, "book"); scroll.timeStamp = 0; } }); $('#viewerContainer').bind('DOMMouseScroll mousewheel', function(event) { scroll.timeStamp = event.timeStamp; scroll.direction = PDFViewerApplication.pdfViewer.scroll.down ? "down" : "up"; }); }); $('#viewThumbnail,#sidebarToggle').on('click', function() { sendLog("thumbnails.toggled", {"page": PDFViewerApplication.page}); }); $('#thumbnailView a').live('click', function(){ sendLog("thumbnail.navigated", {"page": $('#thumbnailView a').index(this) + 1, "thumbnail_title": $(this).attr('title')}); }); $('#viewOutline').on('click', function() { sendLog("outline.toggled", {"page": PDFViewerApplication.page}); }); $('#previous').on('click', function() { sendLog("page.navigatednext", {"type": "prevpage", "new": PDFViewerApplication.page - 1}, "book"); }); $('#next').on('click', function() { sendLog("page.navigatednext", {"type": "nextpage", "new": PDFViewerApplication.page + 1}, "book"); }); $('#zoomIn,#zoomOut').on('click', function() { sendLog("zoom.buttons.changed", {"direction": $(this).attr("id") == "zoomIn" ? "in" : "out", "page": PDFViewerApplication.page}); }); $('#pageNumber').on('change', function() { sendLog("page.navigated", {"page": $(this).val()}); }); var old_amount = 1; $(window).bind('scalechange', function(event) { var amount = event.originalEvent.scale; if (amount !== old_amount) { sendLog("display.scaled", {"amount": amount, "page": PDFViewerApplication.page}); old_amount = amount; } }); $('#scaleSelect').on('change', function() { sendLog("zoom.menu.changed", {"amount": $("#scaleSelect").val(), "page": PDFViewerApplication.page}); }); var search_event = null; $(window).bind("find findhighlightallchange findagain findcasesensitivitychange", function(event) { if (search_event && event.type == 'find') { clearTimeout(search_event); } search_event = setTimeout(function(){ var message = event.originalEvent.detail; message.status = $('#findMsg').text(); message.page = PDFViewerApplication.page; var event_name = "search"; switch (event.type) { case "find": event_name += ".executed"; break; case "findhighlightallchange": event_name += ".highlight.toggled"; break; case "findagain": event_name += ".navigatednext"; break; case "findcasesensitivitychange": event_name += "casesensitivity.toggled"; break; } sendLog(event_name, message); }, 500); });