Index: java/sql-vyuka/web/hlavni.js
===================================================================
--- java/sql-vyuka/web/hlavni.js	(revision 38:0a865a665698)
+++ java/sql-vyuka/web/hlavni.js	(revision 39:47551a506850)
@@ -64,4 +64,5 @@
         ajax.send(null);
     }
+    ulozURL();
 }
 
@@ -83,4 +84,6 @@
 
 var pruvodceAktualniId = 0;
+var urlOdkaz = new Array();
+urlOdkaz['pruvodce'] = null;
 
 function ajaxPruvodcePredchozi() {
@@ -117,4 +120,5 @@
             if (ajax.readyState == 4) {
                 zobraz(ajax.responseText, napovedniPole);
+                /** Uložíme si do paměti ID aktuální stránky */
                 if (document.pruvodceData) {
                     pruvodceAktualniId = document.pruvodceData.id.value
@@ -122,8 +126,50 @@
                     pruvodceAktualniId = 0;
                 }
+                /** Změníme URL v prohlížeči */
+                urlOdkaz['pruvodce']  = 'pruvodce=' + encodeURIComponent(akcePruvodce) + '&idPruvodce=' + encodeURIComponent(id) + '&kodPruvodce=' + encodeURIComponent(kod);
+                ulozURL();
             }
         };
         ajax.send(null);
     }
-// TODO: změnit URL
 }
+
+/**
+ * @param parametr jméno parametru, který hledáme
+ * @return hodnota parametr
+ */
+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]);
+}
+
+/**
+ * Uloží parametry (jako je SQL příkaz a stránka průvodce) do URL (za #),
+ * aby si uživatel mohl URL zkopírovat a příště si obnovit stav aplikace.
+ */
+function ulozURL() {
+    if (urlOdkaz['pruvodce']) {
+        window.location.hash = urlOdkaz['pruvodce'] + '&sql=' + encodeURIComponent(getSQL());
+    } else {
+        window.location.hash = 'sql=' + encodeURIComponent(getSQL());
+    }
+}
+/**
+ * Načte uložený stav aplikace z URL (SQL příkaz, průvodce).
+ */
+function nactiURL() {
+    if (getParametr('sql')) {
+        zobraz(getParametr('sql'), vstupniPole);
+    }
+}
+
+window.onload = function() {
+    nactiURL();
+}
