<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META name="MSSmartTagsPreventParsing" content="True">
<META name="Author" content="Jonathan Graham Harston">
<TITLE>Whitby Yards Map Browser</TITLE>
<STYLE>
.main    { position: relative; top: 0; left: 0; }
.overlay { position: absolute; top: 0px; left: 0px; opacity: 0.5; }
</STYLE>
</HEAD>

<body>
<?php
// 2011/06/02 v1.00 - My Second PHP program
//                    Whitby Yards map browser
// 2013/09/28 v1.01 - Year and scale selectable, sidebar menu
//            v1.02 - Scrolls by half squares
//            v1.03 - Links from displayed map images scroll by half/whole square
// 2016/08/27 v1.10 - Overlay layer
// 2016/09/04 v1.11 - Document list from file in docs directory


$grid $_GET["g"];                         // Grid reference, eg g=064048
$zoom $_GET["z"];                         // Zoom level, eg z=10
$year $_GET["y"];                         // Year, eg y=2009
$over $_GET["o"];                         // Overlay year, eg o=2009

if ($grid == "")      $grid 89951105;     // Set default grid
if ($grid 89301060$grid 89951105;
if (
$grid 90509990$grid 89951105;

if (
$zoom == "")      $zoom 10;           // Set default zoom
if ($zoom 5)        $zoom 10;           // Set default zoom

if ($year 1701 || $year 1999$year 2009;  // Set default year
if ($year 1700 && $year 1798$year 1768;
if (
$year 1797 && $year 1835$year 1828;
if (
$year 1834 && $year 1862$year 1852;
if (
$year 1861 && $year 1925$year 1891;
if (
$year 1924 && $year 1973$year 1960;
if (
$year 1972 && $year 1988$year 1986;
if (
$year 1987 && $year 2000$year 1990;  // Restrict to nearest valid year

if ($over != 2009 && $over != 1990 &&
    
$over != 1986 && $over != 1960 &&
    
$over != 1891 && $over != 1852 &&
    
$over != 1828 && $over != 1768)
                      
$over "";           // Set default overlay

// Set bounds according to zoom level
if ($zoom 10)
 {
  
$range=0;                                 // 1:500, 1 columns x 1 rows
  
$zoom=5;
  
$size=600;
} else {
  if (
$zoom 20)
   {
    
$range=0;                               // 1:1,000, 1 columns x 1 rows
    
$zoom=10;
    
$size=300;
  } else {
    
$range=1;                               // 1:2,500, 3 columns x 3 rows
    
$zoom=25;
    
$size=100;
  }
}

echo 
'<table border="1"><tr valign="top"><td>' "\n" "\n";
echo 
'<table border="0" cellpadding="0" cellspacing="0">' "\n";
for (
$row=$range$row>=-$range$row--) {
  for (
$yq=0$yq<2$yq++) {
    echo 
'<tr>'; echo "\n";
    for (
$col=-$range$col<=$range$col++) {
      for (
$xq=0$xq<2$xq++) {
        echo 
'<td><div style="position: relative; left: 0; top: 0;">'; echo "\n";

        
// Gridref of current quarter-block
        
$gridref $grid+10*$row+5-5*$yq+100000*$col+50000*$xq;

        
// Create link from image to move map
        // Only suitable for 1:2,500 map
        //    -2,+2  -1,+2  0,+2  0,+2  +1,+2  +2,+2   $yq=0 $row=+1
        //    -2,+1  -1,+1  0,+1  0,+1  +1,+1  +2,+1   $yq=1      +1
        //    -2, 0  -1, 0  0, 0  0, 0  +1,0   +2,0    $yq=0       0
        //    -2, 0  -1, 0  0, 0  0, 0  +1,0   +2,0    $yq=1       0
        //    -2,-1  -1,-1  0,-1  0,-1  +1,-1  +2,-1   $yq=0      -1
        //    -2,-2  -1,-2  0,-2  0,-2  +1,-2  +2,-2   $yq=1      -1
        //
        // $xq= 0      1     0     1      0      1
        // $col=-1     -1    0     0     +1     +1
        //
        
if ($zoom == 25) {
          echo 
'<a href="yard.php?g='
          
$xdif=0; if ($col+$xq 0)  $xdif=1;
          
$ydif=0; if ($row-$yq >= 0$ydif=1;
          echo 
$gridref-50000*$xdif-5*$ydif;
          echo 
'&amp;z=' $zoom '&amp;o=' $over '&amp;y=' $year '">';
        }
//      if ($zoom == 10) { }
//      if ($zoom == 5)  { }

        // Create image filename
        // eg 3x3 grid
        //   -9990   +1  +10010
        //   -10000   0  +10000
        //   -10010  -1  +9990
        //
        // within each grid
        //     a b
        //     c d
        //
        
$temp mappath($gridref);
        
$file $temp[0].$temp[1].$temp[2].$temp[3].$temp[4].$temp[6].$temp[7].$temp[8];
        if (
$temp[5]=='0' && $temp[9]=='5'$file $file 'a';
        if (
$temp[5]=='5' && $temp[9]=='5'$file $file 'b';
        if (
$temp[5]=='0' && $temp[9]=='0'$file $file 'c';
        if (
$temp[5]=='5' && $temp[9]=='0'$file $file 'd';
        echo 
'<img border="0" width="' $size;
        echo 
'" src="' $year '/'; echo $file; echo '.gif"></a>';
        if (
$over != "") {
          if (
$over != $year) {
            echo 
"\n";
            echo 
'<img border="0" width="' $size;
            echo 
'" src="' $over '/'; echo $file; echo '.gif" class="overlay"></a>';
          }
        }
        echo 
"\n";
      }
    }
  }
}
echo 
'</table>'; echo "\n"; echo "\n";

// Caption and links in final column
echo '<td valign="top" rowspan="' . (2*$range+1) . '">'; echo "\n";
echo 
'<center><b>&nbsp;<a href="yard.php">Whitby Yards Map Browser</a>&nbsp;</b><br>J.G.Harston</center><br>'; echo "\n";

echo 
'&nbsp;Central grid square:<br>&nbsp;&nbsp;<b>';
$temp mappath($grid);
echo 
strtoupper($temp[0]).strtoupper($temp[1]).'&nbsp;'.$temp[2].$temp[3].$temp[4].'&nbsp;'.$temp[6].$temp[7].$temp[8];
echo 
"</b>\n<br><br>\n\n";

echo 
'&nbsp;Map scale:<br>&nbsp;&nbsp;'; echo "\n";
echo 
zoomlink("yard.php?g=" $grid "&amp;z=5&amp;o=" $over "&amp;y="  $year,   "1:500"$zoom==5)  . "\n";
echo 
zoomlink("yard.php?g=" $grid "&amp;z=10&amp;o=" $over "&amp;y=" $year"1:1,000"$zoom==10) . "\n";
echo 
zoomlink("yard.php?g=" $grid "&amp;z=25&amp;o=" $over "&amp;y=" $year"1:2,500"$zoom==25) . "\n";
echo 
"<br><br>\n\n";

echo 
'&nbsp;Map year:<br>&nbsp;&nbsp;'; echo"\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;o=" $over "&amp;y=" 1768$year) . " "; echo "\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;o=" $over "&amp;y=" 1828$year) . " "; echo "\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;o=" $over "&amp;y=" 1852$year) . " "; echo "\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;o=" $over "&amp;y=" 1891$year) . " "; echo "\n";
echo 
"<br>&nbsp;&nbsp;\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;o=" $over "&amp;y=" 1960$year) . " "; echo "\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;o=" $over "&amp;y=" 1986$year) . " "; echo "\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;o=" $over "&amp;y=" 1990$year) . " "; echo "\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;o=" $over "&amp;y=" 2009$year); echo "\n";
echo 
"<br><br>\n\n";

echo 
'&nbsp;Shadow layer:<br>&nbsp;&nbsp;'; echo"\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;y=" $year "&amp;o=" 1768$over) . " "; echo "\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;y=" $year "&amp;o=" 1828$over) . " "; echo "\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;y=" $year "&amp;o=" 1852$over) . " "; echo "\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;y=" $year "&amp;o=" 1891$over) . " "; echo "\n";
echo 
"<br>&nbsp;&nbsp;\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;y=" $year "&amp;o=" 1960$over) . " "; echo "\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;y=" $year "&amp;o=" 1986$over) . " "; echo "\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;y=" $year "&amp;o=" 1990$over) . " "; echo "\n";
echo 
yearlink("yard.php?g=" $grid "&amp;z=" $zoom "&amp;y=" $year "&amp;o=" 2009$over); echo "\n";
echo 
"<br><br>\n";
echo 
"\n";

