Subversion Repositories LCARS

Rev

Rev 178 | Rev 181 | 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
?>
170 PointedEar 79
    <!--[if lt IE 7]>
80
      <link rel="stylesheet" type="text/css" href="styles/lcars22-ie6.css">
81
    <![endif]-->
39 PointedEar 82
    <style type="text/css">
83
      <!--
84
      p {
85
        max-width: 100%;
86
      }
87
      -->
88
    </style>
89
 
178 PointedEar 90
    <script type="text/javascript" src="scripts/builder?src=object,dom,dom/storage,dom/events,dom/timeout,dom/widgets,dom/window,http,lcars<?php
130 PointedEar 91
      if ($isLocal)
92
      {
93
        ?>&amp;verbose=1&amp;debug=1<?php
94
      }
95
    ?>"></script>
39 PointedEar 96
    <script type="text/javascript">
56 PointedEar 97
<?php
39 PointedEar 98
      /*
99
      var ms1Day = 60*60*24*1000; // ms for 1 days = 60sec*60min*24hours*1000ms
100
      var msLeaveDays = ms1Day*6;
101
      var ms30Days=ms1Day*30;
102
      var delta;
103
      var newTime=new Date();
104
      var msTime=newTime.getTime();
105
      var msExpire=msTime+ms30Days;
106
      var expireTime=new Date(msExpire);
107
 
108
      cookieVal=
109
          "savedTime=" + newTime.toGMTString()
110
        + "; expires=" + expireTime.toGMTString()
111
        + "; domain=anybody"
112
        + "; path=/";
113
      document.cookie= cookieVal;
114
      */
56 PointedEar 115
?>
115 PointedEar 116
      function body_load ()
117
      {
118
        if (typeof this.ontouchstart != 'undefined')
119
        {
120
          this.ontouchstart = function () {};
121
        }
122
 
123
        if (fullscreen.isSupportedBy(document.documentElement))
124
        {
125
          var fullscreenLI = jsx.dom.getElementById("cmd3");
126
          fullscreenLI.firstChild.style.cursor = "";
127
        }
128
      }
39 PointedEar 129
    </script>
56 PointedEar 130
    <?php /* <bgsound src="media/interface/sound/beginop.wav" loop="infinite"> */ ?>
39 PointedEar 131
  </head>
115 PointedEar 132
  <body class="fade-in" onload="body_load()">
39 PointedEar 133
    <div id="content">
79 PointedEar 134
      <h1 style="text-align: center"><img
39 PointedEar 135
            src="media/video/img/vulcan_hand-black-bg.png"
136
            width="120"
137
            height="168"
151 PointedEar 138
            alt="<?php echo tr("Vulcan greeting"); ?>"
139
            title="<?php echo tr("Vulcan greeting"); ?>"
85 PointedEar 140
            style="border: none; cursor: default"
39 PointedEar 141
            onmouseover="return setStatus(this.title)"
142
            onmouseout="return resetStatus()"><br>
151 PointedEar 143
        <?php echo tr("Welcome to PointedEars’ Website"); ?></h1>
56 PointedEar 144
<?php
145
  if (!$printable)
146
  {
147
?>
79 PointedEar 148
      <p class="instruction" style="font-size: 100%; text-align: center"><?php
56 PointedEar 149
        echo sprintf(
151 PointedEar 150
          tr("This site uses recent <a href='https://developer.mozilla.org/en-US/docs/'"
84 PointedEar 151
            . " title='Learn more: Mozilla Developer Network'>Web technologies</a>."
79 PointedEar 152
            . " You can use the <a href='index.%s?printable=1'>%s</a>"
153
            . " if it is not displayed properly with your software."),
56 PointedEar 154
          $language,
151 PointedEar 155
          tr('Printable version'));
56 PointedEar 156
        ?></p>
157
<?php
158
  }
159
 
160
  /*
39 PointedEar 161
      <p>
162
        | <a href="leisure/" target="_top"
163
            >Freizeit-Datenbank</a>
164
        | <a href="mozilla/" target="_top">Mozilla</a>
165
        | <a href="poetry/" target="_top">Poesie</a>
56 PointedEar 166
  */
166 PointedEar 167
 
56 PointedEar 168
  /*
39 PointedEar 169
        | [<abbr title="nur in englischer Sprache verf&uuml;gbar"
170
                 >en</abbr>]
171
        | <a href="selfhtml.de/" target="_top">SELFHTML.DE</a>
56 PointedEar 172
  */
173
  /*
39 PointedEar 174
        | <a href="lyrics/" target="_top">Songbook</a>
43 PointedEar 175
        | </p>
56 PointedEar 176
  */
177
              /*
39 PointedEar 178
      <p><a href="about/worm.de.html" target="_top"
179
            >Seltsame E-Mails bekommen?</a></p>
56 PointedEar 180
               */
