/* DOMAssistant is developed by Robert Nyman, http://www.robertnyman.com, and it is released according to the Creative Commons Deed license (http://creativecommons.org/licenses/GPL/2.0/) For more information, please see http://www.robertnyman.com/domassistant */ var DOMAssistant = { methodsToAdd : [], baseMethodsToAdd : [ "elmsByClass", "elmsByAttribute" ], init : function (){ this.applyMethod.call(window, "$", this.$); window.DOMAssistant = this; if(window.ActiveXObject && document.all){ HTMLArray = Array; } HTMLArray.prototype = new Array; HTMLArray.prototype.DOM = this; var current; for (var i=0; i 1)? new HTMLArray() : null; var current; for(var i=0; i 1){ elm.push(current); } else{ elm = current; } } DOMAssistant.addMethods(elm); } return elm; }, elmsByClass : function (className, tag){ var returnElms = new HTMLArray(); if(document.evaluate){ var xPathNodes = document.evaluate(".//" + (tag || "*") + "[contains(concat(' ', @class, ' '), ' " + className + " ')]", this, null, 0, null); var node = xPathNodes.iterateNext(); while(node){ returnElms.push(node); node = xPathNodes.iterateNext(); } } else{ var elms = this.getElementsByTagName(tag || "*"); var regExp = new RegExp("(^|\\s)" + className + "(\\s|$)"); for(var i=0,elm,elmsLength = elms.length; i 0){ if(!attributeVal || typeof attributeVal == "undefined" || (attributeVal && attributeVal.test(currentAttr))){ returnElms.push(current); } } } } return returnElms; } } function HTMLArray(){ // Constructor } var HTMLArrayBaseMethods = { elmsByClass : function (className, tag){ var elmsWithClass = new HTMLArray(); var elms; for (var i=0; i<\/script>"); document.getElementById("ieScriptLoad").onreadystatechange = function() { if (this.readyState == "complete") { DOMAssistant.DOMHasLoaded(); } }; } /*@end @*/ // --- /* Mozilla/Opera 9 */ if (document.addEventListener) { document.addEventListener("DOMContentLoaded", DOMAssistant.DOMHasLoaded, false); } // --- /* Safari */ if(navigator.userAgent.search(/WebKit/i) != -1){ DOMAssistant.DOMLoadTimer = setInterval(function (){ if(document.readyState.search(/loaded|complete/i) != -1) { DOMAssistant.DOMHasLoaded(); } }, 10); } // --- /* Other web browsers */ window.onload = DOMAssistant.DOMHasLoaded; // --- DOMAssistant.initLoad(); /* DOMAssistant is developed by Robert Nyman, http://www.robertnyman.com, and it is released according to the Creative Commons Deed license (http://creativecommons.org/licenses/GPL/2.0/) For more information, please see http://www.robertnyman.com/domassistant This module by Robert Nyman, http://www.robertnyman.com */ DOMAssistant.CSSMethodsToAdd = [ "addClass", "removeClass", "hasClass", "getStyle" ]; DOMAssistant.initCSS = function (){ var current; for (var i=0; i 0)? " " : "") + className; } return this; }; DOMAssistant.removeClass = function (className){ var classToRemove = new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i"); this.className = this.className.replace(classToRemove, function (match){ var retVal = ""; if(new RegExp("^\\s+.*\\s+$").test(match)){ retVal = match.replace(/(\s+).+/, "$1"); } return retVal; }).replace(/^\s+|\s+$/g, ""); return this; }; DOMAssistant.hasClass = function (className){ return new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i").test(this.className); }; DOMAssistant.getStyle = function (cssRule){ var cssVal = ""; if(document.defaultView && document.defaultView.getComputedStyle){ cssVal = document.defaultView.getComputedStyle(this, "").getPropertyValue(cssRule); } else if(this.currentStyle){ cssVal = cssRule.replace(/\-(\w)/g, function (match, p1){ return p1.toUpperCase(); }); cssVal = this.currentStyle[cssVal]; } return cssVal; }; var HTMLArrayCSSMethods = { addClass : function (className){ for (var i=0; i=0; i--){ this.childNodes[i].parentNode.removeChild(this.childNodes[i]); } this.addContent(newContent); return this; }; DOMAssistant.remove = function (){ this.parentNode.removeChild(this); return null; }; var HTMLArrayContentMethods = { prev : function (){ var previousElms = new HTMLArray(); var elm; for (var i=0; i