Index: java/sql-vyuka/web/hlavni.js
===================================================================
--- java/sql-vyuka/web/hlavni.js	(revision 72:fc3d6fa6fbcd)
+++ java/sql-vyuka/web/hlavni.js	(revision 80:d900e5a112cc)
@@ -11,12 +11,12 @@
  */
 function getXmlHttpRequestObject() {
-    if (window.XMLHttpRequest) {
-	return new XMLHttpRequest();
-    } else if(window.ActiveXObject) {
-	return new ActiveXObject("Microsoft.XMLHTTP");
-    } else {
-	alert(document.getElementById('lokalizace').nepodporovany.value);
-	return null;
-    }
+	if (window.XMLHttpRequest) {
+		return new XMLHttpRequest();
+	} else if(window.ActiveXObject) {
+		return new ActiveXObject("Microsoft.XMLHTTP");
+	} else {
+		alert(document.getElementById('lokalizace').nepodporovany.value);
+		return null;
+	}
 }
 
@@ -31,5 +31,5 @@
  **/
 function getSQL() {
-    return document.getElementById('aplikace').vstupniPole.value;
+	return document.getElementById('aplikace').vstupniPole.value;
 }
 
@@ -41,11 +41,11 @@
  **/
 function zobraz(text, kde) {
-    if (kde == vstupniPole) {
-	document.getElementById('aplikace').vstupniPole.value = vratEntity(text);
-    } else if (kde == stavovePole)  {
-	document.getElementById('aplikace').stavovePole.value = vratEntity(text);
-    } else {
-	document.getElementById(kde).innerHTML = text + '<p>&nbsp;<!-- Šťastné hackování ;-) --></p>';
-    }
+	if (kde == vstupniPole) {
+		document.getElementById('aplikace').vstupniPole.value = vratEntity(text);
+	} else if (kde == stavovePole)  {
+		document.getElementById('aplikace').stavovePole.value = vratEntity(text);
+	} else {
+		document.getElementById(kde).innerHTML = text + '<p>&nbsp;<!-- Šťastné hackování ;-) --></p>';
+	}
 }
 
