<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
	
<meta name="description" content="محاسبه خسارت تاخیر تادیه">
	<meta http-equiv="Cache-Control" content="max-age=200">
	<link rel="icon" type="image/x-icon" href="../5.ico">
	 
	<link rel="stylesheet" href="../css/q4r6w1t9.css">
	 
	 
	 
	<title>برگه جلب</title>
    <style>
     body {
            font-family: 'Tahoma', sans-serif;
        }
        #inputDiv, #tableContainer {
            margin: 20px;
            padding: 15px;
            border: 1px solid #ccc;
            border-radius: 5px;
            background-color: #f9f9f9;
        }
        table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 20px;
        }
        table, th, td {
            border: 1px solid #000;
        }
        th, td {
            padding: 8px;
            text-align: center;
        }
        .editableDiv {
            width: 100%;
            min-height: 100px;
            border: 1px solid #ccc;
            padding: 10px;
            background-color: #f9f9f9;
        }

        /* استایل برای ردیف‌های با موس روی آن */
        tr:hover {
            background-color: #d4edda; /* سبز ملایم */
            font-weight: bold;
            text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); /* سه‌بعدی */
        }

        /* استایل برای سلول‌های با ورودی هنگام هاور */
        tr:hover td input {
            background-color: #d4edda; /* تغییر پس‌زمینه ورودی‌ها به سبز ملایم */
            font-weight: bold; /* برجسته شدن متن */
        }

        /* استایل برای سلول‌های با ورودی */
        td input {
            width: 80%; /* عرض کامل برای ورودی‌ها */
            padding: 5px;
            text-align: center;
        }

         
        
       .deleteButton {
			background-color: red; /* رنگ پس‌زمینه قرمز */
			color: white; /* رنگ متن سفید */
			border: none; /* حذف حاشیه */
			border-radius: 50%; /* گرد کردن دکمه */
			width: 30px; /* عرض دکمه */
			height: 30px; /* ارتفاع دکمه */
			font-size: 20px; /* اندازه فونت */
			font-weight: bold; /* ضخامت متن */
			text-align: center; /* تراز متن در مرکز */
			line-height: 30px; /* قرار دادن متن در مرکز عمودی */
			cursor: pointer; /* تغییر نشانگر موس به حالت کلیک */
			box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); /* سایه برای سه‌بعدی شدن */
			transition: all 0.2s ease; /* انیمیشن برای تغییرات */
		}

.deleteButton:hover {
    background-color: darkred; /* تغییر رنگ پس‌زمینه هنگام هاور */
    transform: translateY(-3px); /* بالا بردن دکمه هنگام هاور */
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.4); /* سایه بیشتر و برجسته‌تر هنگام هاور */
}

.deleteButton:active {
    transform: translateY(2px); /* پایین آوردن دکمه هنگام کلیک */
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); /* بازگشت سایه به حالت اولیه */
}


        /* استایل برای ردیف‌های زوج */
        tr:nth-child(even) {
            background-color: #e6f2ff; /* آبی کم ملایم */
        }
		 /* مخفی کردن ستون شماره 4 */
        td:nth-child(4), th:nth-child(4) {
            display: none;
        }
		#dynamicTable {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    border-collapse: collapse;
    direction: rtl; /* برای راست به چپ بودن جدول */
}
.removeButton {
    background-color: red; /* رنگ پس‌زمینه قرمز */
    color: white; /* رنگ متن سفید */
    border: 1px solid black; /* مرز دکمه */
    padding: 10px 15px; /* فاصله داخلی دکمه */
    font-size: 16px; /* اندازه فونت */
    font-weight: bold; /* ضخیم بودن متن */
    text-align: center; /* مرکز قرار دادن متن */
    border-radius: 5px; /* گوشه‌های گرد */
    cursor: pointer; /* نشانگر ماوس به شکل دست */
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); /* سایه برای سه‌بعدی شدن */
    transition: all 0.2s ease; /* انیمیشن برای تغییرات */
}

/* حالت هاور */
.removeButton:hover {
    transform: translateY(-3px); /* بالا بردن دکمه هنگام هاور */
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.4); /* سایه بیشتر در هنگام هاور */
}

/* حالت فعال */
.removeButton:active {
    transform: translateY(2px); /* پایین آوردن دکمه هنگام کلیک */
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2); /* سایه کوچک‌تر هنگام کلیک */
}
.editButton {
    background-color: yellow; /* رنگ پس‌زمینه زرد */
    color: black; /* رنگ متن سیاه */
    border: none; /* حذف حاشیه */
    font-size: 20px; /* اندازه فونت */
    cursor: pointer; /* تغییر نشانگر موس به حالت کلیک */
    padding: 5px 10px; /* فاصله داخلی دکمه */
    border-radius: 5px; /* گرد کردن گوشه‌های دکمه */
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2); /* سایه برای دکمه */
    transition: all 0.2s ease; /* انیمیشن برای تغییرات */
}

/* تغییرات هنگام هاور */
.editButton:hover {
    background-color: gold; /* تغییر رنگ پس‌زمینه هنگام هاور */
    transform: translateY(-3px); /* بالا بردن دکمه هنگام هاور */
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3); /* سایه بیشتر هنگام هاور */
}

/* تغییرات هنگام کلیک */
.editButton:active {
    transform: translateY(2px); /* پایین آوردن دکمه هنگام کلیک */
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); /* بازگشت سایه به حالت اولیه */
}
.ali {
    border-radius:20px; /* گرد کردن گوشه‌ها */
    font-size: 18px;     /* افزایش اندازه فونت */
}

#inputDivEditable {
    font-size: 18px;           /* تنظیم اندازه فونت */
    font-family: 'Tahoma', 'Nasim', sans-serif;  /* تغییر خانواده فونت به نازنین */
    font-weight: bold;         /* استفاده از فونت ضخیم */
    height: 150px;              /* تنظیم ارتفاع */
   
}





    </style>
</head>


<div class="top-bar1">
  <div class="buttons-row">
   <button  class="but1" onclick="window.location.href='../index.html';"> صفحه اولیه</button> 
	 
   	<button  class="but1 "    >آموزش ایتا</button>
		<button  class="but1 "    >آموزش سروش</button>
  </div>
  <div class="description-row">
    <h1 class="description">
    برگه جلب
    </h1>
  </div>
</div>







<body>
<div id="inputDiv">
    <textarea id="inputDivEditable" rows="10" style="width: 100%;" placeholder="اجرائیه شامل یک چک یا چند چک و یا دارای خسارت تاخیر تادیه و یا بدون خسارت تاخیر تادیه را در اینجا وارد نماید"></textarea>
    <table>
        <tr>
            <td>
                <button class="but1" onclick="checkText()">محاسبه</button>
                <button class="but1" onclick="clearInputs1()">پاکسازی</button>
                <button class="but1" onclick="showTooltip1010()">راهنما</button>
                <button class="but1" onclick="updateTextWithTableData()">صدور برگه جلب</button>
                <button class="but1" onclick="copyText()">کپی برگه جلب</button>
                <button class="but1" onclick="checkText1()">افزودن ردیف</button>
               
            </td>
        </tr>
        <!-- ردیف جدید برای چهار دکمه کپی -->
        <tr>
            <td>
				 <button class="but1" onclick="printTable()">چاپ جدول</button>
                <button class="but1" onclick="copyToClipboard112()">کپی به صورت جدولی</button>
                <button class="but1" onclick="copyToClipboard12('markdown')">کپی به صورت خط عمودی</button>
                <button class="but1" onclick="copyToClipboard12('plain')">کپی به صورت متن ساده</button>
            </td>
        </tr>
    </table>
</div>


<div>
    <div>
        <label><input type="checkbox" checked onchange="toggleColumn(0)"> حذف</label>
        <label style="margin-right: 10px;"><input type="checkbox" checked onchange="toggleColumn(1)"> ویرایش</label>
        <label style="margin-right: 60px;"><input type="checkbox" checked onchange="toggleColumn(2)"> شماره ردیف</label>
         
        <label style="margin-right: 60px;"><input type="checkbox" checked onchange="toggleColumn(4)"> تاریخ</label>
        <label style="margin-right: 60px;"><input type="checkbox" checked onchange="toggleColumn(5)"> مبالغ</label>
        <label style="margin-right: 60px;"><input type="checkbox" checked onchange="toggleColumn(6)"> شاخص سررسید</label>
        <label style="margin-right: 60px;"><input type="checkbox" checked onchange="toggleColumn(7)"> آخرین شاخص</label>
        <label style="margin-right: 60px;"><input type="checkbox" checked onchange="toggleColumn(8)"> اصل و خسارت</label>
    </div>

    <table id="dynamicTable">
        <thead>
            <tr>
                <th>حذف</th>
                <th>ویرایش</th>
                <th>شماره<br>ردیف</th>
                <th>شماره<br>چک</th>
                <th>تاریخ</th>
                <th>مبالغ(به ریال)</th>
                <th>شاخص<br>سررسید</th>
                <th>آخرین<br>شاخص</th>
                <th>اصل<br>و خسارت</th>
            </tr>
        </thead>
        <tbody id="tableBody">
            <!-- ردیف‌ها اینجا اضافه می‌شوند -->
        </tbody>
    </table>
</div>


 
 
 <script>
 //محاسبه
