#!/usr/bin/perl -w
   &writeHtmlProcessPage;


sub writeHtmlProcessPage {
  my($interaction, $qcdOrder, $qedOrder);
#
#    Make sure we are in the main directory, not bin
#
  if (-d "bin") {
#      print "We are in main directory \n";
  }
  else{
#      print "Not in correct directory \n";
      chdir("../");
      if (-d "bin") {
#	  print "We are in main directory \n";
      }
      else{
	  print "Error gen_infohtml-pl must be run from main or bin directory \n";
	  exit;
      }	  
  }  
#
#	Writes out html page index.html with links to results
#	and code.
#
my $totdiag=0;
  $htfile =  "HTML/info" . "\.html"; #name the file
  open(PAGE,"> $htfile");
  print PAGE "\<HTML\> \n";
  print PAGE "\<HEAD\> \n";
  print PAGE "\<TITLE\>  \<\/TITLE\> \n";
  if (! -e "SubProcesses/done"){
      print PAGE "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"30\" > \n";
  }
  print PAGE "<META HTTP-EQUIV=\"EXPIRES\" CONTENT=\"20\" >";
  print PAGE "\<\/HEAD\> \n";
  print PAGE "\<BODY\> \n";
  if (-e "SubProcesses/subproc.mg") {
      if (chdir("./SubProcesses")){ 

	  print PAGE "<P> <H2 ALIGN=CENTER> SubProcesses and Feynman diagrams <\/H2>";
	      print PAGE "<TABLE BORDER=2 ALIGN=CENTER> \n";	
	      print PAGE "<TR>";	
	      print PAGE "<TH>Directory</TH> <TH NOWRAP># Diagrams </TH><TH NOWRAP># Subprocesses </TH> \n";
	      print PAGE "<TH COLSPAN=2>FEYNMAN DIAGRAMS</TH> <TH COLSPAN=4> SUBPROCESS </TH></TR> \n";
	      print PAGE "</TR>";	
	      my($line);
	      my($proc);
	      my($after);
	      my($before);
	      $line= "Failed";
	      if (open FILE, "subproc.mg"){
		  while ($line = <FILE>){
		      chomp $line;
		      print PAGE "<TR> <TD> $line </TD> \n";
		      if (open FILE2, "$line/matrix.f") {
			  @lines = <FILE2>;
			  @tlines = grep /NGRAPHS=/, @lines;
			  foreach $one (@tlines) {
			      ($before,$after) = split /=/,$one;
			      ($before,$one) = split /,/,$after;
			      print PAGE "<TD> $before </TD> \n";
                              $totdiag+=$before;
			  }
			  close(FILE2);
		      }
		      
		      if (open FILE2, "$line/auto_dsig.f") {
			  @lines = <FILE2>;
			  $nlines = grep /IPROC=IPROC/, @lines;
			  print PAGE "<TD> $nlines </TD> \n";
		      }
		      
		      
		      print PAGE "<TD> \<A HREF=\"../SubProcesses/$line/diagrams.html\" \> html \<\/A\> </TD> \n";
		      print PAGE "<TD> \<A HREF=\"../SubProcesses/$line/matrix.ps\" \> postscript \<\/A\> </TD> \n";
		      
		      if (open FILE2, "$line/auto_dsig.f") {
			  @lines = <FILE2>;
			  @tlines = grep /IPROC=IPROC/, @lines; 	       
			  foreach $one (@tlines) {
			      ($before,$after) = split /!/,$one;
#		   print "$after \n ";
			      print PAGE "<TD NOWRAP> $after </TD> \n ";
			  }
			  print PAGE "</TR>";
			  close(FILE2);
		      }
		  }
		  print PAGE "</TABLE>";
		  close FILE;
	      }
#       close(IDENT);	 
	      }
	  print PAGE "\<BR\> \n";
	  chdir("../"); 
      }
  else{
      print PAGE "<H2> No diagrams were generated <\/H2> <BR> \n";
      print PAGE "Check process text and number of couplings. Also look at the log file";
      print PAGE "<BR> \n";
  }
  
   print PAGE "<CENTER> $totdiag diagrams have been generated.</CENTER>";
   open(NUMDIAG,"> ./numdiag");
   print NUMDIAG $totdiag;
   close(NUMDIAG);

   print PAGE "<TABLE ALIGN=CENTER>";
  
   print PAGE "<TR> <TD ALIGN=CENTER> <A HREF\=\"../proc_log.txt\"\>proc_log.txt<\/A\> <TD> Log file from MadGraph code generation. ";  
   print PAGE "<TR> <TD ALIGN=CENTER> <A HREF\=\"../Cards/proc_card.dat\"\>proc_card.dat\<\/A\> <TD> Input file used for code generation.";
   print PAGE "<TR> <TD ALIGN=CENTER> <A HREF\=\"../Source/MODEL/particles.dat\"\>particles.dat\<\/A\> <TD> Particles file used for code generation.";
   print PAGE "<TR> <TD ALIGN=CENTER> <A HREF\=\"../Source/MODEL/interactions.dat\"\>interactions.dat\<\/A\> <TD> Interactions file used for code generation.";
  print PAGE "</TABLE>";
   print PAGE "\<P><H3 align=center>\<A HREF\=\"../index.html\"\> Main Page \<\/A\>";
   print PAGE "\<\/BODY\> \n";
   print PAGE "\<\/HTML\> \n";
   close(PAGE);
} #end sub writeHtmlProcessPage