181
/*
39 PointedEar 182
      <noscript>
183
        <a
184
          href="http://pointedears.de/"
185
          title="PointedEars' Website"
186
          >Diese Website zu Ihren Lesezeichen hinzuf&uuml;gen</a>
187
      </noscript>
56 PointedEar 188
 
39 PointedEar 189
      <!-- Klicken Sie hier, falls Sie nach 5 Sekunden nicht automatisch
190
           weitergeleitet werden. -->
56 PointedEar 191
*/
192
?>
193
<?php
105 PointedEar 194
  $app = "Welcome/$language";
195
  require_once 'footer.phtml';
56 PointedEar 196
      /* embed src="media/interface/speech/de/warten.wav" width="0" height="0"
197
      hidden="true" autostart="true" dir="ltr" lang="de" */
198
?>
39 PointedEar 199
    </div>
200
    <div id="LCARS">
56 PointedEar 201
<?php /*
39 PointedEar 202
      <div id="button-grid" style="position: absolute; opacity: 0.3">
203
        <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
204
 
205
        <a class="button" style="display: block; clear: left; 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
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
209
 
210
        <a class="button" style="display: block; clear: left; 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
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
214
 
215
        <a class="button" style="display: block; clear: left; 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
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
219
 
220
        <a class="button" style="display: block; clear: left; 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
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
224
 
225
        <a class="button" style="display: block; clear: left; 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
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
230
 
231
        <a class="button" style="display: block; clear: left; 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
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
235
 
236
        <a class="button" style="display: block; clear: left; 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
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
239
 
240
        <a class="button" style="display: block; clear: left; 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
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
243
 
244
        <a class="button" style="display: block; clear: left; 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
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
247
 
248
        <a class="button" style="display: block; clear: left; 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
        <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
251
      </div>
56 PointedEar 252
*/ ?>
39 PointedEar 253
      <div id="bow">
254
        <div id="bow-top">
255
          <div class="separator-left">&nbsp;</div>
91 PointedEar 256
          <div class="text"><span>PointedEars’ Website</span></div>
39 PointedEar 257
        </div>
258
        <div id="bow-top-left">
259
          <div class="concave">&nbsp;</div>
109 PointedEar 260
          <div style="position: absolute; top: 3.2em; left: 0; background-color: black">
261
            <div class="bow" style="margin-top: 0.2em; width: 8em; height: 1em">&nbsp;</div>
262
          </div>
39 PointedEar 263
        </div>
264
        <div id="bottom">
265
          <div id="bow-bottom">
266
            <div class="concave">&nbsp;</div>
267
            <div class="spacer">&nbsp;</div>
268
        </div>
269
        </div>
166 PointedEar 270
 
43 PointedEar 271
        <div class="menu-container">
88 PointedEar 272
          <nav class="menu">
175 PointedEar 273
            <ul>
56 PointedEar 274
            <?php foreach ($languages as $key => $name): ?>
74 PointedEar 275
              <li><a href="index.<?php echo $key; ?>?ani=0"
276
                     class="button<?php if ($language === $key) { ?> selected<?php } ?>"
277
                     tabindex="2"><span class="text"><?php echo $name; ?></span></a></li>
56 PointedEar 278
            <?php endforeach; ?>
279
            </ul>
175 PointedEar 280
            <div class="bow" style="margin-bottom: 0.4em; height: 0.4em">&nbsp;</div>
56 PointedEar 281
            <ul style="margin-bottom: 1.2em">
282
              <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 283
              <li><a href="<?php echo $menu['es-matrix']['path']; ?>" target="_top" class="button"
284
                     title="<?php echo $menu['es-matrix']['title']; ?>"
285
                     ><span class="text"><?php echo $menu['es-matrix']['text']; ?></span></a></li>
56 PointedEar 286
              <li><a href="<?php echo $menu['devel']['path']; ?>" target="_top" class="button"><span class="text"><?php echo $menu['devel']['text']; ?></span></a></li>
287
            </ul>
288
            <ul style="margin-bottom: 0.2em">
113 PointedEar 289
              <li><a href="psf/" target="_top"
290
                 class="button ancillary"
151 PointedEar 291
                 ><abbr title="<?php echo tr("PointedEars' Standard Frases"); ?>"
113 PointedEar 292
                        class="text">psf</abbr></a></li>
293
            <li><a href="<?php echo $menu['series']['path']; ?>" target="_top" class="button ancillary"
153 PointedEar 294
                   title="<?php echo tr('List of recommended TV shows and episodes, with logos in CSS'); ?>"
295
                   ><span class="text"><?php echo $menu['series']['text']; ?></span></a></li>
56 PointedEar 296
              <li><a href="<?php echo $menu['ufpdb']['path']; ?>" target="_top" class="button database"
79 PointedEar 297
                     ><abbr title="<?php echo $menu['ufpdb']['title']; ?>"
298
                            class="text"><?php echo $menu['ufpdb']['text']; ?></abbr></a></li>
