// ******************************************************************
// *
// * LsFaqBase.js
// *
// * Copyright (C) 1999 by LexiQuest SA, France. All rights reserved.
// *
// ******************************************************************/

// ******************************************************************
// LsFaqBase class

//
// Initialization of LsFaqBase object.
//
function _lsFaqBaseInit(pAlias, pLabel)
{
  this.alias = pAlias;
  this.label = pLabel;
}


//
// Constructor.
//
function LsFaqBase(pAlias, pName)
{
  // "Public" methods.
  this.initialize  = _lsFaqBaseInit;

  this.initialize(pAlias, pName);
}


// ******************************************************************
// LsApplication class.
function LsApplication()
{
  this.name         = "";             // Name of application.
  this.baseLanguage = "";             // Its base (default) language (ISO code, e.g. "Fr", "En", etc.).
  this.userLanguage = "";             // Its user (GUI) language (ISO code).
  this.searchEngine = "";             // The default search engine.
  this.faqBases     = new Array();    // Array of LsFaqBase objects.
}


// ******************************************************************
// LsVersion class
function _lsVersionComputeVersions()
{
  
  this.commercialVersion = this.major + "." + this.minor;
  // We do not put maintenance number in commercial version if maintenance == 0.
  if (this.maintenance)
  {
    this.commercialVersion += "." + this.maintenance;
    this.fullVersion = this.commercialVersion;
  }
  else
  {
    this.fullVersion = this.commercialVersion;
    this.fullVersion += "." + this.maintenance;
  }
  this.fullVersion += "." + this.software + "." + this.lingware;
}

function LsVersion()
{
  // Methods.
  this.computeVersions = _lsVersionComputeVersions;

  // Properties.
  this.major       = 0;         // Major version number.
  this.minor       = 0;         // Minor version number.
  this.maintenance = 0;         // Maintenance version number.
  this.software    = 0;         // Software build number.
  this.lingware    = 0;         // Lingware build number.

  this.fullVersion       = "";  // Full version number (e.g. 1.6.0.17.18).
  this.commercialVersion = "";  // Commercial version (e.g. 1.6.1).
}


// ******************************************************************
// LsInformation class
function LsInformation()
{
  this.version      = new LsVersion();    // Product version.
  this.applications = new Array();        // Array of LsApplication objects.
}


// ******************************************************************
// LsProtectData class
function LsProtectData()
{
  this.keyName                = "";
  this.step                   = 0;
  this.crossLanguageProtected = 0;
  this.serialNumber           = "";
  this.startTime              = "";
  this.expirationTime         = "0";
  this.currentOperationNumber = 0;
  this.maxOperationNumber     = 0;
  this.crossLanguageOk        = 0;
  this.crossLanguageMessage   = "";
}

