﻿
    /*
        Class Utilities: utilities for manipulating the CSS class(es) of an HTML element
    */
    var CSSClass = {}; // Namespace Object
    
    CSSClass.is = function(e,c){
        if (typeof e == "string") e = document.getElementById(e);
        if (e==null) return;
        var classes = e.className;
        if (!classes) return false;                             // Not a member of any classes
        if (classes == c) return true;                          // Member of just this one class
        return e.className.search("\\b" + c + "\\b") != - 1;    // search; \b requires a match at a word boundary
    };
    
    CSSClass.add = function(e,c){
        if (typeof e == "string") e = document.getElementById(e);
        if (e==null) return;
        if (CSSClass.is(e,c)) return;                           // If already a Member do nothing
        if (e.className) c = " " + c;                           // Withespace sperator if needed
        e.className += c;                                       // Add to end
    };
    
    CSSClass.remove = function(e,c){
        if (typeof e == "string") e = document.getElementById(e);
        if (e==null) return;
        e.className = e.className.replace(new RegExp("\\b" + c + "\\b\\s*", "g"),"");
    };        
    /* End Class Utilities */

