<script>
$(document).ready(function(){
var pid = '';
var specials = Array();
var inclusive = 0;
var customer = '';
var site = '';
var counter = 18;
var is_timeSite = false;
var is_cutofftime = '';
var is_beforeTime = '';
var is_beforeAction = '';
var is_afterTime = '';
var is_afterAction = '';
var is_delDays = '';
var path = "<?php echo base_url('fmcg/get_store/');?>";
var sizelist = <?php echo json_encode($sizes); ?>;
var specs = <?php echo json_encode($specials)?>;
var elementExists = document.getElementById('timeslot');
$('.dtime').timepicker('setTime', new Date());
$('.dtime').timepicker({ 'timeFormat': 'H:mm' ,'step': 15,'scrollDefaultNow': true,'forceRoundTime': true});
$(".ddate").datepicker({
dateFormat: "yy-mm-dd",
showOtherMonths: true,
selectOtherMonths: true
});
if(elementExists != null){
is_cutofftime = $('#cut_off_time').val();
is_beforeTime = $('#before_cutofftime').val();
is_beforeAction = $('#before_deliveryrequired').val();
is_afterTime = $('#after_cutofftime').val();
is_afterAction = $('#after_deliveryrequired').val();
is_delDays = $('#delivery_days').val().split(',');
$('#dd, #dt, #lt').css('color','black');
calc_leadtime();
}
if(elementExists == null && $('#sid').val() != ''){
$('#dd, #dt, #lt').css('color','red');
$('#dd, #dt, #lt').val('');
if(Date.today().add(1).day().is().weekday()){
$('#deltime').val('08:00');
$('#deldate').val(Date.today().add(1).day().toString('yyyy-MM-dd'));
deldate = Date.today().add({days:1,hours:8});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
}else if(Date.today().add(2).day().is().weekday()){
$('#deltime').val('08:00');
$('#deldate').val(Date.today().add(2).day().toString('yyyy-MM-dd'));
deldate = Date.today().add({days:2,hours:8});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
}else if(Date.today().add(3).day().is().weekday()){
$('#deltime').val('08:00');
$('#deldate').val(Date.today().add(3).day().toString('yyyy-MM-dd'));
deldate = Date.today().add({days:3,hours:8});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
}
}
$('#add').on('click',function(){
counter = $('#order_lines tbody tr').size() + 1;
//counter += 1;
var newRow = '<tr id="'+counter+'" class="inputs" data-perc="" data-palqty="">';
newRow += '<td style="text-align:center;">'+counter+'</td>';
newRow += '<td><input type="text" name="productcode[]" class="sku" placeholder="Sku" size="10"/></td>';
newRow += '<td><input type="text" class="product" placeholder="Product" size="30"/><input type="hidden" class="cubic"/></td>';
newRow += '<td><input type="text" class="weight" placeholder="Weight" size="6" readonly/></td>';
newRow += '<td><input type="text" class="temp" placeholder="Temp" size="6" readonly style="display:none;"/></td>';
newRow += '<td><input type="text" class="price" placeholder="Price" size="6"/><input type="hidden" class="vatable"/></td>';
newRow += '<td><input id="tqty'+counter+'" type="text" class="qty" name="qty[]" placeholder="Qty" size="6" form="orders"/></td>';
newRow += '<td><input type="text" class="uom" placeholder="UOM" size="6" readonly/></td>';
newRow += '<td><input type="text" class="total" name="total" placeholder="Total" size="6" readonly/></td>';
newRow += '<td><input type="button" class="reset" value="X" style="color:red; font-weight: bold; font-size:14px;"/></td>';
newRow += '</tr>';
$('#order_lines tbody ').append(newRow);
$('#products tr:last td:eq(1) select').focus();
//$('#order_lines tbody tr:last td:eq(1) input').focus();
//$(newRow).appendTo('#order_lines tbody');
});
var oTable = $('#specials').dataTable( {
"lengthChange": false,
scrollY: 400,
"dom": '<"top"f>rt<"bottom"p>',
"columns":[{"data":"sku_number"},{"data":"product"},{"data":"price"},{"data":"qty"}]
});
if(specs){
oTable.fnClearTable();
oTable.fnAddData(specs);
oTable.fnDraw();
}
$('.display').click(function(){
$('#header').slideToggle('slow');
$('#content').slideToggle('slow');
});
$("#customer").autocomplete({
source: function(request, response) {
$.ajax({
url: "<?php echo base_url('fmcg/get_customers');?>",
dataType: "json",
data: {
term : request.term,
pid : $("#pid").val()
},
success: function(data) {
response(data);
}
});
},
select:function(event,ui){
var item = ui.item;
if(item) {
$("#cid").val(item.cid);
$('#pid').val(item.pid);
customer = item.cid;
}
},
min_length: 3,
delay: 300
});
$(document).on("keydown.autocomplete",'#store',function(){
$(this).autocomplete({
source: "<?php echo base_url('fmcg/get_store/"+$("#cid").val()+"');?>",
minLength: 2,
select: function (event, ui) {
var item = ui.item;
if(item) {
$("#sid").val(item.sid);
$("#contact").val(item.contact);
$('#tel').val(item.tel);
$('#email').val(item.email);
$('#email2').val(item.email);
$('#delline1').val(item.address1);
$('#delline2').val(item.address2);
$('#yardsize').val(item.yardsize);
if(item.timeslot == true){
is_timeSite = true;
is_cutofftime = item.cut_off_time
is_beforeTime = item.before_cutofftime;
is_beforeAction = item.before_deliveryrequired;
is_afterTime = item.after_cutofftime;
is_afterAction = item.after_deliveryrequired;
is_delDays = item.delivery_days.split(',');
$('#dd, #dt, #lt').css('color','black');
calc_leadtime();
}else{
$('#dd, #dt, #lt').css('color','red');
$('#dd, #dt, #lt').val('');
if(Date.today().add(1).day().is().weekday()){
$('#deltime').val('08:00');
$('#deldate').val(Date.today().add(1).day().toString('yyyy-MM-dd'));
deldate = Date.today().add({days:1,hours:8});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
}else if(Date.today().add(2).day().is().weekday()){
$('#deltime').val('08:00');
$('#deldate').val(Date.today().add(2).day().toString('yyyy-MM-dd'));
deldate = Date.today().add({days:2,hours:8});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
}else if(Date.today().add(3).day().is().weekday()){
$('#deltime').val('08:00');
$('#deldate').val(Date.today().add(3).day().toString('yyyy-MM-dd'));
deldate = Date.today().add({days:3,hours:8});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
}
}
if(item.coldc){
//$('#xdoc_service').css('display','block');
do_service_xdoc_list(item.sid);
}
site = item.sid;
populate_specials();
}
}
});
});
$(document).on("keydown.autocomplete", ".sku", function(){
$(this).autocomplete({
//source: "<?php echo base_url('fmcg/get_sku/"+$("#sid").val()+"');?>",
source: function( request, response ) {
$.ajax({
url: "<?php echo base_url('fmcg/get_sku');?>",
dataType: "json",
data: {
q: request.term,
sid:$('#sid').val(),
cid:$('#cid').val(),
dated:$('#deldate').val()
},
success: function( data ) {
response( data );
}
});
},
minLength: 2,
autoFocus:true,
change: function (event, ui) {//select was original event
trid = $(this).closest('tr').attr('id');
var item = ui.item;
if(item) {
$('#'+trid).data('perc',item.percperlug);
$('#'+trid).data('palqty',item.qtyperpal);
$('#'+trid+' td:eq(2) input.product').val(item.product);
$('#'+trid+' td:eq(2) input.cubic').val(item.cubic);
$('#'+trid+' td:eq(3) input.weight').val(item.weight);
$('#'+trid+' td:eq(4) input.temp').val(item.temp);
$('#'+trid+' td:eq(7) input.uom').val(item.uom);
if(item.temp == 'Refrigerated'){
$('#trucktype').val(item.temp);
}
if(item.raw_price == null && item.special > 0){
$('#'+trid+' td:eq(5) input.price').val(item.special);
$('#'+trid+' td:eq(5) input.price').css('color','green');
}else{
if(item.special != null && parseFloat(item.special) < parseFloat(item.price)){
$('#'+trid+' td:eq(5) input.price').val(item.special);
$('#'+trid+' td:eq(5) input.price').css('color','green');
}else{
$('#'+trid+' td:eq(5) input.price').val(item.price);
}
}
if(item.vatable){
$('#'+trid+' td:eq(5) input.vatable').val(item.vatable);
}
$('#'+trid+' td:eq(5) input.price').focus();
}
}
});
});
$(document).on("keydown.autocomplete", ".product", function(){
$(this).autocomplete({
//source: "<?php echo base_url('fmcg/get_product/"+$("#sid").val()+"');?>",
source: function( request, response ) {
$.ajax({
url: "<?php echo base_url('fmcg/get_product');?>",
dataType: "json",
data: {
q: request.term,
sid:$('#sid').val(),
cid:$('#cid').val(),
dated:$('#deldate').val()
},
success: function( data ) {
response( data );
}
});
},
minLength: 2,
autoFocus:true,
change: function (event, ui) {
trid = $(this).closest('tr').attr('id');
var item = ui.item;
if(item) {
$('#'+trid).data('perc',item.percperlug);
$('#'+trid).data('palqty',item.qtyperpal);
$('#'+trid+' td:eq(1) input.sku').val(item.sku);
$('#'+trid+' td:eq(2) input.cubic').val(item.cubic);
$('#'+trid+' td:eq(3) input.weight').val(item.weight);
$('#'+trid+' td:eq(4) input.temp').val(item.temp);
$('#'+trid+' td:eq(5) input.price').val(item.price);
$('#'+trid+' td:eq(7) input.uom').val(item.uom);
if(item.temp == 'Refrigerated'){
$('#trucktype').val(item.temp);
}
if(item.raw_price == null && item.special > 0){
$('#'+trid+' td:eq(5) input.price').val(item.special);
$('#'+trid+' td:eq(5) input.price').css('color','green');
}else{
if(item.special != null && parseFloat(item.special) < parseFloat(item.price)){
$('#'+trid+' td:eq(5) input.price').val(item.special);
$('#'+trid+' td:eq(5) input.price').css('color','green');
}else{
$('#'+trid+' td:eq(5) input.price').val(item.price);
}
}
if(item.vatable){
$('#'+trid+' td:eq(5) input.vatable').val(item.vatable);
}
$('#'+trid+' td:eq(5) input.price').focus();
}
}
});
});
$(document).on("click",".reset",function(){
$(this).closest('tr').remove();
inclusive = 0;
weight = 0;
cubes = 0;
vatable = 0;
$('#order_lines tbody tr').each(function(){
cqty = $(this).find('td:eq(6) input.qty').val();
cprice = $(this).find('td:eq(5) input.price').val();
cweight = $(this).find('td:eq(3) input.weight').val();
ccubes = $(this).find('td:eq(2) input.cubic').val();
if(!isNaN(cqty) && !isNaN(cprice)){
inclusive += ( cqty * cprice );
weight += (cweight * cqty);
cubes += (ccubes * cqty);
if($(this).find('td:eq(5) input.vatable').val() == 'true'){
vatable += ( cqty * cprice );
}
}
});
vatamount = vatable * 0.14;
//vatamount = inclusive * 0.14;
exclusive = inclusive - vatamount;
$('#incl_total').html(parseFloat(inclusive).toFixed(2));
$('#excl_total').html(parseFloat(exclusive).toFixed(2));
$('#vat_total').html(parseFloat(vatamount).toFixed(2));
$('#totalweight').html(parseFloat(weight).toFixed(3));
$('#totalcubes').html(parseFloat(cubes).toFixed(3));
$.each(sizelist,function(i,elem){
if(weight < elem.w_capacity && cubes < elem.v_capacity){
$('#trucksize').val(elem.description);
return false;
}
});
$('#order_lines tbody tr').each(function(){
$(this).prop('id',$(this).index() + 1);
$(this).find('td:eq(0)').text(($(this).index() + 1));
});
});
$(document).on('focusin','.qty,.price',function(){
trid = $(this).closest('tr').attr('id');
var thisqty = $('#'+trid+' td:eq(6) input.qty').val();
var thisweight = $('#'+trid+' td:eq(3) input.weight').val();
var currentweight = parseFloat($('#totalweight').html());
var yardsize = $('#yardsize').val();
if(isNaN(currentweight)){
currentweight = 0;
}
if(isNaN(thisweight)){
thisweight = 0;
}
if(isNaN(thisqty)){
thisqty = 0;
}
if((thisweight * thisqty) + currentweight > yardsize){
alert('Yard Size Limit Exceeded, Removing Current Item');
$(this).closest('tr').remove();
}else if(isNaN($('#'+trid+' td:eq(6) input.qty').val())){
alert('Only Numeric Values Are Allowed');
$(this).val('');
$(this).focus();
}else{
//get site yardsize limit
qty = $('#'+trid+' td:eq(6) input.qty').val();
price = $('#'+trid+' td:eq(5) input.price').val();
//weight = $('#'+trid+' td:eq(3) input.weight').val();
if(!isNaN(qty) && !isNaN(price)){
$('#'+trid+' td:eq(8) input.total').val(parseFloat(qty * price).toFixed(2));
inclusive = 0;
weight = 0;
cubes = 0;
vatable = 0;
lugs = 0;
pallets = 0;
$('#order_lines tbody tr').each(function(){
cqty = $(this).find('td:eq(6) input.qty').val();
cprice = $(this).find('td:eq(5) input.price').val();
cweight = $(this).find('td:eq(3) input.weight').val();
ccubes = $(this).find('td:eq(2) input.cubic').val();
if(!isNaN(cqty) && !isNaN(cprice) && !isNaN(cweight) && !isNaN(ccubes)){
inclusive += ( cqty * cprice );
weight += (cweight * cqty);
cubes += (ccubes * cqty);
if($(this).find('td:eq(5) input.vatable').val() == 'true'){
vatable += ( cqty * cprice );
}
res = $(this).find('td:eq(7) input.uom').val();
if(res.toUpperCase() == "LUG"){
lugs = lugs + (1 * cqty);
}
pallets = Math.ceil(cubes/1.9);
}
});
vatamount = vatable * 0.14;
exclusive = inclusive + vatamount;
$('#incl_total').html(parseFloat(inclusive).toFixed(2));
$('#excl_total').html(parseFloat(exclusive).toFixed(2));
$('#vat_total').html(parseFloat(vatamount).toFixed(2));
$('#totalweight').html(parseFloat(weight).toFixed(3));
$('#totalcubes').html(parseFloat(cubes).toFixed(3));
$('#totallugs').html(parseFloat(lugs).toFixed(2));
$('#totalpallets').html(parseFloat(pallets).toFixed(0));
$.each(sizelist,function(i,elem){
if(weight < elem.w_capacity && cubes < elem.v_capacity){
$('#trucksize').val(elem.description);
return false;
}
});
var lastrow = $('#order_lines tbody tr:last');
if($(lastrow).find('td:eq(1) input.sku').val() != '' ){
$('#add').click();
}
}
}
});
$(document).on('focusout','.qty',function(){
trid = $(this).closest('tr').attr('id');
//get site yardsize limit
qty = $('#'+trid+' td:eq(6) input.qty').val();
price = $('#'+trid+' td:eq(5) input.price').val();
//weight = $('#'+trid+' td:eq(3) input.weight').val();
if(!isNaN(qty) && !isNaN(price)){
$('#'+trid+' td:eq(8) input.total').val(parseFloat(qty * price).toFixed(2));
inclusive = 0;
weight = 0;
cubes = 0;
vatable = 0;
lugs = 0;
pallets = 0;
$('#order_lines tbody tr').each(function(){
cqty = $(this).find('td:eq(6) input.qty').val();
cprice = $(this).find('td:eq(5) input.price').val();
cweight = $(this).find('td:eq(3) input.weight').val();
ccubes = $(this).find('td:eq(2) input.cubic').val();
if(!isNaN(cqty) && !isNaN(cprice) && !isNaN(cweight) && !isNaN(ccubes)){
inclusive += ( cqty * cprice );
weight += (cweight * cqty);
cubes += (ccubes * cqty);
if($(this).find('td:eq(5) input.vatable').val() == 'true'){
vatable += ( cqty * cprice );
}
res = $(this).find('td:eq(7) input.uom').val();
if(res.toUpperCase() == "LUG"){
lugs = lugs + (1 * cqty);
}
pallets = Math.ceil(cubes/1.9);
}
});
vatamount = vatable * 0.14;
exclusive = inclusive + vatamount;
$('#incl_total').html(parseFloat(inclusive).toFixed(2));
$('#excl_total').html(parseFloat(exclusive).toFixed(2));
$('#vat_total').html(parseFloat(vatamount).toFixed(2));
$('#totalweight').html(parseFloat(weight).toFixed(3));
$('#totalcubes').html(parseFloat(cubes).toFixed(3));
$('#totallugs').html(parseFloat(lugs).toFixed(2));
$('#totalpallets').html(parseFloat(pallets).toFixed(0));
$.each(sizelist,function(i,elem){
if(weight < elem.w_capacity && cubes < elem.v_capacity){
$('#trucksize').val(elem.description);
return false;
}
});
var lastrow = $('#order_lines tbody tr:last');
if($(lastrow).find('td:eq(1) input.sku').val() != '' ){
$('#add').click();
}
}
$('#order_lines tbody tr:last td:eq(1) input').focus();
});
$('#draft').click(function(){
if($('#service_site').val() == '' && $('#service_site').size() > 1){
alert('This is a xDoc Site Collection Site and must have a Collection Point selected');
}else{
var button = 'draft';
$('#save').css('display','none');
$('#cancel').css('display','none');
$('#draft').css('display','none');
skus = Array();
prices = Array();
qtys = Array();
desc = Array();
options = Array();
options.push($('#order_id').val());
options.push($('#pid').val());
options.push($('#cid').val());
options.push($('#sid').val());
options.push($('#version').val());
options.push($('#o_time').val());
options.push($('#o_date').val());
options.push($('#captured').val());
options.push($('#delline1').val());
options.push($('#delline2').val());
options.push($('#deltime').val());
options.push($('#deldate').val());
options.push($('#leadtime').val());
options.push($('#trucksize').val());
options.push($('#trucktype').val());
options.push($('#email2').val());
options.push($('#addemail').val());
options.push($('#totalweight').html());
options.push($('#totalcubes').html());
options.push($('#service_site').val());
options.push($('#yardsize').val());
options.push($('#totallugs').html());
options.push($('#order_no').val());
$('#order_lines tbody tr').each(function(){
trid = $(this).attr('id');
if($('#'+trid+' td:eq(1) input.sku').val() != '' && $('#'+trid+' td:eq(5) input.price').val() != '' && $('#'+trid+' td:eq(6) input.qty').val() != ''){
skus.push($('#'+trid+' td:eq(1) input.sku').val());//product sku
prices.push($('#'+trid+' td:eq(5) input.price').val());//price
qtys.push($('#'+trid+' td:eq(6) input.qty').val());
desc.push($('#'+trid+' td:eq(2) input.product').val());
}
});
var quantity = 0;
$('#order_lines tbody tr').each(function(){
if(!isNaN(parseFloat($(this).find('td:eq(6) input.qty').val()))){
quantity = quantity + parseFloat($(this).find('td:eq(6) input.qty').val());
}
});
options.push(quantity);
options.push($('#totalpallets').html());
$.post('<?php echo base_url("fmcg/create_order");?>',{'button':button,'skus':skus,'prices':prices,'qtys':qtys,'options':options,'desc':desc},
function(response){
if (response == true){
window.location = '<?php echo site_url("fmcg/order_history");?>';
//window.location = '<?php echo site_url("fmcg/order_listing");?>';
}else{
$('#save').css('display','block');
$('#cancel').css('display','block');
$('#draft').css('display','block');
alert('Operation Failed, Please Contact Administrator!!!');
window.open('<?php echo site_url("auth/login");?>');
}
},'json');
}
});
$('#save').click(function(){
if($('#order_no').val() == ''){
var r = confirm('Order No not supplied, press Ok to continue!\n or Cancel to go back.');
if (r != true) {
return;
}
}
//$("body").css("cursor", "progress");//wait
if($('#service_site').val() == '' && $('#service_site').size() > 1){
alert('This is a xDoc Site Collection Site and must have a Collection Point selected');
}else{
$('#save').css('display','none');
$('#cancel').css('display','none');
$('#draft').css('display','none');
var button = 'save';
skus = Array();
prices = Array();
qtys = Array();
desc = Array();
options = Array();
options.push($('#order_id').val());
options.push($('#pid').val());
options.push($('#cid').val());
options.push($('#sid').val());
options.push($('#version').val());
options.push($('#o_time').val());
options.push($('#o_date').val());
options.push($('#captured').val());
options.push($('#delline1').val());
options.push($('#delline2').val());
options.push($('#deltime').val());
options.push($('#deldate').val());
options.push($('#leadtime').val());
options.push($('#trucksize').val());
options.push($('#trucktype').val());
options.push($('#email2').val());
options.push($('#addemail').val());
options.push($('#totalweight').html());
options.push($('#totalcubes').html());
options.push($('#service_site').val());
options.push($('#yardsize').val());
options.push($('#totallugs').html());
options.push($('#order_no').val());
$('#order_lines tbody tr').each(function(){
trid = $(this).attr('id');
//alert($('#'+trid+' td:eq(1) input.sku').val());
if($('#'+trid+' td:eq(1) input.sku').val() != '' && $('#'+trid+' td:eq(5) input.price').val() != '' && $('#'+trid+' td:eq(6) input.qty').val() != ''){
skus.push($('#'+trid+' td:eq(1) input.sku').val());//product sku
prices.push($('#'+trid+' td:eq(5) input.price').val());//price
qtys.push($('#'+trid+' td:eq(6) input.qty').val());
desc.push($('#'+trid+' td:eq(2) input.product').val());
}
});
var quantity = 0;
$('#order_lines tbody tr').each(function(){
if(!isNaN(parseFloat($(this).find('td:eq(6) input.qty').val()))){
quantity = quantity + parseFloat($(this).find('td:eq(6) input.qty').val());
}
});
options.push(quantity);
options.push($('#totalpallets').html());
$.post('<?php echo base_url("fmcg/create_order");?>',{'button':button,'skus':skus,'prices':prices,'qtys':qtys,'options':options,'desc':desc},
function(response){
if (response == true){
//window.open('<?php echo site_url("fmcg/order_listing");?>');
//window.location = '<?php echo site_url("fmcg/order_listing");?>';
//$("body").css("cursor", "default");
window.location = '<?php echo site_url("fmcg/confirmation");?>';
}else{
$('#save').css('display','block');
$('#cancel').css('display','block');
$('#draft').css('display','block');
alert('Operation Failed, Please Contact Administrator!!!');
window.open('<?php echo site_url("auth/login");?>');
}
},'json');
}
});
$('#cancel').click(function(){
var button = 'cancel';
var id = $('#order_id').val();
$.post('<?php echo base_url("fmcg/create_order");?>',{'button':button,'id':id},
function(response){
if (response == true){
window.location = '<?php echo site_url("fmcg/order_listing");?>';
}
});
});
function calc_leadtime(){
var has_deldays = false;
//check delivery days
for (var i = 0; i <= is_delDays.length; i++) {
if(is_delDays[i] == 'YES'){
has_deldays = true;
}
};
if(is_cutofftime < Date.today().setTimeToNow().toString('HH:mm')){//cut off time missed so look at after actions
var time = is_afterTime.split(':');
switch(is_afterAction){
case '1'://same day delivery
$('#deltime').val(is_afterTime);
$('#deldate').val($('#o_date').val());
deldate = Date.today().add({hours:time[0],minutes:time[1]});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
break;
;
case '2'://next day delivery
$('#deltime').val(is_afterTime);
$('#deldate').val(Date.today().add(1).day().toString('yyyy-MM-dd'));
deldate = Date.today().add(1).day().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
break;
;
case '3'://In 2 Days/Or Next Viable Delivery Day
$('#deltime').val(is_afterTime);
$('#deldate').val(Date.today().add(2).day().toString('yyyy-MM-dd'));
deldate = Date.today().add(2).day().add({hours:time[0],minutes:time[1]});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
break;
;
case '4'://In 3 Days/Or Next Viable Delivery Day
$('#deltime').val(is_afterTime);
$('#deldate').val(Date.today().add(3).day().toString('yyyy-MM-dd'));
deldate = Date.today().add(3).day().add({hours:time[0],minutes:time[1]});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
break;
;
case '5'://First working day of coming week
$('#deltime').val(is_afterTime);
$('#deldate').val(Date.today().next().monday().toString('yyyy-MM-dd'));
deldate = Date.today().next().monday().add({hours:time[0],minutes:time[1]});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
break;
;
case '6'://first available selected delivery day, else first available week day
if(has_deldays = true){
var d = new Date;
var n = d.getDay();
var deldate = null;
//check if saturday
var i = ((n+1) < 7) ? n : 0;
while(is_delDays[i] != 'YES'){
i++;
if(i == 7){
i = 0;
}
}
switch(i){
case 0:
deldate = Date.today().next().sunday().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
$('#deldate').val(Date.today().next().sunday().toString('yyyy-MM-dd'));
break;
;
case 1:
deldate = Date.today().next().monday().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
$('#deldate').val(Date.today().next().monday().toString('yyyy-MM-dd'));
break;
;
case 2:
deldate = Date.today().next().tuesday().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
$('#deldate').val(Date.today().next().tuesday().toString('yyyy-MM-dd'));
break;
;
case 3:
deldate = Date.today().next().wednesday().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
$('#deldate').val(Date.today().next().wednesday().toString('yyyy-MM-dd'));
break;
;
case 4:
deldate = Date.today().next().thursday().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
$('#deldate').val(Date.today().next().thursday().toString('yyyy-MM-dd'));
break;
;
case 5:
deldate = Date.today().next().friday().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
$('#deldate').val(Date.today().next().friday().toString('yyyy-MM-dd'));
break;
;
case 6:
deldate = Date.today().next().saturday().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
$('#deldate').val(Date.today().next().saturday().toString('yyyy-MM-dd'));
break;
;
}
$('#deltime').val(is_afterTime);
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
}else{
var d = new Date;
var n = d.getDay();
if(n == 5 || n == 6 || n == 0){
$('#deltime').val(is_afterTime);
$('#deldate').val(Date.today().next().monday().toString('yyyy-MM-dd'));
deldate = Date.today().next().monday().add({hours:time[0],minutes:time[1]});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
}else{
$('#deltime').val(is_afterTime);
$('#deldate').val(Date.today().next().monday().toString('yyyy-MM-dd'));
deldate = Date.today().add(1).day().add({hours:time[0],minutes:time[1]});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
}
}
break;
;
}
}else{
var time = is_beforeTime.split(':');
switch(is_beforeAction){
case '1'://same day delivery
$('#deltime').val(is_beforeTime);
$('#deldate').val($('#o_date').val());
deldate = Date.today().add({hours:time[0],minutes:time[1]});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
break;
;
case '2'://next day delivery
$('#deltime').val(is_afterTime);
$('#deldate').val(Date.today().add(1).day().toString('yyyy-MM-dd'));
deldate = Date.today().add(1).day().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
break;
;
case '3'://In 2 Days/Or Next Viable Delivery Day
$('#deltime').val(is_afterTime);
$('#deldate').val(Date.today().add(2).day().toString('yyyy-MM-dd'));
deldate = Date.today().add(2).day().add({hours:time[0],minutes:time[1]});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
break;
;
case '4'://In 3 Days/Or Next Viable Delivery Day
$('#deltime').val(is_afterTime);
$('#deldate').val(Date.today().add(3).day().toString('yyyy-MM-dd'));
deldate = Date.today().add(3).day().add({hours:time[0],minutes:time[1]});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
break;
;
case '5'://First working day of coming week
$('#deltime').val(is_afterTime);
$('#deldate').val(Date.today().next().monday().toString('yyyy-MM-dd'));
deldate = Date.today().next().monday().add({hours:time[0],minutes:time[1]});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
break;
;
case '6'://first available selected delivery day, else first available week day
if(has_deldays = true){
var d = new Date;
var n = d.getDay();
var deldate = null;
//check if saturday
var i = ((n+1) < 7) ? n : 0;
while(is_delDays[i] != 'YES'){
i++;
if(i == 7){
i = 0;
}
}
switch(i){
case 0:
deldate = Date.today().next().sunday().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
$('#deldate').val(Date.today().next().sunday().toString('yyyy-MM-dd'));
break;
;
case 1:
deldate = Date.today().next().monday().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
$('#deldate').val(Date.today().next().monday().toString('yyyy-MM-dd'));
break;
;
case 2:
deldate = Date.today().next().tuesday().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
$('#deldate').val(Date.today().next().tuesday().toString('yyyy-MM-dd'));
break;
;
case 3:
deldate = Date.today().next().wednesday().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
$('#deldate').val(Date.today().next().wednesday().toString('yyyy-MM-dd'));
break;
;
case 4:
deldate = Date.today().next().thursday().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
$('#deldate').val(Date.today().next().thursday().toString('yyyy-MM-dd'));
break;
;
case 5:
deldate = Date.today().next().friday().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
$('#deldate').val(Date.today().next().friday().toString('yyyy-MM-dd'));
break;
;
case 6:
deldate = Date.today().next().saturday().add({hours:time[0],minutes:time[1]});//.toString('yyyy-MM-dd HH:mm');
$('#deldate').val(Date.today().next().saturday().toString('yyyy-MM-dd'));
break;
;
}
$('#deltime').val(is_afterTime);
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
}else{
var d = new Date;
var n = d.getDay();
if(n == 5 || n == 6 || n == 0){
$('#deltime').val(is_afterTime);
$('#deldate').val(Date.today().next().monday().toString('yyyy-MM-dd'));
deldate = Date.today().next().monday().add({hours:time[0],minutes:time[1]});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
}else{
$('#deltime').val(is_afterTime);
$('#deldate').val(Date.today().next().monday().toString('yyyy-MM-dd'));
deldate = Date.today().add(1).day().add({hours:time[0],minutes:time[1]});
var startdate = new Date();
var enddate = new Date(deldate);
var time_difference = get_time_difference(startdate,enddate);
$('#leadtime').val(time_difference.hours + ":" + time_difference.minutes);
}
}
break;
;
}
}
}
function get_time_difference(start,end){
start = new Date(start);
end = new Date(end);
var diff = end.getTime() - start.getTime();
var time_difference = new Object();
time_difference.hours = Math.floor(diff/1000/60/60);
diff -= time_difference.hours*1000*60*60;
if(time_difference.hours < 10) time_difference.hours = "0" + time_difference.hours;
time_difference.minutes = Math.floor(diff/1000/60);
diff -= time_difference.minutes*1000*60;
if(time_difference.minutes < 10) time_difference.minutes = "0" + time_difference.minutes;
return time_difference;
}
function populate_specials(){
$('#data').empty();
$.post('<?php echo base_url("fmcg/get_specials");?>',{'id':site,'dated':$('#deldate').val()},
function(result){
if(result){
oTable.fnClearTable();
oTable.fnAddData(result);
oTable.fnDraw();
}
},'json');
}
$(document).on('dblclick','#data tr',function(){
trid = $('#order_lines tbody tr:last-child').attr('id');
$.post('<?php echo base_url("fmcg/get_product_by_sku")?>',{'sku':$(this).find('td:eq(0)').text()},
function(data){
$.each(data,function(key,val){
if($('#order_lines tbody tr:last-child').find('td:eq(2) input.product').val() == ''){
$('#'+trid).data('perc',val.percperlug);
$('#'+trid+' td:eq(1) input.sku').val(val.sku);
$('#'+trid+' td:eq(2) input.product').val(val.product);
$('#'+trid+' td:eq(2) input.cubic').val(val.cubic);
$('#'+trid+' td:eq(3) input.weight').val(val.weight);
$('#'+trid+' td:eq(4) input.temp').val(val.temp);
$('#'+trid+' td:eq(7) input.uom').val(val.uom);
if(val.temp == 'Refrigerated'){
$('#trucktype').val(val.temp);
}
if(val.special != null && (parseFloat(val.special) < parseFloat(val.price) || parseFloat(val.price) != null)){
$('#'+trid+' td:eq(5) input.price').val(val.special);
$('#'+trid+' td:eq(5) input.price').css('color','green');
}else{
$('#'+trid+' td:eq(5) input.price').val(val.price);
}
}else{
}
});
},'json');
});
function do_service_xdoc_list(id){
$.ajax({
url:'<?php echo base_url("fmcg/get_servicesites");?>',
type:'post',
dataType:'json',
data:{
customer_id:$('#cid').val(),
},
success:function(data){
content = '<option value="">Xdoc Service Site</option>';
$.each(data,function(key,val){
content += '<option value="'+val.site_id+'">'+val.companyname+'</option>';
});
$('#service_site').empty();
$('#service_site').append(content);
}
});
};
});
</script>