/*   -*- 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;
  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 );
  printf("<!-- This page is generated by generStreamRootPage (ExplorMainExplorSiteHtmlPhp.c) -->\n");
  ExplorHtmlBeginBody();
  printf("<div class=\"main\">");
  ExplorSidebar("Main", NULL, 0, NULL);
  ExplorHtmlHeader(ExplorStreamCode, NULL, NULL, NULL, NULL);
  ExplorHtmlPrintParam3("Area", ExplorStreamCode, "streamIntroduction");
  ExplorHtmlPrintParam3("Area", ExplorStreamCode, "streamMainAccess");
  printf("<p>The main entry is point is: <a href=\"Exploration/index.html\">Exploration Main Page</a></p>\n");
  printf("<h2>Curation entries</h2>\n");
  printf("<p>In the main stream:</p><ul>\n");
  printf("<li><a href=\"Merge/index.html\">Merge</a></li>\n");
  printf("<li><a href=\"Curation/index.html\">Curation</a></li>\n");
  printf("</ul>");
  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 generExplorationMainPage()
{
  printf("<?dilib file=\"%s/Site/%s/%s/Exploration/index.html\" ?>\n", ExplorAreaDir, ExplorSiteLang, ExplorStreamCode );
  ExplorHtmlPrefix();
  printf("<title>%s - %s - %s Exploration Main Page</title>\n", ExplorAreaCode, ExplorSiteLang, ExplorStreamCode );
  ExplorHtmlBeginBody();
  printf("<div class=\"main\">");
  ExplorHtmlHeader(ExplorStreamCode, "Exploration" , NULL, NULL, NULL);
  ExplorSidebar("Main", "Exploration", 0, NULL);
  ExplorHtmlPrintParam5("Area", ExplorStreamCode, "Exploration", "mainPage", "introduction");
  ExplorHtmlIntroBiblio(ExplorStreamCode, "Exploration");
  /* printf("<p>This is Exploration entry point for the Main stream :<br>%s</br></p>\n", StrSearch(ExplorTableParam, "Area/areaTitle") ); */
  printf("<h2>Indexes</h2><p>The main index is : <a href=\"indexHead.php?index=Author.i\">Author</a></b></p>\n");
  ExplorHtmlListIndexes("Main", "Exploration",3);
  ExplorHtmlBottomDilib(0);
  printf("</div>");
  ExplorHtmlEndBody();
  return;
}

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

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

   ExplorParamInit(pathParamFile);

   generExplorationMainPage();
   ExplorGenerStepMainPage(ExplorStreamCode, "Curation");
   ExplorGenerStepMainPage(ExplorStreamCode, "Merge");
   ExplorSiteGenerImplicitPhp ("fr", ExplorStreamCode, "Merge", 4);
   ExplorSiteGenerImplicitPhp ("fr", ExplorStreamCode, "Curation", 4);
   ExplorSiteGenerImplicitPhp ("fr", ExplorStreamCode, "Exploration", 4);
   ExplorSiteGenerIndexAutAff("fr", ExplorStreamCode, "Merge", 4);
   generStreamRootPage();

   exit(EXIT_SUCCESS);
}