56 PointedEar 299
            </ul>
300
            <div style="position: relative; margin-bottom: 1.2em">
175 PointedEar 301
              <div class="bow" style="height: 0.8em">&nbsp;</div>
56 PointedEar 302
            </div>
303
            <ul>
304
              <li><a href="http://climateapps2.oerc.ox.ac.uk/cpdnboinc/show_user.php?userid=648544"
305
                     target="_top" class="button secondary"
151 PointedEar 306
                     title="<?php echo tr("The world’s largest climate forecasting experiment for the 21st century"); ?>"
56 PointedEar 307
                     ><span class="text">climateprediction.net</span></a></li>
160 PointedEar 308
              <li><a href="http://fah-web2.stanford.edu/cgi-bin/main.py?qtype=userpage&username=Thomas_Lahn"
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>
167 PointedEar 328
             <li><a href="<?php echo tr("http://en.wikipedia.org/wiki/Special:Contributions/PointedEars"); ?>"
329
                    target="_top" class="button secondary"
330
                    title="<?php echo tr("My contributions to Wikipedia"); ?>"
331
                    ><span class="text">Wikipedia</span></a></li>
56 PointedEar 332
           </ul>
333
<?php /*
334
            <script type="text/javascript">
335
              var sURL = location.href;
336
              var sFavAnchorTitle =
337
                  "Klicken Sie hier, um PointedEars' Website Ihren Favoriten"
338
                + " hinzuzufügen";
339
              var sOtherAnchorTitle =
340
                  "Klicken Sie hier mit der rechten Maustaste, um PointedEars' Website"
341
                + " Ihren Lesezeichen hinzuzufügen";
342
              var sFavoriteTitle = "PointedEars' Website";
166 PointedEar 343
 
56 PointedEar 344
              if (jsx.object.isHostMethod(jsx.global.window, "external", "AddFavorite"))
345
              {
346
                document.write(
347
                    '<div style="position: relative; margin-top: 1em; border-bottom: 0.2em solid transparent">'
348
                  + '  <div class="bow" style="width: 8em; height: 1em">&nbsp;<\/div>'
349
                  + '  <div class="bow" style="position: absolute; top: 0; left: 8.2em; width: 2em; height: 1em">&nbsp;<\/div>'
350
                  + '</div>'
351
                  + '<a href="javascript:window.external.AddFavorite('
352
                  + ' sURL, sFavoriteTitle);" title="' + sFavAnchorTitle + '"'
353
                  + ' class="button"'
354
                  + ' onclick="window.external.AddFavorite('
355
                  + ' sURL, sFavoriteTitle); return false"'
79 PointedEar 356
                  + ' onmouseover="return setStatus(sFavAnchorTitle)"'
357
                  + ' onmouseout="return resetStatus()"'
56 PointedEar 358
                  + '><span class="text">Favorit<\/span><\/a>');
359
              }
360
            </script>
361
*/ ?>
88 PointedEar 362
          </nav>
39 PointedEar 363
        </div>
56 PointedEar 364
      </div>
365
      <div id="connectors">
119 PointedEar 366
        <div class="bow top left">&nbsp;</div>
367
        <div class="bow top right">&nbsp;</div>
166 PointedEar 368
 
119 PointedEar 369
        <div class="bow mid left">&nbsp;</div>
370
        <div class="bow mid right">&nbsp;</div>
56 PointedEar 371
      </div>
372
      <div class="multi-display">
39 PointedEar 373
        <div class="upper">
74 PointedEar 374
          <div class="content">
178 PointedEar 375
            <div class="title" id="title"><span>Home</span></div>
118 PointedEar 376
            <div class="analysis">
377
              <table>
378
                <tr>
151 PointedEar 379
                  <th><?php echo tr('Display'); ?>:</th>
118 PointedEar 380
                  <td><script type="text/javascript">
158 PointedEar 381
                    var _addEventListener = jsx.dom.addEventListener;
382
                    var _runAsync = jsx.dom.timeout.runAsync;
146 PointedEar 383
                    var ID_SCREEN_DIM = 'screenDim';
384
                    var ID_AVAIL_DIM = 'availDim';
385
                    var ID_INNER_DIM = 'innerDim';
158 PointedEar 386
                    var TEXT_NOT_AVAILABLE = "<?php echo tr('N/A'); ?>";
166 PointedEar 387
 
