1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/java/sql-vyuka/web/hlavni.js Thu May 28 21:19:06 2009 +0200
1.3 @@ -0,0 +1,100 @@
1.4 +/** ID html prvků */
1.5 +const vstupniPole = 'vstupniPole';
1.6 +const vystupniPole = 'vystupniPole';
1.7 +const napovedniPole = 'napovedniPole';
1.8 +
1.9 +
1.10 +/**
1.11 + * Aby to fungovalo i v MSIE 6.
1.12 + * @return AJAXový objekt.
1.13 + */
1.14 +function getXmlHttpRequestObject() {
1.15 + if (window.XMLHttpRequest) {
1.16 + return new XMLHttpRequest();
1.17 + } else if(window.ActiveXObject) {
1.18 + return new ActiveXObject("Microsoft.XMLHTTP");
1.19 + } else {
1.20 + alert("Váš prohlížeč nepodporuje AJAX. Pořiďte si méně zastaralý prohlížeč, nejlépe Firefox.");
1.21 + return null;
1.22 + }
1.23 +}
1.24 +
1.25 +/** Náš AJAXový objekt. */
1.26 +var ajax = getXmlHttpRequestObject();
1.27 +
1.28 +/**
1.29 + * Vrací vstup od uživatele.
1.30 + * @return SQL příkaz zadaný uživatelem.
1.31 + **/
1.32 +function getSQL() {
1.33 + return document.getElementById(vstupniPole).innerHTML;
1.34 +}
1.35 +
1.36 +/**
1.37 + * Zobrazí text na požadovaném místě.
1.38 + * @param text text k zobrazení
1.39 + * @param kde id prvku, do kterého se má text vypsat
1.40 + **/
1.41 +function zobraz(text, kde) {
1.42 + document.getElementById(kde).innerHTML = text + '<p> <!-- Šťastné hackování ;-) --></p>';
1.43 +}
1.44 +
1.45 +/**
1.46 + * Zobrazí text ve výstupním poli.
1.47 + * @param text text k zobrazení
1.48 + **/
1.49 +function zobrazVystup(text) {
1.50 + zobraz(text, vystupniPole);
1.51 +}
1.52 +
1.53 +/**
1.54 + * Zobrazí text ve vstupním poli.
1.55 + * Požijeme pro načtení SQL příkazu z historie.
1.56 + * @param text text k zobrazení
1.57 + **/
1.58 +function zobrazVstup(text) {
1.59 + zobraz(text, vstupniPole);
1.60 +}
1.61 +
1.62 +/**
1.63 + * Zobrazí text ve poli pro nápovědu.
1.64 + * @param text text k zobrazení
1.65 + **/
1.66 +function zobrazNapovedu(text) {
1.67 + zobraz(text, napovedniPole);
1.68 +}
1.69 +
1.70 +/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
1.71 +function ajaxVykonatSQL() {
1.72 + if (ajax.readyState == 4 || ajax.readyState == 0) {
1.73 + ajax.open("GET", 'vysledek.html', true);
1.74 + ajax.onreadystatechange = vykonatSQLVypis;
1.75 + ajax.send(null);
1.76 + }
1.77 + //zobrazNapovedu('Nějaká nápověda k danému příkazu.');
1.78 + //zobrazNapovedu(escape(getSQL()));
1.79 +}
1.80 +
1.81 +/** Pomocná funkce – postará se o vypsání v pravou chvíli. */
1.82 +function vykonatSQLVypis() {
1.83 + if (ajax.readyState == 4) {
1.84 + zobrazVystup(ajax.responseText);
1.85 + }
1.86 +}
1.87 +
1.88 +
1.89 +/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
1.90 +function ajaxZobrazitHistorii() {
1.91 + if (ajax.readyState == 4 || ajax.readyState == 0) {
1.92 + ajax.open("GET", 'historie.html', true);
1.93 + ajax.onreadystatechange = zobrazitHistoriiVypis;
1.94 + ajax.send(null);
1.95 + }
1.96 +}
1.97 +
1.98 +/** Pomocná funkce – postará se o vypsání v pravou chvíli. */
1.99 +function zobrazitHistoriiVypis() {
1.100 + if (ajax.readyState == 4) {
1.101 + zobrazVystup(ajax.responseText);
1.102 + }
1.103 +}