{"id":7,"date":"2026-09-09T22:06:12","date_gmt":"2026-09-09T22:06:12","guid":{"rendered":"http:\/\/10.10.10.24:8080\/?page_id=7"},"modified":"2026-09-10T13:24:54","modified_gmt":"2026-09-10T13:24:54","slug":"jobmatch","status":"publish","type":"page","link":"https:\/\/jobmatch.pannerup.com\/","title":{"rendered":"Jobmatch"},"content":{"rendered":"\n    <style>\n        .jm360-container {\n            max-width: 900px;\n            margin: 20px auto;\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n            color: #2c3e50;\n        }\n        .jm360-card {\n            background: #ffffff;\n            border-radius: 12px;\n            padding: 25px;\n            box-shadow: 0 4px 15px rgba(0,0,0,0.08);\n            margin-bottom: 20px;\n        }\n        .jm360-form-group {\n            margin-bottom: 20px;\n        }\n        .jm360-form-group label {\n            display: block;\n            font-weight: 600;\n            margin-bottom: 8px;\n        }\n        .jm360-input-text, .jm360-form-group textarea {\n            width: 100%;\n            padding: 12px;\n            border: 1px solid #cbd5e1;\n            border-radius: 8px;\n            box-sizing: border-box;\n            font-size: 14px;\n        }\n        .jm360-form-group textarea {\n            height: 110px;\n        }\n        .jm360-help-text {\n            font-size: 12px;\n            color: #64748b;\n            margin-top: 5px;\n            display: block;\n        }\n\n        \/* DANSK FILE UPLOAD STYLING *\/\n        .jm360-file-wrapper {\n            display: flex;\n            align-items: center;\n            gap: 12px;\n            background: #f8fafc;\n            border: 1px solid #cbd5e1;\n            padding: 8px 12px;\n            border-radius: 8px;\n        }\n        .jm360-file-btn {\n            background: #e2e8f0;\n            color: #1e293b;\n            padding: 8px 16px;\n            border-radius: 6px;\n            font-size: 14px;\n            font-weight: 600;\n            cursor: pointer;\n            border: 1px solid #cbd5e1;\n            display: inline-block;\n        }\n        .jm360-file-btn:hover {\n            background: #cbd5e1;\n        }\n        .jm360-file-name {\n            font-size: 14px;\n            color: #64748b;\n            white-space: nowrap;\n            overflow: hidden;\n            text-overflow: ellipsis;\n        }\n\n        .jm360-divider {\n            text-align: center;\n            margin: 10px 0;\n            font-size: 12px;\n            color: #64748b;\n            font-weight: bold;\n            text-transform: uppercase;\n        }\n\n        .jm360-select-custom {\n            width: 100% !important;\n            max-width: 280px !important;\n            height: 44px !important;\n            line-height: 1.4 !important;\n            padding: 8px 36px 8px 12px !important;\n            border: 1px solid #cbd5e1 !important;\n            border-radius: 8px !important;\n            background-color: #fff !important;\n            font-size: 14px !important;\n            box-sizing: border-box !important;\n            display: inline-block !important;\n            appearance: auto !important;\n            -webkit-appearance: auto !important;\n            -moz-appearance: auto !important;\n        }\n\n        .jm360-btn-submit {\n            background: #2563eb;\n            color: #fff;\n            padding: 14px 28px;\n            border: none;\n            border-radius: 8px;\n            font-size: 16px;\n            font-weight: 600;\n            cursor: pointer;\n            width: 100%;\n            transition: background 0.2s;\n        }\n        .jm360-btn-submit:hover { background: #1d4ed8; }\n\n        .jm360-action-bar {\n            display: flex;\n            gap: 12px;\n            margin-bottom: 20px;\n            flex-wrap: wrap;\n        }\n        .jm360-btn-action {\n            background: #f1f5f9;\n            color: #0f172a;\n            border: 1px solid #cbd5e1;\n            padding: 10px 18px;\n            border-radius: 6px;\n            font-size: 14px;\n            font-weight: 600;\n            cursor: pointer;\n            display: inline-flex;\n            align-items: center;\n            gap: 6px;\n            transition: all 0.2s;\n        }\n        .jm360-btn-action:hover {\n            background: #e2e8f0;\n            border-color: #94a3b8;\n        }\n        .jm360-btn-reset {\n            background: #0f172a;\n            color: #ffffff;\n            border: none;\n        }\n        .jm360-btn-reset:hover { background: #334155; }\n\n        .jm360-btn-application-doc {\n            background: #2563eb;\n            color: #ffffff;\n            border: none;\n            padding: 10px 16px;\n            border-radius: 6px;\n            font-size: 14px;\n            font-weight: 600;\n            cursor: pointer;\n            margin-bottom: 15px;\n            display: inline-flex;\n            align-items: center;\n            gap: 6px;\n            transition: background 0.2s;\n        }\n        .jm360-btn-application-doc:hover {\n            background: #1d4ed8;\n        }\n\n        .jm360-accordion {\n            border: 1px solid #e2e8f0;\n            border-radius: 8px;\n            margin-bottom: 12px;\n            overflow: hidden;\n            background: #fff;\n        }\n        .jm360-accordion-header {\n            width: 100%;\n            text-align: left;\n            padding: 16px 20px;\n            background: #f8fafc;\n            border: none;\n            font-size: 16px;\n            font-weight: 600;\n            color: #1e293b;\n            cursor: pointer;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n        }\n        .jm360-accordion-header:hover { background: #f1f5f9; }\n        .jm360-accordion-content {\n            padding: 20px;\n            display: none;\n            border-top: 1px solid #e2e8f0;\n            line-height: 1.6;\n        }\n\n        #jm360-loader {\n            display: none;\n            text-align: center;\n            padding: 40px 20px;\n        }\n        .jm360-spinner {\n            width: 50px;\n            height: 50px;\n            border: 5px solid #f3f3f3;\n            border-top: 5px solid #2563eb;\n            border-radius: 50%;\n            animation: jm360-spin 1s linear infinite;\n            margin: 0 auto 20px;\n        }\n        @keyframes jm360-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }\n\n        @media print {\n            body * { visibility: hidden; }\n            #jm360-report-content, #jm360-report-content * { visibility: visible; }\n            #jm360-report-content { position: absolute; left: 0; top: 0; width: 100%; }\n            .jm360-action-bar, .jm360-btn-application-doc, .jm360-accordion-header span:last-child { display: none !important; }\n            .jm360-accordion-content { display: block !important; border: none !important; padding: 10px 0 !important; }\n            .jm360-accordion { border: none !important; border-bottom: 1px solid #ccc !important; margin-bottom: 20px !important; }\n        }\n    <\/style>\n\n    <div class=\"jm360-container\">\n        \n        <!-- FORMULAR -->\n        <div id=\"jm360-form-card\" class=\"jm360-card\" style=\"\">\n            <h2 style=\"margin-top:0;\">JOBMATCH360 Analysis<\/h2>\n            \n            <form method=\"post\" enctype=\"multipart\/form-data\" onsubmit=\"jm360StartLoading()\">\n                \n                <!-- 1. JOBOPLSAG -->\n                <div class=\"jm360-form-group\">\n                    <label for=\"job_url\">1. Link direkte til Jobopslag (URL):<\/label>\n                    <input type=\"url\" name=\"job_url\" id=\"job_url\" class=\"jm360-input-text\" placeholder=\"https:\/\/www.jobindex.dk\/jobannonce\/...\">\n                    <span class=\"jm360-help-text\">\u26a0\ufe0f Bem\u00e6rk: Linket m\u00e5 ikke ligge bag et login\/muren (f.eks. LinkedIn eller beskyttede sider). Inds\u00e6t da teksten manuelt nedenfor.<\/span>\n                <\/div>\n\n                <div class=\"jm360-divider\">\u2014 ELLER INDS\u00c6T TEKST MANUELT \u2014<\/div>\n\n                <div class=\"jm360-form-group\">\n                    <label for=\"job_text\">Inds\u00e6t Jobopslag (tekst):<\/label>\n                    <textarea name=\"job_text\" id=\"job_text\" placeholder=\"Hvis opslaget kr\u00e6ver login, kan du kopiere og inds\u00e6tte teksten her...\"><\/textarea>\n                <\/div>\n\n                <hr style=\"border:0; border-top:1px solid #e2e8f0; margin:25px 0;\">\n\n                <!-- 2. CV (P\u00c5 DANSK) -->\n                <div class=\"jm360-form-group\">\n                    <label for=\"cv_file\">2. Upload Kandidatens CV (PDF, DOCX, TXT):<\/label>\n                    <div class=\"jm360-file-wrapper\">\n                        <label for=\"cv_file\" class=\"jm360-file-btn\">V\u00e6lg fil<\/label>\n                        <span id=\"cv_file_name\" class=\"jm360-file-name\">Ingen fil valgt<\/span>\n                        <input type=\"file\" name=\"cv_file\" id=\"cv_file\" accept=\".pdf,.docx,.doc,.txt\" style=\"display:none;\" onchange=\"jm360UpdateFileName(this)\">\n                    <\/div>\n                <\/div>\n\n                <div class=\"jm360-divider\">\u2014 ELLER INDS\u00c6T CV MANUELT \u2014<\/div>\n\n                <div class=\"jm360-form-group\">\n                    <label for=\"cv_text\">Inds\u00e6t CV (tekst):<\/label>\n                    <textarea name=\"cv_text\" id=\"cv_text\" placeholder=\"Inds\u00e6t teksten fra kandidatens CV her...\"><\/textarea>\n                <\/div>\n\n                <hr style=\"border:0; border-top:1px solid #e2e8f0; margin:25px 0;\">\n\n                <!-- 3. SPROG FOR ANS\u00d8GNING -->\n                <div class=\"jm360-form-group\">\n                    <label for=\"app_language\">3. Sprog for Jobans\u00f8gningen (Sektion 7):<\/label>\n                    <select name=\"app_language\" id=\"app_language\" class=\"jm360-select-custom\">\n                        <option value=\"da\">Dansk (Ans\u00f8gning p\u00e5 dansk)<\/option>\n                        <option value=\"en\">English (Application in English)<\/option>\n                    <\/select>\n                    <span class=\"jm360-help-text\">Selve rekrutteringsrapporten genereres altid p\u00e5 dansk.<\/span>\n                <\/div>\n\n                <button type=\"submit\" name=\"jobmatch360_submit\" class=\"jm360-btn-submit\">Start JOBMATCH360 Analyse<\/button>\n            <\/form>\n        <\/div>\n\n        <!-- ANIMERET LOADING SK\u00c6RM -->\n        <div id=\"jm360-loader\" class=\"jm360-card\">\n            <div class=\"jm360-spinner\"><\/div>\n            <h3 id=\"jm360-status-text\">Analyserer jobopslag og CV...<\/h3>\n            <p style=\"color:#64748b;\">Dette tager ca. 10-20 sekunder. Gemini AI udarbejder din rapport.<\/p>\n        <\/div>\n\n        <!-- RAPPORT RESULTAT OG DOWNLOAD KNAPPER -->\n        \n    <\/div>\n\n    <script>\n        function jm360UpdateFileName(input) {\n            var fileNameLabel = document.getElementById('cv_file_name');\n            if (input.files && input.files.length > 0) {\n                fileNameLabel.textContent = input.files[0].name;\n                fileNameLabel.style.color = '#1e293b';\n                fileNameLabel.style.fontWeight = '600';\n            } else {\n                fileNameLabel.textContent = 'Ingen fil valgt';\n                fileNameLabel.style.color = '#64748b';\n                fileNameLabel.style.fontWeight = 'normal';\n            }\n        }\n\n        function toggleAccordion(btn) {\n            var content = btn.nextElementSibling;\n            if (content.style.display === \"block\") {\n                content.style.display = \"none\";\n            } else {\n                content.style.display = \"block\";\n            }\n        }\n\n        function jm360StartLoading() {\n            document.getElementById('jm360-form-card').style.display = 'none';\n            document.getElementById('jm360-loader').style.display = 'block';\n\n            var statusText = document.getElementById('jm360-status-text');\n            var steps = [\n                \"L\u00e6ser jobopslag og parser CV...\",\n                \"Samk\u00f8rer kompetencer...\",\n                \"Beregner Matchscore & Key-fit...\",\n                \"Udarbejder m\u00e5lrettet jobans\u00f8gning...\",\n                \"F\u00e6rdigg\u00f8r rekrutteringsrapporten...\"\n            ];\n            var stepIndex = 0;\n\n            setInterval(function() {\n                if (stepIndex < steps.length) {\n                    statusText.innerText = steps[stepIndex];\n                    stepIndex++;\n                }\n            }, 3500);\n        }\n\n        function jm360DownloadWord() {\n            var header = \"<html xmlns:o='urn:schemas-microsoft-com:office:office' \" +\n                         \"xmlns:w='urn:schemas-microsoft-com:office:word' \" +\n                         \"xmlns='http:\/\/www.w3.org\/TR\/REC-html40'>\" +\n                         \"<head><meta charset='utf-8'><title>JOBMATCH360 Rapport<\/title><\/head><body>\";\n            var footer = \"<\/body><\/html>\";\n            \n            var reportClone = document.getElementById('jm360-report-content').cloneNode(true);\n            \n            \/\/ Fjern download-knappen til ans\u00f8gningen fra Word-rapporten\n            var appBtns = reportClone.querySelectorAll('.jm360-btn-application-doc');\n            appBtns.forEach(function(b) { b.remove(); });\n\n            var contents = reportClone.querySelectorAll('.jm360-accordion-content');\n            contents.forEach(function(el) { el.style.display = 'block'; });\n\n            var sourceHTML = header + reportClone.innerHTML + footer;\n            \n            var source = 'data:application\/vnd.ms-word;charset=utf-8,' + encodeURIComponent(sourceHTML);\n            var fileDownload = document.createElement(\"a\");\n            document.body.appendChild(fileDownload);\n            fileDownload.href = source;\n            fileDownload.download = 'JOBMATCH360_Rapport.doc';\n            fileDownload.click();\n            document.body.removeChild(fileDownload);\n        }\n\n        function jm360DownloadApplicationDoc() {\n            var header = \"<html xmlns:o='urn:schemas-microsoft-com:office:office' \" +\n                         \"xmlns:w='urn:schemas-microsoft-com:office:word' \" +\n                         \"xmlns='http:\/\/www.w3.org\/TR\/REC-html40'>\" +\n                         \"<head><meta charset='utf-8'><title>M\u00e5lrettet Jobans\u00f8gning<\/title><\/head><body>\";\n            var footer = \"<\/body><\/html>\";\n            \n            var appContent = document.getElementById('jm360-app-body');\n            if (!appContent) return;\n\n            var appClone = appContent.cloneNode(true);\n\n            var sourceHTML = header + appClone.innerHTML + footer;\n            \n            var source = 'data:application\/vnd.ms-word;charset=utf-8,' + encodeURIComponent(sourceHTML);\n            var fileDownload = document.createElement(\"a\");\n            document.body.appendChild(fileDownload);\n            fileDownload.href = source;\n            fileDownload.download = 'Jobans\u00f8gning.doc';\n            fileDownload.click();\n            document.body.removeChild(fileDownload);\n        }\n    <\/script>\n\n    \n\n\n<strong>Shortcode fungerer korrekt!<\/strong>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-7","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/jobmatch.pannerup.com\/index.php?rest_route=\/wp\/v2\/pages\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jobmatch.pannerup.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jobmatch.pannerup.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jobmatch.pannerup.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jobmatch.pannerup.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7"}],"version-history":[{"count":4,"href":"https:\/\/jobmatch.pannerup.com\/index.php?rest_route=\/wp\/v2\/pages\/7\/revisions"}],"predecessor-version":[{"id":13,"href":"https:\/\/jobmatch.pannerup.com\/index.php?rest_route=\/wp\/v2\/pages\/7\/revisions\/13"}],"wp:attachment":[{"href":"https:\/\/jobmatch.pannerup.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}