|
1 /** |
|
2 * XML Web generátor – program na generování webových stránek |
|
3 * Copyright © 2012 František Kučera (frantovo.cz) |
|
4 * |
|
5 * This program is free software: you can redistribute it and/or modify |
|
6 * it under the terms of the GNU General Public License as published by |
|
7 * the Free Software Foundation, either version 3 of the License, or |
|
8 * (at your option) any later version. |
|
9 * |
|
10 * This program is distributed in the hope that it will be useful, |
|
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
13 * GNU General Public License for more details. |
|
14 * |
|
15 * You should have received a copy of the GNU General Public License |
|
16 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
17 */ |
|
18 |
|
19 /** |
|
20 * XML Web generátor – jmenný prostor |
|
21 */ |
|
22 var xwg = { |
|
23 /** |
|
24 * Zašifruje/dešifruje obsah elementu pomocí Rot13. |
|
25 * @param id ID elementu, jehož text chceme změnit. |
|
26 */ |
|
27 rot13: function(id) { |
|
28 var e = document.getElementById(id); |
|
29 e.textContent = e.textContent.rot13(); |
|
30 }, |
|
31 |
|
32 /** |
|
33 * Vloží klikatelný odkaz. |
|
34 * @param id ID span elementu obsahujícího data |
|
35 */ |
|
36 odkazNaElektronickouPoštu: function(id) { |
|
37 var spanČesky = document.getElementById(id); |
|
38 var spanObsah = document.getElementById(id + "b"); |
|
39 var česky = spanČesky.innerHTML; |
|
40 var adresa = česky |
|
41 .replace(new RegExp(" zavináč ", "g"), "@") |
|
42 .replace(new RegExp(" tečka ", "g"),"."); |
|
43 |
|
44 var odkaz = document.createElement("a"); |
|
45 odkaz.href = "mailto:" + adresa; |
|
46 if (spanObsah.innerHTML.length > 0) { |
|
47 odkaz.innerHTML = spanObsah.innerHTML; |
|
48 } else { |
|
49 odkaz.innerHTML = adresa; |
|
50 } |
|
51 |
|
52 spanČesky.parentNode.insertBefore(odkaz, spanČesky); |
|
53 spanČesky.parentNode.removeChild(spanČesky); |
|
54 spanObsah.parentNode.removeChild(spanObsah); |
|
55 }, |
|
56 |
|
57 }; |
|
58 |
|
59 /** |
|
60 * Vrací hodnotu textového řetězce zašifrovanou/dešifrovanou algoritmem Rot13 |
|
61 */ |
|
62 String.prototype.rot13 = function() { |
|
63 return this.replace(/[a-zA-Z]/g, function(z) { |
|
64 return String.fromCharCode((z <= "Z" ? 90 : 122) >= (z = z.charCodeAt(0) + 13) ? z : z - 26); |
|
65 }); |
|
66 }; |
|
67 |