/*  IE6 hover fix, JCY 11-Apr-07 
    Updated 23-May-07:  Added IE6 fix for menu hiding behind SELECT's.
    Updated 21-Aug-08:  Added support for 3 tier menus and child menu detection.
*/
enableHover = function(){
     		var menuObj = document.getElementById('topmenu');
    		if (menuObj)
    			recurseUL(menuObj,1);
    			
				var submenuObj = document.getElementById('sidemenu');
    		if (submenuObj)
    			recurseUL(submenuObj,1);
};
function recurseUL(obj,lvl){
      var eles = obj.childNodes;
      for (var i=0;i<eles.length ;i++){
    			if (eles[i].tagName=='LI'){
    				
	    			var elms = eles[i].getElementsByTagName('UL');
	    			if (elms.length>0){
	      			for (var ii=0;ii<elms.length;ii++){
	      				recurseUL(elms[ii],lvl+1);
	      			};
	      			eles[i].className+=" isparent";
	    			};
	    			attachMouseEvents(eles[i],lvl);
	    		};
      };
      return true;
};
function attachMouseEvents(obj,lvl){
	if (isIE7()==true){
    obj.onmouseover = function(){
    		var obj2 = obj.getElementsByTagName('UL')[0];
    		if (obj2)
    			obj2.style.display='block';
    };
    obj.onmouseout = function(){
        var obj2 = obj.getElementsByTagName('UL')[0];
    		if (obj2)
    			obj2.style.display='none';
    };
	}
	if (isIE6()==true){
    obj.onmouseover = function(){
        if (this.className.indexOf('over')==-1){
            this.className+=" over";
            sonoff(this, true,lvl);
        };
    };
    obj.onmouseout = function(){
        this.className=this.className.replace(new RegExp("( ?|^)over\\b"), "");
        sonoff(this, false,lvl);
    };
  };
};
function sonoff (obj,bln,lvl){
    var submenu = obj.getElementsByTagName("ul")[0];
    try {
        if (bln==true && submenu){
            var x = submenu.offsetLeft;
            var y = submenu.offsetTop;
            var w = submenu.offsetWidth;
            var h = submenu.offsetHeight;

            var iframefixObj = document.getElementById('iframefix'+lvl);
						if (iframefixObj) iframefixObj.parentNode.removeChild(iframefixObj);
            
            var iframefix = document.createElement('iframe');
            iframefix.id = 'iframefix'+lvl;
            iframefix.src="javascript:;";
            iframefix.frameBorder = 0;
            iframefix.border=0;
            iframefix.style.display='block';
            iframefix.style.position='absolute';
            iframefix.zIndex = 0;
            iframefix.style.left = x+'px';
            iframefix.style.top = y+'px';
            iframefix.style.width = w+'px';
            iframefix.style.height = h+'px';
            iframefix.style.overflow='hidden';
            submenu.parentNode.appendChild(iframefix);
        } else if (bln==false) {
        		var iframefixObj = document.getElementById('iframefix'+lvl);
            if (iframefixObj) iframefixObj.parentNode.removeChild(iframefixObj);
        };
    } catch(err) {
    	//There has been an error.
    };
};
function isIE6() {
    var appVer = navigator.appVersion.toLowerCase();
    var iePos = appVer.indexOf('msie');
    if (iePos !=-1) {
        var is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)));
        var is_major = parseInt(is_minor);
    };
    if (navigator.appName.substring(0,9) == "Microsoft"){ 
        // Check if IE version is 6 or older
        if (is_major <= 6) {
            return true;
        } else {
            return false;
        };
    } else {
        return false;
    };
};
function isIE7() {
    var appVer = navigator.appVersion.toLowerCase();
    var iePos = appVer.indexOf('msie');
    if (iePos !=-1) {
        var is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)));
        var is_major = parseInt(is_minor);
    };
    if (navigator.appName.substring(0,9) == "Microsoft"){ 
        // Check if IE version is 7 or newer
        if (is_major >= 7) {
            return true;
        } else {
            return false;
        };
    } else {
        return false;
    };
};

/* Attach 'onload' Event  */ 
if(window.attachEvent){window.attachEvent("onload", enableHover);} else {if(typeof window.onload == "function"){var fOldmf = window.onload;window.onload = function(){ fOldmf(); enableHover(); };} else {window.onload = enableHover;};};
