//
//NOTE: A call to MSReaderWebShop_GetMSReaderState() should be made prior to
//NOTE: including this javascript (as this sample code stands...)
//

/*******************************************************************************
We define an array with messages.  Even though the strings are largely the same,
for localization purposes we can't make assumptions about word order, etc. so we
put each possible result string in the table.  Translation of the strings will be
easier as well with all strings grouped together in one table.

The logic sets a variable, nMsgID, equal to the correct index into the 
message array. The IF-THEN logic that comes next follows the flow table from
the detection grid.  nMsgID is *incremented* the correct amount
so that it ends up pointing to the right message for the detected
platform.
*********************************************************************************/

//This block includes URLs for Microsoft Internal Testing.  Comment them out and then uncomment
//the next section for shipping URLs.
//
_ActivationURL = "http://das.microsoft.com/activate/default.asp";
var _szURL_DesktopReaderFull = "http://download.microsoft.com/download/c/0/5/c054434d-6075-4d3f-bd47-3936e9ebc707/MSReaderSetupFRA.exe";
var _szURL_TabletReaderFull = "http://download.microsoft.com/download/4/d/b/4dbc0dbc-47c8-4ef5-b6f0-a15bf99c7a41/Readerv25setupFRA.exe";
var _szURL_PocketReaderFull = "http://download.microsoft.com/download/f/4/c/f4c93b13-9e65-46cb-aa2d-acbd895c08f6/MSReaderPPCSetupFRA.exe";
var _szURL_DesktopReaderUpdate = "http://download.microsoft.com/download/9/3/d/93d81395-8655-490b-b50f-25e79db4f915/MSReaderUpdate.exe";
var _szURL_TabletReaderUpdate = "http://download.microsoft.com/download/7/a/8/7a8b9fef-ae50-41d3-95f8-c3683f81cf19/MSReaderUpdate.exe";
var _szURL_PocketReaderUpdate = "http://download.microsoft.com/download/5/1/6/516dc14e-d5c7-4863-905e-7cca0f67baf4/MSReaderPPCUpdate.exe";

/*
//This block includes the shipping URLs
//
_ActivationURL = "http://das.microsoft.com/activate/default.asp";
var _szURL_DesktopReaderFull = "http://download.microsoft.com/download/msreader/Install/2.1/W98NT42KMeXP/EN-US/msreadersetup.exe";
var _szURL_TabletReaderFull = "http://download.microsoft.com/download/reader21/Install/2.5/WXP/EN-US/Readerv25setupUSA.exe";
var _szURL_PocketReaderFull = "http://download.microsoft.com/download/msreader/Install/2.0/W98NT42KMeXP/EN-US/MSReaderPPCSetup.exe";
var _szURL_DesktopReaderUpdate = "http://updatePCReader.exe";
var _szURL_TabletReaderUpdate = "http://updatetabletreader.exe";
var _szURL_PocketReaderUpdate = "http://UpdatePocketReader.exe";
*/

//Don't change this, it's the preferred method for loading up the activation site
var _szActivateLink = _ActivationURL;

//Pocket PC 2002 always needs the full install, Reader/DAS Swat #143
var _szURL_PocketReader;
if (_bMSR_PPC02 & _nMSR_State)
  _szURL_PocketReader = _szURL_PocketReaderFull;
else
  _szURL_PocketReader = _szURL_PocketReaderUpdate;

