﻿//this holds the original image value when the page was loaded
var _restore_timeout_ids = new Array();
var _original_image_values = new Array();
var _controls_loaded = new Array();

function ShowUserRatingImage(image_id, user_rating)
{
	if (_restore_timeout_ids[image_id] != null)
	{
		clearTimeout(_restore_timeout_id);
		_restore_timeout_ids[image_id] = null;
	}

	if (_original_image_values[image_id] == null)
		_original_image_values[image_id] = document.getElementById(image_id).src;

	document.getElementById(image_id).setAttribute("src", GetUserRatingImageSrc(image_id, user_rating));
}

function HideUserRatingImage(image_id)
{
	_restore_timeout_ids[image_id] = setTimeout('RestoreRatingImageToOriginal("' + image_id + '");', 500);
}

function RestoreRatingImageToOriginal(image_id)
{
	document.getElementById(image_id).setAttribute("src", _original_image_values[image_id]);
}

function GetUserRatingImageSrc(image_id, user_rating)
{
	var rating_image_src = "/images/";

	if (_original_image_values[image_id].indexOf("video") > -1)
		rating_image_src += "video_rating_" + user_rating.toString() + ".gif";
	else if (_original_image_values[image_id].indexOf("product") > -1)
		rating_image_src += "product_rating_" + user_rating.toString() + ".gif";

	return rating_image_src;
}

function MouseOver(e)
{
	var area_tag = (e.srcElement || e.target);
	ShowUserRatingImage(area_tag.parentNode.id.substring(8), parseInt(area_tag.href.substring(area_tag.href.length - 3), 10) + 1);
}

function MouseOut(e)
{
	var area_tag = (e.srcElement || e.target);
	RestoreRatingImageToOriginal(area_tag.parentNode.id.substring(8));
}

function AttachMouseEventsToAreaTags(img)
{
	if (_controls_loaded[img.id] == null)
	{
		var image_map = document.getElementById(img.getAttribute("usemap").substring(1));

		for (var i = 0; i < image_map.areas.length; i++)
		{
			AddEvent(image_map.areas[i], "mouseover", MouseOver);
			AddEvent(image_map.areas[i], "mouseout", MouseOut);
		}

		_controls_loaded[img.id] = true;
	}
}