function checkText() {
    var inputText = document.getElementById('inputDivEditable').value;

    // بررسی وجود کلمه "خسارت تاخیر تادیه" در متن وارد شده
  
    if (inputText.includes("خسارت تاخیر")) {
        ali(); // اگر خسارت تاخیر تادیه داشت 
		
    } else {
        ali2(); // اگر خسارت تاخیر تادیه نداشت
    }
}
 
</script>

<script>
//محاسبه خسارت تاخیر تادیه
function ali() {

processText16()//ورود مبلغ عددی به ریال یا تومان
processText6();//ورود مبلغ حروفی به ریال یا تومان
addDeleteButtonToTable()//افزودن باتن حذف در ستون اول 
addEditButtonToTable()//افزودن باتن ویرایش در ستون دوم
writeRowNumberInColumn3()//شماره ردیف
clearColumnsAndRemoveLastTwoRows()// پاک کردن محتوی ستون 7 و 8 و 9
reformatColumn5()//تبدیل تاریخ به فرمت صحیح
writeToColumn6();// تبدیل به عدد کردن ستون 6
removeRialFromColumn6()//حذف ریال از درون ستون 6 که عدد شده است
searchAndWriteValue();//شاخص سررسید
writeToColumn8();//آخرین شاخص
calculateAndWriteToColumn9()//محاسبه خسارت تاخیر تادیه
sumColumnAndAddRow1();//جمع کردن خسارات تاخیر تادیه
deleteRowsWithZero(); //حذف ردیفی که ستون 6 حاوی عدد صفر باشد
 deleteRowIfEmpty();//حذف ردیفی که ستون 6 ان خالی است
addLastRowCalculation();//نیم عشر دولتی
formatNumbersInColumn6();//کاما دارد کردن ستون 6
formatNumbersInColumn9();//کاما دار کردن ستون 9

 
 addRowNumbers();//ویرایش ردیف بعد از انجام حذفیات
}
</script>

 
 
<script>
//محاسبه بدون خسارت تاخیر تادیه
function ali2() {

processText16()//ورود مبلغ عددی به ریال یا تومان
processText6();//ورود مبلغ حروفی به ریال یا تومان
appendRemoveButtonToTable();//افزودن باتن حذف در ستون اول 
addRedEditButtonToTable()//افزودن باتن ویرایش در ستون دوم
writeRowNumberInColumn3()//شماره ردیف
clearColumnsAndRemoveLastTwoRows()// پاک کردن محتوی ستون 7 و 8 و 9
reformatColumn5()//تبدیل تاریخ به فرمت صحیح
writeToColumn6();// تبدیل به عدد کردن ستون 6
removeRialFromColumn6()//حذف ریال از درون ستون 6 که عدد شده است
checkAndHideColumns()//مخفی کردن ستون های 8 و 9
sumColumnAndAddRow()//جمع ستون 6
 addRowWithCalculatedValue()//نیم عشر  دولتی	
formatNumbersInColumn6();//کاما دارد کردن ستون 6	
formatNumbersInColumn7()//کامادار کردن ستون 7
deleteRowsWithZero();//حذف ردیفی که ستون 6 حاوی عدد صفر باشد
deleteRowIfEmpty();//حذف ردیفی که ستون 6 ان خالی است
deleteColumnHeaderText();//حذف کلمه شاخص سررسید
addRowNumbers();//ویرایش ردیف بعد از انجام حذفیات
}
</script>




<script>
//حذف و و یراش بدون خسارت
function ali3() {
removeLastTwoRows();//حذف دو ردیف آخر 
 appendRemoveButtonToTable();//افزودن باتن حذف در ستون اول 
addRedEditButtonToTable()//افزودن باتن ویرایش در ستون دوم
writeRowNumberInColumn3()//شماره ردیف
clearColumnsAndRemoveLastTwoRows()// پاک کردن محتوی ستون 7 و 8 و 9
writeToColumn6();// تبدیل به عدد کردن ستون 6
checkAndHideColumns()//مخفی کردن ستون های 8 و 9
sumColumnAndAddRow()//جمع ستون 6
 addRowWithCalculatedValue()//نیم عشر  دولتی	
formatNumbersInColumn6();//کاما دارد کردن ستون 6	
formatNumbersInColumn7()//کامادار کردن ستون 7
}
</script>





<script>
//حذف و ویرایش با خسارت
function ali4() {
removeLastTwoRows();//حذف دو ردیف آخر 
addDeleteButtonToTable()//افزودن باتن حذف در ستون اول 
addEditButtonToTable()//افزودن باتن ویرایش در ستون دوم
writeRowNumberInColumn3()//شماره ردیف
clearColumnsAndRemoveLastTwoRows()// پاک کردن محتوی ستون 7 و 8 و 9
writeToColumn6();// تبدیل به عدد کردن ستون 6
searchAndWriteValue();//شاخص سررسید
writeToColumn8();//آخرین شاخص
calculateAndWriteToColumn9()//محاسبه خسارت تاخیر تادیه
sumColumnAndAddRow1();//جمع کردن خسارات تاخیر تادیه
addLastRowCalculation();//نیم عشر دولتی
formatNumbersInColumn6();//کاما دارد کردن ستون 6
formatNumbersInColumn9();//کاما دار کردن ستون 9
   
}
</script>

<script>
// محاسبه نیم عشر دولتی
function addRowWithCalculatedValue() {
    // گرفتن بدنه جدول
    var tableBody = document.getElementById("tableBody");
    
    // بررسی اینکه آیا جدول حداقل یک ردیف دارد
    if (tableBody.rows.length === 0) {
        alert("جدول خالی است!");
        return;
    }

    // گرفتن آخرین ردیف
    var lastRow = tableBody.rows[tableBody.rows.length - 1];
    
    // گرفتن مقدار ستون هفتم (شاخص سررسید)
    var column7Value = lastRow.cells[6].innerText || "0";  // استفاده از innerText به جای textContent
    
    // حذف کاماها از مقدار
    column7Value = column7Value.replace(/,/g, "");

    // تبدیل مقدار به عدد
    var column7Number = parseFloat(column7Value);
    
    if (isNaN(column7Number)) {
        deleteRowIfEmpty()
        return; // برای جلوگیری از ادامه اجرای تابع
    }

    // محاسبه مقدار جدید
    var newValue = Math.floor(column7Number / 20); // استفاده از Math.floor برای حذف اعشار

    // ایجاد یک ردیف جدید
    var newRow = tableBody.insertRow();

    // ایجاد 7 ستون در ردیف جدید
    for (var i = 0; i < 7; i++) {
        var newCell = newRow.insertCell(i);
        if (i === 5) { // ستون 6
            // درج عبارت "نیم عشر دولتی" در ستون 6
            newCell.innerText = "نیم عشر دولتی";  // استفاده از innerText به جای textContent
        } else if (i === 6) { // ستون 7
            // درج مقدار جدید در ستون 7
            newCell.innerText = newValue; // نمایش مقدار محاسبه‌شده
        } else {
            newCell.innerText = ""; // سایر ستون‌ها خالی
        }
    }
}
</script>





  
  
<script>
   // اعداد فارسی به کلمه و حروف می باشد مانند پنجاه هزار ریال
function processText16() {
    var inputDivEditable = document.getElementById('inputDivEditable').value;

    var persianNumbers = {
        "یک": 1,
        "دو": 2,
        "سه": 3,
        "چهار": 4,
        "پنج": 5,
        "شش": 6,
        "هفت": 7,
        "هشت": 8,
        "نه": 9,
        "ده": 10,
        "یازده": 11,
        "دوازده": 12,
        "سیزده": 13,
        "چهارده": 14,
        "پانزده": 15,
        "شانزده": 16,
        "هفده": 17,
        "هجده": 18,
        "نوزده": 19,
        "بیست": 20,
        "سی": 30,
        "چهل": 40,
        "پنجاه": 50,
        "شصت": 60,
        "هفتاد": 70,
        "هشتاد": 80,
        "نود": 90,
        "صد": 100,
        "دویست": 200,
        "سیصد": 300,
        "چهارصد": 400,
        "پانصد": 500,
        "ششصد": 600,
        "هفتصد": 700,
        "هشتصد": 800,
        "نهصد": 900,
        "هزار": 1000,
        "میلیون": 1000000,
        "میلیارد": 1000000000
    };

    function convertToNumber(text) {
        var words = text.split(' ');
        var total = 0;
        var currentValue = 0;

        for (var i = 0; i < words.length; i++) {
            var word = words[i];
            if (persianNumbers[word]) {
                if (word === "هزار" || word === "میلیون" || word === "میلیارد") {
                    currentValue *= persianNumbers[word];
                    total += currentValue;
                    currentValue = 0;
                } else {
                    currentValue += persianNumbers[word];
                }
            }
        }

        total += currentValue;
        return total;
    }

    // استخراج مبالغ و تاریخ‌ها از متن
    var amounts = inputDivEditable.match(/(?:\d{1,3}(?:[\/,]\d{3})*\s*(?:ریال|تومان)|\d+\s*(?:ریال|تومان)|[یک دو سه چهار پنج شش هفت هشت نه ده یازده دوازده سی چهل پنجاه صد هزار میلیون میلیارد]+\s*(?:تومان|ریال))/g) || [];
    var dates = inputDivEditable.match(/\b\d{4}[\/.-]\d{1,2}[\/.-]\d{1,2}\b|\b\d{1,2}[\/.-]\d{1,2}[\/.-]\d{4}\b/g) || [];

    var tableBody = document.getElementById('tableBody');

    if (amounts.length === 0 && dates.length === 0) {
        var row = tableBody.insertRow();
        var cell = row.insertCell(4);
        cell.textContent = 'مبلغی یا تاریخی یافت نشد';
        return;
    }

    for (var i = 0; i < amounts.length; i++) {
        var row = tableBody.insertRow();
        while (row.cells.length < 9) {
            row.insertCell();
        }

        var formattedDate = 'تاریخی یافت نشد';
        if (dates[i]) {
            var date = dates[i];
            var parts = date.split(/[\/.-]/);
            var year, month, day;
            if (parts[0].length === 4) {
                year = parts[0];
                month = parts[1];
                day = parts[2];
            } else {
                day = parts[0];
                month = parts[1];
                year = parts[2];
            }

            month = ('0' + month).slice(-2);
            day = ('0' + day).slice(-2);
            formattedDate = year + '/' + month + '/' + day;
        }

        var formattedAmount = 'مقدار یافت نشد';
        if (amounts[i]) {
            var cleanedAmount = amounts[i].trim();
            var isToman = cleanedAmount.indexOf("تومان") !== -1;
            var numericAmount = isNaN(cleanedAmount) ? convertToNumber(cleanedAmount) : cleanedAmount;

            if (isToman) {
                numericAmount *= 10;
            }

            formattedAmount = formatNumberWithSlash(numericAmount);
        }

        row.cells[4].innerHTML = '<input type="text" class="ali" value="' + (formattedDate || '') + '" />';
        row.cells[5].innerHTML = '<input type="text" class="ali" value="' + (formattedAmount || '') + '" />';
    }
}

