annotate client/digitallibrary/jquery/jquery.digilib.js @ 651:694bdb86cbad jquery

renamed 'actions' to 'buttons' and 'methods' to 'actions' actionGroups now buttonGroups all functions in actions automatically get 'data' as first argument
author robcast
date Thu, 20 Jan 2011 19:37:19 +0100
parents 0c5930916d53
children 01557c5e0682
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
1 /*
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
2 * digilib jQuery plugin
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
3 *
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
4 */
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
5
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
6 // fallback for console.log calls
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
7 if (typeof(console) === 'undefined') {
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
8 var console = {
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
9 log : function(){},
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
10 debug : function(){},
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
11 error : function(){}
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
12 };
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
13 }
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
14
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
15 (function($) {
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
16 var buttons = {
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
17 reference : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
18 onclick : "javascript:getRefWin()",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
19 tooltip : "get a reference URL",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
20 img : "reference.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
21 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
22 zoomin : {
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
23 onclick : ["zoomBy", 1.4],
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
24 tooltip : "zoom in",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
25 img : "zoom-in.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
26 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
27 zoomout : {
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
28 onclick : ["zoomBy", 0.7],
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
29 tooltip : "zoom out",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
30 img : "zoom-out.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
31 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
32 zoomarea : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
33 onclick : "javascript:zoomArea()",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
34 tooltip : "zoom area",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
35 img : "zoom-area.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
36 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
37 zoomfull : {
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
38 onclick : "zoomFull",
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
39 tooltip : "view the whole image",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
40 img : "zoom-full.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
41 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
42 pagewidth : {
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
43 onclick : ["zoomFull", "width"],
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
44 tooltip : "page width",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
45 img : "pagewidth.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
46 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
47 back : {
623
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
48 onclick : ["gotoPage", "-1"],
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
49 tooltip : "goto previous image",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
50 img : "back.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
51 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
52 fwd : {
623
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
53 onclick : ["gotoPage", "+1"],
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
54 tooltip : "goto next image",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
55 img : "fwd.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
56 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
57 page : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
58 onclick : "javascript:gotoPageWin()",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
59 tooltip : "specify image",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
60 img : "page.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
61 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
62 bird : {
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
63 onclick : "showBirdDiv",
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
64 tooltip : "show bird's eye view",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
65 img : "birds-eye.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
66 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
67 help : {
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
68 onclick : "showAboutDiv",
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
69 tooltip : "about Digilib",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
70 img : "help.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
71 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
72 reset : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
73 onclick : "javascript:resetImage()",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
74 tooltip : "reset image",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
75 img : "reset.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
76 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
77 mark : {
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
78 onclick : "setMark",
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
79 tooltip : "set a mark",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
80 img : "mark.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
81 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
82 delmark : {
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
83 onclick : "removeMark",
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
84 tooltip : "delete the last mark",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
85 img : "delmark.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
86 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
87 hmir : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
88 onclick : "javascript:mirror('h')",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
89 tooltip : "mirror horizontally",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
90 img : "mirror-horizontal.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
91 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
92 vmir : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
93 onclick : "javascript:mirror('v')",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
94 tooltip : "mirror vertically",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
95 img : "mirror-vertical.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
96 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
97 rot : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
98 onclick : "javascript:setParamWin('rot', 'Rotate (0..360) clockwise')",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
99 tooltip : "rotate image",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
100 img : "rotate.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
101 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
102 brgt : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
103 onclick : "javascript:setParamWin('brgt', 'Brightness (-255..255)')",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
104 tooltip : "set brightness",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
105 img : "brightness.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
106 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
107 cont : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
108 onclick : "javascript:setParamWin('cont', 'Contrast (0..8)')",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
109 tooltip : "set contrast",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
110 img : "contrast.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
111 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
112 rgb : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
113 onclick : "javascript:setParamWin('rgb', '...')",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
114 tooltip : "set rgb values",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
115 img : "rgb.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
116 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
117 quality : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
118 onclick : "javascript:setQualityWin('Quality (0..2)')",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
119 tooltip : "set image quality",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
120 img : "quality.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
121 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
122 size : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
123 onclick : "javascript:toggleSizeMenu()",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
124 tooltip : "set page size",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
125 img : "size.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
126 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
127 calibrationx : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
128 onclick : "javascript:calibrate('x')",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
129 tooltip : "calibrate screen x-ratio",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
130 img : "calibration-x.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
131 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
132 scale : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
133 onclick : "javascript:toggleScaleMenu()",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
134 tooltip : "change image scale",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
135 img : "original-size.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
136 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
137 options : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
138 onclick : "javascript:toggleOptionDiv()",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
139 tooltip : "hide options",
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
140 img : "options.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
141 },
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
142 SEP : {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
143 img : "sep.png"
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
144 }
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
145 };
617
cd846b5c8be8 toggle view event handlers for bird's eye and 'about windows
hertzhaft
parents: 616
diff changeset
146
605
aee94e4a8c48 next version zero of jquery.digilib
robcast
parents: 604
diff changeset
147 var defaults = {
617
cd846b5c8be8 toggle view event handlers for bird's eye and 'about windows
hertzhaft
parents: 616
diff changeset
148 // the root digilib element, for easy retrieval
cd846b5c8be8 toggle view event handlers for bird's eye and 'about windows
hertzhaft
parents: 616
diff changeset
149 'digilibRoot' : null,
616
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
150 // version of this script
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
151 'version' : 'jquery.digilib.js 0.9',
616
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
152 // logo url
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
153 'logoUrl' : '../img/digilib-logo-text1.png',
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
154 // homepage url (behind logo)
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
155 'homeUrl' : 'http://digilib.berlios.de',
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
156 // base URL to Scaler servlet
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
157 'scalerBaseUrl' : 'http://digilib.mpiwg-berlin.mpg.de/digitallibrary/servlet/Scaler',
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
158 // list of Scaler parameters
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
159 'scalerParamNames' : ['fn','pn','dw','dh','ww','wh','wx','wy','ws','mo',
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
160 'rot','cont','brgt','rgbm','rgba','ddpi','ddpix','ddpiy'],
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
161 // Scaler parameter defaults
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
162 'pn' : 1,
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
163 'ww' : 1.0,
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
164 'wh' : 1.0,
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
165 'wx' : 0.0,
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
166 'wy' : 0.0,
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
167 'ws' : 1.0,
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
168 'mo' : '',
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
169 'rot' : 0,
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
170 'cont' : 0,
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
171 'brgt' : 0,
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
172 'rgbm' : '0/0/0',
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
173 'rgba' : '0/0/0',
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
174 'ddpi' : null,
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
175 'ddpix' : null,
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
176 'ddpiy' : null,
644
ee8ccd84c5f8 reload doesn't take list of changed parameters any more
robcast
parents: 643
diff changeset
177 // list of digilib parameters
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
178 'digilibParamNames' : ['fn','pn','ww','wh','wx','wy','ws','mo','rot','cont','brgt','rgbm','rgba','mk','clop'],
644
ee8ccd84c5f8 reload doesn't take list of changed parameters any more
robcast
parents: 643
diff changeset
179 // digilib parameter defaults
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
180 'mk' : '',
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
181 'clop' : '',
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
182 // mode of operation:
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
183 // fullscreen = take parameters from page URL, keep state in page URL
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
184 // embedded = take parameters from Javascript options, keep state inside object
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
185 'interactionMode' : 'fullscreen',
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
186 // buttons
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
187 'buttons' : buttons,
612
fb94f1b74d59 bind data and actions to buttons
hertzhaft
parents: 611
diff changeset
188 // path to button images (must end with a slash)
fb94f1b74d59 bind data and actions to buttons
hertzhaft
parents: 611
diff changeset
189 'buttonsImagePath' : '../greyskin/',
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
190 // buttons groups
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
191 //'buttonsStandard' : ["reference","zoomin","zoomout","zoomarea","zoomfull","pagewidth","back","fwd","page","bird","SEP","help","reset","options"],
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
192 'buttonsStandard' : ["reference","zoomin","zoomout","zoomarea","zoomfull","pagewidth","mark","delmark","back","fwd","page","bird","SEP","help","reset","options"],
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
193 'buttonsSpecial' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","SEP","options"],
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
194 'buttonsCustom' : [],
616
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
195 // is birdView shown?
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
196 'isBirdDivVisible' : false,
615
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
197 // dimensions of bird's eye window
639
7a91bf50a728 setupBirdDiv called early if enabled in options
robcast
parents: 638
diff changeset
198 'birdDivOptions' : {'dw' : 200, 'dh' : 200},
616
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
199 // is the "about" window shown?
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
200 'isAboutDivVisible' : false
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
201
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
202 };
605
aee94e4a8c48 next version zero of jquery.digilib
robcast
parents: 604
diff changeset
203
608
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
204 // affine geometry classes
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
205 var geom = dlGeometry();
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
206
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
207 var MAX_ZOOMAREA = geom.rectangle(0, 0, 1, 1);
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
208
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
209 var actions = {
608
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
210 // digilib initialization
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
211 init : function(options) {
608
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
212 // settings for this digilib instance are merged from defaults and options
607
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
213 var settings = $.extend({}, defaults, options);
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
214 var isFullscreen = settings.interactionMode === 'fullscreen';
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
215 var queryParams = {};
607
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
216 if (isFullscreen) {
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
217 queryParams = parseQueryParams();
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
218 }
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
219 return this.each(function() {
605
aee94e4a8c48 next version zero of jquery.digilib
robcast
parents: 604
diff changeset
220 var $elem = $(this);
aee94e4a8c48 next version zero of jquery.digilib
robcast
parents: 604
diff changeset
221 var data = $elem.data('digilib');
607
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
222 var elemSettings;
608
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
223 // if the plugin hasn't been initialized yet
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
224 if (!data) {
605
aee94e4a8c48 next version zero of jquery.digilib
robcast
parents: 604
diff changeset
225 // merge query parameters
607
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
226 if (isFullscreen) {
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
227 elemSettings = $.extend({}, settings, queryParams);
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
228 } else {
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
229 elemSettings = $.extend({}, settings, parseImgParams($elem));
634
34ee220a664b trying showAboutDivFn...
robcast
parents: 633
diff changeset
230 }
617
cd846b5c8be8 toggle view event handlers for bird's eye and 'about windows
hertzhaft
parents: 616
diff changeset
231 // store $(this) element in the settings
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
232 data = {
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
233 $elem : $elem,
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
234 settings : elemSettings,
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
235 queryParams : queryParams
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
236 };
605
aee94e4a8c48 next version zero of jquery.digilib
robcast
parents: 604
diff changeset
237 // store in data element
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
238 $elem.data('digilib', data);
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
239 }
633
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
240 unpackParams(data);
608
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
241 // create HTML structure
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
242 setupScalerDiv(data);
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
243 setupButtons(data, 'buttonsStandard');
639
7a91bf50a728 setupBirdDiv called early if enabled in options
robcast
parents: 638
diff changeset
244 // bird's eye view creation
7a91bf50a728 setupBirdDiv called early if enabled in options
robcast
parents: 638
diff changeset
245 if (settings.isBirdDivVisible) {
641
8f40f7b6fd20 some small aboutdiv fixes
hertzhaft
parents: 640
diff changeset
246 setupBirdDiv(data);
639
7a91bf50a728 setupBirdDiv called early if enabled in options
robcast
parents: 638
diff changeset
247 }
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
248 // about window creation - TODO: could be deferred? restrict to only one item?
628
1f077f8afc5e changed methods to pass "data" around instead of "settings"
robcast
parents: 627
diff changeset
249 setupAboutDiv(data);
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
250 });
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
251 },
608
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
252
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
253 // clean up digilib
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
254 destroy : function(data) {
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
255 return this.each(function(){
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
256 var $elem = $(this);
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
257 // Namespacing FTW
605
aee94e4a8c48 next version zero of jquery.digilib
robcast
parents: 604
diff changeset
258 $(window).unbind('.digilib'); // unbinds all digilibs(?)
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
259 data.digilib.remove();
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
260 $elem.removeData('digilib');
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
261 });
617
cd846b5c8be8 toggle view event handlers for bird's eye and 'about windows
hertzhaft
parents: 616
diff changeset
262 },
cd846b5c8be8 toggle view event handlers for bird's eye and 'about windows
hertzhaft
parents: 616
diff changeset
263
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
264 // show or hide the 'about' window
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
265 showAboutDiv : function(data, show) {
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
266 data.settings.isAboutDivVisible = showDiv(data.settings.isAboutDivVisible, data.$aboutDiv, show);
617
cd846b5c8be8 toggle view event handlers for bird's eye and 'about windows
hertzhaft
parents: 616
diff changeset
267 },
cd846b5c8be8 toggle view event handlers for bird's eye and 'about windows
hertzhaft
parents: 616
diff changeset
268
cd846b5c8be8 toggle view event handlers for bird's eye and 'about windows
hertzhaft
parents: 616
diff changeset
269 // event handler: toggles the visibility of the bird's eye window
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
270 showBirdDiv : function (data, show) {
638
830bf803d9f0 setupBirdDiv deferred until used
robcast
parents: 637
diff changeset
271 if (data.$birdDiv == null) {
830bf803d9f0 setupBirdDiv deferred until used
robcast
parents: 637
diff changeset
272 // no bird div -> create
830bf803d9f0 setupBirdDiv deferred until used
robcast
parents: 637
diff changeset
273 setupBirdDiv(data);
830bf803d9f0 setupBirdDiv deferred until used
robcast
parents: 637
diff changeset
274 }
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
275 data.settings.isBirdDivVisible = showDiv(data.settings.isBirdDivVisible, data.$birdDiv, show);
623
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
276 },
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
277
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
278 // goto given page nr (+/-: relative)
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
279 gotoPage : function (data, pageNr) {
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
280 var settings = data.settings;
623
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
281 var oldpn = settings.pn;
624
7d13b7e5140e small retouches
hertzhaft
parents: 623
diff changeset
282 var pn = setNumValue(settings, "pn", pageNr);
7d13b7e5140e small retouches
hertzhaft
parents: 623
diff changeset
283 if (pn == null) return false; // nothing happened
623
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
284 if (pn < 1) {
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
285 alert("no such page (page number too low)");
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
286 settings.pn = oldpn;
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
287 return false;
634
34ee220a664b trying showAboutDivFn...
robcast
parents: 633
diff changeset
288 }
623
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
289 if (settings.pt) {
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
290 if (pn > settings.pt) {
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
291 alert("no such page (page number too high)");
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
292 settings.pn = oldpn;
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
293 return false;
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
294 }
634
34ee220a664b trying showAboutDivFn...
robcast
parents: 633
diff changeset
295 }
644
ee8ccd84c5f8 reload doesn't take list of changed parameters any more
robcast
parents: 643
diff changeset
296 // reset mk and others(?)
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
297 data.marks = [];
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
298 data.zoomArea = MAX_ZOOMAREA;
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
299 // then reload
644
ee8ccd84c5f8 reload doesn't take list of changed parameters any more
robcast
parents: 643
diff changeset
300 redisplay(data);
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
301 },
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
302
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
303 // zoom by a given factor
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
304 zoomBy : function (data, factor) {
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
305 zoomBy(data, factor);
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
306 },
2e817524992e set mark works now
robcast
parents: 645
diff changeset
307
2e817524992e set mark works now
robcast
parents: 645
diff changeset
308 // zoom out to full page
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
309 zoomFull : function (data, mode) {
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
310 data.zoomArea = MAX_ZOOMAREA;
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
311 if (mode === 'width') {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
312 data.dlOpts.fitwidth = 1;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
313 delete data.dlOpts.fitheight;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
314 } else if (mode === 'height') {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
315 data.dlOpts.fitheight = 1;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
316 delete data.dlOpts.fitwidth;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
317 } else {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
318 delete data.dlOpts.fitwidth;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
319 delete data.dlOpts.fitheight;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
320 }
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
321 redisplay(data);
2e817524992e set mark works now
robcast
parents: 645
diff changeset
322 },
2e817524992e set mark works now
robcast
parents: 645
diff changeset
323
2e817524992e set mark works now
robcast
parents: 645
diff changeset
324 // set a mark by clicking (or giving a position)
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
325 setMark : function (data, mpos) {
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
326 if (mpos == null) {
2e817524992e set mark works now
robcast
parents: 645
diff changeset
327 // interactive
2e817524992e set mark works now
robcast
parents: 645
diff changeset
328 setMark(data);
2e817524992e set mark works now
robcast
parents: 645
diff changeset
329 } else {
2e817524992e set mark works now
robcast
parents: 645
diff changeset
330 // use position
2e817524992e set mark works now
robcast
parents: 645
diff changeset
331 data.marks.push(pos);
2e817524992e set mark works now
robcast
parents: 645
diff changeset
332 redisplay(data);
2e817524992e set mark works now
robcast
parents: 645
diff changeset
333 }
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
334 },
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
335
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
336 // remove the last mark
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
337 removeMark : function (data) {
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
338 data.marks.pop();
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
339 redisplay(data);
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
340 }
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
341
605
aee94e4a8c48 next version zero of jquery.digilib
robcast
parents: 604
diff changeset
342 };
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
343
608
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
344 // returns parameters from page url
607
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
345 var parseQueryParams = function() {
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
346 return parseQueryString(window.location.search.slice(1));
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
347 };
607
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
348
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
349 // returns parameters from embedded img-element
607
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
350 var parseImgParams = function($elem) {
613
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
351 var src = $elem.find('img').first().attr('src');
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
352 if (!src) {
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
353 return null;
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
354 }
607
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
355 var pos = src.indexOf('?');
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
356 var query = (pos < 0) ? '' : src.substring(pos + 1);
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
357 var scalerUrl = src.substring(0, pos);
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
358 var params = parseQueryString(query);
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
359 params.scalerBaseUrl = scalerUrl;
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
360 return params;
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
361 };
607
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
362
608
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
363 // parses query parameter string into parameter object
607
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
364 var parseQueryString = function(query) {
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
365 var pairs = query.split("&");
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
366 var params = {};
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
367 //var keys = [];
607
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
368 for (var i = 0; i < pairs.length; i++) {
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
369 var pair = pairs[i].split("=");
f5d5cae64828 parameter parsing
hertzhaft
parents: 605
diff changeset
370 if (pair.length === 2) {
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
371 params[pair[0]] = pair[1];
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
372 //keys.push(pair[0]);
634
34ee220a664b trying showAboutDivFn...
robcast
parents: 633
diff changeset
373 }
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
374 }
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
375 return params;
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
376 };
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
377
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
378 // returns a query string from key names from a parameter hash (ignoring if the same value is in defaults)
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
379 var getParamString = function (settings, keys, defaults) {
615
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
380 var paramString = '';
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
381 var nx = false;
615
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
382 for (i = 0; i < keys.length; ++i) {
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
383 var key = keys[i];
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
384 if ((settings[key] != null) && ((defaults == null) || (settings[key] !== defaults[key]))) {
615
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
385 // first param gets no '&'
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
386 if (nx) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
387 paramString += '&';
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
388 } else {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
389 nx = true;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
390 }
615
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
391 // add parm=val
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
392 paramString += key + '=' + settings[key];
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
393 }
615
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
394 }
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
395 return paramString;
631
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
396 };
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
397
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
398 // returns URL and query string for Scaler
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
399 var getScalerUrl = function (data) {
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
400 var settings = data.settings;
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
401 var keys = settings.scalerParamNames;
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
402 var queryString = getParamString(settings, keys, defaults);
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
403 var url = settings.scalerBaseUrl + '?' + queryString;
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
404 return url;
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
405 };
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
406
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
407 // returns URL and query string for current digilib
644
ee8ccd84c5f8 reload doesn't take list of changed parameters any more
robcast
parents: 643
diff changeset
408 var getDigilibUrl = function (data) {
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
409 packParams(data);
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
410 var settings = data.settings;
644
ee8ccd84c5f8 reload doesn't take list of changed parameters any more
robcast
parents: 643
diff changeset
411 var queryString = getParamString(settings, settings.digilibParamNames, defaults);
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
412 var url = window.location.toString();
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
413 var pos = url.indexOf('?');
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
414 var baseUrl = url.substring(0, pos);
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
415 var newurl = baseUrl + '?' + queryString;
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
416 return newurl;
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
417 };
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
418
631
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
419 // processes some parameters into objects and stuff
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
420 var unpackParams = function (data) {
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
421 var settings = data.settings;
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
422 // zoom area
631
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
423 var zoomArea = geom.rectangle(settings.wx, settings.wy, settings.ww, settings.wh);
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
424 data.zoomArea = zoomArea;
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
425 // marks
631
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
426 var marks = [];
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
427 if (settings.mk) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
428 var mk = settings.mk;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
429 if (mk.indexOf(";") >= 0) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
430 var pa = mk.split(";"); // old format with ";"
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
431 } else {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
432 var pa = mk.split(","); // new format
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
433 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
434 for (var i = 0; i < pa.length ; i++) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
435 var pos = pa[i].split("/");
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
436 if (pos.length > 1) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
437 marks.push(geom.position(pos[0], pos[1]));
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
438 }
633
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
439 }
631
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
440 }
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
441 data.marks = marks;
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
442 // mo (Scaler flags)
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
443 var flags = {};
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
444 if (settings.mo) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
445 var pa = settings.mo.split(",");
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
446 for (var i = 0; i < pa.length ; i++) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
447 flags[pa[i]] = pa[i];
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
448 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
449 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
450 data.scalerFlags = flags;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
451 // clop (digilib options)
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
452 var opts = {};
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
453 if (settings.clop) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
454 var pa = settings.clop.split(",");
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
455 for (var i = 0; i < pa.length ; i++) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
456 opts[pa[i]] = pa[i];
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
457 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
458 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
459 data.dlOpts = opts;
631
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
460 };
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
461
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
462 // put objects back into parameters
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
463 var packParams = function (data) {
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
464 var settings = data.settings;
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
465 // zoom area
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
466 if (data.zoomArea) {
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
467 settings.wx = cropFloat(data.zoomArea.x);
2e817524992e set mark works now
robcast
parents: 645
diff changeset
468 settings.wy = cropFloat(data.zoomArea.y);
2e817524992e set mark works now
robcast
parents: 645
diff changeset
469 settings.ww = cropFloat(data.zoomArea.width);
2e817524992e set mark works now
robcast
parents: 645
diff changeset
470 settings.wh = cropFloat(data.zoomArea.height);
631
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
471 }
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
472 // marks
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
473 if (data.marks) {
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
474 settings.mk = '';
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
475 for (var i = 0; i < data.marks.length; i++) {
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
476 if (i) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
477 settings.mk += ',';
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
478 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
479 settings.mk += cropFloat(data.marks[i].x).toString() + '/' + cropFloat(data.marks[i].y).toString();
631
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
480 }
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
481 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
482 // Scaler flags
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
483 if (data.scalerFlags) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
484 var mo = '';
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
485 for (var f in data.scalerFlags) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
486 if (mo) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
487 mo += ',';
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
488 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
489 mo += f;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
490 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
491 settings.mo = mo;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
492 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
493 // digilib options
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
494 if (data.dlOpts) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
495 var clop = '';
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
496 for (var o in data.dlOpts) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
497 if (clop) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
498 clop += ',';
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
499 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
500 clop += o;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
501 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
502 settings.clop = clop;
631
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
503 }
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
504 };
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
505
609
435f81210a33 start work on scaler call
robcast
parents: 608
diff changeset
506 // returns maximum size for scaler img in fullscreen mode
435f81210a33 start work on scaler call
robcast
parents: 608
diff changeset
507 var getFullscreenImgSize = function($elem) {
435f81210a33 start work on scaler call
robcast
parents: 608
diff changeset
508 var winH = $(window).height();
435f81210a33 start work on scaler call
robcast
parents: 608
diff changeset
509 var winW = $(window).width();
435f81210a33 start work on scaler call
robcast
parents: 608
diff changeset
510 // TODO: account for borders?
435f81210a33 start work on scaler call
robcast
parents: 608
diff changeset
511 return geom.size(winW, winH);
608
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
512 };
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
513
622
cc3d81f02d4e factored out display function
hertzhaft
parents: 621
diff changeset
514 // (re)load the img from a new scaler URL
644
ee8ccd84c5f8 reload doesn't take list of changed parameters any more
robcast
parents: 643
diff changeset
515 var redisplay = function (data) {
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
516 var settings = data.settings;
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
517 if (settings.interactionMode === 'fullscreen') {
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
518 // update location.href (browser URL) in fullscreen mode
644
ee8ccd84c5f8 reload doesn't take list of changed parameters any more
robcast
parents: 643
diff changeset
519 var url = getDigilibUrl(data);
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
520 var history = window.history;
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
521 if (typeof(history.pushState) === 'function') {
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
522 console.debug("we could modify history, but we don't...");
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
523 }
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
524 window.location = url;
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
525 } else {
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
526 // embedded mode -- just change img src
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
527 var url = getScalerUrl(data);
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
528 data.$img.attr('src', url);
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
529 }
622
cc3d81f02d4e factored out display function
hertzhaft
parents: 621
diff changeset
530 };
cc3d81f02d4e factored out display function
hertzhaft
parents: 621
diff changeset
531
608
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
532 // creates HTML structure for digilib in elem
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
533 var setupScalerDiv = function (data) {
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
534 var settings = data.settings;
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
535 var $elem = data.$elem;
623
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
536 var $img;
608
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
537 if (settings.interactionMode === 'fullscreen') {
609
435f81210a33 start work on scaler call
robcast
parents: 608
diff changeset
538 // fullscreen
435f81210a33 start work on scaler call
robcast
parents: 608
diff changeset
539 var imgSize = getFullscreenImgSize($elem);
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
540 // fitwidth/height omits destination height/width
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
541 if (data.dlOpts['fitheight'] == null) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
542 settings.dw = imgSize.width;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
543 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
544 if (data.dlOpts['fitwidth'] == null) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
545 settings.dh = imgSize.height;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
546 }
613
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
547 $img = $('<img/>');
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
548 var scalerUrl = getScalerUrl(data);
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
549 $img.attr('src', scalerUrl);
609
435f81210a33 start work on scaler call
robcast
parents: 608
diff changeset
550 } else {
613
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
551 // embedded mode -- try to keep img tag
623
7ba95f12d172 first attempt at switching images by page number
hertzhaft
parents: 622
diff changeset
552 $img = $elem.find('img');
613
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
553 if ($img.length > 0) {
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
554 console.debug("img detach:",$img);
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
555 $img.detach();
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
556 } else {
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
557 $img = $('<img/>');
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
558 var scalerUrl = getScalerUrl(data);
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
559 $img.attr('src', scalerUrl);
613
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
560 }
608
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
561 }
613
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
562 // create new html
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
563 $elem.empty(); // TODO: should we keep stuff for customization?
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
564 var $scaler = $('<div class="scaler"/>');
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
565 $elem.append($scaler);
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
566 $scaler.append($img);
622
cc3d81f02d4e factored out display function
hertzhaft
parents: 621
diff changeset
567 $img.addClass('pic');
649
fd526464ae87 beter event handling for setMark...
robcast
parents: 648
diff changeset
568 data.$scaler = $scaler;
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
569 data.$img = $img;
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
570 $img.load(scalerImgLoadedHandler(data));
608
774a3f60efd5 start work on scaler call
robcast
parents: 607
diff changeset
571 };
615
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
572
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
573 // creates HTML structure for buttons in elem
628
1f077f8afc5e changed methods to pass "data" around instead of "settings"
robcast
parents: 627
diff changeset
574 var setupButtons = function (data, actionGroup) {
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
575 var $elem = data.$elem;
628
1f077f8afc5e changed methods to pass "data" around instead of "settings"
robcast
parents: 627
diff changeset
576 var settings = data.settings;
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
577 if (settings.interactionMode === 'fullscreen') {
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
578 // fullscreen -- create new
612
fb94f1b74d59 bind data and actions to buttons
hertzhaft
parents: 611
diff changeset
579 var $buttonsDiv = $('<div class="buttons"></div>');
fb94f1b74d59 bind data and actions to buttons
hertzhaft
parents: 611
diff changeset
580 $elem.append($buttonsDiv);
618
09167ef1512e some refactoring, onclick handlers now work with arguments
hertzhaft
parents: 617
diff changeset
581 var actionNames = settings[actionGroup];
09167ef1512e some refactoring, onclick handlers now work with arguments
hertzhaft
parents: 617
diff changeset
582 for (var i = 0; i < actionNames.length; i++) {
09167ef1512e some refactoring, onclick handlers now work with arguments
hertzhaft
parents: 617
diff changeset
583 var actionName = actionNames[i];
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
584 var buttonSettings = settings.buttons[actionName];
612
fb94f1b74d59 bind data and actions to buttons
hertzhaft
parents: 611
diff changeset
585 // construct the button html
fb94f1b74d59 bind data and actions to buttons
hertzhaft
parents: 611
diff changeset
586 var $button = $('<div class="button"></div>');
fb94f1b74d59 bind data and actions to buttons
hertzhaft
parents: 611
diff changeset
587 var $a = $('<a/>');
614
0bd19b6cede4 highlight hovered buttons
hertzhaft
parents: 613
diff changeset
588 var $img = $('<img class="button"/>');
612
fb94f1b74d59 bind data and actions to buttons
hertzhaft
parents: 611
diff changeset
589 $buttonsDiv.append($button);
fb94f1b74d59 bind data and actions to buttons
hertzhaft
parents: 611
diff changeset
590 $button.append($a);
fb94f1b74d59 bind data and actions to buttons
hertzhaft
parents: 611
diff changeset
591 $a.append($img);
fb94f1b74d59 bind data and actions to buttons
hertzhaft
parents: 611
diff changeset
592 // add attributes and bindings
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
593 $button.attr('title', buttonSettings.tooltip);
618
09167ef1512e some refactoring, onclick handlers now work with arguments
hertzhaft
parents: 617
diff changeset
594 $button.addClass('button-' + actionName);
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
595 // create handler for the buttons
649
fd526464ae87 beter event handling for setMark...
robcast
parents: 648
diff changeset
596 $a.bind('click.digilib', (function () {
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
597 // we create a new closure to capture the value of action
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
598 var action = buttonSettings.onclick;
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
599 if ($.isArray(action)) {
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
600 // the handler function calls digilib with action and parameters
649
fd526464ae87 beter event handling for setMark...
robcast
parents: 648
diff changeset
601 return function (evt) {
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
602 console.debug('click action=', action, ' evt=', evt);
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
603 $elem.digilib.apply($elem, action);
649
fd526464ae87 beter event handling for setMark...
robcast
parents: 648
diff changeset
604 return false;
619
a473998de5f8 'about' window has its own event handler
hertzhaft
parents: 618
diff changeset
605 };
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
606 } else {
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
607 // the handler function calls digilib with action
649
fd526464ae87 beter event handling for setMark...
robcast
parents: 648
diff changeset
608 return function (evt) {
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
609 console.debug('click action=', action, ' evt=', evt);
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
610 $elem.digilib(action);
649
fd526464ae87 beter event handling for setMark...
robcast
parents: 648
diff changeset
611 return false;
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
612 };
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
613 }
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
614 })());
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
615 $img.attr('src', settings.buttonsImagePath + buttonSettings.img);
637
d904c0c74c15 small fixes
robcast
parents: 636
diff changeset
616 }
611
1b6202aba26e work on button creation
robcast
parents: 610
diff changeset
617 }
612
fb94f1b74d59 bind data and actions to buttons
hertzhaft
parents: 611
diff changeset
618 return $buttonsDiv;
610
cd9f657d49fa code for generating the buttons
hertzhaft
parents: 609
diff changeset
619 };
615
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
620
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
621 // creates HTML structure for the bird's eye view in elem
638
830bf803d9f0 setupBirdDiv deferred until used
robcast
parents: 637
diff changeset
622 var setupBirdDiv = function (data) {
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
623 var $elem = data.$elem;
628
1f077f8afc5e changed methods to pass "data" around instead of "settings"
robcast
parents: 627
diff changeset
624 var settings = data.settings;
615
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
625 // use only the relevant parameters
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
626 var keys = ['fn','pn','dw','dh'];
639
7a91bf50a728 setupBirdDiv called early if enabled in options
robcast
parents: 638
diff changeset
627 var birdSettings = $.extend({}, settings, settings.birdDivOptions);
628
1f077f8afc5e changed methods to pass "data" around instead of "settings"
robcast
parents: 627
diff changeset
628 var birdUrl = settings.scalerBaseUrl + '?' + getParamString(birdSettings, keys);
615
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
629 // the bird's eye div
625
5f3564a21a9c small merge and fix
robcast
parents: 619 620
diff changeset
630 var $birdviewDiv = $('<div class="birdview" style="display:none"/>');
615
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
631 // the detail indicator frame
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
632 var $birdzoomDiv = $('<div class="birdzoom"/>');
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
633 // the small image
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
634 var $birdImg = $('<img class="birdimg"/>');
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
635 $elem.append($birdviewDiv);
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
636 $birdviewDiv.append($birdzoomDiv);
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
637 $birdviewDiv.append($birdImg);
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
638 $birdImg.attr('src', birdUrl);
640
fcb887110471 enabling bird's eye view in options now even works...
robcast
parents: 639
diff changeset
639 if (data.settings.isBirdDivVisible) {
fcb887110471 enabling bird's eye view in options now even works...
robcast
parents: 639
diff changeset
640 $birdviewDiv.fadeIn();
fcb887110471 enabling bird's eye view in options now even works...
robcast
parents: 639
diff changeset
641 }
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
642 data.$birdDiv = $birdviewDiv;
640
fcb887110471 enabling bird's eye view in options now even works...
robcast
parents: 639
diff changeset
643 };
615
ec131e9699a6 setup bird's eye view div
hertzhaft
parents: 614
diff changeset
644
625
5f3564a21a9c small merge and fix
robcast
parents: 619 620
diff changeset
645 // creates HTML structure for the about view in elem
628
1f077f8afc5e changed methods to pass "data" around instead of "settings"
robcast
parents: 627
diff changeset
646 var setupAboutDiv = function (data) {
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
647 var $elem = data.$elem;
628
1f077f8afc5e changed methods to pass "data" around instead of "settings"
robcast
parents: 627
diff changeset
648 var settings = data.settings;
625
5f3564a21a9c small merge and fix
robcast
parents: 619 620
diff changeset
649 var $aboutDiv = $('<div class="about" style="display:none"/>');
616
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
650 var $header = $('<p>Digilib Graphic Viewer</p>');
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
651 var $link = $('<a/>');
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
652 var $logo = $('<img class="logo" title="digilib"/>');
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
653 var $content = $('<p/>');
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
654 $elem.append($aboutDiv);
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
655 $aboutDiv.append($header);
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
656 $aboutDiv.append($link);
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
657 $aboutDiv.append($content);
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
658 $link.append($logo);
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
659 $logo.attr('src', settings.logoUrl);
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
660 $link.attr('href', settings.homeUrl);
616
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
661 $content.text('Version: ' + settings.version);
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
662 // click hides
649
fd526464ae87 beter event handling for setMark...
robcast
parents: 648
diff changeset
663 $aboutDiv.bind('click.digilib', function () {
646
83cc0c96612d even smaller improvement
hertzhaft
parents: 645
diff changeset
664 settings.isAboutDivVisible = showDiv(settings.isAboutDivVisible, $aboutDiv, 0);
649
fd526464ae87 beter event handling for setMark...
robcast
parents: 648
diff changeset
665 return false;
fd526464ae87 beter event handling for setMark...
robcast
parents: 648
diff changeset
666 });
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
667 data.$aboutDiv = $aboutDiv;
634
34ee220a664b trying showAboutDivFn...
robcast
parents: 633
diff changeset
668 };
34ee220a664b trying showAboutDivFn...
robcast
parents: 633
diff changeset
669
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
670 // shows some window e.g. 'about' (toggle visibility if show is null)
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
671 var showDiv = function (isVisible, $div, show) {
645
91d168f7dd0d small improvement
robcast
parents: 644
diff changeset
672 if (show == null) {
635
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
673 // toggle visibility
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
674 isVisible = !isVisible;
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
675 } else {
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
676 // set visibility
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
677 isVisible = show;
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
678 }
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
679 if (isVisible) {
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
680 $div.fadeIn();
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
681 } else {
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
682 $div.fadeOut();
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
683 }
7293a42f44f5 changed button onclick binding to use closure
robcast
parents: 634
diff changeset
684 return isVisible;
634
34ee220a664b trying showAboutDivFn...
robcast
parents: 633
diff changeset
685 };
616
55e06ebb879f setup the 'about' window
hertzhaft
parents: 615
diff changeset
686
613
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
687 // returns function for load event of scaler img
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
688 var scalerImgLoadedHandler = function (data) {
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
689 var settings = data.settings;
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
690 var $elem = data.$elem;
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
691 var $img = data.$img;
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
692
633
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
693 return function () {
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
694 console.debug("img loaded! this=", this, " data=", data);
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
695 var area = data.zoomArea;
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
696 // create Transform from current area and picsize
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
697 var picpos = $img.offset();
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
698 var picrect = geom.rectangle(picpos.left, picpos.top, $img.width(), $img.height());
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
699 var trafo = geom.transform();
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
700 // subtract area offset and size
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
701 trafo.concat(trafo.getTranslation(geom.position(- area.x, - area.y)));
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
702 trafo.concat(trafo.getScale(geom.size(1/area.width, 1/area.height)));
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
703 // scale to screen size
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
704 trafo.concat(trafo.getScale(picrect));
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
705 trafo.concat(trafo.getTranslation(picrect));
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
706 data.imgTrafo = trafo;
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
707 // display marks
633
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
708 renderMarks(data);
627
c2566e470569 scalerImgLoaded sets up img trafo
robcast
parents: 626
diff changeset
709 //digilib.showArrows(); // show arrow overlays for zoom navigation
641
8f40f7b6fd20 some small aboutdiv fixes
hertzhaft
parents: 640
diff changeset
710 // done -- hide about div ---
8f40f7b6fd20 some small aboutdiv fixes
hertzhaft
parents: 640
diff changeset
711 // --- why? This only leads to suprise effects when displayed programmatically
8f40f7b6fd20 some small aboutdiv fixes
hertzhaft
parents: 640
diff changeset
712 // settings.isAboutDivVisible = showDiv(null, data.$aboutDiv, 0);
613
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
713 };
53ee659e2d00 keeping img tag for embedded mode seems to work now
robcast
parents: 612
diff changeset
714 };
633
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
715
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
716 // place marks on the image
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
717 var renderMarks = function (data) {
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
718 var $elem = data.$elem;
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
719 var marks = data.marks;
649
fd526464ae87 beter event handling for setMark...
robcast
parents: 648
diff changeset
720 // TODO: clear marks first(?)
633
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
721 for (var i = 0; i < marks.length; i++) {
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
722 var mark = marks[i];
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
723 if (data.zoomArea.containsPosition(mark)) {
633
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
724 var mpos = data.imgTrafo.transform(mark);
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
725 // create mark
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
726 var html = '<div class="mark">'+(i+1)+'</div>';
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
727 var $mark = $(html);
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
728 $elem.append($mark);
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
729 $mark.offset({ left : mpos.x, top : mpos.y});
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
730 }
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
731 }
73357f3dec20 rendering marks works now
robcast
parents: 631
diff changeset
732 };
631
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
733
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
734 // zooms by the given factor
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
735 var zoomBy = function(data, factor) {
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
736 var area = data.zoomArea;
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
737 var newarea = area.copy();
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
738 // scale
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
739 newarea.width /= factor;
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
740 newarea.height /= factor;
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
741 // and recenter
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
742 newarea.x -= 0.5 * (newarea.width - area.width);
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
743 newarea.y -= 0.5 * (newarea.height - area.height);
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
744 newarea = MAX_ZOOMAREA.fit(newarea);
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
745 data.zoomArea = newarea;
644
ee8ccd84c5f8 reload doesn't take list of changed parameters any more
robcast
parents: 643
diff changeset
746 redisplay(data);
643
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
747 };
c108607e1bc0 zoomin and -out works now
robcast
parents: 641
diff changeset
748
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
749 // add a mark where clicked
2e817524992e set mark works now
robcast
parents: 645
diff changeset
750 var setMark = function (data) {
649
fd526464ae87 beter event handling for setMark...
robcast
parents: 648
diff changeset
751 var $scaler = data.$scaler;
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
752 console.debug("setmark");
2e817524992e set mark works now
robcast
parents: 645
diff changeset
753 // start event capturing
649
fd526464ae87 beter event handling for setMark...
robcast
parents: 648
diff changeset
754 $scaler.one('click.digilib', function (evt) {
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
755 // event handler adding a new mark
2e817524992e set mark works now
robcast
parents: 645
diff changeset
756 console.debug("setmark.click evt=",evt);
2e817524992e set mark works now
robcast
parents: 645
diff changeset
757 var mpos = geom.position(evt.pageX, evt.pageY);
2e817524992e set mark works now
robcast
parents: 645
diff changeset
758 var pos = data.imgTrafo.invtransform(mpos);
2e817524992e set mark works now
robcast
parents: 645
diff changeset
759 data.marks.push(pos);
2e817524992e set mark works now
robcast
parents: 645
diff changeset
760 redisplay(data);
649
fd526464ae87 beter event handling for setMark...
robcast
parents: 648
diff changeset
761 return false; // do we even get here?
647
2e817524992e set mark works now
robcast
parents: 645
diff changeset
762 });
2e817524992e set mark works now
robcast
parents: 645
diff changeset
763 };
2e817524992e set mark works now
robcast
parents: 645
diff changeset
764
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
765 // sets a key to a value (relative values with +/- if relative=true)
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
766 var setNumValue = function(settings, key, value) {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
767 if (isNumber(value)) return settings[key] = value;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
768 var sign = value.substring(0,1);
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
769 if (sign === '+' || sign === '-') {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
770 if (settings[key] == null) {
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
771 // this isn't perfect but still...
650
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
772 settings[key] = 0;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
773 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
774 settings[key] = parseFloat(settings[key]) + parseFloat(value);
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
775 } else {
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
776 settings[key] = value;
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
777 }
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
778 return settings[key];
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
779 };
0c5930916d53 zoom to page width works now
robcast
parents: 649
diff changeset
780
641
8f40f7b6fd20 some small aboutdiv fixes
hertzhaft
parents: 640
diff changeset
781 // auxiliary function (from Douglas Crockford, A.10)
8f40f7b6fd20 some small aboutdiv fixes
hertzhaft
parents: 640
diff changeset
782 var isNumber = function isNumber(value) {
8f40f7b6fd20 some small aboutdiv fixes
hertzhaft
parents: 640
diff changeset
783 return typeof value === 'number' && isFinite(value);
8f40f7b6fd20 some small aboutdiv fixes
hertzhaft
parents: 640
diff changeset
784 };
8f40f7b6fd20 some small aboutdiv fixes
hertzhaft
parents: 640
diff changeset
785
631
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
786 // auxiliary function to crop senseless precision
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
787 var cropFloat = function (x) {
637
d904c0c74c15 small fixes
robcast
parents: 636
diff changeset
788 return parseInt(10000 * x, 10) / 10000;
631
4f7b52b97738 more work on initialisation
robcast
parents: 629
diff changeset
789 };
636
7049579a0097 last and next page works now
robcast
parents: 635
diff changeset
790
605
aee94e4a8c48 next version zero of jquery.digilib
robcast
parents: 604
diff changeset
791 // hook plugin into jquery
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
792 $.fn.digilib = function(action) {
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
793 if (actions[action]) {
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
794 // call action on this with the remaining arguments (inserting data as first argument)
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
795 var $elem = $(this);
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
796 var data = $elem.data('digilib');
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
797 var args = Array.prototype.slice.call(arguments, 1);
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
798 args.unshift(data);
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
799 return actions[action].apply(this, args);
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
800 } else if (typeof(action) === 'object' || !action) {
634
34ee220a664b trying showAboutDivFn...
robcast
parents: 633
diff changeset
801 // call init on this
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
802 return actions.init.apply(this, arguments);
605
aee94e4a8c48 next version zero of jquery.digilib
robcast
parents: 604
diff changeset
803 } else {
651
694bdb86cbad renamed 'actions' to 'buttons' and 'methods' to 'actions'
robcast
parents: 650
diff changeset
804 $.error( 'action ' + action + ' does not exist on jQuery.digilib' );
605
aee94e4a8c48 next version zero of jquery.digilib
robcast
parents: 604
diff changeset
805 }
aee94e4a8c48 next version zero of jquery.digilib
robcast
parents: 604
diff changeset
806 };
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
807
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
808 })(jQuery);