function hover(t, e) {
	if(typeof document.onmouseover == 'function') document.onmouseover();
	
	if(!e) e = window.event;
	if(e.stopPropagation) {
		e.stopPropagation();
	}
	e.cancelBubble = true;

	var imgcont;
	var divs = t.getElementsByTagName('dd');
	var length = divs.length;
	for(var i = 0; i < length; i++) {
		if(divs[i].className.search(/\bhover\b/) != -1) {
			imgcont = divs[i];
			break;
		}
	}

	var timer;
	if(typeof imgcont != 'object') {
		imgcont = document.createElement('dd');
		if(t.offsetLeft < 426) imgcont.className = 'hover hoverright';
		else imgcont.className = 'hover';
		t.getElementsByTagName('dl')[0].appendChild(imgcont);
		
		t.onclick = function() {
			var links = t.getElementsByTagName('a');
			document.location = links[0].href;
		}
		
		var boxTop = document.createElement('div');
		var boxTopLeft = document.createElement('div');
		var boxTopRight = document.createElement('div');
		var boxContent = document.createElement('div');
		var boxBottom = document.createElement('div');

		boxTop.className = 'hovertop';
		boxTopLeft.className = 'left';
		boxTopRight.className = 'right';
		boxContent.className = 'hovercontent';
		boxBottom.className = 'hoverbottom';

		imgcont.appendChild(boxTop);
		imgcont.appendChild(boxContent);
		imgcont.appendChild(boxBottom);

		boxTop.appendChild(boxTopLeft);
		boxTop.appendChild(boxTopRight);
		
		var div = document.createElement('h3');
		var span = document.createElement('span');
		span.appendChild(document.createTextNode(t.getElementsByTagName('dl')[0].getElementsByTagName('a')[0].title));
		div.appendChild(span);
		boxContent.appendChild(div);

		var myimg = document.createElement('img');
		myimg.src = t.getElementsByTagName('img')[0].src;
		boxContent.appendChild(myimg);
		
		var dds = t.getElementsByTagName('dd');
		for (var i = 0; i < dds.length; i++) {
			if (dds[i].className == 'description') {
				text = dds[i].innerHTML;
			}
		}
		
		var desc = document.createElement('p');
		desc.appendChild(document.createTextNode(text));
		boxContent.appendChild(desc);

		boxContent.appendChild(createLinkBasedTextButton('View product', '#', function(){return false;}));

		var links = document.createElement('div');
		links.className = 'links';
		boxContent.appendChild(links);

		var recommend = document.createElement('a');
		recommend.appendChild(document.createTextNode('Recommend a friend'));
		links.appendChild(recommend);

		var dds = t.getElementsByTagName('dd');
		var length = dds.length;
		for (var j = 0; j < length; j++) {
			if (dds[j].className == 'recommend') {
				var link = dds[j].getElementsByTagName('a')[0];
				recommend.href = link.href;
				if (typeof link.onclick == 'function')
					var onclick = link.onclick;
				else
					var onclick = function() {}
				recommend.onclick = function(e2) {
					if(!e2) e2 = window.event;
					if(e2.stopPropagation) e2.stopPropagation();
					e2.cancelBubble = true;
					if (onclick() == false) return false;
				}
				break;
			}
		}

		links.appendChild(document.createTextNode(' '));

		var close = document.createElement('a');
		close.appendChild(document.createTextNode('Close'));
		close.href = '#';
		close.className = 'close';
		close.onclick = function(e2) {
			if(!e2) e2 = window.event;
			if(e2.stopPropagation) e2.stopPropagation();
			e2.cancelBubble = true;
			t.onmouseover = function(e) {hover(this, e);}
			t.className = 'product';
			clearTimeout(timer);
			return false;
		}
		links.appendChild(close);
	}
	t.className = 'product productBox productHover';
	t.onmouseover = function(e2) {
		if(!e2) e2 = window.event;
		if(e2.stopPropagation) e2.stopPropagation();
		e2.cancelBubble = true;
	}
	
	document.onmouseover = function() {
		t.onmouseover = function(e) {hover(this, e);}
		t.className = 'product productBox';
		clearTimeout(timer);
		this.onmouseover = function(){}
	}
	if(t.offsetLeft < 426) imgcont.className = 'hover hoverright';
	else imgcont.className = 'hover';

	timer = setTimeout(function() {
		showHover();	
	}, 1000);
	function showHover() {
		t.className = 'product productBox productHover active';
	}
}
