var base = $('base').attr('href');
$(document).on('click', '.close-modal', function () { var target = $(this).attr('for'); $('#'+target).modal('hide'); });
$(document).on('click', '.open-menu-mobile', function () { $('#popup-menu-mobile').modal('show'); });

function EmptyCekData(){ return '<p style="text-align: center;font-size: 13px;">Memuat data.....</p>'; };
$(document).on('submit', '.process-form', function () {
	var target = $(this).attr('for');
	var url = $(this).attr('to');
    $('#area-'+target).removeClass('hide_element').html(EmptyCekData());
    var formTarget = $('#form-'+target); var method = formTarget.attr('method');
  	let formData = formTarget.serialize();
  	if(method=='post'){ formData = new FormData(formTarget[0]); }
    $.ajax({
		url : base+'actions/'+url+'.php', type: method, data:formData, cache:false, contentType: false, processData: false,
		success:function(respone){ $('#area-'+target).html(respone); }
 	});
  	return false;
});

$(document).on('submit', '.process-form-register', function () {
	var attribute = $(this).attr('attribute');
	if(attribute!='card' && attribute!='register'){ return false; }
	let textInfo = 'Proses pendaftaran sedang berjalan dan pembuatan kartu sedang di proses, mohon untuk tidak melakukan refresh halaman';
	if(attribute=='card'){ textInfo = 'Proses cetak kartu sedang di proses, mohon untuk tidak melakukan refresh halaman'; }
	$('#text-layer-process-data').html(textInfo); $('#layer-process-data').removeClass('hide_element');
	var target = $(this).attr('for'); var url = $(this).attr('to'); var lblAction = $('#action-form-'+target).attr('label');
    $('#action-form-'+target).addClass('disabled').html('Memproses...'); $('#action-form-'+target).prop('disabled', true);
    var formTarget = $('#form-'+target); var method = formTarget.attr('method');
  	let formData = formTarget.serialize();
  	if(method=='post'){ formData = new FormData(formTarget[0]); }
    $.ajax({
		url : base+'actions/'+url+'.php', type: method, data:formData, cache:false, contentType: false, processData: false,
		success:function(respone){
			var respone = JSON.parse(respone);
			if(respone.success === true && respone.data.member_card_url != null){
				let nomor = respone.data.member_card_url;
				const splitNomor = nomor.split("/");
				const nomorMember = splitNomor[3].slice(0,-19);
				var dataCard = '<a target="_blank" href="'+respone.data.member_card_url+'"><img class="w-100" src="'+respone.data.member_card_url+'"/></a>';
				$('#nomor-member').val(nomorMember);
			}else if(respone.success === true && respone.data.member_card_url == null){
				alert('Data kartu member tidak ditemukan! Harap hubungi admin untuk info selanjutnya.');
			}
			$('#layer-process-data').addClass('hide_element'); $('#text-layer-process-data').html('');
			$('#action-form-'+target).removeClass('disabled').html(lblAction); $('#action-form-'+target).prop('disabled', false);
			if(respone.success === false){ ShowNotifPopup('error', 'Gagal Proses', respone.msg, '');return false; }
			if(respone.card && respone.data.member_card_url != null){
				$('#success-print-card').removeClass('hide_element'); $('#image-card').html(dataCard); 
			}else{
				$('#title-register').html(respone.msg); $('#success-register').removeClass('hide_element').html(dataCard); $('#form-register').remove();
			}
		}
 	});
  	return false;
});

function copyToClipboard() {
	var copyText = document.getElementById("nomor-member");
	copyText.select();
	document.execCommand("Copy");
	$('#alert-copy').css("display", "block");
	setTimeout(function() {
	  $('#alert-copy').css("display", "none");
	}, 2000);
}

$(document).on('click', '.pagination-link', function () {
	var url = $(this).attr('to'); var data = $(this).attr('data'); var target = $(this).attr('content');
	if(!url || url.length==0){ return false; }
	$('#area-'+target).removeClass('hide_element').html(EmptyCekData());
	$.ajax({
		url : base+'actions/'+url+'.php?'+data, type: 'GET',
		success:function(respone){  $('#area-'+target).html(respone); }
 	});
});

function loadContent(target, url, data = ''){
	if(!url || url.length==0){ return false; }
	$('#'+target).removeClass('hide_element').html(EmptyCekData());
	$.ajax({
		url : base+'actions/'+url+'.php?'+data, type: 'GET',
		success:function(respone){  $('#'+target).html(respone); }
 	});
};

function slideData(data='', count='', dot=true){
    if(data.length==0){ var data='data'; }
    if(count.length==0){ var count=4; }
    var mblCount = count/2;
    if(mblCount<=3){ var mblCount=1; }
    $(".slide-"+data).slick({
        lazyLoad: 'ondemand', vertical: false, dots: dot, infinite: false, centerMode: false, slidesToShow: count, slidesToScroll: count, autoplay: false,
        autoplaySpeed: 3000, prevArrow: $('.prev-'+data), nextArrow: $('.next-'+data),
        responsive: [
            { breakpoint: 1024, settings: { slidesToShow: count, slidesToScroll: count } },
            { breakpoint: 600, settings: { slidesToShow: mblCount, slidesToScroll: mblCount } },
            { breakpoint: 480, settings: {slidesToShow: mblCount, slidesToScroll: mblCount } }
        ]
    });
};

