{"id":6052,"date":"2026-09-14T03:53:00","date_gmt":"2026-09-14T03:53:00","guid":{"rendered":"https:\/\/iasiso-gulf.com\/KW\/?page_id=6052"},"modified":"2026-09-14T03:53:00","modified_gmt":"2026-09-14T03:53:00","slug":"cgmp-internal-auditor-training-in-kuwait","status":"publish","type":"page","link":"https:\/\/iasiso-gulf.com\/KW\/cgmp-internal-auditor-training-in-kuwait\/","title":{"rendered":"cGMP Internal Auditor Training in Kuwait"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6052\" class=\"elementor elementor-6052\">\n\t\t\t\t<div class=\"elementor-element elementor-element-k1a2b3c e-flex e-con-boxed e-con e-parent\" data-id=\"k1a2b3c\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-k2b3c4d e-con-full e-flex e-con e-child\" data-id=\"k2b3c4d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-k4d5e6f elementor-widget elementor-widget-html\" data-id=\"k4d5e6f\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"ias-c\"><style>.elementor .ias-c h2,.elementor .ias-c h3{color:#0a4d8c !important;text-align:left !important;font-family:'Poppins',sans-serif !important;}.elementor .ias-c h2:not(.ias-faq-title){font-size:25px !important;font-weight:700 !important;line-height:1.3 !important;margin:32px 0 12px !important;}.elementor .ias-c h3{font-size:21px !important;font-weight:600 !important;line-height:1.35 !important;margin:24px 0 10px !important;}.elementor .ias-c p,.elementor .ias-c li{font-size:16px !important;line-height:1.75 !important;font-family:'Roboto',sans-serif !important;text-align:justify !important;color:#000 !important;}.elementor .ias-c ul{list-style:disc outside !important;margin:0 0 18px 20px !important;}.elementor .ias-c ul li{list-style:disc outside !important;display:list-item !important;margin-bottom:8px;}.elementor .ias-c ol{margin:0 0 18px 20px !important;}.elementor .ias-c ol li{list-style:decimal outside !important;display:list-item !important;margin-bottom:8px;}.elementor .ias-c p strong,.elementor .ias-c li strong,.elementor .ias-c td strong{color:#000 !important;}.elementor .ias-c a,.elementor .ias-c p a,.elementor .ias-c li a,.elementor .ias-c td a{color:#b02b2c !important;font-weight:700 !important;text-decoration:underline !important;text-underline-offset:2px;}.elementor .ias-c .ias-tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0 26px;}.elementor .ias-c .ias-tw{width:100%;border-collapse:collapse;font-size:15px;min-width:560px;}.elementor .ias-c .ias-tw thead th{background:#0a4d8c !important;color:#fff !important;font-family:'Poppins',sans-serif !important;font-weight:700 !important;font-size:15px !important;text-align:left !important;padding:11px 13px !important;border:1px solid #0a4d8c !important;}.elementor .ias-c .ias-tw td{border:1px solid #dbe6f0 !important;padding:10px 13px !important;font-family:'Roboto',sans-serif !important;font-size:15px !important;vertical-align:top;color:#000 !important;text-align:left !important;}.elementor .ias-c .ias-tw tbody tr:nth-child(even) td{background:#f2f7fb !important;}.elementor .ias-c .ias-tw tbody tr:nth-child(odd) td{background:#fff !important;}.elementor .ias-c figure.ias-fig{max-width:480px !important;margin:26px auto !important;padding:0;display:block !important;float:none !important;}.elementor .ias-c .ias-fig img{width:100%;height:auto;display:block;border-radius:6px;}.elementor .ias-c .ias-fig figcaption{font-size:13px !important;color:#6b7280 !important;text-align:center !important;margin-top:8px;font-style:italic;}.elementor .ias-c figure.ias-dia{max-width:100% !important;margin:26px 0 !important;padding:0;display:block !important;float:none !important;}.elementor .ias-c .ias-diascroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}.elementor .ias-c .ias-dia img{width:100%;min-width:560px;height:auto;display:block;border-radius:6px;}.elementor .ias-c .ias-dia figcaption{font-size:13px !important;color:#6b7280 !important;text-align:center !important;margin-top:8px;font-style:italic;}.elementor .ias-c .ias-band{background:#f2f7fb;border:1px solid #dbe6f0;border-radius:10px;padding:14px 18px;margin:20px 0;}.elementor .ias-c .ias-band ul{display:flex !important;flex-wrap:wrap;gap:6px 26px;margin:0 !important;padding:0 !important;list-style:none !important;}.elementor .ias-c .ias-band ul li{list-style:none !important;display:block !important;font-size:15px !important;color:#000 !important;font-weight:600;margin-bottom:0 !important;text-align:left !important;}.elementor .ias-c .ias-band ul li:before{content:\"\\2713\";color:#b02b2c;font-weight:700;margin-right:8px;}.elementor .ias-c .ias-qa{background:#f2f7fb;border:1px solid #dbe6f0;border-left:4px solid #0a4d8c;border-radius:8px;padding:16px 20px;margin:22px 0;}.elementor .ias-c .ias-qa h2{margin:0 0 10px !important;font-size:19px !important;}.elementor .ias-c .ias-qa ul{margin:0 0 0 20px !important;}.elementor .ias-c .ias-qa li{margin-bottom:6px;}.elementor .ias-c .ias-qa li:last-child{margin-bottom:0;}.elementor .ias-c .ias-cta2{background:#b02b2c;border-radius:10px;padding:16px 20px;margin:26px 0;}.elementor .ias-c .ias-cta2 p{margin:0 !important;color:#fff !important;font-size:16px !important;font-family:'Roboto',sans-serif !important;text-align:left !important;}.elementor .ias-c .ias-cta2 p a{color:#fff !important;text-decoration:underline !important;font-weight:700 !important;}.elementor .ias-c .ias-faq-title{font-size:25px !important;font-weight:700;color:#0a4d8c !important;font-family:'Poppins',sans-serif !important;margin:36px 0 14px;text-align:left !important;}.elementor .ias-c .ias-faq-item{border:1px solid #dbe6f0;border-radius:6px;margin-bottom:10px;background:#fff;}.elementor .ias-c .ias-faq-q{cursor:pointer;padding:13px 44px 13px 16px;font-weight:600;font-family:'Poppins',sans-serif !important;font-size:16px !important;color:#0a4d8c !important;position:relative;list-style:none;line-height:1.5;}.elementor .ias-c .ias-faq-q::-webkit-details-marker{display:none;}.elementor .ias-c .ias-faq-q::after{content:\"+\";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#b02b2c;font-size:22px;font-weight:700;line-height:1;}.elementor .ias-c .ias-faq-item[open] .ias-faq-q::after{content:\"\\2212\";}.elementor .ias-c .ias-faq-a{padding:0 16px 14px;}.elementor .ias-c .ias-faq-a p{margin:0 0 10px;font-size:16px !important;}.elementor .ias-c .ias-faq-a p:last-child{margin-bottom:0;}.elementor .ias-c .ias-ld{display:none !important;}.elementor .ias-c{overflow-wrap:break-word;}@media(max-width:640px){.elementor .ias-c .ias-tw{font-size:14px;}.elementor .ias-c .ias-tw td,.elementor .ias-c .ias-tw thead th{padding:8px 9px !important;}}<\/style><p>Half of what an internal auditor learns is how to hold a useful conversation. cGMP internal auditor training covers auditing a manufacturing operation against current Good Manufacturing Practice requirements, and questioning technique is one of the skills it builds. Auditors ask the people who run the process to explain what they do, then listen carefully enough to notice when the answer does not match the procedure.<\/p><p>Records tell you what was written down. Observation tells you what happened once, while you were watching. Talking to the person doing the job tells you whether the system has been understood well enough to be used when nobody is watching. That third source is the one new auditors handle least well, and it is entirely teachable.<\/p><figure class=\"ias-fig\"><img loading=\"lazy\" src=\"https:\/\/iasiso-gulf.com\/KW\/wp-content\/uploads\/2026\/09\/kw-cgmp-internal-auditor-training-kuwait.jpg\" alt=\"Production operators working a packaging line at a cGMP manufacturing facility in Kuwait, the environment internal auditors examine\" loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"600\" \/><\/figure><div class=\"ias-cta2\"><p>Training a team in Kuwait? <a href=\"https:\/\/iasiso-gulf.com\/KW\/contact-us\/\">Contact IAS<\/a> with your site, product categories and participant numbers for a delivery proposal.<\/p><\/div><h2>What cGMP internal auditor training covers<\/h2><p>Staff are prepared to examine their own organisation against GMP and cGMP requirements and against the procedures the company has documented for itself.<\/p><p>cGMP emphasises that a quality system must stay <em>current<\/em>: procedures, training and records are expected to track how the plant actually runs. Interviews are often where that gap first becomes visible. An operator describing a workaround they have used for months is telling you the SOP no longer matches reality, long before the records will show it.<\/p><p>The course covers GMP fundamentals, the full audit method from planning to follow-up, and auditor conduct. Assessment of the site by an outside body is something different, and the <a href=\"https:\/\/iasiso-gulf.com\/KW\/cgmp-certification-in-kuwait\/\">cGMP certification in Kuwait<\/a> page explains it.<\/p><h2>Asking questions that produce evidence<\/h2><p>Most poor interviews fail in the first sentence. A closed question invites a one-word answer, and a one-word answer is not evidence of anything.<\/p><figure class=\"ias-dia\"><div class=\"ias-diascroll\"><img loading=\"lazy\" src=\"https:\/\/iasiso-gulf.com\/KW\/wp-content\/uploads\/2026\/09\/kw-audit-question-funnel.png\" alt=\"Audit question funnel &#8212; open, probing and confirming questions leading to named evidence\" loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"446\" \/><\/div><figcaption>From open question to named evidence &#8212; three questions move an auditor from a general topic to a record they can examine<\/figcaption><\/figure><p>The pattern works because each stage does a different job. The opening question gets the person talking in their own words about what they actually do. The probing question follows whatever they said toward the detail that matters. The confirming question fixes the answer in a form the auditor can record and reference.<\/p><p>An example runs like this. &#8220;Talk me through what happens when a result falls outside specification.&#8221; The analyst describes the process. &#8220;You mentioned you inform the supervisor &#8212; what happens if the supervisor is not on site?&#8221; The analyst explains the actual practice, which may or may not match the SOP. &#8220;So the sample is held and logged the following morning &#8212; where would I see that recorded?&#8221; Now there is something specific to examine.<\/p><p>Three questions, and the auditor has moved from a general topic to a named record they can request.<\/p><h3>Question types and what they are for<\/h3><div class=\"ias-tscroll\"><table class=\"ias-tw\"><thead><tr><th>Question type<\/th><th>Example<\/th><th>What it produces<\/th><\/tr><\/thead><tbody><tr><td>Open<\/td><td>&#8220;Show me how you record a line clearance.&#8221;<\/td><td>The person&#8217;s own account, in their own words<\/td><\/tr><tr><td>Probing<\/td><td>&#8220;What happens if the previous batch record is not signed off yet?&#8221;<\/td><td>The exceptions and workarounds that procedures rarely describe<\/td><\/tr><tr><td>Confirming<\/td><td>&#8220;So you hold the line until QA releases it &#8212; is that right?&#8221;<\/td><td>An answer the auditor can quote and check against records<\/td><\/tr><tr><td>Closed<\/td><td>&#8220;Do you follow the cleaning SOP?&#8221;<\/td><td>Almost nothing; the answer is yes<\/td><\/tr><tr><td>Leading<\/td><td>&#8220;You always verify the weight, don&#8217;t you?&#8221;<\/td><td>Worse than nothing; it teaches the person what you want to hear<\/td><\/tr><\/tbody><\/table><\/div><p>The last two are the ones to avoid. Closed questions waste the opportunity. Leading questions actively contaminate the evidence, because a helpful person will agree with the auditor and the audit learns nothing.<\/p><h2>Listening for what is not said<\/h2><p>Interviewing is mostly listening, and the training covers what to attend to.<\/p><p>Hesitation before an answer is not evidence of anything wrong, but it marks a place worth exploring. So does an answer that describes the procedure in the procedure&#8217;s own words &#8212; that often means the person has read it recently rather than that they perform it that way. So does a workaround mentioned casually and then withdrawn.<\/p><p>The auditor&#8217;s response to all of these is the same: stay neutral, ask an open follow-up, and go and look. An interview identifies where to look; records and observation confirm what is there. A finding never rests on a conversation alone.<\/p><h3>Tone, and why an anxious interviewee is a worse source<\/h3><p>People being interviewed by a colleague from another department are often anxious about consequences, and anxious people give worse information. The training covers how to open an interview: the auditor explains that the audit examines the process rather than the person, and that findings are written against systems. A settled interviewee is a more useful one.<\/p><h2>Observation, and what counts as genuine<\/h2><p>The companion skill is watching. An auditor should see an activity happening for its own reasons, not performed for their benefit.<\/p><p>A staged demonstration shows how an operator behaves when observed by someone with a clipboard, which is reliably better than normal practice. Where an activity is scheduled &#8212; a changeover, a batch start, a weighing operation &#8212; the audit should be timed to catch it. Where an activity is genuinely infrequent, the auditor relies more on records and interviews and says so in the report rather than pretending otherwise.<\/p><h2>What an internal auditor does overall<\/h2><p>The interview sits inside a larger routine. The auditor prepares by reading the relevant procedures, the previous report and any open corrective actions, and drafts a checklist that names sources and samples. During the audit they observe, interview and review records, comparing all three against the criteria and recording referenced evidence as they go. Findings are drafted and classified before the closing meeting, written as requirement, evidence and gap. Afterwards, the corrective action is reviewed and its effectiveness verified.<\/p><h2>Who should attend cGMP internal auditor training<\/h2><div class=\"ias-tscroll\"><table class=\"ias-tw\"><thead><tr><th>Participant<\/th><th>Why the questioning focus helps<\/th><\/tr><\/thead><tbody><tr><td>QA officers and managers<\/td><td>Conduct most internal interviews and set the tone for the programme<\/td><\/tr><tr><td>Production supervisors<\/td><td>Both interview others and are interviewed; understanding both sides helps<\/td><\/tr><tr><td>QC and laboratory personnel<\/td><td>Out-of-specification and deviation handling is best explored through conversation<\/td><\/tr><tr><td>Engineering and maintenance<\/td><td>Equipment history often lives in people&#8217;s heads before it reaches records<\/td><\/tr><tr><td>Warehouse and materials staff<\/td><td>Receipt and storage practices vary between shifts more than records suggest<\/td><\/tr><tr><td>Compliance and regulatory staff<\/td><td>Add interview technique to requirements knowledge<\/td><\/tr><tr><td>Newly appointed internal auditors<\/td><td>Questioning is the skill new auditors most often lack<\/td><\/tr><\/tbody><\/table><\/div><p>No previous audit experience is assumed. Employees already working in a GMP environment progress quickest; those new to manufacturing quality generally start with a <a href=\"https:\/\/onlinecourse.eascertification.com\/foundation-course\/online-sl-cgmp\" target=\"_blank\" rel=\"noopener\">cGMP foundation course<\/a>. Teams auditing to other standards alongside cGMP can look at the wider <a href=\"https:\/\/iasiso-gulf.com\/KW\/internal-auditor-training\/\">ISO internal auditor training<\/a> range on this site.<\/p><figure class=\"ias-fig\"><img loading=\"lazy\" src=\"https:\/\/iasiso-gulf.com\/KW\/wp-content\/uploads\/2026\/09\/kw-internal-audit-interview-kuwait.jpg\" alt=\"Internal auditors comparing interview notes against records during a cGMP audit at a manufacturing site in Kuwait\" loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"600\" \/><\/figure><h2>Skills participants develop<\/h2><ul><li>Opening an interview so the person is willing to talk openly<\/li><li>Asking open questions instead of closed ones, consistently<\/li><li>Following an answer with a probing question rather than moving to the next checklist item<\/li><li>Confirming an answer in words the auditor can record and verify<\/li><li>Avoiding leading questions that hand the answer to the interviewee<\/li><li>Noticing when someone is reciting a procedure rather than describing their work<\/li><li>Treating a conversation as a pointer to evidence, never as the evidence itself<\/li><li>Timing observation so activities are seen genuinely rather than demonstrated<\/li><li>Recording referenced evidence during the audit rather than afterwards<\/li><li>Wording findings against processes rather than the people interviewed<\/li><\/ul><h2>What sites gain<\/h2><p>Interviews surface the things records cannot. A document review will not show a procedure that nobody can follow as written. Nor will it show a step everyone skips because the equipment makes it impractical. It will also miss a handover that works only because one experienced operator remembers to do it. They appear when someone asks.<\/p><p>Finding them internally is considerably cheaper than having a customer auditor find them. It is also more useful, because the fix can be designed with the people who identified the problem rather than imposed after an external report.<\/p><p>For readers who want the requirements context behind all of this, the IAS overview of <a href=\"https:\/\/www.iascertification.com\/gmp-certification\/\" target=\"_blank\" rel=\"noopener\">GMP certification<\/a> and the regional piece on <a href=\"https:\/\/iasiso-middleeast.com\/EG\/blog\/cgmp-standards-egypt\/\" target=\"_blank\" rel=\"noopener\">cGMP standards<\/a> are useful starting points.<\/p><h2>Training compared with certification<\/h2><div class=\"ias-tscroll\"><table class=\"ias-tw\"><thead><tr><th><\/th><th>cGMP internal auditor training<\/th><th>cGMP certification<\/th><\/tr><\/thead><tbody><tr><td>Subject<\/td><td>Individual employees<\/td><td>The organisation and its facility<\/td><\/tr><tr><td>Audit type<\/td><td>First-party, conducted internally<\/td><td>Third-party, conducted independently<\/td><\/tr><tr><td>Outcome<\/td><td>Trained auditors and a training record<\/td><td>A certificate covering a defined scope<\/td><\/tr><tr><td>Continues as<\/td><td>An ongoing internal audit programme<\/td><td>Surveillance and recertification<\/td><\/tr><\/tbody><\/table><\/div><p>Certification bodies expect to see internal audits being run competently, so developing auditors strengthens a certified system. It does not, however, produce a certificate &#8212; and a company holding one still has to audit itself.<\/p><h2>cGMP internal auditor training in Kuwait: course details<\/h2><p>The duration of cGMP internal auditor training in Kuwait depends on the delivery route chosen, and fees are quoted alongside it rather than separately. Those finishing receive a certificate of completion naming what the course covered, which is what an assessor asks for when reviewing auditor competence. Upcoming open sessions appear on the IAS <a href=\"https:\/\/iasiso-gulf.com\/KW\/training-schedule\/\">training schedule<\/a>.<\/p><p>Report writing is included: wording a finding that stands up to challenge, and reaching a recurring problem&#8217;s cause without naming anyone interviewed.<\/p><ul><li><strong>Objective.<\/strong> This cGMP internal audit course prepares participants to plan, conduct, interview, report and follow up internal audits of GMP and cGMP quality systems.<\/li><li><strong>Coverage.<\/strong> GMP and cGMP fundamentals; criteria and scope; planning and checklist preparation; questioning technique and interview conduct; observation; record review; objective evidence; nonconformity classification; findings and report writing; corrective-action review and verification; auditor independence.<\/li><li><strong>Outcomes.<\/strong> Participants should be able to plan and run an internal audit, and to interview personnel productively without leading them. They should gather referenced evidence from observation and records, and raise and word nonconformities. They should also produce a report and evaluate corrective actions.<\/li><\/ul><h3>Delivery formats<\/h3><p>Sessions run in classroom, live virtual, self-paced online and in-house form. Questioning technique benefits from live practice, so groups often combine <a href=\"https:\/\/onlinecourse.eascertification.com\/internal-auditor\/online-sl-cgmp-training\" target=\"_blank\" rel=\"noopener\">online cGMP internal auditor training<\/a> for the knowledge component with a live session for the interview exercises; <a href=\"https:\/\/onlinecourse.eascertification.com\/internal-auditor\/virtual-cgmp-training\" target=\"_blank\" rel=\"noopener\">virtual cGMP training<\/a> supports those exercises remotely. The full syllabus for Kuwait sessions sits on the IAS <a href=\"https:\/\/www.iascertification.com\/gmp-internal-auditor-training\/\" target=\"_blank\" rel=\"noopener\">GMP internal auditor training<\/a> page, and other standards run through the same <a href=\"https:\/\/iasiso-gulf.com\/KW\/online-iso-training\/\">online ISO training<\/a> programme.<\/p><p>Send us your site location, product categories and participant numbers and we will suggest a format. Stated directly, since it is often assumed otherwise: IAS trains auditors and certifies management systems. It does not license facilities or approve products &#8212; those remain with regulators.<\/p><div class=\"ias-cta2\"><p>Ready to book? <a href=\"https:\/\/iasiso-gulf.com\/KW\/contact-us\/\">Contact the IAS Kuwait team<\/a> with your group size and preferred delivery route.<\/p><\/div><section class=\"ias-faq-section\"><h2 class=\"ias-faq-title\">Frequently asked questions<\/h2><details class=\"ias-faq-item\"><summary class=\"ias-faq-q\">What if an operator gives an answer that contradicts the supervisor?<\/summary><div class=\"ias-faq-a\"><p>That contradiction is useful information rather than a problem to resolve on the spot. It usually means the procedure is understood differently at different levels, which is itself worth examining. The auditor notes both accounts, then goes to the records and the floor to establish which reflects actual practice.<\/p><\/div><\/details><details class=\"ias-faq-item\"><summary class=\"ias-faq-q\">Is it appropriate to interview operators, or should audits stay with supervisors?<\/summary><div class=\"ias-faq-a\"><p>Operators should be included. Supervisors describe how the system is intended to work; operators describe how it works on a Tuesday afternoon when a machine has stopped. Both perspectives are needed, and an audit that speaks only to management consistently misses the practical departures that matter most.<\/p><\/div><\/details><details class=\"ias-faq-item\"><summary class=\"ias-faq-q\">Should an interview be conducted with a supervisor present?<\/summary><div class=\"ias-faq-a\"><p>Usually not, for the operator&#8217;s sake as much as the audit&#8217;s. People describe their actual practice more openly without their manager listening, and the workarounds an audit needs to find are exactly what gets left unsaid. Supervisors are interviewed separately about the same process, and any difference between the two accounts is itself worth investigating.<\/p><\/div><\/details><details class=\"ias-faq-item\"><summary class=\"ias-faq-q\">What if someone refuses to answer or defers everything to their manager?<\/summary><div class=\"ias-faq-a\"><p>That is usually anxiety rather than obstruction, and it is handled by re-establishing the framing &#8212; the audit looks at the process, not at the person. If it persists, the auditor moves to records and observation, notes that the interview was not productive, and does not press. Pressure produces compliant answers, which are worse than no answers.<\/p><\/div><\/details><details class=\"ias-faq-item\"><summary class=\"ias-faq-q\">Can an internal auditor audit their own department?<\/summary><div class=\"ias-faq-a\"><p>No. Internal audit depends on the auditor being independent of the activity under review, which is why sites train people across several functions and pair them across departments. Someone from QC can audit production and vice versa; nobody audits work they perform, supervise or approve themselves.<\/p><\/div><\/details><details class=\"ias-faq-item\"><summary class=\"ias-faq-q\">How many people should be interviewed, and how are they chosen?<\/summary><div class=\"ias-faq-a\"><p>Enough to cover the shifts and roles the process actually runs on, rather than whoever is available at the time of the visit. A process worked by three shifts is not represented by one day-shift conversation, and the auditor selects across roles so that the account of the work does not come only from the people who wrote the procedure.<\/p><\/div><\/details><details class=\"ias-faq-item\"><summary class=\"ias-faq-q\">Is every finding raised during an audit a nonconformity?<\/summary><div class=\"ias-faq-a\"><p>No. Findings are classified, and the classification is part of what the training covers. A departure from a stated requirement is a nonconformity, graded by how far the system is affected. A practice that currently meets the requirement but is likely to fail is normally raised as an observation or opportunity for improvement, so it is tracked without being overstated.<\/p><\/div><\/details><details class=\"ias-faq-item\"><summary class=\"ias-faq-q\">Who receives the internal audit report, and what happens after it is issued?<\/summary><div class=\"ias-faq-a\"><p>The report goes to the area audited and to the management responsible for it, and the findings enter the site&#8217;s corrective-action system. Each is investigated for cause, an action is agreed with an owner and a date, and the auditor later verifies that the action was implemented and worked. A finding is closed on evidence, not on a promise.<\/p><\/div><\/details><\/section><div class=\"ias-ld\">\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"What if an operator gives an answer that contradicts the supervisor?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"That contradiction is useful information rather than a problem to resolve on the spot. It usually means the procedure is understood differently at different levels, which is itself worth examining. The auditor notes both accounts, then goes to the records and the floor to establish which reflects actual practice.\"}}, {\"@type\": \"Question\", \"name\": \"Is it appropriate to interview operators, or should audits stay with supervisors?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Operators should be included. Supervisors describe how the system is intended to work; operators describe how it works on a Tuesday afternoon when a machine has stopped. Both perspectives are needed, and an audit that speaks only to management consistently misses the practical departures that matter most.\"}}, {\"@type\": \"Question\", \"name\": \"Should an interview be conducted with a supervisor present?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Usually not, for the operator&#8217;s sake as much as the audit&#8217;s. People describe their actual practice more openly without their manager listening, and the workarounds an audit needs to find are exactly what gets left unsaid. Supervisors are interviewed separately about the same process, and any difference between the two accounts is itself worth investigating.\"}}, {\"@type\": \"Question\", \"name\": \"What if someone refuses to answer or defers everything to their manager?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"That is usually anxiety rather than obstruction, and it is handled by re-establishing the framing &#8212; the audit looks at the process, not at the person. If it persists, the auditor moves to records and observation, notes that the interview was not productive, and does not press. Pressure produces compliant answers, which are worse than no answers.\"}}, {\"@type\": \"Question\", \"name\": \"Can an internal auditor audit their own department?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. Internal audit depends on the auditor being independent of the activity under review, which is why sites train people across several functions and pair them across departments. Someone from QC can audit production and vice versa; nobody audits work they perform, supervise or approve themselves.\"}}, {\"@type\": \"Question\", \"name\": \"How many people should be interviewed, and how are they chosen?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Enough to cover the shifts and roles the process actually runs on, rather than whoever is available at the time of the visit. A process worked by three shifts is not represented by one day-shift conversation, and the auditor selects across roles so that the account of the work does not come only from the people who wrote the procedure.\"}}, {\"@type\": \"Question\", \"name\": \"Is every finding raised during an audit a nonconformity?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. Findings are classified, and the classification is part of what the training covers. A departure from a stated requirement is a nonconformity, graded by how far the system is affected. A practice that currently meets the requirement but is likely to fail is normally raised as an observation or opportunity for improvement, so it is tracked without being overstated.\"}}, {\"@type\": \"Question\", \"name\": \"Who receives the internal audit report, and what happens after it is issued?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"The report goes to the area audited and to the management responsible for it, and the findings enter the site&#8217;s corrective-action system. Each is investigated for cause, an action is agreed with an owner and a date, and the auditor later verifies that the action was implemented and worked. A finding is closed on evidence, not on a promise.\"}}]}<\/script><script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"Course\", \"name\": \"cGMP Internal Auditor Training in Kuwait\", \"description\": \"Internal auditor training for GMP and cGMP quality systems, focused on interviewing and observation: open, probing and confirming questions, avoiding leading questions, objective evidence, nonconformity classification and report writing.\", \"url\": \"https:\/\/iasiso-gulf.com\/KW\/cgmp-internal-auditor-training-in-kuwait\/\", \"provider\": {\"@type\": \"Organization\", \"name\": \"Integrated Assessment Services (IAS)\", \"url\": \"https:\/\/iasiso-gulf.com\/\"}, \"inLanguage\": \"en\", \"hasCourseInstance\": [{\"@type\": \"CourseInstance\", \"courseMode\": \"Onsite\", \"location\": {\"@type\": \"Country\", \"name\": \"Kuwait\"}}, {\"@type\": \"CourseInstance\", \"courseMode\": \"Online\", \"location\": {\"@type\": \"Country\", \"name\": \"Kuwait\"}}, {\"@type\": \"CourseInstance\", \"courseMode\": \"Blended\", \"location\": {\"@type\": \"Country\", \"name\": \"Kuwait\"}}]}<\/script><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-k3c4d5e e-con-full e-flex e-con e-child\" data-id=\"k3c4d5e\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-k5e6f7a elementor-widget elementor-widget-sidebar\" data-id=\"k5e6f7a\" data-element_type=\"widget\" data-widget_type=\"sidebar.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"text-46\" class=\"widget widget_text gdlr-item gdlr-widget\">\t\t\t<div class=\"textwidget\"><h5>To Enroll<\/h5>\n<p><a class=\"gdlr-button small\" href=\"https:\/\/iasiso-gulf.com\/KW\/wp-content\/uploads\/2024\/12\/IAS-Application-FormV1.8-1.doc\" target=\"_self\" style=\"color:#ffffff; background-color:#b02b2c; \">Application <\/a><br \/>\n<a class=\"gdlr-button small\" href=\"https:\/\/iasiso-gulf.com\/KW\/wp-content\/uploads\/2024\/12\/IAS-cGMP-Brochure.pdf\" target=\"_self\" style=\"color:#ffffff; background-color:#476DB2; \">Brochure <\/a><br \/>\n<a class=\"gdlr-button small\" href=\"https:\/\/iasiso-gulf.com\/KW\/training-schedule\/\" target=\"_self\" style=\"color:#ffffff; background-color:#476DB2; \">Training Schedule<\/a><\/p>\n<h5>Contact Us<\/h5>\n<!DOCTYPE html>\n<html lang=\"en\">\n  <meta charset=\"utf-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n  <link href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.2.3\/dist\/css\/bootstrap.min.css\" rel=\"stylesheet\">\n  <link\n  rel=\"stylesheet\"\n  href=\"https:\/\/cdn.jsdelivr.net\/gh\/lipis\/flag-icons@6.6.6\/css\/flag-icons.min.css\"\n\/>\n  <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.2.3\/dist\/js\/bootstrap.bundle.min.js\"><\/script>\n  <script src=\"https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/3.6.4\/jquery.min.js\"><\/script>\n  <script src=\"https:\/\/www.google.com\/recaptcha\/api.js\" async defer><\/script>\n\n<style>\n.certification-section,.training-section, .other_enquiry_form, .certification_prod_section, .process_section, .product_section{\n\tdisplay:none;\n}\nlabel, .label {\ncolor:black;\n \n}\n.form-control {\npadding: 16px 19px;\n}\n#countryDropdown {\n\tborder: 1px solid #ced4da;\n}\n.dropdown-menu {\n\theight:300px;\n\toverflow-x:auto;\t\n}\n#myModalAlert, .modal{\n\tz-index:9999999 !important;\n}\n#myModalAlert .modal-dialog {\n\tz-index:10 !important;\n\tmargin-top: 40vh;\n}\n#myModalAlert .modal-header {\n\tpadding: 10px !important;\n\tbackground: #dee1e6;\n}\n#myModalAlert .modal-header .btn-close,\n#myModalAlert .modal-header .close {\n\topacity: 1 !important;\n\tcolor: #000 !important;\n\tfilter: none !important;\n}\n\n\n#myModalAlert .modal-body {\n\ttext-align: center;\n\tcolor:black;\n}\n.modal-backdrop.show {\nz-index: 100 !important;\nposition:relative !important;\n}\n.error, .mandatory {\n\tcolor:red;\n}\ninput {\ncolor:black !important;\n}\n.label{\nfont-size: 100%\n}\nh6:after{\nbackground: #fff;\n}\n.form-note {\n    margin-top: 14px;\n    padding: 10px 12px;\n    background: #f4f6f9;\n    border-left: 4px solid #3c8dbc;\n    font-size: 12px;\n    color: #333;\n}\n\/* Collapsible multi-checkbox dropdown for Product Name *\/\n.scheme-dropdown-toggle {\n    border: 1px solid #ced4da;\n    border-radius: 4px;\n    padding: 10px 14px;\n    background: #fff;\n    cursor: pointer;\n    color: #333;\n    position: relative;\n    user-select: none;\n}\n.scheme-dropdown-toggle::after {\n    content: \"\\25BC\";\n    float: right;\n    font-size: 10px;\n    margin-top: 3px;\n    transition: transform 0.2s;\n}\n.scheme-dropdown-toggle.open::after {\n    transform: rotate(180deg);\n}\n.scheme-checkbox-list {\n    display: none;\n    max-height: 200px;\n    overflow-y: auto;\n    border: 1px solid #ced4da;\n    border-top: none;\n    border-radius: 0 0 4px 4px;\n    padding: 10px;\n    background: #fff;\n}\n.scheme-checkbox-list.show {\n    display: block;\n}\n<\/style>\n    <div class=\"container mt-3\">\n         <div class=\"card\">\n\t\t <div class=\"card-body\">\n         <form id=\"contct_form\" >\n         \t<!-- hidden datas -->\n         \t<input type=\"hidden\" name=\"source\" value=\"2\">\n\t\t\t<input type=\"hidden\" name=\"enquiry_from\"     value=\"online_user\">\n            <input type=\"hidden\" name=\"From\" value=\"6\">\n            <input type=\"hidden\" name=\"Website\" class=\"website_id\" value=\"\">\n            <input type=\"hidden\" name=\"source_of_url\"  class=\"url_id\"  value=\"\">\n\t\t\t <input type=\"hidden\" name=\"Company\" class=\"company\" value=\"\">\n            \n            <div class=\"row\">\n                <div class=\"col-sm-12\"> \n                    <div class=\"mb-3 mt-3\">\n                        <label  >Company Name:<\/label>\n                        <input type=\"text\" class=\"form-control\" id=\"CompanyName\" placeholder=\"Enter company name\" name=\"CompanyName\">\n                    <\/div>\n                    <div class=\"mb-3\">\n                        <label  >Name: *<\/label>\n                        <input type=\"text\" class=\"form-control\" id=\"CustomerName\" placeholder=\"Enter Name\" name=\"CustomerName\" required=\"required\">\n                        <span class=\"error error_company_name\" style=\"color: red; font-size: 13px; margin-top: 5px;\"><\/span>\n                    <\/div> \n\t\t\t\t\t\n                    <input type=\"hidden\" name=\"telephone_number\" value=\"\">\n                    <div class=\"mb-3\">\n                        <label>E-Mail:*<\/label>\n                        <input type=\"email\" class=\"form-control\" id=\"EMail\" placeholder=\"Enter email\" name=\"EMail\" required=\"required\">\n                         <span class=\"error error_email\" style=\"color: red; font-size: 13px; margin-top: 5px;\"><\/span>\n                    <\/div>\n                    <div class=\"mb-3 country-section\">\n                    \t<label>Country: *<\/label>\n                       \t<div class=\"dropdown\">\n\t\t\t\t\t\t  \t<div class=\"btn btn-default\" type=\"button\" id=\"countryDropdown\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\n\t\t\t\t\t\t    \t <span class=\"default_countr\"><\/span> --- Select Country ---<\/span>\n\t\t\t\t\t\t  \t<\/div>\n\t\t\t\t\t\t  <ul class=\"dropdown-menu\" style=\"position: absolute;z-index: 999999;\" aria-labelledby=\"countryDropdown\"><\/ul>\n\n\t\t\t\t\t\t  <input type=\"hidden\" id=\"country_id\" name=\"Country\" required>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t <span class=\"error error_country\" style=\"color: red; font-size: 13px; margin-top: 5px;\"><\/span>\n\t\t\t\t\t<\/div> \n\t                <div class=\"mb-3 mt-3\">\n\t                    <label>State: *<\/label>\n\t                    <select class=\"form-select\" name=\"State\" id=\"State\" required=\"required\">\n\t                        <option value=\"\">--Please select state--<\/option>\n\t                    <\/select>\n\t                     <span class=\"error error_state\" style=\"color: red; font-size: 13px; margin-top: 5px;\"><\/span>\n\t                <\/div>\n\t                <div class=\"mb-3\">\n\t                    <label>City:<\/label>\n\t                    <select class=\"form-select\" name=\"City\" id=\"City\">\n\t                        <option value=\"\">--Please select City --<\/option> \n\t                    <\/select>\n\t                    <span class=\"error error_city\"><\/span>\n\t                <\/div> \n \n\t                <div class=\"mb-3\">\n                        <label  > Mobile Number:*<\/label>\n                       \n                        <div class=\"input-group m-0\">\n\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"CountryCode\" data-phone-length=\"\">+965<\/span>\n                        \t<input type=\"tel\" inputmode=\"numeric\" pattern=\"[0-9]*\" class=\"form-control\" id=\"MobileNumber\" placeholder=\"Enter mobile number\" name=\"MobileNumber\" required=\"required\">\n                        \t\n                        <\/div>\n\t\t\t\t\t\t<span class=\"error error_mobile_no\" style=\"color: red; font-size: 13px; margin-top: 5px;\"><\/span>\n                    <\/div>\n\t                <div class=\"mb-3\">\n\t                     <h6 class=\"label\">Enquiry Type<\/h6>\n\t                    <span><input type=\"radio\" class=\"form-check-input enquiry_type\"    name=\"optradio\" value=\"1\" checked> Enquiry<\/span>\n\t                    <span> <input type=\"radio\" class=\"form-check-input enquiry_type\"   name=\"optradio\" value=\"2\"> Other<\/span>\n\t                <\/div> \n\t                <div class=\"enquiry_form\">\n\t\t                <div class=\"mb-3\">\n\t\t                    <label>Training \/ Certification: *<\/label>\n\t\t                    <select class=\"form-select\"  id=\"purposOf\">\n\t\t                        <option value=\"\">--Please select  --<\/option> \n\t\t                        <option value=\"1\">Training (For Individuals or Group of Individuals)<\/option>\n\t\t                        <option value=\"2\">Certification (For Organizations)<\/option>\n\t\t                    <\/select>\n\t\t                    <span class=\"error error_trg_cert\" style=\"color: red; font-size: 13px; margin-top: 5px;\"><\/span>\n\t\t                <\/div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"mb-3 certification_prod_section\">\n\t\t\t\t\t\t\t<label>Certification: *<\/label>\n\t\t\t\t\t\t\t<select class=\"form-select\" name=\"cert_Type\" id=\"cert_Type\">\n\t\t\t\t\t\t\t\t<option value=\"\">--Please select Type --<\/option>\n\t\t\t\t\t\t\t\t<option value=\"1\">Process<\/option>\n\t\t\t\t\t\t\t\t<option value=\"2\">Product<\/option>\n\t\t\t\t\t\t\t\t<option value=\"3\">Both (Process\/Product)<\/option>\n\t\t\t\t\t\t\t<\/select>\n\t\t\t                <span class=\"error error_cert_product_type\" style=\"color: red; font-size: 13px; margin-top: 5px;\"><\/span>\n\t\t\t            <\/div>\n\t\t                <!-- Training -->\n\t\t                \n\t\t                <div class=\"training-section\">\n\t\t                \t<h6 class=\"label\">Training<\/h6>\n\t\t\t                <div class=\"mb-3\">\n\t\t\t                    <label>Product Type: *<\/label>\n\t\t\t                    <select class=\"form-select\" name=\"Type[]\" id=\"Type\">\n\t\t\t                        <option value=\"\">--Please select Type --<\/option>\n\t\t\t                    <\/select>\n\t\t\t                    <span class=\"error error_product_type\" style=\"color: red; font-size: 13px; margin-top: 5px;\"><\/span>\n\t\t\t                <\/div>\n\n\t\t\t                <div class=\"mb-3\">\n\t\t\t                    <label>Product Category: *<\/label>\n\t\t\t                    <select class=\"form-select\" name=\"Category[]\" id=\"Category\">\n\t\t\t                        <option value=\"\">--Please select Category --<\/option>\n\t\t\t                    <\/select>\n\t\t\t                     <span class=\"error error_product_category\" style=\"color: red; font-size: 13px; margin-top: 5px;\"><\/span>\n\t\t\t                <\/div>\n\n\t\t\t                <div class=\"mb-3\">\n\t\t\t                    <label>Product Name: <span class=\"mandatory\">*<\/span><\/label>\n\t\t\t                    <div class=\"scheme-dropdown-toggle\" data-target=\"ProductNameCheckboxes\" data-default=\"-- Select Product Name --\">-- Select Product Name --<\/div>\n\t\t\t                    <div class=\"scheme-checkbox-list\" id=\"ProductNameCheckboxes\">\n\t\t\t                        <span style=\"color:#999;\">-- Please select Product Type &amp; Category first --<\/span>\n\t\t\t                    <\/div>\n\t\t\t                    <span class=\"error error_product_name\" style=\"color: red; font-size: 13px; margin-top: 5px;\"><\/span>\n\t\t\t                <\/div>\n\t\t\t            <\/div>\n\t\t\t            <!-- Training End -->\n\t\t\t            <!-- Certification -->\n\t\t\t           \n\t\t                <div class=\"certification-section\">\n\t\t\t                <div class=\"mb-3 product_section\">\n\t\t\t                    <label>Product Scheme: <span class=\"mandatory\">*<\/span> <\/label>\n\t\t\t                    <div class=\"scheme-dropdown-toggle\" data-target=\"productSchemeCheckboxes\" data-default=\"-- Select Product Scheme --\">-- Select Product Scheme --<\/div>\n\t\t\t                    <div class=\"scheme-checkbox-list\" id=\"productSchemeCheckboxes\"><\/div>\n\t\t\t                     <span class=\"error error_product_name\" style=\"color: red; font-size: 13px; margin-top: 5px;\"><\/span>\n\t\t\t                <\/div>\n\t\t\t                <div class=\"mb-3 process_section\">\n\t\t\t                    <label>Process Scheme: <span class=\"mandatory\">*<\/span> <\/label>\n\t\t\t                    <div class=\"scheme-dropdown-toggle\" data-target=\"processSchemeCheckboxes\" data-default=\"-- Select Process Scheme --\">-- Select Process Scheme --<\/div>\n\t\t\t                    <div class=\"scheme-checkbox-list\" id=\"processSchemeCheckboxes\"><\/div>\n\t\t\t                     <span class=\"error error_process_scheme\" style=\"color: red; font-size: 13px; margin-top: 5px;\"><\/span>\n\t\t\t                <\/div>\n\t\t\t            <\/div>\n\t\t\t            <!-- Certification End-->\n\t\t                <input type=\"hidden\" name=\"bco_assign_training\" class=\"bco_assign_training\" value=\"\">\n\t\t                 <input type=\"hidden\" name=\"bco_assign_cert\" class=\"bco_assign_cert\" value=\"\">\n\t\t                <input type=\"hidden\" name=\"Date\" value=\"2026-09-14\">\n\t\t            <\/div>\n\t\t            <div class=\"other_enquiry_form\">\n\t\t            \t<h6 class=\"label\">Specified details <span class=\"mandatory\">*<\/span><\/h6>\n\t\t            \t<div class=\"mb-3\">\n\t\t                     <textarea class=\"form-control\" name=\"other_enquiry\" rows=\"3\" id=\"other_enquiry\" placeholder=\"Please describe your enquiry\"><\/textarea>\n\t\t                     <span class=\"error error_enquiry\" style=\"color: red; font-size: 13px; margin-top: 5px; display: block;\"><\/span>\n\t\t                <\/div>\n\t\t            <\/div>\n\t\t\t\t\t<!--<div class=\"captcha\">\n\t\t\t\t\t  <div class=\"g-recaptcha\" data-sitekey=\"6LdfrBMiAAAAANUyn31B8bi7ABPn9EZN_w-Jkf42\"><\/div>\n\t\t\t\t\t  <span class=\"error error_captcha\"><\/span>\n\t\t\t\t\t<\/div> -->\n\t\t\t\t\t<div class=\"mb-3\">\n                <label><input type=\"checkbox\" id=\"privacyCheck\" name=\"acceptance-836\" value=\"1\" aria-invalid=\"false\"><span class=\"wpcf7-list-item-label\"><span style=\"color:black\"> I agree that IAS can use my data for the purposes of dealing with my request, in accordance with the <\/span><b><a href=\"https:\/\/iasiso-gulf.com\/KW\/online-privacy-statement\/\" style=\"color:#A70000\" target=\"_blank\">IAS Online Privacy Statement<\/a><\/b><\/span><span class=\"mandatory\">*<\/span>\n                <\/label>\n                <span class=\"error error_privacy\" style=\"color: red; font-size: 13px; margin-top: 5px; display: block;\"><\/span>\n            <\/div>\n\t\t\t\t\t\n \t\t\t\t\t<div style=\"width:300px;max-width:100%;\">\n \t\t\t\t\t\t<label>Enter Captcha:<\/label>\n\n\t\t\t\t\t\t  <div style=\"margin-bottom: 10px; display: flex; align-items: center; gap: 10px;\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/iasiso-gulf.com\/KW\/?stm_captcha=1789366530\" alt=\"captcha\" id=\"captchaImage\" style=\"border: 1px solid #ccc; padding: 5px; height: 80px; width: 260px; display: block;\">\n\t\t\t\t\t\t\t<i class=\"fa fa-refresh reload-icon\" id=\"refreshCaptcha\" style=\"cursor: pointer;font-size: 24px; color: #007bff;transition: transform 0.3s ease;\" onmouseover=\"this.style.transform='rotate(90deg)';\" onmouseout=\"this.style.transform='rotate(0deg)';\"><\/i>\n\t\t\t\t\t\t  <\/div>\n\t\t\t\t\t\t <input type=\"text\" class=\"form-control\" name=\"captcha_answer\" id=\"captcha_answer\" required\n           style=\"width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; font-size: 14px;\">\n\t\t\t\t\t   <span class=\"error error_captcha\" style=\"color: red; font-size: 13px; margin-top: 5px; display: block;\"><\/span>\n \t\t\t\t\t<\/div> \n\t\t\t\t\t<div class=\"form-note mb-3\">\n\t\t\t\t\t\t<strong>Note:<\/strong>\n\t\t\t\t\t\tFor clarity on Process and Product certification schemes, please refer this website menu.\n\t\t\t\t\t<\/div>\n\t\t        <\/div>\n\t\t\t\t\n            <\/div>\n            \n            <button type=\"submit\" class=\"btn btn-primary btn-submit\">Submit<\/button>\n        <\/form>\n\t\t<!-- The Modal -->\n\t\t<div class=\"modal\" id=\"myModalAlert\">\n\t\t  <div class=\"modal-dialog\">\n\t\t    <div class=\"modal-content\">\n\t\t      <!-- Modal Header -->\n\t\t      <div class=\"modal-header\">\n\t\t        <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\"><\/button>\n\t\t      <\/div>\n\t\t      <!-- Modal body -->\n\t\t      <div class=\"modal-body\">\n\t\t        Thank You\n\t\t      <\/div>\n\t\t    <\/div>\n\t\t  <\/div>\n\t\t<\/div>\n\t\t<div class=\"modal\" id=\"error_pop\">\n\t\t  <div class=\"modal-dialog\" role=\"document\">\n\t\t\t<div class=\"modal-content\">\n\t\t\t  <div class=\"modal-header bg-danger text-white\">\n\t\t\t\t<center><h5 class=\"modal-title\" id=\"errorModalLabel\">Duplicate Email<\/h5><\/center>\n\t\t\t\t<button type=\"button\" class=\"btn-close btn-close-white\" data-bs-dismiss=\"modal\" aria-\t\t\t\t\t\tlabel=\"Close\"><\/button>\n\t\t\t  <\/div>\n\t\t\t  <div class=\"modal-body\" id=\"error_pop_con\">\n\n\t\t\t  <\/div>\n\t\t\t  <div class=\"modal-footer\">\n\t\t\t\t<div class=\"d-flex justify-content-end gap-2\">\n\t\t\t\t  <button type=\"button\" class=\"btn btn-outline-secondary\" id=\"cancelProceed\">Cancel<\/button>\n\t\t\t\t  <button type=\"button\" id=\"proceed_trn_enq\" class=\"btn btn-primary\" data-enquiry-type=\"\">Proceed<\/button>\n\t\t\t\t<\/div>\n\t\t\t  <\/div>\n\t\t\t<\/div>\n\t\t  <\/div>\n\t\t<\/div>\n\t\t\n\t\t<\/div>\n\t\t<\/div>\n    <\/div><script type='text\/javascript'>\n\n\t\t\tvar base_url_api = 'https:\/\/erp.iasiso.com\/Api';\n\t\t    var base_url = 'https:\/\/erp.iasiso.com';\n\t\t\tvar email_url = '';\n\t\t    $(document).ready(function() {\n\n\t\t    \t\/\/ Move modals to body so they aren't trapped inside container overflow\n\t\t    \t$('#myModalAlert, #error_pop').appendTo('body');\n\n\t\t    \t\/\/ Force the mobile country code + input onto one joined line, with a compact height.\n\t\t    \t\/\/ Works even if the theme strips Bootstrap \/ the input-group class.\n\t\t    \tfunction enforceMobileGroup(){\n\t\t    \t\tvar grp = $('#CountryCode').parent();\n\t\t    \t\tif(!grp.length) return;\n\t\t    \t\tgrp.css({\n\t\t    \t\t\t'display':'flex','flex-wrap':'nowrap','align-items':'stretch',\n\t\t    \t\t\t'width':'100%','margin':'0','padding':'0'\n\t\t    \t\t});\n\t\t    \t\t$('#CountryCode').css({\n\t\t    \t\t\t'display':'flex','align-items':'center','flex':'0 0 auto','width':'auto',\n\t\t    \t\t\t'white-space':'nowrap','padding':'12px 9px','font-size':'14px','line-height':'1.5',\n\t\t    \t\t\t'background':'#e9ecef','border':'1px solid #ced4da','border-right':'0',\n\t\t    \t\t\t'border-top-left-radius':'0.25rem','border-bottom-left-radius':'0.25rem',\n\t\t    \t\t\t'border-top-right-radius':'0','border-bottom-right-radius':'0',\n\t\t    \t\t\t'margin':'0','color':'#212529','box-sizing':'border-box'\n\t\t    \t\t});\n\t\t    \t\t$('#MobileNumber').css({\n\t\t    \t\t\t'display':'block','flex':'1 1 auto','width':'1%','min-width':'0','margin':'0',\n\t\t    \t\t\t'padding':'12px 9px','font-size':'14px','line-height':'1.5','height':'auto',\n\t\t    \t\t\t'border-top-left-radius':'0','border-bottom-left-radius':'0',\n\t\t    \t\t\t'border-top-right-radius':'0.25rem','border-bottom-right-radius':'0.25rem',\n\t\t    \t\t\t'box-sizing':'border-box'\n\t\t    \t\t});\n\t\t    \t}\n\t\t    \tenforceMobileGroup();\n\t\t    \tsetTimeout(enforceMobileGroup, 600);\n\n\t\t    \t\/\/ Toggle open\/close for scheme checkbox dropdowns\n\t\t    \t$(document).on('click', '.scheme-dropdown-toggle', function(e){\n\t\t    \t\te.stopPropagation();\n\t\t    \t\tvar targetId = $(this).data('target');\n\t\t    \t\tvar list = $('#'+targetId);\n\t\t    \t\t$('.scheme-checkbox-list').not(list).removeClass('show');\n\t\t    \t\t$('.scheme-dropdown-toggle').not(this).removeClass('open');\n\t\t    \t\tlist.toggleClass('show');\n\t\t    \t\t$(this).toggleClass('open');\n\t\t    \t});\n\t\t    \t$(document).on('click', '.scheme-checkbox-list', function(e){ e.stopPropagation(); });\n\t\t    \t$(document).on('click', function(){\n\t\t    \t\t$('.scheme-checkbox-list').removeClass('show');\n\t\t    \t\t$('.scheme-dropdown-toggle').removeClass('open');\n\t\t    \t});\n\n\t\t    \t\/\/ Update toggle label as user checks\/unchecks product names\n\t\t    \t$(document).on('change', '.product-name-chk', function(){\n\t\t    \t\tvar count = $('.product-name-chk:checked').length;\n\t\t    \t\tvar toggle = $('.scheme-dropdown-toggle[data-target=\"ProductNameCheckboxes\"]');\n\t\t    \t\tif(count === 0){\n\t\t    \t\t\ttoggle.text(toggle.data('default'));\n\t\t    \t\t} else if(count === 1){\n\t\t    \t\t\ttoggle.text($('.product-name-chk:checked').closest('label').text().trim());\n\t\t    \t\t} else {\n\t\t    \t\t\ttoggle.text(count + ' selected');\n\t\t    \t\t}\n\t\t    \t\t\/\/ Re-fetch the BCO assignment now that the user has actually picked products.\n\t\t    \t\t\/\/ Without this, .bco_assign_training keeps the empty value from the earlier\n\t\t    \t\t\/\/ fetchBcoTraining() call (fired on country\/state\/Type\/Category change while no\n\t\t    \t\t\/\/ products were checked), and SEO\/addEnquiry then writes Region not allocated\n\t\t    \t\t\/\/ into the email because the bco_assign POST field arrives empty.\n\t\t    \t\tfetchBcoTraining();\n\t\t    \t});\n\t\t    \t\/\/ Helper: reset ProductName toggle label + close panel\n\t\t    \twindow.resetProductNameToggle = function(){\n\t\t    \t\tvar toggle = $('.scheme-dropdown-toggle[data-target=\"ProductNameCheckboxes\"]');\n\t\t    \t\ttoggle.text(toggle.data('default')).removeClass('open');\n\t\t    \t\t$('#ProductNameCheckboxes').removeClass('show');\n\t\t    \t};\n\n\t\t    \t\/\/ Update toggle label as user checks\/unchecks product scheme\n\t\t    \t$(document).on('change', '.product-scheme-chk', function(){\n\t\t    \t\tvar count = $('.product-scheme-chk:checked').length;\n\t\t    \t\tvar toggle = $('.scheme-dropdown-toggle[data-target=\"productSchemeCheckboxes\"]');\n\t\t    \t\tif(count === 0){\n\t\t    \t\t\ttoggle.text(toggle.data('default'));\n\t\t    \t\t} else if(count === 1){\n\t\t    \t\t\ttoggle.text($('.product-scheme-chk:checked').closest('label').text().trim());\n\t\t    \t\t} else {\n\t\t    \t\t\ttoggle.text(count + ' selected');\n\t\t    \t\t}\n\t\t    \t});\n\t\t    \t\/\/ Update toggle label as user checks\/unchecks process scheme\n\t\t    \t$(document).on('change', '.process-scheme-chk', function(){\n\t\t    \t\tvar count = $('.process-scheme-chk:checked').length;\n\t\t    \t\tvar toggle = $('.scheme-dropdown-toggle[data-target=\"processSchemeCheckboxes\"]');\n\t\t    \t\tif(count === 0){\n\t\t    \t\t\ttoggle.text(toggle.data('default'));\n\t\t    \t\t} else if(count === 1){\n\t\t    \t\t\ttoggle.text($('.process-scheme-chk:checked').closest('label').text().trim());\n\t\t    \t\t} else {\n\t\t    \t\t\ttoggle.text(count + ' selected');\n\t\t    \t\t}\n\t\t    \t});\n\t\t    \t\/\/ Helper: reset a scheme toggle label to its default text\n\t\t    \twindow.resetSchemeToggleLabel = function(targetId){\n\t\t    \t\tvar toggle = $('.scheme-dropdown-toggle[data-target=\"'+targetId+'\"]');\n\t\t    \t\tvar defaultText = toggle.data('default') || '-- Select --';\n\t\t    \t\ttoggle.text(defaultText);\n\t\t    \t\ttoggle.removeClass('open');\n\t\t    \t\t$('#'+targetId).removeClass('show');\n\t\t    \t};\n\n\t\t    \t\/\/ Customer name \u2014 letters + space only (strip digits\/symbols on input)\n\t\t    \t$(document).on('input','#CustomerName', function(){\n\t\t    \t\tvar val = $(this).val();\n\t\t    \t\tval = val.replace(\/[^a-zA-Z ]\/g, '');\n\t\t    \t\t$(this).val(val);\n\t\t    \t});\n\n\t\t    \t\/\/credentials\n\t\t    \tvar url = base_url_api+'\/getUser';\n\t\t    \tvar chat_username = '';\n\t\t    \tvar chat_password = '';\n\t\t        $.get(url, function(datas, status){\n\t\t            if(datas){ \n\t\t            \tchat_username = datas.username;\n\t\t            \tchat_password = datas.password;\n\t\t            }\n\t\t        })\n\n\t\t       $('#refreshCaptcha').click(function(){\n\t\t\t\t\t$('#captchaImage').attr('src', 'https:\/\/iasiso-gulf.com\/KW\/?stm_captcha=1789366530&t=' + new Date().getTime());\n\t\t\t\t});\n\n\t\t    \t\/\/country\n\t\t\t\t$(document).on('click','li a.dropdown-item', function() {\n\t\t\t    \tvar code = $(this).data('code');\n\t\t\t    \tvar countryName = $(this).text().trim();\t\n\t\t\t    \tvar country_id = $(this).attr('country_id');\n\t\t\t    \tvar country_code = $(this).attr('country_code');\n\t\t\t\t\tvar mobile_number_length = $(this).attr('data-mobile_number_length');\n\n\t\t\t    \t$('#countryDropdown').html('<span class=\"fi fi-' + code.toLowerCase() + '\"><\/span> ' + countryName);\n\t\t\t    \t$('#country_id').val(country_id);\n\n\t\t\t    \tif(country_code){\n\t\t\t\t\tconsole.log($('#CountryCode').attr('data-phone-length'));\n\t\t\t\t\t\t$('#CountryCode').text(country_code).attr('data-phone-length', mobile_number_length).data('phone-length', mobile_number_length);\n\t\t\t\t\t\t\n\t\t\t\t\t\t\/\/ reset input and error message\n    \t\t\t\t\t$('#MobileNumber').val('');\n    \t\t\t\t\t$('.error_mobile_no').text('');\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t            \n\t\t             var url = base_url_api+'\/getRegion';\n\t\t            $.post(url,{country:country_id},function(states, status){\n\t\t                if(states){\t\t                    \n\t\t                    $('#State').html(states);\n\t\t                }\n\t\t            });\n\t\t            fetchBcoTraining();\n\t\t            fetchBcoCert();\n\t\t\t\t});\n\n\t\t\t\t\/\/country search\n\n\t\t\t\t$(document).on('keyup','.dropdown-input', function() {\n\n\t\t\t\t  \tvar filterValue = $(this).val().toLowerCase();\n\t\t\t\t  \t$('li.country_list').each(function() {\n\t\t\t\t      var text = $(this).text().toLowerCase(); \/\/ Get the text of each li and convert to lowercase\n\t\t\t\t      if (text.indexOf(filterValue) === -1) {\n\t\t\t\t        $(this).hide(); \/\/ Hide the li if it does not contain the filter value\n\t\t\t\t      } else {\n\t\t\t\t        $(this).show(); \/\/ Show the li if it contains the filter value\n\t\t\t\t      }\n\t\t\t\t    });\n\t\t\t\t})\n\n\t\t    \t\/\/Fetch website info\n\n\t\t    \tvar website_url =  window.location.href;\n\n\t\t    \t\/\/var website_url = 'https:\/\/iasiso-middleeast.com\/iso-9001-lead-auditor-training-in-israel\/';\n\n\t\t    \tif(website_url){\n\t\t    \t\t $.post(base_url_api +'\/get_website_details',{url:website_url}, function(datas, status){\n   \t\t\t\t\t\t\tif(datas){\n   \t\t\t\t\t\t\t\t$('.website_id').val(datas.website_id);\n   \t\t\t\t\t\t\t\t$('.url_id').val(datas.url_id);\n\t\t\t\t\t\t\t\t$('.Company').val(datas.company);\n   \t\t\t\t\t\t\t}\n\t\t        \t});\n\t\t    \t}\n\t\t    \t\n\n\t\t        \/\/Fetch country\n\t\t        var url = base_url_api+'\/getCountrys';\n\t\t        var country_option = `<li>\n\t\t\t      <input class=\"form-control dropdown-input\" type=\"text\" placeholder=\"Search\">\n\t\t\t    <\/li>\n\t\t\t    <li>\n\t\t\t      <hr class=\"dropdown-divider\">\n\t\t\t    <\/li>`;\n\t\t        $.get(url, function(datas, status){\n\n\t\t            if(datas){\n\t\t                $(datas).each(function(inex, data) {\n\t\t                   country_option +=`<li class=\"country_list\">\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"dropdown-item\"  country_id=\"`+data.country_id+`\" country_code=\"+`+data.isd_code+`\" data-code=\"`+data.code+`\" data-mobile_number_length=\"`+data.mobile_number_length+`\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"fi fi-`+data.code.toLowerCase()+`\"><\/span> `+data.country_name+`\n\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t <\/li>`;\n\n\t\t                    \/\/ Auto select Kuwait (country_id = 120)\n\t\t                    var default_country_id = 120;\n\t\t                    if(data.country_id == default_country_id){\n\t\t                        $('#countryDropdown').html(\n\t\t                            '<span class=\"fi fi-' + data.code.toLowerCase() + '\"><\/span> ' + data.country_name\n\t\t                        );\n\t\t                        $('#country_id').val(data.country_id);\n\n\t\t                        if(data.isd_code){\n\t\t                            $('#CountryCode')\n\t\t                                .text('+' + data.isd_code)\n\t\t                                .attr('data-phone-length', data.mobile_number_length)\n\t\t                                .data('phone-length', data.mobile_number_length);\n\t\t                        }\n\n\t\t                        var url2 = base_url_api + '\/getRegion';\n\t\t                        $.post(url2, { country: data.country_id }, function(states, status){\n\t\t                            if(states){ $('#State').html(states); }\n\t\t                        });\n\t\t                    }\n\t\t                });\n\n\n\t\t                $('.country-section .dropdown-menu').html(country_option);\n\t\t            }\n\t\t        });\n\t\t         $(document).on('change','#State', function(){\n\n\t\t            var url = base_url_api+'\/getRegion';\n\t\t            var state = $(this).val();\n\n\t\t            $.post(url,{state:state},function(datas, status){\n\t\t                if(datas){\n\t\t                    \n\t\t                    $('#City').html(datas);\n\t\t                }\n\t\t            });\n\t\t             fetchBcoTraining();\n\n\t\t             fetchBcoCert();\n\t\t        })\n\t\t\t\t\n\t\t\t\t$(document).on('input','#MobileNumber', function(){\n\n\t\t\t\tlet allowedLength = $('#CountryCode').data('phone-length') ? parseInt($('#CountryCode').data('phone-length')) : null;\n\t\t            var inputValue = $(this).val();\n\t\t\t\t\tvar errorSpan = $('.error_mobile_no');\n\n\t\t\t\t\t\/\/ Strip any non-digit characters immediately\n\t\t\t\t\tinputValue = inputValue.replace(\/[^0-9]\/g, '');\n\n\t\t\t\t\t\/\/ Prevent exceeding max length (slice)\n\t\t\t\t\tif (allowedLength && inputValue.length > allowedLength){\n\t\t\t\t\t\tinputValue = inputValue.slice(0, allowedLength);\n\t\t\t\t\t}\n\t\t\t\t\t$(this).val(inputValue);\n\n\t\t\t\t\t\/\/ Show info counter or clear when complete\n\t\t\t\t\tif(allowedLength){\n\t\t\t\t\t\tif(inputValue.length === 0){\n\t\t\t\t\t\t\terrorSpan.text('');\n\t\t\t\t\t\t} else if(inputValue.length < allowedLength){\n\t\t\t\t\t\t\terrorSpan.css('color','#e67e22').text('Please enter ' + allowedLength + ' digits (' + inputValue.length + '\/' + allowedLength + ')');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorSpan.css('color','').text('');\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrorSpan.text('');\n\t\t\t\t\t}\n\t\t        })\n\n\t\t        \/\/ Cache the full original Category <select> HTML on first render, so we can rebuild later.\n\t\t        \/\/ (Cross-browser compatibility: hiding <option> in a <select> doesn't work in Chrome\/Safari,\n\t\t        \/\/  so we rebuild the <select> with only valid options instead.)\n\t\t        var _originalCategoryHTML = null;\n\t\t        \/\/ Plain-data cache of all categories \u2014 avoids DOM serialization weirdness with selected attribute\n\t\t        var _allCategories = [];   \/\/ [{val, text}, ...]\n\t\t        function _captureOriginalCategoryHTML(force){\n\t\t            \/\/ If force===true, always re-capture; otherwise only if not yet captured\n\t\t            if(force === true || _originalCategoryHTML === null){\n\t\t                var html = $('#Category').html();\n\t\t                \/\/ Only store if the select actually has real options (more than just placeholder)\n\t\t                if(html && $('#Category option').length > 1){\n\t\t                    _originalCategoryHTML = html;\n\t\t                    \/\/ Also capture as plain data\n\t\t                    _allCategories = [];\n\t\t                    $('#Category option').each(function(){\n\t\t                        _allCategories.push({ val: $(this).attr('value') || '', text: $(this).text() });\n\t\t                    });\n\t\t                }\n\t\t            }\n\t\t        }\n\t\t        \/\/ Rebuild #Category from plain data, optionally limited to a set of valid values.\n\t\t        \/\/ Always defaults to the placeholder being selected.\n\t\t        function _rebuildCategoryFromCache(validValues){\n\t\t            if(!_allCategories.length) return;\n\t\t            var html = '';\n\t\t            for(var i=0; i<_allCategories.length; i++){\n\t\t                var o = _allCategories[i];\n\t\t                if(!o.val){\n\t\t                    \/\/ placeholder always included AND explicitly marked selected\n\t\t                    html += '<option value=\"\" selected=\"selected\">'+o.text+'<\/option>';\n\t\t                    continue;\n\t\t                }\n\t\t                if(!validValues || validValues.indexOf(o.val) !== -1){\n\t\t                    html += '<option value=\"'+o.val+'\">'+o.text+'<\/option>';\n\t\t                }\n\t\t            }\n\t\t            var sel = $('#Category');\n\t\t            sel.html(html);\n\t\t            sel.val('');\n\t\t            var el = document.getElementById('Category');\n\t\t            if(el) el.selectedIndex = 0;\n\t\t            \/\/ select2 refresh: namespaced trigger updates the visible widget WITHOUT firing user change handlers\n\t\t            sel.trigger('change.select2');\n\t\t        }\n\n\t\t        \/\/Fetch Type and category\n\t\t        var url = base_url_api+'\/getTrainings';\n\n\t\t        $.get(url, function(datas, status){\n\t\t            if(datas){\n\t\t                var type_option = '<option value=\"\">---Please select---<\/option>';\n\t\t                $(datas.type).each(function(inex, data) {\n\t\t                   type_option +='<option value=\"'+data.tc_id+'\">'+data.tra_cat_name+'<\/option>';\n\t\t                });\n\n\t\t                $('#Type').html(type_option);\n\n\t\t                var category_option = '<option value=\"\">---Please select---<\/option>';\n\t\t                $(datas.category).each(function(inex, data) {\n\t\t                   category_option +='<option value=\"'+data.tt_id+'\">'+data.tra_type_name+'<\/option>';\n\t\t                });\n\n\t\t                $('#Category').html(category_option);\n\n\t\t                \/\/ Capture original HTML AFTER categories are actually populated\n\t\t                _captureOriginalCategoryHTML(true);\n\t\t            }\n\t\t        });\n\n\t\t        \/\/ When Product Type changes \u2192 rebuild Category list to only categories that have products for this Type.\n\t\t        $('#Type').change(function(){\n\t\t            var Type = $(this).val();\n\n\t\t            \/\/ Capture categories if not yet captured (safety net in case API was still pending earlier)\n\t\t            if(_originalCategoryHTML === null){\n\t\t                _captureOriginalCategoryHTML(true);\n\t\t            }\n\n\t\t            \/\/ Reset downstream ProductName: explicitly uncheck, clear HTML, reset toggle, clear errors\n\t\t            $('.product-name-chk').prop('checked', false);\n\t\t            $('#ProductNameCheckboxes').html('<span style=\"color:#999;\">-- Please select Product Type &amp; Category first --<\/span>');\n\t\t            if(typeof resetProductNameToggle === 'function') resetProductNameToggle();\n\t\t            $('.error_product_category, .error_product_name').text('');\n\n\t\t            \/\/ Synchronously reset Category to placeholder using the plain-data cache.\n\t\t            \/\/ Pass null to include ALL categories; async filter below will narrow them.\n\t\t            _rebuildCategoryFromCache(null);\n\n\t\t            if(!Type){\n\t\t                fetchBcoTraining();\n\t\t                return;\n\t\t            }\n\n\t\t            \/\/ Async: probe each category for products under this Type, then narrow the list.\n\t\t            var validOptions = [];\n\t\t            var pendingChecks = 0;\n\t\t            var checkDone = function(){\n\t\t                pendingChecks--;\n\t\t                if(pendingChecks <= 0){\n\t\t                    _rebuildCategoryFromCache(validOptions);\n\t\t                }\n\t\t            };\n\n\t\t            for(var i=0; i<_allCategories.length; i++){\n\t\t                var catVal = _allCategories[i].val;\n\t\t                if(!catVal) continue; \/\/ skip placeholder\n\t\t                pendingChecks++;\n\t\t                (function(catVal){\n\t\t                    $.ajax({\n\t\t                        type: 'post',\n\t\t                        url: base_url_api+'\/getSchemes',\n\t\t                        data: { category: catVal, Type: Type },\n\t\t                        success: function(resp){\n\t\t                            var count = 0;\n\t\t                            if(resp && $.trim(resp) !== ''){\n\t\t                                $(resp).filter('option').each(function(){\n\t\t                                    if($.trim($(this).val()) !== '') count++;\n\t\t                                });\n\t\t                            }\n\t\t                            if(count > 0){ validOptions.push(catVal); }\n\t\t                            checkDone();\n\t\t                        },\n\t\t                        error: function(){\n\t\t                            \/\/ On error, keep the option visible (safe default)\n\t\t                            validOptions.push(catVal);\n\t\t                            checkDone();\n\t\t                        }\n\t\t                    });\n\t\t                })(catVal);\n\t\t            }\n\n\t\t            if(pendingChecks === 0){\n\t\t                _rebuildCategoryFromCache(validOptions);\n\t\t            }\n\t\t            fetchBcoTraining();\n\t\t        });\n\n\t\t        \/\/ When Category changes \u2192 populate ProductName checkboxes\n\t\t        $('#Category').change(function(){\n\t\t            var Category = $(this).val();\n\t\t            var Type = $('#Type').val();\n\n\t\t            \/\/ Reset downstream ProductName: explicitly uncheck, clear HTML, reset toggle, clear error\n\t\t            $('.product-name-chk').prop('checked', false);\n\t\t            $('#ProductNameCheckboxes').html('<span style=\"color:#999;\">-- Please select Product Type &amp; Category first --<\/span>');\n\t\t            if(typeof resetProductNameToggle === 'function') resetProductNameToggle();\n\t\t            $('.error_product_name').text('');\n\n\t\t            if(Category && Type){\n\t\t                $.ajax({\n\t\t                    type: 'post',\n\t\t                    url: base_url_api+'\/getSchemes',\n\t\t                    data: { category: Category, Type: Type },\n\t\t                    success: function(html){\n\t\t                        if(html && $.trim(html) !== ''){\n\t\t                            \/\/ Convert <option value=\"V\">T<\/option> response to checkboxes\n\t\t                            var chkHtml = '';\n\t\t                            $('<select>'+html+'<\/select>').find('option').each(function(){\n\t\t                                var v = $(this).attr('value');\n\t\t                                var t = $(this).text();\n\t\t                                if(v && $.trim(v) !== '') {\n\t\t                                    chkHtml += '<div class=\"form-check\"><label class=\"form-check-label\" style=\"color:black;\"><input type=\"checkbox\" class=\"form-check-input product-name-chk\" name=\"ProductName[]\" value=\"'+v+'\"> '+t+'<\/label><\/div>';\n\t\t                                }\n\t\t                            });\n\t\t                            if(chkHtml){\n\t\t                                $('#ProductNameCheckboxes').html(chkHtml);\n\t\t                            }\n\t\t                        }\n\t\t                    }\n\t\t                });\n\t\t            }\n\t\t            fetchBcoTraining();\n\t\t        });\n\t\t\t\t\n\t\t\t\t $('#cancelProceed').click(function(){\n\t\t        \t$('#EMail').val('');\n\t\t\t\t\t$('#error_pop').modal('toggle');\n\t\t\t\t\t$('.btn-submit').removeClass('disabled');\n\t\t        });\n\t\t\t\t\n\t\t\t\t$('#proceed_trn_enq').click(function(){\n\t\t        \t$('#proceed_trn_enq').attr('data-enquiry-type','same');\n\t\t        \t$('#proceed_trn_enq').attr('data-enquiry-id',$('#same_enquiry_id').val());\n\t\t\t\t\t$('#error_pop').modal('toggle');\n\t\t\t\t\terror = 0\n\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t$('.btn-submit').click();\n\t\t\t\t\t}, 300);\n\t\t        });\n\t\t        \n\t\t        \/\/New function for Duplicate email submission\n\t\t\t\t\tfunction submitFinalForm(){\n                    \n                        $('.btn-submit')\n                            .prop('disabled', true)\n                            .text('Submitting...');\n                    \n                        var enquiry_type  = $('input.enquiry_type:checked').val();\n                    \n                        if(enquiry_type == 1){\n                            var purposOf  = $('#purposOf').val();\n                            if(purposOf == 1){\n                                trainingEnquiry();\n                            } else if(purposOf == 2){\n                                certificationEnquiry();\n                            } else if(purposOf == 3){\n                                trainingEnquiry();\n                                certificationEnquiry();\n                            }\n                        } else {\n                            otherEnquiry();\n                        }\n                    }\n\n\t\t        \/\/Fetch process scheme -> checkboxes\n\t\t        var url = base_url_api+'\/getScheme\/1';\n\n\t\t        $.get(url, function(data, status){\n\t\t            if(data){\n\t\t                var chkHtml = '';\n\t\t                $(data).filter('option').each(function(){\n\t\t                    var v = $(this).val(); var t = $(this).text();\n\t\t                    if(v && $.trim(v) !== '') chkHtml += '<div class=\"form-check\"><label class=\"form-check-label\" style=\"color:black;\"><input type=\"checkbox\" class=\"form-check-input process-scheme-chk\" name=\"scheme[]\" value=\"'+v+'\"> '+t+'<\/label><\/div>';\n\t\t                });\n\t\t                $('#processSchemeCheckboxes').html(chkHtml || '<span style=\"color:#999;\">No schemes available<\/span>');\n\t\t            }\n\t\t        });\n\n\t\t        \/\/Fetch product scheme -> checkboxes\n\t\t        var url = base_url_api+'\/getScheme\/2';\n\n\t\t        $.get(url, function(data, status){\n\t\t            if(data){\n\t\t                var chkHtml = '';\n\t\t                $(data).filter('option').each(function(){\n\t\t                    var v = $(this).val(); var t = $(this).text();\n\t\t                    if(v && $.trim(v) !== '') chkHtml += '<div class=\"form-check\"><label class=\"form-check-label\" style=\"color:black;\"><input type=\"checkbox\" class=\"form-check-input product-scheme-chk\" name=\"scheme[]\" value=\"'+v+'\"> '+t+'<\/label><\/div>';\n\t\t                });\n\t\t                $('#productSchemeCheckboxes').html(chkHtml || '<span style=\"color:#999;\">No schemes available<\/span>');\n\t\t            }\n\t\t        });\n\t\t\t\t\n\t\t\t\tfunction getCookie(name) {\n\t\t\t\t\t\t\t\t const cookies = document.cookie.split(';');\n\t\t\t\t\t\t\t\t\tconst captcha_word = (cookies.find(c => c.trim().startsWith('captcha_word=')) || '').split('=')[1] || null;\n\t\t\t\t\t\t\t\t\treturn captcha_word;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t        $('.btn-submit').click(function(e) {\n\t\t        \te.preventDefault();\n\n\t\t        \t\/\/validation start\n\t\t\t        \tvar CustomerName  = $('#CustomerName').val();\n\n\t\t\t        \tvar error = 0;\n\t\t\t\t\t\tvar mail_dup_error = 0;\n\n\t\t\t        \t\/\/ Privacy consent required\n\t\t\t        \tif(!$('#privacyCheck').is(':checked')){\n\t\t\t        \t\t$('.error_privacy').text('Please accept the IAS Online Privacy Statement to continue');\n\t\t\t        \t\terror = 1;\n\t\t\t        \t}else{\n\t\t\t        \t\t$('.error_privacy').text('');\n\t\t\t        \t}\n\n\t\t\t        \tif(!CustomerName){\n\t\t\t        \t\t$('.error_company_name').text('Enter the Customer name');\n\t\t\t        \t\terror = 1;\n\t\t\t        \t}else {\n\t\t\t        \t\t$('.error_company_name').text('');\n\t\t\t        \t} \n\n\t\t\t        \tvar EMail  = $('#EMail').val();\n\t\t\t        \t\/\/ Strict email pattern: requires valid local part, domain with at least one dot, and TLD of 2-24 letters\n\t\t\t        \tvar emailPattern = \/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*\\.[a-zA-Z]{2,24}$\/;\n\t\t\t        \tvar validTLDs = ['com','org','net','edu','gov','mil','int','co','io','ai','app','dev','info','biz','name','pro','me','tv','us','uk','in','cn','jp','de','fr','it','es','ru','br','au','ca','mx','kr','nl','se','no','fi','dk','pl','be','ch','at','ie','nz','za','ae','sa','qa','om','bh','kw','eg','ma','ng','ke','tz','ug','gh','lk','bd','pk','np','id','my','sg','th','vn','ph','tw','hk','mo','il','tr','gr','pt','cz','sk','hu','ro','bg','ua','by','rs','hr','si','ee','lv','lt','is','lu','mt','cy','iq','ir','jo','lb','sy','ye','ly','tn','dz','online','site','store','tech','blog','shop','xyz','cloud','digital','email','website','agency','design','studio','services','solutions','world','life','space','live','today','center','company','group','news','media','network','systems','academy','school','training','education'];\n\n\t\t\t        \tif(!EMail){\n\t\t\t        \t\t$('.error_email').text('Enter the email');\n\t\t\t        \t\terror = 1;\n\t\t\t        \t}else if(!emailPattern.test(EMail)){\n\t\t\t        \t\t$('.error_email').text('Enter a valid email address');\n\t\t\t        \t\terror = 1;\n\t\t\t        \t}else {\n\t\t\t        \t\tvar emailParts = EMail.split('@');\n\t\t\t        \t\tvar domain = emailParts[1].toLowerCase();\n\t\t\t        \t\tvar tld = domain.split('.').pop();\n\t\t\t        \t\tif(validTLDs.indexOf(tld) === -1){\n\t\t\t        \t\t\t$('.error_email').text('Please enter a valid email address with a real domain');\n\t\t\t        \t\t\terror = 1;\n\t\t\t        \t\t} else {\n\t\t\t        \t\t\tvar domainParts = domain.split('.');\n\t\t\t        \t\t\tvar secondLevel = domainParts[domainParts.length - 2];\n\t\t\t        \t\t\tif(!secondLevel || secondLevel.length < 2 || domain.indexOf('..') !== -1){\n\t\t\t        \t\t\t\t$('.error_email').text('Please enter a valid email address with a real domain');\n\t\t\t        \t\t\t\terror = 1;\n\t\t\t        \t\t\t} else {\n\t\t\t        \t\t\t\t$('.error_email').text('');\n\t\t\t        \t\t\t}\n\t\t\t        \t\t}\n\t\t\t        \t}\n\n\t\t\t        \tvar country_id  = $('#country_id').val(); \n\n\t\t\t        \tif(!country_id){\n\t\t\t        \t\t$('.error_country').text('Enter the country');\n\t\t\t        \t\terror = 1;\n\t\t\t        \t}else {\n\t\t\t        \t\t$('.error_country').text('');\n\t\t\t        \t}  \n\n\t\t\t        \tvar State  = $('#State').val(); \n\n\t\t\t        \tif(!State){\n\t\t\t        \t\t$('.error_state').text('Enter the state');\n\t\t\t        \t\terror = 1;\n\t\t\t        \t}else {\n\t\t\t        \t\t$('.error_state').text('');\n\t\t\t        \t} \n\n\t\t\t        \tvar MobileNumber  = $('#MobileNumber').val(); \n\n\t\t\t        \tif(!MobileNumber){\n\t\t\t        \t\t$('.error_mobile_no').text('Enter the mobile number');\n\t\t\t        \t\terror = 1;\n\t\t\t        \t}\n\t\t\t\t\t\telse if (!\/^\\d+$\/.test(MobileNumber)) {\n\t\t\t\t\t\t\t\t$('.error_mobile_no').text('Only digits are allowed');\n\t\t\t\t\t\t\t\terror = 1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t        \t\tif($('.error_mobile_no').text() != ''){\n\t\t\t\t\t\t\t\terror = 1;\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t$('.error_mobile_no').text('');\n\t\t\t\t\t\t\t}\n\t\t\t        \t} \n\n\t\t\t        \tvar enquiry_type_val = $('input.enquiry_type:checked').val();\n\n\t\t\t        \t\/\/ Other enquiry type -- validate the textarea instead of training\/cert fields\n\t\t\t        \tif(enquiry_type_val == 2){\n\t\t\t        \t\tvar other_enquiry_val = $.trim($('#other_enquiry').val() || '');\n\t\t\t        \t\tif(!other_enquiry_val){\n\t\t\t        \t\t\t$('.error_enquiry').text('Please enter your enquiry details');\n\t\t\t        \t\t\terror = 1;\n\t\t\t        \t\t}else{\n\t\t\t        \t\t\t$('.error_enquiry').text('');\n\t\t\t        \t\t}\n\t\t\t        \t\t\/\/ Skip purposOf\/training\/cert validations for Other\n\t\t\t        \t\tif(error){\n\t\t\t        \t\t\t$('html, body').animate({ scrollTop: $('.error:visible:first').offset().top - 100 }, 400);\n\t\t\t        \t\t\treturn;\n\t\t\t        \t\t}\n\t\t\t        \t\tsubmitFinalForm();\n\t\t\t        \t\treturn;\n\t\t\t        \t}\n\n\t\t\t        \tvar purposOf  = $('#purposOf').val();\n\n\t\t\t        \tif(!purposOf){\n\t\t\t        \t\t$('.error_trg_cert').text('Please choose the training\/certification');\n\t\t\t        \t\terror = 1;\n\t\t\t        \t}else {\n\t\t\t        \t\t$('.error_trg_cert').text('');\n\t\t\t        \t}\n\n\t\t\t        \tif((purposOf == 1) || (purposOf == 3)){ \n\t\t\t        \t\t\/\/Training validation  \n\t\t\t\t        \tvar Type  = $('#Type').val(); \n\n\t\t\t\t        \tif(!Type){\n\t\t\t\t        \t\t$('.error_product_type').text('Please choose type');\n\t\t\t\t        \t\terror = 1;\n\t\t\t\t        \t}else {\n\t\t\t\t        \t\t$('.error_product_type').text('');\n\t\t\t\t        \t} \n\n\t\t\t\t        \tvar Category  = $('#Category').val(); \n\n\t\t\t\t        \tif(!Category){\n\t\t\t\t        \t\t$('.error_product_category').text('Please choose category');\n\t\t\t\t        \t\terror = 1;\n\t\t\t\t        \t}else {\n\t\t\t\t        \t\t$('.error_product_category').text('');\n\t\t\t\t        \t} \n\n\t\t\t\t        \tvar ProductNameCount = $('.product-name-chk:checked').length;\n\n\t\t\t\t        \tif(ProductNameCount === 0){\n\t\t\t\t        \t\t$('.error_product_name').text('Please choose at least one product');\n\t\t\t\t        \t\terror = 1;\n\t\t\t\t        \t}else {\n\t\t\t\t        \t\t$('.error_product_name').text('');\n\t\t\t\t        \t}\n\t\t\t\t        }\n\n\t\t\t\t        if((purposOf == 2) || (purposOf == 3)){\n\t\t\t\t        \tvar product_scheme_count  = $('.product-scheme-chk:checked').length;\n\t\t\t\t        \tvar process_scheme_count  = $('.process-scheme-chk:checked').length;\n\n\t\t\t\t\t\t\tvar cert_type = $('#cert_Type').val();\n\n\t\t\t\t\t\t\tif(!cert_type){\n\t\t\t\t        \t\t$('.error_cert_product_type').text('Please choose any one Certification Type');\n\t\t\t\t        \t\terror = 1;\n\t\t\t\t        \t}else {\n\t\t\t\t        \t\t$('.error_cert_product_type').text('');\n\t\t\t\t\t\t\t\tif(cert_type == 1){\n\t\t\t\t\t\t\t\t\tif(process_scheme_count === 0){\n\t\t\t\t\t\t\t\t\t\terror = 1;\n\t\t\t\t\t\t\t\t\t\t$('.error_process_scheme').text('Please choose at least one process scheme');\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t$('.error_process_scheme').text('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else if(cert_type == 2){\n\t\t\t\t\t\t\t\t\tif(product_scheme_count === 0){\n\t\t\t\t\t\t\t\t\t\terror = 1;\n\t\t\t\t\t\t\t\t\t\t$('.error_product_name').text('Please choose at least one product scheme');\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t$('.error_product_name').text('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else if(cert_type == 3){\n\t\t\t\t\t\t\t\t\tif(product_scheme_count === 0 || process_scheme_count === 0){\n\t\t\t\t\t\t\t\t\t\terror = 1;\n\t\t\t\t\t\t\t\t\t\t$('.error_process_scheme').text('Please choose at least one from both product and process scheme');\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t$('.error_process_scheme').text('');\n\t\t\t\t\t\t\t\t\t\t$('.error_product_name').text('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t        \t}\n\t\t\t\t\t\t\t\n\n\n\t\t\t\t        }\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tvar captcha_cookie = getCookie('captcha_word'); \n \t\t\t\t\t\t\tvar capcha_answer = $('#captcha_answer').val(); \n\t\t\t\t\t\t\tif(capcha_answer && captcha_cookie !== capcha_answer){\n\t\t\t\t\t\t\t\t$('.error_captcha').text('Captcha is not valid');\n\t\t\t\t\t\t\t\terror = 1;\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\tif(!capcha_answer){\n\t\t\t\t\t\t\t\t\t$('.error_captcha').text('Enter the captcha');\n\t\t\t\t\t\t\t\t\terror = 1;\n\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t$('.error_captcha').text('');\n\t\t\t\t\t\t\t\t\/\/ \terror = 0;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tvar EMail = $('#EMail').val();\n\t\t\t\t\t \tvar prod_scheme = [];\n\t\t\t\t\t \t$('.product-scheme-chk:checked').each(function(){ prod_scheme.push($(this).val()); });\n\t\t\t\t\t \tvar proc_scheme = [];\n\t\t\t\t\t \t$('.process-scheme-chk:checked').each(function(){ proc_scheme.push($(this).val()); });\n\t\t\t\t\t \tvar trn_prod_scheme = [];\n\t\t\t\t\t \t$('.product-name-chk:checked').each(function(){ trn_prod_scheme.push($(this).val()); });\n\t\t\t\t\t\t\n\t\t\t\t\t\tif($('#purposOf').val() == 1){\n\t\t\t\t\t\t\temail_url = base_url_api+'\/api_training_email_check';\n\t\t\t\t\t\t\tvar postdata = {\n\t\t\t\t\t\t\t\tEMail : EMail,\n\t\t\t\t\t\t\t\tprod_scheme : trn_prod_scheme\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t }else if($('#purposOf').val() == 2){\n\t\t\t\t\t\t\temail_url = base_url_api+'\/api_cert_email_check';\n\t\t\t\t\t\t\tvar postdata = {\n\t\t\t\t\t\t\t\tEMail : EMail,\n\t\t\t\t\t\t\t\tprod_scheme : prod_scheme,\n\t\t\t\t\t\t\t\tproc_scheme : proc_scheme\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t }\n\t\t\t\t\t\t \n\t\t\t\t\t\t if(error){\n\t\t\t\t\t\t\/\/Auto Scroll to first error\n\t\t\t\t\t\tvar firstError = $('.error:visible').filter(function() {\n\t\t\t\t\t\t\treturn $(this).text().trim() !== '';\n\t\t\t\t\t\t}).first();\n\n\t\t\t\t\t\tif(firstError.length){\n\t\t\t\t\t\t\t$('html, body').animate({\n\t\t\t\t\t\t\t\tscrollTop: firstError.offset().top - 380\n\t\t\t\t\t\t\t}, 500);\n\n\t\t\t\t\t\t\t\/\/ focus input\/select\n\t\t\t\t\t\t\tfirstError.closest('.mb-3').find('input, select, textarea').focus();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n      \n\t\t\t\t\t\tif(EMail && $('#purposOf').val() != '' && !error){\n\t\t\t\t\t\t     \/\/skip recheck of duplicate email after click proceed\n                            if($('#proceed_trn_enq').attr('data-enquiry-type') == 'same'){\n                                submitFinalForm();\n                                return;\n                            }\n                            \n\t\t\t\t\t\t\t$.ajax({\n\t\t\t\t\t\t\t\ttype:'POST',\n\t\t\t\t\t\t\t\turl:email_url,\n\t\t\t\t\t\t\t\tdata:postdata,\n\t\t\t\t\t\t\t\tsuccess:function(data){\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tvar purposOf = $('#purposOf').val();\n                                var prod_scheme = [];\n                                $('.product-scheme-chk:checked').each(function(){ prod_scheme.push($(this).val()); });\n                                var proc_scheme = [];\n                                $('.process-scheme-chk:checked').each(function(){ proc_scheme.push($(this).val()); });\n\n                                \/\/ Check only for Certification or Training+Certification\n                                if ((purposOf == 2 || purposOf == 3) && (prod_scheme.length === 0 && proc_scheme.length === 0)) {\n                                    $('.error_process_scheme').text('Please choose any one process or product scheme.');\n                                    return; \/\/ Stop submission and prevent modal opening\n                                }\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tif(data == 1 || $('#proceed_trn_enq').attr('data-enquiry-type') == 'same'){\n\t\t\t\t\t\t\t\t\tmail_dup_error = 0;\n\t\t\t\t\t\t\t\t\tif(!error && !mail_dup_error){\n\t\t\t\t\t\t\t\t\/\/ \t\t$('.btn-submit').addClass('disabled');\n\t\t\t\t\t\t\t\t        \/\/Prevent multiple submission\n                                        $('.btn-submit')\n                                        .prop('disabled', true)\n                                        .text('Submitting...');\n                                        \n\t\t\t\t\t\t\t\t\t\tvar enquiry_type  = $('input.enquiry_type:checked').val();\n\t\t\t\t\t\t\t\t\t\t\/\/captcha status success\n\t\t\t\t\t\t\t\t\t\tif(enquiry_type == 1){\n\t\t\t\t\t\t\t\t\t\t\t var purposOf  = $('#purposOf').val();\n\t\t\t\t\t\t\t\t\t\t\tif(purposOf == 1){\n\t\t\t\t\t\t\t\t\t\t\t\ttrainingEnquiry();\n\t\t\t\t\t\t\t\t\t\t\t} else if(purposOf == 2){\n\t\t\t\t\t\t\t\t\t\t\t\tcertificationEnquiry();\n\t\t\t\t\t\t\t\t\t\t\t}else if(purposOf == 3){\n\t\t\t\t\t\t\t\t\t\t\t\ttrainingEnquiry();\n\t\t\t\t\t\t\t\t\t\t\t\tcertificationEnquiry();\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}else {\n\t\t\t\t\t\t\t\t\t\t\totherEnquiry();\n\t\t\t\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t$('#error_pop_con').children().remove().end().append(data);\n\t\t\t\t\t\t\t\t\t\t$('#error_pop').modal('toggle');\n\t\t\t\t\t\t\t\t\t\tvar prcd_btn = $('#same_enquiry_id').attr('data-scheme') == 0 ? 'disabled' : '';\n\t\t\t\t\t\t\t\t\t\t$('#proceed_trn_enq').removeClass('disabled');\n\t\t\t\t\t\t\t\t\t\t$('#proceed_trn_enq').addClass(prcd_btn);\n\t\t\t\t\t\t\t\t\t\tmail_dup_error = 1;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}); \n\t\t\t\t\t\t}\n\n\t\t        })\n\t\t\t\t\n\t\t\t\t$('.btn-close').click(function(e) { \n\t\t\t\t\tlocation.reload();\n\t\t\t\t})\n\n\t\t        function trainingEnquiry() {\n\n\t\t\t\t\t\/\/ Re-fetch the BCO based on currently checked products, then submit only AFTER\n\t\t\t\t\t\/\/ that fetch completes. Uses jQuery deferred (NOT async:false) \u2014 async:false\n\t\t\t\t\t\/\/ blocks the main thread and can interfere with other in-flight XHRs on the\n\t\t\t\t\t\/\/ page (e.g. the get_website_details call that populates the source_of_url\n\t\t\t\t\t\/\/ hidden field). Promise chaining is non-blocking and safe.\n\t\t\t\t\tvar t_country_id = $('#country_id').val();\n\t\t\t\t\tvar t_state_id   = $('#State').val();\n\t\t\t\t\tvar t_Category   = $('#Category').val();\n\t\t\t\t\tvar t_Type       = $('#Type').val();\n\t\t\t\t\tvar t_ProductArr = [];\n\t\t\t\t\t$('.product-name-chk:checked').each(function(){ t_ProductArr.push($(this).val()); });\n\t\t\t\t\tvar t_ProductName = t_ProductArr.join(',');\n\n\t\t\t\t\tvar bcoPromise;\n\t\t\t\t\tif(t_ProductName){\n\t\t\t\t\t\tbcoPromise = $.ajax({\n\t\t\t\t\t\t\ttype:'POST',\n\t\t\t\t\t\t\turl:base_url+'\/Api\/get_bco_training',\n\t\t\t\t\t\t\tdata:'country_id='+t_country_id+'&state_id='+t_state_id+'&Category='+t_Category+'&Type='+t_Type+'&ProductName='+t_ProductName\n\t\t\t\t\t\t}).done(function(bco_id){ $('.bco_assign_training').val(bco_id); });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbcoPromise = $.Deferred().resolve().promise();\n\t\t\t\t\t}\n\n\t\t\t\t\tbcoPromise.always(function(){\n\t\t\t\t\t\tvar form_data = $('#contct_form').serialize();\n\t\t\t\t\t\tvar url = base_url+'\/SEO\/addEnquiry';\n\t\t\t\t\t\tvar bco_assign = $('.bco_assign_training').val();\n\t\t\t\t\t\tvar enquirySame = $('#proceed_trn_enq').attr('data-enquiry-type');\n\t\t\t\t\t\tvar sameEnquiryId = $('#proceed_trn_enq').attr('data-enquiry-id');\n\t\t\t\t\t\tvar company = $('.Company').val(); \/\/IAS singapore\n\t\t\t\t\t\tvar post_data = \"&bco_assign=\"+bco_assign+\"&company=\"+company+\"&enquirySame=\"+enquirySame+\"&sameEnquiryId=\"+sameEnquiryId;\n\t\t\t\t\t\t$.ajax({\n\t\t\t\t\t\t\ttype:'POST',\n\t\t\t\t\t\t\turl:url,\n\t\t\t\t\t\t\tdata:form_data + post_data + \"&username=\"+chat_username+\"&password=\"+encodeURIComponent(chat_password),\n\t\t\t\t\t\t\tsuccess:function(data){\n\t\t\t\t\t\t\t\tif(data.status == 1){\n\t\t\t\t\t\t\t\t\t\/\/alert(data.message);\n\t\t\t\t\t\t\t\t\t\/\/location.reload();\n\t\t\t\t\t\t\t\t\t$('#myModalAlert .modal-body').text(data.message);\n\t\t\t\t\t\t\t\t\t$('#myModalAlert').modal('show');\n\t\t\t\t\t\t\t\t\t$('.btn-submit').removeClass('disabled');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\n\t\t        }\n\n\t\t        function certificationEnquiry() {\n\t\t        \tvar form_data = $('#contct_form').serialize();\n\t\t        \tvar profile_name = $('#CompanyName').val();\n\t\t        \tvar contact_name = $('#CustomerName').val();\n\t\t        \tvar mobile_number = $('#MobileNumber').val();\n\t\t        \tvar profile_email = $('#EMail').val();\n\t\t        \tvar md_state      = $('#State').val();\n\t\t        \tvar md_city      = $('#City').val();\n\t\t        \tvar company = $('.Company').val(); \/\/IAS singapore\n\t\t        \tvar Type = 6;\n\t\t        \tvar remarks = 'Online enquiry';\n\t\t        \tvar bco_assign = $('.bco_assign_cert').val();\n\t\t\t\t\tvar enquirySame = $('#proceed_trn_enq').attr('data-enquiry-type');\n\t\t\t\t\tvar sameEnquiryId = $('#proceed_trn_enq').attr('data-enquiry-id');\n\t\t\t\t\tvar cert_trn_type =  $('#purposOf').val();\n\t                var url = base_url+'\/SEO\/adddataAction_self';\n\n\t                var post_data = \"&profile_name=\"+profile_name+\"&contact_name=\"+contact_name+\"&mobile_number=\"+mobile_number+\"&profile_email=\"+profile_email+\"&md_state=\"+md_state+\"&md_city=\"+md_city+\"&company=\"+company+\"&Type=\"+Type+\"&remarks=\"+remarks+\"&bco_assign=\"+bco_assign+\"&enquirySame=\"+enquirySame+\"&sameEnquiryId=\"+sameEnquiryId;\n\t                 $.ajax({\n\t                    type:'POST',\n\t                    url:url,\n\t                    data:form_data + post_data + \"&username=\"+chat_username+\"&password=\"+encodeURIComponent(chat_password),\n\t                    success:function(data){\n\t                     \/\/ alert(data);\n\t                        if(data.status == 1){\n\t                            \/\/alert(data.message);\n\t\t\t\t\t\t\t\t\/\/location.reload();\n\t\t\t\t\t\t\t\t$('#myModalAlert .modal-body').text(data.message);\n\t\t\t\t\t  \t\t\t$('#myModalAlert').modal('show');\n\t\t\t\t\t  \t\t\t$('.btn-submit').removeClass('disabled');\n\t                        }  \n\t                    }\n\t                });   \n\t        \t}\n\n\t        \t function otherEnquiry() {\n\t\t        \t var form_data = $('#contct_form').serialize();\n\t\t                var url = base_url+'\/Api\/sent_mail_other_enquiry';\n\t\t               \n\t\t                var post_data = \"&website_url=\"+website_url\n\t\t                 $.ajax({\n\t\t                    type:'POST',\n\t\t                    url:url,\n\t\t                    data:form_data + post_data,\n\t\t                    success:function(data){\n\t\t                        if(data == 1){\n\t\t                            \/\/alert('Thank you for contact us');\n\t\t\t\t\t\t\t\t\t\/\/location.reload();\n\t\t\t\t\t\t\t\t\t$('#myModalAlert .modal-body').text('Thank you for contact us');\n\t\t\t\t\t  \t\t\t\t$('#myModalAlert').modal('show');\n\t\t\t\t\t  \t\t\t\t$('.btn-submit').removeClass('disabled');\n\t\t                        }\n\t\t                    }\n\t\t                });   \n\t\t        }\n\n\t\t        \/\/purpose change \u2014 also reset all child dropdowns, errors\n\t\t        $('#purposOf').change(function() {\n\t\t        \tvar purpose = $(this).val();\n\n\t\t        \t\/\/ Helper: aggressively reset a <select> to its first <option>\n\t\t        \tfunction hardResetSelect(id){\n\t\t        \t\tvar selJ = $('#'+id);\n\t\t        \t\tif(!selJ.length) return;\n\t\t        \t\t\/\/ Clear every option's selected attribute, then mark first as selected\n\t\t        \t\tselJ.find('option').prop('selected', false).removeAttr('selected');\n\t\t        \t\tselJ.find('option:first').prop('selected', true).attr('selected','selected');\n\t\t        \t\t\/\/ Also set via value + native selectedIndex\n\t\t        \t\tselJ.val(selJ.find('option:first').val() || '');\n\t\t        \t\tvar el = document.getElementById(id);\n\t\t        \t\tif(el) el.selectedIndex = 0;\n\t\t        \t\t\/\/ select2 refresh: namespaced trigger updates the visible widget WITHOUT firing user change handlers\n\t\t        \t\tselJ.trigger('change.select2');\n\t\t        \t}\n\n\t\t        \t\/\/ Restore full Category list from clean plain-data cache (resets to placeholder)\n\t\t        \tif(typeof _rebuildCategoryFromCache === 'function'){\n\t\t        \t\t_rebuildCategoryFromCache(null);\n\t\t        \t}\n\n\t\t        \t\/\/ Hard-reset Type and cert_Type selects\n\t\t        \thardResetSelect('Type');\n\t\t        \thardResetSelect('cert_Type');\n\n\t\t        \t\/\/ Belt-and-braces: also direct-set the values + selectedIndex\n\t\t        \t$('#Type').val('');\n\t\t        \t$('#Category').val('');\n\t\t        \t$('#cert_Type').val('');\n\t\t        \tif(document.getElementById('Type')) document.getElementById('Type').selectedIndex = 0;\n\t\t        \tif(document.getElementById('Category')) document.getElementById('Category').selectedIndex = 0;\n\t\t        \tif(document.getElementById('cert_Type')) document.getElementById('cert_Type').selectedIndex = 0;\n\n\t\t        \t\/\/ Reset ProductName checkboxes\n\t\t        \t$('.product-name-chk').prop('checked', false);\n\t\t        \t$('#ProductNameCheckboxes').html('<span style=\"color:#999;\">-- Please select Product Type &amp; Category first --<\/span>');\n\t\t        \tif(typeof resetProductNameToggle === 'function') resetProductNameToggle();\n\n\t\t        \t\/\/ Reset cert scheme checkboxes + their toggle labels\n\t\t        \t$('.product-scheme-chk, .process-scheme-chk').prop('checked', false);\n\t\t        \tif(typeof resetSchemeToggleLabel === 'function'){\n\t\t        \t\tresetSchemeToggleLabel('productSchemeCheckboxes');\n\t\t        \t\tresetSchemeToggleLabel('processSchemeCheckboxes');\n\t\t        \t}\n\n\t\t        \t\/\/ Clear all related error messages\n\t\t        \t$('.error_trg_cert, .error_cert_product_type, .error_product_type, .error_product_category, .error_product_name, .error_process_scheme, .error_enquiry').text('');\n\n\t\t        \tif(purpose == 1){\n\t\t        \t\t$('.training-section').show();\n\t\t        \t\t$('.certification-section').hide();\n\t\t\t\t\t\t$('.certification_prod_section').hide();\n\t\t\t\t\t\t$('.process_section').hide();\n\t\t\t\t\t\t$('.product_section').hide();\n\t\t\t\t\t\tvar email_url = base_url_api+'\/api_training_email_check';\n\t\t        \t}else if(purpose == 2) {\n\t\t        \t\t$('.training-section').hide();\n\t\t        \t\t$('.certification-section').show();\n\t\t        \t\t$('.certification_prod_section').show();\n\t\t\t\t\t\t$('.process_section').hide();\n\t\t\t\t\t\t$('.product_section').hide();\n\t\t\t\t\t\tvar email_url = base_url_api+'\/api_cert_email_check';\n\t\t        \t}else if(purpose == 3) {\n\t\t        \t\t$('.training-section').show();\n\t\t        \t\t$('.certification-section').show();\n\t\t\t\t\t\t$('.certification_prod_section').hide();\n\t\t\t\t\t\t$('.process_section').hide();\n\t\t\t\t\t\t$('.product_section').hide();\n\t\t        \t}else {\n\t\t        \t\t$('.training-section').hide();\n\t\t        \t\t$('.certification-section').hide();\n\t\t\t\t\t\t$('.certification_prod_section').hide();\n\t\t\t\t\t\t$('.process_section').hide();\n\t\t\t\t\t\t$('.product_section').hide();\n\t\t        \t}\n\n\t\t       })\n\t\t\t   \n\t\t\t   $('#cert_Type').change(function() {\n\t\t        \tvar cert_Type = $(this).val();\n\n\t\t        \t\/\/ Uncheck all cert scheme checkboxes when cert_Type changes\n\t\t        \t$('.product-scheme-chk, .process-scheme-chk').prop('checked', false);\n\t\t        \tif(typeof resetSchemeToggleLabel === 'function'){\n\t\t        \t\tresetSchemeToggleLabel('productSchemeCheckboxes');\n\t\t        \t\tresetSchemeToggleLabel('processSchemeCheckboxes');\n\t\t        \t}\n\n\t\t        \t\/\/ Clear related error messages\n\t\t        \t$('.error_process_scheme, .error_product_name, .error_cert_product_type').text('');\n\n\t\t        \tif(cert_Type == 1){\n\t\t        \t\t$('.process_section').show();\n\t\t\t\t\t\t$('.product_section').hide();\n\t\t        \t}else if(cert_Type == 2) {\n\t\t        \t\t$('.product_section').show();\n\t\t\t\t\t\t$('.process_section').hide();\n\t\t        \t}else if(cert_Type == 3) {\n\t\t        \t\t$('.product_section').show();\n\t\t        \t\t$('.process_section').show();\n\t\t        \t}else {\n\t\t        \t\t$('.process_section').hide();\n\t\t        \t\t$('.product_section').hide();\n\t\t        \t}\n\n\t\t       })\n\n\n\t\t       \/\/Enquiry type\n\t\t       $('.enquiry_type').change(function() {\n\t\t       \t\tvar enquiry_type = $(this).val();\n\n\t\t       \t\tconsole.log(enquiry_type);\n\n\t\t       \t\tif(enquiry_type == 1) {\n\t\t       \t\t\t$('.enquiry_form').show();\n\t\t       \t\t\t$('.other_enquiry_form').hide();\n\t\t       \t\t}else if(enquiry_type == 2) {\n\t\t       \t\t\t$('.other_enquiry_form').show();\n\t\t       \t\t\t$('.enquiry_form').hide();\n\t\t       \t\t}\n\t\t       \t})\t\t\t\t\t \n\t\t\t\t\n\t\t       \t\/\/Fetch bco training\n\n\t\t       \tfunction fetchBcoTraining() {\n\t\t       \t\tvar country_id \t\t= $('#country_id').val();\n\t\t            var state_id \t\t= $('#State').val();\n\t\t            var Category \t\t= $('#Category').val();\n\t\t            var Type \t\t\t= $('#Type').val();\n\t\t            var ProductNameArr \t= [];\n\t\t            $('.product-name-chk:checked').each(function(){ ProductNameArr.push($(this).val()); });\n\t\t            var ProductName = ProductNameArr.join(',');\n\t\t       \t\tvar url = base_url+'\/Api\/get_bco_training';\n\n\t                var post_data = \"&country_id=\"+country_id+\"&state_id=\"+state_id+\"&Category=\"+Category+\"&Type=\"+Type+\"&ProductName=\"+ProductName;\n\t                 $.ajax({\n\t                    type:'POST',\n\t                    url:url,\n\t                    data:post_data ,\n\t                    success:function(bco_id){\n\t                    \t$('.bco_assign_training').val(bco_id);\n\t                        \n\t                    }\n\t                });   \n\n\t\t       \t}\n\n\t\t       \t\/\/Fetch bco training\n\n\t\t       \tfunction fetchBcoCert() {\n\t\t       \t\tvar country_id \t\t= $('#country_id').val();\n\t\t            var state_id \t\t= $('#State').val();\n\t\t       \t\tvar url = base_url+'\/Api\/get_bco_certification';\n\n\t                var post_data = \"&country_id=\"+country_id+\"&state_id=\"+state_id;\n\t                 $.ajax({\n\t                    type:'POST',\n\t                    url:url,\n\t                    data:post_data ,\n\t                    success:function(bco_id){\n\t                    \t$('.bco_assign_cert').val(bco_id);\n\t                        \n\t                    }\n\t                });   \n\n\t\t       \t}\n\n\t\t    });\n\t\t\t\n<\/script>\n<\/html>\n\n<\/div>\n\t\t<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Half of what an internal auditor learns is how to hold a useful conversation. cGMP internal auditor training covers auditing a manufacturing operation against current Good Manufacturing Practice requirements, and questioning technique is one of the skills it builds. Auditors ask the people who run the process to explain what they do, then listen carefully&#8230; <\/p>\n<div class=\"clear\"><\/div>\n<p><a href=\"https:\/\/iasiso-gulf.com\/KW\/cgmp-internal-auditor-training-in-kuwait\/\" class=\"gdlr-button with-border excerpt-read-more\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-6052","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/iasiso-gulf.com\/KW\/wp-json\/wp\/v2\/pages\/6052","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iasiso-gulf.com\/KW\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/iasiso-gulf.com\/KW\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/iasiso-gulf.com\/KW\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/iasiso-gulf.com\/KW\/wp-json\/wp\/v2\/comments?post=6052"}],"version-history":[{"count":3,"href":"https:\/\/iasiso-gulf.com\/KW\/wp-json\/wp\/v2\/pages\/6052\/revisions"}],"predecessor-version":[{"id":6055,"href":"https:\/\/iasiso-gulf.com\/KW\/wp-json\/wp\/v2\/pages\/6052\/revisions\/6055"}],"wp:attachment":[{"href":"https:\/\/iasiso-gulf.com\/KW\/wp-json\/wp\/v2\/media?parent=6052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}