var suggestEnabled = "yes";
if(typeof Hafas == 'undefined'){
var Hafas = new Object;
}
/* <![CDATA[ */
Hafas.Config = new Object;
Hafas.Config.gBaseUrl                = "http://www.belgianrail.be";
Hafas.Config.gUrlTravelPlanner       = "";
Hafas.Config.gUrlTravelPlannerJSON   = Hafas.Config.gUrlTravelPlanner.substr(0,Hafas.Config.gUrlTravelPlanner.length-1);
Hafas.Config.gUrlStationQuery        = "";
Hafas.Config.gUrlAjaxGetStop         = "/jp/nmbs-realtime/ajax-getstop.exe/fn?";
Hafas.Config.gUrlTimetableBooklet    = "";
Hafas.Config.gUrlTrainSearch         = "";
Hafas.Config.gUrlTrainInfo           = "";
Hafas.Config.gUrlProfile             = "";
Hafas.Config.gUrlHelp                = "";
Hafas.Config.gCatenateSeqnr          = "";
Hafas.Config.gCatenateIdent          = "";
Hafas.Config.gCatenateLayout         = "";
Hafas.Config.gLanguage               = "f";
Hafas.Config.gBrowser                = "n";
Hafas.Config.gQuery_path             = "/jp/nmbs-realtime/query.exe";
Hafas.Config.gStboard_path           = "/jp/nmbs-realtime/stboard.exe";
Hafas.Config.gTrainsearch_path       = "/jp/nmbs-realtime/trainsearch.exe";
Hafas.Config.gProfile_path           = "/jp/nmbs-realtime/profile.exe";
Hafas.Config.gHelp_path              = "/jp/nmbs-realtime/help.exe";
Hafas.Config.gUrlPrefix              = "";
Hafas.Config.gImagePath              = "/jp/hafas-res/img/";
Hafas.Config.gJSMapImagePath         = "/jp/hafas-res/img/js/";
Hafas.Config.gDynamicTileParameterGoogle = 'proj=google&';
Hafas.Config.gDynamicTileParameterPTV = 'proj=ptv&';
Hafas.Products = new Array();
Hafas.Config.productBitsArray = new Array();
/* <![CDATA[ */
Hafas.Config.ProductImages = new Array();
Hafas.Config.ProductImagesHTML = new Array();
Hafas.Config.ProductColors = new Array();
if(typeof Hafas.Suggest == 'undefined'){
Hafas.Suggest = new Object;
}
Hafas.Suggest.MapAPI = '';
/* Demo CSS*/
Hafas.Suggest.Texts = new Object;
Hafas.Suggest.Texts.suggestionsoff = "Inactiver suggestions";
Hafas.Suggest.Texts.suggestionson = "";
Hafas.Suggest.Texts.minimapoff = "Inactiver mini-carte";
Hafas.Suggest.Texts.suggestions = "Suggestions";
Hafas.Suggest.Texts.topMatches = "Premi&#232;re suggestions";
Hafas.Suggest.Texts.furtherMatches = "Chercher pour ult&#233;rieur r&#233;sultats ...";
Hafas.Suggest.Texts.meansOfTransport = "Moyens de transport &#224;";
Hafas.Suggest.Texts.connectionsPerYear = "Tours par an";
Hafas.Suggest.Texts.location = "Localit&#233;";
Hafas.Suggest.Texts.geolocation = "Position actuelle";
Hafas.Suggest.Texts.limitSearchMap = "???";
Hafas.Suggest.Texts.minimapon = "";
Hafas.Suggest.Texts.suggestHint1 = "";
Hafas.Suggest.Texts.suggestHint2 = "";
Hafas.Suggest.Texts.filterStations = "??? St.";
Hafas.Suggest.Texts.filterAddresses = "??? Addresses";
Hafas.Suggest.Texts.filterPOI = "??? POI";
Hafas.Suggest.Icons = new Object;
Hafas.Suggest.Icons.Map = '<img class="icon" src="/jp/hafas-res/img/ico_map.png"  alt="Carte" />';
Hafas.Suggest.Icons.Type = new Object();
Hafas.Suggest.Icons.Type[1] = '/jp/hafas-res/img/haf_map_halt.png';
Hafas.Suggest.Icons.Type[2] = '/jp/hafas-res/img/haf_map_adress.png';
Hafas.Suggest.Icons.Type[4] = '/jp/hafas-res/img/haf_map_poi.png';
Hafas.Suggest.Icons.Type[10] = '/jp/hafas-res/img/ico_geolocation.png';
Hafas.Suggest.Icons.Type[0] = '/jp/hafas-res/img/B-gris.png';
var gImagePath = "/jp/hafas-res/img/";
var gTStop = '';
var gTAddress = '';
var gTPOI = '';
function cssFileLoaded(filename){
var cssFiles = document.getElementsByTagName("link");
for(var k=0; k < cssFiles.length;k++){
if(cssFiles[k].href.indexOf(filename) != -1){
return true;
}
}
return false;
}
if(!cssFileLoaded("hafas_default_suggest.css")){
var css = document.getElementsByTagName("head")[0].appendChild(document.createElement("link"));
css.setAttribute("rel","stylesheet");
css.setAttribute("type","text/css");
css.setAttribute("href","http://www.belgianrail.be/jp/hafas-res/css/hafas_default_suggest.css?");
}
// test for IE
var ua = navigator.userAgent.toLowerCase();
var isIE = (/msie/.test(ua)) && !(/opera/.test(ua)) && (/win/.test(ua));
// create the style node for all browsers
var style_node = document.createElement("style");
style_node.setAttribute("type", "text/css");
style_node.setAttribute("media", "screen");
if (!isIE){
style_node.appendChild(document.createTextNode(".s-tooltip {background-image:url(/jp/hafas-res/img/tooltip-point.gif);}"));
style_node.appendChild(document.createTextNode(".s-tooltip {background-position:0 50%;}"));
style_node.appendChild(document.createTextNode(".s-tooltip {font-size:12px;}"));
style_node.appendChild(document.createTextNode("#suggestion div {background:url(/jp/hafas-res/img/js/station.gif) no-repeat 2px 2px;}"));
style_node.appendChild(document.createTextNode("#suggestion div.adr, #suggestion div.adrselected {background:url(/jp/hafas-res/img/icons/icon_address.png) no-repeat 0 0;}"));
style_node.appendChild(document.createTextNode("#suggestion div.poi, #suggestion div.poiselected {background:url(/jp/hafas-res/img/icons/icon_poi.png) no-repeat 0 0;}"));
style_node.appendChild(document.createTextNode("#suggestion div.furtherMatches, #suggestion div.furtherMatchesselected {background:url(/jp/hafas-res/img/standard/bg_btn_mapblu.png) repeat-x scroll 0 0;}"));
}
// append the style node
document.getElementsByTagName("head")[0].appendChild(style_node);
// use alternative methods for IE
if (isIE && document.styleSheets && document.styleSheets.length > 0) {
var last_style_node = document.styleSheets[document.styleSheets.length - 1];
if ((typeof(last_style_node.addRule) == "object") || (typeof(last_style_node.addRule) == "function")){
last_style_node.addRule("#suggestion div", "{background:url(/jp/hafas-res/img/js/station.gif) no-repeat 2px 2px;}");
last_style_node.addRule("#suggestion div.adr", "{background:url(/jp/hafas-res/img/icons/icon_address.png) no-repeat 0 0;}");
last_style_node.addRule("#suggestion div.adrselected", "{background:url(/jp/hafas-res/img/icons/icon_address.png) no-repeat 0 0;}");
last_style_node.addRule("#suggestion div.poi", "{background:url(/jp/hafas-res/img/icons/icon_poi.png) no-repeat 0 0;}");
last_style_node.addRule("#suggestion div.poiselected", "{background:url(/jp/hafas-res/img/icons/icon_poi.png) no-repeat 0 0;}");
last_style_node.addRule("#suggestion div.furtherMatches", "{background:url(/jp/hafas-res/img/standard/bg_btn_mapblu.png) repeat-x scroll 0 0;}");
last_style_node.addRule("#suggestion div.furtherMatchesselected", "{background:url(/jp/hafas-res/img/standard/bg_btn_mapblu.png) repeat-x scroll 0 0;}");
}
}
var timer;
var scriptArray = [{filename:"FSuggest_v2.js",loadflag:"gFSUGGEST"}];
loadScript(0);
function loadScript(count){
if(count < scriptArray.length){
if((typeof(scriptArray[count].loadflag) == "undefined") || (typeof(window[scriptArray[count].loadflag]) == "undefined"))
{
//var fsugg = document.getElementsByTagName("head")[0].appendChild(document.createElement("script"));
var jsfile = scriptArray[count].filename;
var fsugg = document.createElement("script");
fsugg.src = "http://www.belgianrail.be/jp/hafas-res/js/"+jsfile;
fsugg.setAttribute('type','text/javascript');
fsugg.onload = function(){
count++;
loadScript(count);
};
// IE 6 & 7
fsugg.onreadystatechange = function() {
if (this.readyState == 'complete' || this.readyState == 'loaded') {
count++;
loadScript(count);
}
}
document.getElementsByTagName("head")[0].appendChild(fsugg);
}
else
{
count++;
loadScript(count);
}
}else{
//window.setTimeout("initSuggestions()",1000);
attachSuggest2input();
}
}
/* JS Bibliothek einbinden */
if(typeof gFSuggest == 'undefined') {
}
function initSuggestions(){
window.clearInterval(timer);
if(typeof(initSuggestionsDone) != "undefined")
return;
initSuggestionsDone = true;
var hwaiUsage = checkHWAIUsage();
var elements = getElementsByClass("HafasSuggest",null,"input");
for (var i=0;i < elements.length; i++) {
if(elements[i].id != 'undefined') {
var suggid = elements[i].id;
}else{
var suggid = 'hfs_suggest_input_' + i;
}
var classes = elements[i].className.split(" ");
var suggestType = 0;
var minChar = 4;
var additionalFiters = "";
for(var j=0;j < classes.length; j++){
if(classes[j] == "st"){
suggestType += 1;
}else if(classes[j] == "adr"){
suggestType += 2;
}else if(classes[j] == "poi"){
suggestType += 4;
}else if(classes[j] == "tar"){
suggestType += 32;
minChar = 3;
}else if(classes[j] == "stonly"){
suggestType = 1;
additionalFiters = "REQ0JourneyStopsF=selectStationAttribute;GA&";
break;
}else if(classes[j] == "HafasSuggest_attributefilter_ws"){
additionalFiters += "REQ0JourneyStopsF=selectStationAttribute;WS&";
}else if(classes[j] == "HafasSuggest_attributefilter_ht"){
additionalFiters += "REQ0JourneyStopsF=selectStationAttribute;HT&";
}
}
if(suggestType == 0){
suggestType = 7;
}
var useTypeFilter = false;
var useTopFavorites = true;
if(suggestType == 33){
useTypeFilter = true;
useTopFavorites = false;
}
var attr = (elements[i].getAttribute('name') != null)?elements[i].getAttribute('name'):'S';
if(attr=='input') attr='S';
new Hafas.Suggest.FSuggest({loc:suggid,
type:attr,
minChar:2,
cookiename:'std20-history',
requestURL:'http://www.belgianrail.be/jp/nmbs-realtime/ajax-getstop.exe/eny?start=1&tpl=suggest2json&'+additionalFiters+'REQ0JourneyStopsS0A='+suggestType+'&getstop=1&noSession=yes&REQ0JourneyStopsB=12&REQ0JourneyStopsS0G=',
stopDelay:400,
requestType:'js',
useMaps: false,
useHouseNumber:true,
useHighlighting:true,
useLocType:true,
useTopFavorites:true,
useTooltip:false,
useTypeFilter:useTypeFilter,
width:350
});
if((elements[i].form) && (typeof(elements[i].form["HWAI=JS!js"]) == "undefined"))
{
var hiddenField = document.createElement("input");
hiddenField.type = "hidden";
hiddenField.name = "HWAI=JS!js";
hiddenField.value = "yes";
elements[i].parentNode.appendChild(hiddenField);
if(hwaiUsage)
{
hiddenField = document.createElement("input");
hiddenField.type = "hidden";
hiddenField.name = "HWAI=JS!ajax";
hiddenField.value = "yes";
elements[i].parentNode.appendChild(hiddenField);
}
}
}
if(typeof(HafasSuggestParamArray) != "undefined")
{
for (var i = 0; i < HafasSuggestParamArray.length; i++)
{
new Hafas.Suggest.FSuggest(HafasSuggestParamArray[i])
var cElement = document.getElementById(HafasSuggestParamArray[i].loc);
if((cElement.form) && (typeof(cElement.form["HWAI=JS!js"]) == "undefined"))
{
var hiddenField = document.createElement("input");
hiddenField.type = "hidden";
hiddenField.name = "HWAI=JS!js";
hiddenField.value = "yes";
cElement.parentNode.appendChild(hiddenField);
if(hwaiUsage)
{
hiddenField = document.createElement("input");
hiddenField.type = "hidden";
hiddenField.name = "HWAI=JS!ajax";
hiddenField.value = "yes";
cElement.parentNode.appendChild(hiddenField);
}
}
}
}
var elements = getElementsByClass("HafasRelation",null,"select");
for (var i=0;i < elements.length; i++) {
fillWithRelations(elements[i]);
}
}
function fillWithRelations(sel)
{
if((typeof(profileRels) == "undefined") || (profileRels.length == 0))
{
sel.style.display = "none";
return;
}
while(sel.options.length > 0)
sel.options[sel.options.length - 1] = null;
for(var i = 0; i < profileRels.length; i++)
{
var option = document.createElement("option");
var tmpDiv = document.createElement("div");
tmpDiv.innerHTML = profileRels[i]["output"]
if(tmpDiv.textContent)
option.text = tmpDiv.textContent;
else
option.text = tmpDiv.innerText;
option.value = profileRels[i]["value"];
var optionIndex = null;
if (document.all)
optionIndex = sel.length;
sel.add(option, optionIndex);
}
}
function attachSuggest2input(){
timer = window.setInterval("loaded()",1000);
/* init suggestions on load */
if (window.addEventListener)
window.addEventListener("load", initSuggestions, false);
else if(window.attachEvent)
window.attachEvent("onload",initSuggestions);
}
function loaded(){
if(typeof document.body != 'undefined' || document.body != null)
initSuggestions();
}
function getElementsByClass( searchClass, domNode, tagName) {
if (domNode == null) domNode = document.body;
if (tagName == null) tagName = '*';
var el = new Array();
if (domNode == null) return el;
var tags = domNode.getElementsByTagName(tagName);
var tcl = ''+searchClass+'';
for(i=0,j=0; i < tags.length; i++) {
var test = " " + tags[i].className + " ";
if (tags[i].className.indexOf(searchClass) != -1)
el[j++] = tags[i];
}
return el;
}
function checkHWAIUsage()
{
var useHWAI = true;
try
{
new XMLHttpRequest();
}
catch(w3c)
{
try
{
new ActiveXObject("Msxml2.XMLHTTP");
}
catch(msie)
{
try
{
new ActiveXObject("Microsoft.XMLHTTP");
}
catch(msie_alt)
{
useHWAI = false;
}
}
}
return useHWAI;
}
