/*  *****  JavaScript Sheet - My Utility Scripts   *****   */

/*  *************   onLoad Event Function   *************  */

/*  ********  (See "JavaScript & Ajax" p. 221.)  ********  */

 function addLoadEvent(newFunction)
    {
       var oldonload = window.onload;

       if ( typeof oldonload == "function")
            {
              window.onload = function()
                 {
                   if ( oldonload )
                         {
                           oldonload();
                         }
                   newFunction();
                 }
            } else
                 {
                   window.onload = newFunction;
                 }
     }


/*  ****************************************************  */



/*  *************   insertAfter Function   *************  */

/*  **********  (See "DOM Scripting" p. 257.)  *********  */

 function insertAfter(newElement,targetElement) {
    var parent = targetElement.parentNode;
    if (parent.lastChild == targetElement) {
           parent.appendChild(newElement);
       }  else  {
           parent.insertBefore(newElement,targetElement.nextSibling);
       }
    }


/*  ****************************************************  */



/*  *************   hasClass Function   *************  */

/*  ***********  (my original function)  ************  */

 function hasClass(element,class_name)
    {
       if (element.className)
          {
            var has_it = element.className.indexOf(class_name);
            if ( has_it != -1 )
               {
                 return true;
               }  
                 else 
               {
                 return false;
               }
          }
    }

/*  ****************************************************  */



/*  *************   addClass Function   *************  */

/*  ********  (See "DOM Scripting" p. 202.)  ********  */

 function addClass(element,value)
    {
      if ( !hasClass(element,value) )              // Exit if element has class already.
         { 
           if (!element.className)                 // Check if element has a class already.
              {
                 element.className = value;        // Add new class to current class string.
              }
                 else 
              {
                newClassName = element.className;  // Creat new class string with value.
                newClassName+= " ";
                newClassName+= value;
                element.className = newClassName;
              }
         }
    }


/*  ****************************************************  */



/*  *************   removeClass Function   *************  */

/*  ***********  (my original function)  ************  */

 function removeClass(element,class_name)
    {
       if (element.className)
          {
            if (!hasClass(element,class_name)) return false;    // Check if element has the right class.
            var new_class = " ";
            var class_array = element.className.split(" ");
            for ( var n = 0; n < class_array.length; n++)
                {
                  if ( class_array[n] != class_name)
                     {
                        new_class = new_class + class_array[n] + " ";
                     }
                }
            element.className = new_class;
          }
    }

/*  ****************************************************  */


/*   ******** Revisions   ********   */

//   Rev 2; 27 Apr 2009  revised addLoadEvent function to conform to JacaScript & Ajax, page 221

/*   *****************************   */







