
   // ************************************************************
   //	File Name: 	/js/modifyBGClass.js
   //	Author:		Trinity Consulting Group - Robert Joseph
   //			rpjoseph@comcast.net
   //	Create Date:	03/01/2004
   //	Purpose:	Popularity boxes may change location based on user input. 
   //			Background color of a popularity box container is dependent on location
   //			For this reason the font color of the popularity box elements must change dynamically.
   //			This script uses standard DOM Level 1 to traverse the content of the SHTML document.
   //			It finds any element (div, td, table, p, etc) that has an id = 'pop_*' where * = any number 
   //			currently between 1-4. The script finds the items on the left side by searching
   //			the 'location' attribute of the popularity box container.  
   //			Once left items are found the script ensures that the className is set to 
   //			"*_left" for those items.
   //	Platforms Tested: 
   //			IE 5.0+ on MS XP, Win2K
   //			Netscape 7.1 on MS XP, Win2K
   //			IE 5.1 on Macintosh OS 10
   //			Netscape 7.1 on Macintosh OS 10
   // ************************************************************
   
   
   // 	The traverseNodes function is a recursive function that navigates to the lowest level 
   //	of the DOM Tree until it finds a class containing the text 'light' in any of the 
   //	container elements with a location containing 'left'.  It is called by the findItem function.
   
   function traverseNodes(myNode, location) {

		
	        if(myNode.hasChildNodes) {
	            newNode = myNode.childNodes
		//		alert("Total Number of ChildNodes: " + newNode.length)
	            for(a=0; a<newNode.length; a++) {
	    if(newNode[a].nodeName != "BR") {
		//alert("Found: " + newNode[a].nodeName + " with Class: " + newNode[a].className + " and the location is: " + location)
		//alert(a)
		
		            var newNodeClass = newNode[a].className
					
	                if (newNodeClass != null) {
	                    if(newNodeClass.indexOf("dark") >= 0) {
	                        if(location.indexOf("left") >= 0) {                   
	
	                                var sClassName = newNode[a].className
	                                newSClassName = sClassName.substring(0, sClassName.indexOf("_")) + "_light"
	                                newNode[a].className = newSClassName								
	                        }
	                    } else {
	                        if(newNode[a].hasChildNodes) {
	                            traverseNodes(newNode[a], location)
	                        }
	                    }
	                }
		}
	
	            }
	        }
       
    }

   
   // The findItem function is intended to be called from the onLoad event of the BODY tag element.
   // 	It instantiates the DOM and retrieves the container objects to pass to the traverseNodes()
   // 	function.
   
   function findItem() {

            var numberOfPopBoxes = 4

            for(i=0; i<numberOfPopBoxes; i++) {
                var curBoxNum = i + 1
                curBoxNum += ''
                var a = "pop_" + curBoxNum
                curNode = document.getElementById(a)
		var vNodeLoc = curNode.getAttribute("location")

                traverseNodes(curNode, vNodeLoc)
            }
    }