function formatNumberWithSlash(number) {
    var numStr = number.toString();
    var parts = numStr.split('.');
    var integerPart = parts[0];
    var decimalPart = parts[1] || '';

    var formattedInteger = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, '/');

    formattedInteger = formattedInteger.replace(/[,\/\\]/g, '');

    return decimalPart ? formattedInteger + '.' + decimalPart : formattedInteger;
}
</script>



<script>
// اعداد به ریال می‌باشد 
function processText6() {
    // دریافت متن وارد شده از textarea
    var inputText = document.getElementById("inputDivEditable").value;

    // الگوی برای شناسایی تاریخ‌های شمسی (حالت‌های مختلف)
    var datePatternLTR = /\d{4}[-\/]\d{1,2}[-\/]\d{1,2}/g; // برای تاریخ‌های چپ‌چین (Left-to-Right)
    var datePatternRTL = /\d{1,2}[-\/]\d{1,2}[-\/]\d{4}/g; // برای تاریخ‌های راست‌چین (Right-to-Left)

    // الگوی برای پیدا کردن مقادیر قبل از "ریال" و بعد از "مبلغ"
    var amountPattern = /(مبلغ\s+([^\s]+)|([^\s]+)\s*(ریال|تومان))/g;

    // استخراج کلمات قبل از "ریال" و بعد از "مبلغ"
    var valuesBeforeRialAndAfterAmount = [];
    var match;
    while ((match = amountPattern.exec(inputText)) !== null) {
        if (match[2] && match[2].length >= 5) {
            // مقدار بعد از "مبلغ" و بیشتر از 4 حرف
            valuesBeforeRialAndAfterAmount.push(match[2]);
        } else if (match[3] && match[3].length >= 5) {
            // مقدار قبل از "ریال" و بیشتر از 4 حرف
            valuesBeforeRialAndAfterAmount.push(match[3]);
        }
    }

    // استخراج تاریخ‌های شمسی چپ‌چین و راست‌چین
    var datesLTR = inputText.match(datePatternLTR) || [];
    var datesRTL = inputText.match(datePatternRTL) || [];
    
    // ترکیب تاریخ‌های شمسی چپ‌چین و راست‌چین
    var allDates = datesLTR.concat(datesRTL);

    // افزودن داده‌ها به جدول
    var table = document.getElementById("dynamicTable").getElementsByTagName('tbody')[0];

    // بررسی اینکه آیا تعداد مقادیر بیشتر از تاریخ‌ها است یا خیر
    var maxLength = Math.max(valuesBeforeRialAndAfterAmount.length, allDates.length);

    // افزودن ردیف‌ها به جدول
    for (var i = 0; i < maxLength; i++) {
        var newRow = table.insertRow();

        // اضافه کردن داده‌ها به سلول‌ها
        newRow.insertCell(0).innerHTML = '';
        newRow.insertCell(1).innerHTML = '';
        newRow.insertCell(2).innerHTML = '';
        newRow.insertCell(3).innerHTML = '';
        
        // بررسی وجود تاریخ و اضافه کردن مقدار مناسب
        if (allDates[i]) {
            newRow.insertCell(4).innerHTML = '<input type="text" class="ali" value="' + (allDates[i] || '') + '" />';
        } else {
            // اگر تاریخ وجود ندارد، مقدار بعد از "ریال" را در ستون 5 قرار دهیم
            var amountText = valuesBeforeRialAndAfterAmount[i] || 'مقدار ریال پیدا نشد';
            // بررسی و تعیین نوع هزینه (مثلاً هزینه دادرسی، هزینه اجرای حکم، و غیره)
            if (amountText.indexOf("734") !== -1) {
                newRow.insertCell(4).innerHTML = 'بابت هزینه دادرسی';
            } else if (amountText.indexOf("4") !== -1) {
                newRow.insertCell(4).innerHTML = 'بابت حق الوکاله';
            } else if (amountText.indexOf("44") !== -1) {
                newRow.insertCell(4).innerHTML = 'بابت هزینه اجرای حکم';
            } else {
                newRow.insertCell(4).innerHTML = 'تاریخ یافت نشد.'; // در صورت عدم شناسایی
            }
        }

        newRow.insertCell(5).innerHTML = '<input type="text" class="ali" value="' + (valuesBeforeRialAndAfterAmount[i] || '') + '" />';

        newRow.insertCell(6).innerHTML = ""; // شاخص سررسید
        newRow.insertCell(7).innerHTML = ""; // آخرین شاخص
        newRow.insertCell(8).innerHTML = ""; // اصل و خسارت
    }
}
</script>




<script>
// اضافه کردن ضربدر در ستون اول
// حذف ردیف محاسبه خسارت تاخیر تادیه
function addDeleteButtonToTable() {
    const tableBody = document.getElementById("tableBody");
    const rows = tableBody.getElementsByTagName("tr");

    // استفاده از حلقه استاندارد برای سازگاری با نسخه‌های قدیمی‌تر
    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];

        // دسترسی به سلول اول ردیف
        var firstCell = row.cells[0];
        
        if (firstCell) {
            // پاک کردن محتوای موجود در سلول اول (در صورت وجود)
            firstCell.textContent = "";

            // ایجاد دکمه حذف
            var crossButton = document.createElement("button");
            crossButton.textContent = "✖"; // استفاده از کاراکتر ضربدر
            crossButton.className = "deleteButton";

            // اضافه کردن event listener برای حذف
            crossButton.addEventListener("click", function () {
                var confirmDelete = confirm("آیا می خواهید این ردیف را حذف کنید؟");
                if (confirmDelete) {
                    var rowToDelete = this.closest("tr");
                    if (rowToDelete) {
                        rowToDelete.parentNode.removeChild(rowToDelete);
                    }
                    ali4();
                }
            });

            // اضافه کردن دکمه به سلول اول
            firstCell.appendChild(crossButton);
        }
    }
}

// اجرای تابع برای اضافه کردن دکمه حذف
addDeleteButtonToTable();
</script>

<script>
// اضافه کردن ضربدر در ستون اول
// حذف ردیف در موارد بدون خسارت تاخیر تادیه
function appendRemoveButtonToTable() {
    var tableBody = document.getElementById("tableBody");
    var rows = tableBody.getElementsByTagName("tr");

    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];

        // دسترسی به سلول اول ردیف
        var firstCell = row.cells[0];
        
        if (firstCell) {
            // پاک کردن محتوای موجود در سلول اول (در صورت وجود)
            firstCell.textContent = "";

            // ایجاد دکمه حذف
            var squareButton = document.createElement("button");
            squareButton.textContent = "✖"; // استفاده از کاراکتر ضربدر
            squareButton.className = "removeButton";

            // تنظیم استایل دکمه
            squareButton.style.border = "1px solid black";
            squareButton.style.borderRadius = "0"; // مربع بودن دکمه
            squareButton.style.backgroundColor = "red"; // رنگ قرمز برای دکمه
            squareButton.style.color = "white"; // رنگ سفید برای ضربدر

            // اضافه کردن event listener برای حذف
            squareButton.addEventListener("click", function () {
                var confirmDelete = confirm("آیا می خواهید این ردیف را حذف کنید؟");
                if (confirmDelete) {
                    var rowToDelete = this.parentNode.parentNode;
                    rowToDelete.parentNode.removeChild(rowToDelete);
                    ali3();
                }
            });

            // اضافه کردن دکمه به سلول اول
            firstCell.appendChild(squareButton);
        }
    }
}

