function SetSelectedOrderPaymentMethod(requestUrl, frmID, paymentMethodID){
	var options={
		type:'POST', 
		async:false,
		data: {'action':'SetSelectedOrderPaymentMethod', 'PaymentMethodID':paymentMethodID},
		success:function(data, status){
			// data received from server
			if(data==undefined || data.rc==undefined || (data.rc!=1 && data.msg==undefined)){
				alert('Unexpected response from server!');
			}else if(data.rc==1){
				$(frmID).submit();
			}else{
				alert(data.msg);
			}	
		}, 
		error:function(xhr, status, errorThrown){
			alert('An error has occured!');
		},	
		url: requestUrl, 
		dataType:'json', 
		timeout:10000
	};
	$.ajax(options);
	return false;
}

function AddToShoppingBasket(requestUrl){
	var frmAddToShoppingBasket=$('#frmAddToShoppingBasket'); 
	var frmAddedToShoppingBasket=$('#frmAddedToShoppingBasket');
	var btnCheckoutButton=$('#CheckoutButton');
	
	var options={
			type:'POST', 
			async:false, 
			success:function(data, status){
				// data received from server
				if(data==undefined || data.rc==undefined || (data.rc!=1 && data.msg==undefined)){
					alert('Unexpected response from server!');
				}else if(data.rc=='1'){
					frmAddToShoppingBasket.toggle();	
					frmAddedToShoppingBasket.toggle();
					btnCheckoutButton.show();
					
					if(data.values==undefined){
					}else{
						//console.log(data);
						for( k in data.values ) {
							var htmlID = '#'+k; 
							var htmlElement = $(htmlID);
							if(htmlElement!=undefined){
								htmlElement.html(data.values[k]);
							}else{ // skip
							}	
						}
					}
					
				}else{
					alert(data.msg);
				}	
			}, 
		error:function(xhr, status, errorThrown){
			alert('An error has occured!');
		} , 
		url:requestUrl, 
		dataType:'json', 
		timeout:10000
	};
	frmAddToShoppingBasket.ajaxSubmit(options);		
	return false;
}


function IncreaseProductFromShoppingbasket(orderLineID, requestUrl, productVariantID){
	ShoppingbasketAction('IncreaseProductFromShoppingBasket', orderLineID, requestUrl, productVariantID);
	return false;
}
	
function DecreaseProductFromShoppingbasket(orderLineID, requestUrl, productVariantID){
	ShoppingbasketAction('DecreaseProductFromShoppingBasket', orderLineID, requestUrl, productVariantID);
	return false;
}
	
function RemoveProductFromShoppingbasket(orderLineID, requestUrl, productVariantID){
	ShoppingbasketAction('RemoveProductFromShoppingBasket', orderLineID, requestUrl, productVariantID);
	return false;
}

function ShoppingbasketAction(action, orderLineID, requestUrl, productVariantID){
	var options={
		type:'POST', 
		async:false,
		data: {'action':action, 'productVariantID':productVariantID},
		success:function(data, status){
			// data received from server
			if(data==undefined || data.rc==undefined || (data.rc!=1 && data.msg==undefined)){
				alert('Unexpected response from server!');
			}else if(data.rc==1){
				if(data.values==undefined){
				}else{
					//console.log(data);
					for( k in data.values ) {
						var htmlID = '#'+k; 
						var htmlElement = $(htmlID);
						if(htmlElement!=undefined){
							htmlElement.html(data.values[k]);
						}else{ // skip
						}	
					}
					
					var v = data.values['orderLine_quantity_'+productVariantID];
					if(v!=undefined	&& v==0){
						$(orderLineID).remove();
					}
					
					var v = data.values['order_items'];
					if(v!=undefined	&& v==0){
						$('#shoppingBasketOverview').hide();
						$('#shoppingBasketBtnPay').hide();
						$('#noShoppingBasketOrderLines').show();
					}	
					
					/*
					 * MELDING // attentie tonen @VT
					 */
					//KleinOrderToeslag
					if( data.values.order_smallOrderShowAttention == true ){
						$( '#KleinOrderToeslagVerschil' ).html( data.values['order_smallOrderNeeded'] );
						$( '#KleinOrderToeslagBedrag' ).html( data.values['order_smallOrderSurcharge'] );
						$( '#KleinOrderToeslagAttention' ).show();
					} else {
						$( '#KleinOrderToeslagAttention' ).hide();
					}
				
					//Shipment
					if( data.values.order_shipmentShowAttention == true ){
						$( '#ShipmentVerschil' ).html( data.values['order_shipmentNeeded'] );
						$( '#Verzendkosten' ).html( data.values['order_shipmentCosts'] );
						$( '#ShipmentAttention' ).show();
					} else {
						$( '#ShipmentAttention' ).hide();
					}
					
				}				
			}else{
				alert(data.msg);
			}	
		}, 
		error:function(xhr, status, errorThrown){
			alert('An error has occured!');
		}, 
		url: requestUrl, 
		dataType:'json', 
		timeout:10000
	};
	$.ajax(options);
	return null;
}
