MDL-29885 remove unused csshover
authorPetr Skoda <commits@skodak.org>
Sun, 23 Oct 2011 09:41:36 +0000 (11:41 +0200)
committerPetr Skoda <commits@skodak.org>
Sun, 23 Oct 2011 09:41:36 +0000 (11:41 +0200)
lib/csshover.htc [deleted file]

diff --git a/lib/csshover.htc b/lib/csshover.htc
deleted file mode 100644 (file)
index f00536d..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-<attach event="ondocumentready" handler="parseStylesheets" />
-<script type="text/javascript">
-/**
- *     Pseudos - V1.30.050121 - hover & active
- *     ---------------------------------------------
- *     Peterned - http://www.xs4all.nl/~peterned/
- *     (c) 2005 - Peter Nederlof
- *
- *     Credits  - Arnoud Berendsen 
- *              - Martin Reurings
- *           - Robert Hanson
- *
- *     howto: body { behavior:url("csshover.htc"); }
- *     ---------------------------------------------
- */
-
-var currentSheet, doc = window.document, activators = {
-       onhover:{on:'onmouseover', off:'onmouseout'},
-       onactive:{on:'onmousedown', off:'onmouseup'}
-}
-
-function parseStylesheets() {
-       var sheets = doc.styleSheets, l = sheets.length;
-       for(var i=0; i<l; i++) 
-               parseStylesheet(sheets[i]);
-}
-       function parseStylesheet(sheet) {
-               if(sheet.imports) {
-                       try {
-                               var imports = sheet.imports, l = imports.length;
-                               for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]);
-                       } catch(securityException){}
-               }
-
-               try {
-                       var rules = (currentSheet = sheet).rules, l = rules.length;
-                       for(var j=0; j<l; j++) parseCSSRule(rules[j]);
-               } catch(securityException){}
-       }
-
-       function parseCSSRule(rule) {
-               var select = rule.selectorText, style = rule.style.cssText;
-               if(!(/(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i).test(select) || !style) return;
-               
-               var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1');
-               var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, '.$2' + pseudo);
-               var className = (/\.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1];
-               var affected = select.replace(/:hover.*$/, '');
-               var elements = getElementsBySelect(affected);
-
-               currentSheet.addRule(newSelect, style);
-               for(var i=0; i<elements.length; i++)
-                       new HoverElement(elements[i], className, activators[pseudo]);
-       }
-
-function HoverElement(node, className, events) {
-       if(!node.hovers) node.hovers = {};
-       if(node.hovers[className]) return;
-       node.hovers[className] = true;
-       node.attachEvent(events.on,
-               function() { node.className += ' ' + className; });
-       node.attachEvent(events.off,
-               function() { node.className = 
-                       node.className.replace(new RegExp('\\s+'+className, 'g'),''); });
-}
-
-function getElementsBySelect(rule) {
-       var parts, nodes = [doc];
-       parts = rule.split(' ');
-       for(var i=0; i<parts.length; i++) {
-               nodes = getSelectedNodes(parts[i], nodes);
-       }       return nodes;
-}
-       function getSelectedNodes(select, elements) {
-               var result, node, nodes = [];
-               var classname = (/\.([a-z0-9_-]+)/i).exec(select);
-               var identify = (/\#([a-z0-9_-]+)/i).exec(select);
-               var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, '');
-               for(var i=0; i<elements.length; i++) {
-                       result = tagName? elements[i].all.tags(tagName):elements[i].all; 
-                       for(var j=0; j<result.length; j++) {
-                               node = result[j];
-                               if((identify && node.id != identify[1]) || (classname && !(new RegExp('\\b' +
-                                       classname[1] + '\\b').exec(node.className)))) continue;
-                               nodes[nodes.length] = node;
-                       }
-               }       return nodes;
-       }
-</script>
\ No newline at end of file