Subversion Repositories LCARS

Rev

Rev 175 | Rev 180 | 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
                          });
565
                        }
566
                      }
567
                      else
568
                      {
569
                        if (!isNaN(coords.accuracy))
570
                        {
571
                          circle.setCenter(center);
572
                          circle.setRadius(coords.accuracy);
573
                        }
574
                        else
575
                        {
576
                          circle.setMap(null);
577
                        }
578
                      }
579
 
580
                      /* Restore transition */
581
                      document.getElementById("content").style.transition = "";
582
                    }
583
 
158 PointedEar 584
                    jsx.dom.geolocation = {
585
                      getText: function (position) {
586
                        var coords = position.coords;
587
                        var latitude = coords.latitude;
588
                        var longitude = coords.longitude;
589
                        var altitude = coords.altitude;
590
                        var altitudeAccuracy = coords.altitudeAccuracy;
591
                        var speed = coords.speed;
592
                        var heading = coords.heading;
166 PointedEar 593
 
158 PointedEar 594
                        return [
595
                          "<?php echo tr('Latitude:'); ?> " + (latitude != null ? latitude + "°" : TEXT_NOT_AVAILABLE),
596
                          "<?php echo tr('Longitude:'); ?> " + (longitude != null ? longitude + "°" : TEXT_NOT_AVAILABLE),
597
                          "<?php echo tr('Lat/Lng Accuracy:'); ?> " + coords.accuracy + " m",
598
                          "<?php echo tr('Altitude:'); ?> " + (altitude != null ? altitude + " m": TEXT_NOT_AVAILABLE),
599
                          "<?php echo tr('Alt. Accuracy:'); ?> " + (altitudeAccuracy != null ? altitudeAccuracy + " m": TEXT_NOT_AVAILABLE),
600
                          "<?php echo tr('Speed:'); ?> " + (speed != null && !isNaN(speed) ? speed + " m∕s": TEXT_NOT_AVAILABLE),
601
                          "<?php echo tr('Heading:'); ?> " + (heading != null && !isNaN(heading) ? heading + "°" : TEXT_NOT_AVAILABLE)
602
                        ].join("\n");
603
                      },
604
 
605
                      show: function (position) {
178 PointedEar 606
                        this.position = position;
607
                        //document.getElementById("content").innerHTML = "<?php echo tr('Your current coordinates on Terra'); ?>\n\n" + this.getText(position);
608
                        var title = document.getElementById("title");
609
                        title.firstChild.textContent = "<?php echo tr('Geolocation'); ?>";
610
                        var content = document.getElementById("content");
611
 
612
                        if (!map)
613
                        {
614
                          /* Disable transition while map is loading */
615
                          content.style.transition = "none";
616
                          content.className = "fixed";
617
                          content.innerHTML =
618
                            // '<select><option>Google Maps</option><option>OpenStreetMap</option></select>'
619
                            '<div id="map-canvas" style="position: absolute; width: 100%; height: 100%"></div>';
620
                        }
621
 
622
                        var scriptId = "google-maps";
623
                        var script = document.getElementById(scriptId);
624
                        if (!script)
625
                        {
626
                          script = document.createElement("script");
627
                          script.id = scriptId;
628
                          script.type = "text/javascript";
629
                          script.src = "http://maps.googleapis.com/maps/api/js?key=AIzaSyCpW3bu57j4V7_vcK_cVpvFkXMmKkKgADI&sensor=true&callback=initGMap&language=<?php echo $language; ?>";
630
                          document.body.appendChild(script);
631
                        }
632
                        else
633
                        {
634
                          initGMap();
635
                        }
158 PointedEar 636
                      }
637
                    };
166 PointedEar 638
 
