function addToCart(pID,page_id){
	var handler = function(transport, json) {
		$('products_container').innerHTML = '';
		productUl = document.createElement ( 'ul' );
		/*
		json.products.each(function(item){
			productLi = document.createElement ( 'li' );
			productLi.innerHTML= item['name'] + ' x ' + item['amount'];
			productUl.appendChild(productLi);
		});
		*/
		productLi = document.createElement ( 'li' );
		//productLi.innerHTML= 'mandje: ' + json.total_products + ' items';
		productLi.innerHTML= json.text;
		productUl.appendChild(productLi);
		$('products_container').appendChild(productUl);
		//$('WebShopCartFooter').highlight();
	}
	//var amount = $('product_'+ pID).select('[name="amount"]')[0].value;
	var amount = 1;
	requestAdd( page_id, pID, amount, handler );
}
var productCount = null;
function updateProductCount(value)
{
	if (productCount === null)
	{
		productCount = $('products_count');
	}
	if (productCount !== null)
	{
		if (productCount.match('input'))
		{
			productCount.value = value;
		}
		else
		{
			productCount.update(value);
		}
	}
}
function initAddToCartButtons( ) {
	$$( '.add-to-cart' ).each( function( button ) {
		var buttonLink;
		if( buttonLink = button.select( '.addToCart' ).first( ) ) {
			buttonLink.observe( 'click', function( e ) {
				e.stop( );
				var buttonData = this.href.split( '/' ).last( ).split( ',' );
				var pageID = buttonData[1];
				var pID = buttonData[0];
				var handler = function( t, json ) {
					var pID = json.product_id;
					if( adding = $( 'addToCart_' + pID ).select( '.addingToCart' ).first( ) ) {
						adding.fade( { duration: 0.00001 } );
					}
					var added;
					if( added = $( 'addToCart_' + pID ).select( '.addedToCart' ).first( ) ) {
						added.appear( { duration: 0.00001 } );
						Effect.Fade.delay( 3, added );
					}
					$$('.total_price').each( function(item) {
						item.update('&euro;&nbsp;' + json.total_price + ',-');
					}
					);
					updateProductCount(json.total_products);
					var productLi;
					if( productLi = $( 'products_container' ).select( 'li' ).first( ) ) {
						productLi.update( json.text );
					} else {
						$('products_container').innerHTML = '';
						var productUl = document.createElement ( 'ul' );
						var productLi = document.createElement ( 'li' );
						productLi.innerHTML= json.text;
						productUl.appendChild(productLi);
						$('products_container').appendChild(productUl);
					}
				}
				if( $( 'amount_' + pID ) ) {
					var amount = $( 'amount_' + pID ).value;
				} else {
					var amount = 1;
				}
				updateProductCount(amount);
				console.log(pID);
				console.log($( 'measure_' + pID ));
				if( $( 'measure_' + pID ) ) {
					if( $( 'measure_' + pID ).value.length > 0 ) {
						var measureID = $( 'measure_' + pID ).value;
					} else {
						alert( 'Selecteer een maat voor dit product.' );
						return;
					}
				} else {
					var measureID = pID;
				}
				var adding;
				if( adding = $( 'addToCart_' + pID ).select( '.addingToCart' ).first( ) ) {
					adding.appear( );
				}
				requestAdd( pageID, measureID, amount, handler );
			} );
				var adding;
				if( adding = button.select( '.addingToCart' ).first( ) ) {
					adding.fade( { duration: 0.00001 } );
				}
				var added;
				if( added = button.select( '.addedToCart' ).first( ) ) {
					added.fade( { duration: 0.00001 } );
				}
		}
	} );
}
document.observe( 'dom:loaded', initAddToCartButtons );
function requestAdd( pageID, pID, amount, onSuccessHandler ) {
	new Ajax.Request('cart?element:' + $('WebShopCart_Element_ID').value + "/ajax/mode:addProduct", {
		method: 'post',
		parameters: {
					product_id: 'product_' + pID,
					product_amount: amount
		},
		onSuccess: onSuccessHandler,
		onFailure: function() {
			alert('Er is iets mis gegaan met het toevoegen van uw product in het winkelmandje.');
		}
	});
}
function requestRemove( pageID, pID, onSuccessHandler ) {
	$('product_' + pID).fade();
	new Ajax.Request('cart?element:' + $('WebShopCart_Element_ID').value + "/ajax/mode:removeProduct", {
		method: 'post',
		parameters: {
					product_id: 'product_' + pID
		},
		onSuccess: onSuccessHandler,
		onFailure: function() {
			$('product_' + pID).appear();
			alert('Er is iets mis gegaan met het verwijderen van uw product uit het winkelmandje.');
		}
	});
}
function requestUpdate( pageID, pID, onSuccessHandler ) {
	var to_amount = $('product_'+ pID).select('[name="changequantity"]')[0].value;
	new Ajax.Request('cart?element:' + $('WebShopCart_Element_ID').value + "/ajax/mode:updateProduct", {
		method: 'post',
		parameters: {
					product_id: pID,
					amount: to_amount
		},
		onSuccess: onSuccessHandler,
		onFailure: function() {
			alert('Er is iets mis gegaan met het verwijderen van uw product uit het winkelmandje.');
		}
	});
}
function addToCartAttraction( page_id, pID ) {
	var handler = function(transport, json) {
		$$('.total_price').each( function(item) {
			item.update('&euro;&nbsp;' + json.total_price + ',-');
		}
		);
		$( 'products_count' ).update( json.total_products );
		$('products_container').highlight();
	}
	requestAdd( page_id, pID, 1, handler );
}
function removeCartAttraction(page_id, pID){
	$$('.total_price').each( function(item) {
		item.update('Berekenen... <img src="Lib/Images/total_price_loader.gif" />');
	}
	);
	$('cart_price_total').update('<strong>Totaal</strong> ');
	var handler = function(transport, json) {
		$$('.total_price').each( function(item) {
			item.update('&euro;&nbsp;' + json.total_price + ',-');
		}
		);
		$( 'products_count' ).update( json.total_products );
	}
	requestRemove( page_id, pID, handler );
}
function updateCartAttraction( page_id, pID, amount ) {
	$('product_' + pID + '_total_price').update('Berekenen... <img src="Lib/Images/total_price_loader.gif" />');
	$$('.total_price').each( function(item) {
			item.update('Berekenen... <img src="Lib/Images/total_price_loader.gif" />');
	}
	);
	var handler = function(transport, json) {
		$('product_' + pID + '_total_price').update('&euro;&nbsp;' + json.product_price + ',-');
		$$('.total_price').each( function(item) {
			item.update('&euro;&nbsp;' + json.total_price + ',-');
		}
		);
		$$('.products_count').each( function(item) {
			item.update(json.total_products);
		}
		);
	}
	requestUpdate( page_id, pID, handler );
}
function isNumberKey(evt)
{
   var charCode = (evt.which) ? evt.which : event.keyCode;
   if (charCode > 31 && (charCode < 48 || charCode > 57))
   return false;
   return true;
}
if (typeof initWebShopCart === 'function')
{
	document.observe("dom:loaded", initWebShopCart);
}