var suggestEnabled = "yes";
/* Demo CSS*/
var t_suggestionsoff = "Vorschl&#228;ge aus";
var t_minimapoff = "Mini-Karte aus";
var t_suggestions = "Vorschl&#228;ge";
var t_topMatches = "Toptreffer";
var t_furtherMatches = "Nach weiteren Treffern suchen...";
var t_meansOfTransport = "Verkehrsmittel an";
var t_connectionsPerYear = "Fahrten im Jahr";
var t_limitSearchMap = "Suche nur auf Kartenausschnitt";
var t_suggestHint1 = "Benutzen Sie die<b>Suggest-Funktion</b>,&nbsp;&nbsp;<br/>in dem Sie mindestens <br/><b>";
var t_suggestHint2 = "Buchstaben eingeben</b>!";
var gImagePath = "/hafas-res/img/";
var gTStop = '';
var gTAddress = '';
var gTPOI = '';
var fsugg_map = '<img style="width:14px;height:14px;" src="http://auskunft.nvv.de/hafas-res/img/themes/info_14.png"/>';
var gOpenLayersBaseLayerType = "mapnik";
var gOpenLayersBaseLayerURL = "";
var gOpenLayersBaseLayerAttribution = "Geodaten &copy; <a onclick='stopEvent(event);' href='http://www.openstreetmap.org/' >OpenStreetMap</a> und Mitwirkende, <a onclick='stopEvent(event);' href='http://opendatacommons.org/licenses/odbl/'>ODbL</a>";
if(typeof HafasMap=="undefined")HafasMap={};
if(typeof Hafas=="undefined")Hafas={};
Hafas.HAFASJSIMAGEPATH    = Hafas.HAFASIMAGEPATH+"js/";
gImagePath                = Hafas.HAFASIMAGEPATH;
gJSMapImagePath           = Hafas.HAFASJSIMAGEPATH;
gBaseUrl                  = 'http://auskunft.nvv.de';
gImagePath                = '/hafas-res/img/';
gJSMapImagePath           = 'http://auskunft.nvv.de/hafas-res/img/js/';
var marker_icons = new Array();
marker_icons[1] =  'http://auskunft.nvv.de/hafas-res/img/icon_hms.png';
marker_icons[2] =  'http://auskunft.nvv.de/hafas-res/img//js/address.png';
marker_icons[4] =  'http://auskunft.nvv.de/hafas-res/img//js/poi.png';
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://auskunft.nvv.de/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("#suggestion div {font-size:12px;background:url(http://auskunft.nvv.de/hafas-res/img/icon_hms.png) no-repeat 2px 2px;}"));
style_node.appendChild(document.createTextNode("#suggestion div.adr, #suggestion div.adrselected {background:url(http://auskunft.nvv.de/hafas-res/img/icons/icon_address.png) no-repeat 0 0;}"));
style_node.appendChild(document.createTextNode("#suggestion div.poi, #suggestion div.poiselected {background:url(http://auskunft.nvv.de/hafas-res/img/icons/icon_poi.png) no-repeat 0 0;}"));
style_node.appendChild(document.createTextNode("#suggestion div.furtherMatches, #suggestion div.furtherMatchesselected {background:url(http://auskunft.nvv.de/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"){
last_style_node.addRule("#suggestion div", "background-repeat:no-repeat;");
last_style_node.addRule("#suggestion div", "font-size:12px;");
last_style_node.addRule("#suggestion div", "background-position: 2px 4px;");
last_style_node.addRule("#suggestion div", "background-image:url(http://auskunft.nvv.de/hafas-res/img/icon_hms.png);");
last_style_node.addRule("#suggestion div.selected", "background:#CCDDFE url(http://auskunft.nvv.de/hafas-res/img/icon_hms.png) no-repeat 0 2px;");
last_style_node.addRule("#suggestion div.adr", "background:url(http://auskunft.nvv.de/hafas-res/img/icons/icon_address.png) no-repeat 0 0;");
last_style_node.addRule("#suggestion div.adrselected", "background:#CCDDFE url(http://auskunft.nvv.de/hafas-res/img/icons/icon_address.png) no-repeat 0 0;");
last_style_node.addRule("#suggestion div.poi", "background:url(http://auskunft.nvv.de/hafas-res/img/icons/icon_poi.png) no-repeat 0 0;");
last_style_node.addRule("#suggestion div.poiselected", "background:#CCDDFE url(http://auskunft.nvv.de/hafas-res/img/icons/icon_poi.png) no-repeat 0 0;");
last_style_node.addRule("#suggestion div.furtherMatches", "background:url(http://auskunft.nvv.de/hafas-res/img/standard/bg_btn_mapblu.png) repeat-x scroll 0 0;");
last_style_node.addRule("#suggestion div.furtherMatchesselected", "background:#CCDDFE url(http://auskunft.nvv.de/hafas-res/img/standard/bg_btn_mapblu.png) repeat-x scroll 0 0;");
}
}
var timer;
var scriptArray = [
{ filename:"http://auskunft.nvv.de/hafas-res/js/FSuggest_v1.2s.js",loadflag:"gFSUGGEST",tester:"FSuggest" }
];
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 = jsfile;
fsugg.setAttribute('type','text/javascript');
fsugg.onload = function(){
count++;
loadScript(count);
};
// IE 6 & 7
var isLoaded = false;
var thisScriptCount = count;
fsugg.onreadystatechange = function() {
if(!isLoaded){
if (((this.readyState == 'complete') || (this.readyState == 'loaded')) && ((typeof self[scriptArray[thisScriptCount].tester] == 'object') || (typeof self[scriptArray[thisScriptCount].tester] == 'function'))) {
isLoaded = true;
count++;
loadScript(count);
}
}
}
document.getElementsByTagName("head")[0].appendChild(fsugg);
}
else
{
count++;
loadScript(count);
}
}else{
if(document.body == null){
attachSuggest2input();
}else{
initSuggestions();
}
}
}
/* 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(typeof 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] == "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 FSuggest({loc:suggid,
type:attr,
minChar:minChar,
cookiename:'std20-history',
requestURL:'http://auskunft.nvv.de/bin/ajax-getstop.exe/dny?start=1&tpl=suggest2json&'+additionalFiters+'REQ0JourneyStopsS0A='+suggestType+'&getstop=1&noSession=yes&REQ0JourneyStopsB=12&REQ0JourneyStopsS0G=',
stopDelay:400,
requestType:'js',
useMaps: false,
useHouseNumber:true,
useHighlighting: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);
}
}
}
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;
}
