function doOrder() {
	var form = $('#orderForm');
	var fields = $(':text',form);
	var isValid = true;
	
	fields.each( function() {
		var size = productSizes[this.id.replace(/addsc_/,'')];
		if(isValid && this.value != '') {
			if(this.value < size['minimum']) {
				alert( strOrderMinimum.replace(/\%s/, size['minimum']) );
				isValid = false;
			} else if((this.value % size['increment']) != 0) {
				alert( strOrderIncrement.replace(/\%s/, size['increment']) );
				isValid = false;
			}
		}
	});
	
	if(isValid) {	
		var params = fields.serialize();
		var items;
	
		$.ajax({
			type: 'POST',
			url: orderUrl,
			data: params,
			success: function(data){
				msg = ShowMsgBox(scAdded,'msgBoxOk');
				msg.fadeOut(3000);
                
                items = Number($('#items').text());
        		$(':text',form).each( function() {
        			items += Number(this.value);
        			this.value = '';
        		});
        	
        		$('td.stockTd').each( function() {
        			this.innerHTML = '';
        		});
        	
        		$('#items').text(String(items));
			},
			error: function(xml,errMsg,ex){ 
				msg = ShowMsgBox('Error: ' + errMsg,'msgBoxError'); 
				console.error(dump(xml)); 
				msg.fadeOut(10000);
			}
		});
	}

	return false;
}

function doOrderSc() {
	var form = $('#orderForm');
	var fields = $(':text',form);
	var isValid = true;
	
	fields.each( function() {
		var size = productSizes[this.id.replace(/addsc_/,'')];
		if(isValid && this.value != '') {
			if(this.value < size['minimum']) {
				alert( strOrderMinimum.replace(/\%s/, size['minimum']) );
				isValid = false;
			} else if((this.value % size['increment']) != 0) {
				alert( strOrderIncrement.replace(/\%s/, size['increment']) );
				isValid = false;
			}
		}
	});
	
	if(isValid) {
		var params = fields.serialize();

		$.ajax({
			type: 'POST',
			url: orderUrlSc,
			data: params,
			success: function(data){
				msg = ShowMsgBox(strShopUpdate,'msgBoxOk');
				msg.fadeOut(3000);
			}, 
			error: function(xml,errMsg,ex){ 
				msg = ShowMsgBox('Error: ' + errMsg,'msgBoxError'); 
				console.error(dump(xml)); 
				msg.fadeOut(10000);
			}
		});
		
		
		getItems();
		getPrice(true);
		getStockSc();
	}
	
	return false;
}

function getStock(id,unit) {
	$('#stock_' + id).html('');
	if(/^\d+$/.test($('#addsc_' + id ).val())) {
		var img = document.createElement('img');
		img.setAttribute('src', baseUrl + '/images/load.gif');
		img.setAttribute('style', 'margin:2px 0 2px 0');
		img.setAttribute('title', stockLoading);
		$('#stock_' + id).append(img);

		$.ajax({
			type: 'GET',
			url: stockUrl + id + '/' + unit + '/' + $('#addsc_' + id ).val() + '/BE90',
			success: function(result){
				var availVal = $('/response/Availability', result).text();

				var img = document.createElement('img');
				img.setAttribute('src', baseUrl + '/images/StockImage' + availVal + '.png');
				img.setAttribute('title', stock[availVal]);
				$('#stock_' + id).html('');
				$('#stock_' + id).append(img);
			}
		});
	}
}

function getStockSc() {
	for(i=0;i<productNumbers.length;i++) {
		getStock(productNumbers[i],productUnits[i]);
	}
}

function getPrice(sc) {
	var count;
	
	$.ajax({
		type: 'GET',
		url: priceUrl,
		success: function(result) {
			$(result).find('price').each(function(){
               var prdnr = $(this).find('item').text();
               var price = $(this).find('netprice').text();
               document.getElementById('Price_'+prdnr).innerHTML = price;
               var subtotal = $(this).find('totalnetprice').text();
               document.getElementById('SubTotal_'+prdnr).innerHTML = subtotal;
           }); //close each
           
           var totalshop = $(result).find('total').text();
           document.getElementById('Total').innerHTML =  totalshop;

           if(!sc) {
			 if(totalshop <= 400) {
                  document.getElementById('TotalPlus').innerHTML =  $(result).find('totalplus').text();
                  document.getElementById('trPlus').style.display = 'block';
                  document.getElementById('trTotalPlus').style.display = 'block';
             }
           }
		}
	});
}

function getStaffelPrices() {
	$.ajax({
		type: 'GET',
		url: priceUrl + productNr + '/' +  productId + '/' + catalogNr,
		success: function(result) {
			if($(result).find('exception').length > 0) {
				$('#orderButton').hide();
				$('#Prices').html('<br /><p><b>' + strPriceError + '</b></p>');
				$('#Prices').show();
			} else {
				var staffel = Array();
				var i=0;
				
				priceTable = '<table class="productPrices">';
				priceTable += '<tr><th>'+ strPrices + '</th>';
				$(result).find('staf').each(function(){
					priceTable += '<th>' + $(this).text() + '</th>';
					staffel[i] = $(this).text();
					i++;
				});
				priceTable += '</tr>';
				
				$(result).find('price').each(function(){
					priceTable += '<tr>';
					variant = $(this).find('variant').text();
					var intIndexOfMatch = variant.indexOf(";");
					while (intIndexOfMatch != -1){
						variant = variant.replace(';','<br />');
						intIndexOfMatch = variant.indexOf(";");
					}
					priceTable += '<td>' + variant + '</td>';
					for(i=0;i<staffel.length;i++) {
						if($(this).find('netprice'+staffel[i]).length > 0) {
							priceTable += '<td>&euro; ' + $(this).find('netprice'+staffel[i]).text() + '</td>';
						} else {
							priceTable += '<td><b>X</b></td>';
						}
					}
					priceTable += '</tr>';
				});
				
				priceTable += '</table>';
				
				$('#Prices').html(priceTable);
				$('#Prices').show();
			}				
		}
	});
}

function getItems() {
	var items = 0;
	var fields = strPrdNums.split(';');

	for(i=0;i<fields.length;i++) {
		if(fields[i] != '') {
			var elem = document.getElementById('addsc_'+fields[i]);
			items += Number(elem.value);
		}
	}
	
	document.getElementById('items').innerHTML = items;
}

function deleteSc(scid,prdnr) {
	$.ajax({
		type: 'POST',
		 url: deleteUrl + scid,
		 data: scid,
		 success: function(data){
			msg = ShowMsgBox(strShopDelete,'msgBoxOk');
			msg.fadeOut(3000); 
		},
		error: function(xml,errMsg,ex){ 
			msg = ShowMsgBox('Error: ' + errMsg,'msgBoxError'); 
			console.error(dump(xml)); 
			msg.fadeOut(10000);
		}
	}); 
	
	var total = Number(document.getElementById("Total").innerHTML);
	var subtotal = Number(document.getElementById("SubTotal_"+prdnr).innerHTML);
	var items = Number(document.getElementById('items').innerHTML);
	items -= Number(document.getElementById('addsc_'+prdnr).value);
	document.getElementById('items').innerHTML = items;
	
	var newtotal = total - subtotal;
	document.getElementById("Total").innerHTML = newtotal.toFixed(2);

	document.getElementById(scid).style.visibility = 'hidden';
	document.getElementById(scid).style.display = 'none';
	
	strPrdNums = strPrdNums.replace(';'+prdnr,'');
	strPrdNums = strPrdNums.replace(prdnr,'');
	productNumbers = strPrdNums.split(';');
	
	return false;
}
