Subversion Repositories LCARS

Rev

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