
		var main_picture_container_id = "picture_display";
		var main_picture_default_id = "picture_display_default";
		function register_events () {
			document.getElementById("navigation_area").onmouseout = swap_to_default;
		}
		function swap_main_image(element_id) {
			hide_all_images();
			var element = document.getElementById(element_id);
			element.style.display = "block";	
		}
		function hide_all_images() {
			var container = document.getElementById(main_picture_container_id);
			for ( var i = 0; i < container.childNodes.length; i++ ) {
				if( container.childNodes[i].style ) {
					container.childNodes[i].style.display = "none";
				}
			}	
		}
		function swap_to_default(e) {

			var tempX;
			var tempY;
			var is_left;

			//crossbrowser method of making relTarg the element mouse moved to
			if(!e) {
				 var e = window.event;
				tempX = e.clientX + document.body.scrollLeft;
				tempY = e.clientY + document.body.scrollTop;
				
			} else {
				tempX = e.pageX;
				tempY = e.pageY;
			}
			is_left = (tempX < getElementPosition(this.id).left ? true: false);
				
			var relTarg = e.relatedTarget || e.toElement; 
			if ( !has_descendant(relTarg, this) && !within_element_bounds(tempX, tempY, this.id)) {
				swap_main_image (main_picture_default_id);
			}
		}
		function has_descendant(child, parent) {
			return find_node( child, parent );	
		}
		function find_node (value, current_node) {
			if (current_node == value) {
				return true;
			}
			if (current_node == null ) {
				return false;
			}
			if (current_node.childNodes) {
				for (var i = 0; i < current_node.childNodes.length; i++) {
					if ( find_node (value, current_node.childNodes[i] ) ) {
						return true;
					}
				}
			}
			return false;
		}
		function within_element_bounds(mouse_x, mouse_y, element_id) {
			var xy = getElementPosition(element_id);
			var min_x = xy.left;
			var min_y = xy.top;
			var max_x = min_x + getElementWidth(element_id);
			var max_y = min_y + getElementHeight(element_id);
			return mouse_x > min_x && mouse_x < max_x && 
				   mouse_y > min_y && mouse_y < max_y;

		}
		function getElementPosition(elemID) {
			var offsetTrail = document.getElementById(elemID);
			var offsetLeft = 0;
			var offsetTop = 0;
			while (offsetTrail) {
				offsetLeft += offsetTrail.offsetLeft;
				offsetTop += offsetTrail.offsetTop;
				offsetTrail = offsetTrail.offsetParent;
			}
			if (navigator.userAgent.indexOf("Mac") != -1 && 
				typeof document.body.leftMargin != "undefined") {
				offsetLeft += document.body.leftMargin;
				offsetTop += document.body.topMargin;
			}
			return {left:offsetLeft, top:offsetTop};
		}
		function getElementHeight(Elem) {
				if(document.getElementById) {
					var elem = document.getElementById(Elem);
				} else if (document.all){
					var elem = document.all[Elem];
				}
				xPos = elem.offsetHeight;
				return xPos;
		}
		function getElementWidth(Elem) {
				if(document.getElementById) {
					var elem = document.getElementById(Elem);
				} else if (document.all){
					var elem = document.all[Elem];
				}
				xPos = elem.offsetWidth;
				return xPos;
		}
