var currentdropdownmenu;

function menuitemover(obj) {
	obj.className+= ' over';
}

function menuitemout(obj) {
	obj.className=obj.className.replace(' over','');
}

function dropdownmenu(id) {
	if (currentdropdownmenu) closedropdownmenu();
	var obj = document.getElementById(id);
	var smenu = document.getElementById('s'+id);
	if(obj && smenu) {
		obj.className+=' pressed';
//		smenu.style.left = getAbsoluteLeft(obj)+'px';
//		smenu.style.top = (getAbsoluteTop(obj)+obj.offsetHeight)+'px';
		opacity('s'+id, 0, 95, 200);
		currentdropdownmenu = id;
//		smenu.style.display='';
	}
}

document.onclick = closedropdownmenu;

function closedropdownmenu() {
	if (currentdropdownmenu) {
		var obj = document.getElementById(currentdropdownmenu);
		var smenu = document.getElementById('s'+currentdropdownmenu);
		if (smenu && smenu.style.display != 'none') {
			obj.className=obj.className.replace(' pressed','');
			opacity('s'+currentdropdownmenu, 95, 0, 200);
			currentdropdownmenu = null;
		}
	}
}

function getAbsoluteLeft(o) {
	// Get an object left position from the upper left viewport corner
	// Tested with relative and nested objects
	oLeft = o.offsetLeft            // Get left position from the parent object
	while(o.offsetParent!=null) {   // Parse the parent hierarchy up to the document element
		oParent = o.offsetParent    // Get parent object reference
		oLeft += oParent.offsetLeft // Add parent left position
		o = oParent
	}
	// Return left postion
	return oLeft
}

function getAbsoluteTop(o) {
	// Get an object top position from the upper left viewport corner
	// Tested with relative and nested objects
	oTop = o.offsetTop            // Get top position from the parent object
	while(o.offsetParent!=null) { // Parse the parent hierarchy up to the document element
		oParent = o.offsetParent  // Get parent object reference
		oTop += oParent.offsetTop // Add parent top position
		o = oParent
	}
	// Return top position
	return oTop
}

function opacity(id, opacStart, opacEnd, millisec) { 
    //speed for each frame 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 

    //determine the direction for the blending, if start and end are the same nothing happens 
    if(opacStart > opacEnd) { 
        for(i = opacStart; i >= opacEnd; i--) { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } else if(opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i++) 
            { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } 
} 

//change the opacity for different browsers 
function changeOpac(opacity, id) { 
    var object = document.getElementById(id).style; 
	if(opacity == 0) {
		object.display='none';
	} else {
		object.display='';
	}
    object.opacity = (opacity / 100); 
    object.MozOpacity = (opacity / 100); 
    object.KhtmlOpacity = (opacity / 100); 
    object.filter = "alpha(opacity=" + opacity + ") progid:DXImageTransform.Microsoft.Shadow(direction=135,color=#333333,strength=2)"; 
}