#!/usr/bin/perl -w
#!perl -w

#use strict;
use CGI::Carp qw(fatalsToBrowser);

##################################
### (c) Dr. Uwe Schellhorn     ###
###     ADFC Aalen, 2005, 2008 ###
##################################

############
### init ###
############


print "Content-type: text/html\n\n";

print <<'HEADER';
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="author"      content="Uwe Schellhorn">
<meta name="copyright"   content="ADFC Aalen">
<meta name="description" content="Allgemeiner Deutscher Fahrrad-Club / Ortsverband Aalen: Online-Radtreff">
<meta name="keywords"    content="Fahrrad Radfahren Radfahrer Radtouren Radreisen Radkarten Interessenvertretung Lobby Verkehrspolitik ADFC Aalen Ostalb">
<meta name="robots"      content="index,follow">
<meta http-equiv="expires" content=0>
<title> ADFC Aalen: online-Radtreff </title>

<link href="../layout.css"  rel="stylesheet" type="text/css">
<script language=JavaScript src="../layout.js"></script>
<script language="JavaScript">
  SetFrame ();
  SetHeader ("Radtreff");
  SetTitle ("Online Radtreff");
  self.Home = '../';
</script>


</head>

<body>

<!--img src="../ADFC-Radtouren2.gif" width=296 height=84 align=right alt="Logo"-->
<h1> Spontane Radtouren </h1>

Neben unserem festen 
<a href="../Programm/Touren.html">Tourenprogramm</a>
bieten wir die M&ouml;glichkeit,
sich hier im online-Radtreff mehr oder weniger spontan und kurzfristig zu einer Radtour zu verabreden.
Jede Person darf einen 
<a href="RadtreffFormular.pl?tour=0">Tourenvorschlag</a>
einbringen, welcher dann hier erscheint. 
Interessenten k&ouml;nnen sich dann bei ihr zwanglos melden.

<h2>Tourenvorschl&auml;ge</h2>

Die angegebenen Kilometer und H&ouml;henmeter sind als Richtschnur anzusehen.
Sie helfen zusammen mit den Piktogrammen, den
<a href="javascript:popup('../Programm/TourenGrade.html', 'TourenBedingungen');">Schwierigkeitsgrad</a>
der vorgeschlagenen Radtour einzusch&auml;tzen. 
Ob und wann letztendlich die Tour stattfindet, wo sie startet und wohin sie schlie&szlig;lich f&uuml;hrt, 
kl&auml;ren Sie immer mit der angegebenen Kontaktperson ab. 
<p>
Wir &uuml;bernehmen keine Haftung f&uuml;r Inhalte, 
die andere hier eingestellt haben. 
<p>

HEADER


########################
### update data base ###
########################


($second,$minute,$hour,$day,$month,$year,$days,$weekday,$summer)=localtime(time);
$year  += 1900;
$month +=    1;
$date = $day + 100*$month + 10000*$year;

open (TOUREN, "<RtS_Touren.dat");
while (<TOUREN>)
{
  /&RtS_LoeschTag=([0-9]+)&RtS_LoeschMonat=([0-9]+)&RtS_LoeschJahr=([0-9]+)/;
  if ($date > $1 + 100*$2 + 10000*$3)
  {
    push (@archive, $_);
  }
  else
  {
    push (@tours, $_);
  }
}
close (TOUREN);

if (@archive)
{
  open (TOUREN, ">RtS_Touren.dat");
  print TOUREN @tours;
  close (TOUREN);
  open (ARCHIV, ">>RtS_Archiv.dat");
  print ARCHIV @archive;
  close (ARCHIV);
};

###################
### output data ###
###################

$icon{'gemuetlich'} = '<img src="../Programm/TourGemuetlich1.gif" alt="gem&uuml;tlich"      width=108 height=48>';
$icon{'gemaessigt'} = '<img src="../Programm/TourGemaessigt1.gif" alt="gem&auml;&szlig;igt" width=108 height=48>';
$icon{'sportlich'}  = '<img src="../Programm/TourSportlich1.gif"  alt="sportlich"           width=108 height=48>';
$icon{'extrem'}     = '<img src="../Programm/TourExtrem1.gif"     alt="extrem"              width=108 height=48>';


print '<table width=644 cellpadding=5>';


