Subversion Repositories LCARS

Rev

Rev 166 | Rev 170 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
79 PointedEar 1
<!DOCTYPE html>
56 PointedEar 2
<html lang="<?php echo $language; ?>">
39 PointedEar 3
  <head>
72 PointedEar 4
    <title>Home — PointedEars’ Website</title>
39 PointedEar 5
 
6
    <link rel="SHORTCUT ICON" href="favicon.ico">
7
 
79 PointedEar 8
    <!-- Browsers: Character Encoding -->
9
    <meta charset="UTF-8">
39 PointedEar 10
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
11
 
79 PointedEar 12
    <!-- Robots: Index, Subordinated Files, Description, Author,
39 PointedEar 13
         Keywords, Document Date -->
14
    <meta name="robots" content="index">
15
    <meta name="robots" content="follow">
105 PointedEar 16
<?php /*
39 PointedEar 17
    <meta name="description"
56 PointedEar 18
          content="PointedEars' Website: <?php
151 PointedEar 19
            $description = tr("Access to the United Federation of Planets Databanks, an online songbook and software downloads always worth a click. Coming soon: The best internet links categorized and much more via a bilingual (English/German) LCARS terminal styled user interface that can be also used to surf the web anonymously! Bookmark NOW!");
56 PointedEar 20
            echo $description;
21
            ?>">
105 PointedEar 22
*/ ?>
56 PointedEar 23
    <meta name="author" content="Thomas ‘PointedEars’ Lahn">
39 PointedEar 24
 
56 PointedEar 25
    <?php /* No localization of keywords at the time */ ?>
39 PointedEar 26
    <meta name="keywords"
165 PointedEar 27
          content="<?php /* Appz, */ ?>Download, Links, LCARS, Star Trek, TNG, The Next Generation, DS9, Deep Space 9, Deep Space Nine, VOY, Voyager, UFP, Federation, United Federation of Planets, Database, Databank, <?php /* Song, Songbook, Surf, anonymously, */?>Raumschiff Enterprise, DNG, Die n&auml;chste Generation, VFP, F&ouml;deration, Vereinte F&ouml;deration der Planeten, Datenbasis, Datenbank<?php /*, Lied, Liedtext, surfen, anonym */ ?>">
56 PointedEar 28
<?php /*
29
    <meta name="keywords" http-equiv="Keywords" lang="de" content="">
30
    <meta name="keywords" http-equiv="Keywords" lang="en-us" content="">
31
    <meta name="keywords" http-equiv="Keywords" lang="en" content="">
32
*/ ?>
39 PointedEar 33
    <meta name="revisit-after" content="3 days">
34
 
