function redirectLoading() {
	$(".loader").show();
}

function redirectStop() {
	$(".loader").hide();
}

function checkNumber(evt) {
	var num = String.fromCharCode(evt.which);

	if (!(/[0-9]/.test(num))) {
		evt.preventDefault();
	}
}

function checkCharacters(evt) {
	var c = String.fromCharCode(evt.which);

	if (!(/[a-zA-Z0-9]/.test(c))) {
		evt.preventDefault();
	}
}


function checkPassword(str, pass) {

	if ($("#oldpassword").val() != "") {
		redirectLoading();
		$.ajax({
			url: baseURL + "profile/ajax_validate_password",
			method: "POST",
			data: {
				str:str,
				pass:pass
			},
			success: function(data) {
				var output = $.parseJSON(data);
				var r = output.result;

				redirectStop();
				if (r == "0") {
					$("#correctpw").html("*Incorrect Password!");
				}
				if (r == "1") {
					$("#correctpw").html("*Validate Complete.");
					$("#oldpassword").attr("readonly","readonly");
					$("#newpassword").removeAttr("readonly");
					$("#confirmpassword").removeAttr("readonly");
				}
			}
		});		
	}
}

function confirmPassword() {
	var p = $("#newpassword").val();
	var cp = $("#confirmpassword").val();
	var b = $("button[type='submit']");
	if (p == "" || cp == "") {
		b.attr("disabled","disabled");
		b.addClass("btn-disabled");
	}
	if (p != "" && cp != "") {
		if (p == cp) {
			$("#confirmP").html("*Password Confirmed!");
			b.removeAttr("disabled");
			b.removeClass("btn-disabled");
		}else{
			$("#confirmP").html("*Password does not match!");
			b.attr("disabled","disabled");
			b.addClass("btn-disabled");
		}
	}else{
		$("#confirmP").html("");
		// b.removeAttr("disabled");
		// b.removeClass("btn-disabled");
	}
	return false;
}

function validateEmail(email) {
  var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  return re.test(String(email).toLowerCase());
}

function validate() {
	var e = $("input[name='email']");
	var email = e.val().replace(/\s+/g, '');

	var b = $("button[type='submit']");
	if (email != "") {		
		if (!validateEmail(email)) {
			alert('Please insert correct email format!');
			e.css("border","2px solid #fa0000");
			b.attr("disabled","disabled");
			b.addClass("btn-disabled");
		}else{
			e.css("border", "1px solid #ccc");
			b.removeAttr("disabled");
			b.removeClass("btn-disabled");
		}
	}else{
		e.css("border","1px solid #ccc");
		b.removeAttr("disabled");
		b.removeClass("btn-disabled");
	}
	return false;
}

function forgotpassword(){
	redirectLoading();
	var email = $("input[name='email']").val();
	$("#valid").html("");
	if (email == null) {
		validate();
	}else{
		$.ajax({
			url: baseURL + "forgotpassword/ajax_check_active_email",
			method: "POST",
			data: {email:email},
			success: function(data) {
				var output = $.parseJSON(data);
				var r = output.result;

				if (r == "1") {
					$("#valid").html("");
					redirectStop();
					$.ajax({
						url: baseURL + "forgotpassword/send_email",
						method: "POST",
						data: {email:email},
						success: function(d) {
							var out = $.parseJSON(d);
							if (r == "1") {
								alert("Please check your email to change password.");
								window.location= baseURL + "home";
							}else{
								alert("Email send error!");
							}
						}
					});
				}else{
					$("#valid").html("Invalid Email!");
					redirectStop();
				}
			}
		});
	}
}

function deactiveAcc(userID) {
	var c = confirm("Are you sure to deactivate your account?");
	if (c) {
		redirectLoading();
		$.ajax({
			url: baseURL + "profile/ajax_deactive_account",
			method: "POST",
			data: {userID:userID},
			success: function(data) {
				var output = $.parseJSON(data);
				var r = output.result;

				if (r == "1") {
					alert("Deactivated Successfully!");
					window.location= baseURL + "user/logout";
				}else{
					alert("Deactivated Failed!");
					location.reload();
				}
				redirectStop();
			}
		});
	}
}

function setDefaultAddress(addressID) {
	var c = confirm("Set this address as default address?");
	if (c) {
		redirectLoading();
		$.ajax({
			url: baseURL + "profile/ajax_set_default_address",
			method: "POST",
			data: {addressID:addressID},
			success: function(data) {
				var output = $.parseJSON(data);
				var r = output.result;

				if (r == "1") {
					location.reload();
				}else{
					alert("Set failed");
					location.reload();
				}
				redirectStop();
			}
		});	
	}else{
		location.reload();
	}
}

function updateAddress(addressID) {
	$.ajax({
		url: baseURL + "profile/fetch_this_address",
		method: "POST",
		data: {addressID:addressID},
		success: function(data) {
			var output = $.parseJSON(data);
			var r = output.result;

			if (r == "0") {
				alert('Data fetch failed');
			}else{
				console.log(output[0]['country']);
				$("#updateAddressModal input[name='addressID']").val(output[0]['ID']);
				$("#updateAddressModal input[name='address']").val(output[0]['address']);
				$("#updateAddressModal input[name='state']").val(output[0]['state']);
				$("#updateAddressModal input[name='city']").val(output[0]['city']);
				$("#updateAddressModal input[name='postal_code']").val(output[0]['postal_code']);

				$("#updateAddressModal select[name='country'] option").removeAttr("selected").each(function(){
					if ($(this).val().toLowerCase() == output[0]['country'].toLowerCase()) {
						$(this).attr("selected", "true");
					}
				});

				$("#updateAddressModal").modal("show");
			}
		}
	});
}

function removeAddress(addressID) {
	var c = confirm("Are you sure to remove this address?");
	if (c) {
		redirectLoading();
		$.ajax({
			url: baseURL + "profile/ajax_remove_address",
			method: "POST",
			data: {addressID:addressID},
			success: function(data) {
				var output = $.parseJSON(data);
				var r = output.result;

				if (r == "1") {
					location.reload();
				}else{
					alert("Remove failed");
					location.reload();
				}
				redirectStop();
			}
		});
	}
}


function notZeroQty(num) {
	var value = parseInt(num.value);
	var n = (isNaN(value) || value == 0 ? 1 : value);
	num.value = n;
	priceQtyValue();

	return;
}

function increaseQtyValue() {
	var v = $("#productQty").text();
	var maxQty = parseInt(v)-1;
	var value = parseInt($("#qty").val());
	value = isNaN(value) ? 0 : value;
	value > maxQty ? value = maxQty : '';
	value++;
	$("#qty").val(value);

	priceQtyValue();
}

function decreaseQtyValue() {
	var value = parseInt($("#qty").val());
	value = isNaN(value) ? 0 : value;
	value < 2 ? value = 2 : '';
	value--;
	$("#qty").val(value);

	priceQtyValue();
}