@@ -53,16 +53,16 @@
 /** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
 function ajaxVykonatSQL() {
-    if (ajax.readyState == 4 || ajax.readyState == 0) {
-	zobraz(document.getElementById('lokalizace').probihaSQL.value, stavovePole);
-	ajax.open("POST", 'ajax.jspx?akce=vykonat&sql=' + encodeURIComponent(getSQL()), true);
-	ajax.onreadystatechange = function() {
-	    if (ajax.readyState == 4) {
-		zobraz(ajax.responseText, vystupniPole);
-		zobraz('', stavovePole);
-	    }
-	};
-	ajax.send(null);
-    }
-    ulozURL();
+	if (ajax.readyState == 4 || ajax.readyState == 0) {
+		zobraz(document.getElementById('lokalizace').probihaSQL.value, stavovePole);
+		ajax.open("POST", 'ajax.jspx?akce=vykonat&sql=' + encodeURIComponent(getSQL()), true);
+		ajax.onreadystatechange = function() {
+			if (ajax.readyState == 4) {
+				zobraz(ajax.responseText, vystupniPole);
+				zobraz('', stavovePole);
+			}
+		};
+		ajax.send(null);
+	}
+	ulozURL();
 }
 
@@ -70,16 +70,16 @@
 /** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
 function ajaxZobrazitHistorii() {
-    if (ajax.readyState == 4 || ajax.readyState == 0) {
-	zobraz(document.getElementById('lokalizace').probihaHistorie.value, stavovePole);
-	ajax.open("POST", 'ajax.jspx?akce=historie', true);
-	ajax.onreadystatechange = function() {
-	    if (ajax.readyState == 4) {
-		zobraz(ajax.responseText, vystupniPole);
-		zobraz('', stavovePole);
-		aktivujHistorii();
-	    }
-	};
+	if (ajax.readyState == 4 || ajax.readyState == 0) {
+		zobraz(document.getElementById('lokalizace').probihaHistorie.value, stavovePole);
+		ajax.open("POST", 'ajax.jspx?akce=historie', true);
+		ajax.onreadystatechange = function() {
+			if (ajax.readyState == 4) {
+				zobraz(ajax.responseText, vystupniPole);
+				zobraz('', stavovePole);
+				aktivujHistorii();
+			}
+		};
 	ajax.send(null);
-    }
+	}
 }
 
@@ -89,63 +89,63 @@
 
 function ajaxPruvodcePredchozi() {
-    ajaxPruvodceNaviguj('predchozi', pruvodceAktualniId, null);
+	ajaxPruvodceNaviguj('predchozi', pruvodceAktualniId, null);
 }
 
 function ajaxPruvodceZpet() {
-    try {
-	history.back();
-	//window.back();
-	nactiURL();
-    } catch (e) {
-	alert(e);
-    // není historie
-    }
+	try {
+		history.back();
+		//window.back();
+		nactiURL();
+	} catch (e) {
+		alert(e);
+		// není historie
+	}
 }
 
 function ajaxPruvodceVpred() {
-    try {
-	history.forward();
-	//window.forward();
-	nactiURL();
-    } catch (e) {
-	alert(e);
-    // není historie
-    }
+	try {
+		history.forward();
+		//window.forward();
+		nactiURL();
+	} catch (e) {
+		alert(e);
+		// není historie
+	}
 }
 
 function ajaxPruvodceNasledujici() {
-    ajaxPruvodceNaviguj('nasledujici', pruvodceAktualniId, null);
+	ajaxPruvodceNaviguj('nasledujici', pruvodceAktualniId, null);
 }
 
 function ajaxPruvodceKod(kod) {
-    ajaxPruvodceNaviguj('podleKodu', 0, kod);
+	ajaxPruvodceNaviguj('podleKodu', 0, kod);
 }
 
 function ajaxPruvodceId(id) {
-    ajaxPruvodceNaviguj('podleId', id, null);
+	ajaxPruvodceNaviguj('podleId', id, null);
 
 }
 
 function ajaxPruvodceNaviguj(akcePruvodce, id, kod) {
-    if (ajax.readyState == 4 || ajax.readyState == 0) {
-	ajax.open("POST", 'ajax.jspx?akce=napoveda&pruvodce=' + encodeURIComponent(akcePruvodce) + '&idPruvodce=' + encodeURIComponent(id) + '&kodPruvodce=' + encodeURIComponent(kod), true);
-	ajax.onreadystatechange = function() {
-	    if (ajax.readyState == 4) {
-		zobraz(ajax.responseText, napovedniPole);
-		/** Uložíme si do paměti ID aktuální stránky */
-		if (document.getElementById('pruvodceData')) {
-		    pruvodceAktualniId = document.getElementById('pruvodceData').id.value;
-		} else {
-		    pruvodceAktualniId = 0;
-		}
-		/** Změníme URL v prohlížeči */
-		urlOdkaz['pruvodce']  = 'pruvodce=' + encodeURIComponent(pruvodceAktualniId);
-		ulozURL();
-		sestavStromy();
-		aktivujPruvodce();
-	    }
-	};
+	if (ajax.readyState == 4 || ajax.readyState == 0) {
+		ajax.open("POST", 'ajax.jspx?akce=napoveda&pruvodce=' + encodeURIComponent(akcePruvodce) + '&idPruvodce=' + encodeURIComponent(id) + '&kodPruvodce=' + encodeURIComponent(kod), true);
+		ajax.onreadystatechange = function() {
+			if (ajax.readyState == 4) {
+				zobraz(ajax.responseText, napovedniPole);
+				/** Uložíme si do paměti ID aktuální stránky */
+				if (document.getElementById('pruvodceData')) {
+					pruvodceAktualniId = document.getElementById('pruvodceData').id.value;
+				} else {
+					pruvodceAktualniId = 0;
+				}
+				/** Změníme URL v prohlížeči */
+				urlOdkaz['pruvodce']  = 'pruvodce=' + encodeURIComponent(pruvodceAktualniId);
+				ulozURL();
+				sestavStromy();
+				aktivujPruvodce();
+			}
+		};
 	ajax.send(null);
-    }
+	}
 }
 
