﻿var showTimeoutIDS = new Object();
var loadedObjects = new Object();

var ProductRollOverTurnedOff = false;

function turnOffProductRollOver(productID)
{
	var div = $('#producthint' + productID);
	div.show();
	div.load('/0_325.aspx?product=' + productID + "&a=" + Math.random());
	ProductRollOverTurnedOff = true;
}

function showProductListHintDelayed(productID, detailsUrl)
{
	showTimeoutIDS[productID] = setTimeout(function() {showProductListHint(productID, detailsUrl)}, 700);
}

function showProductListHint(productID, detailsUrl)
{
	if (ProductRollOverTurnedOff)
		return;
	
	var div = $('#producthint' + productID);
	
	div.show();

	var productimage = $('#productimage' + productID);
	productimage.css('z-index', 100);
	movehint(productID);
	
	if(loadedObjects[productID] != true)
	{
		loadedObjects[productID] = true;

		div.load("/0_257.aspx?product=" + productID + "&detailsurl=" + encodeURI(detailsUrl) + "&a=" + Math.random());
	}
}

function movehint(productID)
{
	var productimage = $('#productimage' + productID);
	var div = $('#producthint' + productID);
	var centercolumn = $('#centercolumn');

	div.css('top', '0');

	var initialLeftPos = productimage.width();
	div.css('left', initialLeftPos);

	var leftbound = centercolumn.offset().left;
	var rightbound = leftbound + centercolumn.width();
	var topbound = Math.max(centercolumn.offset().top, $(window).scrollTop() + 10);
	var bottombound = Math.min(centercolumn.offset().top + centercolumn.height(), $(window).height() + $(window).scrollTop() - 10);

	var divleft = div.offset().left;
	var divright = divleft + div.outerWidth();
	var divtop = div.offset().top;
	var divbottom = divtop + div.outerHeight();

    if (divtop < topbound)
    {
		div.css('top', topbound - divtop);
    }
    else if (divbottom > bottombound)
    {
		div.css('top', -(divbottom - bottombound));
    }
    if (divright > rightbound)
    {
		div.css('left', -(div.outerWidth()));
    }
}

function hideProductListHint(productID)
{
	clearTimeout(showTimeoutIDS[productID]);
	showTimeoutIDS[productID] = null;
	var div = $('#producthint' + productID);
	var productimageholder = $('#productimage' + productID);
	productimageholder.css('z-index', 0);
	div.hide();
	
}



/* DASHBOARD ================================================================================================ */

function toggleProductStatusHint(productID)
{
	if ($('#productStatusHint' + productID).is(':visible'))
		hideProductStatusHint(productID);
	else
		showProductStatusHint(productID);
}

function showProductStatusHint(productID)
{
	var div = $('#productStatusHint' + productID);
	div.show();
	var productStatus = $('#productStatus' + productID);
	productStatus.css('z-index', 100);
}

function hideProductStatusHint(productID)
{
	var div = $('#productStatusHint' + productID);
	var productStatus = $('#productStatus' + productID);
	productStatus.css('z-index', 0);
	div.hide();
}