var szMsg = new Array( 
//	 "Generic Message: NO or OLD Dasshp.DLL installed, Unknown Reader, Unknown Platform, Old or No Activation", 
"<p>Votre version de Microsoft Reader est peut-&#234;tre p&#233;rim&#233;e. T&#233;l&#233;chargez et installez le fichier appropri&#233; ci-apr&#232;s pour vous assurer que vous disposez de la derni&#232;re version:<ul>  <li><a href='" + _szURL_DesktopReaderFull + "'>Microsoft Reader pour PC</a> (3,63 Mo)</li><li><a href='" + _szURL_TabletReaderFull + "'>Microsoft Reader pour Tablet PC</a> (3,84 Mo)</li><li><a href='" + _szURL_PocketReaderFull + "'>Microsoft Reader pour Pocket PC </a> (2,23 Mo)</li></ul><p>Vous devez &#233;galement activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Generic Message: NO or OLD Dasshp.DLL installed, Unknown Reader, Win32 Platform, Old or No Activation", 
"<p>Votre version de Microsoft Reader est peut-&#234;tre obsolète. T&#233;l&#233;chargez et installez le fichier appropri&#233; ci-apr&#232;s pour vous assurer que vous disposez de la derni&#232;re version:<ul>  <li><a href='" + _szURL_DesktopReaderFull + "'>Microsoft Reader pour PC</a> (3,63 Mo)</li><li><a href='" + _szURL_TabletReaderFull + "'>Microsoft Reader pour Tablet PC</a> (3,84 Mo)</li></ul><p>Vous devez &#233;galement activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Generic Message: NO or OLD Dasshp.DLL installed, Unknown Reader, PPC Platform, Old or No Activation", 
"<p>Votre version de Microsoft Reader est peut-&#234;tre obsolète. T&#233;l&#233;chargez et installez le fichier ci-apr&#232;s pour vous assurer que vous disposez de la derni&#232;re version :<ul><li><a href='" + _szURL_PocketReaderFull + "'>Microsoft Reader pour Pocket PC </a> (2,23 Mo)</li></ul><p>Vous devez &#233;galement activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>",
	 

//	 "Desktop, No Reader, Old or No Activation, can always say 'download reader and activate it'", 
"<p>Microsoft Reader n'est pas install&#233; sur votre syst&#232;me. T&#233;l&#233;chargez et installez le fichier plus r&#233;cent ci-apr&#232;s : <ul>  <li><a href='" + _szURL_DesktopReaderFull + "'>Microsoft Reader pour PC</a> (3,63 Mo)</li></ul><p>Vous devez &#233;galement activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Desktop, No Reader, Current or Newer Activation, can just say 'download reader'", 
"<p>Microsoft Reader n'est pas install&#233; sur votre syst&#232;me. T&#233;l&#233;chargez et installez le fichier plus r&#233;cent ci-apr&#232;s : <ul>  <li><a href='" + _szURL_DesktopReaderFull + "'>Microsoft Reader pour PC</a> (3,63 Mo)</li></ul>", 
//	 "Desktop, Old Reader, Old or No Activation, can always say 'download new/updated/whatever reader and activate it'", 
"<p>Votre version de Microsoft Reader est p&#233;rim&#233;e. T&#233;l&#233;chargez et installez le fichier plus r&#233;cent ci-apr&#232;s : <ul>  <li><a href='" + _szURL_DesktopReaderUpdate + "'>Microsoft Reader pour PC</a> (1,84 Mo)</li></ul><p>Vous devez &#233;galement activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Desktop, Old Reader, New Activation, can just say 'download new reader'", 
"<p>Votre version de Microsoft Reader est p&#233;rim&#233;e. T&#233;l&#233;chargez et installez le fichier plus r&#233;cent ci-apr&#232;s : <ul>  <li><a href='" + _szURL_DesktopReaderUpdate + "'>Microsoft Reader pour PC</a> (1,84 Mo)</li></ul>", 
//	 "Desktop, New Reader, Old or No Activation, can always say 'need to activate it'", 
"<p>Votre version de Microsoft Reader est &#224; jour. Il n'est pas n&#233;cessaire de t&#233;l&#233;charger une version plus r&#233;cente. Vous devez n&#233;anmoins activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour pouvoir acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Desktop, New Reader, New Activation, can always say, 'you are all set'", 
"<p>Votre version de Microsoft Reader est &#224; jour et activ&#233;e. Vous pouvez commencer &#224; acqu&#233;rir et &#224; lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p>", 
//	 "Desktop, Old 1.5 Reader, Old or No Activation, can always say 'download new/updated/whatever reader and activate it'", 
"<p>Votre version de Microsoft Reader est p&#233;rim&#233;e. T&#233;l&#233;chargez et installez le fichier plus r&#233;cent ci-apr&#232;s : <ul>  <li><a href='" + _szURL_DesktopReaderFull + "'>Microsoft Reader pour PC</a> (1,84 Mo)</li></ul><p>Vous devez &#233;galement activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Desktop, Old 1.5 Reader, New Activation, can just say 'download new reader'", 
"<p>Votre version de Microsoft Reader est p&#233;rim&#233;e. T&#233;l&#233;chargez et installez le fichier plus r&#233;cent ci-apr&#232;s : <ul>  <li><a href='" + _szURL_DesktopReaderFull + "'>Microsoft Reader pour PC</a> (1,84 Mo)</li></ul>",

//	 "Tablet PC, No Reader, Old or No Activation, can always say 'download reader and activate it'", 
"<p>Microsoft Reader n'est pas install&#233; sur votre syst&#232;me. T&#233;l&#233;chargez et installez le fichier plus r&#233;cent ci-apr&#232;s :<ul><li><a href='" + _szURL_TabletReaderFull + "'>Microsoft Reader pour Tablet PC</a> (3,84 Mo)</li></ul><p>Vous devez &#233;galement activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Tablet PC, No Reader, Current or Newer Activation, can just say 'download reader'", 
"<p>Microsoft Reader n'est pas install&#233; sur votre syst&#232;me. T&#233;l&#233;chargez et installez le fichier plus r&#233;cent ci-apr&#232;s :<ul><li><a href='" + _szURL_TabletReaderFull + "'>Microsoft Reader pour Tablet PC</a> (3,84 Mo)</li></ul>", 
//	 "Tablet PC, Old Reader, Old or No Activation, can always say 'download new/updated/whatever reader and activate it'", 
"<p>Votre version de Microsoft Reader est p&#233;rim&#233;e. T&#233;l&#233;chargez et installez le fichier plus r&#233;cent ci-apr&#232;s :<ul><li><a href='" + _szURL_TabletReaderUpdate + "'>Microsoft Reader pour Tablet PC</a> (1,91 Mo)</li></ul><p>Vous devez &#233;galement activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Tablet PC, Old Reader, New Activation, can just say 'download new reader'", 
"<p>Votre version de Microsoft Reader est p&#233;rim&#233;e. T&#233;l&#233;chargez et installez le fichier plus r&#233;cent ci-apr&#232;s :<ul><li><a href='" + _szURL_TabletReaderUpdate + "'>Microsoft Reader pour Tablet PC</a> (1,91 Mo)</li></ul>", 
//	 "Tablet PC, New Reader, Old or No Activation, can always say 'need to activate it'", 
"<p>Votre version de Microsoft Reader est &#224; jour. Il n'est pas n&#233;cessaire de t&#233;l&#233;charger une version plus r&#233;cente. Vous devez n&#233;anmoins activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour pouvoir acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Tablet PC, New Reader, New Activation, can always say, 'you are all set'", 
"<p>Votre version de Microsoft Reader est &#224; jour et activ&#233;e. Vous pouvez commencer &#224; acqu&#233;rir et &#224; lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p>",


//	 "Win32, No Reader, Old or No Activation, can always say 'download reader and activate it'", 
"<p>Microsoft Reader n'est pas install&#233; sur votre syst&#232;me. T&#233;l&#233;chargez et installez le fichier appropri&#233; ci-apr&#232;s :<ul>  <li><a href='" + _szURL_DesktopReaderFull + "'>Microsoft Reader pour PC</a> (3,63 Mo)</li><li><a href='" + _szURL_TabletReaderFull + "'>Microsoft Reader pour Tablet PC</a> (3,84 Mo)</li></ul><p>Vous devez &#233;galement activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Win32, No Reader, Current or Newer Activation, can just say 'download reader'", 
"<p>Microsoft Reader n'est pas install&#233; sur votre syst&#232;me. T&#233;l&#233;chargez et installez le fichier appropri&#233; ci-apr&#232;s :<ul>  <li><a href='" + _szURL_DesktopReaderFull + "'>Microsoft Reader pour PC</a> (3,63 Mo)</li><li><a href='" + _szURL_TabletReaderFull + "'>Microsoft Reader pour Tablet PC</a> (3,84 Mo)</li></ul>", 
//	 "Win32, Old Reader, Old or No Activation, can always say 'download new/updated/whatever reader and activate it'", 
"<p>Votre version de Microsoft Reader pour PC ou pour Tablet PC est p&#233;rim&#233;e. T&#233;l&#233;chargez et installez le fichier appropri&#233; ci-apr&#232;s : <ul>  <li><a href='" + _szURL_DesktopReaderUpdate + "'>Microsoft Reader pour PC</a> (1,84 Mo)</li><li><a href='" + _szURL_TabletReaderUpdate + "'>Microsoft Reader pour Tablet PC</a> (1,91 Mo)</li></ul><p>Vous devez &#233;galement activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Win32, Old Reader, New Activation, can just say 'download new reader'", 
"<p>Votre version de Microsoft Reader pour PC ou pour Tablet PC est p&#233;rim&#233;e. T&#233;l&#233;chargez et installez le fichier appropri&#233; ci-apr&#232;s : <ul>  <li><a href='" + _szURL_DesktopReaderUpdate + "'>Microsoft Reader pour PC</a> (1,84 Mo)</li><li><a href='" + _szURL_TabletReaderUpdate + "'>Microsoft Reader pour Tablet PC</a> (1,91 Mo)</li></ul>", 
//	 "Win32, New Reader, Old or No Activation, can always say 'need to activate it'", 
"<p>Votre version de Microsoft Reader est &#224; jour. Il n'est pas n&#233;cessaire de t&#233;l&#233;charger une version plus r&#233;cente. Vous devez n&#233;anmoins activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour pouvoir acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Win32, New Reader, New Activation, can always say, 'you are all set'", 
"<p>Votre version de Microsoft Reader est &#224; jour et activ&#233;e. Vous pouvez commencer &#224; acqu&#233;rir et &#224; lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p>",
	 

//	 "Pocket PC, No Reader, Old or No Activation, can always say 'download reader and activate it'", 
"<p>Microsoft Reader pour Pocket PC n'est pas install&#233; sur votre syst&#232;me. T&#233;l&#233;chargez et installez le fichier plus r&#233;cent ci-apr&#232;s :<ul><li><a href='" + _szURL_PocketReaderFull + "'>Microsoft Reader pour Pocket PC </a> (2,23 Mo)</li></ul><p>Vous devez &#233;galement activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Pocket PC, No Reader, Current or Newer Activation, can just say 'download reader'", 
"<p>Microsoft Reader pour Pocket PC n'est pas install&#233; sur votre syst&#232;me. T&#233;l&#233;chargez et installez le fichier plus r&#233;cent ci-apr&#232;s :<ul><li><a href='" + _szURL_PocketReaderFull + "'>Microsoft Reader pour Pocket PC </a> (2,23 Mo)</li></ul>", 
//	 "Pocket PC, Old Reader, Old or No Activation, can always say 'download new/updated/whatever reader and activate it'", 
"<p>Votre version de Microsoft Reader pour Pocket PC est p&#233;rim&#233;e. T&#233;l&#233;chargez et installez le fichier plus r&#233;cent ci-apr&#232;s :<ul><li><a href='" + _szURL_PocketReader + "'>Microsoft Reader pour Pocket PC</a> (1,53 Mo)</li></ul><p>Vous devez &#233;galement activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Pocket PC, Old Reader, New Activation, can just say 'download new reader'", 
"<p>Votre version de Microsoft Reader pour Pocket PC est p&#233;rim&#233;e. T&#233;l&#233;chargez et installez le fichier plus r&#233;cent ci-apr&#232;s :<ul><li><a href='" + _szURL_PocketReader + "'>Microsoft Reader pour Pocket PC</a> (1,53 Mo)</li></ul></p>", 
//	 "Pocket PC, New Reader, Old or No Activation, can always say 'need to activate it'", 
"<p>La derni&#232;re version de Microsoft Reader pour Pocket PC est install&#233;e sur votre syst&#232;me. Il n'est pas n&#233;cessaire de t&#233;l&#233;charger une version plus r&#233;cente. Vous devez n&#233;anmoins activer (ou r&#233;activer) votre p&#233;riph&#233;rique pour pouvoir acqu&#233;rir et lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p><p><a href=" + _szActivateLink + ">Cliquez ici</a> pour commencer l'activation.</p>", 
//	 "Pocket PC, New Reader, New Activation, can always say, 'you are all set'" 
"<p>La derni&#232;re version de Microsoft Reader pour Pocket PC est install&#233;e et activ&#233;e sur votre syst&#232;me. Vous pouvez commencer &#224; acqu&#233;rir et &#224; lire des livres &#233;lectroniques Microsoft Reader s&#233;curis&#233;s num&#233;riquement.</p>" 
);

