if(typeof HafasHIM=="undefined")HafasHIM={};
//-----------------------------------------------------------------
// Hafas Widget Configuration
//-----------------------------------------------------------------
HafasHIM.HAFASHIMMATCHJSONURL = "http://auskunft.nvv.de/bin/query.exe/dny?performLocating=512&tpl=himmatch2json&look_nv=type|himmatch|";
HafasHIM.HAFASIMAGEPATH       = "http://auskunft.nvv.de/hafas-res/img/";
HafasHIM.HAFASJSIMAGEPATH     = HafasHIM.HAFASIMAGEPATH+"js/";
HafasHIM.HAFASCSSPATH         = "http://auskunft.nvv.de/hafas-res/css/";
HafasHIM.HAFASSCRIPTPATH      = "http://auskunft.nvv.de/hafas-res/js/";
HafasHIM.HAFASAJAXSCRIPTPATH  = HafasHIM.HAFASSCRIPTPATH+"HafasAjaxWidget/";
HafasHIM.H4BACKGROUNDIMAGE    = HafasHIM.HAFASIMAGEPATH+"d/himwidget_header.jpg";
HafasHIM.t_header = "";
HafasHIM.t_period = "Zeitraum";
HafasHIM.t_title  = "Titel";
HafasHIM.t_text   = "Information";
HafasHIM.t_tablesummary = "Verkehrsmeldungen";
HafasHIM.t_nomessages = "Es liegen keine Verkehrsmeldungen vor";
HafasHIM.t_error = "Es liegen keine Verkehrsmeldungen vor [HW1]";
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_himwidget.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(http://auskunft.nvv.de/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;}"));
}
// 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(".s-tooltip", "background-image:url(http://auskunft.nvv.de/hafas-res/img/tooltip-point.gif)");
last_style_node.addRule(".s-tooltip", "background-position:0 50%;");
last_style_node.addRule(".s-tooltip", "font-size:12px;");
}
}
var timer;
HafasHIM.loadScript = function(jsfile,count){
if(count < HafasHIM.scriptArray.length){
var fsugg = document.getElementsByTagName("head")[0].appendChild(document.createElement("script"));
fsugg.src = "http://auskunft.nvv.de/hafas-res/js/"+jsfile;
fsugg.setAttribute('type','text/javascript');
fsugg.onload = function(){
count++;
HafasHIM.loadScript(HafasHIM.scriptArray[count],count);
};
// IE 6 & 7
fsugg.onreadystatechange = function() {
//if (this.readyState == 'complete' || this.readyState == 'loaded') {
if (this.readyState == 'complete') {
count++;
HafasHIM.loadScript(HafasHIM.scriptArray[count],count);
}
}
}else{
window.setTimeout("HafasHIM.init()",1000);
}
}
/* JS Bibliothek einbinden */
//if(typeof gFSuggest == 'undefined') {
//
//}
HafasHIM.decodeHIMText = function(himtext){
var dectext = himtext;
return dectext;
}
HafasHIM.init = function(){
window.clearInterval(timer);
var elements = HafasHIM.getElementsByClass("HafasHIM",null,"div");
for (var i=0;i < elements.length; i++) {
if(elements[i].id != 'undefined') {
var divid = elements[i].id;
}else{
var divid = 'hfmw_div_' + i;
elements[i].id=divid;
}
var attr={container:divid};
var classNames = elements[i].className;
classNames = classNames.replace(/\s/g," ");
var classes = classNames.split(" ");
for(var j=0;j < classes.length; j++){
var classe = classes[j].split(":");
switch(classe[0]){
case "HafasHIM_products":
attr.products=classe[1].toString();
break;
case "HafasHIM_maxnumber":
attr.maxnumber=classe[1].replace(/_/g, " ");
break;
case "HafasHIM_extId":
attr.extId=Number(classe[1]);
break;
case "HafasHIM_trainname":
attr.trainname=classe[1].replace(/_/g, " ");
break;
case "HafasHIM_date":
attr.date=classe[1].replace(/_/g, " ");
break;
case "HafasHIM_title":
attr.title=classe[1].replace(/_/g, " ");
break;
case "HafasHIM_style":
attr.style=classe[1].replace(/_/g, " ");
break;
case "HafasHIM_noheader":
attr.noheader=true;
break;
}
}
new HafasHIM.HafasHIMWidget(attr);
}
}
function loaded(){
if(typeof document.body != 'undefined' || document.body != null)
HafasHIM.init();
}
HafasHIM.getElementsByClass = function( 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;
}
HafasHIM.scriptArray = ["HafasAjaxWidget/HafasHIMWidget_v1.0.js"];
HafasHIM.loadScript(HafasHIM.scriptArray[0],0);
