3 'bind' : function (obj, evt, fn) {
4 if (obj.addEventListener)
5 obj.addEventListener(evt, fn, false);
6 else if (obj.attachEvent)
7 obj.attachEvent('on' + evt, fn);
13 var artLoadEvent = (function() {
14 var userAgent = navigator.userAgent.toLowerCase();
16 version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
17 safari: /webkit/.test(userAgent),
18 opera: /opera/.test(userAgent),
19 msie: /msie/.test(userAgent) && !/opera/.test(userAgent),
20 mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)
26 var ready = function () {
29 for (var i = 0; i < list.length; i++)
33 if (document.addEventListener && !browser.opera)
34 document.addEventListener('DOMContentLoaded', ready, false);
36 if (browser.msie && window == top) {
39 document.documentElement.doScroll('left');
41 setTimeout(arguments.callee, 10);
49 document.addEventListener('DOMContentLoaded', function () {
50 for (var i = 0; i < document.styleSheets.length; i++) {
51 if (document.styleSheets[i].disabled) {
52 setTimeout(arguments.callee, 10);
63 if (document.readyState != 'loaded' && document.readyState != 'complete') {
64 setTimeout(arguments.callee, 10);
67 if ('undefined' == typeof numStyles) {
68 numStyles = document.getElementsByTagName('style').length;
69 var links = document.getElementsByTagName('link');
70 for (var i = 0; i < links.length; i++) {
71 numStyles += (links[i].getAttribute('rel') == 'stylesheet') ? 1 : 0;
73 if (document.styleSheets.length != numStyles) {
74 setTimeout(arguments.callee, 0);
82 artEventHelper.bind(window, 'load', ready);
93 var m = document.uniqueID && document.compatMode && !window.XMLHttpRequest && document.execCommand;
94 try{ if(!!m) { m("BackgroundImageCache", false, true); } }
98 function xGetElementsByClassName(clsName, parentEle, tagName) {
101 var slash = String.fromCharCode(92);
102 var re = new RegExp(slash + "b" + clsName + slash + "b");
103 if (!parentEle) parentEle = document;
104 if (!tagName) tagName = '*';
105 elements = parentEle.getElementsByTagName(tagName);
107 for (var i = 0; i < elements.length; ++i) {
108 if (elements[i].className.search(re) != -1) {
109 found[found.length] = elements[i];
116 var styleUrlCached = null;
117 function GetStyleUrl() {
118 if (null == styleUrlCached) {
121 ns = document.getElementsByTagName('link');
122 for (var i = 0; i < ns.length; i++) {
124 if (l.href && /style\.css(\?.*)?$/.test(l.href)){
125 return styleUrlCached = l.href.replace(/style\.css(\?.*)?$/,'');
129 ns = document.getElementsByTagName('style');
130 for (var i = 0; i < ns.length; i++) {
131 var matches = new RegExp('import\\s+"([^"]+\\/)style\\.css"').exec(ns[i].innerHTML);
132 if (null != matches && matches.length > 0)
133 return styleUrlCached = matches[1];
136 return styleUrlCached;
140 function artButtonSetupJsHover(btn)
142 artEventHelper.bind(btn, 'mouseover', function() {
143 var spans = btn.getElementsByTagName("span");
144 if (spans.length > 0)
145 spans[0].className += " hover";
147 artEventHelper.bind(btn, 'mouseout', function() {
148 var spans = btn.getElementsByTagName("span");
149 if (spans.length > 0)
150 spans[0].className = spans[0].className.replace(/hover/, "");
154 function artButtonsSetupJsHover() {
155 var elements = xGetElementsByClassName("btn", document, "span");
156 for (var i = 0; i < elements.length; i++) {
157 if (!elements[i].tagName) continue;
158 artButtonSetupJsHover(elements[i].parentNode);
161 artLoadEvent.add(artButtonsSetupJsHover);
166 function Insert_Separators()
168 var menus = xGetElementsByClassName("artmenu", document);
169 for (var i = 0; i < menus.length; i++) {
171 var childs = menu.childNodes;
173 for (var j = 0; j < childs.length; j++){
175 if (String(el.tagName).toLowerCase() == "li")listItems.push(el);
177 for (var j = 0; j < listItems.length - 1; j++){
178 var span = document.createElement('span');
179 span.className = 'separator';
180 var li = document.createElement('li');
181 li.appendChild(span);
182 listItems[j].parentNode.insertBefore(li, listItems[j].nextSibling);
186 artLoadEvent.add(Insert_Separators);
188 function Menu_IE6Setup() {
189 var isIE6 = navigator.userAgent.toLowerCase().indexOf("msie") != -1
190 && navigator.userAgent.toLowerCase().indexOf("msie 7") == -1;
192 var aTmp2, i, j, oLI, aUL, aA;
193 var aTmp = xGetElementsByClassName("artmenu", document, "ul");
194 for (i=0;i<aTmp.length;i++) {
195 aTmp2 = aTmp[i].getElementsByTagName("li");
196 for (j=0;j<aTmp2.length;j++) {
198 aUL = oLI.getElementsByTagName("ul");
199 if (aUL && aUL.length) {
201 aA = oLI.getElementsByTagName("a");
204 oLI.onmouseenter = function() {
205 this.className += " artmenuhover";
206 this.UL.className += " artmenuhoverUL";
207 if (this.A) this.A.className += " artmenuhoverA";
209 oLI.onmouseleave = function() {
210 this.className = this.className.replace(/menuhover/,"");
211 this.UL.className = this.UL.className.replace(/menuhoverUL/,"");
212 if (this.A) this.A.className = this.A.className.replace(/menuhoverA/,"");
218 artLoadEvent.add(Menu_IE6Setup);