echo 
'<center>Move grid:<table>'; echo "\n";
echo 
'<tr><td>&nbsp;<td>';
echo 
'<a href="yard.php?g='; echo $grid+5; echo '&amp;z=' $zoom '&amp;o=' $over '&amp;y=' $year '">N</a>';
echo 
'<td>&nbsp;'; echo "\n";
echo 
'<tr><td><a href="yard.php?g='; echo $grid-50000; echo '&amp;z=' $zoom '&amp;o=' $over '&amp;y=' $year '">W</a><td>&nbsp;';
echo 
"\n";
echo 
'    <td><a href="yard.php?g='; echo $grid+50000; echo '&amp;z=' $zoom '&amp;o=' $over '&amp;y=' $year '">E</a>'; echo "\n";
echo 
'<tr><td>&nbsp;<td>';
echo 
'<a href="yard.php?g='; echo $grid-5; echo '&amp;z=' $zoom '&amp;o=' $over '&amp;y=' $year '">S</a>';
echo 
'<td>&nbsp;'; echo "\n";
echo 
'</table></center>'; echo "\n"; echo "\n";

echo 
'<br><center><hr><a href="/Docs/Books/YofWhitby/">Maps and Documents</a></center>'; echo "\n";
// echo '<a href="yard.php?g=' . $grid . '&amp;z=' . $zoom . '&amp;y=1990">A</a>'; echo "\n";
// echo '<a href="yard.php?g=' . $grid . '&amp;z=' . $zoom . '&amp;o=1990">B</a>'; echo "\n";
// echo '<br><br>'; echo "\n";
echo '<br>'; echo "\n";