145 PointedEar 639
                    (function () {
640
                      function getFeatures ()
641
                      {
642
                        var features = [];
643
                        if (typeof document.cookie != "undefined")
644
                        {
151 PointedEar 645
                          var cookiesText = "<?php echo tr('Cookies'); ?>"
145 PointedEar 646
                          if (navigator.cookieEnabled)
95 PointedEar 647
                          {
145 PointedEar 648
                            if (document.cookie)
118 PointedEar 649
                            {
158 PointedEar 650
                              var cookies = document.cookie;
651
                              cookies = cookies.split(/\s*;\s*/);
652
                              features.push('<a href="#" title="'
653
                                + cookies.join("&#13;&#10;")
654
                                + '"'
655
                                + ' onclick="window.alert(\'<?php echo tr('Cookies for'); ?> ' + document.domain + '\\n\\n' + cookies.join("\\n") + '\'); return false">' + cookiesText + '<\/a>');
118 PointedEar 656
                            }
145 PointedEar 657
                            else
118 PointedEar 658
                            {
145 PointedEar 659
                              features.push('<span class="unavailable"'
151 PointedEar 660
                                + ' title="<?php echo tr('Cookies supported, but no data for this site'); ?>"'
150 PointedEar 661
                                + '>' + cookiesText + '<\/span>');
118 PointedEar 662
                            }
145 PointedEar 663
                          }
664
                          else
665
                          {
150 PointedEar 666
                            features.push('<span class="offline"'
151 PointedEar 667
                              + ' title="<?php echo tr('Cookies supported, but disabled'); ?>"'
150 PointedEar 668
                              + '>' + cookiesText + '<\/span>');
145 PointedEar 669
                          }
670
                        }
671
 
672
                        if (fullscreen.isSupportedBy(document.documentElement))
673
                        {
151 PointedEar 674
                          features.push("<?php echo tr('Fullscreen'); ?>");
145 PointedEar 675
                        }
166 PointedEar 676
 
145 PointedEar 677
                        if (navigator.webkitGetGamepads && navigator.webkitGetGamepads().length)
678
                        {
151 PointedEar 679
                          features.push("<?php echo tr('Gamepad'); ?>");
145 PointedEar 680
                        }
166 PointedEar 681
 
145 PointedEar 682
                        if (navigator.geolocation)
683
                        {
158 PointedEar 684
                          features.push('<a href="#" title="<?php echo tr('Get location'); ?>"'
685
                            + ' onclick="navigator.geolocation.getCurrentPosition('
686
                            + 'function (position) { jsx.dom.geolocation.show(position); }); return false"'
687
                            + '><?php echo tr('Geolocation'); ?><\/a>');
145 PointedEar 688
                        }
689
 
690
                        if (typeof navigator.javaEnabled != "undefined" && navigator.javaEnabled())
691
                        {
692
                          features.push("Java");
693
                        }
166 PointedEar 694
 
145 PointedEar 695
                        var storage = jsx.dom.storage;
696
                        if (storage.localStorage.isSupported()) features.push("Local Storage");
697
 
698
                        if (navigator.plugins)
699
                        {
700
                          if (navigator.plugins.length > 0)
95 PointedEar 701
                          {
145 PointedEar 702
                            features.push('<span title="'
703
                              + navigator.plugins.length
151 PointedEar 704
                              + ' <?php echo tr('plugins installed'); ?>">Plugins<\/span>');
95 PointedEar 705
                          }
145 PointedEar 706
                          else
118 PointedEar 707
                          {
150 PointedEar 708
                                features.push('<span class="unavailable"'
151 PointedEar 709
                                + ' title="<?php echo tr('Plugins supported, but none detected'); ?>"'
150 PointedEar 710
                                + '>Plugins<\/span>');
118 PointedEar 711
                          }
76 PointedEar 712
                        }
145 PointedEar 713
 
714
                        if (storage.sessionStorage.isSupported())
715
                        {
716
                          features.push("Session Storage");
717
                        }
718
 
118 PointedEar 719
                        if (typeof window.ontouchstart != "undefined") features.push("Touch");
720
                        return features.join(" &#8226; ");
76 PointedEar 721
                      }
145 PointedEar 722
 
723
                      function stripTags (s)
724
                      {
158 PointedEar 725
                        return s.replace(/<[^>]+>/g, "");
145 PointedEar 726
                      }
166 PointedEar 727
 
118 PointedEar 728
                      var sFeatures = getFeatures();
158 PointedEar 729
                      document.write('<span id="features" title="' + stripTags(sFeatures) + '">' + sFeatures + '<\/span>');
118 PointedEar 730
 
121 PointedEar 731
                      var oFeatures;
145 PointedEar 732
                      var oFeaturesHtml;
158 PointedEar 733
                      var tFeatures = _runAsync(function () {
121 PointedEar 734
                        if (typeof oFeatures == "undefined")
735
                        {
736
                          oFeatures = document.getElementById("features");
737
                        }
738
 
739
                        if (oFeatures)
740
                        {
145 PointedEar 741
                          var sNewFeatures = getFeatures();
121 PointedEar 742
 
145 PointedEar 743
                          if (!oFeaturesHtml)
744
                          {
745
                            oFeaturesHtml = document.createElement("span");
746
                          }
166 PointedEar 747
 
145 PointedEar 748
                          if (oFeaturesHtml)
749
                          {
750
                            oFeaturesHtml.innerHTML = sNewFeatures;
751
                            sNewFeatures = oFeaturesHtml.innerHTML;
752
                          }
166 PointedEar 753
 
145 PointedEar 754
                          if (oFeatures.innerHTML != sNewFeatures)
755
                          {
756
                            oFeatures.innerHTML = sNewFeatures;
757
                          }
758
 
133 PointedEar 759
                          /* Converts CREs */
145 PointedEar 760
                          var newTitle = stripTags(oFeatures.innerHTML)
761
                          if (oFeatures.title != newTitle)
762
                          {
763
                            oFeatures.title = newTitle;
764
                          }
121 PointedEar 765
                        }
131 PointedEar 766
 
767
                        tFeatures = this.run();
118 PointedEar 768
                      }, 1000);
769
                    }());
