<div class="container-fluid">
	<div class="page-header">
	  	<ol class="breadcrumb">
		    <li class="breadcrumb-item"><a href="<%= dashboard_path %>"><%= t("views.right_panel.button.home") %></a></li>
		    <li class="breadcrumb-item active"><%= t("views.right_panel.detail.hourly_saleitem_report") %></li>
		    <span class="float-right">
		      <%= link_to 'Back', dashboard_path %>
		    </span>
	  	</ol>
	</div>
	<div class="row">
		<div class="col-md-12">
			<%= render :partial=>'shift_sale_report_filter',
			:locals=>{ 	:period_type => true, :shift_name => true,:payments => true, :report_path =>reports_hourly_saleitem_index_path} %>
			<hr />
			<div class="text-right">
				<a href="javascript:export_to('<%=reports_hourly_saleitem_index_path%>.xls')" class = "btn btn-info wave-effects"><%= t("views.btn.exp_to_excel") %></a>
			</div>
			<div class="margin-top-20">
				<div class="card">

					<table class="table table-striped" border="0">
						<% time_arr = Array.new %>
						<% acc_arr = Array.new %>
            <% sale_item_count =0 %>
						<% menu_cat_arr = Array.new %>
						<% footer_arr = Array.new %>
						<% count = 0 %>
						<% waste_and_spoil_item_count = 0%>
            <% total_qty = 0 %>
            <% time_count = 0 %>
						<% grand_total = 0 %>
  						<% @sale_data.each do |sale| %>
              <% if !time_arr.include?(sale.date_format) %>
              <% sale_item_count =1 %>
                <% time_count = time_count + 1 %>
                <thead>
                  <td>&nbsp;</td>
                  <tr>
                      <td>
                        <strong>Time :<%= sale.date_format %></strong>
                      </td>
                    <td></td>
                    <td></td>
                      <td colspan="3" style="text-align:right"><strong></strong></td>
                  </tr>
                  <tr>
                      <td><strong>Menu Category</strong></td>
                      <td><strong>Item Code</strong></td>
                      <td><strong>Item Name</strong></td>
                      <td><strong>Qty</strong></td>
                      <td><strong>Price</strong></td>
                      <td><strong>Total Price</strong></td>
                    </tr>
                </thead>
                <% time_arr.push(sale.date_format) %>
                <% menu_cat_arr.clear %>
                <% count = 0 %>
              <% else %>
                <% sale_item_count =sale_item_count +1 %>
              <% end %>
              <tbody>
								<% if @print_settings.precision.to_i > 0
									precision = @print_settings.precision
								else
									precision = 0
								end
								#check delimiter
								if @print_settings.delimiter
									delimiter = ","
							    else
									delimiter = ""
							    end
								 %>
                <!-- all total qty sum -->
                  <% if sale.status_type != "Discount" && sale.status_type != "foc" && sale.status_type != "promotion"
                    total_qty += sale.total_item
                  end %>
                  <% if sale.status_type == "foc" && sale.price > 0
                    total_qty += sale.total_item
                  end %>
                  <% if sale.status_type == "Discount"
                    total_qty += sale.total_item*(-1)
                  end %>
                  <% if sale.status_type =="promotion"  && @type == "promotion"
                    total_qty += sale.total_item*(-1)
                  end %>

                <!-- end all total qty -->
								<% if sale.status_type == "foc" && sale.grand_total < 0
									grand_total += sale.grand_total*(-1)
								end %>

								<% if sale.status_type == "Discount" &&  sale.grand_total < 0
									grand_total += sale.grand_total*(-1)
								end %>

								<% if sale.status_type == "promotion" &&  sale.grand_total < 0
									grand_total += sale.grand_total*(-1)
								end %>

								<% grand_total += sale.grand_total %>

							  	<% if !sale.item_code.nil?%>
							  		<% waste_and_spoil_item_count += sale.qty.to_i %>
								  	<tr>
								  		<% if !menu_cat_arr.include?(sale.menu_category_name) %>
											<td><%= sale.menu_category_name %></td>
											<% menu_cat_arr.push(sale.menu_category_name) %>
										<% else %>
											<td>&nbsp;</td>
										<% end %>
                      <td><%= sale.item_code %></td>
								  		<td><%= sale.product_name %></td>
								  		<td><%= sale.total_item.to_i %></td>
								  		<td><%= sale.unit_price.to_i %></td>
								  		<td><%= sale.grand_total.to_i %></td>
											<td><%= sale.date_format %></td>
								  	</tr>
							  	<% end %>
                <!-- new tr -->
                <% count = count + 1 %>
                <% @hourly_total_qty.each do |hr| %>
                  <% if hr["date"].to_s == sale.date_format.to_s && hr["total_qty"].to_i ==sale_item_count%>
													<tr>
														<td></td>
											  			<td colspan="2" style="text-align:right"> <strong>Total Qty: </strong></td>
											  			<td>
											  				<span class="underline" style="text-align:right">
											  					<strong><%= total_qty.to_i %></strong>
											  					<% total_qty = 0%>
											  				</span></td>
											  			<td style="text-align:right"> <strong>Grand Total: </strong></td>
											  			<td >
											  				<span class="underline" style="text-align:right">
											  					<strong><%= grand_total.to_i %></strong>
																	<% grand_total = 0 %>
											  				</span>
											  		 	</td>
											  		</tr>
                        <% footer_arr.push(sale.sale_id) %>
                  <% else %>

                  <% end %>
                <% end %>
							</tbody>
            <% end %>
					</table>
				</div>
			</div>
		</div>
	</div>
