var ComcomMouseBox = Class.create(
{
	boxContainerId: 'infobox',
	active: false,
	infoBoxContent: new Array(),
	infoBoxElements: new Array(),
	initialize: function(listId)
	{
		var list = $$('ul#'+listId+' li.point');
		if($(this.boxContainerId))
		{
			if($(list[0]))
				this.setObservers(list);
		}
	},
	
	setObservers: function(listArray)
	{
		var self = this;
		document.observe('mousemove', function(event)
		{
			if(this.active == true)
			{
				$(this.boxContainerId).setStyle(
				{
					top: '330px',//(event.pageY+10)+'px',
					left: '50%',//(event.pageX+10)+'px'
					margin: '0 0 0 -137px'
				});
			}				
		}.bind(this));
		
		listArray.each(function(element)
		{
			if($$('#'+$(element).id+' img')[0])
			{
				$$('#'+$(element).id+' img').each(function(imgElement)
				{
					if($(imgElement).getAttribute('alt') != '')
					{
						self.infoBoxContent.push($(imgElement).getAttribute('alt'));
						self.infoBoxElements.push($(imgElement));
						$(imgElement).removeAttribute('alt')
						$(imgElement).observe('mouseover', function()
						{
							var contentString = (self.infoBoxContent[self.infoBoxElements.indexOf(this)]);

							if($($(this).parentNode).getAttribute('href'))
								var parentNodeHref = $($(this).parentNode).getAttribute('href');
							else if($($($(this).parentNode).parentNode).getAttribute('href'))
								var parentNodeHref = $($($(this).parentNode).parentNode).getAttribute('href');
							else
								var parentNodeHref = '';

							$($(this).parentNode).setAttribute('onclick', 'return false;');
							var stringArray = contentString.split(':');
							if(stringArray[1])
								var contentString = '<h4>'+stringArray[0]+'</h4><p>'+stringArray[1]+'</p>';
							else
								var contentString = '<p>'+stringArray[0]+'</p>';
							
							if(parentNodeHref != '')
							{
								if(stringArray[1])
									var contentString = '<div class="leftBox"><h4>'+stringArray[0]+'</h4><p>'+stringArray[1]+'</p></div><img src="'+parentNodeHref+'" alt="" />';
								else
									var contentString = '<p>'+stringArray[0]+'</p><img src="'+parentNodeHref+'" alt="" />';
							}
							else
							{
								if(stringArray[1])
									var contentString = '<h4>'+stringArray[0]+'</h4><p>'+stringArray[1]+'</p>';
								else
									var contentString = '<p>'+stringArray[0]+'</p>';
							}
								
							self.setInnerContent(contentString);
						});
						$(imgElement).observe('mouseout', function()
						{
							self.clearInnerContent();
						});
					}
				});
			}
			else if($($(element).getElementsByClassName('popupbox')[0]))
			{
				$(element).observe('mouseover', function()
				{
					if($($(this).getElementsByClassName('popupbox')[0]).cleanWhitespace() != '')
					{
						var content = $($(this).getElementsByClassName('popupbox')[0]).innerHTML;
						self.setInnerContent(content);
					}
				});
				$(element).observe('mouseout', function()
				{
					self.clearInnerContent();
				});
				
			}
		});
	},
	
	setInnerContent: function(contentString)
	{
		if(contentString != '')
		{
			$(this.boxContainerId).update(contentString);
			this.active = true;
			$(this.boxContainerId).show();
		}
	},
	
	clearInnerContent: function()
	{
		$(this.boxContainerId).hide();
		$(this.boxContainerId).update('');
		this.active = false;		
	}
});
Event.observe(window,'load', function()
{
	var ProductsBox = new ComcomMouseBox('productListWheel');
});