// -----------------------
// Copyright by SGS
// Stadtplatz 22
// 84347 Pfarrkirchen
// -----------------------
// Globale Variablen
// -----------------------
var MAX_STATIONEN = 47;
var MAX_LINIE1 = 42;
var MAX_LINIE2 = 43;

// -----------------------
// MakeArray ( n )
// -----------------------
function MakeArray(n) {
  for (var i = 1; i <= n; i++) {
    this[i] = 0;
  }
  this.maxlen = n;
  this.len = 0;
  return this;
}

var Stat = new MakeArray(MAX_STATIONEN);
var Lin1 = new MakeArray(MAX_LINIE1);
var Lin2 = new MakeArray(MAX_LINIE2);

// -----------------------
// Define Station
// -----------------------
function Station(name, xpos, ypos, linien) {
  this.name = name;
  this.xpos = xpos;
  this.ypos = ypos;
  this.linien = linien;
}

// -----------------------
// Define Linie
// -----------------------
function Linie(LinNr, StatNr, Minute) {
  this.LinNr = LinNr;
  this.StatNr = StatNr;
  this.Minute = Minute;
}


// -----------------------
// Add an Station
// -----------------------
function AddStat(name, xpos, ypos, linien) {
  Stat.len++;
  
  if (Stat.len <= Stat.maxlen) {
    Stat[Stat.len] = new Station(name, xpos, ypos, linien) }
  else {
    alert("Better increase MAX_STATIONEN: " + Stat.len + ">" + Stat.maxlen)
  }
}

// -----------------------
// Add an Linie
// -----------------------
function AddLinie(LinNr, StatNr, Minute) {
  if (LinNr==1) {
    Lin1.len++;
    if (Lin1.len <= Lin1.maxlen) {
      Lin1[Lin1.len] = new Linie(LinNr, StatNr, Minute) }
    else {
      alert("Better increase MAX_LINIE1: " + Lin1.len + ">" + Lin1.maxlen)
    }
  }
  else {
    Lin2.len++;
    if (Lin2.len <= Lin2.maxlen) {
      Lin2[Lin2.len] = new Linie(LinNr, StatNr, Minute) }
    else {
      alert("Better increase MAX_LINIE2: " + Lin2.len + ">" + Lin2.maxlen)
    }
  }
}

// -----------------------
// Stationen
// -----------------------
AddStat("REAL",250,368,1);
AddStat("WEKO",280,360,1);
AddStat("Moosäckerstraße *)",310,330,1);
AddStat("Wochinger Straße (Mooshof)",272,330,1);
AddStat("Rottpark (Mooshof)",252,312,1);
AddStat("P+R / Festwiese",256,245,1);
AddStat("Stadtplatz (gegenüber Wimmerroß)",216,186,3);
AddStat("Gymnasium",199,139,3);
AddStat("Pollozek",184,80,1);
AddStat("Steffelsöd / REZA",166,33,1);
AddStat("Siedlung Gehring *)",158,36,1);
AddStat("Stadtplatz (Wimmerroß)",217,193,3);
AddStat("Östliche Ringstraße *)",235,198,1);
AddStat("Zulassungsstelle (Böhmerwaldsiedlung)",169,337,1);
AddStat("Schuldholzing",177,377,1);
AddStat("Höhenweg (Degernbach)",509,112,2);
AddStat("Sandweg (Degernbach)",495,126,2);
AddStat("Römerstraße (Degernbach)",474,149,2);
AddStat("Höckberg (Feuerwehr)",418,154,2);
AddStat("Am Burggraben",371,120,2);
AddStat("Kapellenweg",354,161,2);
AddStat("Bergring / Waldweg *)",333,160,2);
AddStat("Plank",338,190,2);
AddStat("Grundschule",297,185,2);
AddStat("Caritas-Altenheim",219,174,2);
AddStat("Am Paradiesgarten",240,156,2);
AddStat("Gartlberg",245,132,2);
AddStat("Neuer Friedhof",254,99,2);
AddStat("Ziegelbauer",250,27,2);
AddStat("Steinfeldweg (Steffelsöd)",206,24,2);
AddStat("Lindenweg (Steffelsöd)",202,45,2);
AddStat("Bachweg (Steffelsöd)",189,62,2);
AddStat("Am Ederhölzl / Spielplatz",201,86,2);
AddStat("Duschelstraße",217,123,2);
AddStat("Kolpinghaus",173,183,2);
AddStat("Lenaustraße",144,184,2);
AddStat("Galgenberg (Rieger)",102,188,2);
AddStat("Gambacher Weg *)",63,192,2);
AddStat("Kopernikusstraße",76,166,2);
AddStat("Krankenhaus",111,128,2);
AddStat("Ludwigstraße",98,52,2);
AddStat("Tassilostraße",124,63,2);
AddStat("Wittelsbacherstraße",138,90,2);
AddStat("Betty-Greif-Straße",177,93,2);
AddStat("Ritzinger (Mahlgassing)",356,187,2);
AddStat("Bräugasse",237,196,1);
AddStat("Industriestrasse",230,334,1);

