function quantityChanged(e) {
	var evt = window.event || e;
	if (!evt.target)
		evt.target=evt.srcElement
	var elm = evt.target.id;
	alert(elm);
}

function menuMouseOver(name)
{
	var l = document.getElementById('left-' + name);
	var c = document.getElementById('center-' + name);
	var r = document.getElementById('right-' + name);
	l.style.backgroundImage = 'url(http://www.bermabru.be/documents/graphics/templates/menu-left.jpg)';
	c.style.backgroundColor = '#f3ca12';
	r.style.backgroundImage = 'url(http://www.bermabru.be/documents/graphics/templates/menu-right.jpg)';
}

function menuMouseOut(name)
{
	var l = document.getElementById('left-' + name);
	var c = document.getElementById('center-' + name);
	var r = document.getElementById('right-' + name);
	l.style.backgroundImage = 'url(http://www.bermabru.be/documents/graphics/templates/one-one.gif)';
	c.style.backgroundColor = '#ffffff';
	r.style.backgroundImage = 'url(http://www.bermabru.be/documents/graphics/templates/one-one.gif)';
}

function doAddQtyButtons(id, min, step)
{
	var container = document.getElementById('qty-container-' + id);
	if (container == null)
	{
		window.setTimeout("doAddQtyButtons('" + id + "', '" + min + "', '" + step + "')", 100);
	}
	else
	{
		min = min.replace(",", ".");
		step = min.replace(",", ".");
		var img1 = document.createElement("img");
		img1.src = "http://www.bermabru.be/documents/graphics/templates/plus.gif";
		img1.border = "0";
		img1.setAttribute("id", id);
		img1.setAttribute("min", min);
		img1.setAttribute("step", step);
		img1.style.position = "absolute";
		img1.style.marginLeft = "2px";
		img1.style.cursor = "pointer";
		container.appendChild(img1);
		var img2 = document.createElement("img");
		img2.src = "http://www.bermabru.be/documents/graphics/templates/minus.gif";
		img2.border = "0";
		img2.setAttribute("id", id);
		img2.setAttribute("min", min);
		img2.setAttribute("step", step);
		img2.style.position = "absolute";
		img2.style.marginTop = "10px";
		img2.style.marginLeft = "2px";
		img2.style.cursor = "pointer";
		container.appendChild(img2);
		doAddEvent(img1, "click", clickPlus);
		doAddEvent(img2, "click", clickMinus);
		container.style.paddingRight = "10px";
	}
}

function clickPlus(e)
{
	var ev = window.event || e;
	var obj;
	if (document.all)
		obj = ev.srcElement;
	else
		obj = ev.target;
	var id = obj.id;
	var min = obj.getAttribute("min");
	var step = obj.getAttribute("step");
	var df = document.getElementsByName("qty-" + id)[document.getElementsByName("qty-" + id).length - 1];
	df.value = parseInt(df.value) + parseInt(step);
	//quantityChanged(e);
	recalculate(id);
}

function clickMinus(e)
{
	var ev = window.event || e;
	var obj;
	if (document.all)
		obj = ev.srcElement;
	else
		obj = ev.target;
	var id = obj.id;
	var min = obj.getAttribute("min");
	var step = obj.getAttribute("step");
	var df = document.getElementsByName("qty-" + id)[document.getElementsByName("qty-" + id).length - 1];
	if (parseInt(df.value) > parseInt(min))
	{
		df.value = parseInt(df.value) - parseInt(step);
	}
	//quantityChanged(e);
	recalculate(id);
}

function requestPrice(id, qty, dfName)
{
	$("#dfid").val(id);
	var login = $("#login").val();
	var url = "/SOAP?server=http://shop.bermabru.be/ToppowerEnterpriseWs/WS_Toppower_Enterprise.asmx&method=UnitPrice&namespace=http://Toppower/Heverlee/Enterprise.org&soapaction=http://Toppower/Heverlee/Enterprise.org/UnitPrice&params=email,product,amount&product=" + id + "&amount=" + qty + "&email=" + login + "&tstamp=" + new Date().getTime();
	$.ajax( {	url: url,
			async: false,
			cache: false,
			success: function(xml)
				{
					var data = $("gp_p_mr_webservice_Unitprice", xml).get(0);
					var price = $("nettoprijsexcl", data).get(0);
					var min = $("minimumquantitiy", data).get(0);
					var inc = $("increment", data).get(0);
					var stock = $("stock", data).get(0);
					var dfid = $("#dfid").val();
					$("#" + dfName).val($(price).html());
					$("#min-qty").val($(min).html());
					$("#incr-qty").val($(inc).html());
					if ($(price).html() == null)
					{
						$("#price").effect("highlight", { color: "red", mode: "show" }, 100);
						$("#icon-basket").css("display", "none");
					}
					else
					{
						$("#price").effect("highlight", { color: "#f2c911", mode: "show" }, 1000);
						$("#icon-basket").css("display", "inline");
						$("#icon-basket").css("opacity", 0);
						$("#icon-basket").animate( { opacity: 1 }, 3000, function() {});
					}
					var fmin = parseFloat($(min).html());
					var finc = parseFloat($(inc).html());
					if (qty < fmin)
					{
						$("#qty").val(fmin);
					}
					if ($(price).html() != null && qty % finc != 0 && qty >= fmin)
					{
						$("#qty").animate( { backgroundColor: 'red', color: 'white' }, 1000, function() {});
					}
					else if (qty < fmin)
					{
						$("#qty").animate( { backgroundColor: 'orange', color: 'white' }, 1000, function() {});
					}
					else
					{
						$("#qty").animate( { backgroundColor: 'white', color: '#454545' }, 1000, function() {});
					}
				},
			error: function(data) { alert("error retrieving price and stock"); } });
}

