Первоапрельский ява-скрипт

Небольшой код (на JavaScipt), переворачивающий текст на странице справа-налево. Зачем нужен не знаю, не вижу ему применения, иначе как в качестве какого-нибудь розыгрыша.  1  var skipParent=new Array();
 2  
skipParent["SCRIPT"]=1;
 3  
 4  function 
flipString(aString) {
 5      var 
last aString.length 1;
 6      var 
result = new Array(aString.length)
 7      for (var 
last>= 0; —i) {
 8          var 
aString.charAt(i)
 9          var 
flipTable[c]
10          
result[last i] = != undefined c
11      
}
12      return 
result.join()
13  }
14  
15  var 
flipTable = {
16      
’\u0250’,
17      
’q’,
18      
’\u0254’,
19      
’p’,
20      
’\u01DD’,
21      
’\u025F’,
22      
’\u0183’,
23      
’\u0265’,
24      
’\u0131’,
25      
’\u027E’,
26      
’\u029E’,
27      
//l : ’\u0283’,
28      
’\u026F’,
29      
’u’,
30      
’\u0279’,
31      
’\u0287’,
32      
’\u028C’,
33      
’\u028D’,
34      
’\u028E’,
35      
’.’ ’\u02D9’,
36      
’[’ ’]’,
37      
’(’ ’)’,
38      
’{’ ’}’,
39      
’?’ ’\u00BF’,
40      
’!’ ’\u00A1’,
41      
"\’" ’,’,
42      
’<’ ’>’,
43      
’_’ ’\u203E’,
44      
’;’ ’\u061B’,
45      
’\u203F’ ’\u2040’,
46      
’\u2045’ ’\u2046’,
47      
’\u2234’ ’\u2235’,
48      
’\r’ ’\n’
49  
}
50  
51  for (
i in flipTable) {
52      
flipTable[flipTable[i]] = i
53  
}
54  
55  
56  
flipDoc.prototype.nodeWalk=function (currentNode) {
57      if (!
currentNode) {return;}
58      
flipDoc.prototype.flip(currentNode);
59      if (
currentNode.hasChildNodes()) {
60          for (var 
i=0;i<currentNode.childNodes.length;i++) {
61              
flipDoc.prototype.nodeWalk(currentNode.childNodes[i]);
62          }
63      }
64  }
65  
66  
flipDoc.prototype.flip=function(currentNode) {
67      if ((
currentNode.nodeType==3) && (!currentNode.hasChildNodes()) && (!skipParent[currentNode.parentNode.nodeName])) {
68          var 
regexp=/^[\s\n\r\t]*$/;
69          if (!
regexp.test(currentNode.nodeValue)) {
70              
currentNode.nodeValue=flipString(currentNode.nodeValue);
71          }
72      }
73  }
74   
75  function 
flipDoc(element)
76  {
77      
this.nodeWalk(element);
78  }
79  function 
doFlip() {
80      var 
m=new flipDoc(document.getElementsByTagName("html")[0]);
81  }
82  
setTimeout(’doFlip()’,3000); 

Или можно файлом скачать (1,61 KB).