function priceQtyValue() {
	var value = $("#qty").val();
	var maxQty = parseInt($("#productQty").text());
	var btn = $(".b-add-cart");

	if (value > maxQty) {
		return $("#qty").val(maxQty);
	}else{	
		if (value == "" || value == 0) {
			btn.addClass("btn-disabled");
			btn.attr("disabled","disabled");
		}else{
			btn.removeClass("btn-disabled");
			btn.removeAttr("disabled");
		}
	}

}

function selectAll(checked) {
	redirectLoading();
	var ckbox = $("input[name='selected']");
	
	for (var i = 0; i < ckbox.length; i++) {
		ckbox[i].checked = checked.checked;	
	}

	if (checked.checked) {

		$("input[name='selected']").each(function(){
			var productID = $(this).val();
			var total = $("#totalPrice" + productID).text();
			$("#t_price" + productID).val(total);

			recalculate();
		});
		
		$.ajax({
			url: baseURL + "cart/ajax_select_all",
			method: "POST",
			data: {checkedID:"1"},
			success: function(data) {
				var output = $.parseJSON(data);
				var r = output.result;

				if (r == "1") {
					redirectStop();
				}
			}
		});
	}else{

		$("input[name='selected']").each(function(){
			var productID = $(this).val();
			$("#t_price" + productID).val("0.00");

			recalculate();
		});

		$.ajax({
			url: baseURL + "cart/ajax_select_all",
			method: "POST",
			data: {checkedID:"0"},
			success: function(data) {
				var output = $.parseJSON(data);
				var r = output.result;

				if (r == "1") {
					redirectStop();
				}
			}
		});
	}

}

function selectAllGuest(checked) {
	redirectLoading();
	var ckbox = $("input[name='selected']");
	
	for (var i = 0; i < ckbox.length; i++) {
		ckbox[i].checked = checked.checked;	
	}

	if (checked.checked) {
		$("input[name='selected']").each(function(){
			var productID = $(this).val();
			var total = $("#totalPrice" + productID).text();
			$("#t_price" + productID).val(total);

			recalculateGuest();
		});
		
		$.ajax({
			url: baseURL + "cart/ajax_select_all_guest",
			method: "POST",
			data: {checkedID:"1"},
			success: function(data) {
				var output = $.parseJSON(data);
				var r = output.result;

				if (r == "1") {
					redirectStop();
				}
			}
		});
	}else{

		$("input[name='selected']").each(function(){
			var productID = $(this).val();
			$("#t_price" + productID).val("0.00");

			recalculateGuest();
		});

		$.ajax({
			url: baseURL + "cart/ajax_select_all_guest",
			method: "POST",
			data: {checkedID:"0"},
			success: function(data) {
				var output = $.parseJSON(data);
				var r = output.result;

				if (r == "1") {
					redirectStop();
				}
			}
		});
	}

}


$(document).ready(function(){
	var ckbox = document.querySelectorAll("input[name='selected']:checked").length;
	var ckb = $("input[name='selected']").length;
	var ck = $("#ckall");
	
	if (ckbox === ckb) {
		ck.prop("checked", true);
	}else{
		ck.prop("checked", false);
	}
});

function selectChecked(productID) {

	redirectLoading();

	var ckbox = document.querySelectorAll("input[name='selected']:checked").length;
	var ckb = $("input[name='selected']").length;
	var ck = $("#ckall");
	
	if (ckbox === ckb) {
		ck.prop("checked", true);
	}else{
		ck.prop("checked", false);
	}

	var q = document.querySelector("#ckbox" + productID);
	var qtytotal = $("#totalPrice" + productID).text();

	if (q.checked) {
		$.ajax({
			url: baseURL + "cart/ajax_fetch_selected",
			method: "POST",
			data: {
				productID:productID,
				checkedID:"1"
			},
			success: function(data) {
				var output = $.parseJSON(data);
				$("#t_price" + productID).val(qtytotal);
				redirectStop();
				recalculate();
			}
		});
	}else{
		$.ajax({
			url: baseURL + "cart/ajax_fetch_selected",
			method: "POST",
			data: {
				productID:productID,
				checkedID:"0"
			},
			success: function(data) {
				var output = $.parseJSON(data);
				$("#t_price" + productID).val("0.00");
				redirectStop();
				recalculate();
			}
		});
	}
}

function notZero(num, productID) {
	var value = parseInt(num.value);
	var n = (isNaN(value) || value == 0 ? 1 : value);
	num.value = n;

	priceValue(productID);

	return;
}

function increaseValue(productID) {
	var v = $("#qty_left" + productID).text();
	var maxQty = parseInt(v)-1;
	var value = parseInt($('#qty' + productID).val());
	value = isNaN(value) ? 0 : value;
	value > maxQty ? value = maxQty : '';
	value++;
	$("#qty" + productID).val(value);
	// document.getElementById('qty'+productID).value = value;

	priceValue(productID);
}

function decreaseValue(productID) {
	var value = parseInt($('#qty' + productID).val());
	value = isNaN(value) ? 0 : value;
	value < 2 ? value = 2 : '';
	value--;
	$("#qty" + productID).val(value);

	priceValue(productID);
}

function priceValue(productID) {
	var v = $("#qty_left"+productID).text();
	var maxQty = parseInt(v);

	var value = $("#qty"+productID).val();
	var btn = $(".b-sign-up");

	var q = document.querySelector("#ckbox" + productID);

	if (value > maxQty) {
		return $("#qty"+productID).val(maxQty);
	}else{	

		if (value == "" || value == 0) {
			btn.addClass("btn-disabled").attr("disabled","disabled");
		}else{
			btn.removeClass("btn-disabled").removeAttr("disabled");

			var unitprice = $("#u_price"+ productID).val();
			var totalprice = parseFloat(value*unitprice).toFixed(2);

			if (q.checked) {
				$("#t_price" + productID).val(totalprice);
			}else{
				$("#t_price" + productID).val("0.00");
			}
			$("#totalPrice" + productID).html(totalprice);
			
			updateQty(productID);
		}
	}
	recalculate();
}

function recalculate() {
	var subtotal = 0;
	$('.t-price').each(function(){
		subtotal += parseFloat($(this).val());
	});
	$("#totalAllPrice").html(parseFloat(subtotal).toFixed(2));
	$("input[name='total_all_price']").val(parseFloat(subtotal).toFixed(2));
}

function updateQty(productID) {
	var purchase_qty = $("#qty"+productID).val();
	
	redirectLoading();
	$.ajax({
		url: baseURL + "cart/ajax_update_cart",
		method: "POST",
		data:{
			productID:productID,
			purchase_qty:purchase_qty
		},
		success: function(data) {
			var output = $.parseJSON(data);
			var userID = output.userID;
			
			redirectStop();
			cartList(userID);
		}
	});
}


