function ImageViewerApplication(theElementId) 
{
	var imageViewer;
	var positionX;
	var positionY;
	
	var visible;
	
	var fadeInAnimation;
	var fadeOutAnimation;
	
	function construct()
	{	
		visible = false;
		imageViewer = new YAHOO.util.Element(theElementId);
		
	}
	
	function mouseOut()
	{
		visible = false;
		imageViewer.setStyle('display', 'none');
	}
	
	function mouseOver(theImage)
	{
		visible = true;
		imageViewer.set('innerHTML', '<img src="' + theImage + '" />');
		imageViewer.setStyle('display', 'block');
	}
	
	function updatePosition()
	{
		if (visible == false) {
			return;
		}
		imageViewer.setStyle('top', positionY + 'px');
		imageViewer.setStyle('left', positionX + 'px');
		
	}
	
	function setPosition(e) 
	{
		if (visible == false) {
			return;
		}
		var posx = 0;
		var posy = 0;
		if (!e) var e = window.event;
		if (e.pageX || e.pageY) {
			posx = e.pageX;
			posy = e.pageY;
		}
		else if (e.clientX || e.clientY) {
			posx = e.clientX + document.body.scrollLeft
				+ document.documentElement.scrollLeft;
			posy = e.clientY + document.body.scrollTop
				+ document.documentElement.scrollTop;
		}
		
		positionX=posx+30;
		positionY=posy-160;
		
		
		updatePosition();
	}
	
	construct();
	
	return ({
		mouseOut : function()
		{
			mouseOut();
		},
		mouseOver : function(theImage)
		{
			mouseOver(theImage);
		},
		setPosition : function(event)
		{
			setPosition(event);
		}
	});
}