NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name KDD
// @namespace https://github.com/eltomjan
// @namespace https://openuserjs.org/users/eltomjan
// @version 1
// @copyright 2019, El Tom Elzein
// @licence MIT
// @description KDD improvement 4 real blind users...
// @author El Tom Elzein
// @include *kdd.cz*
// @grant none
// ==/UserScript==
// ==OpenUserJS==
// @author eltomjan
// ==/OpenUserJS==
(function() {
'use strict';
if(location.host.indexOf(".kdd.cz") < 0) return;
var pages = "?page=uzivatel|?page=moje-novinky-tyden|?page=moje-novinky-login|?base-search|?url=|?page=vyhledavani".split('|')
var found = -1;
for(var i=0;i<pages.length;i++) if(location.search.startsWith(pages[i])) found = i;
if(location.search.startsWith('?')) {
if(found != -1) {
var links = '<a href="index.php?url=kniha&count-per-page=30&page=moje-novinky-tyden">Nové knihy týden</a>'
+ ' <a href="index.php?url=kniha&count-per-page=30&page=moje-novinky-login" accesskey="m">Nové knihy přihlášení</a>'
+ ' <a href="index.php?page=odhlaseni" accesskey="x">Odhlášení</a>'
var spn = document.createElement("SPAN");
spn.innerHTML = links;
document.cookie = "no-css=1";
document.body.insertBefore(spn, document.body.firstChild);
if(found === 0) return;
}
}
if(found < 1) return;
var tab = document.getElementsByTagName("TABLE");
if (tab.length) {
//document.getElementById("menu").style.display="none";
//document.getElementById("left-clmn").style.display="none";
var row = tab[0].rows;
for(var r=1;r<row.length;r++) {
var col = row[r].cells;
for(var c=0;c<col.length;c++) {
if(col[c].firstChild && col[c].firstChild.nodeName == "#text") {
var short = col[c].innerText.replace(/'/g," apostrof ");
if(short.length > 1000) short = "kontrol á kontrol cé " + short.substr(0,900);
col[c].innerHTML = "<textarea title='"+row[0].cells[c].innerText +" "
+ short
+"' rows=20 cols=40>"
+ col[c].innerText
+ "</textarea>";
}
}
}
document.onkeydown = function(e)
{
var pg = " PageUp PageDown".indexOf(e.code);
if(pg > 0) {
if(null !== document.getElementsByTagName("INPUT")[0].form) return;
var buttonsNo = 1 + !document.getElementsByTagName("INPUT")[1].form;
var page = document.getElementsByName("stranka")[0];
if(pg == 1) {
//if(buttonsNo > 1 || document.getElementsByTagName("INPUT")[0].outerHTML.indexOf("stranka=1") < 0) {
if(page && page.value != "0") {
document.getElementsByTagName("INPUT")[0].onclick();
}
} else {
//if(buttonsNo == 1 && document.getElementsByTagName("INPUT")[0].outerHTML.indexOf("stranka=1") < 0) return;
if(!page || document.getElementsByTagName("INPUT")[buttonsNo-1].outerHTML.indexOf("stranka="+ (page.value*1+1)) > 0) {
document.getElementsByTagName("INPUT")[buttonsNo-1].onclick();
}
}
return;
}
var el = e.rangeParent;
if(!el) el = e.originalTarget;
if(!el) return;
while(el && el.tagName != "TD") el = el.parentElement;
if(!el) {
if(!e.code.startsWith("Arrow")) return;
var tab = document.getElementsByTagName("TABLE");
if (tab.length) el = tab[0].rows[1].cells[0]; else return;
}
var ci = el.cellIndex;
while(el && el.tagName != "TR") el = el.parentElement;
var ri = el.rowIndex;
if(e.code == "ArrowLeft") {
if(ci > 0) ci--; else return;
} else if(e.code == "ArrowRight") {
ci++;
} else if(e.code == "ArrowDown") {
ri++;
} else if(e.code == "ArrowUp") {
if(ri > 1) ri--; else return;
}
do {
while(el && el.tagName != "TABLE") el = el.parentElement;
if(el.rows.length > ri) el = el.rows[ri]; else return;
if(el.cells.length > ci) el = el.cells[ci]; else return;
if(el) {
if(el.firstChild) {
while(el.firstChild && el.firstChild.nodeName != "#text") el = el.firstChild;
if(el) el.focus();
} else {
if(e.code == "ArrowLeft") {
if(ci > 0) {
ci--;
continue;
} else return;
} else if(e.code == "ArrowRight") {
ci++;
continue;
}
}
} return;
} while(true);
};
document.onkeydown({"rangeParent":row[1].cells[0], "code":""});
}
})();