function isChildOf (parent, child) {
	if(parent != null && child != null) {			
		while(child.parentNode) {
			if((child = child.parentNode) == parent) {
				return true;
			}
		}
	}
	return false;
}

function fixOnMouseOut (element, event, func) {
	var current_mouse_target = null;
	if (event.toElement) {				
		current_mouse_target = event.toElement;
	} else if (event.relatedTarget) {				
		current_mouse_target = event.relatedTarget;
	}
	if (!isChildOf(element, current_mouse_target) && element != current_mouse_target) {
		func(element);
	}
}

function resetClassName (element) {
	element.className  = '';
}

function setEmptyText (el, emptyText) {
	if (el) {
		if (el.value == emptyText) {
			el.value = '';
		} else if (el.value == '') {
			el.value = emptyText;
		}
	}
}


function swapDisplay (id) {
	el = document.getElementById(id);
	if (el) {
		if (el.style.display == 'block') {
			el.style.display = 'none';
		} else {
			el.style.display = 'block'
		}
	}
}
