{"id":19305,"date":"2026-04-04T13:52:26","date_gmt":"2026-04-04T10:52:26","guid":{"rendered":"https:\/\/cms.atu.edu.iq\/?page_id=19305"},"modified":"2026-04-06T22:56:46","modified_gmt":"2026-04-06T19:56:46","slug":"%d8%a7%d9%84%d8%ac%d8%af%d9%88%d9%84-%d9%88%d9%84%d9%88%d8%ad%d8%a9-%d8%a7%d9%84%d8%a7%d8%b9%d9%84%d8%a7%d9%86%d8%a7%d8%aa-%d8%a7%d9%84%d8%a3%d9%84%d9%83%d8%aa%d8%b1%d9%88%d9%86%d9%8a%d8%a9","status":"publish","type":"page","link":"https:\/\/cms.atu.edu.iq\/?page_id=19305","title":{"rendered":"\u0627\u0644\u062c\u062f\u0648\u0644 \u0648\u0644\u0648\u062d\u0629 \u0627\u0644\u0627\u0639\u0644\u0627\u0646\u0627\u062a \u0627\u0644\u0623\u0644\u0643\u062a\u0631\u0648\u0646\u064a\u0629"},"content":{"rendered":"\n<div style=\"height:221px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"dept-schedule-tabs\" dir=\"rtl\">\n  <style>\n    #dept-schedule-tabs{\n      --primary:#0f4c81;\n      --primary-dark:#0b3558;\n      --primary-soft:#eaf4ff;\n      --accent:#1f8ef1;\n      --text:#1e293b;\n      --muted:#64748b;\n      --border:#dbe7f3;\n      --white:#ffffff;\n      --bg:#f6fbff;\n      --success:#16a34a;\n      font-family: \"Tajawal\", Arial, sans-serif;\n      background: linear-gradient(180deg,#f8fcff 0%,#eef7ff 100%);\n      padding: 24px;\n      border-radius: 28px;\n      box-shadow: 0 20px 50px rgba(15,76,129,.08);\n      color: var(--text);\n      overflow: hidden;\n    }\n    #dept-schedule-tabs *{box-sizing:border-box;}\n    #dept-schedule-tabs .schedule-header{\n      display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center;\n      gap:16px; margin-bottom:22px; padding:18px 20px; border-radius:22px;\n      background: linear-gradient(135deg, var(--primary) 0%, #1763a5 50%, #2b86d9 100%);\n      color:#fff;\n    }\n    #dept-schedule-tabs .schedule-title-wrap h2{\n      margin:0 0 8px 0; font-size:28px; font-weight:800; line-height:1.4;\n    }\n    #dept-schedule-tabs .schedule-title-wrap p{\n      margin:0; font-size:15px; opacity:.95; line-height:1.8;\n    }\n    #dept-schedule-tabs .schedule-badges{\n      display:flex; flex-wrap:wrap; gap:10px;\n    }\n    #dept-schedule-tabs .badge{\n      background:rgba(255,255,255,.15);\n      border:1px solid rgba(255,255,255,.22);\n      padding:10px 14px; border-radius:14px; font-size:14px; font-weight:700;\n      white-space:nowrap;\n    }\n    #dept-schedule-tabs .tabs-toolbar{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:18px;}\n    #dept-schedule-tabs .tabs-scroll{\n      display:flex; gap:10px; overflow-x:auto; padding-bottom:6px; scroll-behavior:smooth; flex:1 1 100%;\n    }\n    #dept-schedule-tabs .tabs-scroll::-webkit-scrollbar{height:8px;}\n    #dept-schedule-tabs .tabs-scroll::-webkit-scrollbar-thumb{background:#bfd6ea; border-radius:20px;}\n    #dept-schedule-tabs .tab-btn,\n    #dept-schedule-tabs .sub-tab-btn{\n      border:none; background:#fff; color:var(--primary-dark); border:1px solid var(--border);\n      padding:12px 18px; border-radius:16px; cursor:pointer; transition:.25s ease;\n      font-size:14px; font-weight:800; white-space:nowrap; box-shadow:0 8px 18px rgba(15,76,129,.05);\n    }\n    #dept-schedule-tabs .tab-btn:hover,\n    #dept-schedule-tabs .sub-tab-btn:hover{transform:translateY(-2px); background:var(--primary-soft);}\n    #dept-schedule-tabs .tab-btn.active{\n      background:linear-gradient(135deg,var(--primary),#2b86d9); color:#fff; border-color:transparent;\n      box-shadow:0 14px 25px rgba(15,76,129,.22);\n    }\n    #dept-schedule-tabs .sub-tabs-wrap{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:18px;}\n    #dept-schedule-tabs .sub-tab-btn.active{\n      background:linear-gradient(135deg,#1d976c,#38b000); color:#fff; border-color:transparent;\n      box-shadow:0 14px 25px rgba(29,151,108,.22);\n    }\n    #dept-schedule-tabs .info-bar{\n      display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-bottom:18px;\n    }\n    #dept-schedule-tabs .info-card{\n      background:#fff; border:1px solid var(--border); border-radius:18px; padding:14px 16px;\n      box-shadow:0 10px 24px rgba(15,76,129,.05);\n    }\n    #dept-schedule-tabs .info-card .label{\n      display:block; color:var(--muted); font-size:13px; margin-bottom:6px; font-weight:700;\n    }\n    #dept-schedule-tabs .info-card .value{\n      display:block; color:var(--text); font-size:16px; font-weight:800; line-height:1.6;\n    }\n    #dept-schedule-tabs .table-card{\n      background:#fff; border:1px solid var(--border); border-radius:24px; overflow:hidden;\n      box-shadow:0 18px 40px rgba(15,76,129,.06);\n    }\n    #dept-schedule-tabs .table-card-head{\n      padding:18px 20px; background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%);\n      border-bottom:1px solid var(--border); display:flex; flex-wrap:wrap; gap:14px;\n      align-items:center; justify-content:space-between;\n    }\n    #dept-schedule-tabs .table-card-head h3{\n      margin:0; font-size:22px; color:var(--primary-dark); font-weight:800;\n    }\n    #dept-schedule-tabs .table-card-head p{\n      margin:6px 0 0; color:var(--muted); font-size:14px; line-height:1.8;\n    }\n    #dept-schedule-tabs .search-input{\n      min-width:240px; max-width:100%; border:1px solid var(--border); background:#fff;\n      border-radius:14px; padding:11px 14px; outline:none; font-size:14px; color:var(--text);\n    }\n    #dept-schedule-tabs .search-input:focus{\n      border-color:#8bbde8; box-shadow:0 0 0 4px rgba(31,142,241,.12);\n    }\n    #dept-schedule-tabs .table-wrap{width:100%; overflow:auto;}\n    #dept-schedule-tabs table{\n      width:100%; min-width:1100px; border-collapse:separate; border-spacing:0;\n    }\n    #dept-schedule-tabs thead th{\n      position:sticky; top:0; z-index:2;\n      background:linear-gradient(180deg,var(--primary-dark),var(--primary));\n      color:#fff; font-size:14px; font-weight:800; padding:15px 12px; text-align:center;\n      border-left:1px solid rgba(255,255,255,.12); white-space:nowrap;\n    }\n    #dept-schedule-tabs tbody td{\n      padding:13px 12px; text-align:center; border-bottom:1px solid #edf3f9; color:var(--text);\n      font-size:14px; vertical-align:middle; background:#fff;\n    }\n    #dept-schedule-tabs tbody tr:nth-child(even) td{background:#fbfdff;}\n    #dept-schedule-tabs tbody tr:hover td{background:#f2f8ff;}\n    #dept-schedule-tabs .type-badge{\n      display:inline-block; padding:7px 10px; border-radius:999px; font-size:12px; font-weight:800; line-height:1;\n    }\n    #dept-schedule-tabs .type-\u0646\u0638\u0631\u064a{background:#e0f2fe; color:#075985;}\n    #dept-schedule-tabs .type-\u0639\u0645\u0644\u064a{background:#dcfce7; color:#166534;}\n    #dept-schedule-tabs .type-\u0645\u062e\u062a\u0628\u0631{background:#fef3c7; color:#92400e;}\n    #dept-schedule-tabs .type-\u0627\u0633\u062a\u0631\u0627\u062d\u0629{background:#f1f5f9; color:#475569;}\n    #dept-schedule-tabs .empty-note{\n      padding:30px 18px; text-align:center; color:var(--muted); font-weight:700;\n    }\n    #dept-schedule-tabs .foot-note{\n      margin-top:16px; padding:14px 16px; border-radius:16px; background:#f9fcff;\n      border:1px dashed #cddfee; color:#4b5563; font-size:14px; line-height:1.9;\n    }\n    @media (max-width:768px){\n      #dept-schedule-tabs{padding:16px; border-radius:20px;}\n      #dept-schedule-tabs .schedule-title-wrap h2{font-size:22px;}\n      #dept-schedule-tabs .table-card-head{padding:16px;}\n      #dept-schedule-tabs .table-card-head h3{font-size:19px;}\n      #dept-schedule-tabs .search-input{width:100%; min-width:100%;}\n    }\n  <\/style>\n\n  <div class=\"schedule-header\">\n    <div class=\"schedule-title-wrap\">\n      <h2 style=\"color: #ffffff \"> \u0627\u0644\u062c\u062f\u0627\u0648\u0644 \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a\u0629 \u0644\u0644\u0623\u0642\u0633\u0627\u0645 <\/h2>\n      <p>\u0627\u062e\u062a\u0631 \u0627\u0644\u0642\u0633\u0645 \u0623\u0648\u0644\u0627\u064b\u060c \u062b\u0645 \u0627\u062e\u062a\u0631 \u0627\u0644\u0634\u0639\u0628\u0629 \u0644\u0639\u0631\u0636 \u0627\u0644\u062c\u062f\u0648\u0644 \u0627\u0644\u062f\u0631\u0627\u0633\u064a \u0627\u0644\u0643\u0627\u0645\u0644.<\/p>\n    <\/div>\n    <div class=\"schedule-badges\">\n      <span class=\"badge\">By: Eng. Zahraa Ahmed Saeed<\/span>\n\n    <\/div>\n  <\/div>\n\n  <div class=\"tabs-toolbar\">\n    <div class=\"tabs-scroll\" id=\"tabsNav\"><\/div>\n  <\/div>\n\n  <div class=\"sub-tabs-wrap\" id=\"groupTabs\">\n    <button class=\"sub-tab-btn active\" data-group=\"A\">\u0634\u0639\u0628\u0629 A<\/button>\n    <button class=\"sub-tab-btn\" data-group=\"B\">\u0634\u0639\u0628\u0629 B<\/button>\n  <\/div>\n\n  <div class=\"info-bar\">\n    <div class=\"info-card\">\n      <span class=\"label\">\u0627\u0644\u0642\u0633\u0645 \u0627\u0644\u062d\u0627\u0644\u064a<\/span>\n      <span class=\"value\" id=\"currentDeptName\">\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0623\u0637\u0631\u0627\u0641 \u0648\u0627\u0644\u0645\u0633\u0627\u0646\u062f \u0627\u0644\u0637\u0628\u064a\u0629<\/span>\n    <\/div>\n    <div class=\"info-card\">\n      <span class=\"label\">\u0627\u0644\u0634\u0639\u0628\u0629 \u0627\u0644\u062d\u0627\u0644\u064a\u0629<\/span>\n      <span class=\"value\" id=\"currentGroupName\">\u0634\u0639\u0628\u0629 A<\/span>\n    <\/div>\n    <div class=\"info-card\">\n      <span class=\"label\">\u0639\u062f\u062f \u0627\u0644\u0645\u0648\u0627\u062f<\/span>\n      <span class=\"value\" id=\"currentSubjectsCount\">0 \u0645\u0627\u062f\u0629<\/span>\n    <\/div>\n    <div class=\"info-card\">\n      <span class=\"label\">\u0639\u062f\u062f \u0627\u0644\u0645\u062d\u0627\u0636\u0631\u0627\u062a<\/span>\n      <span class=\"value\" id=\"currentHoursCount\">0 \u0645\u062d\u0627\u0636\u0631\u0629<\/span>\n    <\/div>\n  <\/div>\n\n  <div class=\"table-card\">\n    <div class=\"table-card-head\">\n      <div>\n        <h3 id=\"tableTitle\">\u062c\u062f\u0648\u0644 \u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0623\u0637\u0631\u0627\u0641 \u0648\u0627\u0644\u0645\u0633\u0627\u0646\u062f \u0627\u0644\u0637\u0628\u064a\u0629 &#8211; \u0634\u0639\u0628\u0629 A<\/h3>\n        <p>\u064a\u0645\u0643\u0646 \u0627\u0644\u0628\u062d\u062b \u062f\u0627\u062e\u0644 \u0627\u0644\u062c\u062f\u0648\u0644 \u062d\u0633\u0628 \u0627\u0644\u0645\u0627\u062f\u0629 \u0623\u0648 \u0627\u0644\u062a\u062f\u0631\u064a\u0633\u064a \u0623\u0648 \u0627\u0644\u0642\u0627\u0639\u0629 \u0623\u0648 \u0627\u0644\u0645\u0631\u062d\u0644\u0629.<\/p>\n      <\/div>\n      <div>\n        <input type=\"text\" id=\"scheduleSearch\" class=\"search-input\" placeholder=\"\u0627\u0628\u062d\u062b \u062f\u0627\u062e\u0644 \u0627\u0644\u062c\u062f\u0648\u0644 \u0627\u0644\u062d\u0627\u0644\u064a...\">\n      <\/div>\n    <\/div>\n\n    <div class=\"table-wrap\">\n      <table>\n        <thead>\n          <tr>\n            <th>\u0627\u0644\u064a\u0648\u0645<\/th>\n            <th>\u0627\u0644\u0648\u0642\u062a<\/th>\n            <th>\u0627\u0644\u0645\u0631\u062d\u0644\u0629<\/th>\n            <th>\u0627\u0644\u0645\u0627\u062f\u0629<\/th>\n            <th>\u0646\u0648\u0639 \u0627\u0644\u0645\u062d\u0627\u0636\u0631\u0629<\/th>\n            <th>\u0627\u0644\u0642\u0627\u0639\u0629 \/ \u0627\u0644\u0645\u062e\u062a\u0628\u0631<\/th>\n            <th>\u0627\u0633\u0645 \u0627\u0644\u062a\u062f\u0631\u064a\u0633\u064a<\/th>\n            <th>\u0627\u0644\u0634\u0639\u0628\u0629<\/th>\n            <th>\u0645\u0644\u0627\u062d\u0638\u0627\u062a<\/th>\n          <\/tr>\n        <\/thead>\n        <tbody id=\"scheduleTableBody\"><\/tbody>\n      <\/table>\n    <\/div>\n\n    <div id=\"emptyResult\" class=\"empty-note\" style=\"display:none;\">\u0644\u0627 \u062a\u0648\u062c\u062f \u0646\u062a\u0627\u0626\u062c \u0645\u0637\u0627\u0628\u0642\u0629 \u0644\u0639\u0645\u0644\u064a\u0629 \u0627\u0644\u0628\u062d\u062b.<\/div>\n  <\/div>\n\n\n\n  <script>\n    (function () {\n      const departments = [\n        \"\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0623\u0637\u0631\u0627\u0641 \u0648\u0627\u0644\u0645\u0633\u0627\u0646\u062f \u0627\u0644\u0637\u0628\u064a\u0629\",\n        \"\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0627\u0646\u062a\u0627\u062c \u0627\u0644\u0646\u0628\u0627\u062a\u064a\",\n        \"\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0647\u0646\u062f\u0633\u0629 \u0627\u0644\u0643\u0647\u0631\u0628\u0627\u0626\u064a\u0629\",\n        \"\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u062a\u0631\u0628\u0629 \u0648\u0627\u0644\u0645\u064a\u0627\u0647\",\n        \"\u062a\u0642\u0646\u064a\u0627\u062a \u0641\u062d\u0635 \u0627\u0644\u0628\u0635\u0631\",\n        \"\u062a\u0642\u0646\u064a\u0627\u062a \u0647\u0646\u062f\u0633\u0629 \u0645\u064a\u0643\u0627\u0646\u064a\u0643 \u0627\u0644\u0637\u0627\u0626\u0631\u0627\u062a \u0648\u0627\u0644\u0637\u0627\u0626\u0631\u0627\u062a \u0627\u0644\u0645\u0633\u064a\u0631\u0629\",\n        \"\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0645\u0642\u0627\u0648\u0645\u0629 \u0627\u0644\u0627\u062d\u064a\u0627\u0626\u064a\u0629\",\n        \"\u0642\u0633\u0645 \u0647\u0646\u062f\u0633\u0629 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0645\u0643\u0627\u0626\u0646 \u0648\u0627\u0644\u0645\u0639\u062f\u0627\u062a\",\n        \"\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0625\u0646\u062a\u0627\u062c \u0627\u0644\u062d\u064a\u0648\u0627\u0646\u064a\",\n        \"\u0647\u0646\u062f\u0633\u0629 \u062a\u0642\u0646\u064a\u0627\u062a \u0645\u064a\u0643\u0627\u0646\u064a\u0643 \u0627\u0644\u0642\u062f\u0631\u0629\"\n      ];\n\n      const genericDays = [\"\u0627\u0644\u0623\u062d\u062f\",\"\u0627\u0644\u0627\u062b\u0646\u064a\u0646\",\"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621\",\"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621\",\"\u0627\u0644\u062e\u0645\u064a\u0633\"];\n      const genericTimes = [\"08:30 - 09:30\",\"09:30 - 10:30\",\"10:30 - 11:30\",\"11:30 - 12:30\",\"12:30 - 01:30\"];\n      const genericStages = [\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u0623\u0648\u0644\u0649\",\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\",\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0644\u062b\u0629\",\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u0631\u0627\u0628\u0639\u0629\"];\n      const genericTypes = [\"\u0646\u0638\u0631\u064a\",\"\u0639\u0645\u0644\u064a\",\"\u0645\u062e\u062a\u0628\u0631\",\"\u0646\u0638\u0631\u064a\",\"\u0627\u0633\u062a\u0631\u0627\u062d\u0629\"];\n\n      const realProstheticsStage2A = [\n        {day:\"\u0627\u0644\u0623\u062d\u062f\", time:\"8:30 - 9:30\",  stage:\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\", subject:\"Biochemistry\", hall:\"Hall No. 1\", teacher:\"\u062e\u0644\u0648\u062f \u0639\u0645\u0631\u0627\u0646\", group:\"\u0634\u0639\u0628\u0629 A\", type:\"\u0646\u0638\u0631\u064a\", note:\"\"},\n        {day:\"\u0627\u0644\u0623\u062d\u062f\", time:\"10:30 - 11:30\", stage:\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\", subject:\"Biochemistry\", hall:\"Lab 1 plant production\", teacher:\"\u062e\u0644\u0648\u062f \u0639\u0645\u0631\u0627\u0646 + \u0632\u064a\u0646\u0628 \u0637\u0627\u0644\u0628 + \u062d\u0648\u0631\u0627\u0621 \u064a\u062d\u064a\u0649 + \u0647\u062f\u0649 \u0642\u062d\u0637\u0627\u0646 + \u0641\u0627\u0637\u0645\u0647 \u062e\u0627\u0644\u062f\", group:\"\u0634\u0639\u0628\u0629 A\", type:\"\u0645\u062e\u062a\u0628\u0631\", note:\"\"},\n        {day:\"\u0627\u0644\u0623\u062d\u062f\", time:\"12:30 - 1:30\", stage:\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\", subject:\"Histology\", hall:\"Hall No. 1\", teacher:\"\u062d\u0648\u0631\u0627\u0621 \u064a\u062d\u064a\u0649 \u0645\u062d\u0645\u062f\", group:\"\u0634\u0639\u0628\u0629 A\", type:\"\u0646\u0638\u0631\u064a\", note:\"\"},\n\n        {day:\"\u0627\u0644\u0627\u062b\u0646\u064a\u0646\", time:\"8:30 - 9:30\",  stage:\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\", subject:\"Histology practical\", hall:\"Lab 1\", teacher:\"\u062d\u0648\u0631\u0627\u0621 \u064a\u062d\u064a\u0649 \u0645\u062d\u0645\u062f + \u0628\u064a\u0627\u0646 \u062d\u0633\u064a\u0646 + \u0633\u0644\u0627\u0645 \u062c\u0627\u062f\u0631\", group:\"\u0634\u0639\u0628\u0629 A\", type:\"\u0639\u0645\u0644\u064a\", note:\"\"},\n        {day:\"\u0627\u0644\u0627\u062b\u0646\u064a\u0646\", time:\"10:30 - 11:30\", stage:\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\", subject:\"Biomechanics Prosthetics (II) - theory\", hall:\"Hall No. 1\", teacher:\"\u0631\u0627\u0626\u062f \u0645\u062d\u0645\u062f\", group:\"\u0634\u0639\u0628\u0629 A\", type:\"\u0646\u0638\u0631\u064a\", note:\"\"},\n        {day:\"\u0627\u0644\u0627\u062b\u0646\u064a\u0646\", time:\"12:30 - 1:30\", stage:\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\", subject:\"Biomechanics Prosthetics (II) - Practical\", hall:\"Workshop\", teacher:\"\u0631\u0627\u0626\u062f \u0645\u062d\u0645\u062f + \u0637\u0627\u0644\u0628 \u062d\u0631\u062f\u0627\u0646 + \u0633\u0644\u0627\u0645 \u062c\u0627\u062f\u0631\", group:\"\u0634\u0639\u0628\u0629 A\", type:\"\u0639\u0645\u0644\u064a\", note:\"\"},\n\n        {day:\"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621\", time:\"8:30 - 9:30\",  stage:\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\", subject:\"Engineering drawing practical\", hall:\"Hall No. 1\", teacher:\"\u0632\u064a\u0646 \u0627\u0644\u0639\u0627\u0628\u062f\u064a\u0646 + \u0631\u0646\u062f \u0641\u0627\u0636\u0644 + \u0641\u0627\u0637\u0645\u0647 \u062e\u0627\u0644\u062f + \u0645\u0635\u0637\u0641\u0649 \u0639\u0644\u064a + \u0628\u064a\u0627\u0646 \u062d\u0633\u064a\u0646\", group:\"\u0634\u0639\u0628\u0629 A\", type:\"\u0639\u0645\u0644\u064a\", note:\"\"},\n        {day:\"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621\", time:\"10:30 - 11:30\", stage:\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\", subject:\"Spin disease deformities theory\", hall:\"Workshop\", teacher:\"\u0643\u0631\u0627\u0631 \u062d\u0633\u0646\", group:\"\u0634\u0639\u0628\u0629 A\", type:\"\u0646\u0638\u0631\u064a\", note:\"\"},\n        {day:\"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621\", time:\"12:30 - 1:30\", stage:\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\", subject:\"Spin disease deformities practical\", hall:\"Hall No. 1\", teacher:\"\u0643\u0631\u0627\u0631 \u062d\u0633\u0646\", group:\"\u0634\u0639\u0628\u0629 A\", type:\"\u0639\u0645\u0644\u064a\", note:\"\"},\n\n        {day:\"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621\", time:\"8:30 - 9:30\",  stage:\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\", subject:\"Artificial intelligent theory\", hall:\"Hall No. 1\", teacher:\"\u0633\u062a \u0643\u0641\u0627\u062d\", group:\"\u0634\u0639\u0628\u0629 A\", type:\"\u0646\u0638\u0631\u064a\", note:\"\"},\n        {day:\"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621\", time:\"9:30 - 10:30\", stage:\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\", subject:\"Artificial intelligent practical\", hall:\"Computer center\", teacher:\"\u0633\u062a \u0643\u0641\u0627\u062d + \u0628\u0631\u0627\u0621 \u0634\u0639\u0644\u0627\u0646 + \u0641\u0627\u0637\u0645\u0647 \u062e\u0627\u0644\u062f + \u0645\u0635\u0637\u0641\u0649 \u0639\u0644\u064a \u0639\u0628\u0648\u062f + \u0628\u064a\u0627\u0646 \u062d\u0633\u064a\u0646 + \u0633\u0644\u0627\u0645 \u062c\u0627\u062f\u0631\", group:\"\u0634\u0639\u0628\u0629 A\", type:\"\u0639\u0645\u0644\u064a\", note:\"\"},\n        {day:\"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621\", time:\"11:30 - 12:30\", stage:\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\", subject:\"Engineering drawing theory\", hall:\"Hall No. 1\", teacher:\"\u0632\u064a\u0646 \u0627\u0644\u0639\u0627\u0628\u062f\u064a\u0646\", group:\"\u0634\u0639\u0628\u0629 A\", type:\"\u0646\u0638\u0631\u064a\", note:\"\"},\n        {day:\"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621\", time:\"12:30 - 1:30\", stage:\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\", subject:\"Arabic language\", hall:\"Workshop\", teacher:\"\u062f. \u0647\u062f\u0649 \u0639\u0628\u062f\u0627\u0644\u0644\u0647\", group:\"\u0634\u0639\u0628\u0629 A\", type:\"\u0646\u0638\u0631\u064a\", note:\"\"},\n\n        {day:\"\u0627\u0644\u062e\u0645\u064a\u0633\", time:\"8:30 - 9:30\",  stage:\"\u0627\u0644\u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629\", subject:\"Engineering drawing practical\", hall:\"Workshop\", teacher:\"\u0632\u064a\u0646 \u0627\u0644\u0639\u0627\u0628\u062f\u064a\u0646 + \u0645\u0635\u0637\u0641\u0649 \u0639\u0644\u064a + \u0628\u064a\u0627\u0646 \u062d\u0633\u064a\u0646 + \u0647\u062f\u0649 \u0642\u062d\u0637\u0627\u0646\", group:\"\u0634\u0639\u0628\u0629 A\", type:\"\u0639\u0645\u0644\u064a\", note:\"\"}\n      ];\n\n      const tabsNav = document.getElementById(\"tabsNav\");\n      const tableBody = document.getElementById(\"scheduleTableBody\");\n      const currentDeptName = document.getElementById(\"currentDeptName\");\n      const currentGroupName = document.getElementById(\"currentGroupName\");\n      const currentSubjectsCount = document.getElementById(\"currentSubjectsCount\");\n      const currentHoursCount = document.getElementById(\"currentHoursCount\");\n      const tableTitle = document.getElementById(\"tableTitle\");\n      const searchInput = document.getElementById(\"scheduleSearch\");\n      const emptyResult = document.getElementById(\"emptyResult\");\n      const groupTabs = document.getElementById(\"groupTabs\");\n\n      let activeDept = departments[0];\n      let activeGroup = \"A\";\n      let departmentData = {};\n      let filteredRows = [];\n\n      function buildGenericRowsForDepartment(deptName, deptIndex, group) {\n        const rows = [];\n        let counter = group === \"A\" ? 1 : 11;\n\n        genericDays.forEach((day, dIndex) => {\n          genericTimes.forEach((time, tIndex) => {\n            const stage = genericStages[(dIndex + tIndex + (group === \"B\" ? 1 : 0)) % genericStages.length];\n            const type = genericTypes[tIndex % genericTypes.length];\n\n            rows.push({\n              day,\n              time,\n              stage,\n              subject: type === \"\u0627\u0633\u062a\u0631\u0627\u062d\u0629\" ? \"\u0627\u0633\u062a\u0631\u0627\u062d\u0629\" : \"\u0645\u0627\u062f\u0629 \" + counter,\n              type,\n              hall: type === \"\u0627\u0633\u062a\u0631\u0627\u062d\u0629\" ? \"-\" : \"\u0642\u0627\u0639\u0629 \" + (((deptIndex + counter) % 6) + 1),\n              teacher: type === \"\u0627\u0633\u062a\u0631\u0627\u062d\u0629\" ? \"-\" : \"\u062a\u062f\u0631\u064a\u0633\u064a \" + (((deptIndex + counter) % 8) + 1),\n              group: \"\u0634\u0639\u0628\u0629 \" + group,\n              note: type === \"\u0627\u0633\u062a\u0631\u0627\u062d\u0629\" ? \"\u0627\u0633\u062a\u0631\u0627\u062d\u0629\" : \"\u0645\u0644\u0627\u062d\u0638\u0629 \" + (((dIndex + tIndex) % 5) + 1)\n            });\n\n            counter++;\n          });\n        });\n\n        return rows;\n      }\n\n      function initData() {\n        departments.forEach((dept, index) => {\n          if (dept === \"\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0623\u0637\u0631\u0627\u0641 \u0648\u0627\u0644\u0645\u0633\u0627\u0646\u062f \u0627\u0644\u0637\u0628\u064a\u0629\") {\n            departmentData[dept] = {\n              A: realProstheticsStage2A,\n              B: []\n            };\n          } else {\n            departmentData[dept] = {\n              A: buildGenericRowsForDepartment(dept, index, \"A\"),\n              B: buildGenericRowsForDepartment(dept, index, \"B\")\n            };\n          }\n        });\n      }\n\n      function renderTabs() {\n        tabsNav.innerHTML = departments.map((dept, index) => `\n          <button class=\"tab-btn ${index === 0 ? 'active' : ''}\" data-dept=\"${dept}\">\n            ${dept}\n          <\/button>\n        `).join(\"\");\n\n        tabsNav.querySelectorAll(\".tab-btn\").forEach(btn => {\n          btn.addEventListener(\"click\", function () {\n            tabsNav.querySelectorAll(\".tab-btn\").forEach(b => b.classList.remove(\"active\"));\n            this.classList.add(\"active\");\n            activeDept = this.getAttribute(\"data-dept\");\n            searchInput.value = \"\";\n            renderDepartment(activeDept, activeGroup);\n          });\n        });\n      }\n\n      function renderGroupTabs() {\n        groupTabs.querySelectorAll(\".sub-tab-btn\").forEach(btn => {\n          btn.addEventListener(\"click\", function () {\n            groupTabs.querySelectorAll(\".sub-tab-btn\").forEach(b => b.classList.remove(\"active\"));\n            this.classList.add(\"active\");\n            activeGroup = this.getAttribute(\"data-group\");\n            searchInput.value = \"\";\n            renderDepartment(activeDept, activeGroup);\n          });\n        });\n      }\n\n      function countUniqueSubjects(rows) {\n        const unique = [...new Set(rows.filter(r => r.subject !== \"\u0627\u0633\u062a\u0631\u0627\u062d\u0629\").map(r => r.subject))];\n        return unique.length;\n      }\n\n      function renderDepartment(deptName, group) {\n        const rows = (departmentData[deptName] && departmentData[deptName][group]) ? departmentData[deptName][group] : [];\n        filteredRows = [...rows];\n\n        currentDeptName.textContent = deptName;\n        currentGroupName.textContent = \"\u0634\u0639\u0628\u0629 \" + group;\n        currentSubjectsCount.textContent = countUniqueSubjects(rows) + \" \u0645\u0627\u062f\u0629\";\n        currentHoursCount.textContent = rows.length + \" \u0645\u062d\u0627\u0636\u0631\u0629\";\n        tableTitle.textContent = \"\u062c\u062f\u0648\u0644 \" + deptName + \" - \u0634\u0639\u0628\u0629 \" + group;\n\n        renderTable(filteredRows, deptName, group);\n      }\n\n      function renderTable(rows, deptName, group) {\n        if (!rows.length) {\n          if (deptName === \"\u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0623\u0637\u0631\u0627\u0641 \u0648\u0627\u0644\u0645\u0633\u0627\u0646\u062f \u0627\u0644\u0637\u0628\u064a\u0629\" && group === \"B\") {\n            tableBody.innerHTML = `\n              <tr>\n                <td colspan=\"9\" style=\"padding:22px; text-align:center; font-weight:700; color:#64748b;\">\n                  \u0644\u0627 \u062a\u0648\u062c\u062f \u0628\u064a\u0627\u0646\u0627\u062a \u062d\u0642\u064a\u0642\u064a\u0629 \u0644\u0634\u0639\u0628\u0629 B \u0641\u064a \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u0631\u0641\u0648\u0639 \u062d\u0627\u0644\u064a\u0627\u064b\n                <\/td>\n              <\/tr>\n            `;\n            emptyResult.style.display = \"none\";\n            return;\n          }\n\n          tableBody.innerHTML = \"\";\n          emptyResult.style.display = \"block\";\n          return;\n        }\n\n        emptyResult.style.display = \"none\";\n        tableBody.innerHTML = rows.map(row => `\n          <tr>\n            <td>${row.day}<\/td>\n            <td>${row.time}<\/td>\n            <td>${row.stage}<\/td>\n            <td>${row.subject}<\/td>\n            <td><span class=\"type-badge type-${row.type}\">${row.type}<\/span><\/td>\n            <td>${row.hall}<\/td>\n            <td>${row.teacher}<\/td>\n            <td>${row.group}<\/td>\n            <td>${row.note || \"-\"}<\/td>\n          <\/tr>\n        `).join(\"\");\n      }\n\n      function applySearch() {\n        const q = searchInput.value.trim().toLowerCase();\n        const rows = (departmentData[activeDept] && departmentData[activeDept][activeGroup]) ? departmentData[activeDept][activeGroup] : [];\n\n        if (!q) {\n          filteredRows = [...rows];\n          renderTable(filteredRows, activeDept, activeGroup);\n          return;\n        }\n\n        filteredRows = rows.filter(row =>\n          Object.values(row).join(\" \").toLowerCase().includes(q)\n        );\n\n        renderTable(filteredRows, activeDept, activeGroup);\n      }\n\n      initData();\n      renderTabs();\n      renderGroupTabs();\n      renderDepartment(activeDept, activeGroup);\n      searchInput.addEventListener(\"input\", applySearch);\n    })();\n  <\/script>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u0644\u062c\u062f\u0627\u0648\u0644 \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a\u0629 \u0644\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u062e\u062a\u0631 \u0627\u0644\u0642\u0633\u0645 \u0623\u0648\u0644\u0627\u064b\u060c \u062b\u0645 \u0627\u062e\u062a\u0631 \u0627\u0644\u0634\u0639\u0628\u0629 \u0644\u0639\u0631\u0636 \u0627\u0644\u062c\u062f\u0648\u0644 \u0627\u0644\u062f\u0631\u0627\u0633\u064a \u0627\u0644\u0643\u0627\u0645\u0644. By: Eng. Zahraa Ahmed Saeed \u0634\u0639\u0628\u0629 A \u0634\u0639\u0628\u0629 B \u0627\u0644\u0642\u0633\u0645 \u0627\u0644\u062d\u0627\u0644\u064a \u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0623\u0637\u0631\u0627\u0641 \u0648\u0627\u0644\u0645\u0633\u0627\u0646\u062f \u0627\u0644\u0637\u0628\u064a\u0629 \u0627\u0644\u0634\u0639\u0628\u0629 \u0627\u0644\u062d\u0627\u0644\u064a\u0629 \u0634\u0639\u0628\u0629 A \u0639\u062f\u062f \u0627\u0644\u0645\u0648\u0627\u062f 0 \u0645\u0627\u062f\u0629 \u0639\u062f\u062f \u0627\u0644\u0645\u062d\u0627\u0636\u0631\u0627\u062a 0 \u0645\u062d\u0627\u0636\u0631\u0629 \u062c\u062f\u0648\u0644 \u0642\u0633\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0623\u0637\u0631\u0627\u0641 \u0648\u0627\u0644\u0645\u0633\u0627\u0646\u062f \u0627\u0644\u0637\u0628\u064a\u0629 &#8211; \u0634\u0639\u0628\u0629 A \u064a\u0645\u0643\u0646 \u0627\u0644\u0628\u062d\u062b \u062f\u0627\u062e\u0644 \u0627\u0644\u062c\u062f\u0648\u0644 \u062d\u0633\u0628 &hellip; <a href=\"https:\/\/cms.atu.edu.iq\/?page_id=19305\">Continued<\/a><\/p>\n","protected":false},"author":123457,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-19305","page","type-page","status-publish","hentry"],"featured_image_src":null,"_links":{"self":[{"href":"https:\/\/cms.atu.edu.iq\/index.php?rest_route=\/wp\/v2\/pages\/19305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cms.atu.edu.iq\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cms.atu.edu.iq\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cms.atu.edu.iq\/index.php?rest_route=\/wp\/v2\/users\/123457"}],"replies":[{"embeddable":true,"href":"https:\/\/cms.atu.edu.iq\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=19305"}],"version-history":[{"count":17,"href":"https:\/\/cms.atu.edu.iq\/index.php?rest_route=\/wp\/v2\/pages\/19305\/revisions"}],"predecessor-version":[{"id":19420,"href":"https:\/\/cms.atu.edu.iq\/index.php?rest_route=\/wp\/v2\/pages\/19305\/revisions\/19420"}],"wp:attachment":[{"href":"https:\/\/cms.atu.edu.iq\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=19305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}