146 PointedEar 388
                    var dim = (function () {
130 PointedEar 389
                      var screenInfo = jsx.dom.window.screenInfo;
146 PointedEar 390
 
391
                      return {
121 PointedEar 392
                        getScreenText: function () {
393
                          var screenDim = screenInfo.getDim();
394
                          return screenDim.width + "×" + screenDim.height;
395
                        },
166 PointedEar 396
 
121 PointedEar 397
                        getAvailText: function () {
398
                          var availDim = screenInfo.getAvailDim();
151 PointedEar 399
                          return availDim.width + "×" + availDim.height + " <?php echo tr('available'); ?>";
121 PointedEar 400
                        },
166 PointedEar 401
 
121 PointedEar 402
                        getInnerText: function () {
403
                          var innerDim = screenInfo.getInnerDim();
151 PointedEar 404
                          return ", " + innerDim.width + "×" + innerDim.height + " <?php echo tr('used'); ?>";
121 PointedEar 405
                        },
166 PointedEar 406
 
121 PointedEar 407
                        getColorDepthText: function () {
408
                          var colorDepth = screenInfo.getColorDepth();
409
                          return colorDepth
151 PointedEar 410
                            ? '2<sup>' + colorDepth + "<\/sup> <?php echo tr('colors'); ?>"
121 PointedEar 411
                            : "";
412
                        }
413
                      };
146 PointedEar 414
                    }());
166 PointedEar 415
 
146 PointedEar 416
                    (function () {
121 PointedEar 417
                      var screenDimText = dim.getScreenText();
418
                      var availDimText = dim.getAvailText();
419
                      var innerDimText = dim.getInnerText();
420
                      var colorDepthText = dim.getColorDepthText();
421
                      var displayInfo = (screenDimText || availDimText || innerDimText || colorDepthText)
151 PointedEar 422
                        ?   (screenDimText ? '<span id="' + ID_SCREEN_DIM + '">' + screenDimText + '<\/span> <?php echo tr('pixels'); ?>' : "")
146 PointedEar 423
                          + (availDimText ? ' (<span id="' + ID_AVAIL_DIM + '">' + availDimText + "<\/span>" : "")
424
                          + (innerDimText ? '<span id="' + ID_INNER_DIM + '">' + innerDimText + "<\/span>)" : "")
121 PointedEar 425
                          + (colorDepthText ? ' ×&nbsp;<span id="colorDepth">' + colorDepthText + "<\/span>" : "")
158 PointedEar 426
                        : TEXT_NOT_AVAILABLE;
166 PointedEar 427
 
133 PointedEar 428
                      /* FIXME: Convert HTML to text, update whole title text */
118 PointedEar 429
                      document.write('<span>' + displayInfo + '<\/span>');
121 PointedEar 430
 
431
                      var oColorDepth;
158 PointedEar 432
                      var tColor = _runAsync(function () {
121 PointedEar 433
                        if (typeof oColorDepth == "undefined")
434
                        {
435
                          oColorDepth = document.getElementById("colorDepth");
436
                        }
166 PointedEar 437
 
121 PointedEar 438
                        if (oColorDepth)
439
                        {
145 PointedEar 440
                          var colorDepthText = dim.getColorDepthText();
158 PointedEar 441
                          <?php /* FIXME: Also update title attribute value */ ?>
145 PointedEar 442
                          if (oColorDepth.innerHTML != colorDepthText)
443
                          {
444
                            oColorDepth.innerHTML = colorDepthText;
445
                          }
121 PointedEar 446
                        }
130 PointedEar 447
 
158 PointedEar 448
                        tColor = this.run();
121 PointedEar 449
                      }, 1000);
158 PointedEar 450
 
451
                      _addEventListener(document, "unload", function () {
452
                        tColor.unset();
453
                        tColor = null;
454
                      });
118 PointedEar 455
                    }());
151 PointedEar 456
                  </script><noscript><?php echo tr('N/A'); ?></noscript></td>
118 PointedEar 457
                </tr>
458
                <tr>
151 PointedEar 459
                  <th><?php echo tr('User Agent'); ?>:</th>
118 PointedEar 460
                  <td><script type="text/javascript">
461
                    (function () {
462
                      var ua = navigator.userAgent;
463
                      document.write('<span id="ua" title="' + ua + '">' + ua + '<\/span>');
121 PointedEar 464
 
465
                      var oUA;
158 PointedEar 466
                      var tUA = _runAsync(function () {
121 PointedEar 467
                        if (typeof oUA == "undefined")
468
                        {
469
                          oUA = document.getElementById("ua");
470
                        }
166 PointedEar 471
 
121 PointedEar 472
                        if (oUA)
473
                        {
145 PointedEar 474
                          var ua = navigator.userAgent;
121 PointedEar 475
 
145 PointedEar 476
                          if (oUA.innerHTML != ua)
477
                          {
478
                            oUA.innerHTML = ua;
479
                          }
480
 
158 PointedEar 481
                          <?php /* Converts CREs */ ?>
145 PointedEar 482
                          var oUAhtml = oUA.innerHTML
483
                          if (oUA.title != oUAhtml)
484
                          {
485
                            oUA.title = oUAhtml;
486
                          }
121 PointedEar 487
                        }
130 PointedEar 488
 
158 PointedEar 489
                        tUA = this.run();
118 PointedEar 490
                      }, 1000);
158 PointedEar 491
 
492
                      _addEventListener(document, "unload", function () {
493
                        tUA.unset();
494
                        tUA = null;
495
                      });
118 PointedEar 496
                    }());
