﻿// Variabler som skapas och sätts av pageparten:
//		ecom_cart_treeId
//		ecom_cart_pagepartId


function GetCartHTML(pagePartId, treeId) {
	$.ajax({
		type: "POST",
		url: "/modules/ecommerce/webservices/cartservice.asmx/GetCartHTML",
		data: {pagePartId : pagePartId, treeId : treeId},
		dataType: "xml",
		//contentType: "application/json; charset=utf-8",
		success: function (data) {
			var status = false;
			var content = $(data).find("string").text();
			if (content.length > 0) {
				$("#Ecom_Cart_Container_" + pagePartId).html(content);
				status = true;
			}
			try {
				GetCartHTML_LoadComplete(status);
			}
			catch (e) { }
		},
		error: function (jqXHR, textStatus, errorThrown) {
			alert(jqXHR);
			alert(textStatus);
			alert(errorThrown);
		}
	});
}
function Cart_Add(vsrId, q) {
	$.post(
		"/modules/ecommerce/webservices/cartservice.asmx/AddToCart",
		{ variantSiteRelationId: vsrId, quantity: q, pagePartId: ecom_cart_pagepartId, treeId: ecom_cart_treeId },
		function (data) { eCom_cart_process_addResponse(data); },
		"xml"
		);
}
function Cart_UpdateQuantity(vsrId, q) {
	try {
		if (!Cart_PreUpdateQuantity(vsrId, q)) { return false; }
	} catch (e) {

	}

	if (isNaN(q) || q <= 0) { return false; }

	$.post(
		"/modules/ecommerce/webservices/cartservice.asmx/UpdateQuantity",
		{ variantSiteRelationId: vsrId, quantity: q, pagePartId: ecom_cart_pagepartId, treeId: ecom_cart_treeId },
		function (data) { eCom_cart_process_addResponse(data); },
		"xml"
		);
}
function Cart_Remove(vsrId) {
	try {
		Cart_PreRemove(vsrId);
	} catch (e) {

	}
	$.post(
		"/modules/ecommerce/webservices/cartservice.asmx/RemoveFromCart",
		{ variantSiteRelationId: vsrId, pagePartId: ecom_cart_pagepartId, treeId: ecom_cart_treeId },
		function (data) { eCom_cart_process_addResponse(data); },
		"xml"
		);
}

function eCom_cart_process_addResponse(data) {
	var status = "no content returned";

	try {
		Cart_PreHandleResponse(content);
	}
	catch (e) { }

	var content = $(data).find("string").text();
	if (content.length > 0) {
		status = "container missing";
		var cartContainerDiv = document.getElementById("Ecom_Cart_Container_" + ecom_cart_pagepartId);
		if (cartContainerDiv) {
			if (cartContainerDiv.innerHTML != content) {
				status = "content returned and container updated";
				cartContainerDiv.innerHTML = content;
			} else {
				status = "content returned, no update needed";
			}
		} else {
			alert("page is missing container: " + "Ecom_Cart_Container_" + ecom_cart_pagepartId);
		}
	}

	try {
		Cart_LoadComplete(status);
	}
	catch (e) { }
}