@@ -158,13 +158,14 @@
  */
 function getParametr(parametr) {
-    parametr = parametr.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
-    //var regexS = "[\\?&]"+parametr+"=([^&#]*)";
-    var regexS = "[\\#&]"+parametr+"=([^&]*)";
-    var regex = new RegExp( regexS );
-    var results = regex.exec(window.location.hash);
-    if( results == null )
-	return "";
-    else
-	return decodeURIComponent(results[1]);
+	parametr = parametr.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
+	//var regexS = "[\\?&]"+parametr+"=([^&#]*)";
+	var regexS = "[\\#&]"+parametr+"=([^&]*)";
+	var regex = new RegExp( regexS );
+	var results = regex.exec(window.location.hash);
+	if ( results == null ) {
+		return "";
+	} else {
+		return decodeURIComponent(results[1]);
+	}
 }
 
@@ -174,9 +175,9 @@
  */
 function ulozURL() {
-    if (urlOdkaz['pruvodce']) {
-	window.location.hash = urlOdkaz['pruvodce'] + '&sql=' + encodeURIComponent(getSQL());
-    } else {
-	window.location.hash = 'sql=' + encodeURIComponent(getSQL());
-    }
+	if (urlOdkaz['pruvodce']) {
+		window.location.hash = urlOdkaz['pruvodce'] + '&sql=' + encodeURIComponent(getSQL());
+	} else {
+		window.location.hash = 'sql=' + encodeURIComponent(getSQL());
+	}
 }
 /**
@@ -184,22 +185,22 @@
  */
 function nactiURL() {
-    /** Načteme uživatelův SQL příkaz z URL do vstupního pole */
-    if (getParametr('sql')) {
-	zobraz(getParametr('sql'), vstupniPole);
-    }
-    
-    /** Načteme pozici v nápovědě */
-    if (getParametr('pruvodce')) {
-	ajaxPruvodceId(getParametr('pruvodce'));
-    } else {
-	ajaxPruvodceKod('vitejte');
-    }
+	/** Načteme uživatelův SQL příkaz z URL do vstupního pole */
+	if (getParametr('sql')) {
+		zobraz(getParametr('sql'), vstupniPole);
+	}
+
+	/** Načteme pozici v nápovědě */
+	if (getParametr('pruvodce')) {
+		ajaxPruvodceId(getParametr('pruvodce'));
+	} else {
+		ajaxPruvodceKod('vitejte');
+	}
 }
 
 window.onload = function() {
-    nactiURL();
-    document.getElementById("zahlavi").addEventListener('click', function () {
-	ajaxPruvodceKod('vitejte');
-    }, false);
+	nactiURL();
+	document.getElementById("zahlavi").addEventListener('click', function () {
+		ajaxPruvodceKod('vitejte');
+	}, false);
 }
 