35
    <!-- Robots: Dublin Core Metadata (http://purl.org/metadata/dublin_core) -->
79 PointedEar 36
    <meta name="dcterms.title" content="PointedEars’ Website">
37
    <meta name="dcterms.creator" content="Thomas ‘PointedEars’ Lahn">
38
    <meta name="dcterms.subject" content="Private Web site">
105 PointedEar 39
<?php /*
79 PointedEar 40
    <meta name="dcterms.description"
56 PointedEar 41
          content="PointedEars' Website: <?php echo $description; ?>">
105 PointedEar 42
*/ ?>
79 PointedEar 43
    <meta name="dcterms.publisher" content="PointedEars">
44
    <meta name="dcterms.date" content="2002-05-23T10:56:00+02:00">
45
    <meta name="dcterms.created" content="2002-05-23">
105 PointedEar 46
    <meta name="dcterms.modified" content="<?php echo gmdate('Y-m-dTH:i:sO', $modi); ?>">
56 PointedEar 47
<?php /*
79 PointedEar 48
    <meta name="dcterms.type" content="">
49
    <meta name="dcterms.format" content="">
56 PointedEar 50
*/ ?>
79 PointedEar 51
    <meta name="dcterms.identifier" content="http://pointedears.de/index.<?php echo $language; ?>">
52
    <meta name="dcterms.language" content="<?php echo $language; ?>">
53
    <meta name="dcterms.rightsHolder"
54
          content="Copyright © 2002&#8211;<?php echo gmdate('Y', $modi); ?> Thomas&nbsp;Lahn.">
55
    <meta name="dcterms.rights"
151 PointedEar 56
          content="<?php echo tr("All rights reserved."); ?> <?php echo tr("The author is not responsible for the availability and the content of websites referred by this site, and not responsible for the availability and the content of websites referred by those sites. Whereever outsourced material is used, copyright or trademark infringement is not intended. Third parties who claim copyrights or trademarks used herein are asked to send an informal email to webmaster@PointedEars.de for immediate removal or modification of the respective material on the website instead of reminding the author of usage of this material. Thank you."); ?>">
105 PointedEar 57
 
56 PointedEar 58
<?php /*
39 PointedEar 59
    <!-- <link rel="stylesheet" type="text/css" href="styles/lcars.css"> -->
60
    <!-- <link rel="stylesheet" type="text/css" href="styles/lcars21.css"> -->
166 PointedEar 61
    <!-- No optimization here: Resource Builder does not handle URI parameters -->
56 PointedEar 62
*/ ?>
138 PointedEar 63
    <link rel="stylesheet" type="text/css" href="styles/lcars-basic">
128 PointedEar 64
<?php
138 PointedEar 65
  $isLocal = ($_SERVER['HTTP_HOST'] === 'localhost');
56 PointedEar 66
  $printable = (isset($_GET['printable']) && $_GET['printable'] === '1');
67
  if (!$printable)
68
  {
128 PointedEar 69
?>
138 PointedEar 70
    <link rel="stylesheet" type="text/css" href="styles/lcars22<?php
56 PointedEar 71
      if (isset($_GET['ani']) && $_GET['ani'] !== '')
72
      {
73
        echo '?ani=' . $_GET['ani'];
74
      }
75
    ?>">
76
<?php
77
  }
78
?>
39 PointedEar 79
    <style type="text/css">
80
      <!--
81
      p {
82
        max-width: 100%;
83
      }
84
      -->
85
    </style>
86
 
130 PointedEar 87
    <script type="text/javascript" src="scripts/builder?src=object,dom,dom/storage,dom/events,dom/timeout,dom/window<?php
88
      if ($isLocal)
89
      {
90
        ?>&amp;verbose=1&amp;debug=1<?php
91
      }
92
    ?>"></script>
39 PointedEar 93
    <script type="text/javascript">
56 PointedEar 94
<?php
39 PointedEar 95
      /*
96
      var ms1Day = 60*60*24*1000; // ms for 1 days = 60sec*60min*24hours*1000ms
97
      var msLeaveDays = ms1Day*6;
98
      var ms30Days=ms1Day*30;
99
      var delta;
100
      var newTime=new Date();
101
      var msTime=newTime.getTime();
102
      var msExpire=msTime+ms30Days;
103
      var expireTime=new Date(msExpire);
104
 
105
      cookieVal=
106
          "savedTime=" + newTime.toGMTString()
107
        + "; expires=" + expireTime.toGMTString()
108
        + "; domain=anybody"
109
        + "; path=/";
110
      document.cookie= cookieVal;
111
      */
56 PointedEar 112
?>
115 PointedEar 113
      function body_load ()
114
      {
115
        if (typeof this.ontouchstart != 'undefined')
116
        {
117
          this.ontouchstart = function () {};
118
        }
119
 
120
        if (fullscreen.isSupportedBy(document.documentElement))
121
        {
122
          var fullscreenLI = jsx.dom.getElementById("cmd3");
123
          fullscreenLI.firstChild.style.cursor = "";
124
        }
125
      }
39 PointedEar 126
    </script>
56 PointedEar 127
    <?php /* <bgsound src="media/interface/sound/beginop.wav" loop="infinite"> */ ?>
39 PointedEar 128
  </head>
115 PointedEar 129
  <body class="fade-in" onload="body_load()">
39 PointedEar 130
    <div id="content">
79 PointedEar 131
      <h1 style="text-align: center"><img
39 PointedEar 132
            src="media/video/img/vulcan_hand-black-bg.png"
133
            width="120"
134
            height="168"
151 PointedEar 135
            alt="<?php echo tr("Vulcan greeting"); ?>"
136
            title="<?php echo tr("Vulcan greeting"); ?>"
85 PointedEar 137
            style="border: none; cursor: default"
39 PointedEar 138
            onmouseover="return setStatus(this.title)"
139
            onmouseout="return resetStatus()"><br>
151 PointedEar 140
        <?php echo tr("Welcome to PointedEars’ Website"); ?></h1>
56 PointedEar 141
<?php
142
  if (!$printable)
143
  {
144
?>
79 PointedEar 145
      <p class="instruction" style="font-size: 100%; text-align: center"><?php
56 PointedEar 146
        echo sprintf(
151 PointedEar 147
          tr("This site uses recent <a href='https://developer.mozilla.org/en-US/docs/'"
84 PointedEar 148
            . " title='Learn more: Mozilla Developer Network'>Web technologies</a>."
79 PointedEar 149
            . " You can use the <a href='index.%s?printable=1'>%s</a>"
150
            . " if it is not displayed properly with your software."),
56 PointedEar 151
          $language,
151 PointedEar 152
          tr('Printable version'));
56 PointedEar 153
        ?></p>
154
<?php
155
  }
156
 
157
  /*
39 PointedEar 158
      <p>
159
        | <a href="leisure/" target="_top"
160
            >Freizeit-Datenbank</a>
161
        | <a href="mozilla/" target="_top">Mozilla</a>
162
        | <a href="poetry/" target="_top">Poesie</a>
56 PointedEar 163
  */
166 PointedEar 164
 
56 PointedEar 165
  /*
39 PointedEar 166
        | [<abbr title="nur in englischer Sprache verf&uuml;gbar"
167
                 >en</abbr>]
168
        | <a href="selfhtml.de/" target="_top">SELFHTML.DE</a>
56 PointedEar 169
  */
170
  /*
39 PointedEar 171
        | <a href="lyrics/" target="_top">Songbook</a>
43 PointedEar 172
        | </p>
56 PointedEar 173
  */
174
              /*
39 PointedEar 175
      <p><a href="about/worm.de.html" target="_top"
176
            >Seltsame E-Mails bekommen?</a></p>
56 PointedEar 177
               */
178
/*
39 PointedEar 179
      <noscript>
180
        <a
181
          href="http://pointedears.de/"
182
          title="PointedEars' Website"
183
          >Diese Website zu Ihren Lesezeichen hinzuf&uuml;gen</a>
184
      </noscript>
56 PointedEar 185
 
39 PointedEar 186
      <!-- Klicken Sie hier, falls Sie nach 5 Sekunden nicht automatisch
187
           weitergeleitet werden. -->
56 PointedEar 188
*/
189
?>
190
<?php
105 PointedEar 191
  $app = "Welcome/$language";
192
  require_once 'footer.phtml';
56 PointedEar 193
      /* embed src="media/interface/speech/de/warten.wav" width="0" height="0"
194
      hidden="true" autostart="true" dir="ltr" lang="de" */
195
?>
39 PointedEar 196
    </div>
197
    <div id="LCARS">
56 PointedEar 198
<?php /*
39 PointedEar 199
      <div id="button-grid" style="position: absolute; opacity: 0.3">
200
        <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
201
 
202
        <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
203
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
204
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
205
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
206
 
207
        <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
208
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
209
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
210
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
211
 
212
        <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
213
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
214
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
215
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
216
 
217
        <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
218
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
219
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
220
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
221
 
222
        <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
223
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
224
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
225
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
226
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
227
 
228
        <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
229
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
230
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
231
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
232
 
233
        <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
234
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
235
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
236
 
237
        <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
238
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
239
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
240
 
241
        <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
242
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
243
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
244
 
245
        <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
246
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
247
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
248
      </div>
56 PointedEar 249
*/ ?>
39 PointedEar 250
      <div id="bow">
251
        <div id="bow-top">
252
          <div class="separator-left">&nbsp;</div>
91 PointedEar 253
          <div class="text"><span>PointedEars’ Website</span></div>
39 PointedEar 254
        </div>
255
        <div id="bow-top-left">
256
          <div class="concave">&nbsp;</div>
109 PointedEar 257
          <div style="position: absolute; top: 3.2em; left: 0; background-color: black">
258
            <div class="bow" style="margin-top: 0.2em; width: 8em; height: 1em">&nbsp;</div>
259
          </div>
39 PointedEar 260
        </div>
261
        <div id="bottom">
262
          <div id="bow-bottom">
263
            <div class="concave">&nbsp;</div>
264
            <div class="spacer">&nbsp;</div>
265
        </div>
266
        </div>
166 PointedEar 267
 
43 PointedEar 268
        <div class="menu-container">
88 PointedEar 269
          <nav class="menu">
109 PointedEar 270
            <ul style="padding-top: 1em">
56 PointedEar 271
            <?php foreach ($languages as $key => $name): ?>
74 PointedEar 272
              <li><a href="index.<?php echo $key; ?>?ani=0"
273
                     class="button<?php if ($language === $key) { ?> selected<?php } ?>"
274
                     tabindex="2"><span class="text"><?php echo $name; ?></span></a></li>
56 PointedEar 275
            <?php endforeach; ?>
276
            </ul>
277
            <div class="bow" style="margin-bottom: 0.4em; width: 8em; height: 0.4em">&nbsp;</div>
278
            <ul style="margin-bottom: 1.2em">
279
              <li><a href="<?php echo $menu['scripts']['path']; ?>" target="_top" class="button"><span class="text"><?php echo $menu['scripts']['text']; ?></span></a></li>
71 PointedEar 280
              <li><a href="<?php echo $menu['es-matrix']['path']; ?>" target="_top" class="button"
281
                     title="<?php echo $menu['es-matrix']['title']; ?>"
282
                     ><span class="text"><?php echo $menu['es-matrix']['text']; ?></span></a></li>
56 PointedEar 283
              <li><a href="<?php echo $menu['devel']['path']; ?>" target="_top" class="button"><span class="text"><?php echo $menu['devel']['text']; ?></span></a></li>
284
            </ul>
285
            <ul style="margin-bottom: 0.2em">
113 PointedEar 286
              <li><a href="psf/" target="_top"
287
                 class="button ancillary"
151 PointedEar 288
                 ><abbr title="<?php echo tr("PointedEars' Standard Frases"); ?>"
113 PointedEar 289
                        class="text">psf</abbr></a></li>
290
            <li><a href="<?php echo $menu['series']['path']; ?>" target="_top" class="button ancillary"
153 PointedEar 291
                   title="<?php echo tr('List of recommended TV shows and episodes, with logos in CSS'); ?>"
292
                   ><span class="text"><?php echo $menu['series']['text']; ?></span></a></li>
56 PointedEar 293
              <li><a href="<?php echo $menu['ufpdb']['path']; ?>" target="_top" class="button database"
79 PointedEar 294
                     ><abbr title="<?php echo $menu['ufpdb']['title']; ?>"
295
                            class="text"><?php echo $menu['ufpdb']['text']; ?></abbr></a></li>
56 PointedEar 296
            </ul>
297
            <div style="position: relative; margin-bottom: 1.2em">
298
              <div class="bow" style="width: 8em; height: 0.8em">&nbsp;</div>
299
            </div>
300
            <ul>
301
              <li><a href="http://climateapps2.oerc.ox.ac.uk/cpdnboinc/show_user.php?userid=648544"
302
                     target="_top" class="button secondary"
151 PointedEar 303
                     title="<?php echo tr("The world’s largest climate forecasting experiment for the 21st century"); ?>"
56 PointedEar 304
                     ><span class="text">climateprediction.net</span></a></li>
160 PointedEar 305
              <li><a href="http://fah-web2.stanford.edu/cgi-bin/main.py?qtype=userpage&username=Thomas_Lahn"
56 PointedEar 306
                     target="_top" class="button secondary"
151 PointedEar 307
                     title="<?php echo tr("Distributed computing to understand protein folding, protein aggregation, and related diseases"); ?>"
56 PointedEar 308
                     ><span class="text">Folding at home</span></a></li>
309
             <li><a href="http://lhcathomeclassic.cern.ch/sixtrack/show_user.php?userid=221181"
310
                    target="_top" class="button secondary"
151 PointedEar 311
                    title="<?php echo tr("Particle physics research with the Large Hadron Collider at CERN"); ?>"
56 PointedEar 312
                    ><span class="text">LHC at home</span></a></li>
313
             <li><a href="http://setiathome.berkeley.edu/show_user.php?userid=378921"
314
                    target="_top" class="button secondary"
151 PointedEar 315
                    title="<?php echo tr("The Search for Extra-Terrestrial Intelligence at HOME"); ?>"
56 PointedEar 316
                    ><span class="text">SETI at home</span></a></li>
159 PointedEar 317
             <li><a href="http://stackoverflow.com/users/855543/pointedears"
318
                    target="_top" class="button secondary"
319
                    title="<?php echo tr("Me on Stack Overflow"); ?>"
320
                    ><span class="text">Stack Overflow</span></a></li>
153 PointedEar 321
             <li><a href="https://twitter.com/PointedEars2"
322
                    target="_top" class="button secondary"
323
                    title="<?php echo tr("Me on Twitter"); ?>"
324
                    ><span class="text">Twitter</span></a></li>
167 PointedEar 325
             <li><a href="<?php echo tr("http://en.wikipedia.org/wiki/Special:Contributions/PointedEars"); ?>"
326
                    target="_top" class="button secondary"
327
                    title="<?php echo tr("My contributions to Wikipedia"); ?>"
328
                    ><span class="text">Wikipedia</span></a></li>
56 PointedEar 329
           </ul>
330
<?php /*
331
            <script type="text/javascript">
332
              var sURL = location.href;
333
              var sFavAnchorTitle =
334
                  "Klicken Sie hier, um PointedEars' Website Ihren Favoriten"
335
                + " hinzuzufügen";
336
              var sOtherAnchorTitle =
337
                  "Klicken Sie hier mit der rechten Maustaste, um PointedEars' Website"
338
                + " Ihren Lesezeichen hinzuzufügen";
339
              var sFavoriteTitle = "PointedEars' Website";
166 PointedEar 340
 
56 PointedEar 341
              if (jsx.object.isHostMethod(jsx.global.window, "external", "AddFavorite"))
342
              {
343
                document.write(
344
                    '<div style="position: relative; margin-top: 1em; border-bottom: 0.2em solid transparent">'
345
                  + '  <div class="bow" style="width: 8em; height: 1em">&nbsp;<\/div>'
346
                  + '  <div class="bow" style="position: absolute; top: 0; left: 8.2em; width: 2em; height: 1em">&nbsp;<\/div>'
347
                  + '</div>'
348
                  + '<a href="javascript:window.external.AddFavorite('
349
                  + ' sURL, sFavoriteTitle);" title="' + sFavAnchorTitle + '"'
350
                  + ' class="button"'
351
                  + ' onclick="window.external.AddFavorite('
352
                  + ' sURL, sFavoriteTitle); return false"'
79 PointedEar 353
                  + ' onmouseover="return setStatus(sFavAnchorTitle)"'
354
                  + ' onmouseout="return resetStatus()"'
56 PointedEar 355
                  + '><span class="text">Favorit<\/span><\/a>');
356
              }
357
            </script>
358
*/ ?>
88 PointedEar 359
          </nav>
39 PointedEar 360
        </div>
56 PointedEar 361
      </div>
362
      <div id="connectors">
119 PointedEar 363
        <div class="bow top left">&nbsp;</div>
364
        <div class="bow top right">&nbsp;</div>
166 PointedEar 365
 
119 PointedEar 366
        <div class="bow mid left">&nbsp;</div>
367
        <div class="bow mid right">&nbsp;</div>
56 PointedEar 368
      </div>
369
      <div class="multi-display">
39 PointedEar 370
        <div class="upper">
74 PointedEar 371
          <div class="content">
372
            <div class="title"><span>Home</span></div>
118 PointedEar 373
            <div class="analysis">
374
              <table>
375
                <tr>
151 PointedEar 376
                  <th><?php echo tr('Display'); ?>:</th>
118 PointedEar 377
                  <td><script type="text/javascript">
158 PointedEar 378
                    var _addEventListener = jsx.dom.addEventListener;
379
                    var _runAsync = jsx.dom.timeout.runAsync;
146 PointedEar 380
                    var ID_SCREEN_DIM = 'screenDim';
381
                    var ID_AVAIL_DIM = 'availDim';
382
                    var ID_INNER_DIM = 'innerDim';
158 PointedEar 383
                    var TEXT_NOT_AVAILABLE = "<?php echo tr('N/A'); ?>";
166 PointedEar 384
 
146 PointedEar 385
                    var dim = (function () {
130 PointedEar 386
                      var screenInfo = jsx.dom.window.screenInfo;
146 PointedEar 387
 
388
                      return {
121 PointedEar 389
                        getScreenText: function () {
390
                          var screenDim = screenInfo.getDim();
391
                          return screenDim.width + "×" + screenDim.height;
392
                        },
166 PointedEar 393
 
121 PointedEar 394
                        getAvailText: function () {
395
                          var availDim = screenInfo.getAvailDim();
151 PointedEar 396
                          return availDim.width + "×" + availDim.height + " <?php echo tr('available'); ?>";
121 PointedEar 397
                        },
166 PointedEar 398
 
121 PointedEar 399
                        getInnerText: function () {
400
                          var innerDim = screenInfo.getInnerDim();
151 PointedEar 401
                          return ", " + innerDim.width + "×" + innerDim.height + " <?php echo tr('used'); ?>";
121 PointedEar 402
                        },
166 PointedEar 403
 
121 PointedEar 404
                        getColorDepthText: function () {
405
                          var colorDepth = screenInfo.getColorDepth();
406
                          return colorDepth
151 PointedEar 407
                            ? '2<sup>' + colorDepth + "<\/sup> <?php echo tr('colors'); ?>"
121 PointedEar 408
                            : "";
409
                        }
410
                      };
146 PointedEar 411
                    }());
166 PointedEar 412
 
146 PointedEar 413
                    (function () {
121 PointedEar 414
                      var screenDimText = dim.getScreenText();
415
                      var availDimText = dim.getAvailText();
416
                      var innerDimText = dim.getInnerText();
417
                      var colorDepthText = dim.getColorDepthText();
418
                      var displayInfo = (screenDimText || availDimText || innerDimText || colorDepthText)
151 PointedEar 419
                        ?   (screenDimText ? '<span id="' + ID_SCREEN_DIM + '">' + screenDimText + '<\/span> <?php echo tr('pixels'); ?>' : "")
146 PointedEar 420
                          + (availDimText ? ' (<span id="' + ID_AVAIL_DIM + '">' + availDimText + "<\/span>" : "")
421
                          + (innerDimText ? '<span id="' + ID_INNER_DIM + '">' + innerDimText + "<\/span>)" : "")
121 PointedEar 422
                          + (colorDepthText ? ' ×&nbsp;<span id="colorDepth">' + colorDepthText + "<\/span>" : "")
158 PointedEar 423
                        : TEXT_NOT_AVAILABLE;
166 PointedEar 424
 
133 PointedEar 425
                      /* FIXME: Convert HTML to text, update whole title text */
118 PointedEar 426
                      document.write('<span>' + displayInfo + '<\/span>');
121 PointedEar 427
 
428
                      var oColorDepth;
158 PointedEar 429
                      var tColor = _runAsync(function () {
121 PointedEar 430
                        if (typeof oColorDepth == "undefined")
431
                        {
432
                          oColorDepth = document.getElementById("colorDepth");
433
                        }
166 PointedEar 434
 
121 PointedEar 435
                        if (oColorDepth)
436
                        {
145 PointedEar 437
                          var colorDepthText = dim.getColorDepthText();
158 PointedEar 438
                          <?php /* FIXME: Also update title attribute value */ ?>
145 PointedEar 439
                          if (oColorDepth.innerHTML != colorDepthText)
440
                          {
441
                            oColorDepth.innerHTML = colorDepthText;
442
                          }
121 PointedEar 443
                        }
130 PointedEar 444
 
158 PointedEar 445
                        tColor = this.run();
121 PointedEar 446
                      }, 1000);
158 PointedEar 447
 
448
                      _addEventListener(document, "unload", function () {
449
                        tColor.unset();
450
                        tColor = null;
451
                      });
118 PointedEar 452
                    }());
151 PointedEar 453
                  </script><noscript><?php echo tr('N/A'); ?></noscript></td>
118 PointedEar 454
                </tr>
455
                <tr>
151 PointedEar 456
                  <th><?php echo tr('User Agent'); ?>:</th>
118 PointedEar 457
                  <td><script type="text/javascript">
458
                    (function () {
459
                      var ua = navigator.userAgent;
460
                      document.write('<span id="ua" title="' + ua + '">' + ua + '<\/span>');
121 PointedEar 461
 
462
                      var oUA;
158 PointedEar 463
                      var tUA = _runAsync(function () {
121 PointedEar 464
                        if (typeof oUA == "undefined")
465
                        {
466
                          oUA = document.getElementById("ua");
467
                        }
166 PointedEar 468
 
121 PointedEar 469
                        if (oUA)
470
                        {
145 PointedEar 471
                          var ua = navigator.userAgent;
121 PointedEar 472
 
145 PointedEar 473
                          if (oUA.innerHTML != ua)
474
                          {
475
                            oUA.innerHTML = ua;
476
                          }
477
 
158 PointedEar 478
                          <?php /* Converts CREs */ ?>
145 PointedEar 479
                          var oUAhtml = oUA.innerHTML
480
                          if (oUA.title != oUAhtml)
481
                          {
482
                            oUA.title = oUAhtml;
483
                          }
121 PointedEar 484
                        }
130 PointedEar 485
 
158 PointedEar 486
                        tUA = this.run();
118 PointedEar 487
                      }, 1000);
158 PointedEar 488
 
489
                      _addEventListener(document, "unload", function () {
490
                        tUA.unset();
491
                        tUA = null;
492
                      });
118 PointedEar 493
                    }());
151 PointedEar 494
                  </script><noscript><?php echo tr('N/A'); ?></noscript></td>
118 PointedEar 495
                </tr>
496
                <tr>
151 PointedEar 497
                  <th><?php echo tr('Features'); ?>:</th>
133 PointedEar 498
                  <td><script type="text/javascript">
145 PointedEar 499
                    var fullscreen = jsx.dom.window.fullscreen;
158 PointedEar 500
 
501
                    jsx.dom.geolocation = {
502
                      getText: function (position) {
503
                        var coords = position.coords;
504
                        var latitude = coords.latitude;
505
                        var longitude = coords.longitude;
506
                        var altitude = coords.altitude;
507
                        var altitudeAccuracy = coords.altitudeAccuracy;
508
                        var speed = coords.speed;
509
                        var heading = coords.heading;
166 PointedEar 510
 
158 PointedEar 511
                        return [
512
                          "<?php echo tr('Latitude:'); ?> " + (latitude != null ? latitude + "°" : TEXT_NOT_AVAILABLE),
513
                          "<?php echo tr('Longitude:'); ?> " + (longitude != null ? longitude + "°" : TEXT_NOT_AVAILABLE),
514
                          "<?php echo tr('Lat/Lng Accuracy:'); ?> " + coords.accuracy + " m",
515
                          "<?php echo tr('Altitude:'); ?> " + (altitude != null ? altitude + " m": TEXT_NOT_AVAILABLE),
516
                          "<?php echo tr('Alt. Accuracy:'); ?> " + (altitudeAccuracy != null ? altitudeAccuracy + " m": TEXT_NOT_AVAILABLE),
517
                          "<?php echo tr('Speed:'); ?> " + (speed != null && !isNaN(speed) ? speed + " m∕s": TEXT_NOT_AVAILABLE),
518
                          "<?php echo tr('Heading:'); ?> " + (heading != null && !isNaN(heading) ? heading + "°" : TEXT_NOT_AVAILABLE)
519
                        ].join("\n");
520
                      },
521
 
522
                      show: function (position) {
523
                        window.alert("<?php echo tr('Your current coordinates on Terra'); ?>\n\n" + this.getText(position));
524
                      }
525
                    };
166 PointedEar 526
 
145 PointedEar 527
                    (function () {
528
                      function getFeatures ()
529
                      {
530
                        var features = [];
531
                        if (typeof document.cookie != "undefined")
532
                        {
151 PointedEar 533
                          var cookiesText = "<?php echo tr('Cookies'); ?>"
145 PointedEar 534
                          if (navigator.cookieEnabled)
95 PointedEar 535
                          {
145 PointedEar 536
                            if (document.cookie)
118 PointedEar 537
                            {
158 PointedEar 538
                              var cookies = document.cookie;
539
                              cookies = cookies.split(/\s*;\s*/);
540
                              features.push('<a href="#" title="'
541
                                + cookies.join("&#13;&#10;")
542
                                + '"'
543
                                + ' onclick="window.alert(\'<?php echo tr('Cookies for'); ?> ' + document.domain + '\\n\\n' + cookies.join("\\n") + '\'); return false">' + cookiesText + '<\/a>');
118 PointedEar 544
                            }
145 PointedEar 545
                            else
118 PointedEar 546
                            {
145 PointedEar 547
                              features.push('<span class="unavailable"'
151 PointedEar 548
                                + ' title="<?php echo tr('Cookies supported, but no data for this site'); ?>"'
150 PointedEar 549
                                + '>' + cookiesText + '<\/span>');
118 PointedEar 550
                            }
145 PointedEar 551
                          }
552
                          else
553
                          {
150 PointedEar 554
                            features.push('<span class="offline"'
151 PointedEar 555
                              + ' title="<?php echo tr('Cookies supported, but disabled'); ?>"'
150 PointedEar 556
                              + '>' + cookiesText + '<\/span>');
145 PointedEar 557
                          }
558
                        }
559
 
560
                        if (fullscreen.isSupportedBy(document.documentElement))
561
                        {
151 PointedEar 562
                          features.push("<?php echo tr('Fullscreen'); ?>");
145 PointedEar 563
                        }
166 PointedEar 564
 
145 PointedEar 565
                        if (navigator.webkitGetGamepads && navigator.webkitGetGamepads().length)
566
                        {
151 PointedEar 567
                          features.push("<?php echo tr('Gamepad'); ?>");
145 PointedEar 568
                        }
166 PointedEar 569
 
145 PointedEar 570
                        if (navigator.geolocation)
571
                        {
158 PointedEar 572
                          features.push('<a href="#" title="<?php echo tr('Get location'); ?>"'
573
                            + ' onclick="navigator.geolocation.getCurrentPosition('
574
                            + 'function (position) { jsx.dom.geolocation.show(position); }); return false"'
575
                            + '><?php echo tr('Geolocation'); ?><\/a>');
145 PointedEar 576
                        }
577
 
578
                        if (typeof navigator.javaEnabled != "undefined" && navigator.javaEnabled())
579
                        {
580
                          features.push("Java");
581
                        }
166 PointedEar 582
 
145 PointedEar 583
                        var storage = jsx.dom.storage;
584
                        if (storage.localStorage.isSupported()) features.push("Local Storage");
585
 
586
                        if (navigator.plugins)
587
                        {
588
                          if (navigator.plugins.length > 0)
95 PointedEar 589
                          {
145 PointedEar 590
                            features.push('<span title="'
591
                              + navigator.plugins.length
151 PointedEar 592
                              + ' <?php echo tr('plugins installed'); ?>">Plugins<\/span>');
95 PointedEar 593
                          }
145 PointedEar 594
                          else
118 PointedEar 595
                          {
150 PointedEar 596
                                features.push('<span class="unavailable"'
151 PointedEar 597
                                + ' title="<?php echo tr('Plugins supported, but none detected'); ?>"'
150 PointedEar 598
                                + '>Plugins<\/span>');
118 PointedEar 599
                          }
76 PointedEar 600
                        }
145 PointedEar 601
 
602
                        if (storage.sessionStorage.isSupported())
603
                        {
604
                          features.push("Session Storage");
605
                        }
606
 
118 PointedEar 607
                        if (typeof window.ontouchstart != "undefined") features.push("Touch");
608
                        return features.join(" &#8226; ");
76 PointedEar 609
                      }
145 PointedEar 610
 
611
                      function stripTags (s)
612
                      {
158 PointedEar 613
                        return s.replace(/<[^>]+>/g, "");
145 PointedEar 614
                      }
166 PointedEar 615
 
118 PointedEar 616
                      var sFeatures = getFeatures();
158 PointedEar 617
                      document.write('<span id="features" title="' + stripTags(sFeatures) + '">' + sFeatures + '<\/span>');
118 PointedEar 618
 
121 PointedEar 619
                      var oFeatures;
145 PointedEar 620
                      var oFeaturesHtml;
158 PointedEar 621
                      var tFeatures = _runAsync(function () {
121 PointedEar 622
                        if (typeof oFeatures == "undefined")
623
                        {
624
                          oFeatures = document.getElementById("features");
625
                        }
626
 
627
                        if (oFeatures)
628
                        {
145 PointedEar 629
                          var sNewFeatures = getFeatures();
121 PointedEar 630
 
145 PointedEar 631
                          if (!oFeaturesHtml)
632
                          {
633
                            oFeaturesHtml = document.createElement("span");
634
                          }
166 PointedEar 635
 
145 PointedEar 636
                          if (oFeaturesHtml)
637
                          {
638
                            oFeaturesHtml.innerHTML = sNewFeatures;
639
                            sNewFeatures = oFeaturesHtml.innerHTML;
640
                          }
166 PointedEar 641
 
145 PointedEar 642
                          if (oFeatures.innerHTML != sNewFeatures)
643
                          {
644
                            oFeatures.innerHTML = sNewFeatures;
645
                          }
646
 
133 PointedEar 647
                          /* Converts CREs */
145 PointedEar 648
                          var newTitle = stripTags(oFeatures.innerHTML)
649
                          if (oFeatures.title != newTitle)
650
                          {
651
                            oFeatures.title = newTitle;
652
                          }
121 PointedEar 653
                        }
131 PointedEar 654
 
655
                        tFeatures = this.run();
118 PointedEar 656
                      }, 1000);
657
                    }());
145 PointedEar 658
 
158 PointedEar 659
                    _addEventListener(document, "unload", function () {
660
                      tFeatures.unset();
661
                      tFeatures = null;
662
                    });
663
 
151 PointedEar 664
                    var windowText = "<?php echo tr("Window"); ?>";
665
                  </script><noscript><?php echo tr('N/A'); ?></noscript></td>
118 PointedEar 666
                </tr>
667
              </table>
668
            </div>
92 PointedEar 669
            <ul class="commands">
97 PointedEar 670
              <li id="cmd1"><a href="index.php"
92 PointedEar 671
                title="Language selection"
672
                tabindex="1"
673
                class="button left right"
674
                onmouseover="return setStatus(this.title + ': ' + this.href)"
675
                onmouseout="return resetStatus()"
676
                onfocus="return this.onmouseover()"
677
                onblur="return this.onmouseout()"
678
                ><abbr class="text" title="Language selection">Language</abbr></a></li>
679
              <li id="cmd2"><a href="index.<?php echo $language; ?>?printable=1"
151 PointedEar 680
                title="<?php echo tr('Printable version'); ?>"
92 PointedEar 681
                tabindex="1"
682
                class="button left right"
683
                onmouseover="return setStatus(this.title + ': ' + this.href)"
684
                onmouseout="return resetStatus()"
685
                onfocus="return this.onmouseover()"
686
                onblur="return this.onmouseout()"
151 PointedEar 687
                ><span class="text"><?php echo tr("Printable"); ?></span></a></li>
92 PointedEar 688
              <li id="cmd3"><div class="button left right"
115 PointedEar 689
                   style="cursor: not-allowed !important"
146 PointedEar 690
                   onclick="fullscreen.requestOn(document.documentElement, this)"
121 PointedEar 691
                   onkeyup="if (event.keyCode == 13) { this.onclick(); }"
92 PointedEar 692
                   ><span class="text"><script type="text/javascript">
146 PointedEar 693
                     var cmd3;
95 PointedEar 694
                     if (fullscreen.isSupportedBy(document.documentElement))
92 PointedEar 695
                     {
158 PointedEar 696
                       _addEventListener(window, "load", function () {
146 PointedEar 697
                         if (typeof cmd3 == "undefined")
698
                         {
699
                           cmd3 = jsx.dom.getElementById("cmd3");
700
                         }
166 PointedEar 701
 
146 PointedEar 702
                         if (cmd3)
703
                         {
704
                           cmd3.firstChild.tabIndex = "1";
705
                         }
706
                       });
147 PointedEar 707
 
151 PointedEar 708
                       var fullscreenText = "<?php echo tr("Fullscreen"); ?>";
147 PointedEar 709
                       document.write(fullscreenText);
146 PointedEar 710
                     }
166 PointedEar 711
 
146 PointedEar 712
                     var oScreenDim;
713
                     var oAvailDim;
714
                     var oInnerDim;
715
                     var _gEBI = jsx.dom.getElementById;
716
                     var previousIsFullscreen;
717
                     var oldHandler;
166 PointedEar 718
 
158 PointedEar 719
                     _addEventListener(window, "resize", function () {
720
                       <?php /* FIXME: Also update title attribute value */ ?>
146 PointedEar 721
                       if (typeof oScreenDim == "undefined") oScreenDim = _gEBI(ID_SCREEN_DIM);
722
                       if (oScreenDim) oScreenDim.innerHTML = dim.getScreenText();
723
 
724
                       if (typeof oAvailDim == "undefined") oAvailDim = _gEBI(ID_AVAIL_DIM);
725
                       if (oAvailDim) oAvailDim.innerHTML = dim.getAvailText();
726
 
727
                       if (typeof oInnerDim == "undefined") oInnerDim = _gEBI(ID_INNER_DIM);
728
                       if (oInnerDim) oInnerDim.innerHTML = dim.getInnerText();
166 PointedEar 729
 
146 PointedEar 730
                       if (fullscreen.isSupportedBy(document.documentElement))
731
                       {
95 PointedEar 732
                         var nowIsFullscreen = fullscreen.isFullscreen();
733
                         if (nowIsFullscreen != previousIsFullscreen)
734
                         {
146 PointedEar 735
                           if (typeof cmd3 == "undefined")
736
                           {
737
                             cmd3 = document.getElementById("cmd3");
738
                           }
166 PointedEar 739
 
95 PointedEar 740
                           var target = cmd3.firstChild;
741
                           var textTarget = target.firstChild;
742
                           if (nowIsFullscreen)
743
                           {
744
                             oldHandler = target.onclick;
146 PointedEar 745
                             target.onclick = function () {
746
                               fullscreen.cancel();
747
                             };
151 PointedEar 748
                             textTarget.textContent = "<?php echo tr("Window"); ?>";
95 PointedEar 749
                           }
750
                           else
751
                           {
146 PointedEar 752
                             target.onclick = oldHandler;
147 PointedEar 753
                             textTarget.textContent = fullscreenText;
95 PointedEar 754
                           }
166 PointedEar 755
 
95 PointedEar 756
                           previousIsFullscreen = nowIsFullscreen;
757
                         }
146 PointedEar 758
                       }
759
                     });
92 PointedEar 760
                   </script></span></div></li>
761
              <li id="cmd4"><div class="button left right" style="cursor: not-allowed !important">&nbsp;</div></li>
762
            </ul>
72 PointedEar 763
          </div>
74 PointedEar 764
          <div class="elbo-button">
151 PointedEar 765
            <span class="text" title="<?php echo tr("Date of last modification"); ?>"
107 PointedEar 766
                  ><?php echo gmdate('Ym.d', $modi); ?></span>
74 PointedEar 767
          </div>
39 PointedEar 768
          <div class="elbo">
126 PointedEar 769
            <span class="text"><abbr title="Library Computer Access and Retrieval System">LCARS</abbr> PE-22A</span>
39 PointedEar 770
            <div class="concave">&nbsp;</div>
771
          </div>
79 PointedEar 772
          <div class="border">
773
            <div class="left">&nbsp;</div>
774
            <div class="right">&nbsp;</div>
775
          </div>
39 PointedEar 776
        </div>
777
        <div class="lower">
778
          <div class="elbo">
779
            <div class="concave">&nbsp;</div>
780
          </div>
781
          <div class="bg">&nbsp;</div>
782
          <div class="border-container">
79 PointedEar 783
            <div class="border">
784
              <div class="left">&nbsp;</div>
785
              <div class="right">&nbsp;</div>
786
            </div>
39 PointedEar 787
          </div>
788
        </div>
789
      </div>
790
    </div>
791
  </body>
158 PointedEar 792
</html>