151 PointedEar 497
                  </script><noscript><?php echo tr('N/A'); ?></noscript></td>
118 PointedEar 498
                </tr>
499
                <tr>
151 PointedEar 500
                  <th><?php echo tr('Features'); ?>:</th>
133 PointedEar 501
                  <td><script type="text/javascript">
145 PointedEar 502
                    var fullscreen = jsx.dom.window.fullscreen;
158 PointedEar 503
 
178 PointedEar 504
                    var map, circle;
505
 
506
                    function initGMap ()
507
                    {
508
                      var coords = jsx.dom.geolocation.position.coords;
509
                      //var title = document.getElementById("title");
510
                      //title.firstChild.textContent = [coords.latitude.toFixed(), "° ", coords.longitude, "° (", coords.accuracy, "\xA0m)"].join("");
511
                      var center = new google.maps.LatLng(coords.latitude, coords.longitude);
512
                      var zoom = 9;
513
 
514
                      var zoomAccuracy = [
515
                        1e7, 5e6, 2e6, 2e6, 1e6, 5e5, 2e5, 1e5, 5e4,
516
                        2e4, 1e4, 5e3, 2000, 2000, 1000, 500, 200,
517
                        100, 50, 20
518
                      ];
519
 
520
                      var accuracy = coords.accuracy;
521
                      if (!isNaN(accuracy))
522
                      {
523
                        for (var i = 0, len = zoomAccuracy.length; i < len; ++i)
524
                        {
525
                          if (accuracy > zoomAccuracy[i])
526
                          {
527
                            zoom = i;
528
                            break;
529
                          }
530
                        }
531
                      }
532
 
533
                      if (!map)
534
                      {
535
                        var mapOptions = {
536
                          center: center,
537
                          zoom: zoom,
538
                          mapTypeId: google.maps.MapTypeId.HYBRID,
539
                          backgroundColor: "#000",
540
                          noClear: true,
541
                          scaleControl: true
542
                        };
543
 
544
                        map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
545
                      }
546
                      else
547
                      {
548
                        map.setCenter(center);
549
                        map.setZoom(zoom);
550
                      }
551
 
552
                      if (!circle)
553
                      {
554
                        if (!isNaN(coords.accuracy))
555
                        {
556
                          circle = new google.maps.Circle({
557
                            map: map,
558
                            center: center,
559
                            radius: coords.accuracy,
560
                            fillColor: "white",
561
                            fillOpacity: 0.125,
562
                            strokeColor: "white",
563
                            strokeOpacity: 0.5
564
                          });
180 PointedEar 565
                          circle.addListener("click", function () {
566
                            window.alert("<?php echo tr('Your current coordinates on Terra'); ?>\n\n"
567
                              + jsx.dom.geolocation.getText(jsx.dom.geolocation.position));
568
                          });
178 PointedEar 569
                        }
570
                      }
571
                      else
572
                      {
573
                        if (!isNaN(coords.accuracy))
574
                        {
575
                          circle.setCenter(center);
576
                          circle.setRadius(coords.accuracy);
577
                        }
578
                        else
579
                        {
580
                          circle.setMap(null);
581
                        }
582
                      }
583
 
584
                      /* Restore transition */
585
                      document.getElementById("content").style.transition = "";
586
                    }
587
 