function selectCheckedGuest(productID) {

	redirectLoading();

	var ckbox = document.querySelectorAll("input[name='selected']:checked").length;
	var ckb = $("input[name='selected']").length;
	var ck = $("#ckall");
	
	if (ckbox === ckb) {
		ck.prop("checked", true);
	}else{
		ck.prop("checked", false);
	}

	var q = document.querySelector("#ckbox" + productID);
	var qtytotal = $("#totalPrice" + productID).text();

	if (q.checked) {
		$.ajax({
			url: baseURL + "cart/ajax_fetch_selected_guest",
			method: "POST",
			data: {
				productID:productID,
				checkedID:"1"
			},
			success: function(data) {
				var output = $.parseJSON(data);
				$("#t_price" + productID).val(qtytotal);
				redirectStop();
				recalculateGuest();
			}
		});
	}else{
		$.ajax({
			url: baseURL + "cart/ajax_fetch_selected_guest",
			method: "POST",
			data: {
				productID:productID,
				checkedID:"0"
			},
			success: function(data) {
				var output = $.parseJSON(data);
				$("#t_price" + productID).val("0.00");
				redirectStop();
				recalculateGuest();
			}
		});
	}
}

function increaseValueGuest(productID) {
	var v = $("#qty_left" + productID).text();
	var maxQty = parseInt(v)-1;
	var value = parseInt($('#qty' + productID).val());
	value = isNaN(value) ? 0 : value;
	value > maxQty ? value = maxQty : '';
	value++;
	$("#qty" + productID).val(value);
	// document.getElementById('qty'+productID).value = value;

	priceValueGuest(productID);
}

function decreaseValueGuest(productID) {
	var value = parseInt($('#qty' + productID).val());
	value = isNaN(value) ? 0 : value;
	value < 2 ? value = 2 : '';
	value--;
	$("#qty" + productID).val(value);
	// document.getElementById('qty'+productID).value = value;

	priceValueGuest(productID);
}

function priceValueGuest(productID) {
	var v = $("#qty_left"+productID).text();
	var maxQty = parseInt(v);

	var value = $("#qty"+productID).val();
	var btn = $(".b-sign-up");

	var q = document.querySelector("#ckbox" + productID);

	if (value > maxQty) {
		return $("#qty"+productID).val(maxQty);
	}else{	

		if (value == "" || value == 0) {
			btn.addClass("btn-disabled").attr("disabled","disabled");
		}else{
			btn.removeClass("btn-disabled").removeAttr("disabled");

			var unitprice = $("#u_price"+ productID).val();
			var totalprice = parseFloat(value*unitprice).toFixed(2);

			if (q.checked) {
				$("#t_price" + productID).val(totalprice);
			}else{
				$("#t_price" + productID).val("0.00");
			}
			$("#totalPrice" + productID).html(totalprice);
			
			updateQtyGuest(productID);
		}
	}
	recalculateGuest();
}

function recalculateGuest() {
	var subtotal = 0;
	$('.t-price').each(function(){
		var st = $(this).val().replace(/,/g, '');
		subtotal += parseFloat(st);
	});
	$("#totalAllPrice").html(parseFloat(subtotal).toFixed(2));
	$("input[name='total_all_price']").val(parseFloat(subtotal).toFixed(2));

	$.ajax({
		url: baseURL + "cart/ajax_update_grandtotal_guest",
		method: "POST",
		data:{grandtotal:subtotal},
		success: function(data){
			var output = $.parseJSON(data);
		}
	});
}

function updateQtyGuest(productID) {
	var purchase_qty = $("#qty"+productID).val();
	
	redirectLoading();
	$.ajax({
		url: baseURL + "cart/ajax_update_cart_guest",
		method: "POST",
		data:{
			productID:productID,
			purchase_qty:purchase_qty
		},
		success: function(data) {
			var output = $.parseJSON(data);
			
			redirectStop();
			// cartList(userID);
		}
	});
}


function removeCart(productID) {

	var c = confirm("Are you sure to remove this item?");
	if (c) {
		redirectLoading();
		window.location.href= baseURL + "cart/removeCart?productID="+ productID;
	}
}

function removeCartGuest(productID) {

	var tprice = $("#t_price" + productID).val();

	var c = confirm("Are you sure to remove this item?");
	if (c) {
		redirectLoading();
		$.ajax({
			url: baseURL + "cart/ajax_remove_cart_guest",
			method: "POST",
			data:{
				productID:productID,
				tprice:tprice
			},
			success: function(data) {
				var output = $.parseJSON(data);
				var r = output.result;
				if (r == "1") {
					alert("Remove Successfully");
					window.location.href= baseURL + "cart/mycart";
					// recalculateGuest();
					redirectStop();
				}else{
					alert("Failed to remove");
					window.location.href= baseURL + "cart/mycart";
					redirectStop();
				}
			}
		});
	}
}

function checkoutCart() {
	var ckbox = document.querySelectorAll("input[name='selected']:checked").length;
	if (ckbox == 0) {
		return alert("Please select item(s) that want to checkout.");
	}else{
		var c = confirm("Confirm checkout?");
		if (c) {
			$("#paypal-button-container").show();
			$("#proceedPay").hide();
		}
	}
}


function checkoutCartGuest() {

	var ckbox = document.querySelectorAll("input[name='selected']:checked").length;
	if (ckbox == 0) {
		return alert("Please select item(s) that want to checkout.");
	}else{
		var c = confirm("Confirm checkout?");
		if (c) {
			$("form").submit();
		}
	}
	
	// var c = confirm ("");
}


function guestOrderInfo() {
	var phonenumber = $("#phonenumber").val();
	var email = $("#email").val();
	var fullname = $("#fullname").val();
	var address = $("#address").val();
	var city = $("#city").val();
	var state = $("#state").val();
	var postal = $("#postal").val();
	var country = $("#country").val();

	if (phonenumber != "" && email != "" && fullname != "" && address != "" && city != "" && state != "" && postal != "" && country != "") {
		$("#paypal-button-container").show();
		$("#proceedPay").hide();
	}else{
		alert("Please fill all required details.");
	}

}

function fetchProductDetails(productID, userID) {
	$("#product-pick").hide();
	$("#product-content").show();
	$("#qty").val("1");
	$("#rating-none").prop("checked",true);
	// $(".rating-input-yes").prop("checked", false);
	redirectLoading();
	$.ajax({
		url: baseURL + "product/ajax_fetch_single_product",
		method: "POST",
		data: {productID:productID},
		success: function(data) {

			redirectStop();
			
			var output = $.parseJSON(data);
			
			$("#productImg").html("<img src='" + output[0]['productImg'] + "'>");
			if (output[0]['stockID'] == "1") {
				$("#stockName").addClass("green").removeClass("red").html(output[0]['stockName']);
				$(".b-add-cart").removeClass("btn-disabled").removeAttr("disabled");
			}else{
				$("#stockName").addClass("red").removeClass("green").html(output[0]['stockName']);
				$(".b-add-cart").addClass("btn-disabled").attr("disabled","disabled");
			}
			$("#productName").html(output[0]['productName']);
			$("#productCode").html(output[0]['productCode']);
			
			var desc = output[0]['description'];
			var d = desc.replace(/\n/g, "<br/>");
			$("#description").html(d);

			var pack = output[0]['packageInfo'];
			var p = pack.replace(/\n/g, "<br/>");
			$("#packageInfo").html(p);

			$("#unitPrice").html(output[0]['unitPrice']);
			$("#productQty").html(output[0]['qty']);
			$("input[name='productID']").val(output[0]['ID']);

		}
	});
	fetchProductReview(productID, userID);
	fetchProductAddedQty(productID);

}

