var NoProductImageSizes =
{
    Size38x38: "38x38",
    Size50x50: "50x50",
    Size58x58: "58x58",
    Size76x76: "76x76",
    Size100x100: "100x100",
    Size173x173: "173x173",
    Size200x200: "200x200"
}

function SetNoFotoForProduct(elm, size)
{
    if (size == null)
    	elm.src = "/gfx/common/noimage.png";
    else
        elm.src = "/gfx/common/noimage." + size + ".png";
}

function SetNoFotoForDealer(elm)
{
	elm.src = "/gfx/common/noimagedealer.jpg";
}

function XpriserRedirect(url)
{
	document.location.href = unescape(url);
}

function menuOver(data)
{
	var subMenuDiv = document.getElementById("menuSub");
	
	if(subMenuDiv)
	{
		subMenuDiv.innerHTML = data;
		subMenuDiv.style.visibility = 'visible';
	}
}

function menuOut()
{
	var subMenuDiv = document.getElementById("menuSub");
	
	if(subMenuDiv)
	{
		subMenuDiv.style.visibility = 'hidden';

	}
}

function SetCSSClass(component, cssClass)
{
    var componentRef = document.getElementById(component);
    if (componentRef)
    {
        componentRef.className = cssClass;
    }
}

var compareHandler =
{
    url: "",
    productIDs: [],
    allowedToCompare: 4,
    // Default messages.
    allowedToCompareExceededMessage: "Du kan kun sammenligne 4 produkter af gangen.",
	noProductsSelectedMessage: "Du skal vælge mindst 2 produkter før du kan sammenligne.",

	getProductsAddedCount: function()
	{
		var productsAdded = 0;
        
        for (var i = 0; i < this.productIDs.length; i++)
        {
            if (this.productIDs[i] != null)
                productsAdded++;
        }

		return productsAdded;
	},

    onCheckBoxClick: function(checkBox, productID)
    {
		if (checkBox.checked)
		{
		    if (this.getProductsAddedCount() >= this.allowedToCompare)
            {
                alert(this.allowedToCompareExceededMessage);
                checkBox.checked = false;
                return;
            }
        
			this.productIDs.push(productID);
		}
		else
		{
			for (var i = 0; i < this.productIDs.length; i++)
			{
				if (this.productIDs[i] == productID)
					this.productIDs[i] = null;
			}
		}
    },
    
    redirectToComparePage: function(url)
    {
		if (this.getProductsAddedCount() < 2)
		{
			alert(this.noProductsSelectedMessage);
			return;
		}

        if (this.url.length > 0)
        {
            var queryStringItems = [];
            
            for (var i = 0; i < this.productIDs.length; i++)
            {
                if (this.productIDs[i] != null)
                    queryStringItems.push(this.productIDs[i]);
            }
        
            XpriserRedirect(this.url + queryStringItems.join(";"));
        }
    }
};