158 PointedEar 588
                    jsx.dom.geolocation = {
589
                      getText: function (position) {
590
                        var coords = position.coords;
591
                        var latitude = coords.latitude;
592
                        var longitude = coords.longitude;
593
                        var altitude = coords.altitude;
594
                        var altitudeAccuracy = coords.altitudeAccuracy;
595
                        var speed = coords.speed;
596
                        var heading = coords.heading;
166 PointedEar 597
 
158 PointedEar 598
                        return [
599
                          "<?php echo tr('Latitude:'); ?> " + (latitude != null ? latitude + "°" : TEXT_NOT_AVAILABLE),
600
                          "<?php echo tr('Longitude:'); ?> " + (longitude != null ? longitude + "°" : TEXT_NOT_AVAILABLE),
601
                          "<?php echo tr('Lat/Lng Accuracy:'); ?> " + coords.accuracy + " m",
602
                          "<?php echo tr('Altitude:'); ?> " + (altitude != null ? altitude + " m": TEXT_NOT_AVAILABLE),
603
                          "<?php echo tr('Alt. Accuracy:'); ?> " + (altitudeAccuracy != null ? altitudeAccuracy + " m": TEXT_NOT_AVAILABLE),
604
                          "<?php echo tr('Speed:'); ?> " + (speed != null && !isNaN(speed) ? speed + " m∕s": TEXT_NOT_AVAILABLE),
605
                          "<?php echo tr('Heading:'); ?> " + (heading != null && !isNaN(heading) ? heading + "°" : TEXT_NOT_AVAILABLE)
606
                        ].join("\n");
607
                      },
608
 
609
                      show: function (position) {
178 PointedEar 610
                        this.position = position;
611
                        //document.getElementById("content").innerHTML = "<?php echo tr('Your current coordinates on Terra'); ?>\n\n" + this.getText(position);
612
                        var title = document.getElementById("title");
613
                        title.firstChild.textContent = "<?php echo tr('Geolocation'); ?>";
614
                        var content = document.getElementById("content");
615
 
616
                        if (!map)
617
                        {
618
                          /* Disable transition while map is loading */
619
                          content.style.transition = "none";
620
                          content.className = "fixed";
621
                          content.innerHTML =
622
                            // '<select><option>Google Maps</option><option>OpenStreetMap</option></select>'
623
                            '<div id="map-canvas" style="position: absolute; width: 100%; height: 100%"></div>';
624
                        }
625
 
626
                        var scriptId = "google-maps";
627
                        var script = document.getElementById(scriptId);
628
                        if (!script)
629
                        {
630
                          script = document.createElement("script");
631
                          script.id = scriptId;
632
                          script.type = "text/javascript";
633
                          script.src = "http://maps.googleapis.com/maps/api/js?key=AIzaSyCpW3bu57j4V7_vcK_cVpvFkXMmKkKgADI&sensor=true&callback=initGMap&language=<?php echo $language; ?>";
634
                          document.body.appendChild(script);
635
                        }
636
                        else
637
                        {
638
                          initGMap();
639
                        }
158 PointedEar 640
                      }
641
                    };
166 PointedEar 642
 
145 PointedEar 643
                    (function () {
644
                      function getFeatures ()
645
                      {
646
                        var features = [];
647
                        if (typeof document.cookie != "undefined")
648
                        {
151 PointedEar 649
                          var cookiesText = "<?php echo tr('Cookies'); ?>"
145 PointedEar 650
                          if (navigator.cookieEnabled)
95 PointedEar 651
                          {
145 PointedEar 652
                            if (document.cookie)
118 PointedEar 653
                            {
158 PointedEar 654
                              var cookies = document.cookie;
655
                              cookies = cookies.split(/\s*;\s*/);
656
                              features.push('<a href="#" title="'
657
                                + cookies.join("&#13;&#10;")
658
                                + '"'
659
                                + ' onclick="window.alert(\'<?php echo tr('Cookies for'); ?> ' + document.domain + '\\n\\n' + cookies.join("\\n") + '\'); return false">' + cookiesText + '<\/a>');
118 PointedEar 660
                            }
145 PointedEar 661
                            else
118 PointedEar 662
                            {
145 PointedEar 663
                              features.push('<span class="unavailable"'
151 PointedEar 664
                                + ' title="<?php echo tr('Cookies supported, but no data for this site'); ?>"'
150 PointedEar 665
                                + '>' + cookiesText + '<\/span>');
118 PointedEar 666
                            }
145 PointedEar 667
                          }
668
                          else
669
                          {
150 PointedEar 670
                            features.push('<span class="offline"'
151 PointedEar 671
                              + ' title="<?php echo tr('Cookies supported, but disabled'); ?>"'
150 PointedEar 672
                              + '>' + cookiesText + '<\/span>');
145 PointedEar 673
                          }
674
                        }
675
 
676
                        if (fullscreen.isSupportedBy(document.documentElement))
677
                        {
151 PointedEar 678
                          features.push("<?php echo tr('Fullscreen'); ?>");
145 PointedEar 679
                        }
166 PointedEar 680
 
145 PointedEar 681
                        if (navigator.webkitGetGamepads && navigator.webkitGetGamepads().length)
682
                        {
151 PointedEar 683
                          features.push("<?php echo tr('Gamepad'); ?>");
145 PointedEar 684
                        }
166 PointedEar 685
 
145 PointedEar 686
                        if (navigator.geolocation)
687
                        {
158 PointedEar 688
                          features.push('<a href="#" title="<?php echo tr('Get location'); ?>"'
689
                            + ' onclick="navigator.geolocation.getCurrentPosition('
690
                            + 'function (position) { jsx.dom.geolocation.show(position); }); return false"'
691
                            + '><?php echo tr('Geolocation'); ?><\/a>');
145 PointedEar 692
                        }
693
 
694
                        if (typeof navigator.javaEnabled != "undefined" && navigator.javaEnabled())
695
                        {
696
                          features.push("Java");
697
                        }
166 PointedEar 698
 
145 PointedEar 699
                        var storage = jsx.dom.storage;
700
                        if (storage.localStorage.isSupported()) features.push("Local Storage");
701
 
702
                        if (navigator.plugins)
703
                        {
704
                          if (navigator.plugins.length > 0)
95 PointedEar 705
                          {
145 PointedEar 706
                            features.push('<span title="'
707
                              + navigator.plugins.length
151 PointedEar 708
                              + ' <?php echo tr('plugins installed'); ?>">Plugins<\/span>');
95 PointedEar 709
                          }
145 PointedEar 710
                          else
118 PointedEar 711
                          {
150 PointedEar 712
                                features.push('<span class="unavailable"'
151 PointedEar 713
                                + ' title="<?php echo tr('Plugins supported, but none detected'); ?>"'
150 PointedEar 714
                                + '>Plugins<\/span>');
118 PointedEar 715
                          }
76 PointedEar 716
                        }
145 PointedEar 717
 
718
                        if (storage.sessionStorage.isSupported())
719
                        {
720
                          features.push("Session Storage");
721
                        }
722
 
118 PointedEar 723
                        if (typeof window.ontouchstart != "undefined") features.push("Touch");
724
                        return features.join(" &#8226; ");
76 PointedEar 725
                      }
145 PointedEar 726
 
727
                      function stripTags (s)
728
                      {
158 PointedEar 729
                        return s.replace(/<[^>]+>/g, "");
145 PointedEar 730
                      }
166 PointedEar 731
 
118 PointedEar 732
                      var sFeatures = getFeatures();
158 PointedEar 733
                      document.write('<span id="features" title="' + stripTags(sFeatures) + '">' + sFeatures + '<\/span>');
118 PointedEar 734
 
121 PointedEar 735
                      var oFeatures;
145 PointedEar 736
                      var oFeaturesHtml;
158 PointedEar 737
                      var tFeatures = _runAsync(function () {
121 PointedEar 738
                        if (typeof oFeatures == "undefined")
739
                        {
740
                          oFeatures = document.getElementById("features");
741
                        }
742
 
743
                        if (oFeatures)
744
                        {
145 PointedEar 745
                          var sNewFeatures = getFeatures();
121 PointedEar 746
 
145 PointedEar 747
                          if (!oFeaturesHtml)
748
                          {
749
                            oFeaturesHtml = document.createElement("span");
750
                          }
166 PointedEar 751
 
145 PointedEar 752
                          if (oFeaturesHtml)
753
                          {
754
                            oFeaturesHtml.innerHTML = sNewFeatures;
755
                            sNewFeatures = oFeaturesHtml.innerHTML;
756
                          }
166 PointedEar 757
 
145 PointedEar 758
                          if (oFeatures.innerHTML != sNewFeatures)
759
                          {
760
                            oFeatures.innerHTML = sNewFeatures;
761
                          }
762
 
133 PointedEar 763
                          /* Converts CREs */
145 PointedEar 764
                          var newTitle = stripTags(oFeatures.innerHTML)
765
                          if (oFeatures.title != newTitle)
766
                          {
767
                            oFeatures.title = newTitle;
768
                          }
121 PointedEar 769
                        }
131 PointedEar 770
 
771
                        tFeatures = this.run();
118 PointedEar 772
                      }, 1000);
773
                    }());
