
function previewCart(options)
{
	var sURL = _root + "include/ajax_preview_cart.asp"
	var sData = "?id=" + options.id + "&colorID=" + options.colorID + "&sizeID=" + options.sizeID + "&quantity=" + options.quantity + "&lang=" + options.lang + "&root=" + _root + "&categoryID=" + options.categoryid + "&referer=" + options.referer;

	$("#cartPreview").remove();

	$.ajax({
		type: "GET",
		url: sURL + sData,
		cache: false,
		async: true,
		success: function(data){
			$("body").prepend("<div id=\"cartPreviewBG\"></div><div id=\"cartPreview\">" + data + "</div>");
			
			var w 		= $('#cartPreview').width();
			var h 		= $('#cartPreview').height();
			var ww		= $(window).width();
			var wh		= $(window).height();
			var top 	= Math.round((wh-h)/2)
			var left 	= Math.round((ww-w)/2)
			
			$('#cartPreview .close').click(function()
			{
				$("#cartPreview").hide("fast");
				$("#cartPreview").remove();
				$("#cartPreviewBG").hide("fast");
				$("#cartPreviewBG").remove();
				
			});
			
			$("#cartPreviewBG").css("opacity", "0.5").css("height",$(document).height()).show();	
			$('#cartPreview').css({'top':  top + 'px','left':  left + 'px'}).show("fast");
		}, 
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			//alert(XMLHttpRequest.responseText);
		}
  	});	
}

function deleteFromCart(nRow) 
{
	var sURL = _root + "include/ajax_process_cart.asp"
	var sData = "?action=deleteitem&row=" + nRow;
	
	$.ajax({
		type: "GET",
		url: sURL + sData,
		cache: false,
		async: true,
		success: function(xml){
			window.location.reload();
		}, 
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert(XMLHttpRequest.responseText);
		}
  	});
}

function addToCart(nID, nQuantity, options) 
{
	if(!checkQuantity) 
		return false;
	
	var sOptions = "";
	
	$.each(options, function(i, n){
		if(i != "onreturn") {
			sOptions += "&" + i + "=" + n;
		}
	});
	
	var sURL = _root + "include/ajax_process_cart.asp";
	var sData = "?action=additem&id=" + nID + "&quantity=" + nQuantity + sOptions;

	$.ajax({
		type: "GET",
		dataType : "text",
		url: sURL + sData,
		cache: false,
		async: true,
		success: function(xml){
		
			loadCartXML();
			
			if(options.onreturn) {
				options.onreturn(xml);
			}
			
		}, 
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert(XMLHttpRequest.responseText);
		}
  	});
}

function updateCart(nRow, nQuantity, options) 
{
	var sOptions = "";
	
	$.each(options, function(i, n){
		if(i != "onreturn") {
			sOptions += "&" + i + "=" + n;
		}
	});
	
	var sURL = _root + "include/ajax_process_cart.asp"
	var sData = "?action=updateitem&row=" + nRow + "&quantity=" + nQuantity + sOptions;
	
	$.ajax({
		type: "GET",
		url: sURL + sData,
		cache: false,
		async: true,
		success: function(xml){
		
			loadCartXML();

			if(options.onreturn)
				options.onreturn(xml);
		}, 
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert(XMLHttpRequest.responseText);
		}
  	});
}

function loadCartXML() 
{
	var sURL = _root + "include/xml_cart.asp"
	
	$.ajax({
		type: "GET",
		url: sURL,
		cache: false,
		async: true,
		success: function(xml){
			
			showCart(xml);			

		}, 
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert(XMLHttpRequest.responseText);
		}
  	});
}

function showCart(xml) 
{
	var mTotal = $(xml).find("order > total").text();
	var nTotalProducts = 0;
	var sHTML = "";	
	
	sHTML = '<table cellspacing="0" cellpadding="0" border="0"><tbody>';
	
	$(xml).find("product").each(function() {
		
		nID = $(this).find("id").text();
		nRow = $(this).find("row").text(); 
		sTitle = $(this).find("title").text();
		nQuantity = $(this).find("quantity").text();
		mSubtotal = $(this).find("subtotal").text();
		sUrl = _root + $(this).find("url").text();

		nTotalProducts += parseFloat(nQuantity);
	
		sHTML += '<tr id="' + nRow + '">';
			sHTML += '<td class="quantity"><input type="text" value="' + nQuantity + '" class="spinner" /></td>';
			sHTML += '<td><a href="' + sUrl + '">' + sTitle + '</a></td>';
			sHTML += '<td class="total">&euro; ' + formatPrice(mSubtotal) + '</td>';
		sHTML += "</tr>";
		
	});
	
	updateShoppingcartCount(nTotalProducts);
	updateShoppingcartTotal(mTotal);
	
	return false;
	
	sHTML += '</tbody><tfoot>';
	sHTML += '<tr><td>Totaal</td><td colspan="2" align="right">' + formatPrice(mTotal) + '</td></tr>';
	sHTML += "</tfoot></table>";
	
	$("#shoppingBag").html(sHTML);

	updateShoppingcartCount(nTotalProducts);
	
	init();
	
	$('#shoppingBag input[type=text].spinner').bind('spindown', function(event, ui) {
		
		var nRow = $(this).parents("tr").attr("id");
		var nQuantity = $(this).val();
		
		options = {};
		
		updateCart(nRow, nQuantity, options);
	
	});
	
	$('#shoppingBag input[type=text].spinner').bind('spinup', function(event, ui) {
		
		var nRow = $(this).parents("tr").attr("id");
		var nQuantity = $(this).val();
		
		options = {};
		
		updateCart(nRow, nQuantity, options);
	
	});
}

function updateShoppingcartTotal(n) 
{
	n = formatPrice(n);
	$("#shoppingcartTotal").html(n);
}

function updateShoppingcartCount(n) 
{
	n = n.toString();
	$("#shoppingcartCount").html(n);
	$(".shoppingcartCount").html(n);
}

function checkQuantity(n) 
{ 
	if(n != "" && n > 0 && parseFloat(n) != "NaN") {
		return true;
	}
	else {
		alert("Het aantal is niet correct. Probeer het opnieuw");
		return false;
	}
}

