Index: java/sql-vyuka/web/hlavni.js
===================================================================
--- java/sql-vyuka/web/hlavni.js	(revision 40:cc77526f46cf)
+++ java/sql-vyuka/web/hlavni.js	(revision 41:28b38fb1391b)
@@ -92,11 +92,13 @@
 
 function ajaxPruvodceZpet() {
-    /** TODO: historie navigace */
-    alert('Tato funkce se teprve připravuje.');
+    try {
+        window.back();
+    } catch (e) { }
 }
 
 function ajaxPruvodceVpred() {
-    /** TODO: historie navigace */
-    alert('Tato funkce se teprve připravuje.');
+    try {
+        window.forward();
+    } catch (e) { }
 }
 
@@ -114,5 +116,6 @@
 }
 
-function ajaxPruvodceNaviguj(akcePruvodce, id, kod) {    
+function ajaxPruvodceNaviguj(akcePruvodce, id, kod) {
+    navigaceProhlizecem = false;
     if (ajax.readyState == 4 || ajax.readyState == 0) {
         ajax.open("POST", 'ajax.jspx?akce=napoveda&pruvodce=' + encodeURIComponent(akcePruvodce) + '&idPruvodce=' + encodeURIComponent(id) + '&kodPruvodce=' + encodeURIComponent(kod), true);
@@ -165,10 +168,18 @@
     }
 }
+
+/**
+ * Načte uloženou pozici průvodce.
+ */
+function nactiURL() {
+    nactiURL(false);
+}
+
 /**
  * Načte uložený stav aplikace z URL (SQL příkaz, průvodce).
  */
-function nactiURL() {
+function nactiURL(nacistSQL) {
     /** Načteme uživatelův SQL příkaz z URL do vstupního pole */
-    if (getParametr('sql')) {
+    if (nacistSQL && getParametr('sql')) {
         zobraz(getParametr('sql'), vstupniPole);
     }
@@ -183,4 +194,18 @@
 
 window.onload = function() {
-    nactiURL();
-}
+    nactiURL(true);
+}
+
+var locationHash = location.hash;
+var navigaceProhlizecem = false;
+
+setInterval(function() {
+    if (location.hash != locationHash) {
+        if (navigaceProhlizecem) {
+            nactiURL();
+        }
+        navigaceProhlizecem = false;
+        locationHash = location.hash;
+    }
+}, 200);
+
