diff -r bbc73f664363 -r d6930d123889 java/sql-vyuka/web/hlavni.js --- a/java/sql-vyuka/web/hlavni.js Tue Jul 21 21:17:14 2009 +0200 +++ b/java/sql-vyuka/web/hlavni.js Sun Jul 26 23:03:28 2009 +0200 @@ -41,9 +41,9 @@ **/ function zobraz(text, kde) { if (kde == vstupniPole) { - document.getElementById('aplikace').vstupniPole.value = text; + document.getElementById('aplikace').vstupniPole.value = vratEntity(text); } else if (kde == stavovePole) { - document.getElementById('aplikace').stavovePole.value = text; + document.getElementById('aplikace').stavovePole.value = vratEntity(text); } else { document.getElementById(kde).innerHTML = text + '
'; } @@ -129,6 +129,7 @@ urlOdkaz['pruvodce'] = 'pruvodce=' + encodeURIComponent(pruvodceAktualniId); ulozURL(); sestavStromy(); + aktivujPruvodce(); } }; ajax.send(null); @@ -184,4 +185,35 @@ window.onload = function() { nactiURL(); -} \ No newline at end of file +} + +/** + * Přidá
elementům v průvodci akci onclick, + * která se postará o načtení obsahu daného elementu do vstupního pole, + * aby uživatel tento kód nemusel opisovat. + */ +function aktivujPruvodce() { + 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; + }; + } + } +} + +/** + * Převede HTML entity zpět na znaky, + * aby se správně zobrazily ve vstupním nebo stavovém poli. + */ +function vratEntity (text) { + var vysledek = text; + vysledek = vysledek.replace('<', '<', 'g'); + vysledek = vysledek.replace('>', '>', 'g'); + vysledek = vysledek.replace('&', '&', 'g'); + return vysledek; + +}