@@ -213,24 +214,24 @@
  */
 function aktivujPruvodce() {
-    /** Ukázky SQL kódu */
-    elementy = document.getElementsByTagName("pre");
-    for (var i = 0; i < elementy.length; i++) {
-	if (elementy[i].parentNode.id == napovedniPole) {
-	    elementy[i].title = document.getElementById('lokalizace').klikniProNacteniPrikladu.value;
-	    elementy[i].onclick = function() {
-		zobraz(this.innerHTML, 'vstupniPole');
-		return true;
-	    };
-	}
-    }
-
-    /** Aktivace interních odkazů na průvodce */
-    elementy = document.getElementsByTagName("a");
-    for (var j = 0; j < elementy.length; j++) {
-	var odkaz = elementy[j].getAttribute("href");
-	if (odkaz.substring(0, 1) == '@') {
-	    elementy[j].href = "javascript:ajaxPruvodceKod('" + odkaz.substring(1, odkaz.length) + "');";
-	}
-    }
+	/** Ukázky SQL kódu */
+	elementy = document.getElementsByTagName("pre");
+	for (var i = 0; i < elementy.length; i++) {
+		if (elementy[i].parentNode.id == napovedniPole) {
+			elementy[i].title = document.getElementById('lokalizace').klikniProNacteniPrikladu.value;
+			elementy[i].onclick = function() {
+				zobraz(this.innerHTML, 'vstupniPole');
+				return true;
+			};
+		}
+	}
+
+	/** Aktivace interních odkazů na průvodce */
+	elementy = document.getElementsByTagName("a");
+	for (var j = 0; j < elementy.length; j++) {
+		var odkaz = elementy[j].getAttribute("href");
+		if (odkaz.substring(0, 1) == '@') {
+			elementy[j].href = "javascript:ajaxPruvodceKod('" + odkaz.substring(1, odkaz.length) + "');";
+		}
+	}
 }
 
@@ -241,15 +242,15 @@
  */
 function aktivujHistorii() {
-    radky = document.getElementsByTagName("tr");
-    for (var i = 1; i < radky.length; i++) {
-	if (radky[i].parentNode.parentNode.parentNode.id == vystupniPole) {
-	    radky[i].childNodes[1].title = document.getElementById('lokalizace').klikniProNacteniHistorie.value;
-	    radky[i].childNodes[1].style.cursor = 'pointer';
-	    radky[i].childNodes[1].onclick = function() {
-		zobraz(this.innerHTML, 'vstupniPole');
-		return true;
-	    };
-	}
-    }
+	radky = document.getElementsByTagName("tr");
+	for (var i = 1; i < radky.length; i++) {
+		if (radky[i].parentNode.parentNode.parentNode.id == vystupniPole) {
+			radky[i].childNodes[1].title = document.getElementById('lokalizace').klikniProNacteniHistorie.value;
+			radky[i].childNodes[1].style.cursor = 'pointer';
+			radky[i].childNodes[1].onclick = function() {
+				zobraz(this.innerHTML, 'vstupniPole');
+				return true;
+			};
+		}
+	}
 }
 
@@ -259,12 +260,11 @@
  */
 function vratEntity (text) {
-    var vysledek = text;
-    vysledek = vysledek.replace('&lt;', '<', 'g');
-    vysledek = vysledek.replace('&gt;', '>', 'g');
-    vysledek = vysledek.replace('&amp;', '&', 'g');
-    vysledek = vysledek.replace('&nbsp;', ' ', 'g');
-    vysledek = vysledek.replace('&#160;', ' ', 'g');
-    return vysledek;
-
+	var vysledek = text;
+	vysledek = vysledek.replace('&lt;', '<', 'g');
+	vysledek = vysledek.replace('&gt;', '>', 'g');
+	vysledek = vysledek.replace('&amp;', '&', 'g');
+	vysledek = vysledek.replace('&nbsp;', ' ', 'g');
+	vysledek = vysledek.replace('&#160;', ' ', 'g');
+	return vysledek;
 }
 
