
function addProductToCart(product, optionProducts) {
	var product = eval('('+product+')');
	var optionProducts = eval('('+optionProducts+')');

	var rvCatalog				= document.getElementById('rvCatalog');
	var rvPci					= document.getElementById('rvPci');
	var rvPid					= document.getElementById('rvPid');

	var quantity				= document.getElementById('quantity');

	var postData = '';

	postData += 'epecActionCatalogId='+product.catalogId;
	postData += '&epecActionPci='+product.pci;
	postData += '&price='+product.price.net;
	postData += '&rvCatalog='+rvCatalog.value;
	postData += '&rvPci='+rvPci.value;
	postData += '&rvPid='+rvPid.value;
	postData += '&quantity='+quantity.value;

	for(var ogIterator = 0; ogIterator < product.optionGroups.length ; ogIterator++) {
		var optionGroup = product.optionGroups[ogIterator];

		if(optionGroup.type == 'SINGLE') {
			var optionGroupSelector = document.getElementById('ogSelector' + optionGroup.id);
			if(optionGroupSelector) {
				postData += '&optionGroup' + optionGroup.id + '=' + optionGroupSelector.value;
			}
		} else {
			for(var oIterator = 0; oIterator < optionGroup.options.length; oIterator++) {
				var option = optionGroup.options[oIterator];
	
				var optionSelector = document.getElementById(option.id);
				if(optionSelector && optionSelector.checked) {
					postData += '&optionGroup' + optionGroup.id + '[]=' + option.id;
				}
			}
		}
	}

	var heightSelector = document.getElementById('heightSelector');
	if(heightSelector) {
		postData += '&optionGroup4=' + parseInt(heightSelector.value);
	}

	executeAjax('index.php?page_id=14&epecAction=addProductToCart',updateShoppingCart,postData,true);
}

function updateShoppingCart(response) {
	if(response.result == 'errors') {
		for(var errorIterator = 0; errorIterator < response.errorMessages.length; errorIterator++) {
			alert(response.errorMessages[errorIterator].errorMessage);
		}
	} else {
		var shoppingCart = document.getElementById('shoppingCart');
	
		if(response.products && (response.products.length >= 1)) {
			shoppingCart.style.display = 'block';
			populateShoppingCart(response);
		} else {
			shoppingCart.style.display = 'none';
		}
	}
}

function populateShoppingCart(shoppingCart) {
	var shoppingCartPane = document.getElementById('shoppingCartPane');

	var cartHTML = '';

	for(var i = 0; i < shoppingCart.products.length; i++) {
		var product = shoppingCart.products[i];
		cartHTML += '<div class="product">';
		cartHTML += '<div class="quantity">';
		cartHTML += product.quantity;
		cartHTML += '&nbsp;x&nbsp;';
		cartHTML += '</div>';
		cartHTML += '<div class="displayname">';
		cartHTML += product.displayname;
		cartHTML += '</div>';
		cartHTML += '<div class="height">';
		if(product.height > 0) {
			cartHTML += '&nbsp;x&nbsp;';
			cartHTML += product.height;
			cartHTML += 'cm';
		}
		cartHTML += '</div>';
		cartHTML += '<div class="remove">';
		cartHTML += '<a href="#" onclick="executeAjax(\''+product.removeUrl+'\',updateShoppingCart,null,true);">';
		cartHTML += 'Fjern</a>';
		cartHTML += '</div>';
		cartHTML += '</div>';
	}

	cartHTML += '<div class="shoppingCartButtons">';
	cartHTML += '<input type="button" value="Verifisere bestilling" onclick="document.location.href=\'index.php?page_id=17\'">';
	cartHTML += '</div>';

	shoppingCartPane.innerHTML = cartHTML;
}
