<script src="<?php echo $CORE_URL;?>/assets/plugins/air-datepicker/js/datepicker.min.js"></script>
<script src="<?php echo $CORE_URL;?>/assets/plugins/air-datepicker/js/i18n/datepicker.id.js"></script>
<script src="<?php echo $CORE_URL;?>/assets/plugins/numpad/jquery.numpad.js"></script>

<style>
.addBarang:focus{border:3px solid blue;background:#0076FF}
</style>
<script>  

function reformatText(input) {
	var x = input.value;
	x = x.replace(/,/g, ""); // Strip out all commas
	x = x.reverse();
	x = x.replace(/.../g, function (e) {
		return e + ",";
	}); // Insert new commas
	x = x.reverse();
	x = x.replace(/^,/, ""); // Remove leading comma
	input.value = x;
}
function reformatNilai(angka) {
//	x = x.replace(0, ""); // Strip out all commas
	var rupiah='';
	var angkarev=angka.toString().split('').reverse().join('');
	for(var i=0;i<angkarev.length;i++)if(i%3 == 0) rupiah += angkarev.substr(i,3)+',';
	
	return rupiah.split('',rupiah.length-1).reverse().join('');
	}
	
function cekNilai(data1,data2){
	if(data1!=0 && data1!=null){
		return '<i class="fa fa-check-square-o"></i> '+reformatNilai(data1)+' / '+data2+'<br>';
	}else{
		return '';
	}
}
function bayarKasir(){
	$('#num2').focus();
	var faktur=$('#faktur').val();
	var nilaiTotal=$('#totalBayar').val();
	var totalGrandKasir=$('#totalGrandKasir').val();
	var num1 = document.getElementById('num1').value;
	var num2 = document.getElementById('num2').value;
	var diskon = document.getElementById('diskon').value;
	var voucher = document.getElementById('voucher').value;
	$('#doBayarKasir').modal('show');
	$('#modalGrandKasir').val(totalGrandKasir);
	$('#fakturForm').val(faktur);

	$('#num1').val(nilaiTotal);
	$('#num2').val('');
	$('#subt').val('');
	$('#voucher').val('');
	$('#diskon').val('');
	$('#pajak').val('');
	$('#ekspedisi').val('');
	$('#ongkir').val('');
	$("#idPelanggan").val('');
	$("#namaPelanggan").val('');
	$( "#subt2" ).load( "data.php?kembaliNol=0" );
	$( "#hitungTotal" ).html('<b>Rp.'+totalGrandKasir+'</b>');
}
var ajaxBarang="data.php?kasirBarang=daftar_barang";
var ajaxPelanggan="data.php?tablePelanggan=pelanggan";
var ajaxData="data.php?tableKasir=kasir_penjualan";
shortcut.add("f1",function() {
$('#doBarang').modal('show');
$('input[type=search]', '').focus();
$('input[type=search]', '').select();

});
shortcut.add("f2",function() {
$('#qty').focus();
});
shortcut.add("f3",function() {
$('#addCart').focus();
});
shortcut.add("f4",function() {
$('#manualEntry').prop('checked', true).trigger('change');
});
shortcut.add("end",bayarKasir);


$(document).ready(function() {
<?php xKasir();?>

$("#TbDibayar").hide();
$('#fSatuan').load( "data.php?fSatuan=multisatuan" );

// Fokus default ke barcode untuk scan (bukan kode barang)
setTimeout(function(){
	$('#barcode').focus();
}, 100);

var faktur = $('#faktur').val();
$('#loadUser').load("data.php?loadUser=user");
$('#loadFaktur').load("data.php?loadFaktur=1&type=PJ");
$('#loadDate').load("data.php?loadDate=1");
 $("#showTempo").hide();
//$('[data-toggle="tooltip"]').tooltip(); 


$('#selectSatuan').hide();
$('#selectKategori').hide();
$( "#totalSum" ).load( "data.php?totalSum=kasir_penjualan" );
$( "#totalSumBayar" ).load( "data.php?totalSumBayar=kasir_penjualan" );
    var tableBarang = $('#tableBarang').DataTable( {
    "language": {
      "emptyTable": "&lt;  No data available in table &gt;"
    },
		keys: true,
		"pageLength": 8,
		"lengthMenu": [ 5,10, 25, 50 ],
		"paginate":true,
		"bLengthChange": false,
		"info":false,
		"length":false,
        "ajax": ajaxBarang ,
		"order": [[ 0, "desc" ]],
	    "ordering": false,
        "columnDefs": [ 
		{
			"targets": [ -1 ],    
			"data": null,
			"render": function ( data, type, row ) {
				var stok = parseInt(data[4]) || 0;
				var stok_minimal = parseInt(data[7]) || 0;
				var kategori = (data[6] || '').toLowerCase();
				
				// Jika stok 0 dan bukan jasa, disable tombol pilih
				if(stok <= 0 && kategori != 'jasa'){
					btn_pilih="<a href='#' class='btn btn-default btn-sm' disabled title='Stok habis'><i class='fa fa-ban'></i> Stok Habis </a>";
				} else if(stok <= stok_minimal){
					btn_pilih="<a href='#' class='btn btn-default btn-sm' id='addBarang' disabled title='Stok minimal'><i class='fa fa-check-square-o'></i> pilih </a>";
				} else {
					btn_pilih="<a href='#' class='btn btn-warning btn-sm' id='addBarang'><i class='fa fa-check-square-o'></i> pilih </a>";
				}
			return btn_pilih;
			},
		},
		{
		"targets": [3 ],
			"data": null,

		"render": function ( data, type, row ) {
				nilai = ''<?php
							for($i=1;$i<=$MLS_LEVEL;$i++)
							{
								$col=$i+7;
								$cel=$i+10;
							?>
				+ cekNilai(data[<?=$cel;?>],data[<?=$col;?>])
							<?php
							}
							?>;
					return nilai;
                
				
                    //return cekNilai(data[15],data[8])+'<br>'+cekNilai(data[16],data[9])+'<br>'+cekNilai(data[17],data[10]) ;
                },
		},
		{
		"targets": [ 0 ],
		"visible": false,
		"searchable": false
		}
		]
    } );
	tableBarang
	.on('key-focus', function (e, datatable, cell) {
	datatable.rows().deselect();
	datatable.row( cell.index().row ).select();
	});
	

    var tablePelanggan = $('#tablePelanggan').DataTable( {
    "language": {
      "emptyTable": "&lt;  No data available in table &gt;"
    },

		"pageLength": 6,
		"lengthMenu": [ 5,10, 25, 50 ],
		"paginate":true,
		"bLengthChange": false,
		"info":false,
		"length":false,
        "ajax": ajaxPelanggan ,
		"order": [[ 0, "desc" ]],
        "columnDefs": [ {
            "targets": -1,
            "data": null,
            "defaultContent": "<a href='#' class='btn btn-warning btn-sm' id='addPelanggan'><i class='fa fa-check-square-o'></i> pilih</a>"
        },
		{
		"targets": [ 0,3 ],
		"visible": false,
		"searchable": false
		}
		]
    } );

	$('#tablePelanggan tbody').on( 'click', '#addPelanggan', function () {
	var data = tablePelanggan.row( $(this).parents('tr') ).data();
		$('#idPelanggan').val(data[ 0 ]);
		$('#namaPelanggan').val(data[ 1 ]);
		$('#doPelanggan').modal('hide');
	} );
	
	$('#tableBarang tbody').on( 'click', '#addBarang', function () {
	var data = tableBarang.row( $(this).parents('tr') ).data();
		$('#idBarang').val(data[ 0 ]);
		$('#kodeBarang').val(data[ 1 ]);
		$('#namaBarang').val(data[ 2 ]);
		$('#hargaJual').val(data[ 3 ]);
		$('#stokBarang').val(data[ 4 ]);
		$('#satuanJual1').val(data[ 8 ]);
		$('#satuanJual2').val(data[ 9 ]);
		$('#satuanJual3').val(data[ 10 ]);
		$('#hargaJual1').val(data[ 11 ]);
		$('#hargaJual2').val(data[ 12 ]);
		$('#hargaJual3').val(data[ 13 ]);
		$('#doBarang').modal('hide');
		$('#qty').focus();
		$('#qty').select();
		$('#fSatuan').load( "data.php?fSatuan=multisatuan&idBarang="+data[ 0 ] );
		
	} );
	
	
    var table = $('#dataTable').DataTable( {
    "language": {
      "emptyTable": "&lt;  No data available in table &gt;"
    },
		scrollY:        '50vh',
		"scrollX": true,
		"pageLength": 5000,
		"paginate":false,
		"bFilter":false,
		"info":false,
		"bLengthChange": false,
		select: true,
        "ajax": ajaxData ,
		"order": [[ 0, "asc" ]],
        "columnDefs": [ {
            "targets": -1,
            "data": null,
            "defaultContent": "<a  class='btn btn-default btn-xs' id='edit'><i class='fa fa-pencil-square-o'></i></a> <button class='btn btn-default btn-xs' id='delete'><i class='fa fa-trash-o'></i></a>"
        },
		{
		"targets": [4 ],
		"render": function ( data, type, row ) {
                    return '<a id="minus" class="btn btn-xs btn-default"><i class="fa fa-minus"></i></a><span style="width:80px;padding:3px"> ' + data +' </span><a id="plus" class="btn btn-xs btn-default"><i class="fa fa-plus"></i></a>';
                },
		},
		{
		"targets": [ 0 ],
		"visible": false,
		"searchable": false
		}
		]
    } );
 
    $('#dataTable tbody').on( 'click', '#delete', function () {
        var data = table.row( $(this).parents('tr') ).data();

//alert(data[ 0 ]);
	$.get("data.php?delCart="+data[ 0 ]+"&tableCart=kasir_penjualan",
	function(data){
	table.ajax.url( ajaxData ).load();
	$(this).parents('tr').fadeOut(300);
	$( "#totalSum" ).load( "data.php?totalSum=kasir_penjualan" );
	$( "#totalSumBayar" ).load( "data.php?totalSumBayar=kasir_penjualan" );
	}
	);
    } );
	
	$('#dataTable tbody').on( 'click', '#edit', function () {
	var data = table.row( $(this).parents('tr') ).data();
		$('#EditCart').modal('show');
		//$('#EditPostLabel').html(data[ 0 ]);
		$('#idCart').val(data[ 0 ]);
		$('#kode_barang').val(data[ 1 ]);
		$('#nama_barang').val(data[ 2 ]);
		$('#hargaCart').val(data[ 3 ]);
		$('#qtyCart').val(data[ 4 ]);
		$('#subTotal').val(data[ 5 ]);
		$('#stokCart').load( "data.php?stokCart="+data[8] );

} );
	
	$('#dataTable tbody').on( 'click', '#plus', function () {
	var data = table.row( $(this).parents('tr') ).data();
	$.get("data.php?plusCart="+data[4]+'&id='+data[0]+'&harga='+data[3]+"&modeCart=kasir_penjualan",
	function(data){
		table.ajax.url( ajaxData ).load();
		$( "#totalSum" ).load( "data.php?totalSum=kasir_penjualan" );
		$( "#totalSumBayar" ).load( "data.php?totalSumBayar=kasir_penjualan" );
		}
		);

} );
	$('#dataTable tbody').on( 'click', '#minus', function () {
	var data = table.row( $(this).parents('tr') ).data();
	
if(data[4]<=1){
	swal("","Jumlah barang minimum").then((value) => {
	});
	return false;
}

	$.get("data.php?minusCart="+data[4]+'&id='+data[0]+'&harga='+data[3]+"&modeCart=kasir_penjualan",
	function(data){
		table.ajax.url( ajaxData ).load();
		$( "#totalSum" ).load( "data.php?totalSum=kasir_penjualan" );
		$( "#totalSumBayar" ).load( "data.php?totalSumBayar=kasir_penjualan" );

		}
		);


} );

$( "#showBarang" ).click(function () {
	$('#doBarang').modal('show');
	$('input[type=search]', '').select();
	$('input[type=search]', '').select();
	

	tableBarang.ajax.url( ajaxBarang ).load();
} );


$( "#newKasir" ).click(function () {
	$('#modalPrint').modal('hide');
	table.ajax.url( ajaxData ).load();
	$('#loadFaktur').load("data.php?loadFaktur=1&type=PJ");
	$( "#totalSum" ).load( "data.php?totalSum=kasir_penjualan" );
	$( "#totalSumBayar" ).load( "data.php?totalSumBayar=kasir_penjualan" );
	$("#date").val("<?php echo date("d/m/Y");?>");
} );

$( "#showPelanggan" ).click(function () {
	$('#doPelanggan').modal('show');
	$('#nama_pelanggan').focus();
	//tableBarang.ajax.url( ajaxBarang ).load();
} );
$( "#bayarKasir" ).click(bayarKasir);

$('#addCartForm').submit(function(e) {
e.preventDefault();

// Cek jika manual entry
if($('#manualEntry').is(':checked')){
	addManualItemToCart();
	return false;
}

$.ajax({
	url: "data.php",
	type: "POST",
	data:  new FormData(this),
	contentType: false,
	cache: false,
	processData:false,
	success: function(data)
	{
	//swal("",data)
		table.ajax.url( ajaxData ).load();
		$( "#totalSum" ).load( "data.php?totalSum=kasir_penjualan" );
		$( "#totalSumBayar" ).load( "data.php?totalSumBayar=kasir_penjualan" );
		$('#idBarang').val('');
		$('#kodeBarang').val('');
		$('#namaBarang').val('');
		$('#stokBarang').val('');
		$('#hargaJual').val('');
		$('#ekspedisi').val('');
		$('#ongkir').val('');
		$('#qty').val(1);
		// Langsung fokus ke barcode untuk scan berikutnya
		setTimeout(function(){
			$('#barcode').focus();
		}, 100);
		$('#fSatuan').load( "data.php?fSatuan=multisatuan" );
	},
	error: function() 
	{} 	        
});
});

// Fungsi untuk langsung menambahkan ke cart setelah barcode di-scan
function addToCartDirectly() {
	var user_id = $('#user_id').val();
	var id_barang = $('#idBarang').val();
	var kode_barang = $('#kodeBarang').val();
	var nama_barang = $('#namaBarang').val();
	var stok_barang = $('#stokBarang').val();
	var hargaSelect = $('#hargaJual');
	var harga = '';
	var faktur = $('#faktur').val();
	var qty = $('#qty').val();
	
	if(kode_barang=='' || kode_barang==0){
		swal("","Kode Barang tidak ditemukan").then((value) => {
			$('#barcode').focus();
		});
		return false;
	}
	
	// Pastikan select hargaJual sudah ada
	if(hargaSelect.length == 0){
		swal("","Harga belum tersedia, silakan pilih harga manual").then((value) => {
			$('#barcode').focus();
		});
		return false;
	}
	
	// Ambil nilai dari select
	harga = hargaSelect.val();
	
	// Jika harga masih kosong, coba ambil dari option pertama
	if(!harga || harga=='' || harga==null){
		var firstOption = hargaSelect.find('option:first');
		if(firstOption.length > 0 && firstOption.val() != ''){
			harga = firstOption.val();
			hargaSelect.val(harga);
		}
	}
	
	// Jika masih kosong, tunggu sebentar dan coba lagi
	if(!harga || harga=='' || harga==null){
		setTimeout(function(){
			harga = $('#hargaJual').val();
			if(harga && harga!='' && harga!=null){
				addToCartDirectly();
			} else {
				swal("","Harga belum tersedia, silakan pilih harga manual").then((value) => {
					$('#hargaJual').focus();
				});
			}
		}, 200);
		return false;
	}
	
	// Cek stok - jika stok 0 atau kurang dari qty, tidak bisa dijual
	if(stok_barang != '' && stok_barang != null && stok_barang != undefined){
		if(parseInt(stok_barang) <= 0){
			swal("","Maaf! Stok barang habis ( stok : "+ stok_barang +" ). Barang tidak dapat dijual.").then((value) => {
				$('#barcode').focus();
				$('#barcode').val('');
				$('#kodeBarang').val('');
				$('#namaBarang').val('');
				$('#idBarang').val('');
				$('#stokBarang').val('');
			});
			return false;
		}
		if(parseInt(stok_barang) < parseInt(qty)){
			swal("","Maaf! Stok barang tidak mencukupi ( sisa : "+ stok_barang +" )").then((value) => {
				$('#qty').focus();
			});
			return false;
		}
	}
	
	$.get("data.php?addCart=kasir_penjualan&id_barang="+id_barang+"&kode_barang="+kode_barang+"&nama_barang="+nama_barang+"&harga="+harga+"&qty="+qty+"&faktur="+faktur+"&user_id="+user_id,
	function(data){
		table.ajax.url( ajaxData ).load();
		$( "#totalSum" ).load( "data.php?totalSum=kasir_penjualan" );
		$( "#totalSumBayar" ).load( "data.php?totalSumBayar=kasir_penjualan" );
		$('#idBarang').val('');
		$('#kodeBarang').val('');
		$('#namaBarang').val('');
		$('#stokBarang').val('');
		$('#hargaJual').val('');
		$('#ekspedisi').val('');
		$('#ongkir').val('');
		$('#qty').val(1);
	$('#barcode').val("");
	// Langsung fokus ke barcode untuk scan berikutnya
	setTimeout(function(){
		$('#barcode').focus();
	}, 100);
	$('#fSatuan').load( "data.php?fSatuan=multisatuan" );
	}
	);
}

// Toggle Manual Entry
$('#manualEntry').change(function() {
	if($(this).is(':checked')){
		$('#kodeBarangGroup').hide();
		$('#namaBarangManualGroup').show();
		$('#hargaManualGroup').show();
		$('#fSatuan').hide();
		$('#namaBarang').val('');
		$('#kodeBarang').val('');
		$('#idBarang').val('0');
		$('#namaBarangManual').focus();
	} else {
		$('#kodeBarangGroup').show();
		$('#namaBarangManualGroup').hide();
		$('#hargaManualGroup').hide();
		$('#fSatuan').show();
		$('#namaBarangManual').val('');
		$('#hargaManual').val('');
		$('#barcode').focus();
	}
});

// Fungsi untuk menambahkan barang manual ke cart
function addManualItemToCart() {
	var user_id = $('#user_id').val();
	var nama_barang_manual = $('#namaBarangManual').val();
	var harga_manual = $('#hargaManual').val();
	var faktur = $('#faktur').val();
	var qty = $('#qty').val();
	
	if(nama_barang_manual == '' || nama_barang_manual == null){
		swal("","Masukkan Nama Barang").then((value) => {
			$('#namaBarangManual').focus();
		});
		return false;
	}
	
	if(harga_manual == '' || harga_manual == null || harga_manual == 0){
		swal("","Masukkan Harga").then((value) => {
			$('#hargaManual').focus();
		});
		return false;
	}
	
	// Generate kode unik untuk manual entry
	var kode_manual = 'MANUAL-' + Date.now();
	
	$.get("data.php?addCartManual=kasir_penjualan&kode_barang="+encodeURIComponent(kode_manual)+"&nama_barang="+encodeURIComponent(nama_barang_manual)+"&harga="+harga_manual+"&qty="+qty+"&faktur="+faktur+"&user_id="+user_id,
	function(data){
		table.ajax.url( ajaxData ).load();
		$( "#totalSum" ).load( "data.php?totalSum=kasir_penjualan" );
		$( "#totalSumBayar" ).load( "data.php?totalSumBayar=kasir_penjualan" );
		$('#namaBarangManual').val('');
		$('#hargaManual').val('');
		$('#qty').val(1);
		$('#manualEntry').prop('checked', false);
		$('#kodeBarangGroup').show();
		$('#namaBarangManualGroup').hide();
		$('#hargaManualGroup').hide();
		$('#fSatuan').show();
		$('#barcode').focus();
	}
	);
}

$('#addBarangForm').submit(function(e) {
e.preventDefault();
$.ajax({
	url: "data.php",
	type: "POST",
	data:  new FormData(this),
	contentType: false,
	cache: false,
	processData:false,
	success: function(data)
	{
		row = data.split("||");
		
		// Cek jika barang ditemukan
		if(row[0] == '' || row[0] == null || row[0] == undefined || row[0] == '0'){
			var msg = row[2] || "Barang tidak ditemukan";
			swal("",msg).then((value) => {
				$('#barcode').focus();
				$('#barcode').val("");
			});
			return false;
		}
		
		$('#idBarang').val(row[ 0 ]);
		$('#kodeBarang').val(row[ 1 ]);
		$('#namaBarang').val(row[ 2 ]);
		$('#barcode').val("");
		
		// Load satuan dan harga, lalu langsung tambahkan ke cart
		$('#fSatuan').load( "data.php?fSatuan=multisatuan&idBarang="+row[ 0 ], function() {
			// Tunggu sampai select hargaJual benar-benar ter-render
			setTimeout(function(){
				var hargaSelect = $('#hargaJual');
				
				// Pastikan select sudah ada di DOM
				if(hargaSelect.length > 0){
					// Set nilai pertama secara eksplisit jika belum ter-set
					var currentVal = hargaSelect.val();
					if(!currentVal || currentVal == '' || currentVal == null){
						var firstOption = hargaSelect.find('option:first');
						if(firstOption.length > 0 && firstOption.val() != '' && firstOption.val() != null){
							hargaSelect.val(firstOption.val());
						}
					}
					
					// Pastikan nilai sudah ter-set sebelum memanggil addToCartDirectly
					var finalVal = hargaSelect.val();
					if(finalVal && finalVal != '' && finalVal != null){
						// Nilai sudah ter-set, langsung tambahkan ke cart
						addToCartDirectly();
					} else {
						// Jika masih kosong, tunggu lagi sebentar
						setTimeout(function(){
							var finalVal = $('#hargaJual').val();
							if(finalVal && finalVal != '' && finalVal != null){
								addToCartDirectly();
							} else {
								swal("","Harga belum tersedia, silakan pilih harga manual").then((value) => {
									$('#hargaJual').focus();
								});
							}
						}, 200);
					}
				} else {
					// Jika select belum ada, tunggu lagi
					setTimeout(function(){
						var hargaSelect = $('#hargaJual');
						if(hargaSelect.length > 0){
							var firstOption = hargaSelect.find('option:first');
							if(firstOption.length > 0 && firstOption.val() != ''){
								hargaSelect.val(firstOption.val());
							}
							addToCartDirectly();
						} else {
							swal("","Harga belum tersedia, silakan pilih harga manual").then((value) => {
								$('#hargaJual').focus();
							});
						}
					}, 200);
				}
			}, 200);
		});

	},
	error: function() 
	{
		swal("","Error saat mencari barang").then((value) => {
			$('#barcode').focus();
		});
	} 	        
});
});

$( "#addCart" ).click(function () {
var user_id = $('#user_id').val();
var id_barang = $('#idBarang').val();
var kode_barang = $('#kodeBarang').val();
var nama_barang = $('#namaBarang').val();
var stok_barang = $('#stokBarang').val();
var harga = $('#hargaJual').val();
var faktur = $('#faktur').val();
var qty = $('#qty').val();
if(kode_barang=='' || kode_barang==0){
	swal("","Tambahkan Kode Barang").then((value) => {
		$('#kodeBarang').focus();
	});
	return false;
}
	
// Cek stok - jika stok 0 atau kurang dari qty, tidak bisa dijual
if(stok_barang != '' && stok_barang != null && stok_barang != undefined){
	if(parseInt(stok_barang) <= 0){
		swal("","Maaf! Stok barang habis ( stok : "+ stok_barang +" ). Barang tidak dapat dijual.").then((value) => {
			$('#kodeBarang').val('');
			$('#namaBarang').val('');
			$('#idBarang').val('');
			$('#stokBarang').val('');
			// Kembali fokus ke barcode untuk scan berikutnya
			$('#barcode').focus();
			$('#barcode').val('');
		});
		return false;
	}
	if(parseInt(stok_barang) < parseInt(qty)){
		swal("","Maaf! Stok barang tidak mencukupi ( sisa : "+ stok_barang +" )").then((value) => {
			$('#qty').focus();
		});
		return false;
	}
}

if(true){

	$.get("data.php?addCart=kasir_penjualan&id_barang="+id_barang+"&kode_barang="+kode_barang+"&nama_barang="+nama_barang+"&harga="+harga+"&qty="+qty+"&faktur="+faktur+"&user_id="+user_id,
	function(data){
		table.ajax.url( ajaxData ).load();
		$( "#totalSum" ).load( "data.php?totalSum=kasir_penjualan" );
		$( "#totalSumBayar" ).load( "data.php?totalSumBayar=kasir_penjualan" );
		$('#idBarang').val('');
		$('#kodeBarang').val('');
		$('#namaBarang').val('');
		$('#stokBarang').val('');
		$('#hargaJual').val('');
		$('#ekspedisi').val('');
		$('#ongkir').val('');
		$('#qty').val(1);
		// Kembali fokus ke barcode untuk scan berikutnya
		setTimeout(function(){
			$('#barcode').focus();
		}, 100);
		$('#fSatuan').load( "data.php?fSatuan=multisatuan" );

		}
		);

	
}
			
} );

$( "#addPelanggan" ).click(function () {
var nama_pelanggan = $('#nama_pelanggan').val();
var alamat = $('#alamat').val();
var no_hp = $('#no_hp').val();

if(nama_pelanggan==''){
		swal("","Masukkan Nama Pelanggan").then((value) => {
			$('#nama_pelanggan').focus();
		});
		return false;
	}
	
$.get("data.php?inputPelanggan=pelanggan&nama_pelanggan="+nama_pelanggan+"&alamat="+alamat+"&no_hp="+no_hp,
function(data){
	tablePelanggan.ajax.url( ajaxPelanggan ).load();
	$('#EditPost').modal('hide');
	$('#nama_pelanggan').val('');
	$('#alamat').val('');
	$('#no_hp').val('');
	}
);
		
} );
$('#inputBayarForm').submit(function(e) {

var faktur = $('#faktur').val();
var user_id = $('#user_id').val();
var pelanggan_id = $('#idPelanggan').val();
var date = $('#date').val();
var total = $('#num1').val();
var dibayar = $('#num2').val();
var voucher = $('#voucher').val();
var diskon = $('#diskon').val();
var pajak = $('#pajak').val();
var ongkir = $('#ongkir').val();
var ekspedisi = $('#ekspedisi').val();
var metode = $('input[name=metode]:checked', '#inputBayarForm').val();
var tempo = $('#tempo').val();

if(metode=='tunai'){

	if(dibayar=='' || dibayar==null || dibayar==0){
		//alert("Masukkan Nama Pelanggan!");
		swal("","Masukkan Pembayaran").then((value) => {
			$('#num2').focus();
		});
		
		return false;
	}
	
	var bayarKurang = $('#bayarKurang').val();
	if(bayarKurang==1){
		//alert("Masukkan Nama Pelanggan!");
		swal("","Pembayaran Kurang").then((value) => {
			$('#num2').focus();
			$('#num2').select();
		});
		
		return false;
	}	
}else if(metode=='kredit'){
		if(pelanggan_id=='' || pelanggan_id==null || pelanggan_id==0){
		//alert("Masukkan Nama Pelanggan!");
		swal("","Pilih Nama Pelanggan").then((value) => {
			$('#namaPelanggan').focus();
		});
		
		return false;
	}
	else if(tempo=='' || tempo==null || tempo==0){
		
		$('#tempo').focus()
		return false;
	}
}
	e.preventDefault();

	$.ajax({
	url: "data.php",
	type: "POST",
	data:  new FormData(this),
	contentType: false,
	cache: false,
	processData:false,
	success: function(data)
	{
		table.ajax.url( ajaxData ).load();
		$('#doBayarKasir').modal('hide');
		$('#dataPrint').load("data.php?printKasir=bayar&faktur="+faktur);	
		$('#modalPrint').modal('show');
		$("#idPelanggan").val('');
		$("#namaPelanggan").val('');
		$("#frame").hide();
		$("#printKasir").show();
		$("#printKasir").focus();
		$('#dataPrint').show();
		
	},
	error: function() 
	{} 	        
});
});

$( "#inputBayar" ).click(function () {
var faktur = $('#faktur').val();
var user_id = $('#user_id').val();
var pelanggan_id = $('#idPelanggan').val();
var date = $('#date').val();
var total = $('#num1').val();
var dibayar = $('#num2').val();
var voucher = $('#voucher').val();
var diskon = $('#diskon').val();
var pajak = $('#pajak').val();
var ongkir = $('#ongkir').val();
var ekspedisi = $('#ekspedisi').val();
var metode = $('input[name=metode]:checked', '#formKasir').val();
var tempo = $('#tempo').val();
var metode=$('input[name=metode]:checked', '#formKasir').val();

if(metode=='pre_order'){

	
	$.get("data.php?inputBayar=bayar&faktur="+faktur+"&pelanggan_id="+pelanggan_id+"&date="+date+"&total="+total+"&voucher="+voucher+"&diskon="+diskon+"&dibayar=0&metode="+metode+"&tempo=0&user_id="+user_id+"&pajak="+pajak+"&ongkir="+ongkir+"&ekspedisi="+ekspedisi,
	function(data){
		//location.reload();	
		table.ajax.url( ajaxData ).load();
		$('#doBayarKasir').modal('hide');
		$('#dataPrint').load("data.php?printKasir=bayar&faktur="+faktur);	
		$('#modalPrint').modal('show');
		//slocation.reload();
		$("#idPelanggan").val('');
		$("#namaPelanggan").val('');
				$("#frame").hide();
		$("#printKasir").show();
		$('#dataPrint').show();
	}
	);	


}else if(metode=='tunai'){

	if(dibayar=='' || dibayar==null || dibayar==0){
		//alert("Masukkan Nama Pelanggan!");
		swal("","Masukkan Pembayaran").then((value) => {
			$('#num2').focus();
		});
		
		return false;
	}
	
	var bayarKurang = $('#bayarKurang').val();
	if(bayarKurang==1){
		//alert("Masukkan Nama Pelanggan!");
		swal("","Pembayaran Kurang").then((value) => {
			$('#num2').focus();
			$('#num2').select();
		});
		
		return false;
	}	
	$.get("data.php?inputBayar=bayar&faktur="+faktur+"&pelanggan_id="+pelanggan_id+"&date="+date+"&total="+total+"&voucher="+voucher+"&diskon="+diskon+"&dibayar="+dibayar+"&metode="+metode+"&tempo="+tempo+"&user_id="+user_id+"&pajak="+pajak+"&ongkir="+ongkir+"&ekspedisi="+ekspedisi,
	function(data){
		//location.reload();	
		table.ajax.url( ajaxData ).load();
		$('#doBayarKasir').modal('hide');
		$('#dataPrint').load("data.php?printKasir=bayar&faktur="+faktur);	
		$('#modalPrint').modal('show');
		//slocation.reload();
		$("#idPelanggan").val('');
		$("#namaPelanggan").val('');
				$("#frame").hide();
		$("#printKasir").show();
		$('#dataPrint').show();
	}
	);	


}else if(metode=='kredit'){
	if(pelanggan_id=='' || pelanggan_id==null || pelanggan_id==0){
		//alert("Masukkan Nama Pelanggan!");
		swal("","Pilih Nama Pelanggan").then((value) => {
			$('#namaPelanggan').focus();
		});
		
		return false;
	}
	else if(tempo=='' || tempo==null || tempo==0){
		
		$('#tempo').focus()
		return false;
	}
	else{
	
	$.get("data.php?inputBayar=bayar&faktur="+faktur+"&pelanggan_id="+pelanggan_id+"&date="+date+"&total="+total+"&voucher="+voucher+"&diskon="+diskon+"&dibayar="+dibayar+"&metode="+metode+"&tempo="+tempo+"&user_id="+user_id,
	function(data){
		//location.reload();	
		table.ajax.url( ajaxData ).load();
		$('#doBayarKasir').modal('hide');
		$('#dataPrint').load("data.php?printKasir=bayar&faktur="+faktur);	
		$('#modalPrint').modal('show');
		$('#tempo').val('');
		$("#num2").prop('disabled', false);	 
		$("#metode1").prop('checked', true);
		$("#metode2").prop('checked', false);
		$("#showTempo").hide();
		$("#idPelanggan").val('');
		$("#namaPelanggan").val('');
		//slocation.reload();
				$("#frame").hide();
		$("#printKasir").show();
		$('#dataPrint').show();
	}
	);	
	}
}


} );
$( "#printKasir" ).click(function () {
	var faktur = $('#faktur').val();
	var ukuran = $('#ukuran').val();
	var font_family = $('#font_family').val();
	var font_size = $('#font_size').val();
	
	// Buka window baru untuk print langsung ke printer
	var printWindow = window.open("page.php?page=nota&faktur="+faktur+"&ukuran="+ukuran+"&font_family="+font_family+"&font_size="+font_size, "_blank", "width=400,height=600");
	
	// Tunggu window load, lalu print
	if(printWindow){
		printWindow.onload = function() {
			setTimeout(function(){
				printWindow.print();
				// Tutup window setelah print (opsional)
				// setTimeout(function(){ printWindow.close(); }, 1000);
			}, 500);
		};
	}
	
	// Juga update iframe untuk preview
	$("#frame").attr("src", "page.php?page=nota&faktur="+faktur+"&ukuran="+ukuran+"&font_family="+font_family+"&font_size="+font_size);
	$("#printKasir").hide();
	$("#frame").show();
	$('#dataPrint').hide();
	
	$('#modalPrint').modal('show');
	$('#loadFaktur').load("data.php?loadFaktur=1&type=PJ");
	$( "#totalSum" ).load( "data.php?totalSum=kasir_penjualan" );
	$( "#totalSumBayar" ).load( "data.php?totalSumBayar=kasir_penjualan" );
	$("#date").val("<?php echo date("d/m/Y");?>");
	
} );

$( "#SaveCart" ).click(function () {
var id = $('#idCart').val();
var qty = $('#qtyCart').val();
var harga = $('#hargaCart').val();
//alert(harga);

$.get("data.php?updateCart=kasir_penjualan&id="+id+"&qty="+qty+"&harga="+harga,
function(data){
	table.ajax.url( ajaxData ).load();
	$('#EditCart').modal('hide');
	$( "#totalSum" ).load( "data.php?totalSum=kasir_penjualan" );
	$( "#totalSumBayar" ).load( "data.php?totalSumBayar=kasir_penjualan" );
}
);		
} );

$( "#refresh" ).click(function () {
	table.ajax.url( ajaxData ).load();
} );	
} );

	String.prototype.reverse = function () {
			return this.split("").reverse().join("");
		}

// Fungsi untuk tombol aksi cepat pembayaran
$(document).on('click', '.quick-pay', function() {
	var amount = parseInt($(this).data('amount'));
	
	// Set langsung ke nilai yang dipilih (bukan tambah)
	$('#num2').val(amount);
	
	// Trigger formatValue untuk menghitung kembalian dan format angka
	formatValue($('#num2')[0]);
	
	// Focus ke input
	$('#num2').focus();
	$('#num2').select();
});

function formatValue(input) {
	
	var ongkir = document.getElementById('ongkir').value;
	var num1 = document.getElementById('num1').value;
	var num2 = document.getElementById('num2').value;
	var diskon = document.getElementById('diskon').value;
	var voucher = document.getElementById('voucher').value;
	var pajak = document.getElementById('pajak').value;
	var result = parseInt(num2) - parseInt(num1);
	$( "#hitungTotal" ).load( "data.php?hitungTotal="+result+"&total="+num1+"&diskon="+diskon+"&voucher="+voucher+"&pajak="+pajak+"&ongkir="+ongkir );

	if (!isNaN(result)) {
	document.getElementById('subt').value = result;
	$( "#subt2" ).load( "data.php?hitungKembali="+result+"&total="+num1+"&bayar="+num2+"&diskon="+diskon+"&voucher="+voucher+"&pajak="+pajak+"&ongkir="+ongkir );
	}
	var x = input.value;
	x = x.replace(/,/g, ""); // Strip out all commas
	x = x.reverse();
	x = x.replace(/.../g, function (e) {
		return e + ",";
	}); // Insert new commas
	x = x.reverse();
	x = x.replace(/^,/, ""); // Remove leading comma
	input.value = x;	
}

$('#inputBayarForm input').on('change', function() {
	var metode=$('input[name=metode]:checked', '#inputBayarForm').val();
   //alert($('input[name=metode]:checked', '#formKasir').val()); 
   if(metode == 'pre_order'){
	   $("#showTempo").hide();
	   $("#TbDibayar").hide();
		$("#num2").prop('disabled', true);	 
		$("#num2").val('');
   }else
   if(metode == 'kredit'){
	   $("#showTempo").show();
		$("#num2").prop('disabled', true);	 
		$("#num2").val('');
   }else{
	   $("#TbDibayar").show();
	    $("#showTempo").hide();
		$('#tempo').val('');
		$("#num2").prop('disabled', false);	   

   }   
   
});
</script>