// -----------------------
// Linie 1
// -----------------------
AddLinie(1,11,0);
AddLinie(1,9,1);
AddLinie(1,8,2);
AddLinie(1,12,5);
AddLinie(1,13,6);
AddLinie(1,6,8);
AddLinie(1,5,9);
AddLinie(1,47,10);
AddLinie(1,14,11);
AddLinie(1,15,12);
AddLinie(1,1,15);
AddLinie(1,2,16);
AddLinie(1,3,17);
AddLinie(1,4,18);
AddLinie(1,5,20);
AddLinie(1,6,21);
AddLinie(1,46,22);
AddLinie(1,7,24);
AddLinie(1,8,27);
AddLinie(1,9,28);
AddLinie(1,10,29);
AddLinie(1,11,30);
AddLinie(1,9,31);
AddLinie(1,8,32);
AddLinie(1,12,35);
AddLinie(1,13,36);
AddLinie(1,6,38);
AddLinie(1,5,39);
AddLinie(1,47,40);
AddLinie(1,14,41);
AddLinie(1,15,42);
AddLinie(1,1,45);
AddLinie(1,2,46);
AddLinie(1,3,47);
AddLinie(1,4,48);
AddLinie(1,5,50);
AddLinie(1,6,51);
AddLinie(1,46,52);
AddLinie(1,7,54);
AddLinie(1,8,57);
AddLinie(1,9,58);
AddLinie(1,10,59);

// -----------------------
// Linie 2
// -----------------------
AddLinie(2,16,0);
AddLinie(2,17,0);
AddLinie(2,18,1);
AddLinie(2,19,3);
AddLinie(2,20,4);
AddLinie(2,21,5);
AddLinie(2,22,9);
AddLinie(2,23,8);
AddLinie(2,24,10);
AddLinie(2,7,15);
AddLinie(2,25,17);
AddLinie(2,26,18);
AddLinie(2,27,19);
AddLinie(2,28,20);
AddLinie(2,29,21);
AddLinie(2,30,22);
AddLinie(2,31,22);
AddLinie(2,32,23);
AddLinie(2,33,24);
AddLinie(2,34,25);
AddLinie(2,25,26);
AddLinie(2,7,30);
AddLinie(2,35,31);
AddLinie(2,36,31);
AddLinie(2,37,33);
AddLinie(2,38,34);
AddLinie(2,39,35);
AddLinie(2,40,37);
AddLinie(2,41,39);
AddLinie(2,42,39);
AddLinie(2,43,41);
AddLinie(2,44,42);
AddLinie(2,8,43);
AddLinie(2,12,46);
AddLinie(2,24,48);
AddLinie(2,45,49);
AddLinie(2,21,50);
AddLinie(2,20,51);
AddLinie(2,19,52);
AddLinie(2,18,54);
AddLinie(2,17,55);
AddLinie(2,16,56);


// ----------------------------
// Suche Abfahrtszeit (Station)
// ----------------------------
function Abfahrtszeit(Statnr) {
  var today = new Date();
  var minutes = today.getMinutes();
  var hours = today.getHours();
  var dosminutos = "00"
  var found="False";
  var maxdiff=1000;
  var diff;

  for (var i = 1; i <= Lin1.len; i++) {
    if (Lin1[i].StatNr == Statnr) {
      if (Lin1[i].Minute < 10) {
        dosminutos="0"+Lin1[i].Minute;
      }else{
        dosminutos=Lin1[i].Minute;
      }
      if (Lin1[i].Minute >= minutes) {
        diff= Lin1[i].Minute - minutes;
        if (diff<maxdiff) {
          maxdiff=diff;
          found = hours+":"+dosminutos;
        }
      }
      else {
        diff= Lin1[i].Minute + 60 - minutes;
        if (diff<maxdiff) {
          maxdiff=diff;
          found = (hours+1)+":"+dosminutos;
        }
      }

    }
  }

  for (var i = 1; i <= Lin2.len; i++) {
    if (Lin2[i].StatNr == Statnr) {
      if (Lin2[i].Minute < 10) {
        dosminutos="0"+Lin2[i].Minute;
      }else{
        dosminutos=Lin2[i].Minute;
      }
      if (Lin2[i].Minute >= minutes) {
        diff= Lin2[i].Minute - minutes;
        if (diff<maxdiff) {
          maxdiff=diff;
          found = hours+":"+dosminutos;
        }
      }
      else {
        diff= Lin2[i].Minute + 60 - minutes;
        if (diff<maxdiff) {
          maxdiff=diff;
          found = (hours+1)+":"+dosminutos;
        }
      }
    }
  }

  window.document.Plan.Zeit.value = found;
}


// -----------------------
// Mouse Over
// -----------------------
function MOver(Statnr) {
  var st = Stat[Statnr];

  window.document.Plan.Display.value = st.name;

  Abfahrtszeit(Statnr);

  // window.document.Plan.Zeit.value = "00:00";
  self.status = 'Haltestelle ' + st.name;
}

// -----------------------
// Mouse Out
// -----------------------
function MOut() {
  window.document.Plan.Display.value = "Bitte wählen";
  window.document.Plan.Zeit.value = "00:00";
  self.status = ' ';
}

function ThreeFrames(URL1,F1,URL2,F2,URL3,F3) {  
  parent.frames[F1].location.href=URL1;
  parent.frames[F2].location.href=URL2;
  parent.frames[F3].location.href=URL3; }

function openWin (url,mwidth,mheight)
        {
        var ExternalWin = window.open(url, "QUELLE" ,"scrollbars=0,width=" + mwidth  + ",height=" + mheight);
          if (navigator.appName == 'Netscape') {
          ExternalWin.focus();
          }
        }

