<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>