
if(typeof gHafasWidget=="undefined"){
    var gHafasWidget="defined";
    var gHafasWidgetInstanceCounter=0;
    var gHafasWidgetInstances=new Array;
    function loadCSS(url){
        var css = document.getElementsByTagName("head")[0].appendChild(document.createElement("link"));
        css.setAttribute("rel","stylesheet");
        css.setAttribute("type","text/css");
        css.setAttribute("href",url);
    }

    function evaluateScripts(content){
        // Skripte erkennen
         if (navigator.userAgent.indexOf("MSIE")>-1){
           var compareScriptString = "<script type=\"text/javascript\">"; //"<script type=text/javascript>";
         }else{
           var compareScriptString = "<script type=\"text/javascript\">";
         }
         var prevIndex = 0;
         var currentIndex;
         var scripttext = "";
         var currentHtml = content;
         while(currentHtml.toLowerCase().indexOf(compareScriptString,prevIndex) >=0) {
           currentIndex = currentHtml.toLowerCase().indexOf(compareScriptString,prevIndex);
           var endIndex = currentHtml.toLowerCase().indexOf("</script>",currentIndex);
           scripttext += "\n" + currentHtml.slice(currentIndex+compareScriptString.length, endIndex);;
           prevIndex = currentIndex+1;
         }
         if(scripttext != "") {
               var newScript = document.createElement("script");
               newScript.type= "text/javascript";
               newScript.text= scripttext;
               newScript.language = "javascript";
               document.getElementsByTagName("head")[0].appendChild(newScript);
         }
    }
    function initStbTicker(){
        hfs_MTicker.init();
    }
    function getContent(container){
         // nur body ersetzen
         var bodyStart = content.indexOf("<body");
         // erstes tag nach dem body tag
         bodyStart += content.substring(bodyStart).indexOf(">") +1;
         var bodyEnd = content.indexOf("</body");
         document.getElementById(container).innerHTML = content.substring(bodyStart,bodyEnd);
         evaluateScripts(content);
    }
    function jsLibrary(jspath,callback){
        var jsonp = document.createElement("script");
        jsonp.type = 'text/javascript';
        jsonp.src = jspath;
        jsonp.onload = function(){
            if(typeof callback == "function") {
                callback();
            }
        }
        jsonp.onreadystatechange = function() {
            if (this.readyState == 'complete' || this.readyState == 'loaded') {
               if(typeof callback == 'function') {
                   callback();
               }
            }
         }
        document.getElementsByTagName("head")[0].appendChild(jsonp);
    }
    function HafasWidget(param){
        gHafasWidgetInstances[gHafasWidgetInstanceCounter]=this;
        this.instance=gHafasWidgetInstanceCounter++;
        var that = this;
        if(typeof param.container != 'undefined') {
            this.container = param.container;
            if(typeof param.width != 'undefined') {
                this.width = param.width;
            }else{
                this.width = '100%';
            }
            if(typeof param.height != 'undefined') {
                this.height = param.height;
            }else{
                this.height = '100%';
            }
            if(typeof param.language != 'undefined') {
                this.lang = param.language;
            }else{
                this.lang = 'n';
            }
            this.frame = document.createElement("iframe");
            /* Fixed Start? */
            if(typeof param.dest != 'undefined') {
               var startfixed = param.dest;
            }else{
               var startfixed = '';
            }
            // get Stboardticker via JSONP
            var jsonp = document.createElement("script");
            jsonp.type = 'text/javascript';
            jsonp.charset = param.charset;
            jsonp.src = 'http://www.dsb.dk/Rejseplan/bin/stboard.exe/mn?L=vs_dsbticker&container='+param.container;
            jsonp.onload = function(callback){
                 getContent(that.container);                 
            }
            jsonp.onreadystatechange = function() {
               if (this.readyState == 'complete' || this.readyState == 'loaded') {
                  getContent(that.container);
               }
            }
            document.getElementsByTagName("head")[0].appendChild(jsonp);
        }
    }
}