145 PointedEar 774
 
158 PointedEar 775
                    _addEventListener(document, "unload", function () {
776
                      tFeatures.unset();
777
                      tFeatures = null;
778
                    });
779
 
151 PointedEar 780
                    var windowText = "<?php echo tr("Window"); ?>";
781
                  </script><noscript><?php echo tr('N/A'); ?></noscript></td>
118 PointedEar 782
                </tr>
783
              </table>
784
            </div>
92 PointedEar 785
            <ul class="commands">
97 PointedEar 786
              <li id="cmd1"><a href="index.php"
92 PointedEar 787
                title="Language selection"
788
                tabindex="1"
789
                class="button left right"
790
                onmouseover="return setStatus(this.title + ': ' + this.href)"
791
                onmouseout="return resetStatus()"
792
                onfocus="return this.onmouseover()"
793
                onblur="return this.onmouseout()"
794
                ><abbr class="text" title="Language selection">Language</abbr></a></li>
795
              <li id="cmd2"><a href="index.<?php echo $language; ?>?printable=1"
151 PointedEar 796
                title="<?php echo tr('Printable version'); ?>"
92 PointedEar 797
                tabindex="1"
798
                class="button left right"
799
                onmouseover="return setStatus(this.title + ': ' + this.href)"
800
                onmouseout="return resetStatus()"
801
                onfocus="return this.onmouseover()"
802
                onblur="return this.onmouseout()"
151 PointedEar 803
                ><span class="text"><?php echo tr("Printable"); ?></span></a></li>
92 PointedEar 804
              <li id="cmd3"><div class="button left right"
115 PointedEar 805
                   style="cursor: not-allowed !important"
146 PointedEar 806
                   onclick="fullscreen.requestOn(document.documentElement, this)"
121 PointedEar 807
                   onkeyup="if (event.keyCode == 13) { this.onclick(); }"
