#!/usr/bin/perl

if(true) {
    print "Location: http://www.paimionrasti.fi/\n\n";
    exit 0;
}


$siteroot = "./omatsivut/";
$urlroot = "http://www.paimionrasti.fi/suma/";
$progurl = "http://www.paimionrasti.fi/suma/index.cgi";
$area_file = "./omatsivut/areas.csv";

&lue_parametrit;

if ($FORM{alue} eq "") {$FORM{alue} = "etusivu";}

&open_areas;

foreach $line(@areas) {
    @_ = split(/\|/, $line);
    if ($_[0] eq $FORM{alue}) {
	$subtitle = $_[3];
	$data= $_[1];
	$type = $_[2];
    }
}

if ($FORM{tiedosto} eq "") {$FORM{tiedosto} = "index.data"} 
  
&writeHeader;
&writeValikko;
&writeBody;
&writeFooter;

exit 0;

sub writeFooter {
    print "<BR><IMG SRC=\"$urlroot/1x1empty.gif\" width=\"740\" height=\"1\" alt=\"pixel\">";
    print "<small style=\"display:block; float: right;\"><a href=\"extra.cgi\">edit site</a> </small>";
    print "</div>";
    
    open(DATA,"$siteroot/../../etusivu/headerfooter.inc");
	@lines = <DATA>;
	close(DATA);
	print @lines;

}

sub writeBody {
    if ($type eq "html") {
	open(DATA,"$siteroot$data/$FORM{tiedosto}");
	@lines = <DATA>;
	close(DATA);
	if ($lines[0] ne "") {
	   print "<div id=\"sisalto\">\n";
	    print @lines;
	    print "</div>\n";
	}
	else {
	    print "<BR><BR>Sivut kesken..<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>\n\n\n\n\n";
	}
    }
    elsif ($type eq "include") {
	open(DATA,"$data");
	@lines = <DATA>;
	close(DATA);
	if ($lines[0] ne "") {
	    print @lines;
	}
	else {
	    print "<BR><BR>Sivut kesken..<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>\n\n\n\n\n";
	}
      }
    elsif ($type eq "cgi") {
##Cgi-ajo jne
    }
    else {print "Vituiks meni! type= $type"}
}

sub open_areas {
    open(AREAS,"$area_file") or die;
    @areas = <AREAS>;
    close(AREAS);
}

sub lue_parametrit {
  if ( ($ENV{'REQUEST_METHOD'} eq 'POST') || ($ENV{'REQUEST_METHOD'} eq 'post') ) {
    read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
    @cgiPairs = split(/\&/,$buffer);
  }
  else {
    @cgiPairs = split(/\&/,$ENV{'QUERY_STRING'}); 
  }

  #Arvot HASHiin välilyönnein erotettuna saman nimiset
  foreach $pair ( @cgiPairs ) {
       	($var,$val) = split("=",$pair);
       	$val =~ s/\+/ /g;
       	$val =~ s/%(..)/pack("c",hex($1))/ge;
       	$val =~ s/\|/ /g;
	$val =~ s/\r//g;
       	
       	## rivinvaihdot tageiksi
		if ($var eq "body") {$val =~ s/\n/<BR>\n/g;}
		if ($FORM{$var} eq "") {$FORM{$var} = "$val";} else {$FORM{$var} = "$FORM{$var} $val";}
		if ($name eq "juttu") {$value =~ s/\n/<BR>/g;}
  }
}

sub writeHeader {
print "Content-type: text/html\n\n";
print "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/DTD/loose.dtd\" >";
print "<HTML><HEAD>";
print "<TITLE>PR:n harjoituspaketit :: $subtitle</TITLE>";
print "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=ISO-8859-1\">";
print "<LINK REL=STYLESHEET HREF=\"$urlroot/tyylit.css\" TYPE=\"text/css\">";
print "<LINK REL=STYLESHEET HREF=\"/pr_tyylit_noframes.css\" TYPE=\"text/css\">";
print <<EndOfHtml;
</HEAD>
<body>
<script type="text/javascript">
     if (top != self) {
         top.location.href = location.href;
     }
</script><div>
EndOfHtml
}

sub writeValikko {
    foreach $line(@areas) {
	@_ = split(/\|/, $line);
	if ($_[5] == 1 && ($_[0] eq $FORM{alue})) {$alasivuja = 1;}
	if ($alasivuja) {
	    $valittu = "valikko1valittualasivuja";
	    $normaali = "valikko1alasivuja";
	}
	else {
	    $valittu = "valikko1valittu";
	    $normaali = "valikko1";
	}
    }
    print "<div class=\"apuloota\"><div class=\"otsa\"><div>PR:n harjoituspaketit</div></div>";
    print "<div id=\"valikko2\">\n";
    print "<p style=\"text-align:center;\"><img src=\"logo_uusi2008.gif\"/><p>";
    print "<ul>\n";
    foreach $line(@areas) {
	@_ = split(/\|/, $line);
 
##Valittu nappula
	if ($_[0] eq $FORM{alue}) {
	    print "<li class=\"current\"><a href=\"$progurl?alue=$_[0]\" name=\"$_[4]\" >$_[3]</a>";
	    if ($alasivuja == 1) {
        	print "<div id=\"alavalikko2\">\n";
        	print "<ul>\n";
        	open(INDEX,"$siteroot$FORM{alue}/index.files");
        	@files = <INDEX>;
        	close(INDEX);
        	if ($files[0] ne "") {
        	    $i = 0;
        	    foreach $file (@files) {
        		@fileinfo = split(/\|/,$file);
        		if ($fileinfo[2] !=0) {
        		    if ($fileinfo[0] eq $FORM{tiedosto} || ($FORM{tiedosto} eq "" && $i == 0)) {
        			print "\t<li class=\"current\"><a href=\"$progurl?alue=$FORM{alue}&amp;tiedosto=$fileinfo[0]\">$fileinfo[1]</a></li>\n";
        		    }
        		    else {
        			print "\t<li><a href=\"$progurl?alue=$FORM{alue}&amp;tiedosto=$fileinfo[0]\">$fileinfo[1]</a></li>\n";
        		    }
        		}
        		$i++;
        	    }
        	}
        	print "</ul>\n";
        	print "</div>\n";
        }
        print "</li>\n";
   	}
	else {
##Normaali nappula
	    print "<li><a href=\"$progurl?alue=$_[0]\" name=\"$_[4]\" >";
	    print "$_[3]</a></li>\n";
	}
    }
    print "</ul>\n";
    print "</div>";
    print "</div>";

}
