/****************************************
 * Author: Ryan Skov - Brd. Klee A/S
 * Date:   25/11-2010
 ****************************************/

/**
 * Add item to basket
 */
function addToBasket(vnr, qty) {

	var retval = "OK";

	// check numberformat on qty
	qty = qty.replace(',', '.');
	if (qty.match(/^\d+$/) == null) {
		// false! this is not a number
		return 'ERR_NUMBER';
	}
	else {
		// make ajax call
		var url = '/shop/ajaxaddtobasket/vnr/' + vnr + '/qty/' + qty;
		var myAjax = new Ajax.Request(url,
			{
				method: 'get',
				onSuccess: function(transport) {

					var dr = transport.responseXML.documentElement;
					var status = dr.getElementsByTagName('status')[0].firstChild.data;

					if(status == 'ERR_LOGIN') {
						// set dialog headline
						$j('#basketDialog').attr('title', $j('#transLoginErrorTitle').val());
						// set dialog message
						$j('#basketDialog').html($j('#transLoginError').val());
						// show dialog
						$j("#basketDialog").dialog("open");
					}
					else {						
						// set total
						var total = dr.getElementsByTagName('total')[0].firstChild.data;
						$j('#basketTotal').val(total);
						// set rest
						var rest = dr.getElementsByTagName('rest')[0].firstChild.data;
						$j('#basketRest').val(rest);
						// min sale
						var minsale = dr.getElementsByTagName('minsale')[0].firstChild.data;						
						// sales unit
						var unit = dr.getElementsByTagName('unit')[0].firstChild.data;

						// update item information
						// vnr
						var vnr1 = dr.getElementsByTagName('vnr1')[0].firstChild.data;
						$j('#basketVnr0').val(vnr1);						
						if(dr.getElementsByTagName('vnr2')[0].firstChild != null) {
							var vnr2 = dr.getElementsByTagName('vnr2')[0].firstChild.data;
							$j('#basketVnr1').val(vnr2);
						}
						// description
						var desc01 = dr.getElementsByTagName('desc01')[0].firstChild.data;
						$j('#basketDesc01').val(desc01);
						var desc02 = dr.getElementsByTagName('desc02')[0].firstChild.data;
						$j('#basketDesc02').val(desc02);
						
						if(dr.getElementsByTagName('desc11')[0].firstChild != null) {
							var desc11 = dr.getElementsByTagName('desc11')[0].firstChild.data;
							$j('#basketDesc11').val(desc11);
						}
						if(dr.getElementsByTagName('desc12')[0].firstChild != null) {
							var desc12 = dr.getElementsByTagName('desc12')[0].firstChild.data;
							$j('#basketDesc12').val(desc12);
						}

						// price
						var price1 = dr.getElementsByTagName('price1')[0].firstChild.data;
						$j('#basketPrice0').val(price1);
						if(dr.getElementsByTagName('price2')[0].firstChild != null) {
							var price2 = dr.getElementsByTagName('price2')[0].firstChild.data;
							$j('#basketPrice1').val(price2);
						}
						// qty
						var qty1 = dr.getElementsByTagName('qty1')[0].firstChild.data;
						$j('#basketQty0').val(qty1);
						if(dr.getElementsByTagName('qty2')[0].firstChild != null) {
							var qty2 = dr.getElementsByTagName('qty2')[0].firstChild.data;
							$j('#basketQty1').val(qty2);
						}

						updateBasket();

						if(status != 'OK') {
							if(status == 'WARNING_MIN_SALE') {
								// set dialog headline
								$j('#basketDialog').attr('title', $j('#transMinSaleTitle').val());
								// set dialog message
								var s = $j('#transMinSale').val();
								$j('#basketDialog').html(s.replace('#minsale#', minsale));
								// show dialog
								$j("#basketDialog").dialog("open");									
							}
							else {
								if(status == 'WARNING_SALES_UNIT') {
									// set dialog headline
									$j('#basketDialog').attr('title', $j('#transSaleUnitTitle').val());
									// set dialog message
									var s = $j('#transSaleUnit').val();
									$j('#basketDialog').html(s.replace('#unit#', unit));
									// show dialog
									$j("#basketDialog").dialog("open");
								}
								else {
									if(status == 'WARNING_MIN_SALE_AND_SALES_UNIT') {
										// set dialog headline
										$j('#basketDialog').attr('title', $j('#transMinSaleUnitTitle').val());
										// set dialog message
										var s = $j('#transMinSaleUnit').val();
										$j('#basketDialog').html(s.replace('#minsale#', minsale).replace('#unit#', unit));
										// show dialog
										$j("#basketDialog").dialog("open");									
									}
								}
							}
						}
					}

					return retval;
				},
				onFailure: function(){ alert('Something went wrong...') }
			});
	}
}