function fetchProductReview(productID, userID) {
	$.ajax({
		url: baseURL + "review/ajax_fetch_product_review",
		method: "POST",
		data: {productID:productID},
		success: function(data) {
			redirectStop();

			var op = $.parseJSON(data);
			var length = op.length;
			var r = op.result;
			$(".allreviews").html("");
			if (r == "0") {
				$(".allreviews").append("\
					<p class='text-center py-5'>There is no reviews currently.</p>\
					<hr>\
				");
			}else{
				for (var i = 0; i < length; i++) {

					var pp = op[i]['profilePicture'];
					if (pp == null) {
						var p = baseURL + "media/img/unknown.png";
					}else{
						var p = baseURL + pp;
					}

					var star = op[i]['rating'];
					var ss = "";
					for (var s = 1; s <= star; s++) {
						ss = ss+"<i class='fa fa-star orange'></i>";
					}

					if (userID != null) {
						if (userID == op[i]['userID']) {
							var user ="\
								<span class='float-right'>\
									<a href='javascript:void(0);' onclick='removeReview("+ userID +","+ op[i]['ID'] +","+ productID +");'>\
										<i class='far fa-trash-alt'></i>\
									</a>\
								</span>";
						}else{
							var user ="";
						}
					}else{
						var user = "";
					}

					$(".allreviews").append("\
						<div class='row'>\
							<div class='col-2 text-center'>\
								<img class='s-img2x' src='"+ p +"' />\
								<h6>"+ op[i]['username'].substr(0,3) +"***</h6>\
							</div>\
							<div class='col-10'>\
								<div>\
									<span class='mr-3'>"+ ss +"</span>\
									<i><small>"+ moment(op[i]['createdDate']).fromNow() +"</small></i>\
									"+ user +"\
								</div>\
								<p>"+ op[i]['reviews'] +"</p>\
							</div>\
						</div>\
						<hr />\
					");
				}
				
			}

		}
	});
}

function removeReview(userID, reviewID, productID) {
	var c = confirm("Are you sure to remove current review?");
	var pt = $("input[name='page_title']").val();

	if (c) {
		redirectLoading();
		$.ajax({
			url: baseURL + "review/ajax_remove_review",
			method: "POST",
			data: {
				userID:userID,
				reviewID:reviewID
			},
			success: function(data) {

				var out = $.parseJSON(data);
				var r = out.result;

				if (r == '1') {
					fetchProductDetails(productID, userID);
				}
			}
		});
		// window.location.href= baseURL + "review/removeReview?userID="+ userID + "&reviewID="+ reviewID +"&page_title="+ pt;
	}	
}

function insertReviewAction() {
	var userID = $("input[name='userID']").val();
	var productID = $("input[name='productID']").val();
	var rating = $("input[name='rating']").val();
	var reviews = $("textarea[name='reviews']").val();

	if (rating == 0) {
		alert('Rating cannot be none');
	}

	if (reviews == null) {
		alert('Reviews cannot be empty');
	}
}

function fetchSingleReview(reviewID, userID) {
	redirectLoading();
	$("#productImg").html("");
	$("#productName").html("");
	$("#pckInfo").html("");
	$("#userImg").html("");
	$("#userName").html("");
	$("#reviews").html("");
	$("#rating").html("");
	$("#reviewDate").html("");

	$.ajax({
		url: baseURL + "review/ajax_fetch_single_review",
		method: "POST",
		data: {
			reviewID:reviewID,
			userID:userID
		},
		success: function(data) {
			var output = $.parseJSON(data);
			
			$("#productImg").html("<img src='" + baseURL + output[0]['productImg'] + "' width='70%' />");
			$("#productName").html("<b>" + output[0]['productName'] + "</b>");

			var pc = output[0]['packageInfo'];
			var pck = pc.replace(/\n/g, "<br/>");
			$("#pckInfo").html(pck);

			$("#userImg").html("<img src='" + baseURL + output[0]['profilePicture'] + "' width='100%' />");
			$("#userName").html("<b>" + output[0]['username'] + "</b>");

			var re = output[0]['reviews'];
			var rev = re.replace(/\n/g, "<br/>");
			$("#reviews").html(rev);

			var star = output[0]['rating'];
			var ss = "";
			for (var s = 1; s <= star; s++) {
				ss = ss+"<i class='fa fa-star orange'></i>";
			}

			$("#rating").html(ss);

			$("#reviewDate").html("<b>" + output[0]['createdDate'] + "</b>");

			redirectStop();
		}
	});

	$.ajax({
		url: baseURL + "review/ajax_fetch_single_add_review",
		method: "POST",
		data:{reviewID:reviewID},
		success: function(d) {
			var op = $.parseJSON(d);
			
		}
	});
}

function fetchProductAddedQty(productID) {

	var addedQty = $("#addedQty");
	
	$.ajax({
		url: baseURL + "cart/ajax_fetch_cart_qty",
		method: "POST",
		data: {productID:productID},
		success: function(data) {
			addedQty.val(data); 
		}
	});
	
}

function addThisToCart(productID) {

	var addedQty = "0";
	var purchase_qty = "1";
	var maxQty = parseInt($("input[name='productQty"+ productID +"']").val());
	var userID = $("input[name='userID']").val();
	$.ajax({
		url: baseURL + "cart/ajax_fetch_cart_qty",
		method: "POST",
		data: {productID:productID},
		success: function(data) {
			addedQty = data; 
			var totalQty = parseInt(maxQty-addedQty);
			if (purchase_qty > totalQty) {
				if (totalQty == "0") {
					return alert("Your cart added quantity reached maximum stock.");
				}else{
					return alert("You can only add maximum " + totalQty + " item(s).");
				}
			}else{
				$.ajax({
					url: baseURL + "cart/ajax_add_cart",
					method: "POST",
					data: {
						productID:productID,
						userID:userID,
						purchase_qty:purchase_qty
					},
					success: function(data) {
						var output = $.parseJSON(data);
						var r = output.result;

						if (r == '1') {
							alert('Added to cart');
							cartList(userID);
							fetchProductAddedQty(productID);
						}else{
							alert('Fail to add cart');
						}
					}
				});
			}
		}
	});
	// console.log(maxQty);
}

function addToCart() {

	var addedQty = parseInt($("#addedQty").val());
	var maxQty = parseInt($("#productQty").text());
	var purchase_qty = $("#qty").val();
	var totalQty = parseInt(maxQty-addedQty);

	var productID = $("input[name='productID']").val();
	var userID = $("input[name='userID']").val();

	if (purchase_qty > totalQty) {
		if (totalQty == "0") {
			return alert("Your cart added quantity reached maximum stock.");
		}else{
			return alert("You can only add maximum " + totalQty + " item(s).");
		}
	}else{
		$.ajax({
			url: baseURL + "cart/ajax_add_cart",
			method: "POST",
			data: {
				productID:productID,
				userID:userID,
				purchase_qty:purchase_qty
			},
			success: function(data) {
				var output = $.parseJSON(data);
				var r = output.result;

				if (r == '1') {
					alert('Added to cart');
					cartList(userID);
					fetchProductAddedQty(productID);
				}else{
					alert('Fail to add cart');
				}
			}
		});
	}
}

