OSDN Git Service

e9b4a761c205a3e50743557d5d0ec69603d94e53
[pettanr/clientJs.git] / 0.3.0 / common.js
1 /*\r
2  * pettanR common.js\r
3  *   version 0.1.0\r
4  * \r
5  * author: itozyun\r
6  */\r
7 \r
8 ( function(){\r
9         var noscripts = document.getElementsByTagName('NOSCRIPT'),\r
10                 noscript;\r
11         for(var i=0; i<noscripts.length; ++i){\r
12                 noscript = noscripts[i];\r
13                 noscript.parentNode && noscript.parentNode.removeChild( noscript);\r
14         }\r
15         \r
16         var location = document.location.pathname,\r
17                 isWorkPage = location.indexOf( 'work.html') !== -1,\r
18                 deep = location.indexOf( '\/diary\/') !== -1 || location.indexOf( '\/help\/') !== -1 || location.indexOf( '\/sitemap\/') !== -1;\r
19 \r
20         var LoginUserConsole =\r
21                 isWorkPage === false ?\r
22                 ( function(){\r
23                         var _body = document.body,\r
24                                 _root = document.getElementsByTagName( 'HTML')[ 0],\r
25                                 filter,\r
26                                 iframe, visible = false;\r
27                         return {\r
28                                 init: function(){\r
29                                         filter = document.createElement( 'DIV');\r
30                                         filter.style.position = 'absolute';\r
31                                         filter.style.left = filter.style.top = '0px';\r
32                                         filter.style.width = filter.style.height ='100%';\r
33                                         filter.style.backgroundColor = '#fff';\r
34         \r
35                                         var id = 'work',\r
36                                                 src = deep === true ? '../work.html' : 'work.html';\r
37                                         \r
38                                         var el = document.createElement(ua.isIE ? '<iframe name="' + id + '" src="' + src + '">' : 'iframe');\r
39                                         el.id = el.name = id;\r
40                                         el.setAttribute( 'name', id);\r
41                                         \r
42                                         el.style.position = 'absolute';\r
43                                         el.style.left = el.style.top = '0px';\r
44                                         el.style.width = el.style.height ='100%';\r
45                                         el.style.overflow = 'hidden';\r
46                                         el.hspace = el.vspace = el.marginheight = el.marginwidth = 0;\r
47                                         \r
48                                         _body.appendChild(el);\r
49                                         window[id] = el;\r
50                                         iframe = el;\r
51                                         \r
52                                         if (!ua.isIE) {\r
53                                                 var idoc;//WebKit > 521 corresponds with Safari 3, which started with 522 WebKit version.\r
54                                                 if (ua.isWebKit > 521) {\r
55                                                         idoc = el.contentWindow.document;\r
56                                                 } else if (ua.isSafari) {\r
57                                                         idoc = el.document;\r
58                                                 } else { //  if(d.isMozilla){\r
59                                                         idoc = el.contentWindow;\r
60                                                 }\r
61                                                 \r
62                                                 if ( !idoc) {\r
63                                                         try {\r
64                                                                 el.src = src;\r
65                                                                 el.contentWindow.location.replace = src;                                                        \r
66                                                         } catch (e){}\r
67                                                         try {\r
68                                                                 //el.contentWindow.location = src;                                                      \r
69                                                         } catch (e){}\r
70                                                         try {\r
71                                                                 el.location = src; // for Safari 2.0.3 ??\r
72                                                         } catch (e){}\r
73                                                         \r
74                                                 } else if( ua.isOpera){\r
75                                                         el.src = src; // for Opera\r
76                                                         el.contentWindow.location.replace = src; // for Opera\r
77                                                 } else {\r
78                                                         //el.src = src; // for firefox\r
79                                                         idoc.location.replace(src);\r
80                                                 }\r
81                                         }\r
82                                         \r
83                                         delete this.init;\r
84                                 },\r
85                                 show: function(){\r
86                                         if(visible === true) return;\r
87                                         if (_root) {\r
88                                                 _root.style.overflow = 'hidden';\r
89                                         }\r
90                                         _body.style.overflow = 'hidden';\r
91                                         \r
92                                         LoginUserConsole.init && LoginUserConsole.init();\r
93                                         \r
94                                         iframe.parentNode !== _body && _body.appendChild(iframe);\r
95                                         \r
96                                         _body.insertBefore(filter, iframe);                             \r
97                                         \r
98                                         visible = true;\r
99                                 },\r
100                                 hide: function(){\r
101                                         if(visible === false) return;\r
102                                         \r
103                                         _body.removeChild(filter);\r
104                                         _body.style.overflow = '';\r
105                                         \r
106                                         _body.removeChild(iframe);\r
107                                         \r
108                                         visible = false;\r
109                                 }\r
110                         }\r
111                 })() :\r
112                 ( function(){\r
113                         return {\r
114                                 show: function(){\r
115                                         h2c.view.show( h2c.editor);\r
116                                 },\r
117                                 hide: function(){}\r
118                         }\r
119                 })();\r
120 \r
121         var ua = (function(){\r
122                         var acme = {};\r
123                         \r
124                         var n = navigator;\r
125                         var dua = n.userAgent;\r
126                         var dav = n.appVersion;\r
127                         var tv = parseFloat(dav);\r
128                         acme.isOpera = (dua.indexOf("Opera") >= 0) ? tv: undefined;\r
129                         acme.isKhtml = (dav.indexOf("Konqueror") >= 0) ? tv : undefined;\r
130                         acme.isWebKit = parseFloat(dua.split("WebKit/")[1]) || undefined;\r
131                         acme.isChrome = parseFloat(dua.split("Chrome/")[1]) || undefined;\r
132                         var index = Math.max(dav.indexOf("WebKit"), dav.indexOf("Safari"), 0);\r
133                         if(index && !acme.isChrome){\r
134                                 acme.isSafari = parseFloat(dav.split("Version/")[1]);\r
135                                 if(!acme.isSafari || parseFloat(dav.substr(index + 7)) <= 419.3){\r
136                                         acme.isSafari = 2;\r
137                                 }\r
138                         }\r
139                         if(document.all && !acme.isOpera){\r
140                                 acme.isIE = parseFloat(dav.split("MSIE ")[1]) || undefined;\r
141                         }\r
142                         \r
143                         return acme;\r
144                 })();\r
145         \r
146         var navi = document.getElementById('global-navi'),\r
147                 origin = document.createElement('A'),\r
148                 items = ['Home', 'Comic list', 'Picture', 'Setting'],\r
149                 l = items.length,\r
150                 item;\r
151         for(var i=0; i<l; ++i){\r
152                 item = origin.cloneNode(true);\r
153                 item.innerHTML = items[i];\r
154                 item.href = '#';\r
155                 item.onclick = LoginUserConsole.show;\r
156                 navi.appendChild(item);\r
157         }\r
158 })();\r
159 \r
160 var _gaq = _gaq || [];\r
161 _gaq.push(['_setAccount', 'UA-28023955-1']);\r
162 _gaq.push(['_trackPageview']);\r
163 \r
164 (function() {\r
165         var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
166         ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
167         var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
168 })();