// Supports the new global masthead v3.0.0, because some pages still in quirks and CSS menus will not work in IE6+
(function(){

	TWP.Util.DropDownMenuIE = function(setup){
		var config = setup;
		var html = null;
		var ctx = null;

		if(config.target){
			ctx = config.target;
		}

        var currTarget;

		bindNav();


        function addClass(e){

            if(e.stopPropagation){
                e.stopPropagation();
            }
            e.cancelBubble = true;

            var self = currTarget =  e.srcElement;

            if(self.parentNode.className && self.parentNode.className.indexOf('selected') != -1){
                return;
            }

            var itemClass = '';

            if(self.parentNode.className){
                itemClass = self.parentNode.className;
            }

            self.parentNode.className = (itemClass != '') ? itemClass +  ' selected' :  'selected';

            currTarget.parentNode.attachEvent('onmouseleave', removeClass);
        }

        function removeClass(e){

            if(currTarget.parentNode.className != ''){
                currTarget.parentNode.className = (currTarget.parentNode.className).replace('selected', '');
            }

            currTarget.detachEvent(addClass);
        }

		function bindNav(){

            if(ctx){
                var navItems = ctx.childNodes;

                for(var i=0;i<navItems.length;i++){
                    if(navItems[i].nodeName == "LI"){
                        var item = navItems[i];
                        var itemChildNodes = item.childNodes;
                        var len = itemChildNodes.length;
                        for(var j=0;j<len;j++){
                            if(itemChildNodes[j].nodeName == "A"){
                                var anchor = itemChildNodes[j];
                                anchor.attachEvent('onmouseover', addClass);
                                break;
                            }
                        }
                    }
                }
            }
		}
	}
})();
