var Wochentag = new Array("So.","Mo.","Di.","Mi.","Do.","Fr.","Sa.");

function Flug(strParams, arrRegeln){
  var arrParams = strParams.split(";");
  this.ID       = arrParams[0];
  this.TTBuchID = arrParams[1];
  this.DlcHin   = arrParams[2];
  this.DlcRueck = arrParams[3];
  this.Datum    = arrParams[4];
  this.ZeitAb   = arrParams[5];
  this.ZeitAn   = arrParams[6];
  this.Vera     = arrParams[7];
  this.Preis    = arrParams[8];
  this.TimeSt   = arrParams[9];
  this.FlugNr   = arrParams[10];
  this.Vakanz   = "";
  this.Frei     = "-";
  this.ProdNr   = "";
  this.Class    = "";
  this.Checked  = 0;
  this.mExtra   = 0;
  this.Marge    = this.setMarge(arrRegeln);
}// Ende Klasse Flug

Flug.prototype.setMarge = function(arrRegeln){
  var marge = 0;
  var mExtra = 0;
  var anzRegeln = arrRegeln.length;
  var flg_pr   = this.Preis;
  var flg_vera = this.Vera;
  var flg_abfl = this.DlcHin;
  var flg_ziel = this.DlcRueck;
  var flg_date = new Date("20"+this.Datum.split('.')[2],this.Datum.split('.')[1],this.Datum.split('.')[0]);
  var flg_flnr = this.FlugNr;

  for(var i=0;i<anzRegeln;i++){
    aktRegel = arrRegeln[i].split(';');
    var rgl_euro = aktRegel[0];
    var rgl_vera = aktRegel[1];
    var rgl_abfl = aktRegel[2];
    var rgl_ziel = aktRegel[3];
    if(aktRegel[4]!="")
      var rgl_mind = new Date("20"+this.Datum.split('.')[2],aktRegel[4].split('.')[1],aktRegel[4].split('.')[0]);
    else
      var rgl_mind = "";
    if(aktRegel[5]!=""){
      var rgl_maxd = new Date("20"+this.Datum.split('.')[2],aktRegel[5].split('.')[1],aktRegel[5].split('.')[0]);
      if(rgl_mind!="" && rgl_maxd<rgl_mind){
        rgl_maxd.setYear(rgl_maxd.getFullYear()+1);
      }
    }else{
      var rgl_maxd = "";
    }
    var rgl_flnr  = aktRegel[6];
    var rgl_mXtra = aktRegel[7];

    if( (rgl_vera=="" || flg_vera==rgl_vera) &&
        (rgl_abfl=="" || flg_abfl==rgl_abfl) &&
        (rgl_ziel=="" || flg_ziel==rgl_ziel) &&
        ((rgl_mind=="" && rgl_maxd=="") || (flg_date>=rgl_mind && flg_date<=rgl_maxd)) &&
        (rgl_flnr=="" || flg_flnr==rgl_flnr)
    ){
      // wird evtl im folgenden Durchlauf ersetzt.
      marge = parseInt(rgl_euro);
    }
  }
  this.mExtra = rgl_mXtra;
  return marge;
}// Ende Funktion setMarge

Flug.prototype.getPreis = function(){
  var outPreis = this.Preis;
  if(this.mExtra!="1"){   // Margen werden in Preis eingerechnet
    outPreis = parseInt(this.Preis)+parseInt(this.Marge);
  }
  return outPreis;
}

Flug.prototype.getTag = function(arrTage){
  // Wochentag ermitteln
  var tmpDate = new Date(parseInt(this.TimeSt)*1000);
  var iWT     = tmpDate.getDay();
  var WT      = arrTage[iWT];
  return WT;
}

Flug.prototype.getFlugNr = function(){
  if(this.Class=="undefined" || this.Class==""){
    return this.FlugNr;
  }else{
    return this.FlugNr+"*";
  }
}

Flug.prototype.getFrei = function(pFlug){
  //<img src=\"/kunden_parameter/bistroportal/1way/images/unbekannt.gif\" border=\"0\" alt=\"Verfügbarkeit prüfen\" vspace=\"3\">
  if(this.Frei=="-"){
    return "<a href=\"javascript:void(0);\" onclick=\"selectFlug('"+pFlug+"');return false\" class=\"lnkCheckvak bold\">prüfen &gt;</a>";
  }else if(this.Frei=="ka"){
    return "<img src=\""+pf_img+"/pruefe_ani1.gif\" border=\"0\" alt=\"wird geprüft\">&nbsp;";
  }else if(this.Frei=="?"){
    return "<span title=\"Verf&uuml;gbarkeit konnte nicht &uuml;berprüft werden\"><b>X</b></span>";
  }else if(this.Frei=="X"){
    return "<span class=\"PreisNichtFrei\">ausgeb.</span>";
  }else if(this.Frei=="frei"){
    return "<span class=\"PreisFrei\">"+this.Frei+"</span>";
  }else{
    return this.Frei;
  }
  return "";
}

Flug.prototype.showFlugDaten = function(){
  return " von "+dlc2name(arrFlughaefen,this.DlcHin)+" nach "+dlc2name(arrFlughaefen,this.DlcRueck)+"<br>am "+this.getTag(Wochentag)+" "+this.Datum+" um "+this.ZeitAb+" Uhr mit "+this.getVaLang()+", Flug Nr. "+this.FlugNr;
}

Flug.prototype.toString = function(){
  return this.ID+";"+this.TTBuchID+";"+this.DlcHin+";"+this.DlcRueck+";"+this.Datum+";"+this.ZeitAb+";"+this.ZeitAn+";"+this.Vera+";"+this.Preis+";"+this.TimeSt+";"+this.FlugNr;
}

Flug.prototype.getSeason = function(){
  var abreise = new Date();
  abreise.setTime(parseInt(this.TimeSt)*1000);
  var monat = abreise.getMonth();
  return (monat>3 && monat<10)?"s":"w";
}
Flug.prototype.getZeit = function(typ){
    switch(typ){
      case "ab":
        return this.ZeitAb!=""?this.ZeitAb+"h":"&nbsp;";break;
      case "an":
        return this.ZeitAn!=""?this.ZeitAn+"h":"&nbsp;";break;
    }
}
Flug.prototype.getVaLogo = function(oImages){
  return '<img src="'+oImages[this.Vera].src+'" width="76" height="21" alt="'+this.getVaLang()+'" title="'+this.getVaLang()+'">';
}
Flug.prototype.getVaLang = function(){
  var vaLang=this.Vera;
  switch(this.Vera){
    case "HLF": vaLang = "Hapag-Lloyd";break;
    case "CFI": vaLang = "Condor";break;
    case "AB": vaLang = "Air-Berlin";break;
    case "LTU": vaLang = "LTU";break;
    case "X3": vaLang = "Hapag-Lloyd Express";break;
    case "U2": vaLang = "EasyJet";break;
    case "4U": vaLang = "Germanwings";break;
    case "FR": vaLang = "RyanAir";break;
    case "DBA": vaLang = "DBA";break;
    case "DBI": vaLang = "DBA";break;
  }
  return vaLang;
}
