
	function swap_main_image(element_id, main_picture_container_id) {
		hide_all_images(main_picture_container_id);
		var element = document.getElementById(element_id + "_text");
		if (element) {
			element.style.display = "block";	
		}
	}
	function hide_all_images(main_picture_container_id) {
		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].id != "products_banner") {//change the products_banner exception
				container.childNodes[i].style.display = "none";
			}
		}	
	}

     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;
        }

		function rollover_change(containing_div_id, image_name) {
			var display_area = document.getElementById(containing_div_id);
			display_area.style.backgroundPosition = "0 " + main_image_offsets[image_name] + "px";
			swap_main_image(image_name, containing_div_id);
		}

		//swaps the main image to the default one if the mouse isn't over it
		function swap_to_default (e) {
            var tempX;
            var tempY;
			var mousearea = document.getElementById("mouse_area");

            //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;
            }
			if ( !within_element_bounds(tempX, tempY, mousearea.id) ) {
				rollover_change("display_area", "default");
			}
		}
