summaryrefslogtreecommitdiff
path: root/support/pdbf-toolkit/data/preMain.js
blob: bda36db186ae9321f6c0405d93229046783ecf23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
'use strict';
$(function() {
	var a = document.body.lastChild;
	var b = $("#mozPrintCallback-shim").get(0);
	while (a != b) {
		$(a).remove();
		a = document.body.lastChild;
	}

	var a = document.body.parentElement.lastChild;
	var b = document.body;
	while (a != b) {
		$(a).remove();
		a = document.body.parentElement.lastChild;
	}
});

// Load the database
tic();
var tmp = UTF8ArrToStr(base64DecToArr(db_base64));
var tmp2 = dbjson_base64;

if (tmp2 != "") {
	if (typeof notCompressed != 'undefined') {
		alasql.databases = JSON.parse(tmp2);
	} else {
		alasql.databases = JSON.parse(LZString.decompressFromBase64(tmp2));
	}
}

if (tmp != "") {
	alasql(tmp);
}
toc("DB load time");

var rawZoomFactor;
var zoomFactor;
var init = true;

$(window).resize(fixOverlaySize);

// Load pdbf-config.json
var json = JSON.parse(UTF8ArrToStr(base64DecToArr(json_base64)));
var pageOverlays = [];
for (var i = 0; i < json.length; ++i) {
	parse(json[i]);
}

function parse(json) {
	if (window[json.name]) {
		json.result = window[json.name];
	}
	var page = json.type.I.page;
	var pageOverlay = pageOverlays[page];
	if (typeof pageOverlay == 'undefined') {
		pageOverlay = [];
		pageOverlays[page] = pageOverlay;
	}
	pageOverlay[pageOverlay.length] = json;
}

// function alert(e) {
// var a;
// }

function overlay(pageNr) {
	if (init) {
		rawZoomFactor = 0.8;// PDFViewerApplication.pdfViewer._currentScale;
		init = false;
	}

	if (typeof pageOverlays[pageNr] != 'undefined') {
		var page = document.getElementById("pageContainer" + pageNr);
		for (var i = 0; i < pageOverlays[pageNr].length; ++i) {
			var json = pageOverlays[pageNr][i];
			zoomFactor = PDFViewerApplication.pdfViewer._currentScale * (json.type.I.fontsize/12.0);
			display(json, page, false);
		}
	}
}