ukázka/js/skript.js
author František Kučera <franta-hg@frantovo.cz>
Thu, 11 Sep 2014 20:30:46 +0200
changeset 135 ad2c76125200
parent 125 20a52ce68314
permissions -rw-r--r--
hgignore: glob/regex
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
84
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
     1
/**
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
     2
 * XML Web generátor – program na generování webových stránek
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
     3
 * Copyright © 2012 František Kučera (frantovo.cz)
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
     4
 * 
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
     5
 * This program is free software: you can redistribute it and/or modify
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
     7
 * the Free Software Foundation, either version 3 of the License, or
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
     8
 * (at your option) any later version.
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
     9
 * 
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    10
 * This program is distributed in the hope that it will be useful,
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    13
 * GNU General Public License for more details.
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    14
 * 
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    15
 * You should have received a copy of the GNU General Public License
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    16
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    17
 */
11
78a8dd1eeb2b statický obsah a úloha pro čištění
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
    18
84
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    19
/**
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    20
 * XML Web generátor – jmenný prostor 
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    21
 */
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    22
var xwg = { 
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    23
	/**
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    24
	 * Zašifruje/dešifruje obsah elementu pomocí Rot13.
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    25
	 * @param id ID elementu, jehož text chceme změnit.
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    26
	 */
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    27
	rot13: function(id) {
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    28
		var e = document.getElementById(id);
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    29
		e.textContent = e.textContent.rot13();
93
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    30
	},
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    31
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    32
	/**
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    33
	 * Vloží klikatelný odkaz.
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    34
	 * @param id ID span elementu obsahujícího data
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    35
	 */
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    36
	odkazNaElektronickouPoštu: function(id) {
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    37
		var spanČesky = document.getElementById(id);
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    38
		var spanObsah = document.getElementById(id + "b");
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    39
		var česky = spanČesky.innerHTML;
125
20a52ce68314 odkazy na e-maily: nahrazování všech výskytů tečky a zavináče, ne jen prvních
František Kučera <franta-hg@frantovo.cz>
parents: 120
diff changeset
    40
		var adresa = česky
20a52ce68314 odkazy na e-maily: nahrazování všech výskytů tečky a zavináče, ne jen prvních
František Kučera <franta-hg@frantovo.cz>
parents: 120
diff changeset
    41
						.replace(new RegExp(" zavináč ", "g"), "@")
20a52ce68314 odkazy na e-maily: nahrazování všech výskytů tečky a zavináče, ne jen prvních
František Kučera <franta-hg@frantovo.cz>
parents: 120
diff changeset
    42
						.replace(new RegExp(" tečka ", "g"),".");
93
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    43
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    44
		var odkaz = document.createElement("a");
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    45
		odkaz.href = "mailto:" + adresa;
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    46
		if (spanObsah.innerHTML.length > 0) {
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    47
			odkaz.innerHTML = spanObsah.innerHTML;
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    48
		} else {
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    49
			odkaz.innerHTML = adresa;
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    50
		}
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    51
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    52
		spanČesky.parentNode.insertBefore(odkaz, spanČesky);
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    53
		spanČesky.parentNode.removeChild(spanČesky);
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    54
		spanObsah.parentNode.removeChild(spanObsah);
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    55
	},
5b55827de220 #16 „obfuskované“ odkazy na e-maily, které znesnadní sběr spamovacím robotům
František Kučera <franta-hg@frantovo.cz>
parents: 84
diff changeset
    56
84
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    57
};
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    58
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    59
/**
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    60
 * Vrací hodnotu textového řetězce zašifrovanou/dešifrovanou algoritmem Rot13 
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    61
 */
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    62
String.prototype.rot13 = function() {
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    63
	return this.replace(/[a-zA-Z]/g, function(z) {
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    64
		return String.fromCharCode((z <= "Z" ? 90 : 122) >= (z = z.charCodeAt(0) + 13) ? z : z - 26);
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    65
	});
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    66
};
f866267d7b3c ROT13 – šifrování #18
František Kučera <franta-hg@frantovo.cz>
parents: 11
diff changeset
    67