#!/usr/bin/perl -w
#------------------------------------------------------------------
# MAKE_HTML.PL
#
# VERSION 1
#
# THIS IS USED TO CONSTRUCT ALL OF THE *.HTML AND *.OUT FILES FOR 
# THE MIDWEST RADAR PAGE (EXCEPT THE RADAR.HTML AND LEFTFRAME.HTML
# PAGES).  THIS CREATES THE FILES IN A FOLDER CALLED "NEW_HTML" AND 
# THE USER IS REQUIRED TO COPY THE NEW HTML TO CORRECT LOCATION, AFTER
# BACKING UP THE CURRENT HTML
# 
#
#------------------------------------------------------------------

use strict;
use Time::Local;
use HTML::Template;

# GLOBAL VARIABLES
my $dir = '/var/apache/www/htdocs/localweather/radar/new_html';
#my $dir = '/var/apache/www/htdocs/localweather/radar';
my $file;

# VARIALBLES TO LOOP OVER
my @regions = ('midwest','mkx','grb','arx','dlh');
my @animate = ('latest','loop');
my @products = ('radar','radial','storm');
my @alternate = ('','_cc');
my @overlays = ('','_no');                  # TEMPLATE VARIABLE - no stands for NoOverlay, not No

# TEMPLATES
use constant TMPL1 => "/var/apache/www/htdocs/localweather/radar/templates/region_product.html";

# TEMPLATE VARIABLES
my $img;
my %appletwidth = ('midwest' => 705,
                   'mkx'     => 505,
                   'grb'     => 505,
                   'arx'     => 505,
                   'dlh'     => 505);
my %appletheight = ('midwest' => 640,
                    'mkx'     => 600,
                    'grb'     => 600,
                    'arx'     => 600,
                    'dlh'     => 600);
my %controls = ('latest' => 'show,zoom, overlay',
                'loop'     => 'overlay,startstop,show,looprock,speed,step,zoom');
my $outfile;
my %overlaylabels = ('radar' => 'County Map, City Names, Current Weather, Watches/Warnings, &lt;20 dBZ',
                     'radial' => 'County Map, City Names, Current Weather, Watches/Warnings',
                     'storm' => 'County Map, City Names, Current Weather, Watches/Warnings');
my $scaleimgname;

# LOOP OVER VARIABLES AND CREATE HTML
my $tmpl = new HTML::Template( filename => TMPL1 );
my ($reg,$prod,$ani,$alt,$ov);
foreach $reg (@regions) { 
 foreach $prod (@products) { 

  # skip unwanted permutations
  if ( $reg eq 'midwest' && ($prod eq 'radial' || $prod eq 'storm') ) { next; }

  foreach $alt (@alternate) { 

   # skip unwanted permutations
   if ( $prod eq 'storm' && $alt eq '_cc' ) { next; }

   foreach $ani (@animate) { 
    foreach $ov (@overlays) {

     # skip unwanted permutations
     if ( $ani eq 'loop' && $ov eq '_no' ) { next; }
      
       $file = $reg . '_' . $prod . '_' . $ani . $alt . $ov;

       open(FILE,">$dir/$file.html") or die "can not create $dir/$file.html \n";

       $outfile = $file.'.out';
       $scaleimgname = '';
       $img = $reg;
       if ($reg ne 'midwest') { $img = uc($reg); }
       if ($prod eq 'radial') { 
         $scaleimgname = 'scale_rv_vert'; 
         $img = $img . '_rv' . $alt . '_5.gif';
       } elsif ($prod eq 'storm') {
         $scaleimgname = 'scale_pcp_vert'; 
         $img = $img . '_pcptot' . $alt . '_5.gif';
       } else {  
         $scaleimgname = 'scale_radar_vert'; 
         $img = $img . '_radar' . $alt . '_5.gif';
       }
       $scaleimgname = $scaleimgname . $alt . '.gif';

       $tmpl->param( overlays => $ov );
       $tmpl->param( appletwidth => $appletwidth{$reg} );
       $tmpl->param( appletheight => $appletheight{$reg} );
       $tmpl->param( controls => $controls{$ani} );
       $tmpl->param( outfile => $outfile );
       $tmpl->param( overlaylabels => $overlaylabels{$prod} );
       $tmpl->param( scaleimgname => $scaleimgname );
       if ($ov eq '_no') { $tmpl->param( img => $img ); }  # IF statement might be redundant

       print FILE $tmpl->output;

       close(FILE);

    } #foreach overlays 
   } #foreach animate
  } #foreach alternate
 } # foreach products
} #foreach regions

#my $tmpl = new HTML::Template( filename => TMPL1 );
#open(FILE,">$dir/$file.html") or die "can not create file\n";
#
#$tmpl->param( java => $java );
#$tmpl->param( appletwidth => $appletwidth );
#$tmpl->param( appletheight => $appletheight );
#$tmpl->param( controls => $controls );
#$tmpl->param( outfile => $outfile );
#$tmpl->param( overlaylabels => $overlaylabels );
#$tmpl->param( scaleimgname => $scaleimgname );
#print FILE $tmpl->output;
#
#close(FILE);