//Default to message 0, unknown everything
var nMsgID = 0;

//Kathy, here is a way to test the logic below.  Comment out the line above that calls dasshp.dll to get
//the reader state.  Uncomment one of the lines below, and then try again.  The lines below simply
//set _nMSR_State to a known value, AS IF it was returned from GetMSReaderState().  I've only included a 
//few bit combinations to get the idea across.
//
//_nMSR_State = _bMSR_TABLET | _bMSR_RDR_CURR | _bMSR_BB_OLD;
//_nMSR_State = _bMSR_DESKTOP | _bMSR_RDR_CURR | _bMSR_BB_NONE;
//_nMSR_State = _bMSR_TABLET | _bMSR_RDR_CURR | _bMSR_BB_CURR;
//_nMSR_State = _bMSR_PPC02 | _bMSR_RDR_CURR | _bMSR_BB_OLD;
//_nMSR_State = _bMSR_UNKNOWN | _bMSR_RDR_NONE | _bMSR_BB_CURR;


// QFE5 - Added checks for _fWebShopCurrent when checking if the black box is up to date.
//        _fWebShopCurrent is set to true in MSReaderWebshop.js if the dasshp.dll is up to date
//        If it is not up to date then we know that the black box is not up to date.
//
//  jscottm 09/23/2003
//