// اجرای تابع برای اضافه کردن دکمه حذف
appendRemoveButtonToTable();
</script>
 
<script>
// اضافه کردن دکمه ویرایش (مداد زرد) در ستون دوم
function addEditButtonToTable() {
    var tableBody = document.getElementById("tableBody");
    var rows = tableBody.getElementsByTagName("tr");

    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        var secondCell = row.cells[1]; // دسترسی به سلول دوم

        if (secondCell) {
            // پاک کردن محتوای موجود در سلول دوم (در صورت وجود)
            secondCell.textContent = "";

            // ایجاد دکمه ویرایش
            var editButton = document.createElement("button");
            editButton.innerHTML = "✏️"; // استفاده از کاراکتر مداد زرد
            editButton.className = "editButton";

            // اضافه کردن event listener برای ویرایش
            editButton.onclick = (function () {
                var confirmEdit = confirm("آیا می خواهید این ردیف را ویرایش کنید؟");
                if (confirmEdit) {
                    ali4(); // اجرای تابع مربوط به ویرایش
                }
            });

            // اضافه کردن دکمه به سلول دوم
            secondCell.appendChild(editButton);
        }
    }
}

// اجرای تابع برای اضافه کردن دکمه ویرایش
addEditButtonToTable();
</script>


<script>
// تابع ویرایش دکمه
function addRedEditButtonToTable() {
    var tableBody = document.getElementById("tableBody");
    var rows = tableBody.getElementsByTagName("tr");

    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        var secondCell = row.cells[1]; // دسترسی به سلول دوم ردیف

        if (secondCell) {
            secondCell.textContent = ""; // پاک کردن محتوای موجود

            // ایجاد دکمه ویرایش
            var editButton = document.createElement("span");
            editButton.innerHTML = "✏️"; // استفاده از کاراکتر مداد قرمز
            editButton.className = "editButton";

            // اعمال استایل به دکمه
            editButton.style.color = "red"; // رنگ قرمز
            editButton.style.fontSize = "24px"; // اندازه بزرگتر
            editButton.style.cursor = "pointer"; // تغییر نشانگر ماوس

            // افزودن رویداد کلیک
            editButton.onclick = function () {
                var confirmEdit = confirm("آیا می خواهید این ردیف را ویرایش کنید؟");
                if (confirmEdit) {
                    // کد مربوط به ویرایش
                    ali3();
                }
            };

            // افزودن دکمه به سلول
            secondCell.appendChild(editButton);
        }
    }
}

// اجرای تابع
addRedEditButtonToTable();
</script>


 <script>
// تابع ویرایش دکمه
function addRedEditButtonToTable() {
    var tableBody = document.getElementById("tableBody");
    if (!tableBody) return; // بررسی وجود جدول

    var rows = tableBody.getElementsByTagName("tr");

    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        if (row.cells.length > 1) { // اطمینان از وجود سلول دوم
            var secondCell = row.cells[1]; // دسترسی به سلول دوم ردیف
            secondCell.textContent = ""; // پاک کردن محتوای موجود

            // ایجاد دکمه ویرایش
            var editButton = document.createElement("span");
            editButton.appendChild(document.createTextNode("✏️")); // استفاده از متن
            editButton.className = "editButton";

            // اعمال استایل به دکمه
            editButton.style.color = "red"; // رنگ قرمز
            editButton.style.fontSize = "24px"; // اندازه بزرگتر
            editButton.style.cursor = "pointer"; // تغییر نشانگر ماوس

            // افزودن رویداد کلیک
            editButton.onclick = function () {
                var confirmEdit = confirm("آیا می خواهید این ردیف را ویرایش کنید؟");
                if (confirmEdit) {
                    // کد مربوط به ویرایش
                    if (typeof ali3 === "function") {
                        ali3();
                    } else {
                        console.warn("تابع ali3 تعریف نشده است.");
                    }
                }
            };

            // افزودن دکمه به سلول
            secondCell.appendChild(editButton);
        }
    }
}

// اجرای تابع
document.addEventListener("DOMContentLoaded", function () {
    addRedEditButtonToTable();
});
</script>

 
 
 
<script>
// ایجاد شماره ردیف
function writeRowNumberInColumn3() {
    const tableBody = document.getElementById("tableBody");
    const rows = tableBody.getElementsByTagName("tr");
    let rowNumber = 1; // شروع شماره ردیف از 1
    for (let i = 0; i < rows.length; i++) {
        const column3 = rows[i].cells[2]; // ستون سوم (شمارش از صفر شروع می‌شود)
        if (column3) {
            column3.textContent = rowNumber; // نوشتن شماره ردیف
            rowNumber++; // افزایش شماره ردیف برای ردیف بعدی
        }
    }
    /*clearColumnsAndRemoveLastTwoRows() */
}
</script>

 
 <script>
// ایجاد شماره ردیف تا دو ردیف مانده به آخر
function addRowNumbersBeforeSecondLast() {
    var tableBody = document.getElementById("tableBody");
    var rows = tableBody.getElementsByTagName("tr");
    var rowNumber = 1; // شروع شماره ردیف از 1

    // تعداد ردیف‌های جدول
    var rowCount = rows.length;

    // شمارش ردیف‌ها و قرار دادن شماره ردیف در ستون سوم
    for (var i = 0; i < rowCount - 2; i++) { // تا دو ردیف مانده به آخر
        var row = rows[i];
        var column3 = row.cells[2]; // ستون سوم (شمارش از صفر شروع می‌شود)

        if (column3) {
            column3.textContent = rowNumber; // نوشتن شماره ردیف در ستون 3
            rowNumber++; // افزایش شماره ردیف برای ردیف بعدی
        }
    }
}
</script>

<script>
// پاک کردن محتوی ستون‌های 7، 8 و 9
function clearColumnsAndRemoveLastTwoRows() {
    // دسترسی به بدنه جدول
    var tableBody = document.getElementById('tableBody');
    
    // بررسی وجود جدول
    if (!tableBody) return;

    // دسترسی به تمام ردیف‌ها
    var rows = tableBody.getElementsByTagName('tr');
    
    // حلقه برای پاک کردن مقادیر ستون‌های 7، 8 و 9
    for (var i = 0; i < rows.length; i++) {
        var cells = rows[i].getElementsByTagName('td');
        
        if (cells.length > 8) {
            // پاک کردن محتوای ستون‌های 7، 8 و 9
            cells[6].textContent = '';  // ستون 7
            cells[7].textContent = '';  // ستون 8
            cells[8].textContent = '';  // ستون 9
        }
    }
}
</script>


<script>
 
 
// تبدیل ستون 6 به عدد
function writeToColumn6() {
    const tableBody = document.getElementById("tableBody");
    const rows = tableBody.getElementsByTagName("tr");
    for (let i = 0; i < rows.length; i++) {
        const row = rows[i];
        const column6 = row.cells[5]; // ستون ششم
        const input = column6.getElementsByClassName("ali")[0]; // پیدا کردن اینپوت با کلاس ali در ستون ششم

        if (input && input.value.trim() !== "") { // اطمینان از اینکه ورودی خالی نباشد
            // حذف کاما، بک‌اسلش، نقطه، خط تیره و اسلش و تبدیل به عدد
            const originalValue = input.value.replace(/[,\\.\-/]/g, '');
            input.value = originalValue; // نوشتن مقدار بدون این کاراکترها
        }
    }
}
 

</script>




<script type="text/javascript">
    // بدست آوردن شاخص سررسید
    function searchAndWriteValue() {
        var table = document.getElementById('dynamicTable');
        var rows = table.getElementsByTagName('tr');
        
        for (var i = 1; i < rows.length; i++) {
            var cells = rows[i].getElementsByTagName('td');
            
            var inputField = cells[4] ? cells[4].getElementsByTagName('input')[0] : null;  // ستون ۵ تاریخ
            if (inputField && inputField.value) {
                var dateValue = inputField.value.replace(/\\/g, ''); // حذف بک اسلش‌ها
                var dateParts = dateValue.split('/');
                var finalDate = dateParts[0] + dateParts[1]; // گرفتن سال و ماه
                
                // جستجو در لیست برای تطابق با عدد
                for (var j = 0; j < list.length; j++) {
                    if (list[j].number === finalDate) {
                        // اگر عدد مطابقت داشت، مقدار value را در ستون ۷ بنویسیم
                        var targetCell = cells[6]; // ستون ۷
                        if (targetCell) {
                            targetCell.textContent = list[j].value; // استفاده از textContent به جای innerText
                        }
                        break; // اگر پیدا کردیم، از حلقه خارج می‌شویم
                    }
                }
            }
        }
    }
</script>



<script>
// درج آخرین شاخص درون ستون 8
function writeToColumn8() {
    // دسترسی به تمامی ردیف‌ها در جدول
    var table = document.getElementById('dynamicTable');
    var rows = table.getElementsByTagName('tr');

    // پیمایش در ردیف‌ها (شروع از ردیف دوم برای نادیده گرفتن سربرگ)
    for (var i = 1; i < rows.length; i++) {
        var cells = rows[i].getElementsByTagName('td');
        
        // بررسی اینکه سلول‌ها وجود دارند و ستون 8 (سلول 7) قابل دسترسی است
        if (cells.length > 7) {
            var targetCell = cells[7]; // ستون 8
            targetCell.innerHTML = aa111;  // قرار دادن مقدار 1339.1
        }
    }
}
</script>