$(document).on("submit", ".process-form-data", function (e) {var id = $(this).attr('for');var type = $(this).attr('type');var action = $(this).attr('action');ProcessForm(id,type,action);return false;});
function ProcessForm(id, type, action){
  if(action.length==0){ShowNotifPopup('error', 'Gagal Proses', 'Tidak dapat memproses data. Refresh halaman dan coba lagi.', '');return false;}
  var form = new FormData($('#Form'+id)[0]);var method = $('#Form'+id).attr('method');
  if(type=='content'){ LoadingElement(id);}else{if(type=='popup'){$('#process-form-popup').prop('disabled', true).html('Wait...');}ShowNotifPopup('process', 'Proses Permintaan', 'Tunggu sebentar.....', '');}
  $.ajax({
    url : base+'actions/'+action+'.php', type: method,data:form,cache:false,contentType: false,processData: false,
    success:function(respone){
		var respone = JSON.parse(respone);
		if(type=='popup'){ $('#process-form-popup').prop('disabled', false).html('Process'); }
		if(respone.warning){
			ShowNotifPopup('warning', 'Gagal Proses', respone.msg, '');return false;
		}else if(respone.error){
			ShowNotifPopup('error', 'Gagal Proses', respone.msg, '');return false;
		}else{
			if(type=='content'){
			  $('#'+id).html(respone.content);$('#count-'+id).html(respone.count);$('.reload-'+id).attr('count', respone.per_page);
			}else{
			  ClosenotifPopup(); if(type=='popup'){ ClosePopup(id); }
			  if(respone.back=='popup'){
			    $('#contentPopupInformation').html(respone.content);$('#PopupInformation').modal('show');
			  }else if(respone.back=='content'){
			    Alert(respone.msg, 'success');LoadData(respone.load, respone.target);
			  }else if(respone.back=='alert'){
			    Alert(respone.msg, 'success');
			  }else if(respone.back=='alert-redirect'){
			    Alert(respone.msg, 'success');
			    setTimeout(function(){ window.location.href = base+'/'+respone.load; }, 1000);
			  }else if(respone.back=='refresh'){
			    OpenLink(); location.reload();
			  }else if(respone.back=='redirect'){
			    OpenLink(); window.location.href = base+'/'+respone.load;
			  }else if(respone.back=='inner-load'){
			    BackInnerPage(respone.page);LoadData(respone.load, respone.target);
			  }else if(respone.back=='inner-update'){
			    BackInnerPage(respone.page); $('#'+respone.load).html(respone.content);
			  }else if(respone.back=='update'){
			    $('#'+respone.load).html(respone.content);
			  }else if(respone.back=='call'){
			    var thisFunction = respone.call;window[thisFunction](respone);
			  }else{ ShowNotifPopup('success', 'Berhasil Proses', respone.msg, respone.load); }
			}
		}
    }
  });return false;
};

function clearUploadImagePreview(id) { $("#"+id).val(''); $('#preview-'+id).html('<div class="text-preview-upload">Preview here!</div>'); }
$(document).on("click", ".reset-upload-image-preview", function (e) { var target = $(this).attr('for'); clearUploadImagePreview(target); });
$(document).on("change", ".uplod-image-preview", function (e) {
	var id = $(this).attr('id');var total_file=document.getElementById(id).files.length;
	if(total_file==0 || pathFile==''){clearUploadImagePreview(id);return false;}
	var inputFile = document.getElementById(id);var pathFile = inputFile.value;var ekstensiOk = /(\.jpg|\.jpeg|\.png|\.jfif)$/i;
	var file_size = $('#'+id)[0].files[0].size;var ukuran_b = file_size;var ukuran_kb = ukuran_b / 1000;var ukuran_mb = ukuran_kb / 1000;
	if(!ekstensiOk.exec(pathFile) || ukuran_mb>5){
	  ShowNotifPopup('warning', 'Image Not Support', 'Silakan upload gambar yang memiliki ekstensi (.jpeg/.jpg/.png/.jfif), Maksimal ukuran 5mb!', '');
	  clearUploadImagePreview(id);return false;
	}else{
	  if(inputFile.files && inputFile.files[0]) {
	    var oFReader = new FileReader();oFReader.readAsDataURL(document.getElementById(id).files[0]);
	    oFReader.onload = function (oFREvent) {
	      var images = '<img class="img-upload-preview" src="'+oFREvent.target.result+'">';
	      var btnResetImage = '<a href="javascript:void(0)" for="'+id+'" class="btn-reset-upload-image-preview reset-upload-image-preview btn-danger">x</a>';
	      $('#preview-'+id).html(images+btnResetImage);
	    };
	  }
	}
});

function resKyc(respone){
	$('#vrf-kyc').val('kyc'); $('#otp-kyc').focus(); $('#action-form-personal-card').html('Verifikasi Data'); $('#content-otp-kyc').removeClass('hide_element');
};