var base = $('base').attr('href');
var wooh_loading = '<div class="text-center load-wooh-content"><div class="spinner-border text-primary load" role="status"><span class="sr-only">Loading...</span></div></div>';
var loading = '<div class="card"><div class="card-inner"><div class="d-flex align-items-center"><strong>Memuat permintaan...</strong><div class="spinner-border ml-auto text-primary" role="status" aria-hidden="true"></div></div></div></div>';
var loading_element = '<div class="card no-border"> <div class="card-inner"><div class="d-flex justify-content-center"><div class="spinner-border text-primary" role="status"><span class="sr-only">Memuat permintaan...</span></div></div></div></div>';
var pola_number = /^[0-9]+$/;var pola_email = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;var pola_text = /^[A-Za-z ]+$/;var pola_username = /^[0-9A-Za-z_ ]+$/;

function ChangeUrl(newUrl){ history.pushState({}, null, base+newUrl); };
function woohState(state){
  if(state.length==0){ state='home'; }var woohRoute = ['','home','chat','setting'];return woohRoute.includes(state);
};
window.onpopstate = function(event) {var stateName = document.location.replace(base, '');};
function AutoCallAttribute(){$('.tooltip-data').tooltip();};
$(document).on('select2:open', () => { document.querySelector('.select2-search__field').focus(); });
function CleareInput(){ $('.el_input').val('');  }
function HideElement(el){ $(el).addClass('hide_element'); };
function ShowElement(el){ $(el).removeClass('hide_element'); };
function LoadingElement(target){ $('#'+target).html(loading_element); };
function Spinner(color='secondary', type='border', size='', position='center'){
	var size = '';if(size=='small'){ var size = 'spinner-'+type+'-sm'; }
	var spinner = '<div class="d-flex justify-content-'+position+'"><div class="spinner-'+type+' text-'+color+' '+size+'" role="status"><span class="sr-only">Memuat permintaan...</span></div></div>';
	return spinner;
};
function SpinnerButton(color='secondary', type='border'){
	var spinner_btn = '<button class="btn btn-'+color+'" type="button" disabled><span class="spinner-'+type+' spinner-border-sm" role="status" aria-hidden="true"></span><span class="sr-only">Memuat permintaan...</span></button>';
	return spinner_btn;
};
function btnLoading(text=''){
    if(!text || text.length==0){ text='Loading...'; }
    return '<span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span><span>'+text+'</span>';
};
function backToContentButton(target, label){
    return '<div class="col-12 col-lg-3 m-auto text-center pt-2"><a href="javascript:void(0)" to="'+target+'" class="wooh-content btn btn-md btn-round btn-secondary text-white"><em class="icon ni ni-arrow-left"></em><span>'+label+'</span></a></div>';
};
function alertContent(type, icon, msg, large=true){
    if(!icon || icon.length==0){ var icon = 'info' }; if(!type || type.length==0){ var type = 'info' }; if(!msg || msg.length==0){ var msg = 'Not Informastion' };
    var setWidth = 'col-lg-12'; if(!large){ var setWidth = 'col-lg-5'; };
    return '<div class="alert alert-'+type+' alert-icon text-left col-12 '+setWidth+' m-auto"><em class="icon ni ni-'+icon+'"></em><span>'+msg+'</span></div>';
};
$(document).on('click', '.open-link', function () { OpenLink(); });
function OpenLink(){ $("#loading_bar").removeClass("hide_element"); };
function ToLink(url){OpenLink(); window.location.href=base+'/'+url;};
function ConvertToSlug(str) {
  str = str.replace(/[`~!@#$%^&*()_\-+=\[\]{};:'"\\|\/,.<>?\s]/g, ' ').toLowerCase();str = str.replace(/^\s+|\s+$/gm,'');str = str.replace(/\s+/g, '-'); 
  return str;
};
function RandomString(type='') {
    var result = []; var characters = 'ABCDEFGHIJKL0123456789MNOPQRSTUVWXYZ'; var charactersLength = characters.length;
    for ( var i = 0; i < 5; i++ ) {
      result.push(characters.charAt(Math.floor(Math.random() * charactersLength)));
    } return result.join('');
};
function CloseModal(popup){$('#'+popup).modal('hide');$(".modal-backdrop").remove();$('body').removeClass('modal-open');}
function ClosePopup(popup){CloseModal(popup);$('#title'+popup).html('');$('#content'+popup).html('');$('#Form'+popup).attr('action', '');return false;};
$('.close_popup').click(function(){var popup = $(this).attr('for');ClosePopup(popup);return false;});
$(document).on('click', '.to-el', function () { var target=$(this).attr('data'); todiv(target); });
function todiv(target){$('html,body').animate({ scrollTop: $("#"+target).offset().top},'slow');};
function scrollToBottom (target) {var div = document.getElementById(target);div.scrollTop = div.scrollHeight - div.clientHeight;
}
$(document).on('click', '.btn-show-hide-content', function () {
    var target = $(this).attr('for');var label_show = $(this).attr('lbl-show');var label_hide = $(this).attr('lbl-hide');var status = $(this).attr('stat');
    if(status==0){
        $(this).attr('stat', 1);
        $('.icn-show-hide-'+target).addClass('ni-arrow-down');$('.icn-show-hide-'+target).removeClass('ni-arrow-right');$('.lbl-show-hide-'+target).html(label_show);$('#'+target).removeClass('hide_element');
    }else if(status==1){
        $(this).attr('stat', 0);
        $('.icn-show-hide-'+target).addClass('ni-arrow-right');$('.icn-show-hide-'+target).removeClass('ni-arrow-down');$('.lbl-show-hide-'+target).html(label_hide);$('#'+target).addClass('hide_element');
    }else{ return false; }
});

function toCurrency(nStr){
    nStr += ''; x = nStr.split('.'); x1 = x[0]; x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + '.' + '$2'); }
    return x1 + x2;
}
$(document).on("click", ".show_hide_password", function (e) {var target = $(this).attr('for');ShowHidePassword(target);});
function ShowHidePassword(target){
  var value = $('#'+target+' input').val();
  if(value.length==0){$('#'+target+' input').focus();return false;}
  var type = $('#'+target+' input').attr('type');
  if(type=='password'){
    $('#'+target+' input').attr('type', 'text');$('#'+target+' .show_hide_password').html('<em class="passcode-icon icon-show icon ni ni-eye"></em>');
  }else{
    $('#'+target+' input').attr('type', 'password');$('#'+target+' .show_hide_password').html('<em class="passcode-icon icon-show icon ni ni-eye-off"></em>');
  }
};
$(document).on("click", ".generate_code", function (e) {
    var target = $(this).attr('for');var type = $('#'+target+'Area input').attr('type');
    if(type=='password'){
      $('#'+target+'Area input').attr('type', 'text');$('#'+target+'Area .show_hide_password').html('<em class="icon ni ni-eye"></em>');
    } GenerateCode(target);
});
function GenerateCode(target) {
    charSet = 'ABCDEFGHIJKL0123456789MNOPQRSTUVWXYZ';var randomString = '';
    for (var i = 0; i < 10; i++) {
        var randomPoz = Math.floor(Math.random() * charSet.length); randomString += charSet.substring(randomPoz,randomPoz+1);
    }
    var set_value = randomString;$('#'+target).val(set_value);
};
$(document).on('click', '.copy-data', function(e) { var valCopy = $(this).attr('data'); CopyData(valCopy); });
function CopyData(data) {
    $('#IsCopy').val(data).removeClass('hide_element'); Alert('Menyalin data...','info'); var is = $('#IsCopy').val();
    if(is.length==0 || is==0){
        Alert('Tidak ada data untuk disalin.','danger');
    }else{
        var copyText = $("#IsCopy").select().val(); document.execCommand("copy"); $('#IsCopy').addClass('hide_element').val(''); Alert('Data berhasil disalin.','success');
    }
    ExitNotif(); return false;
};
function createTable(target, option=true, no_sort=[]){
    $('#'+target).DataTable({"info" : option,"autowidth": true,"lengthChange": false,"searching": option,"paging": option,
        "responsive": true,
        "columnDefs":[
            { "orderable": false, "targets": no_sort }
        ],
    });
};