function addToCartGuest() {
	var addedQty = parseInt($("#addedQty").val());
	var maxQty = parseInt($("#productQty").text());
	var purchase_qty = parseInt($("#qty").val());
	var totalQty = parseInt(maxQty-addedQty);

	var productID = $("input[name='productID']").val();
	// var guestID = $("input[name='guestID']").val();

	if (purchase_qty > totalQty) {
		if (totalQty == "0") {
			return alert("Your cart added quantity reached maximum stock.");
		}else{
			return alert("You can only add maximum " + totalQty + " item(s).");
		}
	}else{
		$.ajax({
			url: baseURL + "cart/ajax_add_cart_guest",
			method: "POST",
			data: {
				productID:productID,
				// guestID:guestID,
				purchase_qty:purchase_qty
			},
			success: function(data) {
				var output = $.parseJSON(data);
				var r = output.result;

				if (r == '1') {
					alert('Added to cart');
					window.location.href= baseURL + "shop/products?ID=" + productID;
					// cartList(userID);
					// fetchProductAddedQty(productID);
				}else{
					alert('Fail to add cart');
				}
			}
		});
	}
}

function cartList(userID) {
	$("#cart-list").html("");
	$.ajax({
		url: baseURL + "cart/ajax_fetch_cart",
		method: "POST",
		data: {userID:userID},
		success: function(data) {
			var out = $.parseJSON(data);
			var countCart = out.length;
			var r = out.result;

			$("#cart-count").html(countCart);
			var total = 0;
			var totalqty = 0;
			for (var i = 0; i < countCart; i++) {
				var amt = parseFloat(out[i]['purchase_qty'] * out[i]['unitPrice']);
				$("#cart-list").append('\
					<li>\
						<a href="">\
							<div class="row ml-0">\
								<div class="col-4">\
									<div class="cart-img">\
										<img src="'+ baseURL + out[i]['productImg'] +'"/>\
									</div>\
								</div>\
								<div class="col-8 pt-2">\
									<div class="pb-3"><b>'+ out[i]['productName'].substr(0,30) +'...</b></div>\
									<div>Qty: <b><span class="addedQty">'+ out[i]['purchase_qty'] +'</span></b></div>\
									<h5 class="text-right p-color">USD '+ amt.toFixed(2) +'</h5>\
								</div>\
							</div>\
						</a>\
					</li>\
				');

				total += parseFloat(amt.toFixed(2));
				totalqty += parseFloat(out[i]['purchase_qty']);
			}
			$(".show p").removeClass("d-none");
			$("#cart-subtotal").html("USD " + total.toFixed(2));
			$("#cart-count").html(totalqty);
		}
	});
}


function changeAddress() {
	$("#changeAddress").toggle();
}

function showOrderItem() {
	$("#showOrderItem").toggle();
}

function viewOrder(orderID) {
	$("#orderList").html("");
	$("#orderProcess").html("");
	$("#note").html("");
	redirectLoading();

	$.ajax({
		url: baseURL + "order/ajax_fetch_single_order_process",
		method: "POST",
		data:{orderID:orderID},
		success: function(d) {
			var out = $.parseJSON(d);
			// console.log(out);

			for (var i = 0; i < out.length; i++) {
				var an = out[i]['add_note'];
				var pd;
				if (an == null) {
					pd = out[i]['processDesc'];
				}else{
					pd = out[i]['add_note'];
				}
				
				$("#orderProcess").append("\
					<tr>\
						<td class='text-center'>" + out[i]['processDate'] + "</td>\
						<td>" + pd + "</td>\
					</tr>\
				");
			}
		}
	});

	$.ajax({
		url: baseURL + "order/ajax_fetch_single_order",
		method: "POST",
		data:{orderID:orderID},
		success: function(data) {
			var output = $.parseJSON(data);
			// console.log(output);

			var processID = output[0]['processID'];

			if (processID === '2') {
				$("#ordered").removeClass("order-normal").addClass("order-active");
				$("#orderedLineF").removeClass("order-normal-line").addClass("order-active-line");
				$("#orderedLineR").removeClass("order-normal-line").addClass("order-active-line");
				$("#ordered .order-tick").removeClass("order-tick").addClass("order-tick-active");
				$("#shipped").removeClass("order-active").addClass("order-normal");
				$("#shippedLine").removeClass("order-active-line").addClass("order-normal-line");
				$("#shipped .order-tick-active").removeClass("order-tick-active").addClass("order-tick");
			}else if (processID === '3') {
				$("#ordered").removeClass("order-normal").addClass("order-active");
				$("#orderedLineF").removeClass("order-normal-line").addClass("order-active-line");
				$("#orderedLineR").removeClass("order-normal-line").addClass("order-active-line");
				$("#ordered .order-tick").removeClass("order-tick").addClass("order-tick-active");
				$("#shipped").removeClass("order-normal").addClass("order-active");
				$("#shippedLine").removeClass("order-normal-line").addClass("order-active-line");
				$("#shipped .order-tick").removeClass("order-tick").addClass("order-tick-active");
			}else{
				$("#ordered").removeClass("order-active").addClass("order-normal");
				$("#orderedLineF").removeClass("order-active-line").addClass("order-normal-line");
				$("#orderedLineR").removeClass("order-active-line").addClass("order-normal-line");
				$("#ordered .order-tick-active").removeClass("order-tick-active").addClass("order-tick");
				$("#shipped").removeClass("order-active").addClass("order-normal");
				$("#shippedLine").removeClass("order-active-line").addClass("order-normal-line");
				$("#shipped .order-tick-active").removeClass("order-tick-active").addClass("order-tick");
			}

			$("#placedOn").html(output[0]['createdDate']);
			$("#viewOrderModal #orderNo").html(output[0]['orderNo']);
			$("#viewOrderModal #fullname").html(output[0]['fullname']);
			$("#grandTotal").html("USD " + output[0]['grand_total']);
			$("#shippingAddress").html(output[0]['address'] + ", " + output[0]['postal_code'] + ", " + output[0]['city'] + ", " + output[0]['state'] + ", " + output[0]['country']);
			
			var note = output[0]['note'];
			if (note != null) {
				var order_note = note.replace(/\n/g, "<br/>");
				$("#note").html("<b>Additional Note: </b><br/>" + order_note);
			}

			var c = 0;
			for (var i = 0; i < output.length; i++) {
				c = [i+1];
				$("#orderList").append("\
					<tr>\
						<th>" + c + "</th>\
						<td>" + output[i]['productName'] + "</td>\
						<td class='text-center'><b>" + output[i]['order_qty'] + "</b> x <span class='p-color'><b>USD " + output[i]['subtotal'] + "</b></span></td>\
					</tr>\
				");
			}
			$("#viewOrderModal").modal("show");
			redirectStop();
		}
	});

}

