/*   -*- 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()
{
  char *lastStep;
  if (strcmp(ExplorStreamCode, "Main")==0)lastStep="Exploration";
  else lastStep="Analysis";
  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);
  ExplorHeaderStream(ExplorStreamTreeNode, NULL);
  /* ExplorHtmlHeader(ExplorStreamCode, NULL, NULL, NULL, NULL); */
  ExplorHtmlPrintParam3("Area", ExplorStreamCode, "streamIntroduction");
  ExplorHtmlPrintParam3("Area", ExplorStreamCode, "streamMainAccess");
  ExplorHtmlPrintParam4("Area", ExplorStreamCode, "mainPage", "streamIntroCurationSteps");
  ExplorHtmlListOtherSteps(ExplorStreamCode, lastStep);
  ExplorHtmlBottomDilib(0);
  printf("</div>");
  ExplorHtmlEndBody();
  return ;
}

void generExplorationMainPage()
{
  SxmlNode *stepTreeNode;
  stepTreeNode=ExplorSiteTreeNode("Main", "Exploration", NULL);
  ExplorSetDict("#step", "Exploration");
  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\">");
  ExplorSidebar("Main", "Exploration", 0, NULL);
  ExplorHeaderStep(stepTreeNode, NULL);
  /* ExplorHtmlHeader(ExplorStreamCode, "Exploration", NULL, NULL, NULL); */
  ExplorHtmlPrintParam4("Area", "Main", "Exploration", "stepIntroduction");
  ExplorHtmlIntroBiblio(ExplorStreamCode, "Exploration");
  printf("<h2>Indexes</h2><p>The main index is : <a href=\"indexHead.php?index=BHA.i\">BHA (fr)</a></b></p>\n");
  ExplorHtmlListIndexes(ExplorStreamCode, "Exploration",4);
  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, "Exploration")==0)
	 {
	   generExplorationMainPage();
	 }
       else
	 {
	   ExplorGenerStepMainPage(ExplorStreamCode, step);
	 }
       ExplorSiteGenerImplicitPhp ("fr", ExplorStreamCode, step, 4);
     }
   exit(0);
}