92 PointedEar 808
                   ><span class="text"><script type="text/javascript">
146 PointedEar 809
                     var cmd3;
95 PointedEar 810
                     if (fullscreen.isSupportedBy(document.documentElement))
92 PointedEar 811
                     {
158 PointedEar 812
                       _addEventListener(window, "load", function () {
146 PointedEar 813
                         if (typeof cmd3 == "undefined")
814
                         {
815
                           cmd3 = jsx.dom.getElementById("cmd3");
816
                         }
166 PointedEar 817
 
146 PointedEar 818
                         if (cmd3)
819
                         {
820
                           cmd3.firstChild.tabIndex = "1";
821
                         }
822
                       });
147 PointedEar 823
 
151 PointedEar 824
                       var fullscreenText = "<?php echo tr("Fullscreen"); ?>";
147 PointedEar 825
                       document.write(fullscreenText);
146 PointedEar 826
                     }
166 PointedEar 827
 
146 PointedEar 828
                     var oScreenDim;
829
                     var oAvailDim;
830
                     var oInnerDim;
831
                     var _gEBI = jsx.dom.getElementById;
832
                     var previousIsFullscreen;
833
                     var oldHandler;
166 PointedEar 834
 
158 PointedEar 835
                     _addEventListener(window, "resize", function () {
836
                       <?php /* FIXME: Also update title attribute value */ ?>
146 PointedEar 837
                       if (typeof oScreenDim == "undefined") oScreenDim = _gEBI(ID_SCREEN_DIM);
838
                       if (oScreenDim) oScreenDim.innerHTML = dim.getScreenText();
839
 
840
                       if (typeof oAvailDim == "undefined") oAvailDim = _gEBI(ID_AVAIL_DIM);
841
                       if (oAvailDim) oAvailDim.innerHTML = dim.getAvailText();
842
 
843
                       if (typeof oInnerDim == "undefined") oInnerDim = _gEBI(ID_INNER_DIM);
844
                       if (oInnerDim) oInnerDim.innerHTML = dim.getInnerText();
166 PointedEar 845
 
146 PointedEar 846
                       if (fullscreen.isSupportedBy(document.documentElement))
847
                       {
95 PointedEar 848
                         var nowIsFullscreen = fullscreen.isFullscreen();
849
                         if (nowIsFullscreen != previousIsFullscreen)
850
                         {
146 PointedEar 851
                           if (typeof cmd3 == "undefined")
852
                           {
853
                             cmd3 = document.getElementById("cmd3");
854
                           }
166 PointedEar 855
 
95 PointedEar 856
                           var target = cmd3.firstChild;
857
                           var textTarget = target.firstChild;
858
                           if (nowIsFullscreen)
859
                           {
860
                             oldHandler = target.onclick;
146 PointedEar 861
                             target.onclick = function () {
862
                               fullscreen.cancel();
863
                             };
151 PointedEar 864
                             textTarget.textContent = "<?php echo tr("Window"); ?>";
95 PointedEar 865
                           }
866
                           else
867
                           {
146 PointedEar 868
                             target.onclick = oldHandler;
147 PointedEar 869
                             textTarget.textContent = fullscreenText;
95 PointedEar 870
                           }
166 PointedEar 871
 
95 PointedEar 872
                           previousIsFullscreen = nowIsFullscreen;
873
                         }
146 PointedEar 874
                       }
875
                     });
92 PointedEar 876
                   </script></span></div></li>
877
              <li id="cmd4"><div class="button left right" style="cursor: not-allowed !important">&nbsp;</div></li>
878
            </ul>
72 PointedEar 879
          </div>
74 PointedEar 880
          <div class="elbo-button">
151 PointedEar 881
            <span class="text" title="<?php echo tr("Date of last modification"); ?>"
107 PointedEar 882
                  ><?php echo gmdate('Ym.d', $modi); ?></span>
74 PointedEar 883
          </div>
39 PointedEar 884
          <div class="elbo">
126 PointedEar 885
            <span class="text"><abbr title="Library Computer Access and Retrieval System">LCARS</abbr> PE-22A</span>
39 PointedEar 886
            <div class="concave">&nbsp;</div>
887
          </div>
79 PointedEar 888
          <div class="border">
889
            <div class="left">&nbsp;</div>
890
            <div class="right">&nbsp;</div>
891
          </div>
39 PointedEar 892
        </div>
893
        <div class="lower">
894
          <div class="elbo">
895
            <div class="concave">&nbsp;</div>
896
          </div>
897
          <div class="bg">&nbsp;</div>
898
          <div class="border-container">
79 PointedEar 899
            <div class="border">
900
              <div class="left">&nbsp;</div>
901
              <div class="right">&nbsp;</div>
902
            </div>
39 PointedEar 903
          </div>
904
        </div>
905
      </div>
906
    </div>
907
  </body>
158 PointedEar 908
</html>