for (@tours)
{
  @records = split (/&RtS_/, $_);
  foreach (@records)
  {
    ($name, $value) = split (/=/, $_);
    $tour{$name} = $value;
  }
  if ($tour{'RtS_id'} > 0)
  {  
    $date = sprintf "%2s&nbsp;%02d.%02d.%04d", &weekday ($tour{'Tag'}, $tour{'Monat'}, $tour{'Jahr'}), $tour{'Tag'}, $tour{'Monat'}, $tour{'Jahr'};
    if ($tour{'Minute'} > 0)
    {
      $time = sprintf "%02d:%02d", $tour{'Stunde'}, $tour{'Minute'};
    }
    else
    {
      $time = sprintf "%d", $tour{'Stunde'};
    }
    ($email, $provider) = split (/@/, $tour{'eMail'});
    $bike = $tour{'Fahrrad'};
    if ($bike eq 'Sonstiges')
    {
      $bike = $tour{'SonstigesFahrrad'};
    }
    $height = $tour{'Hoehe'};
    if ($height)
    {
      $height = $height . '&nbsp;m';
    }
    else
    {
      $height = '';
    }
    $icon{'sonstig'} = "<span style=\"font-family:sans-serif;font-size:x-small\">[$tour{'SonstigerGrad'}]</span>";
    $tour{'Vorwahl'} =~ s/^0?//;
print <<"TABLE";
  <tr class="chapter"><a name="tour$tour{'RtS_id'}"><th align=right>$date</th></a><th align=left>$tour{'Titel'}</th></tr>
  <tr><td align=right valign=top>$icon{$tour{'Grad'}}<br>$tour{'Laenge'}&nbsp;km&nbsp;<br>$height&nbsp;</td>
     <td valign=top rowspan=2>$tour{'Beschreibung'}<br>
         <table>
           <tr><td><u>Start:</u></td><td>$tour{'Start'} um $time Uhr</td></tr>
           <tr><td><u>Ziel:</u></td><td>$tour{'Ziel'} mit $bike</td></tr>
           <tr><td><u>Info:</u></td><td><script language="JavaScript"> letter ("$email", "$provider", "$tour{'Name'}", "$tour{'Titel'}", 0) </script> unter <script language="JavaScript"> dial($tour{'Vorwahl'},$tour{'Rufnummer'}) </script> </td></tr>
         </table>
     </td>
  </tr>
  <tr><td align=right valign=bottom style="font-family:sans-serif;font-size:x-small;padding-bottom:10px;">
         <a href="RadtreffFormular.pl?tour=$tour{'RtS_id'}">&auml;ndern</a><br> 
         <a href="RadtreffFormular.pl?tour=-$tour{'RtS_id'}">l&ouml;schen</a><br>
      </td>
  </tr>
TABLE
  }  # if id
}

print "\n",'<tr class="chapter"><th align=right>&nbsp;</th><th align=left>neuen <a href="RadtreffFormular.pl?tour=0">Tourenvorschlag</a> einreichen</th></tr>', "\n";
# print '<tr><td>&nbsp;</td><td>Hierzu ben&ouml;tigen Sie ein Kennwort, das Sie formlos beim <script language="JavaScript"> letter ("Aalen", "ADFC-BW.de", "ADFC Aalen", "online-Radtreff", -1) </script> erfragen k&ouml;nnen.</td></tr>', "\n";
print '<tr><td>&nbsp;</td><td>Hierzu ben&ouml;tigen Sie ein Kennwort, das Sie formlos beim <a href="javascript:', "mailTo('ADFC Aalen', 'online-Radtreff')", ';" class="mail">ADFC Aalen</a> erfragen k&ouml;nnen.</td></tr>', "\n";
print '<tr class="chapter"><th align=right>&nbsp;</th><th align=left>automatisch <a href="javascript:popup(\'RadtreffVerteiler.pl\',\'RadtreffVerteiler\',480,640);">benachrichtigen</a> </th></tr>', "\n";
print '<tr><td>&nbsp;</td><td>Wenn Sie automatisch &uuml;ber neue Tourenvorschl&auml;ge oder &Auml;nderungen informiert werden wollen, hinterlegen Sie im Verteiler Ihre eMail-Adresse.</td></tr>', "\n";
print '</table>', "\n";



############
### exit ###
############

EXIT:

# read parameter file (id, psswd, counter)
open (PARAMS, "<RtS_Parameter.dat");
@params = <PARAMS>;
close (PARAMS);

$counter = $params[2] + 1;
$params[2] = $counter . "\n";

open (PARAMS, ">RtS_Parameter.dat");
print PARAMS @params;
close (PARAMS);


print <<"ENDE";
<p>
<hr>
<p style="text-align:right;font-family:sans-serif;font-size:x-small;">
&copy; ADFC Aalen, $counter Seitenaufrufe seit 15.02.2005
</p>

</body></html>

ENDE


sub weekday
{ # valid between 1901 and 2099
  my ($day, $month, $year) = @_;
  my @weekdays = qw (So Mo Di Mi Do Fr Sa);
  my @monthsums = qw (0 31 59 90 120 151 181 212 243 273 304 334 365);
  $days = $day + $monthsums[$month-1] + $year * 365.25;
  if ($year % 4 == 0 && $month <= 2)
  {
    $days--;
  }
  return $weekdays[($days+5) % 7];
}