function uploadPic(input) {
	var img = $("#pic");
	var btn = $(".b-upload");
	if (img.get(0).files.length === 0) {
		// $('#selectedImg').attr('src', baseURL + 'media/img/unknown.png');
		btn.addClass("btn-disabled");
		btn.attr("disabled","disabled");
	}else if (img.get(0).files.length != 0) {
		if (input.files && input.files[0]) {
			var reader = new FileReader();

			reader.onload = function(e){
				$('#selectedImg').attr('src', e.target.result);
			}

			reader.readAsDataURL(input.files[0]);
		}
		btn.removeClass("btn-disabled");
		btn.removeAttr("disabled");
	}
}


function readURL(input) {
    if (input.files && input.files[0]) {
        var reader = new FileReader();

        reader.onload = function (e) {
            $('#selectedImage').attr('src', e.target.result);
        }

        reader.readAsDataURL(input.files[0]);
    }
}


function removePic(userID) {
	var c = confirm("Are you sure to remove current picture?");
	if (c) {
		redirectLoading();
		window.location.href= baseURL + "profile/removePicture?userID="+ userID;
	}
}

function fetchThisProduct(productID) {
	redirectLoading();
	$.ajax({
		url: baseURL + "product/ajax_fetch_single_product",
		method: "POST",
		data: {productID:productID},
		success: function(data) {
			var output = $.parseJSON(data);

			if (output[0]['statusID'] == 1) {
				$("#updateProductModal input[name='statusID']").val(output[0]['statusID']);
				$("#updateProductModal #statusName").html("Deactivate it!");
				$("#updateProductModal #statusName").addClass("badge-danger");
				$("#updateProductModal #statusName").removeClass("badge-success");
			}else{
				$("#updateProductModal input[name='statusID']").val(output[0]['statusID']);
				$("#updateProductModal #statusName").html("Activate it!");
				$("#updateProductModal #statusName").addClass("badge-success");
				$("#updateProductModal #statusName").removeClass("badge-danger");
			}

			$("#updateProductModal input[name='productID']").val(output[0]['ID']);
			$("#updateProductModal input[name='productName']").val(output[0]['productName']);
			$("#updateProductModal input[name='productCode']").val(output[0]['productCode']);
			$("#updateProductModal input[name='packageInfo']").val(output[0]['packageInfo']);

			$("#updateProductModal select[name='categoryID'] option").removeAttr("selected");
			$("#updateProductModal select[name='categoryID'] option").each(function(){
				if($(this).val() == output[0]['categoryID']){
					$(this).attr("selected", "true");
				}
			});

			$("#updateProductModal select[name='shopTypeID'] option").removeAttr("selected");
			$("#updateProductModal select[name='shopTypeID'] option").each(function(){
				if($(this).val() == output[0]['shopTypeID']){
					$(this).attr("selected", "true");
				}
			});

			var num = output[0]['unitPrice'].split('.');
			$("#updateProductModal input[name='unitPrice']").val(num[0]);
			$("#updateProductModal input[name='unitPriceDec']").val(num[1]);

			$("#updateProductModal input[name='productQty']").val(output[0]['qty']);
			$("#updateProductModal textarea[name='packageInfo']").val(output[0]['packageInfo']);
			$("#updateProductModal textarea[name='desc']").val(output[0]['description']);
			$("#updateProductModal input[name='net_net_weight']").val(output[0]['net_net_weight']);

			$("#updateProductModal input[name='productImg']").val("");
			$("#selectedImage").attr("src", "\
				"+output[0]['productImg']);

			redirectStop();
		}
	});
	$("#updateProductModal").modal("show");
}

function updateProductStatus() {
	redirectLoading();
	var statusID = $("#updateProductModal input[name='statusID']").val();
	var productID = $("#updateProductModal input[name='productID']").val();
	if (statusID == 1) {
		var c = confirm("Are you sure to deactivate this product?");
		if (c) {
			$.ajax({
				url: baseURL + "product/ajax_update_product_status",
				method: "POST",
				data: {
					productID:productID,
					statusID:"2"
				},
				success: function(data) {
					var output = $.parseJSON(data);
					if (output.result == "1") {
						alert("Deactivate Successfully");
						location.reload();
					}else{
						alert("Deactivate Failed!");
					}
					redirectStop();
				}
			});
		}else{
			redirectStop();
		}
	}else if (statusID == 2) {
		$.ajax({
			url: baseURL + "product/ajax_update_product_status",
			method: "POST",
			data: {
				productID:productID,
				statusID:"1"
			},
			success: function(data) {
				var output = $.parseJSON(data);
				if (output.result == "1") {
					alert("Activate Successfully");
					location.reload();
				}else{
					alert("Activate Failed!");
				}
				redirectStop();
			}
		});
	}
}

function updateCategoryStatus(categoryID, statusID) {
	redirectLoading();
	if (statusID == 1) {
		var c = confirm("Are you sure to deactivate this category?");
		if (c) {
			$.ajax({
				url: baseURL + "product/ajax_update_category_status",
				method: "POST",
				data: {
					categoryID:categoryID,
					statusID:"2"
				},
				success: function(data) {
					var output = $.parseJSON(data);
					if (output.result == "1") {
						alert("Deactivate Successfully");
						location.reload();
					}else{
						alert("Deactivate Failed!");
					}
					redirectStop();
				}
			});
		}else{
			redirectStop();
		}
	}else if (statusID == 2) {
		var c = confirm("Are you sure to activate this category?");
		if (c) {
			$.ajax({
				url: baseURL + "product/ajax_update_category_status",
				method: "POST",
				data: {
					categoryID:categoryID,
					statusID:"1"
				},
				success: function(data) {
					var output = $.parseJSON(data);
					if (output.result == "1") {
						alert("Activate Successfully");
						location.reload();
					}else{
						alert("Activate Failed!");
					}
					redirectStop();
				}
			});
		}else{
			redirectStop();
		}
	}
}

function updateCategoryName(categoryID, categoryName) {
	redirectLoading();
	if (categoryID != null) {
		$("#updateCategoryModal input[name='categoryID']").val(categoryID);
		$("#updateCategoryModal input[name='categoryName']").val(categoryName);
		$("#updateCategoryModal").modal("show");
		redirectStop();
	}
}

function updateUserStatus(userID, statusID) {
	redirectLoading();
	if (statusID == 1) {
		var c = confirm("Are you sure to deactivate this user?");
		if (c) {
			$.ajax({
				url: baseURL + "user/ajax_update_user_status",
				method: "POST",
				data: {
					userID:userID,
					statusID:"2"
				},
				success: function(data) {
					var output = $.parseJSON(data);
					if (output.result == "1") {
						alert("Deactivate Successfully");
						location.reload();
					}else{
						alert("Deactivate Failed!");
					}
					redirectStop();
				}
			});
		}else{
			redirectStop();
		}
	}else if (statusID == 2) {
		var c = confirm("Are you sure to activate this user?");
		if (c) {
			$.ajax({
				url: baseURL + "user/ajax_update_user_status",
				method: "POST",
				data: {
					userID:userID,
					statusID:"1"
				},
				success: function(data) {
					var output = $.parseJSON(data);
					if (output.result == "1") {
						alert("Activate Successfully");
						location.reload();
					}else{
						alert("Activate Failed!");
					}
					redirectStop();
				}
			});
		}else{
			redirectStop();
		}
	}	
}