<script>
//محاسبه خسارت تاخیر تادیه
//یعنی تقسیم آخرین شاخص بر شاخص هر قسط ضرب در محکوم به
function calculateAndWriteToColumn9() {
    const table = document.getElementById('dynamicTable');
    const rows = table.getElementsByTagName('tr'); // تمام ردیف‌ها را می‌گیرد
    for (let i = 1; i < rows.length; i++) { // شروع از i = 1 برای اینکه ردیف عنوان را نگیرد
        const row = rows[i];
        const column7 = row.cells[6].textContent; // مقدار ستون 7 (استفاده از textContent به جای innerText)
        const column8 = row.cells[7].textContent; // مقدار ستون 8 (استفاده از textContent به جای innerText)
        const column6Input = row.cells[5].querySelector('input'); // مقدار ورودی ستون 6
        const column6 = column6Input ? column6Input.value : 0; // مقدار ستون 6 (اگر ورودی وجود داشته باشد)

        if (column7 && column8 && column6Input) {
            const result = (parseFloat(column8) / parseFloat(column7)) * parseFloat(column6); // تقسیم و ضرب
            row.cells[8].textContent = Math.floor(result); // نمایش نتیجه در ستون 9 (بدون اعشار، استفاده از textContent)
        }
    }
}
</script>


<script>
//جمع کردن تمامی اصل و خسارت های تاخیر تادیه
function sumColumnAndAddRow1() {
    var table = document.getElementById("dynamicTable");
    var rows = table.getElementsByTagName("tr");
    var sum = 0;

    // حلقه برای جمع کردن مقادیر ستون 9 (شماره ستون 9، بر اساس اندیس از 0 شروع می‌شود)
    for (var i = 1; i < rows.length; i++) {
        var cells = rows[i].getElementsByTagName("td");
        var value = parseFloat(cells[8].textContent); // استفاده از textContent به جای innerText برای سازگاری بهتر با فایرفاکس 40

        // اگر مقدار عددی باشد (برای جلوگیری از اشتباهات)
        if (!isNaN(value)) {
            sum += value;
        }
    }

    // ایجاد یک ردیف جدید
    var newRow = table.insertRow(-1); // اضافه کردن ردیف به آخر جدول
    for (var j = 0; j < 7; j++) { // ایجاد خانه‌های خالی برای ستون‌های دیگر تا ستون 8
        var newCell = newRow.insertCell(j);
        newCell.innerHTML = "";
    }

    // اضافه کردن عبارت "مجموع محکوم به ها" به ستون 8
    var newCell8 = newRow.insertCell(7); // ستون 8 اندیس 7 است
    newCell8.innerHTML = "مجموع محکوم به ها"; // عبارت در ستون 8

    // اضافه کردن مجموع به ستون 9 در ردیف جدید و نمایش بدون اعشار
    var newCell9 = newRow.insertCell(8); // ستون 9 اندیس 8 است
    newCell9.innerHTML = Math.floor(sum); // نمایش مجموع در ستون 9
    /*addLastRowCalculation();*/
}
</script>


<script>
// محاسبه نیم عشر دولتی در بحث خسارت تاخیر تادیه
function addLastRowCalculation() {
    var table = document.getElementById("dynamicTable");
    var tbody = document.getElementById("tableBody");

    if (tbody.rows.length === 0) {
        alert("جدول خالی است!");
        return;
    }

    // پیدا کردن آخرین ردیف و مقدار ستون 9
    var lastRow = tbody.rows[tbody.rows.length - 1];
    var column9 = lastRow.cells[8];

    if (!column9 || isNaN(Number(column9.innerText))) {
        alert("ستون 9 شامل عدد معتبری نیست!");
        return;
    }

    // محاسبه نیم عشر
    var value = Number(column9.innerText);
    var result = Math.floor(value / 20); // عدد بدون اعشار

    // ردیف جدید اضافه کنید
    var newRow = tbody.insertRow(tbody.rows.length);

    // ستون حذف
    var deleteCell = newRow.insertCell(0);
    deleteCell.innerText = "";

    // ستون ویرایش
    var editCell = newRow.insertCell(1);
    editCell.innerText = "";

    // ستون‌های خالی تا ستون 7
    for (var i = 2; i < 7; i++) {
        var emptyCell = newRow.insertCell(i);
        emptyCell.innerText = "";
    }

    // ستون 8: نیم عشر دولتی
    var column8 = newRow.insertCell(7);
    column8.innerText = "نیم عشر دولتی";

    // ستون 9: نتیجه
    var column9Cell = newRow.insertCell(8);
    column9Cell.innerText = result;

    // اسکرول به آخرین ردیف
    newRow.scrollIntoView();
}
</script>

<script>
//کامادار کردن اعداد درون ستون 6
function formatNumbersInColumn6() {
    const table = document.getElementById('dynamicTable');
    const rows = table.querySelectorAll('tbody tr');

    for (let i = 0; i < rows.length; i++) {
        const row = rows[i];
        const inputColumn6 = row.cells[5].querySelector('input'); // ستون 6 (در ایندکس 5 قرار دارد)

        if (inputColumn6) {
            let number = inputColumn6.value; // مقدار داخل input ستون 6
            number = number.replace(/\D/g, ''); // حذف هر چیزی غیر از اعداد

            if (number) {
                // تبدیل به فرمت عدد با کاما به روش دستی
                let formattedNumber = '';
                let counter = 0;

                // معکوس کردن عدد برای اضافه کردن کاما از سمت راست
                number = number.split('').reverse().join('');

                for (let j = 0; j < number.length; j++) {
                    if (counter === 3) {
                        formattedNumber += ','; // اضافه کردن کاما
                        counter = 0;
                    }
                    formattedNumber += number[j];
                    counter++;
                }

                // معکوس کردن دوباره عدد و نمایش در input
                inputColumn6.value = formattedNumber.split('').reverse().join('');
            }
        }
    }
}
</script>
<script>
//کاما دار کردن ستون 9
function formatNumbersInColumn9() {
    const table = document.getElementById('dynamicTable');
    const rows = table.getElementsByTagName('tr'); // استفاده از getElementsByTagName برای سازگاری با مرورگرهای قدیمی

    for (let i = 0; i < rows.length; i++) {
        const row = rows[i];
        const cells = row.getElementsByTagName('td'); // استفاده از getElementsByTagName برای دریافت سلول‌ها
        const column9 = cells[8]; // ستون 9 (در ایندکس 8 قرار دارد)

        if (column9) {
            let number = column9.innerText || column9.textContent; // برای سازگاری با مرورگرهای قدیمی‌تر

            number = number.replace(/\D/g, ''); // حذف هر چیزی غیر از اعداد

            if (number) {
                number = parseInt(number).toLocaleString(); // تبدیل به فرمت عدد با کاما
                column9.innerText = number; // نمایش عدد فرمت شده
            }
        }
    }
}
</script>

<script>
// کاما دار کردن ستون 7
function formatNumbersInColumn7() {
    const table = document.getElementById('dynamicTable');
    const rows = table.querySelectorAll('tbody tr');

    for (let i = 0; i < rows.length; i++) {
        const row = rows[i];
        const column7 = row.cells[6]; // ستون 7 (در ایندکس 6 قرار دارد)

        if (column7) {
            let number = column7.textContent; // استفاده از textContent به جای innerText

            number = number.replace(/\D/g, ''); // حذف هر چیزی غیر از اعداد

            if (number) {
                number = parseInt(number).toLocaleString(); // تبدیل به فرمت عدد با کاما
                column7.textContent = number; // نمایش عدد فرمت شده
            }
        }
    }
}
</script>


<script>
// حذف دو ردیف آخر
function removeLastTwoRows() {
    const tableBody = document.getElementById('tableBody');
    if (tableBody) {
        let rows = tableBody.rows;
        let rowCount = rows.length;
        for (let i = 0; i < 2; i++) {
            if (rowCount > 0) {
                tableBody.deleteRow(rowCount - 1);
                rowCount--;
            }
        }
    } else {
        console.error('جدول با id مشخص شده پیدا نشد.');
    }
}
</script>


 
<script>

// جمع بستن ستون 6 و نمایش "مجموع محکوم به ها" در ستون 6 و مجموع در ستون 7
function sumColumnAndAddRow() {
    // دریافت تمام ردیف‌های جدول
    var rows = document.querySelectorAll('#dynamicTable tbody tr');
    var total = 0;

    // جمع کردن اعداد درون ستون 6
    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        var input = row.querySelector('td:nth-child(6) input.ali'); // گرفتن input با کلاس ali در ستون 6
        if (input && input.value.trim() !== "" && !isNaN(input.value)) {
            total += parseFloat(input.value); // جمع کردن مقادیر
        }
    }

    // تبدیل مجموع به فرمت عددی بدون اعشار
    total = Math.floor(total); // حذف اعشار

    // اضافه کردن یک ردیف جدید
    var newRow = document.createElement('tr');

    // اضافه کردن سلول‌های خالی برای ستون‌های دیگر (تا ستون 5)
    for (var j = 0; j < 5; j++) {
        var td = document.createElement('td');
        newRow.appendChild(td);
    }

    // اضافه کردن "مجموع محکوم به ها" به ستون 6
    var sumLabelCell = document.createElement('td');
    sumLabelCell.textContent = "مجموع محکوم به ها"; // نمایش "مجموع محکوم به ها"
    newRow.appendChild(sumLabelCell);

    // اضافه کردن مجموع به ستون 7
    var totalCell = document.createElement('td');
    totalCell.textContent = total; // نمایش مجموع بدون کاما
    newRow.appendChild(totalCell);

    // اضافه کردن ردیف جدید به جدول
    document.querySelector('#dynamicTable tbody').appendChild(newRow);
}
</script>


