﻿// JScript File
function GetCartItmes(e) {
				
		var ajaxIndex = ajaxObjects.length;
		ajaxObjects[ajaxIndex] = new sack();
		var url = "/ajax/cart.asp?mode=getCart";
		ajaxObjects[ajaxIndex].requestFile = url; // Specifying which file to get
		ajaxObjects[ajaxIndex].onLoading = function() { /*SetLoadingVisibility(true); SetCartVisibility(false);*/ } ;
		ajaxObjects[ajaxIndex].onCompletion = function() { HandleAjaxResponse(ajaxIndex); } ;	// Specify function that will be executed after file has been found
		ajaxObjects[ajaxIndex].runAJAX(); // Execute AJAX function
	}
	
function AddCartItem(e, itemid, amount, csvItemOptions, ShowItemOpions) {
 	
	if (!ShowItemOpions) {
		
		//get itemoptions form
		try {
			var ioForm = document.getElementById("options"+itemid);
							
			for (var i = 1; i <= ioForm.length-1; i++) {
				if (ioForm[i].type == "radio") {
					if (ioForm[i].checked == true) {					
						if (csvItemOptions.length > 0) {csvItemOptions += ",";}
						csvItemOptions += ioForm[i].value;
					}
				}
			}
		} catch(err) {}	
						
		var ajaxIndex = ajaxObjects.length;
		ajaxObjects[ajaxIndex] = new sack();
		var url = "/ajax/cart.asp?mode=addItem&itemid=" + itemid + "&amount=" + amount + "&itemoptions=" + csvItemOptions;
		ajaxObjects[ajaxIndex].requestFile = url;
		ajaxObjects[ajaxIndex].onLoading = function() { e.src = "/images/icons/basket_orange.gif"; } ;
		ajaxObjects[ajaxIndex].onCompletion = function() { GetCartItmes(); AddCheckIcon(itemid); e.src = "/images/icons/basket.gif"; } ;
		ajaxObjects[ajaxIndex].runAJAX();
						
		try {
			var trOpt = document.getElementById("options_" + itemid);
			setElementDisplay(trOpt, "none");
		} catch(err) {}

	} else {
		var trOpt = document.getElementById("options_" + itemid);
		setElementDisplay(trOpt, "");		
	}

}
//function RemoveCartItem(e, itemid) {}
//function ClearCart(e) {}

function AddCheckIcon(itemid) {	
	var checkImage = document.getElementById("check"+itemid);
	checkImage.innerHTML = "";
	var objCheckImage = document.createElement("img");
	objCheckImage.src = "/images/icons/check.gif";		
	checkImage.appendChild(objCheckImage);	
}

/* Ajax response on complete */
function HandleAjaxResponse(ajaxIndex) {
	var xml = parseXMLresponse(ajaxIndex);
	
	/* Handle cartitems */
	try {
		var objCartItems = xml.getElementsByTagName("item");
		var deliverydate = xml.getElementsByTagName("cart")[0].getAttribute("deliverydate")	
	} catch(err) { 
		alert("Der er opstået en uventet fejl." + "\n\n" + err.description); 
	}

	if (objCartItems.length > 0) {
		SetCartVisibility(true);
		SetCartItems(objCartItems);
		SetCartSummery(xml);
	} else {
		if (deliverydate.length > 0) {
			SetCartDeliverydate(deliverydate);
			SetCartVisibility(true);
			SetEmptyVisibility(false);
		} else {
			SetCartVisibility(false);
			SetEmptyVisibility(true);
		}
	}		
}

function SetCartDeliverydate(strDeliverydate) {
	ShowDeliveryInfo();
	var objDeliverydate = document.getElementById("cartdeliverydate");
	objDeliverydate.innerHTML = strDeliverydate;
}

function HideDeliveryInfo() {
	setElementDisplay(document.getElementById("DeliveryInfo"), "none")
}

function ShowDeliveryInfo() {
	setElementDisplay(document.getElementById("DeliveryInfo"), "")
}

function ClearCartItemsHtml() {
	var CartItemsContainer = document.getElementById("cartitems");
	CartItemsContainer.innerHTML = "";
}

function SetCartItems(objCartItems) {
	var CartItemsContainer = document.getElementById("cartitems");
	
	ClearCartItemsHtml()
	
	for (var i = 0; i < objCartItems.length; i++) {
		
		var title = objCartItems[i].getElementsByTagName("title")[0].childNodes[0].nodeValue
		var price = objCartItems[i].getElementsByTagName("price")[0].childNodes[0].nodeValue
		
		var objCartItem = document.createElement("div");
		var objItemTitle = document.createElement("div");
		var objItemPrice = document.createElement("div");
		
		objItemTitle.className = "ItemTitle"
		objItemTitle.innerHTML = title;
			
		objItemPrice.className = "ItemPrice";
		objItemPrice.innerHTML = price;		
				
		objCartItem.className = "cartitem"
		objCartItem.setAttribute("id", i+1);
		
		objCartItem.appendChild(objItemTitle);
		objCartItem.appendChild(objItemPrice);
	
		CartItemsContainer.appendChild(objCartItem);	
	}
}

function SetCartSummery(xml) {
	var SummeryDeliveryPrice = document.getElementById("DeliveryPrice");
	var SummeryTotalPrice = document.getElementById("TotalPrice");
	SummeryDeliveryPrice.innerHTML = xml.getElementsByTagName("cart")[0].getAttribute("deliveryprice");
	SummeryTotalPrice.innerHTML = xml.getElementsByTagName("cart")[0].getAttribute("totalprice");
}

function SetLoadingVisibility(show) {
	var oCartLoader = document.getElementById("loadingCart");
	if (show) {
		oCartLoader.className = "loadingCart_show";
	} else {
		oCartLoader.className = "loadingCart_hidden";
	}	
}

function SetEmptyVisibility(show) {
	var oCartEmpty = document.getElementById("emptyCart");
	if (show) {
		oCartEmpty.className = "emptyCart_show";
	} else {
		oCartEmpty.className = "emptyCart_hidden";
	}
}

function SetCartVisibility(show) {
	var oCart = document.getElementById("Cart");
	if (show) {
		oCart.className = "Cart_show";
	} else {
		oCart.className = "Cart_hidden";
	}
}