var bonus_reward_node = null;

function generate_bonus_rewards( e , merchid )
{
	remove_bonus_rewards();
	
	bonus_reward_node = document.createElement("DIV");
	bonus_reward_node.className = "bonus_reward_info";
	bonus_reward_node.setAttribute("id", "bonus_rewards_info_"+ merchid);
	bonus_reward_node.setAttribute("code", merchid);

	var title = document.createElement("P");
	title.appendChild( document.createTextNode("Bonus Rewards") );
	bonus_reward_node.appendChild( title );
	
	bonus_reward_node.appendChild( document.getElementById("bonus_reward_list_"+ merchid).cloneNode(true) );
	
	document.body.appendChild( bonus_reward_node );
}

function remove_bonus_rewards()
{
	if ( bonus_reward_node )
	{
		document.body.removeChild( bonus_reward_node );
		bonus_reward_node = null;
	}
}

function bonus_rewards_mousemove(e)
{
	var evt = get_event( e || event );
	var over_reward = /\sbonus_rewards|bonus_rewards\s|^bonus_rewards$/.test( evt.target.className );
	var doc;
	
	if ( bonus_reward_node && over_reward )
	{
		var top, left;
		
		doc = document.documentElement || document.body;
		
		if ( evt.clientY + 10 + bonus_reward_node.offsetHeight > (window.innerHeight || screen.height) )
			top = evt.clientY - bonus_reward_node.offsetHeight + doc.scrollTop;
		else
			top = evt.clientY + doc.scrollTop + 10;
		
		if ( evt.clientX + 10 + bonus_reward_node.offsetWidth > (window.innerWidth || screen.width) )
			left = evt.clientX - bonus_reward_node.offsetWidth + doc.scrollLeft;
		else
			left = evt.clientX + doc.scrollLeft + 10;

		bonus_reward_node.style.top = top +"px";
		bonus_reward_node.style.left = left +"px";
		bonus_reward_node.style.display = "block";
		return;
	} else if ( bonus_reward_node && !over_reward )
		remove_bonus_rewards();
	else if ( over_reward )
		generate_bonus_rewards( e , evt.target.getAttribute("id").replace(/\D+/g, "") );
}

if ( window.addEventListener )
	document.addEventListener("mousemove", bonus_rewards_mousemove, false);
else
	document.attachEvent("onmousemove", bonus_rewards_mousemove);