</script>

<script>
//مخفی کردن  ستون 8 و 9
function checkAndHideColumns() {
    var inputText = document.getElementById('inputDivEditable').value;
    var table = document.getElementById('dynamicTable');
    var rows = table.getElementsByTagName('tr');
    var headerCells = table.getElementsByTagName('th');

    // بررسی وجود عبارت "خسارت تاخیر تادیه"
    if (inputText.indexOf('خسارت تاخیر تادیه') === -1) {
        // مخفی کردن ستون‌های 8 و 9 و سرآیندهای مربوطه
        headerCells[7].style.display = 'none'; // ستون 8 (سرآیند "آخرین شاخص")
        headerCells[8].style.display = 'none'; // ستون 9 (سرآیند "اصل و خسارت")
        for (var i = 0; i < rows.length; i++) {
            var cells = rows[i].getElementsByTagName('td');
            if (cells.length > 7) {
                cells[7].style.display = 'none'; // ستون 8
                cells[8].style.display = 'none'; // ستون 9
            }
        }
    } else {
        // نمایان کردن ستون‌های 8 و 9 و سرآیندهای مربوطه
        headerCells[7].style.display = ''; // ستون 8 (سرآیند "آخرین شاخص")
        headerCells[8].style.display = ''; // ستون 9 (سرآیند "اصل و خسارت")
        for (var i = 0; i < rows.length; i++) {
            var cells = rows[i].getElementsByTagName('td');
            if (cells.length > 7) {
                cells[7].style.display = ''; // نمایش ستون 8
                cells[8].style.display = ''; // نمایش ستون 9
            }
        }
    }
}
</script>













<script>

function showTooltip1010() {
    var tooltip1 = document.getElementById("tooltip1");

    if (!tooltip1) {
        // ایجاد دیو tooltip1
        tooltip1 = document.createElement("div");
        tooltip1.style.textAlign = "justify";
        tooltip1.id = "tooltip1";
        tooltip1.className = "box4";

        tooltip1.innerHTML = `
            <button class="close-btn1" onclick="showTooltip1010()">×</button>
           
            
           <p>شما ابتدا اجرائیه را کپی و در این  ورودی پست(وارد) نماید</p>
         
            
           <p>در نهایت روی دکمه محاسبه بزنید</p>
            
           <p>در صورت اینکه می خواهید برگه جلب صادر شود روی دکمه ان بزنید</p>
           
           <p>و اگر خواستید که متن درون برگه جلب کپی شود روی دکمه کپی بزنید</p>
           <p>و النهایه متن جلب کپی شده را درون سامانه دستگاه قضائی وارد نماید</p>
           <p>حالاتی را که این  منو اجرا می کند </p>
           <p>1-یک چک بدون خسارت تاخیر تادیه و هزینه های جانبی.</p>
        
           <p>2-یک چک بدون خسارت تاخیر تادیه و به همراه هزینه های جانبی</p>
           <p>3-چند چک بدون خسارت تاخیر تادیه و هزینه های جانبی. </p>
           <p>4-چند چک بدون خسارت تاخیر تادیه و به همراه هزینه های جانبی</p>
           <p>5-یک چک با خسارت تاخیر تادیه و  بدون هزینه های جانبی.</p>
           <p>6-یک چک با خسارت تاخیر تادیه و به همراه هزینه های جانبی.</p>
           <p>7-چند چک با خسارت تاخیر تادیه و بدون هزینه های جانبی.</p>
            
           <p>8-چند چک با خسارت تاخیر تادیه و به همراه هزینه های جانبی</p>
           <p>نکته(1): این منو شامل تاریخ با فرمت های ذیل می  شود</p>
		 
	<table class="custom-table" border="1" style="width: 100%; text-align: center;">
    <tr>
	
        <td>1402/05/06</td>
        <td>1402/05/6</td>
		<td>1402/5/06</td>
        <td></td>
		<td>1402/5/6</td>
		
    </tr>
	
    <tr>
        <td>1402-05-06</td>
        <td>1402-5-06</td>
        <td>1402-05-6</td>
		<td></td>
        <td>1402-5-6</td>
    </tr>
	
	  <td>06/05/1402</td>
        <td>6/05/1402</td>
		<td>06/5/1402</td>
        <td></td>
		<td>16/05/1402</td>
		
    </tr>
	
    <tr>
        <td>06-05-1402</td>
        <td>06-5-1402</td>
        <td>6-05-1402</td>
		<td></td>
        <td>6-5-1402</td>
    </tr>
	
	
</table>


<table>
 <p>نکته (2): این منو شامل فرمت های مبالغ ذیل می شود</p>
        
       <tr>
        <td>1000000</td>
        <td>1/000/000</td>
        <td>1،000،000</td>
		<td></td>
        <td>1-000-000</td>
    </tr> 
	
	 <tr>
        <td>1000000 ریال</td>
        <td>1/000/000 ریال</td>
        <td>1،000،000 ریال</td>
		<td></td>
        <td>1-000-000 ریال</td>
    </tr> 
	
	 <tr>
        <td>1000000 تومان</td>
        <td>1/000/000 تومان </td>
        <td>1،000،000 تومان </td>
		<td></td>
        <td>1-000-000 تومان</td>
    </tr> 
	
	
	
	
	
	 <tr>
        <td>مبلغ1000000</td>
        <td>مبلغ 1/000/000</td>
        <td>مبلغ 1،000،000</td>
		<td></td>
        <td>مبلغ 1-000-000</td>
    </tr> 
	
	 <tr>
        <td>مبلغ 1000000 ریال</td>
        <td>مبلغ1/000/000 ریال</td>
        <td>مبلغ1،000،000 ریال</td>
		<td></td>
        <td>مبلغ1-000-000 ریال</td>
    </tr> 
	
	 <tr>
        <td> مبلغ1000000 تومان</td>
        <td>مبلغ1/000/000 تومان </td>
        <td>مبلغ1،000،000 تومان </td>
		<td></td>
        <td>مبلغ1-000-000 تومان</td>
    </tr> 
	
	
	
    </table>
    
        `;

        document.body.appendChild(tooltip1); // افزودن دیو به بدنه صفحه
        tooltip1.style.display = "block"; // نمایش دیو
        tooltip1.scrollIntoView({ behavior: 'smooth' }); // اسکرول به دیو
    } else {
        // اگر دیو وجود دارد، آن را مخفی کن
        tooltip1.style.display = tooltip1.style.display === "none" ? "block" : "none";
    }
}

</script>


<script>

//محتوی تمامی اینپوت ها به جز سه اینپوت خاص را پاک کن
function clearInputs1() {
    // دسترسی به تمام اینپوت‌ها
    var inputs = document.getElementsByTagName('input'); // استفاده از getElementsByTagName

    // پاک کردن مقادیر اینپوت‌ها
    for (var i = 0; i < inputs.length; i++) {
        var input = inputs[i];
        if (input.type === 'text' || input.type === 'number' || input.type === 'email' || input.type === 'password') {
            input.value = '';
        }
    }

    // بارگذاری مجدد صفحه
    location.reload();
}

</script>

