
var __omAutoHideTime	= 50;
var __omTimers 			= new Array();

function __om(id) {
	var elem = document.getElementById(id);
	var elem2 = document.getElementById(id).previousSibling;
	if (!elem) {
		throw "Invalid overlay menu id";
	}
	if (!elem.onmouseout) {
		elem.onmouseout = function() {
			queueHideOverlayMenu(id);
		}
		elem.onmousein = function() {
			unQueueHideOverlayMenu(id);
		}
		elem.onmousemove = function() {
			unQueueHideOverlayMenu(id);
		}
	}
	return elem;
}

function toggleOverlayMenu(id) {
	if (__om(id).style.display=="block") {
		unQueueHideOverlayMenu(id);
		hideOverlayMenu(id);
	} else {
		queueHideOverlayMenu(id);
		showOverlayMenu(id);
		var iframe = document.createElement('iframe');
		iframe.src = 'javascript:void(0);';
		iframe.style.position = 'absolute';
		iframe.style.top = '30px';
		iframe.style.left = '10px';
		//iframe.style.visibility = 'hidden';
		iframe.style.zIndex = '-1';
		iframe.style.width = '100%';
		iframe.style.height = '90%';
		iframe.style.border = 'none';
		iframe.style.background = 'none';
		//document.getElementById(id).appendChild(iframe);
	}
}

function toggleOverlayMenuItin(id) {
	if (__om(id).style.display=="block") {
		unQueueHideOverlayMenu(id);
		hideOverlayMenu(id);
	} else {
		queueHideOverlayMenu(id);
		showOverlayMenu(id);
		var iframe = document.createElement('iframe');
		iframe.src = 'javascript:void(0);';
		iframe.style.position = 'absolute';
		iframe.style.top = '30px';
		iframe.style.left = '10px';
		//iframe.style.visibility = 'hidden';
		iframe.style.zIndex = '-1';
		iframe.style.width = '100%';
		iframe.style.height = '90%';
		iframe.style.border = 'none';
		iframe.style.background = 'none';
		//document.getElementById(id).appendChild(iframe);
	}
}

function hideOverlayMenu(id) {
	unQueueHideOverlayMenu(id);
	__om(id).style.display = "none";
}

function showOverlayMenu(id) {
	unQueueHideOverlayMenu(id);
	//__om(id).style.height = "500px";
	//__om(id).style.width = "340px";
	__om(id).style.display = "block";

}

function queueHideOverlayMenu(id) {
	unQueueHideOverlayMenu(id);
	__omTimers[id] = setInterval(function() { hideOverlayMenu(id); }, __omAutoHideTime);
}

function unQueueHideOverlayMenu(id) {
	if (__omTimers[id]) {
		clearInterval(__omTimers[id]);
		__omTimers[id] = null;
	}
}


//scroll select menu down
function scrollListDown(upArrow, downArrow,listId,interval,lessHeight) {
	getList = document.getElementById(listId);
	var yPos = parseFloat(getList.style.top);
	var theHeight = getList.offsetHeight;
	var stopScroll = -(theHeight - lessHeight);	
	if (yPos <= stopScroll){
		document.getElementById(downArrow).className = 'select_scroll_down_off';
		clearInterval(getList.movement);
	} else if (yPos >= stopScroll){
		document.getElementById(upArrow).className = 'select_scroll_up_on';
		yPos = yPos - 12;	
	}
	getList.style.top = yPos + "px";
	var repeat = "scrollListDown('"+upArrow+"','"+downArrow+"','"+listId+"',"+interval+","+lessHeight+")";
	getList.movement = setTimeout(repeat,interval);
}

//scroll select menu up
function scrollListUp(upArrow, downArrow, listId, interval) {
	getList = document.getElementById(listId);
	var yPos = parseFloat(getList.style.top);
	var theHeight = getList.offsetHeight;
	var stopScroll = 0;
	if (yPos >= stopScroll){
		document.getElementById(upArrow).className = 'select_scroll_up_off';
		clearTimeout(getList.movement);
	} else if (yPos <= stopScroll){
		yPos = yPos + 12;
		document.getElementById(downArrow).className = 'select_scroll_down_on';		
	}
	getList.style.top = yPos + "px";
	var repeat = "scrollListUp('"+upArrow+"','"+downArrow+"','"+listId+"',"+interval+")";
	getList.movement = setTimeout(repeat,interval);
}

//stop scrolling
function stopScroll() {	
	clearTimeout(getList.movement);
}


//keeps selected item highlighted
function keepListItemSelected() {
	var scrollItem = document.getElementsByTagName("li");
	for (var i=0; i<scrollItem.length; i++) {
		var liClass = scrollItem[i].getAttribute("class");
		if ((scrollItem[i].parentNode.id == "select_dd_menu_content_scroll_1") || (scrollItem[i].parentNode.id == "select_dd_menu_content_scroll_2") || (scrollItem[i].parentNode.parentNode.id == "locationDropdown")) {
			scrollItem[i].firstChild.onclick = function() {
			var selectedItem = this.parentNode.parentNode.getElementsByTagName("a");
			for (var i=0; i<selectedItem.length; i++) {
				YAHOO.util.Dom.removeClass(selectedItem[i], "selected_location");
				}
			YAHOO.util.Dom.addClass(this, "selected_location");
			}
		}
	}
}

//sets all links within drop-down menus to populate text field and hidden input field, then close the menu
function makeSelection(menu,textField, formField, header, pictureId) {
	var relativeSelect = /_rel/;
	var dateHeader;
	var menuBox = document.getElementById(menu);
	var menuItems = menuBox.getElementsByTagName("a");
	
	if(typeof pictureId == 'undefined') pictureId = null;
	
	if (typeof header == 'undefined') {
		dateHeader = null;
		} else { dateHeader = document.getElementById(header);};
	
	for (var i = 0; i < menuItems.length; i++) { 
		menuItems[i].onclick = function() {
			if(this.id != "scroll_up_arrow" && this.id != "scroll_down_arrow") {
			var formValue = this.id;
			document.getElementById(formField).value = formValue;
			document.getElementById(textField).innerHTML = this.innerHTML;
			menuBox.style.display = 'none';
			}
			if(relativeSelect.test(formField)) {
				changePicture(formValue,pictureId);
				document.getElementById("delete_member_" + menu.charAt(6)).style.display = "block";
			}
			
			if (dateHeader != null) {
				if(this.id == 3 ) {
					dateHeader.innerHTML = "Due Date:";
				} else {dateHeader.innerHTML = "Birthday:";}
			}
			return false;
		}
	}		
}