// Document links for this grid square
$temp mappath($grid);
$temp "docs/" $temp ".htm";
if (
is_file($temp)) { readfile($temp); }

echo 
"\n</table>\n";


// mappath()
// ---------
// Convert numeric grid reference into Grid/Eastings/Northings path
//
function mappath($ref) {
  
// $ref = "$ref";                            // convert to string
  
$path "nz" "$ref";
  return 
$path;
}

// zoomlink()
// ----------
// Give link/bold string for link to zoom levels
//
// zoomlink("yard.php?g=.$grid."&amp;z=25", "1:100,000", $zoom==10)
// zoomlink("yard.php?g=.$grid."&amp;z=10", "1:50,000", $zoom==25)
//
// Gives, eg:  <b>1:1,000</b>
//        or:  <a href="link">1:2,500</a>
//
function zoomlink($link$text$iszoom) {
  if (
$iszoom) { 
    return 
"<b>" $text "</b>";
  } else {
    return 
'<a href="' $link '">' $text '</a>';
  }
}

// yearlink()
// ----------
// Give link/bold string for link to year mapping
//
// yearlink("yard.php?g=.$grid."&amp;z=25&amp;y=", 1852, $year)
//
// Gives, eg:  <b>1852</b>
//        or:  <a href="link">1891</a>
//
function yearlink($link$yearlink$yearthis) {
  if (
$yearlink == $yearthis) { 
    return 
'<b>' $yearlink '</b>';
  } else {
    return 
'<a href="' $link $yearlink '">' $yearlink '</a>';
  }
}

?>
</body>
</html>