<script>
//صدور برگه جلب
function updateTextWithTableData() {
    // دریافت تگ tbody جدول با id "tableBody"
    var tableBody = document.getElementById("tableBody");
    
    // دریافت تمامی ردیف‌ها
    var rows = tableBody.getElementsByTagName("tr");
    
    // بررسی اینکه تعداد ردیف‌ها بیشتر از 1 باشد
    if (rows.length > 1) {
        // دریافت مقدار آخرین ستون در ردیف یکی مانده به آخر
        var secondLastValue = rows[rows.length - 2].cells[rows[rows.length - 2].cells.length - 1].innerText;
        // دریافت مقدار آخرین ستون در ردیف آخر
        var lastValue = rows[rows.length - 1].cells[rows[rows.length - 1].cells.length - 1].innerText;

        // اگر داده‌ها موجود بودند، متن را نمایش می‌دهیم
        if (secondLastValue && lastValue) {
            var fullText = `
                <div style="position: relative; padding: 20px; word-wrap: break-word; text-align: justify;">
                    <button onclick="closeDiv()" style="
                        position: absolute;
                        top: 0px;
                        left: 0px;
                        width: 30px;
                        height: 30px;
                        border: none;
                        border-radius: 50%;
                        background-color: red;
                        color: white;
                        font-size: 20px;
                        font-weight: bold;
                        cursor: pointer;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                    ">×</button>
                برگه جلب سراسری محکوم همراه نیابت سراسری<br>
                کلیه مامورین انتظامی سراسر کشور<br>
                محکوم علیه فوق الذکر محکوم است به پرداخت مبلغ <span style="color: red; font-weight: bold;">${secondLastValue}</span> ریال در حق محکوم له و لذا پس از رویت فورا با هماهنگی مقام قضائی محکوم علیه جلب و به اجرای احکام اعزام گردد. 
                در صورت نیاز به ورود به مخفیگاه از طلوع خورشید تا ساعت 22 با استفاده از کلیدساز برای 3 نوبت با رعایت موازین شرعی و قانونی بلامانع است. قابل ذکر است در صورت پرداخت محکوم به و یا اخذ رضایت محکوم له، مراتب صورت‌جلسه و محکوم علیه آزاد گردد و برگه جلب بلا اقدام عودت گردد.
                در صورتیکه در نوبت اول و یا دوم جلب میسر نگردید مراتب صورت‌جلسه و گزارش و در برگه جلب منعکس گردد، لکن برگه جلب به دارنده آن تحویل تا امکان جلب برای بار دوم و یا سوم باشد.
                ضمنا مبلغ <span style="color: red; font-weight: bold;">${lastValue}</span> ریال نیم عشر دولتی می‌باشد.<br><br>
                روسای محترم حوزه‌های قضائی سراسر کشور<br>
                نظر به صدور جلب به شرح فوق مستدعی است در صورت جلب محکوم علیه فوق به نیابت از این اجرا شخصا و یا با ارجاع امر به احدی از همکاران محترم قضایی با داشتن کلیه اختیارات قانونی، در صورت اخذ رضایت محکوم له و یا واریز مبلغ محکوم به حساب سپرده دادگستری و یا معرفی مالی که تکافوی محکوم به را بنماید، مجلوب آزاد گردد و نتیجه به اجرای احکام گزارش گردد.
                در غیر این صورت به اجرای احکام اعزام گردد.
                در صورت معرفی مال سهل البیع، ضمن ارجاع امر به کارشناسی و انجام مراحل قانونی آزادی نامبرده بلامانع می‌باشد.
                کلیه اختیارات در خصوص برگزاری مزاید و تفویض مزایده به آن مرجع محترم تفویض می‌گردد.
                رمز ... و ... .
            </div>
            `;

            // نمایش متن در کنسول یا جایگذاری در المان HTML
            console.log(fullText); // برای مشاهده در کنسول
            document.getElementById("outputText").innerHTML = fullText; // برای نمایش در یک المان HTML با id "outputText"

            // فراخوانی تابع کپی متن بعد از نمایش
            document.getElementById('outputText').scrollIntoView({ behavior: 'smooth' });
        } else {
            console.log("مقادیر ردیف‌ها صحیح نیستند.");
        }
    } else {
        console.log("تعداد ردیف‌ها کمتر از 2 است.");
    }
}

// تابع برای بستن دیو
function closeDiv() {
    var targetDiv = document.getElementById('outputText');
    targetDiv.style.display = 'none'; // مخفی کردن دیو
}
</script>

<script>
//کپی برگه جلب
function copyText() {
    // پیدا کردن دیو که متن درون آن قرار دارد
    var textToCopy = document.getElementById('outputText').innerText;

    // ایجاد یک عنصر مخفی <textarea> برای کپی کردن متن
    var tempTextArea = document.createElement('textarea');
    tempTextArea.value = textToCopy; // مقدار متن را درون textarea قرار می‌دهیم
    tempTextArea.style.position = 'absolute'; // پنهان کردن textarea
    tempTextArea.style.left = '-9999px'; // قرار دادن خارج از دید کاربر
    document.body.appendChild(tempTextArea); // اضافه کردن به سند

    // انتخاب متن و تلاش برای کپی کردن آن
    tempTextArea.select();
    try {
        var successful = document.execCommand('copy'); // متد قدیمی کپی
        if (successful) {
            showMessage('متن با موفقیت کپی شد!', 'green'); // پیام موفقیت
        } else {
            showMessage('خطا در کپی متن!', 'red'); // پیام خطا
        }
    } catch (err) {
        showMessage('کپی کردن متن پشتیبانی نمی‌شود!', 'red');
    }

    // حذف عنصر موقت
    document.body.removeChild(tempTextArea);
}

// تابع نمایش پیام به کاربر
function showMessage(messageText, color) {
    var newDiv = document.getElementById('outputText');
    var message = document.createElement('p');
    message.textContent = messageText;
    message.style.color = color; // تنظیم رنگ پیام
    message.style.fontWeight = 'bold';
    message.style.marginBottom = '10px'; // فاصله از متن اصلی

    // افزودن پیام به بالای محتوا
    newDiv.insertBefore(message, newDiv.firstChild);

    // حذف پیام بعد از 2 ثانیه
    setTimeout(function () {
        newDiv.removeChild(message);
    }, 2000);
    document.getElementById('outputText').scrollIntoView({ behavior: 'smooth' });
}
</script>
 
 
<script>
// افزودن ردیف
// خسارت تاخیر دارد
function addRowBeforeSecondLast1() {
    var table = document.getElementById("dynamicTable");
    var tbody = table.querySelector("tbody");

    // تعداد ردیف‌های موجود در جدول
    var rows = tbody.getElementsByTagName("tr");

    if (rows.length > 1) {
        // ردیف جدید
        var newRow = tbody.insertRow(rows.length - 2); // اضافه کردن قبل از دو ردیف آخر

        // اضافه کردن سلول‌ها به ردیف جدید
        for (var i = 0; i < 9; i++) {
            var newCell = newRow.insertCell(i);

            if (i === 4 || i === 5) {
                // ایجاد input با کلاس ali در ستون 5 و 6 (اندیس 4 و 5)
                var input = document.createElement("input");
                input.classList.add("ali"); // افزودن کلاس ali به input
                newCell.appendChild(input);
            } else {
                newCell.innerHTML = ''; // می‌توانید مقدار دلخواه خود را جایگزین کنید
            }
        }

        // اضافه کردن شماره ردیف و دکمه‌ها
        addRowNumbersBeforeSecondLast();
        addDeleteButtonToTable(); // افزودن باتن حذف در ستون اول
        addEditButtonToTable(); // افزودن باتن ویرایش در ستون دوم

        // اسکرول به ردیف جدید
        newRow.scrollIntoView();
    } else {
        alert("برای اضافه کردن ردیف کافی نیست.");
    }
}
</script>

 
 
 
 
 <script>
 //افزودن ردیف
 //خسارت تاخیر ندارد
function addRowBeforeSecondLast2() {
    var table = document.getElementById("dynamicTable");
    var tbody = table.querySelector("tbody");

    // تعداد ردیف‌های موجود در جدول
    var rows = tbody.getElementsByTagName("tr");

    if (rows.length > 1) {
        // ردیف جدید
        var newRow = tbody.insertRow(rows.length - 2); // اضافه کردن قبل از دو ردیف آخر

        // اضافه کردن سلول‌ها به ردیف جدید
        for (var i = 0; i < 7; i++) {
            var newCell = newRow.insertCell(i);

            if (i === 4 || i === 5) {
                // ایجاد input در ستون 5 و 6 (اندیس 4 و 5)
                 var input = document.createElement("input");
                input.classList.add("ali"); // افزودن کلاس ali به input
                newCell.appendChild(input);
            } else {
                newCell.innerHTML = ''; // می‌توانید مقدار دلخواه خود را جایگزین کنید
				addRowNumbersBeforeSecondLast();
				appendRemoveButtonToTable();//افزودن باتن حذف در ستون اول 
				addRedEditButtonToTable()//افزودن باتن ویرایش در ستون دوم
				
            }
        }
    } else {
        alert("برای اضافه کردن ردیف کافی نیست.");
    }
	 newRow.scrollIntoView();
}

 
</script>
 
 

<script>
//حذف ردیفی که ستون 6 ان برابر خالی است
function deleteRowIfEmpty() {
    // انتخاب تمام ردیف‌ها
    const rows = document.querySelectorAll('#dynamicTable tbody tr');

    rows.forEach(row => {
        // انتخاب سلول 6 (یعنی ستون 6) از هر ردیف
        const inputCell = row.cells[5].querySelector('.ali'); // ستون 6 به ایندکس 5 مربوط است

        // بررسی اینکه آیا مقدار ورودی در این سلول خالی است
        if (inputCell && inputCell.value.trim() === '') {
            row.remove(); // حذف ردیف در صورت خالی بودن
        }
    });
}

</script>

<script>
//شماره گذاری به جز دو ردیف اخر بعد از اصلاحات لازم
function addRowNumbers() {
    const tableBody = document.querySelector("#dynamicTable tbody"); // انتخاب بخش tbody جدول
    const rows = tableBody.querySelectorAll("tr"); // انتخاب تمام ردیف‌ها

    const rowCount = rows.length;
    
    // حلقه از 0 تا تعداد ردیف‌ها به جز دو ردیف آخر
    for (let i = 0; i < rowCount - 2; i++) {
        const row = rows[i]; // انتخاب ردیف
        const rowNumberCell = row.querySelector("td:nth-child(3)"); // انتخاب سلول شماره ردیف (در اینجا فرض شده که ستون شماره ردیف سوم است)

        if (rowNumberCell) {
            rowNumberCell.textContent = i + 1; // اختصاص شماره ردیف
        }
    }
}