/**
 * Update the basket in the right colum
 */
function updateBasket() {

	var discount = '0';

	// update basket lines
	if($j('#basketDesc01').val() != '') {
		
		// hide empty text
		$j('#basketEmptyTxt').hide();
		$j('#basketItem2').hide();
		$j('#basketRestLine').hide();
		$j('#basketWebDiscountLine').hide();

		// show basket
		$j('#basketItem1').show();

		// update first item
		$j('#basketItemVnr1').html($j('#basketVnr0').val());
		$j('#basketItemDesc01').html($j('#basketDesc01').val());
		if($j('#basketDesc02').val() != 'NULL') {
			$j('#basketItemDesc02').show();
			$j('#basketItemDesc02').html($j('#basketDesc02').val());
		}
		else {
			$j('#basketItemDesc02').hide();
		}
		$j('#basketItemAmountLbl1').html($j('#transAmount').val() + ':&nbsp;');
		$j('#basketItemAmount1').html($j('#basketQty0').val());
		var price = $j('#basketPrice0').val();
		if(parseFloat(price) > 0)
			$j('#basketItemPrice1').html(parseFloat(price).toFixed(2).replace(".", ","));
		else
			$j('#basketItemPrice1').html('<font style="color: #D92F36">' + $j('#transUnknownPrice').val() + '</font>');

		if($j('#basketDesc11').val() != '') {

			// show basket
			$j('#basketItem2').show();

			// update secend item
			$j('#basketItemVnr2').html($j('#basketVnr1').val());
			$j('#basketItemDesc11').html($j('#basketDesc11').val());
			if($j('#basketDesc12').val() != 'NULL') {
				$j('#basketItemDesc12').show();
				$j('#basketItemDesc12').html($j('#basketDesc12').val());
			}
			else {
				$j('#basketItemDesc12').hide();
			}
			$j('#basketItemAmountLbl2').html($j('#transAmount').val() + ':&nbsp;');
			$j('#basketItemAmount2').html($j('#basketQty1').val());
			var price = $j('#basketPrice1').val();
			if(parseFloat(price) > 0)
				$j('#basketItemPrice2').html(parseFloat(price).toFixed(2).replace(".", ","));
			else
				$j('#basketItemPrice2').html('<font style="color: #D92F36">' + $j('#transUnknownPrice').val() + '</font>');

			if($j('#basketRest').val() != '' && $j('#basketRest').val() != 0) {
				$j('#basketRestLine').show();
				$j('#basketRestLbl').html($j('#transOtherItems').val());
				$j('#basketRestPrice').html(parseFloat($j('#basketRest').val()).toFixed(2).replace('.', ','));
			}

		}

		// web discount
		if(parseFloat($j('#basketWebDiscount').val()) > 0) {
			// show web discount line
			$j('#basketWebDiscountLine').show();
			// set label
			$j('#basketWebDiscountLbl').html($j('#transWebDiscount').val() + '&nbsp;' + $j('#basketWebDiscount').val() + '%');
			// calc discount
			var discount = '0';
			if(parseFloat($j('#basketWebDiscount').val()) > 0)
				discount = parseFloat($j('#basketTotal').val()) * (parseFloat($j('#basketWebDiscount').val()) / 100);
			$j('#basketWebDiscountPrice').html(parseFloat(discount).toFixed(2).replace('.', ','));
		}
		else {
			$j('#basketWebDiscountLine').hide();
			var discount = '0';
		}

	}
	else {
		$j('#basketItem1').hide();
		$j('#basketItem2').hide();
		$j('#basketRestLine').hide();
		$j('#basketWebDiscountLine').hide();
	}

	// update basket total
	var total = $j('#basketTotal').val();	
	total = parseFloat(total) - parseFloat(discount);	
	$j('#baskettotal').html('<b>' + parseFloat(total).toFixed(2).replace(".", ",") + '</b>');
}

function fromInputToBasket(event, vnr, qty) {
	var code = 0;
	code = event.keyCode;
	if(code == 13) {
		addToBasket(vnr, qty);
	}
}