145 PointedEar 770
 
158 PointedEar 771
                    _addEventListener(document, "unload", function () {
772
                      tFeatures.unset();
773
                      tFeatures = null;
774
                    });
775
 
151 PointedEar 776
                    var windowText = "<?php echo tr("Window"); ?>";
777
                  </script><noscript><?php echo tr('N/A'); ?></noscript></td>
118 PointedEar 778
                </tr>
779
              </table>
780
            </div>
92 PointedEar 781
            <ul class="commands">
97 PointedEar 782
              <li id="cmd1"><a href="index.php"
92 PointedEar 783
                title="Language selection"
784
                tabindex="1"
785
                class="button left right"
786
                onmouseover="return setStatus(this.title + ': ' + this.href)"
787
                onmouseout="return resetStatus()"
788
                onfocus="return this.onmouseover()"
789
                onblur="return this.onmouseout()"
790
                ><abbr class="text" title="Language selection">Language</abbr></a></li>
791
              <li id="cmd2"><a href="index.<?php echo $language; ?>?printable=1"
151 PointedEar 792
                title="<?php echo tr('Printable version'); ?>"
92 PointedEar 793
                tabindex="1"
794
                class="button left right"
795
                onmouseover="return setStatus(this.title + ': ' + this.href)"
796
                onmouseout="return resetStatus()"
797
                onfocus="return this.onmouseover()"
798
                onblur="return this.onmouseout()"
151 PointedEar 799
                ><span class="text"><?php echo tr("Printable"); ?></span></a></li>
92 PointedEar 800
              <li id="cmd3"><div class="button left right"
115 PointedEar 801
                   style="cursor: not-allowed !important"
146 PointedEar 802
                   onclick="fullscreen.requestOn(document.documentElement, this)"
121 PointedEar 803
                   onkeyup="if (event.keyCode == 13) { this.onclick(); }"
92 PointedEar 804
                   ><span class="text"><script type="text/javascript">
146 PointedEar 805
                     var cmd3;
95 PointedEar 806
                     if (fullscreen.isSupportedBy(document.documentElement))
92 PointedEar 807
                     {
158 PointedEar 808
                       _addEventListener(window, "load", function () {
146 PointedEar 809
                         if (typeof cmd3 == "undefined")
810
                         {
811
                           cmd3 = jsx.dom.getElementById("cmd3");
812
                         }
166 PointedEar 813
 
146 PointedEar 814
                         if (cmd3)
815
                         {
816
                           cmd3.firstChild.tabIndex = "1";
817
                         }
818
                       });
147 PointedEar 819
 
151 PointedEar 820
                       var fullscreenText = "<?php echo tr("Fullscreen"); ?>";
147 PointedEar 821
                       document.write(fullscreenText);
146 PointedEar 822
                     }