</script>

<script>
//حذف کلمه شاخص سررسید
function deleteColumnHeaderText() {
    const headerRow = document.querySelector("#dynamicTable thead tr");
    const headerCells = headerRow.querySelectorAll("th");

    headerCells.forEach(cell => {
        // بررسی اینکه آیا محتوای سلول شامل "سررسید" یا "شاخص" است
        if (cell.innerHTML.includes("شاخص") && cell.innerHTML.includes("سررسید")) {
            // حذف عبارت "شاخص" و "سررسید"
            cell.innerHTML = cell.innerHTML.replace("شاخص<br>سررسید", "");
        }
    });
}



</script>

<script>
//حذف ردیفی که ستون 6 حاوی عدد صفر باشد
function deleteRowsWithZero() {
    // انتخاب تمام ردیف‌ها در tbody جدول
    const rows = document.querySelectorAll("#dynamicTable tbody tr");

    rows.forEach(row => {
        // یافتن اینپوت با کلاس 'ali' در ستون 6 (ستون شماره 5 در اندیس صفر)
        const input = row.querySelector("td:nth-child(6) input.ali");

        // بررسی اینکه مقدار اینپوت برابر با 0 است یا خیر
        if (input && input.value === "0") {
            // اگر مقدار 0 بود، ردیف را حذف می‌کنیم
            row.remove();
        }
    });
}

</script>

 
<script>
 //افزودن ردیف اضافی 
function checkText1() {
    var inputText = document.getElementById('inputDivEditable').value;

    // بررسی وجود کلمه "خسارت تاخیر تادیه" در متن وارد شده
    if (inputText.includes("خسارت تاخیر تادیه")) {
        addRowBeforeSecondLast1(); // اگر خسارت تاخیر تادیه داشت 
		
		
    } else {
        addRowBeforeSecondLast2(); // اگر خسارت تاخیر تادیه نداشت
		 
    }
}
 
</script>
 
 
 <script>
//حذف ریال از درون ستون 6 که عدد شده است
 function removeRialFromColumn6() {
    // دریافت تمام ردیف‌های جدول
    var rows = document.querySelectorAll('#dynamicTable tbody tr');

    // پردازش هر ردیف
    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        var input = row.querySelector('td:nth-child(6) input.ali'); // گرفتن input با کلاس ali در ستون 6
        if (input && input.value) {
            // حذف کلمه "ریال" (با هر نوع نویسه و شکل) از مقدار
            input.value = input.value.replace(/ریال|ريال/g, '').trim(); // حذف "ریال" و "ريال"
        }
    }
}


 </script>
 
<script>
if(!sessionStorage.getItem('hasReloaded')){const newUrl=window.location.href.split('?')[0]+'?t='+new Date().getTime();window.location.replace(newUrl);sessionStorage.setItem('hasReloaded','true');}else{sessionStorage.removeItem('hasReloaded');}



</script>
 
 
 
 
 <script>
 //تبدیل فرمت تاریخ از 140/5/6 به 1402/05/06
 function formatDate(inputDate) {
    // تبدیل تاریخ با فرمت‌های مختلف به 1402/05/06
    const regex = /(\d{4})[^\d]*(\d{1,2})[^\d]*(\d{1,2})/; // الگوی تطابق تاریخ
    const match = inputDate.match(regex);
    if (match) {
        const year = match[1];
        const month = match[2].padStart(2, '0'); // اضافه کردن صفر به ابتدای ماه
        const day = match[3].padStart(2, '0'); // اضافه کردن صفر به ابتدای روز
        return `${year}/${month}/${day}`;
    }
    return inputDate; // در صورتی که فرمت نامعتبر باشد، مقدار اولیه بازگردانده می‌شود
}

function reformatColumn5() {
    const table = document.getElementById("dynamicTable"); // شناسه جدول
    const rows = table.querySelectorAll("tbody tr");

    rows.forEach(row => {
        const cell = row.cells[4]; // ستون ۵
        if (cell) {
            const input = cell.querySelector(".ali");
            if (input && input.value) {
                input.value = formatDate(input.value); // تغییر فرمت تاریخ
            }
        }
    });
}


 </script>
 
 

<script>
//کپی با فرمت معمولی
function copyToClipboard12(format) {
    var table = document.getElementById('dynamicTable');
    var textToCopy = '';

    // تابع برای فیلتر کردن سلول‌های آشکار
    function getVisibleCells(row) {
        return Array.from(row.querySelectorAll('th, td')).filter(cell => {
            var style = window.getComputedStyle(cell);
            return style.display !== 'none' && style.visibility !== 'hidden';
        });
    }

    if (format === 'html') {
        textToCopy = table.outerHTML;
    } else if (format === 'markdown') {
        var rows = table.querySelectorAll('tr');
        var markdownTable = [];
        rows.forEach((row, index) => {
            var visibleCells = getVisibleCells(row);  // فقط سلول‌های آشکار
            var rowText = visibleCells.map(cell => cell.innerText).join(' | ');
            markdownTable.push(rowText);
            if (index === 0) {
                markdownTable.push(visibleCells.length ? '---'.repeat(visibleCells.length).split('').join('|') : '');
            }
        });
        textToCopy = markdownTable.join('\n');
    } else if (format === 'plain') {
        var rows = table.querySelectorAll('tr');
        var plainTable = [];
        rows.forEach(row => {
            var visibleCells = getVisibleCells(row);  // فقط سلول‌های آشکار
            var rowText = visibleCells.map(cell => cell.innerText).join('\t');
            plainTable.push(rowText);
        });
        textToCopy = plainTable.join('\n');
    }

    // ایجاد ناحیه متنی موقت برای کپی کردن
    var tempTextArea = document.createElement('textarea');
    tempTextArea.style.position = 'fixed';
    tempTextArea.style.top = '0';
    tempTextArea.style.left = '0';
    tempTextArea.style.width = '2em';
    tempTextArea.style.height = '2em';
    tempTextArea.style.padding = '0';
    tempTextArea.style.border = 'none';
    tempTextArea.style.outline = 'none';
    tempTextArea.style.boxShadow = 'none';
    tempTextArea.style.background = 'transparent';
    tempTextArea.value = textToCopy;

    document.body.appendChild(tempTextArea);
    tempTextArea.select();
    
    try {
        var successful = document.execCommand('copy');
        if (successful) {
            alert('نتیجه کپی شد!');
        } else {
            alert('کپی کردن ناموفق بود.');
        }
    } catch (err) {
        alert('کپی کردن پشتیبانی نمی‌شود.');
    }
    
    document.body.removeChild(tempTextArea);
}

</script>

<script>
//کپی با خط عمودی
function copyToClipboard112() {
    var table = document.getElementById('dynamicTable');
    var range = document.createRange();
    range.selectNode(table);  // انتخاب محتوای جدول

    window.getSelection().removeAllRanges(); // پاک کردن انتخاب‌های قبلی
    window.getSelection().addRange(range); // انتخاب محتوای جدول

    try {
        var successful = document.execCommand('copy'); // کپی کردن محتوای انتخاب شده
        if (successful) {
            alert('محتوای جدول کپی شد!');
        } else {
            alert('کپی کردن ناموفق بود.');
        }
    } catch (err) {
        alert('کپی کردن پشتیبانی نمی‌شود.');
    }

    window.getSelection().removeAllRanges(); // حذف انتخاب
}

</script>
<script>
function printTable() {
    var tableContent = document.getElementById("dynamicTable").outerHTML;
    var newWindow = window.open('', '', 'height=600,width=800');

    // اضافه کردن استایل‌های CSS به پنجره جدید برای راست‌چین کردن
    var style = '<style>';
    style += 'table { width: 100%; border-collapse: collapse; direction: rtl; text-align: right; }';
    style += 'th, td { border: 1px solid black; padding: 8px; }';
    style += 'th { background-color: #f2f2f2; }';
    style += '</style>';

    // نوشتن محتویات در پنجره جدید
    newWindow.document.write('<html><head><title>چاپ جدول</title>' + style + '</head><body>');
    newWindow.document.write('<h2>چاپ جدول</h2>');
    newWindow.document.write(tableContent);
    newWindow.document.write('</body></html>');
    newWindow.document.close();

    // اطمینان از اینکه محتوا به طور کامل بارگذاری شده است
    newWindow.onload = function() {
        newWindow.print();
    };
}



</script>

<script>
//پنهان کردن ستون ها 
function toggleColumn(columnIndex) {
    // دسترسی به تمام ردیف‌های جدول
    var tableRows = document.querySelectorAll('#dynamicTable tr');
    for (var i = 0; i < tableRows.length; i++) {
        var row = tableRows[i];
        // دسترسی به سلول ستون مورد نظر
        var cell = row.children[columnIndex];
        if (cell) {
            // تغییر وضعیت نمایش/عدم نمایش
            cell.style.display = (cell.style.display === 'none') ? '' : 'none';
        }
    }
}

</script>

  




 
<div id="outputText" style=" width: 98%;" class="box">
    <!-- متن خروجی اینجا نمایش داده می‌شود -->
</div>

<script type="text/javascript" src="../js/p8x4l5s3.js"></script>
 
<script src="../js/jalaali.min.js"></script> 



</body>
</html>
