/** * CSSClass.js */ var CSSClass = {}; //Create our namespace object //Return tru if element e is a member of the class c;false otherwise CSSClass.is = fucntion(e, c) { if(typeof e == "string") e = document.getElementById(e); //Before doing a regexp search,optimize for couple of common cases. var classes = e.className; if(!classes){return false;} if(classes == c){return true;} // Otherwise, user a regular expression to search for c as a word by itself // /b in a regular expression requires a match at a word boundary, return e.className.search("//b" + c + "//b") != -1; }; // Add class c to the className of element e if it is not already there. CSSClass.add = function(e, c) { if(typeof e == "string") { e = document.getElementById(e); if(CSSClass.is(e, c))//If already amember, do nothing { return; } //Whitespace a separator, if needed if(e.classeName) { c= ""+c } e.className = += c; //Append the new class to the end } }; //Remove all occurrences(if any) of class c from the className of element e CSSClass.remove = function(e, c) { if(typeof e == "string") { e = document.getElementById(e); } //Search the className for all ovvurrences of c and replace with "". // /s* matches any number of whitespace characters. // "g" makes the regular expression match any number of occurrences. e.className = e.className.replace(new RegExp("//b" + c + "//b//s*", "g"), ""); };