function acceptReview(reviewID) {
	redirectLoading();
	$.ajax({
		url: baseURL + "review/ajax_update_review",
		method: "POST",
		data: {
			reviewID:reviewID,
			unread:"2",
			statusID:"1"
		},
		success: function(data) {
			var output = $.parseJSON(data);
			if (output.result == "1") {
				location.reload();
			}else{
				alert("Accept Failed");
			}
			redirectStop();
		}
	});
}

function declineReview(reviewID) {
	redirectLoading();
	$.ajax({
		url: baseURL + "review/ajax_update_review",
		method: "POST",
		data: {
			reviewID:reviewID,
			unread:"2",
			statusID:"2"
		},
		success: function(data) {
			var output = $.parseJSON(data);
			if (output.result == "1") {
				location.reload();
			}else{
				alert("Decline Failed");
			}
			redirectStop();
		}
	})
}

function updateReviewStatus(reviewID, statusID) {
	redirectLoading();
	if (statusID == '1') {	
		var c = confirm('Are you sure to deactivate this review?');
		if (c) {	
			$.ajax({
				url: baseURL + "review/ajax_update_review",
				method: "POST",
				data: {
					reviewID:reviewID,
					unread:"2",
					statusID:"2"
				},
				success: function(data) {
					var output = $.parseJSON(data);
					if (output.result == "1") {
						location.reload();
					}else{
						alert("Deactivate Failed");
					}
					redirectStop();
				}
			});
		}else{
			redirectStop();
		}
	}else{
		$.ajax({
			url: baseURL + "review/ajax_update_review",
			method: "POST",
			data: {
				reviewID:reviewID,
				unread:"2",
				statusID:"1"
			},
			success: function(data) {
				var output = $.parseJSON(data);
				if (output.result == "1") {
					alert("Activate Successfully!");
					location.reload();
				}else{
					alert("Activate Failed");
				}
				redirectStop();
			}
		});
	}
}



function increaseThisValue() {
	var value = parseInt($("#productQty").val());
	value = isNaN(value) ? 0 : value;
	value > 998 ? value = 998 : '';
	value++;
	$("#productQty").val(value);
}

function decreaseThisValue() {
	var value = parseInt($("#productQty").val());
	value = isNaN(value) ? 0 : value;
	value < 2 ? value = 2 : '';
	value--;
	$("#productQty").val(value);
}

function increaseThisVal() {
	var value = parseInt($("#qty").val());
	value = isNaN(value) ? 0 : value;
	value > 998 ? value = 998 : '';
	value++;
	$("#qty").val(value);	
}

function decreaseThisVal() {
	var value = parseInt($("#qty").val());
	value = isNaN(value) ? 0 : value;
	value < 2 ? value = 2 : '';
	value--;
	$("#qty").val(value);	
}

function notThisZero(num) {
	var value = parseInt(num.value);
	var n = (isNaN(value) || value == 0 ? 1 : value);
	num.value = n;
	return;
}

function fetchOrderDetails(orderID) {
	$("#updateOrderModal form").attr("action", baseURL+"order/updateOrderAction");
	redirectLoading();
	$("#updateOrderModal #productDetails").html("");
	$.ajax({
		url: baseURL + "order/ajax_fetch_single_order_details",
		method: "POST",
		data: {orderID:orderID},
		success: function(data) {
			var output = $.parseJSON(data);

			$("#updateOrderModal #orderNo").html(output[0]['orderNo']);
			$("#updateOrderModal #transactionID").html(output[0]['paypal_transactionID']);
			$("#updateOrderModal #orderID").val(output[0]['ID']);
			
			$("#updateOrderModal #userName").html(output[0]['fullname']);
			$("#updateOrderModal #userAddress").html(output[0]['address']+", "+output[0]['postal_code']+", "+output[0]['city']+", "+output[0]['state']+", "+output[0]['country']);

			$("#updateOrderModal #orderNote").html(output[0]['note']);
			// $("#updateOrderModal input[name='username'] ").val(output[0]['userName']);

			var pn = "";
			if (output[0]['processID'] == "1") {
				pn = "<span class='badge badge-pill badge-secondary'>"+ output[0]['processName'] +"</span>";
				$("#processControl").removeClass("d-none");
				$("#submitDetails").removeClass("btn-disabled");
				$("#submitDetails").prop("disabled", false);
			}else if (output[0]['processID'] == "2") {
				pn = "<span class='badge badge-pill badge-warning'>"+ output[0]['processName'] +"</span>";
				$("#processControl").removeClass("d-none");
				$("#submitDetails").removeClass("btn-disabled");
				$("#submitDetails").prop("disabled", false);
			}else if (output[0]['processID'] == "3") {
				pn = "<span class='badge badge-pill badge-success'>"+ output[0]['processName'] +"</span>";
				$("#processControl").removeClass("d-none");
				$("#submitDetails").removeClass("btn-disabled");
				$("#submitDetails").prop("disabled", false);
			}else if (output[0]['processID'] == "4") {
				pn = "<span class='badge badge-pill badge-danger'>"+ output[0]['processName'] +"</span>";
				$("#processControl").addClass("d-none");
				$("#submitDetails").addClass("btn-disabled");
				$("#submitDetails").prop("disabled", true);
			}
			$("#updateOrderModal #processName").html(pn);

			$("#updateOrderModal select[name='processID'] option").removeAttr("selected");
			$("#updateOrderModal select[name='processID'] option").each(function(){
				if($(this).val() == output[0]['processID']){
					$(this).attr("selected", "true");
				}
			});

			var py = "";
			if (output[0]['payment_statusID'] == "1") {
				py = "<span class='badge badge-pill badge-success'>"+ output[0]['payment_statusName'] +"</span>";
			}else if (output[0]['payment_statusID'] == "2") {
				py = "<span class='badge badge-pill badge-secondary'>"+ output[0]['payment_statusName'] +"</span>";
			}
			$("#updateOrderModal #paymentName").html(py);

			$("#updateOrderModal select[name='payment_statusID'] option").removeAttr("selected");
			$("#updateOrderModal select[name='payment_statusID'] option").each(function(){
				if($(this).val() == output[0]['payment_statusID']){
					$(this).attr("selected", "true");
				}
			});

			for (var i = 0; i < output.length; i++) {
				$("#updateOrderModal #productDetails").append("\
					<tr>\
						<td class='text-center align-middle'><b>"+ output[i]['productCode'] +"</b></td>\
						<td>\
							<div><b>"+ output[i]['productName'] +"</b></div>\
						</td>\
						<td class='text-center align-middle'><b>"+ output[i]['order_qty'] +"</b></td>\
						<td class='text-center align-middle p-color'><b>"+ output[i]['subtotal'] +"</b></td>\
					</tr>\
				");
			}
			$("#updateOrderModal #productDetails").append("\
				<tr>\
					<th colspan='3' class='text-right'>Grand Total</th>\
					<th class='text-center p-color'>"+ output[0]['grand_total'] +"</th>\
				</tr>\
			");

			redirectStop();
		}
	});
	$("#updateOrderModal #processDetails").html("");
	$.ajax({
		url: baseURL + "order/ajax_fetch_this_order_process",
		method: "POST",
		data: {orderID:orderID},
		success: function(d) {
			var out = $.parseJSON(d);
			var n = "";
			var p = "";
			for (var i = 0; i < out.length; i++) {
				if (out[i]['add_note'] == null) {
					n = out[i]['processDesc'];
				}else{
					n = out[i]['add_note'];
				}

				if (out[i]['processID'] == "1") {
					p = "<span class='badge badge-pill badge-secondary'>"+ out[i]['processName'] +"</span>";
				}else if (out[i]['processID'] == "2") {
					p = "<span class='badge badge-pill badge-warning'>"+ out[i]['processName'] +"</span>";
				}else if (out[i]['processID'] == "3") {
					p = "<span class='badge badge-pill badge-success'>"+ out[i]['processName'] +"</span>";
				}else if (out[i]['processID'] == "4") {
					p = "<span class='badge badge-pill badge-danger'>"+ out[i]['processName'] +"</span>";
				}

				$("#updateOrderModal #processDetails").append("\
					<tr>\
						<td class='text-center'>\
						<div><b>"+ out[i]['createdDate'] +"</b></div>\
						<div>"+ p +"</div>\
						</td>\
						<td class='align-middle'>"+ n +"</td>\
					</tr>\
				");
			}

			redirectStop();
		}
	})
}

