/*   -*- coding: utf-8 -*-  */

#include <stdio.h>     /* for printf */
#include <stdlib.h>    /* for exit */
#include "Explor.h"

extern char *optarg;
extern int   optind;
int getopt();

void generStreamRootPage()
{
  SxmlNode *streamNode;
  char *lastStep;

  lastStep="Analysis";
  ExplorHtmlDictInitStream(ExplorStreamCode);
  printf("<?dilib file=\"%s/Site/%s/%s/index.html\" ?>\n", ExplorAreaDir, ExplorSiteLang, ExplorStreamCode );
  ExplorHtmlPrefix();
  printf("<title>%s - %s - %s Main Page</title>\n", ExplorAreaCode, ExplorSiteLang, ExplorStreamCode );
  ExplorHtmlBeginBody();
  printf("<div class=\"main\">");
  ExplorSidebar(ExplorStreamCode, NULL, 0, NULL);
  ExplorHtmlHeader(ExplorStreamCode, NULL, NULL, NULL, NULL);
  ExplorHeaderStream(ExplorStreamTreeNode, NULL);
  ExplorHtmlPrintParam3("Area", ExplorStreamCode, "streamIntroduction");
  ExplorHtmlPrintParam3("Area", ExplorStreamCode, "streamMainAccess");
  ExplorHtmlPrintParam4("Area", ExplorStreamCode, "mainPage", "streamIntroCurationSteps");
  ExplorHtmlListOtherSteps(ExplorStreamCode, lastStep);
  printf("<p>Other streams:</p><ul>\n");
  SxmlReset(ExplorListStream);
  while ((streamNode=SxmlNextNode(ExplorListStream)))
    {
      char *stream;
      stream=SxmlLeafText(streamNode);
      if (strcmp(stream,"Main")==0) continue;
      printf("<li><a href=\"../%s/index.html\">%s</a></li>\n", stream, stream);
    }
  printf("</ul>");
  ExplorHtmlBottomDilib(0);
  printf("</div>");
  ExplorHtmlEndBody();
  return;
}

void generAnalysisMainPage()
{
  SxmlNode *stepTreeNode;
  stepTreeNode=ExplorSiteTreeNode(ExplorStreamCode, "Analysis", NULL);
  printf("<?dilib file=\"%s/Site/%s/%s/Analysis/index.html\" ?>\n", ExplorAreaDir, ExplorSiteLang, ExplorStreamCode );
  ExplorHtmlPrefix();
  printf("<title>%s - %s - %s Analysis Main Page</title>\n", ExplorAreaCode, ExplorSiteLang, ExplorStreamCode );
  ExplorHtmlBeginBody();
  printf("<div class=\"main\">");
  ExplorSidebar(ExplorStreamCode, "Analysis", 0, NULL);
  ExplorHeaderStep(stepTreeNode, NULL);
  ExplorHtmlPrintParam5("Area", ExplorStreamCode, "Analysis", "mainPage", "introduction");
  ExplorHtmlIntroBiblio(ExplorStreamCode, "Analysis");
  printf("<h2>Indexes</h2><p>The main index is : <a href=\"indexHead.php?index=Author.i\">Author</a></b></p>\n");
  ExplorHtmlListIndexes(ExplorStreamCode, "Analysis",3);
  ExplorHtmlBottomDilib(0);
  printf("</div>");
  ExplorHtmlEndBody();
  return;
}

int main (int argc, char **argv) {
   int cOption;
   char *tabList;
   char *pathParamFile;
   SxmlNode *stepNode;

   while((cOption=getopt(argc,argv,"s:t:"))!=EOF)
     {switch (cOption)
	 {
	 case 't':
	   pathParamFile=optarg;
	   break;
	 case 's':
	   ExplorStreamCode=optarg;
	   break;
	 }
     }

   ExplorParamInitForStream(pathParamFile, ExplorStreamCode);

   generStreamRootPage();

   while ((stepNode=SxmlNextNode(ExplorListSteps)))
     {
       char *step;
       step=SxmlLeafText(stepNode);
       if(strcmp(step, "Analysis")==0)
	 {
	   generAnalysisMainPage();
	 }
       else
	 {
	   ExplorGenerStepMainPage(ExplorStreamCode, step);
	 }
       ExplorSiteGenerImplicitPhp ("fr", ExplorStreamCode, step, 4);
     }
  exit(EXIT_SUCCESS);
}
