ux/ieconsole.js
[roojs1] / ux / ieconsole.js
1 /* Faux Console by Chris Heilmann http://wait-till-i.com */ 
2 if(!window.console){
3         var console={
4                 init:function(){
5                         console.d=document.createElement('div');
6                         document.body.appendChild(console.d);
7                         var a=document.createElement('a');
8                         a.href='javascript:console.hide()';
9             a.innerHTML='close';
10             console.d.appendChild(a);
11             var a=document.createElement('a');
12             a.href='javascript:console.clear();';
13             a.innerHTML='clear';
14             console.d.appendChild(a);
15             var id='fauxconsole';
16             if(!document.getElementById(id)){
17                 console.d.id=id;
18             }
19             var st = console.d.style;
20             st.position = 'absolute';
21             st.top = 0;
22             st.right = 0;
23             st.width='300px';
24             st.border = '1px solid #999';
25             st.fontFamily = 'courier,monospace';
26             st.background = '#eee';
27             st.fontSize = '10px';
28             st.padding = '10px';
29             
30             
31             console.hide();
32          
33             
34             var CSS = "\n" + 
35                 
36                 '#fauxconsole a{'+
37                 '    float:right;'+
38                 '    padding-left:1em;'+
39                 '    padding-bottom:.5em;'+
40                 '    text-align:right;'+
41                 '}'; 
42             var htmDiv = document.createElement('div');
43             htmDiv.innerHTML = '<p>&nbsp;</p><style>'+CSS+'</style>';
44             document.body.appendChild(htmDiv);
45           
46             
47             
48         },
49         hide:function(){
50             console.d.style.display='none';
51         },
52         show:function(){
53             console.d.style.display='block';
54         },
55         log:function(o){
56             if (!console.d) {
57                 console.init();
58             }
59             console.d.innerHTML+='<br/>'+o;
60             console.show();
61         },
62         clear:function(){
63             console.d.parentNode.removeChild(console.d);
64             console.init();
65             console.show();
66         },
67         /*Simon Willison rules*/
68         addLoadEvent:function(func){
69             var oldonload=window.onload;
70             if(typeof window.onload!='function'){
71                 window.onload=func;
72             }else{
73                 window.onload=function(){
74                     if(oldonload){
75                         oldonload();
76                     }
77                     func();
78                 };
79             }
80         }
81     };
82     console.addLoadEvent(console.init);
83 }