commit 60d0b76e139776fa2a7be84963b56ac060d42c9b Author: tmeissner Date: Mon Feb 25 02:04:58 2013 +0100 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1416706 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.DS_Store +*.swp +*.*#* diff --git a/dvb-app/index.html b/dvb-app/index.html new file mode 100644 index 0000000..4299d59 --- /dev/null +++ b/dvb-app/index.html @@ -0,0 +1,27 @@ + + + + + + DVB Abfahrtsmonitor + + + + +
+
+ + +
+
+ +
+
+ +
+ + + + + + \ No newline at end of file diff --git a/dvb-app/scripts/haltestellen.js b/dvb-app/scripts/haltestellen.js new file mode 100644 index 0000000..51985be --- /dev/null +++ b/dvb-app/scripts/haltestellen.js @@ -0,0 +1,96 @@ +/** + * Created with JetBrains WebStorm. + * User: torstenmeissner + * Date: 24.02.13 + * Time: 22:38 + * To change this template use File | Settings | File Templates. + */ + + + +// server url +var serverUrl = "http://widgets.vvo-online.de/abfahrtsmonitor/"; + +// xmlhttp object function +function getHTTPObject() { + + console.log("xml http object function"); + + var xhr; + + if(window.XMLHttpRequest) { + xhr = new XMLHttpRequest(); + } else if(window.ActiveXObject) { + xhr = new ActiveXObject("Msxml2.XMLHTTP"); + } + + return xhr; + +} + + +// ajax call function +function ajaxCall(dataUrl, outputElement, callback) { + + console.log("ajax function"); + + // get the xmlhttp object which is supported + var request = getHTTPObject(); + + outputElement.innerHTML = "Lade Daten ..."; + + request.onreadystatechange = function() { + + if(request.readyState === 4 && request.status === 200) { + + //save ajax response + var response = decodeHTML(request.responseText); + + // check if callback is a function + if(typeof callback === "function") { + callback(response); + } + } + }; + + request.open("get", dataUrl, true); + request.send(null); + +} + +// wrap all in anonymous function to get out of global scope +(function() { + + console.log("anonymous function"); + + // get the search form + var searchForm = document.getElementById("search-form"); + + // haltestelle object + var haltestelle = { + + getInfo : function(event) { + + console.log("getInfo function"); + + // prevent submit default behaviour + event.preventDefault(); + + // get output area + var target = document.getElementById("output"); + var hstName = document.getElementById("q").value; + var hstUrl = serverUrl + "Abfahrten.do?ort=dresden&hst=" + hstName; + + ajaxCall(hstUrl, target, function(data) { + + target.innerHTML = ""; + + target.innerHTML = "

" + data + "

"; + }); + } + }; + + //event listeners + searchForm.addEventListener("submit", haltestelle.getInfo, false); + +})(); // end of anonymous function \ No newline at end of file