﻿function getAbsoluteTop(sourceControl) {
	var top = 0;
	var workingControl = sourceControl;

	while(workingControl.offsetParent) {
		top += workingControl.offsetTop;
		workingControl = workingControl.offsetParent;
    }
	return(top);
}

function getAbsoluteLeft(sourceControl) {
	var left = 0;
	var workingControl = sourceControl;

    while(workingControl.offsetParent) {
        left += workingControl.offsetLeft;
        workingControl = workingControl.offsetParent; 
    }
	return(left);
}

var kcmsActiveMenu;

function kcmsDropDown(trigger) {
	var ribbon = trigger.parentNode.parentNode;
	var triggerNodeNumber = -1;
	if(kcmsActiveMenu) {
		kcmsActiveMenu.style.display = "none";
	}
	for(var i = 0; i < ribbon.childNodes.length; i++) {
		if(ribbon.childNodes[i] == trigger.parentNode) {
			triggerNodeNumber = i;
			break;
		}
	}
	var content = document.getElementById("kcmsDropDownContent");
	var menu = content.childNodes[triggerNodeNumber];
	menu.style.position = "absolute";
	var posLeft = getAbsoluteLeft(trigger);
	var posTop = getAbsoluteTop(trigger.parentNode) + ribbon.offsetHeight;
	menu.style.top = posTop + "px";
	menu.style.left = posLeft + "px";
    if(menu.offsetWidth <trigger.offsetWidth) {
        menu.style.width = trigger.offsetWidth + "px";
    } 
	menu.style.display = "block";
	menu.onmouseout = kcmsDropDownMouseLeave;
	kcmsActiveMenu = menu;
	return true;
}

function kcmsDropDownMouseLeave(event) {
	var parent;
	var posX;
	var posY;
	var closemenu = false;
	if(window.event) {
		parent = window.event.fromElement;
		posX = window.event.x;
		posY = window.event.y;
	} else {
		parent = event.target;
		posX = event.clientX;	
		posY = event.clientY;	
	}
	var absLeft = getAbsoluteLeft(kcmsActiveMenu);
	var absTop = getAbsoluteTop(kcmsActiveMenu);
	if(posX < absLeft+2) {
		closemenu = true;
	} else if(posX > absLeft + kcmsActiveMenu.clientWidth) {
		closemenu = true;
	} else if(posY > absTop + kcmsActiveMenu.clientHeight) {
		closemenu = true;
	} else if(posY < absTop) {
		closemenu = true;
	}
	if(closemenu) {
		kcmsActiveMenu.style.display = "none";
	}
}

function kcmsDropDownClear(event) {
	if(kcmsActiveMenu) {
		kcmsActiveMenu.style.display = "none";
	}
}
function kcmsStayFoot() {
	var kcmsFootControl = document.getElementById("kcmsFoot");
	kcmsFootControl.top = document.body.clientHeight - kcmsFootControl.clientHeight;
	alert(document.body.clientHeight - kcmsFootControl.clientHeight);
}