166 PointedEar 823
 
146 PointedEar 824
                     var oScreenDim;
825
                     var oAvailDim;
826
                     var oInnerDim;
827
                     var _gEBI = jsx.dom.getElementById;
828
                     var previousIsFullscreen;
829
                     var oldHandler;
166 PointedEar 830
 
158 PointedEar 831
                     _addEventListener(window, "resize", function () {
832
                       <?php /* FIXME: Also update title attribute value */ ?>
146 PointedEar 833
                       if (typeof oScreenDim == "undefined") oScreenDim = _gEBI(ID_SCREEN_DIM);
834
                       if (oScreenDim) oScreenDim.innerHTML = dim.getScreenText();
835
 
836
                       if (typeof oAvailDim == "undefined") oAvailDim = _gEBI(ID_AVAIL_DIM);
837
                       if (oAvailDim) oAvailDim.innerHTML = dim.getAvailText();
838
 
839
                       if (typeof oInnerDim == "undefined") oInnerDim = _gEBI(ID_INNER_DIM);
840
                       if (oInnerDim) oInnerDim.innerHTML = dim.getInnerText();
166 PointedEar 841
 
146 PointedEar 842
                       if (fullscreen.isSupportedBy(document.documentElement))
843
                       {
95 PointedEar 844
                         var nowIsFullscreen = fullscreen.isFullscreen();
845
                         if (nowIsFullscreen != previousIsFullscreen)
846
                         {
146 PointedEar 847
                           if (typeof cmd3 == "undefined")
848
                           {
849
                             cmd3 = document.getElementById("cmd3");
850
                           }
166 PointedEar 851
 
95 PointedEar 852
                           var target = cmd3.firstChild;
853
                           var textTarget = target.firstChild;
854
                           if (nowIsFullscreen)
855
                           {
856
                             oldHandler = target.onclick;
146 PointedEar 857
                             target.onclick = function () {
858
                               fullscreen.cancel();
859
                             };
151 PointedEar 860
                             textTarget.textContent = "<?php echo tr("Window"); ?>";
95 PointedEar 861
                           }
862
                           else
863
                           {
146 PointedEar 864
                             target.onclick = oldHandler;
147 PointedEar 865
                             textTarget.textContent = fullscreenText;
95 PointedEar 866
                           }
166 PointedEar 867
 
95 PointedEar 868
                           previousIsFullscreen = nowIsFullscreen;
869
                         }
146 PointedEar 870
                       }
871
                     });
92 PointedEar 872
                   </script></span></div></li>
873
              <li id="cmd4"><div class="button left right" style="cursor: not-allowed !important">&nbsp;</div></li>
874
            </ul>
72 PointedEar 875
          </div>
74 PointedEar 876
          <div class="elbo-button">
151 PointedEar 877
            <span class="text" title="<?php echo tr("Date of last modification"); ?>"
107 PointedEar 878
                  ><?php echo gmdate('Ym.d', $modi); ?></span>
74 PointedEar 879
          </div>
39 PointedEar 880
          <div class="elbo">
126 PointedEar 881
            <span class="text"><abbr title="Library Computer Access and Retrieval System">LCARS</abbr> PE-22A</span>
39 PointedEar 882
            <div class="concave">&nbsp;</div>
883
          </div>
79 PointedEar 884
          <div class="border">
885
            <div class="left">&nbsp;</div>
886
            <div class="right">&nbsp;</div>
887
          </div>
39 PointedEar 888
        </div>
889
        <div class="lower">
890
          <div class="elbo">
891
            <div class="concave">&nbsp;</div>
892
          </div>
893
          <div class="bg">&nbsp;</div>
894
          <div class="border-container">
79 PointedEar 895
            <div class="border">
896
              <div class="left">&nbsp;</div>
897
              <div class="right">&nbsp;</div>
898
            </div>
39 PointedEar 899
          </div>
900
        </div>
901
      </div>
902
    </div>
903
  </body>
158 PointedEar 904
</html>