|
|
@ -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 = "<p>" + data + "</p>"; |
|
|
|
}); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
//event listeners
|
|
|
|
searchForm.addEventListener("submit", haltestelle.getInfo, false); |
|
|
|
|
|
|
|
})(); // end of anonymous function
|