var dbMenu = {
    init: function(){
        var uls = document.getElementsByTagName('ul');
        for(var i = 0; i < uls.length; i++){
            if(uls[i].className.search(/\bdbMenu\b/) == -1) continue;
            var menu = uls[i];
            var subMenus = menu.getElementsByTagName('ul');
            for(var j = 0; j < subMenus.length; j++){
                var parentLI = subMenus[j].parentNode;
                parentLI.hasSubMenu = true;
                if(menu.className.search(/\bonClick\b/) !=-1){
                    addEvent(parentLI, 'click', dbMenu.click, false);
                    parentLI.getElementsByTagName('a')[0].href="#"
                }else{
                    addEvent(parentLI, 'mouseout', dbMenu.getMoutFor(parentLI), false);
                    addEvent(parentLI, 'mouseover', dbMenu.getMoverFor(parentLI), false);
                }
                parentLI.getElementsByTagName('a')[0].className += " subMenu";
            }
        }
    },
    
    getMoverFor:function(node){
        return function(){dbMenu.mOver(node);};
    },
    
    getMoutFor:function(node){
        return function(){dbMenu.mTimeout(node);};
    },
    
    mOver: function(targetElement){
        var target = targetElement;
        clearTimeout(target.timeout);
        for(var i = 0; i < target.childNodes.length; i++){
            var node = target.childNodes[i];
            if(node.nodeName.toLowerCase() == 'ul'){
                target.getElementsByTagName('a')[0].className += ' click';
                target.className += ' click';
                node.className += ' click';
            }
        }
    },
    
    mTimeout: function(targetElement){
        var target = targetElement;
        target.timeout = setTimeout(function(){dbMenu.mOut(target);}, 100);
    },
    
    mOut:function(target){
        for(var i = 0; i < target.childNodes.length; i++){
            var node = target.childNodes[i];
            if(node.nodeName.toLowerCase() == 'ul'){
                target.getElementsByTagName('a')[0].className = target.getElementsByTagName('a')[0].className.replace(/click/g, '');
                node.className = node.className.replace(/click/g, '');
                target.className = target.className.replace(/click/g, '');
            }
        }
    },
    
    click:function(e){
        if(window.event){
            window.event.cancelBubble = true;
        }
        if(e && e.stopPropagation){
            e.stopPropagation();
        }
        var target = (window.event)? window.event.srcElement : (e)? e.target : null;
        
        if(!target || !(target = dbMenu.getTarget(target, 'li')))return;
        
        if(target.getElementsByTagName('a')[0].className.search(/\bclick\b/) == -1){
            dbMenu.mOver(target);
        }else{
            dbMenu.mOut(target);
        }
        return false;
    },
    
    getTarget: function(target, elm){
        if(target.nodeName.toLowerCase() != elm && target.nodeName.toLowerCase() != 'body'){
            return dbMenu.getTarget(target.parentNode, elm);
        }else if(target.nodeName.toLowerCase() == 'body'){
            return null;
        }else{
            return target;
        }
    }
}
    
function addEvent(elm, evType, fn, useCapture){  //cross-browser event handling for IE5+, NS6+, and Mozilla/Gecko By Scott Andrew
	if(elm.addEventListener){
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}else if(elm.attachEvent){
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}else{
		elm['on' + evType] = fn;
	}
}

var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])


function fixPNG(myImage1) 
{
    var myImage , width, height;
    if(myImage1 == "imgBall")
    {
        myImage = document.getElementById("imgBall");
        width = 154;
        height = 142;
    }
    else if(myImage1 == "imgLongBall")
    {
        myImage = document.getElementById("imgBall");
        width = 600;
        height = 142;
    }
    else if(myImage1 == "ballHole")
    {
        myImage = document.getElementById("ballHole");
        width = 256;
        height = 256;
    }    
    else if(myImage1 == "ball")
    {
        myImage = document.getElementById("header_ball");
        width = 258;
        height = 258;
    }
    else
    {
	myImage = document.getElementById("ball");
	width = 258;
	height = 258;
    }

    addPNGAlpha(myImage, width, height);
    /*if ((version >= 5.5) && (version < 7) && (document.body.filters)) 
    {
       var imgID = (myImage.id) ? "id='" + myImage.id + "' " : ""
       var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : ""
       var imgTitle = (myImage.title) ? 
                     "title='" + myImage.title  + "' " : "title='" + myImage.alt + "' "
       var imgStyle = "display:inline-block;" + myImage.style.cssText
       var strNewHTML = "<span " + imgID + imgClass + imgTitle
                  + " style=\"" + "width:" + width
                  + "px; height:" + height
                  + "px;" + imgStyle + ";"
                  + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
                  + "(src=\'" + myImage.src + "\', sizingMethod='scale');\"></span>"
       myImage.outerHTML = strNewHTML	  
    }
    */
}

function addPNGAlpha(myImage, width, height)
{
    if ((version >= 5.5) && (version < 7) && (document.body.filters)) 
    {
       var imgID = (myImage.id) ? "id='" + myImage.id + "' " : ""
       var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : ""
       var imgTitle = (myImage.title) ? 
                     "title='" + myImage.title  + "' " : "title='" + myImage.alt + "' "
       var imgStyle = "display:inline-block;" + myImage.style.cssText
       var strNewHTML = "<span " + imgID + imgClass + imgTitle
                  + " style=\"" + "width:" + width
                  + "px; height:" + height
                  + "px;" + imgStyle + ";"
                  + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
                  + "(src=\'" + myImage.src + "\', sizingMethod='scale');\"></span>"
       myImage.outerHTML = strNewHTML	  
    }
}

addEvent(window, 'load', dbMenu.init, false);