// QFE4 rollback 10/7/03

if (_bMSR_RDR_UNKNOWN & _nMSR_State)
{
  if (_bMSR_WIN32 & _nMSR_State)
    nMsgID = 1;
  else if ((_bMSR_PPC02 | _bMSR_PPC03) & _nMSR_State)
    nMsgID = 2;
} 
else if (_bMSR_DESKTOP & _nMSR_State)
  nMsgID = 3;	//Desktop base index
else if (_bMSR_TABLET & _nMSR_State)
  nMsgID = 11;	//Tablet PC base index
else if (_bMSR_WIN32 & _nMSR_State)
  nMsgID = 17;	//Win32 base index
else
  nMsgID = 23;	//Pocket PC base index

//if message ID is greater than 2, meaning the reader state is NOT unknown
if (nMsgID > 2)
{
  if (_bMSR_RDR_NONE & _nMSR_State)
  {
    if (_bMSR_BB_CURR & _nMSR_State)
      nMsgID += 1;  //No reader, but current activation
  } 
  else
  {
    if (_bMSR_RDR_OLD & _nMSR_State)
    {
      var nUpdate = 0;
      if (_fMSR_NewAPI && (_bMSR_DESKTOP & _nMSR_State) && ('1' == _szMSR_ReaderVer.charAt(0)))
        nUpdate = 1;	//Old desktop 1.5 reader, require full reader
        
      if (_bMSR_BB_CURR & _nMSR_State)
        nMsgID += (3 + nUpdate * 3);    //Old reader, but current activation
      else
        nMsgID += (2 + nUpdate * 4);    //Old reader, and needs to be activated
    }
    else
    {
      if (_bMSR_BB_CURR & _nMSR_State)
        nMsgID += 5;  //New reader and current blackbox, all set
      else
        nMsgID += 4;  //New reader, but needs to be activated
    }
  }
}