var featuredProducts;
var featuredStart = 0;
var featuredMax = 0;
var featuredIndex = 0;

function addHandler(target, eventName, handler)
{
	if (target.addEventListener)
	{
		target.addEventListener(eventName, handler, false);
	}
	else if (target.attachEvent)
	{
		target.attachEvent("on" + eventName, handler);
	}
	else
	{
		target["on" + eventName] = handler;
	}
}

function featured_callback(data)
{
	featuredProducts = data;
	featuredMax = featuredProducts.items.length - 1;
	if (featuredProducts.items.length > 4) {
		var leftArrow = document.getElementById("FEATURED_LEFT");
		var rightArrow = document.getElementById("FEATURED_RIGHT");
		var leftArrowImage = document.getElementById("FEATURED_LEFT_IMAGE");
		var rightArrowImage = document.getElementById("FEATURED_RIGHT_IMAGE");
		if (leftArrow && rightArrow) {
			leftArrow.style.visibility = "visible";
			leftArrow.style.cursor = "pointer";
			addHandler(leftArrowImage, "click", featured_left);
			rightArrow.style.visibility = "visible";
			rightArrow.style.cursor = "pointer";
			addHandler(rightArrowImage, "click", featured_right);
		}
	}
}

function getEl(id)
{
	return document.getElementById(id);
}

function getLearnMoreLinkDD(label, url)
{
	return "<dd class='learn-more'><a href='" + url + "'>" + label + "</a></dd>";
}

function getLinkDD(label, url)
{
	return "<dd><a href='" + url + "'>" + label + "</a></dd>";
}

function showProduct(which)
{
	if (!featuredProducts) return;
	if (!(featuredProducts.items)) return;
	getEl("PRODUCT_BRAND_1").innerHTML = featuredProducts.items[which].brand;
	getEl("PRODUCT_NAME_1").innerHTML = featuredProducts.items[which].name;
	getEl("PRODUCT_TESTED").innerHTML = "(" + featuredProducts.items[which].teststate + ")";
	if (featuredProducts.items[which].teststate == "First Look")
	{
		getEl("PRODUCT_LINKBOX").style.display = "none";
		getEl("PRODUCT_FIRST_LOOK").style.display = "block";
	}
	else
	{
		getEl("PRODUCT_LINKBOX").style.display = "block";
		getEl("PRODUCT_FIRST_LOOK").style.display = "none";
	}
	var summary = featuredProducts.items[which].summary;
	summary = summary.replace(/&quot;/g,'"');
	summary = summary.replace(/&lt;/g,"<");
	summary = summary.replace(/&gt;/g,">");
	getEl("PRODUCT_SUMMARY").innerHTML = summary;
	getEl("PRODUCT_IMAGE").src = featuredProducts.items[which].largeimageurl;
	getEl("PRODUCT_IMAGE").width = featuredProducts.items[which].largeimagewidth;
	getEl("PRODUCT_IMAGE").height = featuredProducts.items[which].largeimageheight;
	getEl("PRODUCT_IMAGE").alt = featuredProducts.items[which].name;
	getEl("PRODUCT_LINK_1").href = featuredProducts.items[which].overviewurl;
	getEl("PRODUCT_LINK_2").href = featuredProducts.items[which].overviewurl;
	if (featuredProducts.items[which].reliabilityurl == "")
	{
		getEl("PRODUCT_LINKS_0").innerHTML =
			getLearnMoreLinkDD("Learn more", featuredProducts.items[which].overviewurl) +
			getLinkDD("Overview &amp; Ratings", featuredProducts.items[which].ratingsurl) +
			getLinkDD("User Reviews", featuredProducts.items[which].userreviews);
	}
	else
	{
		getEl("PRODUCT_LINKS_0").innerHTML =
			getLearnMoreLinkDD("Learn more", featuredProducts.items[which].overviewurl) +
			getLinkDD("Overview &amp; Ratings", featuredProducts.items[which].ratingsurl) +
			getLinkDD("Brand Reliability", featuredProducts.items[which].reliabilityurl) +
			getLinkDD("User Reviews", featuredProducts.items[which].userreviews);
	}
	featuredIndex = which;
	featured_update();
}

function featured_left() {
	if (featuredStart <= 0) {
		featuredStart = featuredMax;
	} else {
		featuredStart--;
	}
	featured_update();
}

function featured_right() {
	if (featuredStart >= featuredMax) {
		featuredStart = 0;
	} else {
		featuredStart++;
	}
	featured_update();
}

function featured_update() {
	for (var loop = 0; (loop < 4); loop++) {
		var item = featuredStart + loop;
		if (item > featuredMax) {
			item = item - (featuredMax + 1);
		}
		updateFeaturedDD(loop, item, featuredProducts.items[item]);
	}
}

function updateFeaturedDD(slide, itemnumber, item) {
	var html = "";
	var highlight = "";
	var dd = document.getElementById("featured_dd_" + slide);
	if (itemnumber == featuredIndex)
	{
		var image = "<a class='slider' href='#' onclick='return false;' style='cursor: default; border: 1px solid black;'><img src='" + item.thumbimageurl + "' alt='" + item.name + "' width='" + item.thumbimagewidth + "' height='" + item.thumbimageheight + "' id='PRODUCT_THUMBNAIL_IMAGE_" + slide + "'/></a><br/>";
		html = image + item.brand + " " + item.name;
	}
	else
	{
		var image = "<a class='slider' href='javascript:showProduct(" + itemnumber + ")'><img src='" + item.thumbimageurl + "' alt='" + item.name + "' width='" + item.thumbimagewidth + "' height='" + item.thumbimageheight + "' id='PRODUCT_THUMBNAIL_IMAGE_" + slide + "'/></a><br/>";
		html = image + "<a href='javascript:showProduct(" + itemnumber + ")' id='PRODUCT_THUMBNAIL_LINK_" + slide + "'>" + item.brand + " " + item.name + "</a>";
	}
	dd.innerHTML = html;
}
