diff --git a/js/reiseauskunft.js b/js/reiseauskunft.js
index f0fc779..d0985d8 100644
--- a/js/reiseauskunft.js
+++ b/js/reiseauskunft.js
@@ -32,6 +32,31 @@ function bahnParseTrainName(dirty_train_name) {
return dirty_train_name;
}
+function domCreateLink(href) {
+ var link = document.createElement("a");
+ link.setAttribute("href", href);
+ return link;
+}
+
+function domCreateImage(src) {
+ var image = document.createElement("img");
+ image.setAttribute("src", src);
+ return image;
+}
+
+function domCreateButton(href, image_src) {
+ var link = domCreateLink(href);
+ var image = domCreateImage(image_src);
+ image.setAttribute("style", "height: 2em; vertical-align:middle;")
+ link.append(image);
+ return link;
+}
+
+function domCreateButtonMarudor(path) {
+ var button = domCreateButton("https://marudor.de" + path, getMediaURL("marudor.svg"));
+ return button;
+}
+
var connection_result_observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.type === 'childList') {
@@ -43,9 +68,10 @@ var connection_result_observer = new MutationObserver((mutations) => {
trains.forEach((train) => {
var train_names = train.querySelectorAll("span a");
train_names.forEach((train_name) => {
- train_name = bahnParseTrainName(train_name.innerText);
- if(typeof train_name !== 'undefined') {
- train.innerHTML = train.innerHTML + ' ';
+ train_name_text = bahnParseTrainName(train_name.innerText);
+ if(typeof train_name_text !== 'undefined') {
+ var marudor_button = domCreateButtonMarudor("/details/" + train_name_text);
+ train_name.after(marudor_button);
}
});
});
@@ -53,7 +79,8 @@ var connection_result_observer = new MutationObserver((mutations) => {
var stations = timetable.querySelectorAll("tr td.station");
stations.forEach((station) => {
var station_name = station.innerText;
- station.innerHTML = station.innerHTML + ' ';
+ var marudor_button = domCreateButtonMarudor("/" + station_name);
+ station.append(marudor_button);
});
}