function fetchOrderDetailsGuest(orderID) {
	$("#updateOrderModal form").attr("action", baseURL+"order/updateOrderGuestAction");
	redirectLoading();
	$("#updateOrderModal #productDetails").html("");
	$.ajax({
		url: baseURL + "order/ajax_fetch_single_order_details_guest",
		method: "POST",
		data: {orderID:orderID},
		success: function(data) {
			var output = $.parseJSON(data);

			$("#updateOrderModal #orderNo").html(output[0]['orderNo']);
			$("#updateOrderModal #transactionID").html(output[0]['paypal_transactionID']);
			$("#updateOrderModal #orderID").val(output[0]['ID']);
			
			$("#updateOrderModal #userName").html(output[0]['fullname']);
			$("#updateOrderModal #userAddress").html(output[0]['address']+", "+output[0]['postal']+", "+output[0]['city']+", "+output[0]['state']+", "+output[0]['country']);

			$("#updateOrderModal #orderNote").html(output[0]['note']);
			// $("#updateOrderModal input[name='username'] ").val(output[0]['userName']);

			var pn = "";
			if (output[0]['processID'] == "1") {
				pn = "<span class='badge badge-pill badge-secondary'>"+ output[0]['processName'] +"</span>";
				$("#processControl").removeClass("d-none");
				$("#submitDetails").removeClass("btn-disabled");
				$("#submitDetails").prop("disabled", false);
			}else if (output[0]['processID'] == "2") {
				pn = "<span class='badge badge-pill badge-warning'>"+ output[0]['processName'] +"</span>";
				$("#processControl").removeClass("d-none");
				$("#submitDetails").removeClass("btn-disabled");
				$("#submitDetails").prop("disabled", false);
			}else if (output[0]['processID'] == "3") {
				pn = "<span class='badge badge-pill badge-success'>"+ output[0]['processName'] +"</span>";
				$("#processControl").removeClass("d-none");
				$("#submitDetails").removeClass("btn-disabled");
				$("#submitDetails").prop("disabled", false);
			}else if (output[0]['processID'] == "4") {
				pn = "<span class='badge badge-pill badge-danger'>"+ output[0]['processName'] +"</span>";
				$("#processControl").addClass("d-none");
				$("#submitDetails").addClass("btn-disabled");
				$("#submitDetails").prop("disabled", true);
			}
			$("#updateOrderModal #processName").html(pn);

			$("#updateOrderModal select[name='processID'] option").removeAttr("selected");
			$("#updateOrderModal select[name='processID'] option").each(function(){
				if($(this).val() == output[0]['processID']){
					$(this).attr("selected", "true");
				}
			});


			var py = "";
			if (output[0]['payment_statusID'] == "1") {
				py = "<span class='badge badge-pill badge-success'>"+ output[0]['payment_statusName'] +"</span>";
			}else if (output[0]['payment_statusID'] == "2") {
				py = "<span class='badge badge-pill badge-secondary'>"+ output[0]['payment_statusName'] +"</span>";
			}
			$("#updateOrderModal #paymentName").html(py);

			$("#updateOrderModal select[name='payment_statusID'] option").removeAttr("selected");
			$("#updateOrderModal select[name='payment_statusID'] option").each(function(){
				if($(this).val() == output[0]['payment_statusID']){
					$(this).attr("selected", "true");
				}
			});


			for (var i = 0; i < output.length; i++) {
				$("#updateOrderModal #productDetails").append("\
					<tr>\
						<td class='text-center align-middle'><b>"+ output[i]['productCode'] +"</b></td>\
						<td>\
							<div><b>"+ output[i]['productName'] +"</b></div>\
						</td>\
						<td class='text-center align-middle'><b>"+ output[i]['order_qty'] +"</b></td>\
						<td class='text-center align-middle p-color'><b>"+ output[i]['subtotal'] +"</b></td>\
					</tr>\
				");
			}
			$("#updateOrderModal #productDetails").append("\
				<tr>\
					<th colspan='3' class='text-right'>Grand Total</th>\
					<th class='text-center p-color'>"+ output[0]['grand_total'] +"</th>\
				</tr>\
			");

			redirectStop();
		}
	});
	$("#updateOrderModal #processDetails").html("");
	$.ajax({
		url: baseURL + "order/ajax_fetch_this_order_process_guest",
		method: "POST",
		data: {orderID:orderID},
		success: function(d) {
			var out = $.parseJSON(d);
			var n = "";
			var p = "";
			for (var i = 0; i < out.length; i++) {
				if (out[i]['add_note'] == null) {
					n = out[i]['processDesc'];
				}else{
					n = out[i]['add_note'];
				}

				if (out[i]['processID'] == "1") {
					p = "<span class='badge badge-pill badge-secondary'>"+ out[i]['processName'] +"</span>";
				}else if (out[i]['processID'] == "2") {
					p = "<span class='badge badge-pill badge-warning'>"+ out[i]['processName'] +"</span>";
				}else if (out[i]['processID'] == "3") {
					p = "<span class='badge badge-pill badge-success'>"+ out[i]['processName'] +"</span>";
				}else if (out[i]['processID'] == "4") {
					p = "<span class='badge badge-pill badge-danger'>"+ out[i]['processName'] +"</span>";
				}

				$("#updateOrderModal #processDetails").append("\
					<tr>\
						<td class='text-center'>\
						<div><b>"+ out[i]['createdDate'] +"</b></div>\
						<div>"+ p +"</div>\
						</td>\
						<td class='align-middle'>"+ n +"</td>\
					</tr>\
				");
			}

			redirectStop();
		}
	})
}

$(function () {
  	$('[data-toggle="tooltip"]').tooltip();
});