Rev 115 | Rev 119 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 115 | Rev 118 | ||
|---|---|---|---|
| Line 135... | Line 135... | ||
| 135 | <h1 style="text-align: center"><img |
135 | <h1 style="text-align: center"><img |
| 136 | src="media/video/img/vulcan_hand-black-bg.png" |
136 | src="media/video/img/vulcan_hand-black-bg.png" |
| 137 | width="120" |
137 | width="120" |
| 138 | height="168" |
138 | height="168" |
| 139 | alt="<?php echo _("Vulcan greeting"); ?>" |
139 | alt="<?php echo _("Vulcan greeting"); ?>" |
| 140 | title="" |
140 | title="<?php echo _("Vulcan greeting"); ?>" |
| 141 | style="border: none; cursor: default" |
141 | style="border: none; cursor: default" |
| 142 | onmouseover="return setStatus(this.title)" |
142 | onmouseover="return setStatus(this.title)" |
| 143 | onmouseout="return resetStatus()"><br> |
143 | onmouseout="return resetStatus()"><br> |
| 144 | <?php echo _("Welcome to PointedEars’ Website"); ?></h1> |
144 | <?php echo _("Welcome to PointedEars’ Website"); ?></h1> |
| 145 | <?php
|
145 | <?php
|
| Line 361... | Line 361... | ||
| 361 | </div> |
361 | </div> |
| 362 | <div class="multi-display"> |
362 | <div class="multi-display"> |
| 363 | <div class="upper"> |
363 | <div class="upper"> |
| 364 | <div class="content"> |
364 | <div class="content"> |
| 365 | <div class="title"><span>Home</span></div> |
365 | <div class="title"><span>Home</span></div> |
| 366 | <div class="analysis"> </div> |
366 | <div class="analysis"> |
| 367 | <script type="text/javascript"> |
367 | <table> |
| - | 368 | <tr> |
|
| 368 | var fullscreen = (function () {
|
369 | <th><?php echo _('Display'); ?>:</th> |
| 369 | var _isHostMethod = jsx.object.isHostMethod; |
370 | <td><script type="text/javascript"> |
| 370 | - | ||
| 371 | return {
|
371 | var dim = {
|
| 372 | getSupportedProperty: function (base, names, test) {
|
372 | getScreen: function () {
|
| 373 | for (var i = 0, len = names.length; i < len; ++i) |
373 | return screen.width + "×" + screen.height; |
| 374 | {
|
374 | }, |
| - | 375 | ||
| 375 | var name = names[i]; |
376 | getAvail: function () {
|
| 376 | if (test.call(null, base, name)) |
377 | return screen.availWidth + "×" + screen.availHeight; |
| 377 | {
|
378 | }, |
| - | 379 | ||
| 378 | return name; |
380 | getInner: function () {
|
| 379 | } |
381 | return window.innerWidth + "×" + window.innerHeight; |
| 380 | } |
382 | }, |
| 381 | 383 | ||
| 382 | return null; |
- | |
| 383 | }, |
- | |
| 384 | - | ||
| 385 | getSupportedCancel: (function () {
|
- | |
| 386 | var _supportedCancel; |
- | |
| 387 | - | ||
| 388 | return function () {
|
384 | getColorDepth: function () {
|
| 389 | if (typeof _supportedCancel == "undefined") |
- | |
| 390 | {
|
- | |
| 391 | var properties = ["cancelFullScreen", "mozCancelFullScreen", |
- | |
| 392 | "webkitCancelFullScreen"]; |
385 | return (screen.colorDepth || screen.pixelDepth); |
| 393 | - | ||
| 394 | _supportedCancel = this.getSupportedProperty(document, properties, _isHostMethod); |
- | |
| 395 | } |
386 | } |
| 396 | - | ||
| 397 | return _supportedCancel; |
- | |
| 398 | }; |
387 | }; |
| 399 | }()), |
- | |
| 400 | - | ||
| 401 | getSupportedElement: (function () {
|
- | |
| 402 | var _supportedElement; |
- | |
| 403 | 388 | ||
| 404 | return function () {
|
389 | var displayInfo; |
| 405 | if (typeof _supportedElement == "undefined") |
390 | (function () {
|
| 406 | {
|
391 | displayInfo = |
| 407 | var properties = ["fullscreenElement", "mozFullscreenElement", |
392 | '<span id="screenDim">' + dim.getScreen() + '<\/span>' |
| 408 | "webkitFullscreenElement"]; |
393 | + ' (<span id="availDim">' + dim.getAvail() + "<\/span> <?php echo _('available'); ?>," |
| - | 394 | + ' <span id="innerDim">' + dim.getInner() + "<\/span> <?php echo _('used'); ?>) <?php echo _('pixels'); ?>" |
|
| - | 395 | + ' × 2<sup><span id="colorDepth">' + dim.getColorDepth() + "<\/span><\/sup> <?php echo _('colors'); ?>"; |
|
| 409 | 396 | ||
| 410 | _supportedElement = this.getSupportedProperty(document, properties, |
397 | /* FIXME: Convert HTML to text, update whole title text */ |
| 411 | function (base, name) {
|
- | |
| 412 | return typeof base[name] != "undefined"; |
398 | document.write('<span>' + displayInfo + '<\/span>');
|
| 413 | }); |
- | |
| 414 | } |
399 | }()); |
| 415 | 400 | ||
| - | 401 | window.onresize = function () {
|
|
| 416 | return _supportedElement; |
402 | /* FIXME: Update whole title text */ |
| - | 403 | document.getElementById("screenDim").innerHTML = dim.getScreen();
|
|
| - | 404 | document.getElementById("availDim").innerHTML = dim.getAvail();
|
|
| - | 405 | document.getElementById("innerDim").innerHTML = dim.getInner();
|
|
| 417 | }; |
406 | }; |
| 418 | }()), |
- | |
| 419 | 407 | ||
| 420 | isSupportedBy: function (elem) {
|
408 | window.setTimeout(function () {
|
| 421 | var methods = ["requestFullscreen", "mozRequestFullscreen", |
409 | /* FIXME: Update whole title text */ |
| 422 | "webkitRequestFullscreen"]; |
410 | document.getElementById("colorDepth").innerHTML = dim.getColorDepth();
|
| - | 411 | }, 1000); |
|
| 423 | return this.getSupportedProperty(elem, methods, _isHostMethod); |
412 | </script><noscript><?php echo _('N/A'); ?></noscript></td> |
| 424 | }, |
413 | </tr> |
| 425 | - | ||
| 426 | isFullscreen: function () {
|
414 | <tr> |
| 427 | var properties = ["fullscreenElement", "mozFullscreenElement", |
415 | <th><?php echo _('User Agent'); ?>:</th> |
| 428 | "webkitFullscreenElement"]; |
416 | <td><script type="text/javascript"> |
| 429 | var supportedProperty = this.getSupportedProperty( |
417 | (function () {
|
| 430 | document, properties, |
418 | var ua = navigator.userAgent; |
| - | 419 | document.write('<span id="ua" title="' + ua + '">' + ua + '<\/span>');
|
|
| - | 420 | ||
| 431 | function (base, name) {
|
421 | window.setTimeout(function () {
|
| 432 | return typeof base[name] != "undefined"; |
422 | document.getElementById("ua").innerHTML = navigator.userAgent;
|
| - | 423 | }, 1000); |
|
| 433 | }); |
424 | }()); |
| 434 | - | ||
| 435 | return supportedProperty && document[supportedProperty] != null; |
425 | </script><noscript><?php echo _('N/A'); ?></noscript></td> |
| 436 | }, |
426 | </tr> |
| 437 | - | ||
| 438 | cancel: function (target, oldHandler, textTarget) {
|
427 | <tr> |
| 439 | var supportedCancel = this.getSupportedCancel(); |
428 | <th><?php echo _('Features'); ?>:</th> |
| 440 | if (supportedCancel) |
429 | <td><script type="text/javascript"> |
| 441 | {
|
430 | var fullscreen = (function () {
|
| 442 | document[supportedCancel](); |
431 | var _isHostMethod = jsx.object.isHostMethod; |
| 443 | 432 | ||
| - | 433 | return {
|
|
| - | 434 | getSupportedProperty: function (base, names, test) {
|
|
| - | 435 | for (var i = 0, len = names.length; i < len; ++i) |
|
| - | 436 | {
|
|
| - | 437 | var name = names[i]; |
|
| - | 438 | if (test.call(null, base, name)) |
|
| - | 439 | {
|
|
| - | 440 | return name; |
|
| - | 441 | } |
|
| - | 442 | } |
|
| - | 443 | ||
| - | 444 | return null; |
|
| - | 445 | }, |
|
| - | 446 | ||
| - | 447 | getSupportedCancel: (function () {
|
|
| - | 448 | var _supportedCancel; |
|
| - | 449 | ||
| - | 450 | return function () {
|
|
| - | 451 | if (typeof _supportedCancel == "undefined") |
|
| - | 452 | {
|
|
| - | 453 | var properties = ["cancelFullScreen", "mozCancelFullScreen", |
|
| - | 454 | "webkitCancelFullScreen"]; |
|
| - | 455 | ||
| - | 456 | _supportedCancel = this.getSupportedProperty(document, properties, _isHostMethod); |
|
| - | 457 | } |
|
| - | 458 | ||
| - | 459 | return _supportedCancel; |
|
| - | 460 | }; |
|
| - | 461 | }()), |
|
| - | 462 | ||
| 444 | var supportedElement = this.getSupportedElement(); |
463 | getSupportedElement: (function () {
|
| 445 | if (supportedElement) |
464 | var _supportedElement; |
| - | 465 | ||
| - | 466 | return function () {
|
|
| - | 467 | if (typeof _supportedElement == "undefined") |
|
| 446 | {
|
468 | {
|
| - | 469 | var properties = ["fullscreenElement", "mozFullscreenElement", |
|
| - | 470 | "webkitFullscreenElement"]; |
|
| - | 471 | ||
| - | 472 | _supportedElement = this.getSupportedProperty(document, properties, |
|
| - | 473 | function (base, name) {
|
|
| - | 474 | return typeof base[name] != "undefined"; |
|
| - | 475 | }); |
|
| - | 476 | } |
|
| - | 477 | ||
| 447 | if (document[supportedElement] == null) |
478 | return _supportedElement; |
| - | 479 | }; |
|
| - | 480 | }()), |
|
| - | 481 | ||
| - | 482 | isSupportedBy: function (elem) {
|
|
| - | 483 | var methods = ["requestFullscreen", "mozRequestFullscreen", |
|
| - | 484 | "webkitRequestFullscreen"]; |
|
| - | 485 | return this.getSupportedProperty(elem, methods, _isHostMethod); |
|
| - | 486 | }, |
|
| - | 487 | ||
| - | 488 | isFullscreen: function () {
|
|
| - | 489 | var properties = ["fullscreenElement", "mozFullscreenElement", |
|
| - | 490 | "webkitFullscreenElement"]; |
|
| - | 491 | var supportedProperty = this.getSupportedProperty( |
|
| - | 492 | document, properties, |
|
| - | 493 | function (base, name) {
|
|
| - | 494 | return typeof base[name] != "undefined"; |
|
| - | 495 | }); |
|
| - | 496 | ||
| - | 497 | return supportedProperty && document[supportedProperty] != null; |
|
| 448 | {
|
498 | }, |
| - | 499 | ||
| - | 500 | cancel: function (target, oldHandler, textTarget) {
|
|
| - | 501 | var supportedCancel = this.getSupportedCancel(); |
|
| 449 | if (textTarget) |
502 | if (supportedCancel) |
| 450 | {
|
503 | {
|
| - | 504 | document[supportedCancel](); |
|
| - | 505 | ||
| - | 506 | var supportedElement = this.getSupportedElement(); |
|
| - | 507 | if (supportedElement) |
|
| - | 508 | {
|
|
| - | 509 | if (document[supportedElement] == null) |
|
| - | 510 | {
|
|
| - | 511 | if (textTarget) |
|
| - | 512 | {
|
|
| 451 | textTarget.textContent = "<?php echo _("Fullscreen"); ?>"; |
513 | textTarget.textContent = "<?php echo _("Fullscreen"); ?>"; |
| - | 514 | } |
|
| - | 515 | ||
| - | 516 | if (target) |
|
| - | 517 | {
|
|
| - | 518 | target.onclick = oldHandler; |
|
| - | 519 | } |
|
| - | 520 | } |
|
| - | 521 | } |
|
| 452 | } |
522 | } |
| - | 523 | }, |
|
| 453 | 524 | ||
| - | 525 | requestOn: function (elem, eventTarget, textTarget) {
|
|
| 454 | if (target) |
526 | var requestMethodName; |
| - | 527 | ||
| - | 528 | if (elem && (requestMethodName = this.isSupportedBy(elem))) |
|
| 455 | {
|
529 | {
|
| - | 530 | elem[requestMethodName](); |
|
| - | 531 | if (textTarget && this.isFullscreen()) |
|
| - | 532 | {
|
|
| - | 533 | var oldText = textTarget.textContent; |
|
| - | 534 | var me = this; |
|
| - | 535 | var oldHandler = eventTarget.onclick; |
|
| 456 | target.onclick = oldHandler; |
536 | eventTarget.onclick = function () {
|
| - | 537 | me.cancel(this, oldHandler, textTarget); |
|
| - | 538 | }; |
|
| - | 539 | textTarget.textContent = "<?php echo _("Window"); ?>"; |
|
| - | 540 | } |
|
| 457 | } |
541 | } |
| 458 | } |
542 | } |
| 459 | } |
543 | }; |
| 460 | } |
544 | }()); |
| 461 | }, |
- | |
| 462 | - | ||
| 463 | requestOn: function (elem, eventTarget, textTarget) {
|
- | |
| 464 | var requestMethodName; |
- | |
| 465 | 545 | ||
| 466 | if (elem && (requestMethodName = this.isSupportedBy(elem))) |
- | |
| 467 | {
|
546 | (function () {
|
| 468 | elem[requestMethodName](); |
547 | function getFeatures () |
| 469 | if (textTarget && this.isFullscreen()) |
- | |
| 470 | {
|
548 | {
|
| 471 | var oldText = textTarget.textContent; |
549 | var features = []; |
| 472 | var me = this; |
550 | if (navigator.cookieEnabled) features.push("<?php echo _('Cookies'); ?>");
|
| - | 551 | if (fullscreen.isSupportedBy(document.documentElement)) features.push("<?php echo _('Fullscreen'); ?>");
|
|
| - | 552 | if (navigator.webkitGetGamepads && navigator.webkitGetGamepads().length) features.push("<?php echo _('Gamepad'); ?>");
|
|
| 473 | var oldHandler = eventTarget.onclick; |
553 | if (navigator.geolocation) features.push("<?php echo _('Geolocation'); ?>");
|
| - | 554 | if (typeof navigator.javaEnabled != "undefined" && navigator.javaEnabled()) features.push("Java");
|
|
| - | 555 | if (typeof window.localStorage != "undefined") features.push("Local Storage");
|
|
| 474 | eventTarget.onclick = function () {
|
556 | if (navigator.plugins) features.push("Plugins");
|
| 475 | me.cancel(this, oldHandler, textTarget); |
557 | if (typeof window.sessionStorage != "undefined") features.push("Session Storage");
|
| 476 | }; |
558 | if (typeof window.ontouchstart != "undefined") features.push("Touch");
|
| 477 | textTarget.textContent = "<?php echo _("Window"); ?>"; |
559 | return features.join(" • ");
|
| 478 | } |
560 | } |
| - | 561 | ||
| - | 562 | var sFeatures = getFeatures(); |
|
| - | 563 | document.write('<span id="features" title="' + sFeatures + '">' + sFeatures + '<\/span>');
|
|
| - | 564 | ||
| - | 565 | window.setTimeout(function () {
|
|
| - | 566 | var sFeatures = getFeatures(); |
|
| - | 567 | var oFeatures = document.getElementById("features");
|
|
| - | 568 | oFeatures.innerHTML = sFeatures; |
|
| - | 569 | /* Converts CREs */ |
|
| - | 570 | oFeatures.title = oFeatures.innerHTML; |
|
| 479 | } |
571 | }, 1000); |
| 480 | } |
572 | }()); |
| - | 573 | </script><noscript><?php echo _('N/A'); ?></noscript></td> |
|
| 481 | }; |
574 | </tr> |
| 482 | }()); |
575 | </table> |
| 483 | </script> |
576 | </div> |
| 484 | <ul class="commands"> |
577 | <ul class="commands"> |
| 485 | <li id="cmd1"><a href="index.php" |
578 | <li id="cmd1"><a href="index.php" |
| 486 | title="Language selection" |
579 | title="Language selection" |
| 487 | tabindex="1" |
580 | tabindex="1" |
| 488 | class="button left right" |
581 | class="button left right" |