summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@derf.homelinux.org>2010-05-11 17:48:45 +0200
committerDaniel Friesel <derf@derf.homelinux.org>2010-05-11 17:48:45 +0200
commitb0eb2aa49c97188d4fd25b609f360d5da8c09bca (patch)
treee7a298f66c14c11b83a50b393a1be7d4101f5879
parentd2f853a93688c51c3dc0d563b95b5de6fe879a0e (diff)
Add some actual parser tests
-rwxr-xr-xbin/efa32
-rw-r--r--test/50-efa.t12
-rw-r--r--test/dump_e_hbf_du_hbf.ice545
-rw-r--r--test/dump_e_hbf_mh_hbf525
-rw-r--r--test/parse_e_hbf_du_hbf.ice14
-rw-r--r--test/parse_e_hbf_mh_hbf13
6 files changed, 1131 insertions, 10 deletions
diff --git a/bin/efa b/bin/efa
index edd67d2..01b66d3 100755
--- a/bin/efa
+++ b/bin/efa
@@ -33,6 +33,7 @@ my $walk_speed;
my $with_bike;
my $debug = 0;
my $ignore_info = 'Fahrradmitnahme';
+my ($test_dump, $test_parse);
sub check_ambiguous {
my $html = shift;
@@ -217,6 +218,8 @@ GetOptions(
'P|prefer=s' => \$prefer,
'p|proximity' => \$proximity,
'i|include=s' => \$include,
+ 'test-dump' => \$test_dump,
+ 'test-parse' => \$test_parse,
't|time=s' => \$time,
'to=s{2}' => \@to,
'to-type=s' => \$to_type,
@@ -288,7 +291,7 @@ if ($time) {
@post{'itdTimeHour', 'itdTimeMinute'} = split(/:/, $time);
}
if ($date) {
- if ($date !~ /^ [0-3]? \d \. [01]? \d (?: \. \d{4} )? $/x) {
+ if ($date !~ /^ [0-3]? \d \. [01]? \d \. (?: \d{4} )? $/x) {
die("Invalid argument: Usage: --date DD.MM[.YYYY]\n");
}
@post{'itdDateDay', 'itdDateMonth', 'itdDateYear'} = split(/\./, $date);
@@ -361,15 +364,26 @@ if ($with_bike) {
$post{bikeTakeAlong} = 1;
}
-$www->get($firsturl);
-$www->submit_form(
- form_name => 'jp',
- fields => \%post,
-);
+if ($test_parse) {
+ local $/;
+ $content = <STDIN>;
+}
+else {
+ $www->get($firsturl);
+ $www->submit_form(
+ form_name => 'jp',
+ fields => \%post,
+ );
+
+ $content = $www->content;
+ $content =~ s/\xa0/ /gs;
+ $content = decode('iso-8859-1', $content);
+}
-$content = $www->content;
-$content =~ s/\xa0/ /gs;
-$content = decode('iso-8859-1', $content);
+if ($test_dump) {
+ print $content;
+ exit 0
+}
if (check_ambiguous($content)) {
exit 1;
diff --git a/test/50-efa.t b/test/50-efa.t
index c09e582..21bd515 100644
--- a/test/50-efa.t
+++ b/test/50-efa.t
@@ -2,10 +2,11 @@
use strict;
use warnings;
use 5.010;
-use Test::Command tests => 51;
+use Test::Command tests => 57;
my $efa = 'bin/efa';
my $testarg = "E HBf MH HBf";
+my $test_parse = "--test-parse $testarg";
my $re_usage = qr{Insufficient to/from arguments, see \S*efa --help for usage};
my $re_version = qr{\S*efa version \S+};
@@ -93,3 +94,12 @@ for my $opt (qw/-v --version/) {
$cmd->stdout_like($re_version);
$cmd->stderr_is_eq('');
}
+
+
+for my $file (qw/e_hbf_mh_hbf e_hbf_du_hbf.ice/) {
+ $cmd = Test::Command->new(cmd => "$efa $test_parse < test/dump_$file");
+
+ $cmd->exit_is_num(0);
+ $cmd->stdout_is_file("test/parse_$file");
+ $cmd->stderr_is_eq('');
+}
diff --git a/test/dump_e_hbf_du_hbf.ice b/test/dump_e_hbf_du_hbf.ice
new file mode 100644
index 0000000..4527f80
--- /dev/null
+++ b/test/dump_e_hbf_du_hbf.ice
@@ -0,0 +1,545 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html xmlns:vrr="http://www.vrr.de/" xmlns:mdv="http://www.mentzdv.de/">
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Fahrplanauskunft</title>
+<link rel="stylesheet" type="text/css" href="css/map.css">
+<link rel="stylesheet" type="text/css" href="css/MDVMapContextMenu.css">
+<link rel="stylesheet" type="text/css" href="css/MDVMapControl.css">
+<link rel="stylesheet" type="text/css" href="css/calendar.css">
+<link rel="stylesheet" type="text/css" href="css/itpTravelService.css">
+<link rel="stylesheet" type="text/css" href="css/vrr.css"><script type="text/javascript"><!--
+
+ function attachEventListener(target, eventType, functionRef, capture) {
+ if (typeof target.addEventListener != "undefined") {
+ target.addEventListener(eventType, functionRef, capture);
+ }
+ else if (typeof target.attachEvent != "undefined") {
+ target.attachEvent("on" + eventType, functionRef);
+ }
+ else {
+ eventType = "on" + eventType;
+
+ if (typeof target[eventType] == "function") {
+ var oldListener = target[eventType];
+
+ target[eventType] = function() {
+ oldListener();
+
+ return functionRef();
+ }
+ }
+ else {
+ target[eventType] = functionRef;
+ }
+ }
+
+ return true;
+ }
+
+ function checkPwdBoxes()
+ {
+ if(document.forms[0].ppPersonNetPassword.value!=document.forms[0].ppPersonConfirmNetPassword.value || document.forms[0].ppPersonNetPassword.value=='')
+ {
+ alert('Ihre Passwortangaben sind ungültig. Bitte geben Sie zweimal dasselbe Passwort ein.');
+ document.forms[0].ppPersonNetPassword.value="";
+ document.forms[0].ppPersonConfirmNetPassword.value="";
+ return false;
+ }
+ else return true;
+ }
+
+ function concatDate()
+ {
+ var completDate;
+ completDate = document.forms[0].itdLPxx_date.value;
+ completDate = completDate + "-" + document.forms[0].itdLPxx_month.value;
+ completDate = completDate + "-" + document.forms[0].itdLPxx_year.value;
+
+ document.forms[0].filterDateValid.value=completDate;
+ }
+
+ var viaInMobilityRestrictionOptions = 'true';
+ var viaFlag = 'false';
+ var identifiedOdv = {
+ 'origin' : '::',
+ 'destination' : '::',
+ 'via' : '::',
+ 'command' : ''
+ };
+ var sid = 'efa3.vrr.de_52888734';
+ var curLanguage = 'de';
+ var dmStop = "Haltestelle";
+ var dmPOI = "wichtiger Punkt";
+
+ var includedMeans = [];
+
+ var excludedMeans = [];
+
+
+ function checkMeans() {
+
+ var f = document.getElementsByName('jp')[0];
+
+ if (!f || sid!=='0') {
+ return true;
+ }
+
+ if (includedMeans.length >=1) {
+ for (var i=0; i < includedMeans.length; i++) {
+ if(f['inclMOT_' + includedMeans[i]]) {
+ f['inclMOT_' + includedMeans[i]].checked = false;
+ }
+ }
+ } else if (excludedMeans.length >=1) {
+ for (var j=0; j < excludedMeans.length; j++) {
+ if (f['inclMOT_' + excludedMeans[j]]) {
+ f['inclMOT_' + excludedMeans[j]].checked = false;
+ }
+ }
+ }
+ }
+
+ attachEventListener(window, 'load', checkMeans, false);
+ //--></script><script type="text/javascript" src="JavaScriptFunctions/mdv.js"></script><script type="text/javascript" src="JavaScriptFunctions/odvScript.js"></script><script type="text/javascript" src="/mdv/mdvMap/mdvMap.js"></script><script type="text/javascript" src="/mdv/mdvMap/prototype-1.4.0.js"></script><script type="text/javascript" src="mdvMapSettings.js"></script><script type="text/javascript" src="miniMapSettings.js"></script><script type="text/javascript" src="JavaScriptFunctions/mdvMapHandler.js"></script><script type="text/javascript"><!--
+ var bCreateMapRequest = false;
+ --></script><script type="text/javascript"><!--
+ /* language of the map */
+ var mapLanguage = 'de';
+ var odv = new Array();
+ --></script><script>function initMdvMapConfig() {var usages = new Array("origin", "destination", "via", "dm", "stt");for(var i=0; i<usages.length; i++) {var usage = usages[i];mdvMapConfigs[usage] = mdvMapConfig.clone();mdvMapConfigs[usage].add("serverURL", "http://efa.vrr.de/maps/nrw/");mdvMapConfigs[usage].add("efaURL", "../lite/XSLT_COORD_REQUEST");mdvMapConfigs[usage].add("transparentImg", "images/transparent.gif");mdvMapConfigs[usage].add("defaultScale", "2");mdvMapConfigs[usage].add("toolTimeOut", "20");mdvMapConfigs[usage].add("zoomOnDoubleClick", "true");mdvMapConfigs[usage].add("useMagnifyGlass", "true");mdvMapConfigs[usage].add("cursorMove", "images/grabbing.cur");mdvMapConfigs[usage].add("poiArea", "true");mdvMapConfigs[usage].add("poiPoint", "true");mdvMapConfigs[usage].add("language", "de");mdvMapConfigs[usage].add("imagePath", "images/mdvMap/");mdvMapConfigs[usage].add("xCenterReal", "3368363");mdvMapConfigs[usage].add("yCenterReal", "450530");mdvMapConfigs[usage].add("mapName", "NAV3");mdvMapConfigs[usage].add("network", "NRW");mdvMapConfigs[usage].add("useBubbleForEFAInfo", "true");mdvMapConfigs[usage].add("info.stop.size.width", "250");mdvMapConfigs[usage].add("info.stop.size.height", "200");mdvMapConfigs[usage].add("info.poi.size.width", "250");mdvMapConfigs[usage].add("info.poi.size.height", "120");mdvMapConfigs[usage].add("useBubbleOverflowForEFAInfo", "true");mdvMapConfigs[usage].add("block", "100");mdvMapConfigs[usage].add("language", "de");mdvMiniMapConfigs[usage] = mdvMiniMapConfig.clone();mdvMiniMapConfigs[usage].add("serverURL", "http://efa.vrr.de/maps/nrw/");mdvMiniMapConfigs[usage].add("efaURL", "../lite/XSLT_COORD_REQUEST");mdvMiniMapConfigs[usage].add("transparentImg", "images/transparent.gif");mdvMiniMapConfigs[usage].add("defaultScale", "2");mdvMiniMapConfigs[usage].add("toolTimeOut", "20");mdvMiniMapConfigs[usage].add("zoomOnDoubleClick", "true");mdvMiniMapConfigs[usage].add("useMagnifyGlass", "true");mdvMiniMapConfigs[usage].add("cursorMove", "images/grabbing.cur");mdvMiniMapConfigs[usage].add("language", "de");mdvMiniMapConfigs[usage].add("imagePath", "images/mdvMap/");mdvMiniMapConfigs[usage].add("xCenterReal", "3368363");mdvMiniMapConfigs[usage].add("yCenterReal", "450530");mdvMiniMapConfigs[usage].add("mapName", "NAV3");mdvMiniMapConfigs[usage].add("network", "NRW");mdvMiniMapConfigs[usage].add("block", "100");mdvMiniMapConfigs[usage].add("language", "de");}}
+ </script></head>
+<body onload="">
+<form action="XSLT_TRIP_REQUEST2" id="jp" name="jp" method="POST"><input type="hidden" name="sessionID" id="sessionID" value="efa3.vrr.de_52888734"><input type="hidden" name="language" value="de"><input type="hidden" name="requestID" id="requestID" value="1"><input type="hidden" name="command" id="command" value=""><input type="hidden" name="itdLPxx_ShowFare" value=" "><input type="hidden" name="itdLPxx_view" value=""><input type="hidden" name="useRealtime" value="1"><input type="hidden" name="itdLPxx_enableMobilityRestrictionOptionsWithButton" value=""><input type="hidden" name="execInst" id="execInst" value=""><input type="hidden" name="itdLPxx_mdvMap2_origin" id="itdLPxx_mdvMap2_origin" value="::"><input type="hidden" name="itdLPxx_mdvMap2_destination" id="itdLPxx_mdvMap2_destination" value="::"><input type="hidden" name="itdLPxx_mdvMap2_via" id="itdLPxx_mdvMap2_via" value="::"><input type="hidden" name="itdLPxx_mapState_origin" id="itdLPxx_mapState_origin" value=""><input type="hidden" name="itdLPxx_mapState_destination" id="itdLPxx_mapState_destination" value=""><input type="hidden" name="itdLPxx_mapState_via" id="itdLPxx_mapState_via" value=""><input type="hidden" name="itdLPxx_mdvMap_origin" id="itdLPxx_mdvMap_origin" value="3361949:456292:NAV3"><input type="hidden" name="itdLPxx_mdvMap_destination" id="itdLPxx_mdvMap_destination" value="3345418:457865:NAV3"><input type="hidden" name="itdLPxx_mdvMap_via" id="itdLPxx_mdvMap_via" value="::"><input type="hidden" name="itdLPxx_command" id="itdLPxx_command" value=""><input type="hidden" name="itdLPxx_priceCalculator" id="itdLPxx_priceCalculator" value=""><input type="hidden" name="trip" value=""><input type="hidden" name="partialTrip" value=""><input type="hidden" name="itdLPxx_transpCompany" value="vrr"><table cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td rowspan="3" valign="top" align="left" width="155">
+<table id="tabNav">
+<tr>
+<td class="leftHeader"></td>
+</tr>
+<tr>
+<td><a title="en" href="XSLT_TRIP_REQUEST2?language=en&amp;itdLPxx_transpCompany=vrr"><img src="images/flag/flag_en.gif" border="0"></a> <a title="fr" href="XSLT_TRIP_REQUEST2?language=fr&amp;itdLPxx_transpCompany=vrr"><img src="images/flag/flag_fr.gif" border="0"></a> <a title="es" href="XSLT_TRIP_REQUEST2?language=es&amp;itdLPxx_transpCompany=vrr"><img src="images/flag/flag_es.gif" border="0"></a> <a title="tr" href="XSLT_TRIP_REQUEST2?language=tr&amp;itdLPxx_transpCompany=vrr"><img src="images/flag/flag_tr.gif" border="0"></a></td>
+</tr>
+<tr>
+<td class="navLabelTextBoldColor"><a href="XSLT_TRIP_REQUEST2?language=de&amp;itdLPxx_transpCompany=vrr&amp;">Fahrplanauskunft</a></td>
+</tr>
+<tr>
+<td><a href="XSLT_STT_REQUEST?language=de&amp;itdLPxx_transpCompany=vrr&amp;">Aushangfahrplan</a></td>
+</tr>
+<tr>
+<td><a href="XSLT_DM_REQUEST?language=de&amp;itdLPxx_transpCompany=vrr&amp;">Abfahrtsmonitor</a></td>
+</tr>
+<tr>
+<td><a href="XSLT_PS_REQUEST2?language=de&amp;itdLPxx_transpCompany=vrr&amp;">Persönlicher Fahrplan</a></td>
+</tr>
+<tr>
+<td><a href="http://www.vrr.de/de/fahrplanauskunft/fahr_und_linienplaene/verbundfahrplan_schnellverkehr/index.html" target="vrr">Verbundfahrplan Schnellverkehr</a></td>
+</tr>
+<tr>
+<td><a href="http://www.vrr.de/de/fahrplanauskunft/fahr_und_linienplaene/linienplan_schnellverkehr/index.html" target="vrr">Linienplan Schnellverkehr</a></td>
+</tr>
+<tr>
+<td><a href="http://www.vrr.de/de/fahrplanauskunft/fahr_und_linienplaene/stadtlinienplaene/index.html" target="vrr">Stadtlinienpläne</a></td>
+</tr>
+<tr>
+<td><a href="./Bedienungshinweise_de.htm" target="vrr">Bedienungshinweise</a></td>
+</tr>
+<tr>
+<td><a href="XSLT_SCREEN_SAVER_REQUEST?language=de&amp;itdLPxx_transpCompany=vrr&amp;">Bildschirmschoner</a></td>
+</tr>
+<tr>
+<td><a href="XSLT_ADDINFO_REQUEST?language=de&amp;itdLPxx_transpCompany=vrr&amp;filterPublicationStatus=current&amp;filterShowPlaceList=1&amp;filterShowLineList=1&amp;filterShowStopList=0&amp;filterShowPlaceList=0&amp;">Aktuelle Hinweise</a></td>
+</tr>
+<tr>
+<td><a href="XSLT_TRIP_REQUEST2?language=de&amp;itdLPxx_transpCompany=vrr&amp;itdLPxx_urlGenerator=true&amp;">Ihr Link zu uns</a></td>
+</tr>
+<tr>
+<td><a href="http://www.vrr.de/de/global/impressum/index.html">Impressum</a></td>
+</tr>
+<tr>
+<td><a href="http://www.vrr.de/">Homepage</a></td>
+</tr>
+</table>
+</td>
+<td rowspan="3"> </td>
+<td valign="top" width="630" height="55">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td colspan="3" height="35" align="left" class="logoHeader">
+<div class="textHeader">Fahrplanauskunft</div>
+</td>
+</tr>
+<tr>
+<td colspan="3"><img src="images/dummy.gif" width="100%" height="5"></td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" width="630" border="0">
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td colspan="5"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td width="2%" align="top" class="kaestchen"><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td width="10%"><span class="labelTextBold"> von:</span></td>
+<td width="40%"><span class="labelText">Essen / Hauptbahnhof</span></td>
+<td width="10%"><span class="labelTextBold">nach:     </span></td>
+<td width="38%"><span class="labelText">Duisburg / Hbf</span></td>
+</tr>
+<tr>
+<td colspan="5"><img src="images/dummy.gif" width="1" height="10" alt="*"></td>
+</tr>
+<tr>
+<td width="2%" align="top"> </td>
+<td width="10%"><span class="labelTextBold"> Abfahrt:</span></td>
+<td width="40%"><span class="labelText">17:24</span><span class="labelText"> Uhr</span></td>
+<td width="10%"><span class="labelTextBold">Datum:</span></td>
+<td width="38%"><span class="labelText">11.05.2010</span></td>
+</tr>
+</table>
+</td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td width="2%" class="kaestchen"><img src="images/dummy.gif" width="7" height="13" border="0" alt="*"></td>
+<td><span class="labelTextBold"> Fahrtdaten</span></td>
+<td align="center"><span class="labelTextBold"> Fahrtdauer</span></td>
+<td align="center"><span class="labelTextBold"> Umsteigen</span></td>
+<td align="center"><span class="labelTextBold"> Preisstufe</span></td>
+</tr>
+<tr class="bgColor">
+<td colspan="5"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td width="2%"><img src="images/dummy.gif" width="5" height="5" alt="*"></td>
+<td><span class="labelText"> <a href="#Trip1"><u>1. Fahrt:</u></a>  am 11.05.2010  von 17:15 bis 17:33 Uhr</span></td>
+<td align="center"><span class="labelText">00:18</span></td>
+<td align="center"><span class="labelText">0</span></td>
+<td align="center" class="labelText"><a href="javascript:document.forms[0].itdLPxx_view.value = ''; document.forms[0].itdLPxx_ShowFare.value = '1';document.forms[0].command.value='nop';document.forms[0].submit();"><u>B</u></a></td>
+</tr>
+<tr>
+<td width="2%"><img src="images/dummy.gif" width="5" height="5" alt="*"></td>
+<td><span class="labelText"> <a href="#Trip2"><u>2. Fahrt:</u></a>  am 11.05.2010  von 17:34 bis 17:46 Uhr<img src="images/Rbl_nOK_Thumb.gif" width="13" height="13" alt="Abweichungen"></span></td>
+<td align="center"><span class="labelText">00:12</span></td>
+<td align="center"><span class="labelText">0</span></td>
+<td align="center" class="labelText"><a href="javascript:document.forms[0].itdLPxx_view.value = ''; document.forms[0].itdLPxx_ShowFare.value = '2';document.forms[0].command.value='nop';document.forms[0].submit();"><u>B</u></a></td>
+</tr>
+<tr>
+<td width="2%"><img src="images/dummy.gif" width="5" height="5" alt="*"></td>
+<td><span class="labelText"> <a href="#Trip3"><u>3. Fahrt:</u></a>  am 11.05.2010  von 17:41 bis 17:53 Uhr</span></td>
+<td align="center"><span class="labelText">00:12</span></td>
+<td align="center"><span class="labelText">0</span></td>
+<td align="center" class="labelText"> </td>
+</tr>
+</table>
+</td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td width="2%" align="top"><img src="images/dummy.gif" width="7" height="13" border="0" alt="*"></td>
+<td width="10%" align="center"><a href="javascript:document.forms[0].itdLPxx_view.value='printview';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='nop';document.forms[0].submit();"><img src="images/drucker.jpg" width="20" height="20" border="0" alt="zur Druckversion der ausgewählten Verbindungen"></a> <input type="hidden" name="configurationFontSizeNormal" value="0"><a href="javascript:document.forms[0].command.value='toPDF';document.forms[0].itdLPxx_view.value='printview';document.forms[0].submit();"><img src="images/pdf.gif" width="20" height="20" border="0" alt="In Datei Drucken"></a>  </td>
+<td width="50%"><span class="labelTextBold">zur Druckversion der ausgewählten Verbindungen</span></td>
+<td width="38%" align="right"><span class="labelText">(Alle Angaben ohne Gewähr.) </span></td>
+</tr>
+<tr>
+<td colspan="4"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+</table>
+</td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<td><img src="images/dummy.gif" width="50" height="1" alt="*"></td>
+<td><input type="button" value="neue Fahrt" onClick="document.location.href='XSLT_TRIP_REQUEST2?language=de&amp;itdLPxx_transpCompany=vrr'"></td>
+<td><input type="button" value="Rückfahrt" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='tripRetoure';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="Fahrt ändern" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='changeRequest';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="früher" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='tripPrev';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="später" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='tripNext';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="Hilfe" onclick="window.open('Bedienungshinweise_de.htm', 'help', '');"></td>
+<td><img src="images/dummy.gif" width="50" height="1" alt="*"></td>
+</table>
+</td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr><input type="hidden" name="tripSelection" value="on"><tr class="bgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="1" width="100%" border="0">
+<tr class="bgColor">
+<td colspan="8"><a name="Trip1"><img src="images/dummy.gif" width="1" height="5" border="0" alt="*"></a></td>
+</tr>
+<tr valign="middle">
+<td align="top" class="kaestchen"><img src="images/dummy.gif" width="7" height="13" border="0" alt="*"></td>
+<td align="top" colspan="8"><span class="labelTextBold"> 1. Fahrt</span></td>
+</tr>
+<tr>
+<td> </td>
+<td class="bgColor"><span class="labelText">17:15</span></td>
+<td class="bgColor"> </td>
+<td align="right" class="bgColor"><span class="labelText">ab </span></td>
+<td class="bgColor"><span class="labelText">Essen Hauptbahnhof: Gleis 7</span></td>
+<td colspan="2" align="center" class="bgColor"><a href="/download/envmaps/vrr/09289_e_hbf_1.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="/download/envmaps/vrr/09289_e_hbf_2.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="/download/envmaps/vrr/09289_e_hbf_3.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="FILELOAD?Filename=dwa_4BE976CA0.pdf" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/pdfThumb.gif" width="16" height="16" border="0" alt="Stadtplan" title="Stadtplan"></a></td>
+<td rowspan="2" align="right" class="bgColor" style="padding-right:3px;"><img src="images/means/s_Bahn.gif" width="32" height="32" alt="S-Bahn"></td>
+<td class="bgColor"><span class="labelText">S-Bahn S1</span></td>
+<td rowspan="2" class="bgColor"></td>
+</tr>
+<tr valign="middle">
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td class="bgColor"><span class="labelText">17:33</span></td>
+<td class="bgColor"> </td>
+<td align="right" class="bgColor"><span class="labelText">an </span></td>
+<td class="bgColor"><span class="labelText">Duisburg Hbf: Gleis 5</span></td>
+<td colspan="2" align="center" class="bgColor"><a href="/download/envmaps/vrr/16032_du_hbf_1.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="FILELOAD?Filename=dwa_4BE976CA1.pdf" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/pdfThumb.gif" width="16" height="16" border="0" alt="Stadtplan" title="Stadtplan"></a></td>
+<td class="bgColor"><span class="labelText">Solingen Hbf</span></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td class="bgColor"><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="7" class="bgColor" align="left"><a class="addInfoTrip" href="#" onclick="window.open('http://217.70.161.100:80/cm/XSLT_CM_SHOWADDINFO_REQUEST?infoID=5394_EVAG_01&amp;seqID=1&amp;language=de', 'addInfo', 'width=500,height=500,location=no,menubar=no,status=no,toolbar=no,resizable=yes,scrollbars=yes');return false;"><span>Abweichung der Steig/Haltestellenummern am Essen Hbf</span></a></td>
+<td class="bgColor"></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="8" class="bgColor"><span class="labelText"><i>Linie S1: Fahrradmitnahme begrenzt möglich</i></span></td>
+<td class="bgColor"></td>
+</tr>
+<tr>
+<td colspan="9"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="8"><input type="checkbox" name="tripSelector1" checked="1"><span class="labelTextBold"> Verbindung zum Drucken auswählen</span></td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bodyBGColor">
+<td colspan="12"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bgColor">
+<td colspan="8"><a name="Trip2"><img src="images/dummy.gif" width="1" height="5" border="0" alt="*"></a></td>
+</tr>
+<tr valign="middle">
+<td align="top" class="kaestchen"><img src="images/dummy.gif" width="7" height="13" border="0" alt="*"></td>
+<td align="top" colspan="8"><span class="labelTextBold"> 2. Fahrt</span></td>
+</tr>
+<tr>
+<td> </td>
+<td class="bgColor"><span class="labelText">17:34</span></td>
+<td class="bgColor"> </td>
+<td align="right" class="bgColor"><span class="labelText">ab </span></td>
+<td class="bgColor"><span class="labelText">Essen Hauptbahnhof: Gleis 2</span></td>
+<td colspan="2" align="center" class="bgColor"><a href="/download/envmaps/vrr/09289_e_hbf_1.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="/download/envmaps/vrr/09289_e_hbf_2.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="/download/envmaps/vrr/09289_e_hbf_3.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="FILELOAD?Filename=dwa_4BE976CA2.pdf" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/pdfThumb.gif" width="16" height="16" border="0" alt="Stadtplan" title="Stadtplan"></a></td>
+<td rowspan="2" align="right" class="bgColor" style="padding-right:3px;"><img src="images/means/train.gif" width="32" height="32" alt="Zug"></td>
+<td class="bgColor"><span class="labelText">R-Bahn RE6</span></td>
+<td rowspan="2" class="bgColor">
+<table>
+<td valign="center"><img src="images/Rbl_nOK.gif" width="13" height="30" border="0" title="Abweichung" alt="Abweichung"></td>
+<td><span class="labelText" valign="center"><span>2 Min. später</span><br> Plan: ab 17:32</span></td>
+</table>
+</td>
+</tr>
+<tr valign="middle">
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td class="bgColor"><span class="labelText">17:46</span></td>
+<td class="bgColor"> </td>
+<td align="right" class="bgColor"><span class="labelText">an </span></td>
+<td class="bgColor"><span class="labelText">Duisburg Hbf: Gleis 5</span></td>
+<td colspan="2" align="center" class="bgColor"><a href="/download/envmaps/vrr/16032_du_hbf_1.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="FILELOAD?Filename=dwa_4BE976CA3.pdf" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/pdfThumb.gif" width="16" height="16" border="0" alt="Stadtplan" title="Stadtplan"></a></td>
+<td class="bgColor"><span class="labelText">Düsseldorf Hbf</span></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td class="bgColor"><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="7" class="bgColor" align="left"><a class="addInfoTrip" href="#" onclick="window.open('http://217.70.161.100:80/cm/XSLT_CM_SHOWADDINFO_REQUEST?infoID=5394_EVAG_01&amp;seqID=1&amp;language=de', 'addInfo', 'width=500,height=500,location=no,menubar=no,status=no,toolbar=no,resizable=yes,scrollbars=yes');return false;"><span>Abweichung der Steig/Haltestellenummern am Essen Hbf</span></a></td>
+<td class="bgColor"></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="8" class="bgColor"><span class="labelText"><i>Fahrradmitnahme begrenzt möglich</i></span></td>
+<td class="bgColor"></td>
+</tr>
+<tr>
+<td colspan="9"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="8"><input type="checkbox" name="tripSelector2" checked="1"><span class="labelTextBold"> Verbindung zum Drucken auswählen</span></td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bodyBGColor">
+<td colspan="12"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bgColor">
+<td colspan="8"><a name="Trip3"><img src="images/dummy.gif" width="1" height="5" border="0" alt="*"></a></td>
+</tr>
+<tr valign="middle">
+<td align="top" class="kaestchen"><img src="images/dummy.gif" width="7" height="13" border="0" alt="*"></td>
+<td align="top" colspan="8"><span class="labelTextBold"> 3. Fahrt</span></td>
+</tr>
+<tr>
+<td> </td>
+<td class="bgColor"><span class="labelText">17:41</span></td>
+<td class="bgColor"> </td>
+<td align="right" class="bgColor"><span class="labelText">ab </span></td>
+<td class="bgColor"><span class="labelText">Essen Hauptbahnhof: Gleis 2</span></td>
+<td colspan="2" align="center" class="bgColor"><a href="/download/envmaps/vrr/09289_e_hbf_1.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="/download/envmaps/vrr/09289_e_hbf_2.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="/download/envmaps/vrr/09289_e_hbf_3.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="FILELOAD?Filename=dwa_4BE976CA4.pdf" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/pdfThumb.gif" width="16" height="16" border="0" alt="Stadtplan" title="Stadtplan"></a></td>
+<td rowspan="2" align="right" class="bgColor" style="padding-right:3px;"><img src="images/means/train.gif" width="32" height="32" alt="Zug"></td>
+<td class="bgColor"><span class="labelText">IC 2150 InterCity</span></td>
+<td rowspan="2" class="bgColor"></td>
+</tr>
+<tr valign="middle">
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td class="bgColor"><span class="labelText">17:53</span></td>
+<td class="bgColor"> </td>
+<td align="right" class="bgColor"><span class="labelText">an </span></td>
+<td class="bgColor"><span class="labelText">Duisburg Hbf: Gleis 2</span></td>
+<td colspan="2" align="center" class="bgColor"><a href="/download/envmaps/vrr/16032_du_hbf_1.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="FILELOAD?Filename=dwa_4BE976CA5.pdf" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/pdfThumb.gif" width="16" height="16" border="0" alt="Stadtplan" title="Stadtplan"></a></td>
+<td class="bgColor"><span class="labelText">Düsseldorf Hbf</span></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td class="bgColor"><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="7" class="bgColor" align="left"><a class="addInfoTrip" href="#" onclick="window.open('http://217.70.161.100:80/cm/XSLT_CM_SHOWADDINFO_REQUEST?infoID=5394_EVAG_01&amp;seqID=1&amp;language=de', 'addInfo', 'width=500,height=500,location=no,menubar=no,status=no,toolbar=no,resizable=yes,scrollbars=yes');return false;"><span>Abweichung der Steig/Haltestellenummern am Essen Hbf</span></a></td>
+<td class="bgColor"></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="8" class="bgColor"><span class="labelText"><i>Fahrradmitnahme reservierungspflichtig</i></span></td>
+<td class="bgColor"></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="8" class="bgColor"><span class="labelText"><i>Fahrradmitnahme begrenzt möglich</i></span></td>
+<td class="bgColor"></td>
+</tr>
+<tr>
+<td colspan="9"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="8"><input type="checkbox" name="tripSelector3" checked="1"><span class="labelTextBold"> Verbindung zum Drucken auswählen</span></td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bodyBGColor">
+<td colspan="12"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+</table>
+</td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td width="2%"></td>
+<td valign="center"><img src="images/Rbl_nOK.gif" width="13" height="30" border="0" title="Abweichung" alt="Abweichung"></td>
+<td valign="center"><span class="labelText" valign="center">Verspätungen sind berücksichtigt</span></td>
+<td width="2%"></td>
+<td valign="center"><img src="images/Rbl.gif" width="13" height="30" border="0" title="Pünktlich" alt="Pünktlich"></td>
+<td valign="center"><span class="labelText" valign="center">Fahrt voraussichtlich pünktlich</span></td>
+</tr>
+</table>
+</td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bodyBGColor">
+<td colspan="12"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td width="2%" align="top"><img src="images/dummy.gif" width="7" height="13" border="0" alt="*"></td>
+<td width="10%" align="center"><a href="javascript:document.forms[0].itdLPxx_view.value='printview';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='nop';document.forms[0].submit();"><img src="images/drucker.jpg" width="20" height="20" border="0" alt="zur Druckversion der ausgewählten Verbindungen"></a> <input type="hidden" name="configurationFontSizeNormal" value="0"><a href="javascript:document.forms[0].command.value='toPDF';document.forms[0].itdLPxx_view.value='printview';document.forms[0].submit();"><img src="images/pdf.gif" width="20" height="20" border="0" alt="In Datei Drucken"></a>  </td>
+<td width="50%"><span class="labelTextBold">zur Druckversion der ausgewählten Verbindungen</span></td>
+<td><span class="labelText"><a href="http://www.bahn.de" style="text-decoration:underline;">www.bahn.de</a></span></td>
+<td width="38%" align="right"><span class="labelText">(Alle Angaben ohne Gewähr.) </span></td>
+</tr>
+<tr>
+<td colspan="4"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+</table>
+</td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<td><img src="images/dummy.gif" width="50" height="1" alt="*"></td>
+<td><input type="button" value="neue Fahrt" onClick="document.location.href='XSLT_TRIP_REQUEST2?language=de&amp;itdLPxx_transpCompany=vrr'"></td>
+<td><input type="button" value="Rückfahrt" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='tripRetoure';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="Fahrt ändern" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='changeRequest';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="früher" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='tripPrev';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="später" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='tripNext';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="Hilfe" onclick="window.open('Bedienungshinweise_de.htm', 'help', '');"></td>
+<td><img src="images/dummy.gif" width="50" height="1" alt="*"></td>
+</table>
+</td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+</table>
+</td>
+</tr>
+<tr>
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<td height="40" valign="middle" align="left"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+<td width="220" valign="bottom"><img src="images/ein-Service-des-VRR.gif" width="220" height="36" alt="*" align="right"></td>
+</table>
+</td>
+</tr>
+</table>
+</form>
+</body>
+</html>
diff --git a/test/dump_e_hbf_mh_hbf b/test/dump_e_hbf_mh_hbf
new file mode 100644
index 0000000..2f7c08b
--- /dev/null
+++ b/test/dump_e_hbf_mh_hbf
@@ -0,0 +1,525 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html xmlns:vrr="http://www.vrr.de/" xmlns:mdv="http://www.mentzdv.de/">
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Fahrplanauskunft</title>
+<link rel="stylesheet" type="text/css" href="css/map.css">
+<link rel="stylesheet" type="text/css" href="css/MDVMapContextMenu.css">
+<link rel="stylesheet" type="text/css" href="css/MDVMapControl.css">
+<link rel="stylesheet" type="text/css" href="css/calendar.css">
+<link rel="stylesheet" type="text/css" href="css/itpTravelService.css">
+<link rel="stylesheet" type="text/css" href="css/vrr.css"><script type="text/javascript"><!--
+
+ function attachEventListener(target, eventType, functionRef, capture) {
+ if (typeof target.addEventListener != "undefined") {
+ target.addEventListener(eventType, functionRef, capture);
+ }
+ else if (typeof target.attachEvent != "undefined") {
+ target.attachEvent("on" + eventType, functionRef);
+ }
+ else {
+ eventType = "on" + eventType;
+
+ if (typeof target[eventType] == "function") {
+ var oldListener = target[eventType];
+
+ target[eventType] = function() {
+ oldListener();
+
+ return functionRef();
+ }
+ }
+ else {
+ target[eventType] = functionRef;
+ }
+ }
+
+ return true;
+ }
+
+ function checkPwdBoxes()
+ {
+ if(document.forms[0].ppPersonNetPassword.value!=document.forms[0].ppPersonConfirmNetPassword.value || document.forms[0].ppPersonNetPassword.value=='')
+ {
+ alert('Ihre Passwortangaben sind ungültig. Bitte geben Sie zweimal dasselbe Passwort ein.');
+ document.forms[0].ppPersonNetPassword.value="";
+ document.forms[0].ppPersonConfirmNetPassword.value="";
+ return false;
+ }
+ else return true;
+ }
+
+ function concatDate()
+ {
+ var completDate;
+ completDate = document.forms[0].itdLPxx_date.value;
+ completDate = completDate + "-" + document.forms[0].itdLPxx_month.value;
+ completDate = completDate + "-" + document.forms[0].itdLPxx_year.value;
+
+ document.forms[0].filterDateValid.value=completDate;
+ }
+
+ var viaInMobilityRestrictionOptions = 'true';
+ var viaFlag = 'false';
+ var identifiedOdv = {
+ 'origin' : '::',
+ 'destination' : '::',
+ 'via' : '::',
+ 'command' : ''
+ };
+ var sid = 'efa3.vrr.de_52761843';
+ var curLanguage = 'de';
+ var dmStop = "Haltestelle";
+ var dmPOI = "wichtiger Punkt";
+
+ var includedMeans = [];
+
+ var excludedMeans = [];
+
+
+ function checkMeans() {
+
+ var f = document.getElementsByName('jp')[0];
+
+ if (!f || sid!=='0') {
+ return true;
+ }
+
+ if (includedMeans.length >=1) {
+ for (var i=0; i < includedMeans.length; i++) {
+ if(f['inclMOT_' + includedMeans[i]]) {
+ f['inclMOT_' + includedMeans[i]].checked = false;
+ }
+ }
+ } else if (excludedMeans.length >=1) {
+ for (var j=0; j < excludedMeans.length; j++) {
+ if (f['inclMOT_' + excludedMeans[j]]) {
+ f['inclMOT_' + excludedMeans[j]].checked = false;
+ }
+ }
+ }
+ }
+
+ attachEventListener(window, 'load', checkMeans, false);
+ //--></script><script type="text/javascript" src="JavaScriptFunctions/mdv.js"></script><script type="text/javascript" src="JavaScriptFunctions/odvScript.js"></script><script type="text/javascript" src="/mdv/mdvMap/mdvMap.js"></script><script type="text/javascript" src="/mdv/mdvMap/prototype-1.4.0.js"></script><script type="text/javascript" src="mdvMapSettings.js"></script><script type="text/javascript" src="miniMapSettings.js"></script><script type="text/javascript" src="JavaScriptFunctions/mdvMapHandler.js"></script><script type="text/javascript"><!--
+ var bCreateMapRequest = false;
+ --></script><script type="text/javascript"><!--
+ /* language of the map */
+ var mapLanguage = 'de';
+ var odv = new Array();
+ --></script><script>function initMdvMapConfig() {var usages = new Array("origin", "destination", "via", "dm", "stt");for(var i=0; i<usages.length; i++) {var usage = usages[i];mdvMapConfigs[usage] = mdvMapConfig.clone();mdvMapConfigs[usage].add("serverURL", "http://efa.vrr.de/maps/nrw/");mdvMapConfigs[usage].add("efaURL", "../lite/XSLT_COORD_REQUEST");mdvMapConfigs[usage].add("transparentImg", "images/transparent.gif");mdvMapConfigs[usage].add("defaultScale", "2");mdvMapConfigs[usage].add("toolTimeOut", "20");mdvMapConfigs[usage].add("zoomOnDoubleClick", "true");mdvMapConfigs[usage].add("useMagnifyGlass", "true");mdvMapConfigs[usage].add("cursorMove", "images/grabbing.cur");mdvMapConfigs[usage].add("poiArea", "true");mdvMapConfigs[usage].add("poiPoint", "true");mdvMapConfigs[usage].add("language", "de");mdvMapConfigs[usage].add("imagePath", "images/mdvMap/");mdvMapConfigs[usage].add("xCenterReal", "3368363");mdvMapConfigs[usage].add("yCenterReal", "450530");mdvMapConfigs[usage].add("mapName", "NAV3");mdvMapConfigs[usage].add("network", "NRW");mdvMapConfigs[usage].add("useBubbleForEFAInfo", "true");mdvMapConfigs[usage].add("info.stop.size.width", "250");mdvMapConfigs[usage].add("info.stop.size.height", "200");mdvMapConfigs[usage].add("info.poi.size.width", "250");mdvMapConfigs[usage].add("info.poi.size.height", "120");mdvMapConfigs[usage].add("useBubbleOverflowForEFAInfo", "true");mdvMapConfigs[usage].add("block", "100");mdvMapConfigs[usage].add("language", "de");mdvMiniMapConfigs[usage] = mdvMiniMapConfig.clone();mdvMiniMapConfigs[usage].add("serverURL", "http://efa.vrr.de/maps/nrw/");mdvMiniMapConfigs[usage].add("efaURL", "../lite/XSLT_COORD_REQUEST");mdvMiniMapConfigs[usage].add("transparentImg", "images/transparent.gif");mdvMiniMapConfigs[usage].add("defaultScale", "2");mdvMiniMapConfigs[usage].add("toolTimeOut", "20");mdvMiniMapConfigs[usage].add("zoomOnDoubleClick", "true");mdvMiniMapConfigs[usage].add("useMagnifyGlass", "true");mdvMiniMapConfigs[usage].add("cursorMove", "images/grabbing.cur");mdvMiniMapConfigs[usage].add("language", "de");mdvMiniMapConfigs[usage].add("imagePath", "images/mdvMap/");mdvMiniMapConfigs[usage].add("xCenterReal", "3368363");mdvMiniMapConfigs[usage].add("yCenterReal", "450530");mdvMiniMapConfigs[usage].add("mapName", "NAV3");mdvMiniMapConfigs[usage].add("network", "NRW");mdvMiniMapConfigs[usage].add("block", "100");mdvMiniMapConfigs[usage].add("language", "de");}}
+ </script></head>
+<body onload="">
+<form action="XSLT_TRIP_REQUEST2" id="jp" name="jp" method="POST"><input type="hidden" name="sessionID" id="sessionID" value="efa3.vrr.de_52761843"><input type="hidden" name="language" value="de"><input type="hidden" name="requestID" id="requestID" value="1"><input type="hidden" name="command" id="command" value=""><input type="hidden" name="itdLPxx_ShowFare" value=" "><input type="hidden" name="itdLPxx_view" value=""><input type="hidden" name="useRealtime" value="1"><input type="hidden" name="itdLPxx_enableMobilityRestrictionOptionsWithButton" value=""><input type="hidden" name="execInst" id="execInst" value=""><input type="hidden" name="itdLPxx_mdvMap2_origin" id="itdLPxx_mdvMap2_origin" value="::"><input type="hidden" name="itdLPxx_mdvMap2_destination" id="itdLPxx_mdvMap2_destination" value="::"><input type="hidden" name="itdLPxx_mdvMap2_via" id="itdLPxx_mdvMap2_via" value="::"><input type="hidden" name="itdLPxx_mapState_origin" id="itdLPxx_mapState_origin" value=""><input type="hidden" name="itdLPxx_mapState_destination" id="itdLPxx_mapState_destination" value=""><input type="hidden" name="itdLPxx_mapState_via" id="itdLPxx_mapState_via" value=""><input type="hidden" name="itdLPxx_mdvMap_origin" id="itdLPxx_mdvMap_origin" value="3361949:456292:NAV3"><input type="hidden" name="itdLPxx_mdvMap_destination" id="itdLPxx_mdvMap_destination" value="3353027:458401:NAV3"><input type="hidden" name="itdLPxx_mdvMap_via" id="itdLPxx_mdvMap_via" value="::"><input type="hidden" name="itdLPxx_command" id="itdLPxx_command" value=""><input type="hidden" name="itdLPxx_priceCalculator" id="itdLPxx_priceCalculator" value=""><input type="hidden" name="trip" value=""><input type="hidden" name="partialTrip" value=""><input type="hidden" name="itdLPxx_transpCompany" value="vrr"><table cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td rowspan="3" valign="top" align="left" width="155">
+<table id="tabNav">
+<tr>
+<td class="leftHeader"></td>
+</tr>
+<tr>
+<td><a title="en" href="XSLT_TRIP_REQUEST2?language=en&amp;itdLPxx_transpCompany=vrr"><img src="images/flag/flag_en.gif" border="0"></a> <a title="fr" href="XSLT_TRIP_REQUEST2?language=fr&amp;itdLPxx_transpCompany=vrr"><img src="images/flag/flag_fr.gif" border="0"></a> <a title="es" href="XSLT_TRIP_REQUEST2?language=es&amp;itdLPxx_transpCompany=vrr"><img src="images/flag/flag_es.gif" border="0"></a> <a title="tr" href="XSLT_TRIP_REQUEST2?language=tr&amp;itdLPxx_transpCompany=vrr"><img src="images/flag/flag_tr.gif" border="0"></a></td>
+</tr>
+<tr>
+<td class="navLabelTextBoldColor"><a href="XSLT_TRIP_REQUEST2?language=de&amp;itdLPxx_transpCompany=vrr&amp;">Fahrplanauskunft</a></td>
+</tr>
+<tr>
+<td><a href="XSLT_STT_REQUEST?language=de&amp;itdLPxx_transpCompany=vrr&amp;">Aushangfahrplan</a></td>
+</tr>
+<tr>
+<td><a href="XSLT_DM_REQUEST?language=de&amp;itdLPxx_transpCompany=vrr&amp;">Abfahrtsmonitor</a></td>
+</tr>
+<tr>
+<td><a href="XSLT_PS_REQUEST2?language=de&amp;itdLPxx_transpCompany=vrr&amp;">Persönlicher Fahrplan</a></td>
+</tr>
+<tr>
+<td><a href="http://www.vrr.de/de/fahrplanauskunft/fahr_und_linienplaene/verbundfahrplan_schnellverkehr/index.html" target="vrr">Verbundfahrplan Schnellverkehr</a></td>
+</tr>
+<tr>
+<td><a href="http://www.vrr.de/de/fahrplanauskunft/fahr_und_linienplaene/linienplan_schnellverkehr/index.html" target="vrr">Linienplan Schnellverkehr</a></td>
+</tr>
+<tr>
+<td><a href="http://www.vrr.de/de/fahrplanauskunft/fahr_und_linienplaene/stadtlinienplaene/index.html" target="vrr">Stadtlinienpläne</a></td>
+</tr>
+<tr>
+<td><a href="./Bedienungshinweise_de.htm" target="vrr">Bedienungshinweise</a></td>
+</tr>
+<tr>
+<td><a href="XSLT_SCREEN_SAVER_REQUEST?language=de&amp;itdLPxx_transpCompany=vrr&amp;">Bildschirmschoner</a></td>
+</tr>
+<tr>
+<td><a href="XSLT_ADDINFO_REQUEST?language=de&amp;itdLPxx_transpCompany=vrr&amp;filterPublicationStatus=current&amp;filterShowPlaceList=1&amp;filterShowLineList=1&amp;filterShowStopList=0&amp;filterShowPlaceList=0&amp;">Aktuelle Hinweise</a></td>
+</tr>
+<tr>
+<td><a href="XSLT_TRIP_REQUEST2?language=de&amp;itdLPxx_transpCompany=vrr&amp;itdLPxx_urlGenerator=true&amp;">Ihr Link zu uns</a></td>
+</tr>
+<tr>
+<td><a href="http://www.vrr.de/de/global/impressum/index.html">Impressum</a></td>
+</tr>
+<tr>
+<td><a href="http://www.vrr.de/">Homepage</a></td>
+</tr>
+</table>
+</td>
+<td rowspan="3"> </td>
+<td valign="top" width="630" height="55">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td colspan="3" height="35" align="left" class="logoHeader">
+<div class="textHeader">Fahrplanauskunft</div>
+</td>
+</tr>
+<tr>
+<td colspan="3"><img src="images/dummy.gif" width="100%" height="5"></td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" width="630" border="0">
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td colspan="5"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td width="2%" align="top" class="kaestchen"><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td width="10%"><span class="labelTextBold"> von:</span></td>
+<td width="40%"><span class="labelText">Essen / Hauptbahnhof</span></td>
+<td width="10%"><span class="labelTextBold">nach:     </span></td>
+<td width="38%"><span class="labelText">Mülheim a.d. Ruhr / Hbf</span></td>
+</tr>
+<tr>
+<td colspan="5"><img src="images/dummy.gif" width="1" height="10" alt="*"></td>
+</tr>
+<tr>
+<td width="2%" align="top"> </td>
+<td width="10%"><span class="labelTextBold"> Abfahrt:</span></td>
+<td width="40%"><span class="labelText">17:22</span><span class="labelText"> Uhr</span></td>
+<td width="10%"><span class="labelTextBold">Datum:</span></td>
+<td width="38%"><span class="labelText">11.05.2010</span></td>
+</tr>
+</table>
+</td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td width="2%" class="kaestchen"><img src="images/dummy.gif" width="7" height="13" border="0" alt="*"></td>
+<td><span class="labelTextBold"> Fahrtdaten</span></td>
+<td align="center"><span class="labelTextBold"> Fahrtdauer</span></td>
+<td align="center"><span class="labelTextBold"> Umsteigen</span></td>
+<td align="center"><span class="labelTextBold"> Preisstufe</span></td>
+</tr>
+<tr class="bgColor">
+<td colspan="5"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td width="2%"><img src="images/dummy.gif" width="5" height="5" alt="*"></td>
+<td><span class="labelText"> <a href="#Trip1"><u>1. Fahrt:</u></a>  am 11.05.2010  von 17:15 bis 17:25 Uhr</span></td>
+<td align="center"><span class="labelText">00:10</span></td>
+<td align="center"><span class="labelText">0</span></td>
+<td align="center" class="labelText"><a href="javascript:document.forms[0].itdLPxx_view.value = ''; document.forms[0].itdLPxx_ShowFare.value = '1';document.forms[0].command.value='nop';document.forms[0].submit();"><u>A2</u></a>*</td>
+</tr>
+<tr>
+<td width="2%"><img src="images/dummy.gif" width="5" height="5" alt="*"></td>
+<td><span class="labelText"> <a href="#Trip2"><u>2. Fahrt:</u></a>  am 11.05.2010  von 17:26 bis 17:34 Uhr</span></td>
+<td align="center"><span class="labelText">00:08</span></td>
+<td align="center"><span class="labelText">0</span></td>
+<td align="center" class="labelText"><a href="javascript:document.forms[0].itdLPxx_view.value = ''; document.forms[0].itdLPxx_ShowFare.value = '2';document.forms[0].command.value='nop';document.forms[0].submit();"><u>A2</u></a>*</td>
+</tr>
+<tr>
+<td width="2%"><img src="images/dummy.gif" width="5" height="5" alt="*"></td>
+<td><span class="labelText"> <a href="#Trip3"><u>3. Fahrt:</u></a>  am 11.05.2010  von 17:32 bis 17:37 Uhr</span></td>
+<td align="center"><span class="labelText">00:05</span></td>
+<td align="center"><span class="labelText">0</span></td>
+<td align="center" class="labelText"><a href="javascript:document.forms[0].itdLPxx_view.value = ''; document.forms[0].itdLPxx_ShowFare.value = '3';document.forms[0].command.value='nop';document.forms[0].submit();"><u>A2</u></a>*</td>
+</tr>
+</table>
+</td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td width="2%" align="top"><img src="images/dummy.gif" width="7" height="13" border="0" alt="*"></td>
+<td width="10%" align="center"><a href="javascript:document.forms[0].itdLPxx_view.value='printview';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='nop';document.forms[0].submit();"><img src="images/drucker.jpg" width="20" height="20" border="0" alt="zur Druckversion der ausgewählten Verbindungen"></a> <input type="hidden" name="configurationFontSizeNormal" value="0"><a href="javascript:document.forms[0].command.value='toPDF';document.forms[0].itdLPxx_view.value='printview';document.forms[0].submit();"><img src="images/pdf.gif" width="20" height="20" border="0" alt="In Datei Drucken"></a>  </td>
+<td width="50%"><span class="labelTextBold">zur Druckversion der ausgewählten Verbindungen</span></td>
+<td width="38%" align="right"><span class="labelText">(Alle Angaben ohne Gewähr.) </span></td>
+</tr>
+<tr>
+<td colspan="4"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+</table>
+</td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<td><img src="images/dummy.gif" width="50" height="1" alt="*"></td>
+<td><input type="button" value="neue Fahrt" onClick="document.location.href='XSLT_TRIP_REQUEST2?language=de&amp;itdLPxx_transpCompany=vrr'"></td>
+<td><input type="button" value="Rückfahrt" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='tripRetoure';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="Fahrt ändern" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='changeRequest';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="früher" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='tripPrev';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="später" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='tripNext';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="Hilfe" onclick="window.open('Bedienungshinweise_de.htm', 'help', '');"></td>
+<td><img src="images/dummy.gif" width="50" height="1" alt="*"></td>
+</table>
+</td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr><input type="hidden" name="tripSelection" value="on"><tr class="bgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="1" width="100%" border="0">
+<tr class="bgColor">
+<td colspan="8"><a name="Trip1"><img src="images/dummy.gif" width="1" height="5" border="0" alt="*"></a></td>
+</tr>
+<tr valign="middle">
+<td align="top" class="kaestchen"><img src="images/dummy.gif" width="7" height="13" border="0" alt="*"></td>
+<td align="top" colspan="8"><span class="labelTextBold"> 1. Fahrt</span></td>
+</tr>
+<tr>
+<td> </td>
+<td class="bgColor"><span class="labelText">17:15</span></td>
+<td class="bgColor"> </td>
+<td align="right" class="bgColor"><span class="labelText">ab </span></td>
+<td class="bgColor"><span class="labelText">Essen Hauptbahnhof: Gleis 7</span></td>
+<td colspan="2" align="center" class="bgColor"><a href="/download/envmaps/vrr/09289_e_hbf_1.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="/download/envmaps/vrr/09289_e_hbf_2.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="/download/envmaps/vrr/09289_e_hbf_3.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="FILELOAD?Filename=dwa_4BE9764B0.pdf" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/pdfThumb.gif" width="16" height="16" border="0" alt="Stadtplan" title="Stadtplan"></a></td>
+<td rowspan="2" align="right" class="bgColor" style="padding-right:3px;"><img src="images/means/s_Bahn.gif" width="32" height="32" alt="S-Bahn"></td>
+<td class="bgColor"><span class="labelText">S-Bahn S1</span></td>
+</tr>
+<tr valign="middle">
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td class="bgColor"><span class="labelText">17:25</span></td>
+<td class="bgColor"> </td>
+<td align="right" class="bgColor"><span class="labelText">an </span></td>
+<td class="bgColor"><span class="labelText">Mülheim Hbf: Gleis 5</span></td>
+<td colspan="2" align="center" class="bgColor"><a href="/download/envmaps/vrr/15225_mh_hbf_1.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="FILELOAD?Filename=dwa_4BE9764B1.pdf" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/pdfThumb.gif" width="16" height="16" border="0" alt="Stadtplan" title="Stadtplan"></a></td>
+<td class="bgColor"><span class="labelText">Solingen Hbf</span></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td class="bgColor"><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="7" class="bgColor" align="left"><a class="addInfoTrip" href="#" onclick="window.open('http://217.70.161.100:80/cm/XSLT_CM_SHOWADDINFO_REQUEST?infoID=5394_EVAG_01&amp;seqID=1&amp;language=de', 'addInfo', 'width=500,height=500,location=no,menubar=no,status=no,toolbar=no,resizable=yes,scrollbars=yes');return false;"><span>Abweichung der Steig/Haltestellenummern am Essen Hbf</span></a></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="8" class="bgColor"><span class="labelText"><i>Linie S1: Fahrradmitnahme begrenzt möglich</i></span></td>
+</tr>
+<tr>
+<td colspan="9"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="8"><input type="checkbox" name="tripSelector1" checked="1"><span class="labelTextBold"> Verbindung zum Drucken auswählen</span></td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bodyBGColor">
+<td colspan="12"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bgColor">
+<td colspan="8"><a name="Trip2"><img src="images/dummy.gif" width="1" height="5" border="0" alt="*"></a></td>
+</tr>
+<tr valign="middle">
+<td align="top" class="kaestchen"><img src="images/dummy.gif" width="7" height="13" border="0" alt="*"></td>
+<td align="top" colspan="8"><span class="labelTextBold"> 2. Fahrt</span></td>
+</tr>
+<tr>
+<td> </td>
+<td class="bgColor"><span class="labelText">17:26</span></td>
+<td class="bgColor"> </td>
+<td align="right" class="bgColor"><span class="labelText">ab </span></td>
+<td class="bgColor"><span class="labelText">Essen Hauptbahnhof: Gleis 7</span></td>
+<td colspan="2" align="center" class="bgColor"><a href="/download/envmaps/vrr/09289_e_hbf_1.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="/download/envmaps/vrr/09289_e_hbf_2.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="/download/envmaps/vrr/09289_e_hbf_3.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="FILELOAD?Filename=dwa_4BE9764B2.pdf" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/pdfThumb.gif" width="16" height="16" border="0" alt="Stadtplan" title="Stadtplan"></a></td>
+<td rowspan="2" align="right" class="bgColor" style="padding-right:3px;"><img src="images/means/s_Bahn.gif" width="32" height="32" alt="S-Bahn"></td>
+<td class="bgColor"><span class="labelText">S-Bahn S3</span></td>
+</tr>
+<tr valign="middle">
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td class="bgColor"><span class="labelText">17:34</span></td>
+<td class="bgColor"> </td>
+<td align="right" class="bgColor"><span class="labelText">an </span></td>
+<td class="bgColor"><span class="labelText">Mülheim Hbf: Gleis 5</span></td>
+<td colspan="2" align="center" class="bgColor"><a href="/download/envmaps/vrr/15225_mh_hbf_1.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="FILELOAD?Filename=dwa_4BE9764B3.pdf" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/pdfThumb.gif" width="16" height="16" border="0" alt="Stadtplan" title="Stadtplan"></a></td>
+<td class="bgColor"><span class="labelText">Oberhausen Hbf.</span></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td class="bgColor"><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="7" class="bgColor" align="left"><a class="addInfoTrip" href="#" onclick="window.open('http://217.70.161.100:80/cm/XSLT_CM_SHOWADDINFO_REQUEST?infoID=5394_EVAG_01&amp;seqID=1&amp;language=de', 'addInfo', 'width=500,height=500,location=no,menubar=no,status=no,toolbar=no,resizable=yes,scrollbars=yes');return false;"><span>Abweichung der Steig/Haltestellenummern am Essen Hbf</span></a></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="8" class="bgColor"><span class="labelText"><i>Linie S3: Fahrradmitnahme begrenzt möglich</i></span></td>
+</tr>
+<tr>
+<td colspan="9"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="8"><input type="checkbox" name="tripSelector2" checked="1"><span class="labelTextBold"> Verbindung zum Drucken auswählen</span></td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bodyBGColor">
+<td colspan="12"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bgColor">
+<td colspan="8"><a name="Trip3"><img src="images/dummy.gif" width="1" height="5" border="0" alt="*"></a></td>
+</tr>
+<tr valign="middle">
+<td align="top" class="kaestchen"><img src="images/dummy.gif" width="7" height="13" border="0" alt="*"></td>
+<td align="top" colspan="8"><span class="labelTextBold"> 3. Fahrt</span></td>
+</tr>
+<tr>
+<td> </td>
+<td class="bgColor"><span class="labelText">17:32</span></td>
+<td class="bgColor"> </td>
+<td align="right" class="bgColor"><span class="labelText">ab </span></td>
+<td class="bgColor"><span class="labelText">Essen Hauptbahnhof: Gleis 2</span></td>
+<td colspan="2" align="center" class="bgColor"><a href="/download/envmaps/vrr/09289_e_hbf_1.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="/download/envmaps/vrr/09289_e_hbf_2.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="/download/envmaps/vrr/09289_e_hbf_3.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="FILELOAD?Filename=dwa_4BE9764B4.pdf" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/pdfThumb.gif" width="16" height="16" border="0" alt="Stadtplan" title="Stadtplan"></a></td>
+<td rowspan="2" align="right" class="bgColor" style="padding-right:3px;"><img src="images/means/train.gif" width="32" height="32" alt="Zug"></td>
+<td class="bgColor"><span class="labelText">R-Bahn RE6</span></td>
+</tr>
+<tr valign="middle">
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td class="bgColor"><span class="labelText">17:37</span></td>
+<td class="bgColor"> </td>
+<td align="right" class="bgColor"><span class="labelText">an </span></td>
+<td class="bgColor"><span class="labelText">Mülheim Hbf: Gleis 6</span></td>
+<td colspan="2" align="center" class="bgColor"><a href="/download/envmaps/vrr/15225_mh_hbf_1.htm" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/bitmapThumb.gif" width="16" height="16" border="0" alt="Umgebungsplan" title="Umgebungsplan"></a><a href="FILELOAD?Filename=dwa_4BE9764B5.pdf" target="mapWindow"><img src="images/dummy.gif" width="5" height="1" border="0" alt="*"><img src="images/pdfThumb.gif" width="16" height="16" border="0" alt="Stadtplan" title="Stadtplan"></a></td>
+<td class="bgColor"><span class="labelText">Düsseldorf Hbf</span></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td class="bgColor"><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="7" class="bgColor" align="left"><a class="addInfoTrip" href="#" onclick="window.open('http://217.70.161.100:80/cm/XSLT_CM_SHOWADDINFO_REQUEST?infoID=5394_EVAG_01&amp;seqID=1&amp;language=de', 'addInfo', 'width=500,height=500,location=no,menubar=no,status=no,toolbar=no,resizable=yes,scrollbars=yes');return false;"><span>Abweichung der Steig/Haltestellenummern am Essen Hbf</span></a></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="8" class="bgColor"><span class="labelText"><i>Fahrradmitnahme begrenzt möglich</i></span></td>
+</tr>
+<tr>
+<td colspan="9"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td><img src="images/dummy.gif" width="1" height="1" alt="*"></td>
+<td colspan="8"><input type="checkbox" name="tripSelector3" checked="1"><span class="labelTextBold"> Verbindung zum Drucken auswählen</span></td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bodyBGColor">
+<td colspan="12"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+</table>
+</td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td width="2%"></td>
+<td valign="center"><img src="images/Rbl_nOK.gif" width="13" height="30" border="0" title="Abweichung" alt="Abweichung"></td>
+<td valign="center"><span class="labelText" valign="center">Verspätungen sind berücksichtigt</span></td>
+<td width="2%"></td>
+<td valign="center"><img src="images/Rbl.gif" width="13" height="30" border="0" title="Pünktlich" alt="Pünktlich"></td>
+<td valign="center"><span class="labelText" valign="center">Fahrt voraussichtlich pünktlich</span></td>
+</tr>
+</table>
+</td>
+</tr>
+<tr class="bgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="bodyBGColor">
+<td colspan="12"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td width="2%" align="top"><img src="images/dummy.gif" width="7" height="13" border="0" alt="*"></td>
+<td width="10%" align="center"><a href="javascript:document.forms[0].itdLPxx_view.value='printview';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='nop';document.forms[0].submit();"><img src="images/drucker.jpg" width="20" height="20" border="0" alt="zur Druckversion der ausgewählten Verbindungen"></a> <input type="hidden" name="configurationFontSizeNormal" value="0"><a href="javascript:document.forms[0].command.value='toPDF';document.forms[0].itdLPxx_view.value='printview';document.forms[0].submit();"><img src="images/pdf.gif" width="20" height="20" border="0" alt="In Datei Drucken"></a>  </td>
+<td width="50%"><span class="labelTextBold">zur Druckversion der ausgewählten Verbindungen</span></td>
+<td width="38%" align="right"><span class="labelText">(Alle Angaben ohne Gewähr.) </span></td>
+</tr>
+<tr>
+<td colspan="4"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+</table>
+</td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<td><img src="images/dummy.gif" width="50" height="1" alt="*"></td>
+<td><input type="button" value="neue Fahrt" onClick="document.location.href='XSLT_TRIP_REQUEST2?language=de&amp;itdLPxx_transpCompany=vrr'"></td>
+<td><input type="button" value="Rückfahrt" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='tripRetoure';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="Fahrt ändern" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='changeRequest';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="früher" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='tripPrev';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="später" onClick="document.forms[0].itdLPxx_view.value='';document.forms[0].itdLPxx_ShowFare.value='';document.forms[0].command.value='tripNext';document.forms[0].itdLPxx_view.value='';document.forms[0].submit();"></td>
+<td><input type="button" value="Hilfe" onclick="window.open('Bedienungshinweise_de.htm', 'help', '');"></td>
+<td><img src="images/dummy.gif" width="50" height="1" alt="*"></td>
+</table>
+</td>
+</tr>
+<tr class="buttonBgColor">
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+<tr>
+<td colspan="3"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+</tr>
+</table>
+</td>
+</tr>
+<tr>
+<td colspan="3">
+<table cellspacing="0" cellpadding="0" width="100%" border="0">
+<td height="40" valign="middle" align="left"><img src="images/dummy.gif" width="1" height="5" alt="*"></td>
+<td width="220" valign="bottom"><img src="images/ein-Service-des-VRR.gif" width="220" height="36" alt="*" align="right"></td>
+</table>
+</td>
+</tr>
+</table>
+</form>
+</body>
+</html>
diff --git a/test/parse_e_hbf_du_hbf.ice b/test/parse_e_hbf_du_hbf.ice
new file mode 100644
index 0000000..6c08743
--- /dev/null
+++ b/test/parse_e_hbf_du_hbf.ice
@@ -0,0 +1,14 @@
+17:15 ab  Essen Hauptbahnhof: Gleis 7 S-Bahn S1 Solingen Hbf
+17:33 an  Duisburg Hbf: Gleis 5
+
+------
+
+# 2 Min. später, Plan: ab 17:32
+17:34 ab  Essen Hauptbahnhof: Gleis 2 R-Bahn RE6 Düsseldorf Hbf
+17:46 an  Duisburg Hbf: Gleis 5
+
+------
+
+17:41 ab  Essen Hauptbahnhof: Gleis 2 IC 2150 InterCity Düsseldorf Hbf
+17:53 an  Duisburg Hbf: Gleis 2
+
diff --git a/test/parse_e_hbf_mh_hbf b/test/parse_e_hbf_mh_hbf
new file mode 100644
index 0000000..c46d5bf
--- /dev/null
+++ b/test/parse_e_hbf_mh_hbf
@@ -0,0 +1,13 @@
+17:15 ab  Essen Hauptbahnhof: Gleis 7 S-Bahn S1 Solingen Hbf
+17:25 an  Mülheim Hbf: Gleis 5
+
+------
+
+17:26 ab  Essen Hauptbahnhof: Gleis 7 S-Bahn S3 Oberhausen Hbf.
+17:34 an  Mülheim Hbf: Gleis 5
+
+------
+
+17:32 ab  Essen Hauptbahnhof: Gleis 2 R-Bahn RE6 Düsseldorf Hbf
+17:37 an  Mülheim Hbf: Gleis 6
+