{"id":6264,"date":"2023-11-25T15:11:21","date_gmt":"2023-11-25T15:11:21","guid":{"rendered":"http:\/\/194.126.11.162\/?page_id=6264"},"modified":"2024-09-04T05:48:30","modified_gmt":"2024-09-04T05:48:30","slug":"decisions-judiciaires-pour-infractions-au-code-de-la-route","status":"publish","type":"page","link":"https:\/\/isf.gov.lb\/fr\/decisions-judiciaires-pour-infractions-au-code-de-la-route\/","title":{"rendered":"D\u00e9cisions judiciaires pour infractions au code de la route"},"content":{"rendered":"\r\n<section class=\"w-100 py-5 bg-cover bg-center bg-repeat-none d-flex align-items-end justify-content-center\" style=\"background-image: linear-gradient(to bottom right, rgba(255, 255, 255, 0.3), rgba(0, 84, 158, 0.3)), url('https:\/\/isf.gov.lb\/wp-content\/uploads\/2024\/09\/4-citizen-services--scaled.jpg');height:40%\">\r\n    <h1 class=\"text-white fw-bold text-xl text-center text-capitalize\">\r\n        Services aux citoyens    <\/h1>\r\n<\/section>\n\n<section id=\"penalDecisionsBlock\" class=\"w-100 pt-5 pb-3 bg-cover bg-center bg-repeat-none bg-light-subtle\" style=\"background-image: url(https:\/\/isf.gov.lb\/wp-content\/themes\/ISF\/resources\/images\/lines_background.png);\">\r\n    <div class=\"d-flex flex-column align-items-center justify-content-center pb-5\">\r\n        <h2 class=\"fw-bold isf-text-primary\">\r\n            D\u00e9cisions judiciaires pour infractions au code de la route        <\/h2>\r\n        <div class=\"row justify-content-center w-25\">\r\n            <hr class=\"col-1 mt-3 border-3 isf-border-primary opacity-100\" \/>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"container mb-5\">\r\n        <div class=\"alert alert-light\">\r\n            <p class=\"m-0\">Les inscriptions doivent \u00eatre faites en arabe.<\/p>\r\n        <\/div>\r\n        <div class=\"row px-3\">\r\n            <div class=\"col-12 col-lg-6 g-3\">\r\n                <input data-field=\"first_name\" class=\"form-control form-control-lg fs-6 fw-bold rounded-pill bg-white border isf-border-primary\" style=\"text-align:right\" placeholder=\" Pr\u00e9nom*\" required>\r\n            <\/div>\r\n            <div class=\"col-12 col-lg-6 g-3\">\r\n                <input data-field=\"last_name\" class=\"form-control form-control-lg fs-6 fw-bold rounded-pill bg-white border isf-border-primary\" style=\"text-align:right\" placeholder=\" Nom de famille*\" required>\r\n            <\/div>\r\n            <div class=\"col-12 col-lg-6 g-3\">\r\n                <input data-field=\"father_name\" class=\"form-control form-control-lg fs-6 fw-bold rounded-pill bg-white border isf-border-primary\" style=\"text-align:right\" placeholder=\" Nom du p\u00e8re*\" required>\r\n            <\/div>\r\n            <div class=\"col-12 col-lg-6 g-3\">\r\n                <input data-field=\"mother_name\" class=\"form-control form-control-lg fs-6 fw-bold rounded-pill bg-white border isf-border-primary\" style=\"text-align:right\" placeholder=\" Nom de la m\u00e8re*\" required>\r\n            <\/div>\r\n        <\/div>\r\n        <div class=\"d-flex justify-content-center align-items-center flex-column mt-5\">\r\n            <button type=\"button\" id=\"submitFormBtn\" onclick=\"submitForm()\" class=\"btn btn-primary fw-bold isf-btn-primary py-2 px-2 border-0 rounded-pill d-flex align-items-center justify-content-between mb-4\">\r\n                <i class=\"bi bi-chevron-right me-4 opacity-0\"><\/i>\r\n                Rechercher                <i class=\"bi bi-chevron-right ms-4\"><\/i>\r\n            <\/button>\r\n        <\/div>\r\n        <div id=\"resultContainer\" class=\"row px-3 mt-3\">\r\n\r\n        <\/div>\r\n    <\/div>\r\n<\/section>\r\n<script>\r\n    var countValid = 0;\r\n\r\n    function submitForm() {\r\n        $(\"#submitFormBtn\").attr(\"disabled\", true);\r\n        var numOfElements = Array.from($(\"[data-field]\")).length;\r\n\r\n        \/\/ Create FormData object and append data\r\n        var formData = new FormData();\r\n\r\n        $(\"[data-field]\").each((i, field) => {\r\n            var $field = $(field);\r\n            var fieldType = $field.attr(\"data-field\");\r\n            var fieldValue = $field.val().trim();\r\n\r\n            if ($field.attr(\"required\")) {\r\n                if (fieldValue === \"\") {\r\n                    $field.addClass('is-invalid');\r\n                    $(\"#submitFormBtn\").attr(\"disabled\", false);\r\n                } else {\r\n                    $field.removeClass('is-invalid');\r\n                    countValid++;\r\n                    formData.append(field.getAttribute(\"data-field\"), fieldValue);\r\n                }\r\n            } else {\r\n                $field.removeClass('is-invalid');\r\n                countValid++;\r\n                formData.append(field.getAttribute(\"data-field\"), fieldValue);\r\n            }\r\n        });\r\n\r\n        if (countValid < numOfElements) {\r\n            return;\r\n        }\r\n\r\n        const locale = \"fr\";\r\n        formData.append(\"lang\", locale);\r\n        formData.append(\"_token\", \"awd\");\r\n\r\n        $.ajax({\r\n            type: \"POST\",\r\n            url: \"https:\/\/isf.gov.lb\/api\/service-judicial-decisions\",\r\n            data: formData,\r\n            processData: false,\r\n            contentType: false,\r\n            dataType: \"json\",\r\n            success: function(response) {\r\n                if (Array.isArray(response)) {\r\n                    console.log(response);\r\n                    if (response.length !== 0) {\r\n                        var resHtml = \"\";\r\n                        response.forEach(r => {\r\n                            var title = `${r.fname} ${r.middle} ${r.lname} - \u0627\u0644\u0623\u0645 ${r.mother_name} - \u0645\u0648\u0627\u0644\u064a\u062f ${r.year_of_birth}` +\r\n                                (r.nationality?.trim() ? ` - \u0627\u0644\u062c\u0646\u0633\u064a\u0629 ${r.nationality.trim()}` : '');\r\n\r\n                            \/\/ var title = ``;\r\n                            let firstLine = \"\";\r\n\r\n                            if (r.doc_name) {\r\n                                firstLine += r.doc_name;\r\n                            }\r\n\r\n                            if (r.barkia_masdar) {\r\n                                firstLine += `${firstLine ? ' ' : ''}\u0635\u0627\u062f\u0631 \u0639\u0646 ${r.barkia_masdar}`;\r\n                            }\r\n\r\n                            if (r.num_doc1) {\r\n                                firstLine += `${firstLine ? ' ' : ''}\u0631\u0642\u0645 ${r.num_doc1}`;\r\n                            }\r\n\r\n                            if (r.date_doc) {\r\n                                firstLine += `${firstLine ? ' ' : ''}\u062a\u0627\u0631\u064a\u062e ${r.date_doc}`;\r\n                            }\r\n\r\n                            let secondLine = \"\";\r\n\r\n                            if (r.barkia_masdar) {\r\n                                secondLine += `\u0628\u0637\u0627\u0642\u0629 \u062f\u0644\u064a\u0644 \u0635\u0627\u062f\u0631\u0629 \u0639\u0646 ${r.barkia_masdar}`;\r\n                            }\r\n                            if (r.barkia_num) {\r\n                                secondLine += `${secondLine ? ' ' : ''}\u0631\u0642\u0645 ${r.barkia_num}`;\r\n                            }\r\n\r\n                            if (r.barkia_date) {\r\n                                secondLine += `${secondLine ? ' ' : ''}\u062a\u0627\u0631\u064a\u062e ${r.barkia_date}`;\r\n                            }\r\n\r\n                            \/\/ If none of the parts exist, secondLine will be empty\r\n\r\n                            var thirdLine = `\u0646\u0648\u0639 \u0627\u0644\u0645\u062e\u0627\u0644\u0641\u0629 : ${r.crime ?? ''} \u0648\u0642\u064a\u0645\u0629 \u0627\u0644\u063a\u0631\u0627\u0645\u0629 : ${r.amende ?? ''}`;\r\n                            resHtml += `\r\n                        <div class=\"col-lg-6 mb-3\">\r\n                            <div class=\"card h-100 p-4 rounded-5 bg-white border isf-border-primary p-2\">\r\n                                <div class=\"d-flex flex-column align-items-start justify-content-center\">\r\n                                <p class=\"fw-bold isf-text-primary\">${title}<\/p>\r\n                                <p class=\"fw-bold\">${firstLine}<\/p>\r\n                                <p class=\"fw-bold\">${secondLine}<\/p>\r\n                                <p class=\"fw-bold\">${thirdLine}<\/p>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        `\r\n                        })\r\n                        $(\"#submitFormBtn\").attr(\"disabled\", false);\r\n                        $(\"#resultContainer\").html(resHtml);\r\n                    } else {\r\n                        resHtml = `\r\n                        <div class=\"col-lg-12\">\r\n                            <div class=\"card h-100 p-4 rounded-5 bg-white border isf-border-primary p-2\">\r\n                                <div class=\"d-flex flex-column align-items-center justify-content-center\">\r\n                                <p class=\"fw-bold\">\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0646\u062a\u0627\u0626\u062c<\/p>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        `;\r\n                        $(\"#submitFormBtn\").attr(\"disabled\", false);\r\n                        $(\"#resultContainer\").html(resHtml);\r\n                    }\r\n                }\r\n            },\r\n            error: function(xhr, status, error) {\r\n                console.log(xhr.responseText);\r\n                console.error(error);\r\n                $(\"#submitFormBtn\").attr(\"disabled\", false);\r\n            }\r\n        });\r\n    }\r\n\r\n    function generateTable(data) {\r\n        \/\/ Check if data is valid (not undefined or null)\r\n        if (!data || typeof data !== 'object') {\r\n            console.error('Invalid data received:', data);\r\n            return;\r\n        }\r\n\r\n        if (data.length === 0) {\r\n            $(\"#tableContainer\").html(\r\n                `\r\n                <div class=\"alert alert-light isf-text-primary text-center fw-bold fs-5\" role=\"alert\">\r\n                    Aucun enregistrement trouv\u00e9                <\/div>\r\n                `\r\n            )\r\n            return;\r\n        }\r\n\r\n        const table = document.createElement('table');\r\n        table.classList.add('table', 'table-bordered', 'table-fixed', 'table-responsive', 'm-0');\r\n\r\n        \/\/ Create table headers with Bootstrap classes\r\n        const headers = Object.keys(data[0]);\r\n        const header = document.createElement('thead');\r\n        header.classList.add('table-light');\r\n        const headerRow = document.createElement('tr');\r\n        [\"D\u00e9cision\", \"Document\", \"Date\", \"Organisation\"].forEach((header) => {\r\n            const th = document.createElement('th');\r\n            th.classList.add('isf-text-primary');\r\n            th.textContent = header;\r\n            headerRow.appendChild(th);\r\n        });\r\n        header.appendChild(headerRow);\r\n        table.appendChild(header);\r\n\r\n        const body = document.createElement('tbody');\r\n        \/\/ Create table rows with data and Bootstrap classes\r\n        data.forEach((row) => {\r\n            const dataRow = document.createElement('tr');\r\n            headers.forEach((header) => {\r\n                const td = document.createElement('td');\r\n                td.classList.add('custom-td');\r\n                td.textContent = row[header];\r\n                dataRow.appendChild(td);\r\n            });\r\n            body.appendChild(dataRow);\r\n        });\r\n        table.appendChild(body);\r\n\r\n        \/\/ Wrap the table in a container-fluid for full width\r\n        const tableWrapper = document.createElement('div');\r\n        tableWrapper.classList.add('table-responsive');\r\n\r\n        \/\/ Append the table to the container\r\n        tableWrapper.appendChild(table);\r\n        document.getElementById('tableContainer').innerHTML = ''; \/\/ Empty the container before appending the table\r\n        document.getElementById('tableContainer').appendChild(tableWrapper);\r\n    }\r\n\r\n    function generateMappings() {\r\n        var qwertyChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ';\r\n        var arabicChars = '\u0634 \u0633 \u064a \u0628 \u062a \u0646 \u0627 \u0645 \u0644 \u0643 \u0632 \u0648 \u0647\u0640 \u062f \u062c \u0641 \u063a \u0642 \u0631 \u0635 \u0636 \u062b \u062e \u062d \u0630 \u0632 ';\r\n        var arabicCharArray = arabicChars.split(\" \");\r\n        console.log(arabicCharArray)\r\n\r\n        var mappings = {};\r\n        for (var i = 0; i < qwertyChars.length; i++) {\r\n            mappings[qwertyChars[i]] = arabicCharArray[i];\r\n        }\r\n\r\n        return mappings;\r\n    }\r\n\r\n    var englishToArabicMap = generateMappings();\r\n\r\n    function validateArabicInput(inputField) {\r\n        var arabicPattern = \/[\\u0600-\\u06FF\\s]\/; \/\/ Unicode range for Arabic characters\r\n\r\n        var inputText = inputField.value;\r\n        var convertedText = '';\r\n\r\n        for (var i = 0; i < inputText.length; i++) {\r\n            var char = inputText[i];\r\n            var isArabic = arabicPattern.test(char);\r\n            var replacement = isArabic ? char : (englishToArabicMap[char] || char);\r\n            convertedText += replacement;\r\n        }\r\n\r\n        if (!arabicPattern.test(convertedText)) {\r\n            inputField.value = inputField.value.replace(\/[^\\u0600-\\u06FF\\s]\/g, ''); \/\/ Remove non-Arabic characters\r\n        } else {\r\n            inputField.value = convertedText;\r\n        }\r\n    }\r\n\r\n    function mapToArabicQwerty(inputString) {\r\n        const qwertyToArabicMap = {\r\n            'q': '\u0636',\r\n            'w': '\u0635',\r\n            'e': '\u062b',\r\n            'r': '\u0642',\r\n            't': '\u0641',\r\n            'y': '\u063a',\r\n            'u': '\u0639',\r\n            'i': '\u0647',\r\n            'o': '\u062e',\r\n            'p': '\u062d',\r\n            'a': '\u0634',\r\n            's': '\u0633',\r\n            'd': '\u064a',\r\n            'f': '\u0628',\r\n            'g': '\u0644',\r\n            'h': '\u0627',\r\n            'j': '\u062a',\r\n            'k': '\u0646',\r\n            'l': '\u0645',\r\n            ';': '\u0643',\r\n            '\"': '\u0637',\r\n            'z': '\u0626',\r\n            'x': '\u0621',\r\n            'c': '\u0624',\r\n            'v': '\u0631',\r\n            'b': '\u0644\u0627',\r\n            'n': '\u0649',\r\n            'm': '\u0629',\r\n            ',': '\u0648',\r\n            '.': '\u0632',\r\n            '\/': '\u0638',\r\n            'Q': '\u0636',\r\n            'W': '\u0635',\r\n            'E': '\u062b',\r\n            'R': '\u0642',\r\n            'T': '\u0641',\r\n            'Y': '\u063a',\r\n            'U': '\u0639',\r\n            'I': '\u0647',\r\n            'O': '\u062e',\r\n            'P': '\u062d',\r\n            'A': '\u0634',\r\n            'S': '\u0633',\r\n            'D': '\u064a',\r\n            'F': '\u0628',\r\n            'G': '\u0644',\r\n            'H': '\u0627',\r\n            'J': '\u062a',\r\n            'K': '\u0646',\r\n            'L': '\u0645',\r\n            ':': '\u0643',\r\n            'Z': '~',\r\n            'X': '',\r\n            'C': '}',\r\n            'V': '{',\r\n            'B': '\u0644\u0622',\r\n            'N': '\u0622',\r\n            'M': '\u2019',\r\n            '<': ',',\r\n            '>': '.',\r\n            '?': '\u061f',\r\n            ']': '\u062f',\r\n            '[': '\u062c',\r\n            '\\'': '\u0637',\r\n        };\r\n\r\n        return inputString.split('').map(char => qwertyToArabicMap[char] || char).join('');\r\n    }\r\n\r\n    $(\"input\").on(\"input paste\", function(e) {\r\n        var formControl = $(e.target);\r\n        var valueBeforeChange = formControl.val();\r\n\r\n        var allowedValue = ' ';\r\n        allowedValue += \"\u0636\u0635\u062b\u0642\u0641\u063a\u0639\u0647\u062e\u062d\u062c\u062f\u0634\u0633\u064a\u0628\u0644\u0627\u062a\u0646\u0645\u0643\u0637\u0626\u0621\u0624\u0631\u0644\u0627\u0649\u0629\u0648\u0632\u0638\"; \/\/or any collection in any language you want\r\n        allowedValue += \"0123456789\"; \/\/ normal digits\r\n        allowedValue += \"\u06f0\u06f1\u06f2\u06f3\u06f4\u06f5\u06f6\u06f7\u06f8\u06f9\"; \/\/ arabic digits\r\n        \/\/ allowedValue += \"\u060c.\"; \/\/ allowed symbols\r\n\r\n        var valueAfterChange = '';\r\n        for (var i = 0; i < valueBeforeChange.length; i++) {\r\n            var tmpChar = valueBeforeChange.charAt(i);\r\n            if (allowedValue.indexOf(tmpChar) > -1) valueAfterChange += tmpChar;\r\n            else {\r\n                valueAfterChange += mapToArabicQwerty(tmpChar);\r\n            }\r\n        }\r\n        formControl.val(valueAfterChange);\r\n    });\r\n<\/script>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"blocks-pages.php","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-6264","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/isf.gov.lb\/fr\/wp-json\/wp\/v2\/pages\/6264","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/isf.gov.lb\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/isf.gov.lb\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/isf.gov.lb\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/isf.gov.lb\/fr\/wp-json\/wp\/v2\/comments?post=6264"}],"version-history":[{"count":6,"href":"https:\/\/isf.gov.lb\/fr\/wp-json\/wp\/v2\/pages\/6264\/revisions"}],"predecessor-version":[{"id":7669,"href":"https:\/\/isf.gov.lb\/fr\/wp-json\/wp\/v2\/pages\/6264\/revisions\/7669"}],"wp:attachment":[{"href":"https:\/\/isf.gov.lb\/fr\/wp-json\/wp\/v2\/media?parent=6264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}