</div>

<script>
	$(function(){
		var check_arr = [];
		var search = '<%= params[:period_type] %>';

		if(search){

			if(parseInt(search) == 0){
				search_by_period();
			}
			else{
				search_by_date();
			}
		}else{
			search_by_period();
		}

		$('#sel_period').change(function(){
			search_by_period();
		});

		function search_by_period(){
			var period = $('#sel_period').val();
			var period_type = 0;
			var from = "";
			var to = "";

			show_shift_name(period,period_type,from,to,'shift_item');
		}

		// OK button is clicked
		$('#from').bootstrapMaterialDatePicker().on('beforeChange', function(e, date){
			new_date = new Date(date) ;
			month    = parseInt(new_date.getMonth()+1)
			from = new_date.getDate() + "-" + month + "-" + new_date.getFullYear();
			$('#from').val(from)
			search_by_date();
		});
		$('#to').bootstrapMaterialDatePicker().on('beforeChange', function(e, date){
			new_date = new Date(date) ;
			month    = parseInt(new_date.getMonth()+1)
			to = new_date.getDate() + "-" + month + "-" + new_date.getFullYear();
			$('#to').val(to)
			search_by_date();
		});

		function search_by_date(){
			from = $("#from").val();
	  		to   = $("#to").val();
			var period = 0;
			var period_type = 1;

			if(to != '' && from != ''){
				shift_name = from + ',' + to;

				check_arr.push(to);

				console.log(check_arr.length)
				if(check_arr.length == 1){
					show_shift_name(period,period_type,from,to,'shift_item');
				}
				if(check_arr.length == 3){
					check_arr = [];
				}
			}

		}

		function show_shift_name(period,period_type,from,to,shift_item){
			var shift = $('#shift_name');
			if (from == '' && to == '') {
				from = $("#from").val();
	  		    to   = $("#to").val();
			}
			shift.empty();
			var selected = '';
			var str = '';
			var param_shift = '<%= params[:shift_name]%>';

			url = '<%= reports_get_shift_by_sale_item_path %>';
			console.log(url)
			$.get(url, {period :period, period_type :period_type, from :from, to :to, report_type :shift_item} , function(data){
				console.log(data)

				str = '<option value="0">--- All Shift ---</option>';
				$(data.message).each(function(index){

					var local_date = data.message[index].local_opening_date + ' - ' + data.message[index].local_closing_date;
					var sh_date = data.message[index].opening_date + ' - ' + data.message[index].closing_date;
					var shift_id = data.message[index].shift_id ;

					if(param_shift != ''){
						if(shift_id == param_shift){
							selected = 'selected = "selected"';
						}
						else{
							selected = '';
						}
					}
					else{
						selected = '';
					}


					str += '<option value="'+ shift_id +'" '+ selected +'>' + local_date + '</option>';

			   // console.log(sh_date)
			})
				shift.append(str);
			});
		}

	});

	function print_sale_items(){
		var period = $('#sel_period').val();
		var type = $('#sel_sale_type').val();
		var account = $('#account_type').val();
		var from = $('#from').val();
		var to = $('#to').val();
		var shift = $('#shift_name').val();
		// var flag = false;
		// alert($('#row_count').val())

		// if (flag == true) {
		  $.ajax({
			type: "POST",
			url: "<%= reports_print_sale_items_path %>",
			data: "period="+period+"&period_type="+type+"&account_type="+account+"&from="+from+"&to="+to+"&shift_name="+shift,
			success: function(data){
				if (data != null){
            		location.reload();
        		}
        		$("#loader").hide();
			}
		  });
		// }
	}
</script>
