source: aowow/templates/wowhead/js/Book.js

Last change on this file was 170, checked in by maron, 16 years ago
File size: 1.7 KB
Line 
1function Book(D) {
2 if (!D.parent || !D.pages || D.pages.length == 0) {
3 return
4 }
5 D.parent = $(D.parent);
6 var E,
7 A,
8 B;
9 this.nPages = D.pages.length;
10 this.parent = $(D.parent);
11 this.parent.className += " book";
12 E = ce("div");
13 E.className = "header";
14 if (this.nPages == 1) {
15 E.style.display = "none"
16 }
17 ns(E);
18 B = ce("div");
19 B.style.visibility = "hidden";
20 B.className = "previous";
21 A = ce("a");
22 A.appendChild(ct(String.fromCharCode(8249) + LANG.book_previous));
23 A.href = "javascript:;";
24 A.onclick = this.previous.bind(this);
25 B.appendChild(A);
26 E.appendChild(B);
27 B = ce("div");
28 B.style.visibility = "hidden";
29 B.className = "next";
30 A = ce("a");
31 A.appendChild(ct(LANG.book_next + String.fromCharCode(8250)));
32 A.href = "javascript:;";
33 A.onclick = this.next.bind(this);
34 B.appendChild(A);
35 E.appendChild(B);
36 B = ce("b");
37 B.appendChild(ct("1"));
38 E.appendChild(B);
39 E.appendChild(ct(LANG.book_of));
40 B = ce("b");
41 B.appendChild(ct(this.nPages));
42 E.appendChild(B);
43 D.parent.appendChild(E);
44 for (var C = 0; C < this.nPages; ++C) {
45 E = ce("div");
46 E.className = "page";
47 E.style.display = "none";
48 E.innerHTML = D.pages[C];
49 D.parent.appendChild(E)
50 }
51 this.page = 1;
52 this.changePage(D.page || 1)
53}
54Book.prototype = {
55 changePage: function(B) {
56 if (B < 1) {
57 B = 1
58 } else {
59 if (B > this.nPages) {
60 B = this.nPages
61 }
62 }
63 var A = this.parent.childNodes;
64 A[this.page].style.display = "none";
65 A[B].style.display = "";
66 this.page = B;
67 A = A[0].childNodes;
68 A[0].style.visibility = (B == 1) ? "hidden": "visible";
69 A[1].style.visibility = (B == this.nPages) ? "hidden": "visible";
70 A[2].innerHTML = B
71 },
72 next: function() {
73 this.changePage(this.page + 1)
74 },
75 previous: function() {
76 this.changePage(this.page - 1)
77 }
78};
Note: See TracBrowser for help on using the repository browser.