// Fehlerbehandlungsklasse
// <!--DATE-->10.04.2001<!--/DATE-->

// Konstruktor
function Error(error_class, code, segment, message_eng, message_ger)
{
  // Attributes
  this.code=code;          // Errorcode (within the Segment
  this.segment=segment;    // Code-Segment
  this.errorClass=error_class;        // Severity: Warning, Exception, Error
  this.messageEng=message_eng;  // english message text
  this.messageGer=message_ger;  // german message text
  this.next=null;               // next error in errorlist

  // methods
  this.toString=function()  {
    if(Application && Application.language){
      return this.toLocalString(Application.language);
    }
    else{
      return this.messageEng + "\n" + this.next;
    }
  }

  this.toLocalString=function (language)  {
    var retString;
    switch(language)
    {
      case "de":
          retString=this.messageGer;
          break;
      case "eng":
          retString=this.messageEng;
          break;
      default:
          retString=this.messageEng;
          break;
    }
    if(this.next){
      return retString + "\n" + this.next.toLocalString(language);
    }
    else
      return retString;
  }

  this.addError=function (error)  {
    if(!this.isError){
      return error;
    }
    else{
      error.next=this;
      return error;
    }
  }

  this.isError=function(){
    return (this.code!=0);  // return true if some errorcode has been set
  }

  this.valueOf=function(){
    return this.segment*1000+this.code;
  }
}

Error.NO_ERROR=0;
Error.WARNING=1;
Error.EXCEPTION=2;
Error.ERROR=3;


Error.INPUT_ERROR=1;