@@ -274,7 +274,8 @@
  */
 function nactiJavaScript (url) {
-    var element = document.createElement("script");
-    element.src = url;
-    element.type = "text/javascript";
-    document.getElementsByTagName("head")[0].appendChild(element);
-}
+	var element = document.createElement("script");
+	element.src = url;
+	element.type = "text/javascript";
+	document.getElementsByTagName("head")[0].appendChild(element);
+}
+
Index: java/sql-vyuka/web/klavesoveZkratky.js
===================================================================
--- java/sql-vyuka/web/klavesoveZkratky.js	(revision 71:880162b55145)
+++ java/sql-vyuka/web/klavesoveZkratky.js	(revision 80:d900e5a112cc)
@@ -4,35 +4,35 @@
 
 document.onkeyup = function(e) {
-    if(e.which == 17) {
-	isCtrl = false;
-    }
+	if(e.which == 17) {
+		isCtrl = false;
+	}
 }
 
 document.onkeydown = function(e) {
-    if(e.which == 17) {
-	isCtrl = true;
-    }
+	if(e.which == 17) {
+		isCtrl = true;
+	}
 
-    if (isCtrl) {
-	if (e.which == 13) {
-	    /** ctrl+enter → vykonáme SQL */
-	    ajaxVykonatSQL();
-	    return false;
-	} else if (e.which == 72) {
-	    /** ctrl+h → uobrazíme historii */
-	    ajaxZobrazitHistorii();
-	    return false;
-	} else if (e.which == 39) {
-	    /** doprava → následující kapitola */
-	    ajaxPruvodceNasledujici();
-	    return false;
-	} else if (e.which == 37) {
-	    /** doleva → předchozí kapitola */
-	    ajaxPruvodcePredchozi();
-	    return false;
+	if (isCtrl) {
+		if (e.which == 13) {
+			/** ctrl+enter → vykonáme SQL */
+			ajaxVykonatSQL();
+			return false;
+		} else if (e.which == 72) {
+			/** ctrl+h → uobrazíme historii */
+			ajaxZobrazitHistorii();
+			return false;
+		} else if (e.which == 39) {
+			/** doprava → následující kapitola */
+			ajaxPruvodceNasledujici();
+			return false;
+		} else if (e.which == 37) {
+			/** doleva → předchozí kapitola */
+			ajaxPruvodcePredchozi();
+			return false;
+		}
+		return true;
+	} else {
+		return true;
 	}
-	return true;
-    } else {
-	return true;
-    }
 }
Index: java/sql-vyuka/web/strom.js
===================================================================
--- java/sql-vyuka/web/strom.js	(revision 49:083966fa9d9d)
+++ java/sql-vyuka/web/strom.js	(revision 80:d900e5a112cc)
@@ -3,143 +3,144 @@
 
 function pridejUdalost(o, e, f) {
-    if (o.addEventListener) {
-        o.addEventListener(e,f,true);
-        return true;
-    } else if (o.attachEvent) {
-        return o.attachEvent("on" + e, f);
-    } else {
-        return false;
-    }
+	if (o.addEventListener) {
+		o.addEventListener(e,f,true);
+		return true;
+	} else if (o.attachEvent) {
+		return o.attachEvent("on" + e, f);
+	} else {
+		return false;
+	}
 }
 
 function nastavKonstantu(name, val) {
-    if (typeof(window[name]) == "undefined" || window[name] == null) {
-        window[name] = val;
-    }
+	if (typeof(window[name]) == "undefined" || window[name] == null) {
+		window[name] = val;
+	}
 }
 
 function rozbalStrom(treeId) {
-    var ul = document.getElementById(treeId);
-    if (ul == null) {
-        return false;
-    }
-    rozbalSbalSeznam(ul, nodeOpenClass);
+	var ul = document.getElementById(treeId);
+	if (ul == null) {
+		return false;
+	}
+	rozbalSbalSeznam(ul, nodeOpenClass);
 }
 
 function sbalStrom(treeId) {
-    var ul = document.getElementById(treeId);
-    if (ul == null) {
-        return false;
-    }
-    rozbalSbalSeznam(ul, nodeClosedClass);
+	var ul = document.getElementById(treeId);
+	if (ul == null) {
+		return false;
+	}
+	rozbalSbalSeznam(ul, nodeClosedClass);
 }
 
 function rozbalAzNaPolozku(treeId, itemId) {
-    var ul = document.getElementById(treeId);
-    if (ul == null) {
-        return false;
-    }
-    var ret = rozbalSbalSeznam(ul, nodeOpenClass, itemId);
-    if (ret) {
-        var o = document.getElementById(itemId);
-        if (o.scrollIntoView) {
-            o.scrollIntoView(false);
-        }
-    }
+	var ul = document.getElementById(treeId);
+	if (ul == null) {
+		return false;
+	}
+	var ret = rozbalSbalSeznam(ul, nodeOpenClass, itemId);
+	if (ret) {
+		var o = document.getElementById(itemId);
+		if (o.scrollIntoView) {
+			o.scrollIntoView(false);
+		}
+	}
 }
 
 function rozbalSbalSeznam(ul, cName, itemId) {
-    if(!ul.childNodes || ul.childNodes.length==0) {
-        return false;
-    }
-    for (var itemi = 0; itemi < ul.childNodes.length; itemi++) {
-        var item = ul.childNodes[itemi];
+	if(!ul.childNodes || ul.childNodes.length==0) {
+		return false;
+	}
+	for (var itemi = 0; itemi < ul.childNodes.length; itemi++) {
+		var item = ul.childNodes[itemi];
 
-        if (itemId != null && item.id == itemId) {
-            return true;
-        }
+		if (itemId != null && item.id == itemId) {
+			return true;
+		}
 
-        if (item.nodeName == "LI") {
-            var subLists = false;
-            for (var sitemi = 0; sitemi<item.childNodes.length; sitemi++) {
-                var sitem = item.childNodes[sitemi];
-                if (sitem.nodeName=="UL") {
-                    subLists = true;
-                    var ret = rozbalSbalSeznam(sitem, cName, itemId);
-                    if (itemId != null && ret) {
-                        item.className = cName;
-                        return true;
-                    }
-                }
-            }
+		if (item.nodeName == "LI") {
+			var subLists = false;
+			for (var sitemi = 0; sitemi<item.childNodes.length; sitemi++) {
+				var sitem = item.childNodes[sitemi];
+				if (sitem.nodeName=="UL") {
+					subLists = true;
+					var ret = rozbalSbalSeznam(sitem, cName, itemId);
+					if (itemId != null && ret) {
+						item.className = cName;
+						return true;
+					}
+				}
+			}
 
-            if (subLists && itemId == null) {
-                item.className = cName;
-            }
-        }
-    }
+			if (subLists && itemId == null) {
+				item.className = cName;
+			}
+		}
+	}
 }
 
 function sestavStromy() {
-    nastavKonstantu("treeClass", "strom");
-    nastavKonstantu("nodeClosedClass", "liClosed");
-    nastavKonstantu("nodeOpenClass", "liOpen");
-    nastavKonstantu("nodeBulletClass", "liBullet");
-    nastavKonstantu("nodeLinkClass", "bullet");
-    nastavKonstantu("preProcessTrees", true);
-    if (preProcessTrees) {
-        if (!document.createElement) {
-            return;
-        }
-        uls = document.getElementsByTagName("ul");
-        for (var uli = 0; uli < uls.length; uli++) {
-            var ul = uls[uli];
-            if (ul.nodeName == "UL" && ul.className == treeClass) {
-                zpracujStrom(ul);
-                ul.style.display = "block";
-            }
-        }
-    }
+	nastavKonstantu("treeClass", "strom");
+	nastavKonstantu("nodeClosedClass", "liClosed");
+	nastavKonstantu("nodeOpenClass", "liOpen");
+	nastavKonstantu("nodeBulletClass", "liBullet");
+	nastavKonstantu("nodeLinkClass", "bullet");
+	nastavKonstantu("preProcessTrees", true);
+	if (preProcessTrees) {
+		if (!document.createElement) {
+			return;
+		}
+		uls = document.getElementsByTagName("ul");
+		for (var uli = 0; uli < uls.length; uli++) {
+			var ul = uls[uli];
+			if (ul.nodeName == "UL" && ul.className == treeClass) {
+				zpracujStrom(ul);
+				ul.style.display = "block";
+			}
+		}
+	}
 }
 
 function zpracujStrom(ul) {
-    if (!ul.childNodes || ul.childNodes.length==0) {
-        return;
-    }
-    for (var itemi = 0; itemi < ul.childNodes.length; itemi++) {
-        var item = ul.childNodes[itemi];
-        if (item.nodeName == "LI") {
-            var subLists = false;
-            for (var sitemi = 0; sitemi < item.childNodes.length; sitemi++) {
-                var sitem = item.childNodes[sitemi];
-                if (sitem.nodeName == "UL") {
-                    subLists = true;
-                    zpracujStrom(sitem);
-                }
-            }
-            var s = document.createElement("span");
-            var t = '\u00A0';
-            s.className = nodeLinkClass;
-            if (subLists) {
-                if (item.className == null || item.className == "") {
-                    item.className = nodeClosedClass;
-                }
-                if (item.firstChild.nodeName == "#text") {
-                    t = t + item.firstChild.nodeValue;
-                    item.removeChild(item.firstChild);
-                }
-                s.onclick = function() {
-                    this.parentNode.className = (this.parentNode.className==nodeOpenClass) ? nodeClosedClass : nodeOpenClass;
-                    return false;
-                }
-            } else {
-                item.className = nodeBulletClass;
-                s.onclick = function() {
-                    return false;
-                }
-            }
-            s.appendChild(document.createTextNode(t));
-            item.insertBefore(s, item.firstChild);
-        }
-    }
+	if (!ul.childNodes || ul.childNodes.length==0) {
+		return;
+	}
+	for (var itemi = 0; itemi < ul.childNodes.length; itemi++) {
+		var item = ul.childNodes[itemi];
+		if (item.nodeName == "LI") {
+			var subLists = false;
+			for (var sitemi = 0; sitemi < item.childNodes.length; sitemi++) {
+				var sitem = item.childNodes[sitemi];
+				if (sitem.nodeName == "UL") {
+					subLists = true;
+					zpracujStrom(sitem);
+				}
+			}
+			var s = document.createElement("span");
+			var t = '\u00A0';
+			s.className = nodeLinkClass;
+			if (subLists) {
+				if (item.className == null || item.className == "") {
+					item.className = nodeClosedClass;
+				}
+				if (item.firstChild.nodeName == "#text") {
+					t = t + item.firstChild.nodeValue;
+					item.removeChild(item.firstChild);
+				}
+				s.onclick = function() {
+					this.parentNode.className = (this.parentNode.className==nodeOpenClass) ? nodeClosedClass : nodeOpenClass;
+					return false;
+				}
+			} else {
+				item.className = nodeBulletClass;
+				s.onclick = function() {
+					return false;
+				}
+			}
+			s.appendChild(document.createTextNode(t));
+			item.insertBefore(s, item.firstChild);
+		}
+	}
 }
+
Index: java/sql-vyuka/web/vstupniPole.js
===================================================================
--- java/sql-vyuka/web/vstupniPole.js	(revision 22:e56b79cc18a9)
+++ java/sql-vyuka/web/vstupniPole.js	(revision 80:d900e5a112cc)
@@ -5,62 +5,62 @@
 function zpracujTabulatory(evt) {
 
-    var t = evt.target;
-    var ss = t.selectionStart;
-    var se = t.selectionEnd;
+	var t = evt.target;
+	var ss = t.selectionStart;
+	var se = t.selectionEnd;
 
 
-    // Tabulátor
-    if (evt.keyCode == 9) {
-        evt.preventDefault();
+	// Tabulátor
+	if (evt.keyCode == 9) {
+		evt.preventDefault();
 
-        // Víceřádkový výběr
-        if (ss != se && t.value.slice(ss,se).indexOf("\n") != -1) {
-            var pre = t.value.slice(0,ss);
-            var sel = t.value.slice(ss,se).replace(/\n/g,"\n"+tab);
-            var post = t.value.slice(se,t.value.length);
-            t.value = pre.concat(tab).concat(sel).concat(post);
-            t.selectionStart = ss + tab.length;
-            t.selectionEnd = se + tab.length;
-        }
+		// Víceřádkový výběr
+		if (ss != se && t.value.slice(ss,se).indexOf("\n") != -1) {
+			var pre = t.value.slice(0,ss);
+			var sel = t.value.slice(ss,se).replace(/\n/g,"\n"+tab);
+			var post = t.value.slice(se,t.value.length);
+			t.value = pre.concat(tab).concat(sel).concat(post);
+			t.selectionStart = ss + tab.length;
+			t.selectionEnd = se + tab.length;
+		}
 
-        // Jednořádkový nebo žádný výběr
-        else {
-            t.value = t.value.slice(0,ss).concat(tab).concat(t.value.slice(ss,t.value.length));
-            if (ss == se) {
-                t.selectionStart = t.selectionEnd = ss + tab.length;
-            }
-            else {
-                t.selectionStart = ss + tab.length;
-                t.selectionEnd = se + tab.length;
-            }
-        }
-    }
+		// Jednořádkový nebo žádný výběr
+		else {
+			t.value = t.value.slice(0,ss).concat(tab).concat(t.value.slice(ss,t.value.length));
+			if (ss == se) {
+				t.selectionStart = t.selectionEnd = ss + tab.length;
+			}
+			else {
+				t.selectionStart = ss + tab.length;
+				t.selectionEnd = se + tab.length;
+			}
+		}
+	}
 
-    // Backspace
-    else if (evt.keyCode==8 && t.value.slice(ss - 4,ss) == tab) {
-        evt.preventDefault();
-        t.value = t.value.slice(0,ss - 4).concat(t.value.slice(ss,t.value.length));
-        t.selectionStart = t.selectionEnd = ss - tab.length;
-    }
+	// Backspace
+	else if (evt.keyCode==8 && t.value.slice(ss - 4,ss) == tab) {
+		evt.preventDefault();
+		t.value = t.value.slice(0,ss - 4).concat(t.value.slice(ss,t.value.length));
+		t.selectionStart = t.selectionEnd = ss - tab.length;
+	}
 
-    // Delete
-    else if (evt.keyCode==46 && t.value.slice(se,se + 4) == tab) {
-        evt.preventDefault();
-        t.value = t.value.slice(0,ss).concat(t.value.slice(ss + 4,t.value.length));
-        t.selectionStart = t.selectionEnd = ss;
-    }
+	// Delete
+	else if (evt.keyCode==46 && t.value.slice(se,se + 4) == tab) {
+		evt.preventDefault();
+		t.value = t.value.slice(0,ss).concat(t.value.slice(ss + 4,t.value.length));
+		t.selectionStart = t.selectionEnd = ss;
+	}
 
-    // Doleva
-    else if (evt.keyCode == 37 && t.value.slice(ss - 4,ss) == tab) {
-        alert("levá");
-        evt.preventDefault();
-        t.selectionStart = t.selectionEnd = ss - 4;
-    }
+	// Doleva
+	else if (evt.keyCode == 37 && t.value.slice(ss - 4,ss) == tab) {
+		alert("levá");
+		evt.preventDefault();
+		t.selectionStart = t.selectionEnd = ss - 4;
+	}
 
-    // Doprava
-    else if (evt.keyCode == 39 && t.value.slice(ss,ss + 4) == tab) {
-        alert("pravá");
-        evt.preventDefault();
-        t.selectionStart = t.selectionEnd = ss + 4;
-    }
+	// Doprava
+	else if (evt.keyCode == 39 && t.value.slice(ss,ss + 4) == tab) {
+		alert("pravá");
+		evt.preventDefault();
+		t.selectionStart = t.selectionEnd = ss + 4;
+	}
 }
