<style>
.birthday-btn{ 
    cursor:pointer;
    opacity:1;
    transition:all 0.3s ease-in-out ;
}
.block-btn{
    pointer-events:none;
    opacity:0.3;
}
.copymatrix {
    opacity: 0;
    pointer-events: none;
    cursor:pointer;
}
.copymatrix.showicon {
    opacity: 1;
    pointer-events: auto;
}
</style> 
<script>
$( document ).ready(function() {
$('.birthday-btn').addClass('block-btn');
let inputready = false;
let titleArr = [
"1. Дата","2. Доп. числа","3. Характер","4. Энергия","5. Интерес","6. Здоровье",
"7. Логика","8. Труд","9. Удача","10. Долг","11. Память","12. Самооценка","13. Деньги",
"14. Талант","15. Цель","16. Семейность","17. Стабильность","18. Духовность","19. Темперамент"
];
let finObj = {};
//Контроль ввода на количество символов
$(document).on('input keypress keydown', 'input[name="birthday"]', function () {
    if(event.keyCode == 13) {
          event.preventDefault();
          return false;
    };
    let nm = $(this).val().replace(/[^0-9]/g,"");
    if(nm.length==8){
        $('.birthday-btn').removeClass('block-btn');inputready=true;
    }else{
        $('.birthday-btn').addClass('block-btn');inputready=false;
    };    
});    
    
$('.birthday-btn').click(function(e) {
if(inputready){
    //Получаем дату
    let date = $('input[name="birthday"]').val();
    finObj[titleArr[0]] = date;
    let arrDate = date.split('.');
    arrDate[0] = +arrDate[0];
    //Ищем сумму цифр дня и месяца из даты рождения
    let summMDarr = (arrDate[0]+arrDate[1]).split('');
    
    let summMD = 0;
    for (let i = 0; i < summMDarr.length; i++) {
	    summMD += Number(summMDarr[i]);
    };
    // Складываем все цифры года из нашей даты
    let summYarr = arrDate[2].split('');
    let summY = 0;
    for (let i = 0; i < summYarr.length; i++) {
	    summY += Number(summYarr[i]);
    };
    //1-е рабочее число
    let wNumArr = [0,0,0,0];
    wNumArr[0] = summMD+summY;
    //2-е рабочее число
    let secondWnumArr =  wNumArr[0].toString().split('');
    for (let i = 0; i < secondWnumArr.length; i++) {
	    wNumArr[1] += Number(secondWnumArr[i]);
    };
    //3-е рабочее число
    wNumArr[2] =  wNumArr[0] - summMDarr[0]*2 ;
    //4-е рабочее число
    let fourthNumArr =  wNumArr[2].toString().split('');
    for (let i = 0; i < fourthNumArr.length; i++) {
	    wNumArr[3] += Number(fourthNumArr[i]);
    };
    //Составляем сводный массив по полученным данным
    //По дате
    let svTable = [];
    for (let i = 0; i < 4; i++) { svTable.push(summMDarr[i])};
    for (let i = 0; i < 4; i++) { svTable.push(summYarr[i])};
    //По рабочим числам
    let wArr = [];
    for (let i = 0; i < wNumArr.length; i++) {
	    let spl = wNumArr[i].toString().split('');
	    if(spl.length==1) {spl[1]=spl[0];spl[0]='0'};
	    wArr.push(spl[0],spl[1]);
    };
    for (let i = 0; i < 8; i++) { svTable.push(wArr[i])};
    //Основные параметры
    let result = {};
    let mainNumb = [];
    svTable.forEach(function(a){
        result[a] = result[a] + 1 || 1;
    });
    for (let i = 0; i < 10; i++) { if (!result[i])  result[i]=0};
    for (let key in result) { mainNumb.push(result[key])};
    
    //Вывод данных
    //Доп числа
    let dopNumbers  = wNumArr[0]+', '+wNumArr[1]+', '+wNumArr[2]+', '+wNumArr[3];
    $('.additionnumb .tn-atom').text(dopNumbers);
    finObj[titleArr[1]] = dopNumbers;
    
    //Основные параметры
    let summNumb='';
    let mainOptFinal = [];
    for (let i = 1; i < 10; i++) {
        for (let j = 0; j < mainNumb[i] ; j++) { summNumb+=i};
        if(mainNumb[i]==0) summNumb='-';
        mainOptFinal.push(summNumb);
        $('.basicpr_'+i+' .tn-atom').text(summNumb);
        summNumb='';
    };
    
    //Дополнительные параметры
    let addOpt = [];
    function getAddOption(ind,em,ek,ep){
        addOpt[ind] = (mainOptFinal[em]+mainOptFinal[ek]+mainOptFinal[ep]).replace(new RegExp('-', 'g'),"").length;
        if(addOpt[ind]==0) addOpt[ind] = "-";
    };
    getAddOption(0,0,1,2);//Самооценка
    getAddOption(1,3,4,5);//Зарабатывание денег
    getAddOption(2,6,7,8);//Потенциал таланта
    getAddOption(3,0,3,6);//Целеустремленность
    getAddOption(4,1,4,7);//Семейность
    getAddOption(5,2,5,8);//Стабильность
    getAddOption(6,0,4,8);//Духовный потенциал
    getAddOption(7,2,4,6);//Темперамент
    
    for (let i = 0; i < 8; i++) { $('.addpr_'+(i+1)+' .tn-atom').text(addOpt[i])};
    //Заполняем объект для копирования
    //Основа
    for (let i = 2; i <= 10; i++) { finObj[titleArr[i]] = mainOptFinal[i-2] };
    //Доп параметры
    for (let i = 11; i <= 18; i++) {finObj[titleArr[i]] = addOpt[i-11] };
    $('.copymatrix').addClass('showicon');
 
};
});
$('.copymatrix').click(function(e) {
let copyMartixTxt = "";
$.each(finObj, function( key, value ) {
  copyMartixTxt += key+': '+value+'\n';
  
});  
if ( copyMartixTxt.trim().length > 0) {copyFunction(copyMartixTxt)};
});
function copyFunction(copy) {
    var textArea = document.createElement("textarea");
	textArea.value = copy;
	textArea.style.position = "fixed";  
	document.body.appendChild(textArea);
	textArea.focus();textArea.select();document.execCommand('copy');
	document.body.removeChild(textArea);
    
};
});
</script>