function recalculate(id)
{
	var qty = $('[name=qty-' + id + ']').val();
	qty = qty.replace(",", ".");
	$("#dfid").val(id);
	var login = $("#login").val();
	var url = "/SOAP?server=http://shop.bermabru.be/ToppowerEnterpriseWs/WS_Toppower_Enterprise.asmx&method=UnitPrice&namespace=http://Toppower/Heverlee/Enterprise.org&soapaction=http://Toppower/Heverlee/Enterprise.org/UnitPrice&params=email,product,amount&product=" + id + "&amount=" + qty + "&email=" + login + "&tstamp=" + new Date().getTime();
	$.ajax( {	url: url,
			async: false,
			cache: false,
			success: function(xml)
				{
					var data = $("gp_p_mr_webservice_Unitprice", xml).get(0);
					var price = "";
					var stock = "";
					if (navigator.userAgent.indexOf("MSIE 7") < 0)
					{
						price = $("nettoprijsexcl", data).get(0);
						stock = $("stock", data).get(0);						
						var dfid = $("#dfid").val();
						$("#price-" + dfid).val($(price).html());
						if (price)
						{
							$("#price-" + dfid).effect("highlight", { color: "#f2c911", mode: "show" }, 3000);
							$("#icon-basket-" + dfid).css("display", "inline");
							$("#icon-basket-" + dfid).css("opacity", 0);
							$("#icon-basket-" + dfid).animate( { opacity: 1 }, 3000, function() {});
						}
						else
						{
							$("#price-" + dfid).val("");
						}
						if (parseInt($(stock).html()) > 0)
							$("#stock-" + dfid + "-on").css("display", "inline");
						else
							$("#stock-" + dfid + "-off").css("display", "inline");
					}
					else
					{
						var start = xml.indexOf("<nettoprijsexcl>");
						if (start > 0)
						{
							start += 16;
							var stop = xml.indexOf("</", start);
							price = xml.substring(start, stop);
						}
						var start = xml.indexOf("<stock>");
						if (start > 0)
						{
							start += 7;
							var stop = xml.indexOf("</", start);
							stock = xml.substring(start, stop);
						}
						var dfid = $("#dfid").val();
						$("#price-" + dfid).val(price);
						if (price)
						{
							$("#price-" + dfid).effect("highlight", { color: "#f2c911", mode: "show" }, 3000);
							$("#icon-basket-" + dfid).css("display", "inline");
							$("#icon-basket-" + dfid).css("opacity", 0);
							$("#icon-basket-" + dfid).animate( { opacity: 1 }, 3000, function() {});
						}
						else
						{
							$("#price-" + dfid).val("");
						}
						if (parseInt(stock) > 0)
							$("#stock-" + dfid + "-on").css("display", "inline");
						else
							$("#stock-" + dfid + "-off").css("display", "inline");
					}
					var min = $("#qty-min-" + dfid).val(); min = min.replace(",", "."); min = parseFloat(min);
					var step = $("#qty-step-" + dfid).val(); step = step.replace(",", "."); step = parseFloat(step);
					if (qty < min || qty % step != 0)
					{
						$('[name=qty-' + id + ']').css("background-color", "red");
						$('[name=qty-' + id + ']').css("color", "white");
					}
					else
					{
						$('[name=qty-' + id + ']').css("background-color", "transparent");
						$('[name=qty-' + id + ']').css("color", "#454545");
					}
				},
			error: function(data) { alert("error retrieving price and stock"); } });
}

