﻿	function remove_hover_from_parent(li, css_class) {
		var parent = jQuery(li).parents('ul').first();
				
		if (parent) {
			var parent_li = jQuery(parent).parents('li').first();
			if (parent_li) {
				jQuery(parent_li).removeClass(css_class);
			}
			else {
			}
		}
	}

function DropDown(dropdownId, hoverClass, mouseOffDelay) {
    var obj = this;	
    if (dropdown = document.getElementById(dropdownId)) {
	    jQuery(dropdown).find('li').hover(
		    function() {
			   var kid_li = jQuery(this).children('ul').size();
			
			    
			    if (kid_li==0){
				 jQuery(this).addClass('over');   
		    	
			    }else{
				remove_hover_from_parent(this, 'over');   
			    }
		    },
	    	    function() {
		    	jQuery(this).removeClass('over');
		    });
    }


   
    function On(li) {
        if (li.nodeName == "LI") {
            li.className = AddClass(li);
            On(li.parentNode.parentNode);
        }
    }


    function Off(li) {
        if (li.nodeName == "LI") {
            li.className = RemoveClass(li);
            Off(li.parentNode.parentNode);
        }
    }


    function AddClass(li) {
        return li.className + " " + hoverClass;
    }

    function RemoveClass(li) {
        // return li.className.replace(hoverClass, "");
        var result = li.className;
        while (result.search(hoverClass) > -1) {
            result = result.replace(hoverClass, "");
        }
    }

}

function RemoveHover(dropdownId) {
      if (dropdown = document.getElementById(dropdownId)) {
        var listItems = dropdown.getElementsByTagName("li");
        for (var i = 0; i < listItems.length; i++) {
		

         listItems[i] = function () { var that = this; setTimeout(function () 
		{ that.className = RemoveClass(that); }, mouseOffDelay); this.className = that.className; };
          	
            var anchor = listItems[i].getElementsByTagName("a");
            anchor = anchor[0];
            anchor.onfocus = function () { Off(this.parentNode); };
            anchor.onblur = function () { Off(this.parentNode); };
        }
    }

	    
	      function Off(li) {
        if (li.nodeName == "LI") {
            li.className = RemoveClass(li);
            Off(li.parentNode.parentNode);
        }
    }


    function AddClass(li) {
        return li.className + " " + hoverClass;
    }

    function RemoveClass(li) {
        // return li.className.replace(hoverClass, "");
        var result = li.className;
        while (result.search(hoverClass) > -1) {
            result = result.replace(hoverClass, "");
        }
    }

	
	
}