function quickAddToBasket(id)
{
	var id = $("#article-code").val();
	var qty = $('#qty').val();
	var min = $('#min-qty').val();
	var inc = $('#incr-qty').val();
	var price = $('#price').val();
	
	if (parseFloat(qty) < parseFloat(min) || parseFloat(qty) % parseFloat(inc) != 0)
	{
		alert("Invalid quantity");
	}
	else
	{
		$.ajax({ type: "GET",
				url: "/AjaxProcessor",
				data: "WebAliveAjaxMethod=basket&login=" + $("#user").val() + "&site=bermabru&wob=/webalive/webalive/webapps/ROOT/bermabru/documents/catalog/" + id + ".xml&qty=" + qty + "&price=" + price + "&operation=add&basket=basket&remember=true",
				cache: false,
				success: function (data, textStatus, obj)
						{
							var result = $("result", data);
							refreshBasketContent();
							$('#basket-template').slideDown('fast');
							window.setTimeout("$('#basket-template').slideUp('fast');", 500);
							window.setTimeout("location.href=location.href", 1000);
						},
				error: 	function (req, error, exc)
						{
							alert("Connection to the server could not be established: " + error);
						},
				async: true });
	}
}

function addToBasket(id)
{
	var qty = $('[name=qty-' + id + ']').val();
	qty = qty.replace(",", ".");

	var min = $("#qty-min-" + id).val(); min = min.replace(",", "."); min = parseFloat(min);
	var step = $("#qty-step-" + id).val(); step = step.replace(",", "."); step = parseFloat(step);
	if (qty < min || qty % step != 0)
	{
		alert("Invalid quantity.");
		return;
	}

	var price = $('#price-' + id).val();
	$.ajax({ type: "GET",
			url: "/AjaxProcessor",
			data: "WebAliveAjaxMethod=basket&login=" + $("#user").val() + "&site=bermabru&wob=/webalive/webalive/webapps/ROOT/bermabru/documents/catalog/" + id + ".xml&qty=" + qty + "&price=" + price + "&operation=add&basket=basket&remember=true",
			cache: false,
			success: function (data, textStatus, obj)
					{
						if (textStatus != "success")
							alert(textStatus);
						var result = $("result", data);
						reloadSmallBasket();
					},
			error: 	function (req, error, exc)
					{
						alert("Connection to the server could not be established: " + error);
					},
			async: false });
}

function reloadSmallBasket()
{
	refreshBasketContent();
	$('#basket-template').slideDown('slow');
	window.setTimeout("$('#basket-template').slideUp('slow');", 2000);
	
}

function refreshBasketContent()
{
	$.ajax({ type: "GET",
			url: "/AjaxProcessor",
			data: "WebAliveAjaxMethod=basket&operation=get&basket=basket&include-articles=true",
			cache: false,
			success:	function (data, textStatus, obj)
						{
							var html = "<table width='100%' cellspacing='0' cellpadding='0'>";
							html += "<tr><td width='20' style='border-bottom: 1px solid #f2c911;'>#</td><td style='border-bottom: 1px solid #f2c911;'>desc</td><td width='60' align='right' style='border-bottom: 1px solid #f2c911;'>EUR</td></tr>";
							$("basket", data).each(	function(i)
													{
														var entry = $("basket", data).get(i);
														var qty   = $("qty", entry).text();
														var wob   = $("wob", entry).text();
														var price = $("price", entry).text();
														var fmt   = "#" + "," + "#" + "#" + "#" + "." + "0" + "0" + "0" + "0";
														price = $.formatNumber(price, { format: fmt, locale: "fr" });
														wob = wob.substring(wob.lastIndexOf("/") + 1);
														wob = wob.substring(0, wob.indexOf(".xml"));
														
														var description = "";
														var unit = "";
														var article = $("article", entry);
														var pack = $("pack", article).text();
														$("version", article).each(	function(j)
																		{
																			var v = $("version", article).get(j);
																			if ($(v).attr("language") == "fr")
																			{
																				description = $("description", v).text();
																				unit = $("unit1", v).text();
																			}
																		});
														
														
														html += "<tr><td width='80'>" + qty + " " + unit + "</td><td>" + wob + " - " + description + "</td><td width='60' align='right'>" + price + "</td></tr>";
													}
							);
							html += "</table>";
							$("#basket-template").html(html);
						},
			error:		function (req, error, exc)
						{
							alert("Connection to the server could not be established: " + error);
						},
			async: false });
}

function tableMouseOver(obj)
{
	obj.style.backgroundColor = '#eaaf2a';
	obj.style.color = '#ffffff';
}

function tableMouseOut(obj)
{
	obj.style.backgroundColor = '';
	obj.style.color = '#454545';
}

function loadPrices()
{
	var inputs = document.getElementsByTagName("input");
	for (var i = 0; i < inputs.length; i++)
	{
		id = inputs[i].id;
		if (id.indexOf("price-") == 0)
		{
			$("#dfid").val(id);
			var articleID = id.substring(id.indexOf('-') + 1);
			recalculate(articleID);
		}
	}
}

function removeFromWishlist(article)
{
	document.getElementById('item').value = article;
	submitWebAliveForm('/system/script-local.xml', 'removeFromWishlist', 'fr');
}

function formatCurrency(amount)
{
	return parseFloat(amount).toFixed(4);
}

function formatDate(date)
{
	if (date.length != 8)
		return date;
	return date.substring(6, 8) + "." + date.substring(4, 6) + "." + date.substring(0, 4);
}

