{"id":4575,"date":"2025-10-04T11:52:49","date_gmt":"2025-10-04T18:52:49","guid":{"rendered":"https:\/\/ievolutionclub.com\/?page_id=4575"},"modified":"2026-02-16T10:57:07","modified_gmt":"2026-02-16T18:57:07","slug":"submit-ticket","status":"publish","type":"page","link":"https:\/\/ievolutionclub.com\/es\/submit-ticket\/","title":{"rendered":"enviar-ticket"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4575\" class=\"elementor elementor-4575\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-915c7ec e-flex e-con-boxed e-con e-parent\" data-id=\"915c7ec\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3ff8f3a elementor-widget elementor-widget-shortcode\" data-id=\"3ff8f3a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n    <div class=\"ticket-form-wrap\">\n                <h2>Submit Support Ticket<\/h2>\n        \n        <form method=\"POST\" class=\"ticket-form\" enctype=\"multipart\/form-data\">\n            <input type=\"hidden\" id=\"ticket_nonce\" name=\"ticket_nonce\" value=\"12e2c9f287\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/es\/wp-json\/wp\/v2\/pages\/4575\" \/>\n            <!-- Honeypot: bots fill this, humans don't see it -->\n            <div style=\"position:absolute;left:-9999px;top:-9999px;opacity:0;height:0;width:0;overflow:hidden;\" aria-hidden=\"true\" tabindex=\"-1\">\n                <label for=\"website_url_hp\">Website<\/label>\n                <input type=\"text\" name=\"website_url\" id=\"website_url_hp\" value=\"\" autocomplete=\"off\" tabindex=\"-1\">\n                <input type=\"text\" name=\"phone_number_confirm\" value=\"\" autocomplete=\"off\" tabindex=\"-1\">\n            <\/div>\n            <!-- Time trap -->\n            <input type=\"hidden\" name=\"form_loaded_at\" value=\"1775326440\">\n\n                        <div class=\"ticket-form-group\">\n                <label>Your Name *<\/label>\n                <input type=\"text\" name=\"guest_name\" required>\n            <\/div>\n\n            <div class=\"ticket-form-group\">\n                <label>Your Email *<\/label>\n                <input type=\"email\" name=\"guest_email\" id=\"guest_email_field\" required>\n                <div id=\"guest-email-notice\" style=\"display:none; margin-top: 8px; padding: 10px 14px; background: #fff3cd; border: 1px solid #ffc107; border-radius: 6px; font-size: 13px; color: #856404;\">\n                <\/div>\n            <\/div>\n            \n            <div class=\"ticket-form-group\">\n                <label>Subject *<\/label>\n                <input type=\"text\" name=\"subject\" required>\n            <\/div>\n\n            <div class=\"ticket-form-group\">\n                <label>Message *<\/label>\n                <textarea name=\"message\" rows=\"6\" required><\/textarea>\n            <\/div>\n\n            <div class=\"ticket-form-group\">\n                <label>Attachment<\/label>\n                <div class=\"file-upload-area\">\n                    <input type=\"file\" name=\"ticket_attachment\" id=\"shortcodeAttachment\" accept=\".pdf,.jpg,.jpeg,.png,.gif,.webp,.mp4\" style=\"display:none;\">\n                    <button type=\"button\" class=\"file-upload-trigger\" onclick=\"document.getElementById('shortcodeAttachment').click();\">\n                        <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\"\/><\/svg>\n                        <span id=\"shortcodeFileLabel\">Choose file (PDF, image or MP4)<\/span>\n                    <\/button>\n                    <div id=\"shortcodeFilePreview\" style=\"display:none; margin-top: 8px; padding: 8px 14px; background: rgba(42,175,211,0.06); border: 1px solid rgba(42,175,211,0.15); border-radius: 8px; display: none; align-items: center; gap: 8px; font-size: 13px; color: #1B2A4A; font-weight: 600;\">\n                        <span id=\"shortcodeFileName\" style=\"flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;\"><\/span>\n                        <button type=\"button\" onclick=\"this.parentElement.style.display='none'; document.getElementById('shortcodeAttachment').value=''; document.querySelector('.file-upload-trigger').style.display='flex';\" style=\"background:none; border:none; color:#dc3545; font-size:18px; cursor:pointer; font-weight:700; padding:0 2px;\">&times;<\/button>\n                    <\/div>\n                    <small style=\"color: #94A3B8; font-size: 12px; display: block; margin-top: 4px;\">JPG, PNG, GIF, WEBP (max 5 MB), PDF (max 15 MB) or MP4 (max 50 MB).<\/small>\n                <\/div>\n            <\/div>\n\n            \n            \n            <button type=\"submit\" name=\"submit_ticket\" class=\"ticket-btn\" id=\"ticket-submit-btn\">\n                Submit Ticket            <\/button>\n        <\/form>\n\n        <!-- Loading & Success Overlay -->\n        <div id=\"ticket-overlay\" style=\"display:none;\">\n            <div class=\"ticket-overlay-content\">\n                <div id=\"ticket-spinner\" class=\"ticket-spinner\">\n                    <svg width=\"50\" height=\"50\" viewBox=\"0 0 50 50\">\n                        <circle cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke=\"#2AAFD3\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-dasharray=\"90 150\" stroke-dashoffset=\"0\">\n                            <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 25 25\" to=\"360 25 25\" dur=\"1s\" repeatCount=\"indefinite\"\/>\n                        <\/circle>\n                    <\/svg>\n                    <p class=\"ticket-overlay-text\">Submitting your ticket...<\/p>\n                <\/div>\n                <div id=\"ticket-success\" style=\"display:none;\">\n                    <div class=\"ticket-success-checkmark\">\n                        <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\">\n                            <circle cx=\"30\" cy=\"30\" r=\"28\" fill=\"none\" stroke=\"#2AAFD3\" stroke-width=\"3\" class=\"checkmark-circle\"\/>\n                            <path d=\"M18 30 L26 38 L42 22\" fill=\"none\" stroke=\"#2AAFD3\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"checkmark-path\"\/>\n                        <\/svg>\n                    <\/div>\n                    <p id=\"ticket-success-msg\" class=\"ticket-overlay-text\" style=\"color: #1B2A4A; font-weight: 700;\"><\/p>\n                    <p id=\"ticket-success-sub\" class=\"ticket-overlay-subtext\"><\/p>\n                <\/div>\n                <div id=\"ticket-error\" style=\"display:none;\">\n                    <div class=\"ticket-error-icon\">\n                        <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\">\n                            <circle cx=\"30\" cy=\"30\" r=\"28\" fill=\"none\" stroke=\"#dc3545\" stroke-width=\"3\"\/>\n                            <path d=\"M22 22 L38 38 M38 22 L22 38\" fill=\"none\" stroke=\"#dc3545\" stroke-width=\"3\" stroke-linecap=\"round\"\/>\n                        <\/svg>\n                    <\/div>\n                    <p id=\"ticket-error-msg\" class=\"ticket-overlay-text\" style=\"color: #dc3545; font-weight: 700;\"><\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <style>\n    \/* iEvolution Brand Ticket Form *\/\n    .grecaptcha-badge { visibility: hidden !important; }\n    .ticket-form-wrap {\n        max-width: 700px;\n        margin: 40px auto;\n        background: #FFFFFF;\n        padding: 40px;\n        border-radius: 16px;\n        border: 1px solid #E8EDF2;\n        box-shadow: 0 4px 24px -8px rgba(27, 42, 74, 0.08);\n        font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;\n    }\n\n    .ticket-form-wrap h2 {\n        margin: 0 0 30px 0;\n        font-size: 28px;\n        font-weight: 800;\n        color: #1B2A4A;\n        text-align: center;\n        letter-spacing: -1px;\n    }\n\n    .ticket-form-group {\n        margin-bottom: 24px;\n    }\n\n    .ticket-form label {\n        display: block;\n        margin-bottom: 8px;\n        font-weight: 600;\n        font-size: 13px;\n        color: #1B2A4A;\n        letter-spacing: 0.2px;\n    }\n\n    .ticket-form input[type=\"text\"],\n    .ticket-form input[type=\"email\"],\n    .ticket-form select,\n    .ticket-form textarea {\n        width: 100%;\n        padding: 12px 16px;\n        border: 1px solid #E8EDF2;\n        border-radius: 12px;\n        font-size: 14px;\n        transition: all 0.3s ease;\n        background: #F8FAFB;\n        color: #1B2A4A;\n        font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;\n    }\n\n    .ticket-form input[type=\"text\"]:focus,\n    .ticket-form input[type=\"email\"]:focus,\n    .ticket-form select:focus,\n    .ticket-form textarea:focus {\n        outline: none;\n        border-color: #2AAFD3;\n        background: #FFFFFF;\n        box-shadow: 0 0 0 3px rgba(42, 175, 211, 0.1);\n    }\n\n    .ticket-form textarea {\n        resize: vertical;\n        min-height: 140px;\n        line-height: 1.6;\n    }\n\n    .ticket-form input[type=\"checkbox\"] {\n        margin-right: 8px;\n        width: 18px;\n        height: 18px;\n        cursor: pointer;\n    }\n\n    .ticket-form select {\n        cursor: pointer;\n        -webkit-appearance: none;\n        -moz-appearance: none;\n        appearance: none;\n        background-image: url(\"data:image\/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%231B2A4A' stroke-width='2' stroke-linecap='round'\/%3E%3C\/svg%3E\");\n        background-repeat: no-repeat;\n        background-position: right 16px center;\n        padding-right: 45px;\n        height: auto;\n        line-height: normal;\n    }\n\n    .ticket-form select option {\n        padding: 10px;\n        background: #FFFFFF;\n        color: #1B2A4A;\n    }\n\n    .file-upload-trigger {\n        display: flex; align-items: center; gap: 10px;\n        width: 100%; padding: 14px 20px; background: #F8FAFB; border: 2px dashed #CBD5E0;\n        border-radius: 12px; cursor: pointer; font-size: 14px; color: #6B7B8D;\n        font-family: 'Plus Jakarta Sans', sans-serif; transition: all 0.2s;\n    }\n    .file-upload-trigger:hover { border-color: #2AAFD3; color: #2AAFD3; background: rgba(42,175,211,0.04); }\n    .file-upload-trigger svg { flex-shrink: 0; }\n\n    .ticket-btn {\n        width: 100%;\n        background: #1B2A4A;\n        color: white;\n        padding: 16px 32px;\n        border: none;\n        border-radius: 100px;\n        cursor: pointer;\n        font-size: 13px;\n        font-weight: 700;\n        font-family: 'Plus Jakarta Sans', sans-serif;\n        transition: all 0.3s ease;\n        margin-top: 10px;\n        letter-spacing: 0.5px;\n    }\n\n    .ticket-btn:hover {\n        background: #2AAFD3;\n        transform: translateY(-2px);\n        box-shadow: 0 10px 28px -6px rgba(42, 175, 211, 0.35);\n    }\n\n    .ticket-btn:active {\n        transform: translateY(-1px);\n    }\n\n    .ticket-btn:disabled {\n        background: #94A3B8;\n        cursor: not-allowed;\n        transform: none;\n        box-shadow: none;\n    }\n\n    .ticket-alert {\n        padding: 16px 20px;\n        margin-bottom: 24px;\n        border-radius: 12px;\n        font-size: 14px;\n        line-height: 1.65;\n        font-family: 'Plus Jakarta Sans', sans-serif;\n    }\n\n    .ticket-alert-success {\n        background: rgba(42, 175, 211, 0.08);\n        color: #1B2A4A;\n        border: 1px solid rgba(42, 175, 211, 0.2);\n    }\n\n    .ticket-alert-error {\n        background: #FFF5F5;\n        color: #dc3545;\n        border: 1px solid #FFEBEE;\n    }\n\n    \/* Disabled input styling *\/\n    .ticket-form input:disabled {\n        background: #F8FAFB;\n        color: #94A3B8;\n        cursor: not-allowed;\n    }\n\n    \/* Loading & Success Overlay *\/\n    #ticket-overlay {\n        position: relative;\n        min-height: 250px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n    }\n\n    .ticket-overlay-content {\n        text-align: center;\n        padding: 40px 20px;\n    }\n\n    .ticket-spinner {\n        animation: fadeIn 0.3s ease;\n    }\n\n    .ticket-overlay-text {\n        font-size: 16px;\n        margin: 16px 0 0 0;\n        color: #1B2A4A;\n        font-weight: 600;\n    }\n\n    .ticket-overlay-subtext {\n        font-size: 14px;\n        margin: 8px 0 0 0;\n        color: #6B7B8D;\n    }\n\n    \/* Success checkmark animation *\/\n    .ticket-success-checkmark {\n        animation: scaleIn 0.4s ease;\n    }\n\n    .checkmark-circle {\n        stroke-dasharray: 176;\n        stroke-dashoffset: 176;\n        animation: drawCircle 0.6s ease forwards;\n    }\n\n    .checkmark-path {\n        stroke-dasharray: 40;\n        stroke-dashoffset: 40;\n        animation: drawCheck 0.4s 0.4s ease forwards;\n    }\n\n    \/* Error icon animation *\/\n    .ticket-error-icon {\n        animation: scaleIn 0.4s ease;\n    }\n\n    @keyframes fadeIn {\n        from { opacity: 0; }\n        to { opacity: 1; }\n    }\n\n    @keyframes scaleIn {\n        from { opacity: 0; transform: scale(0.5); }\n        to { opacity: 1; transform: scale(1); }\n    }\n\n    @keyframes drawCircle {\n        to { stroke-dashoffset: 0; }\n    }\n\n    @keyframes drawCheck {\n        to { stroke-dashoffset: 0; }\n    }\n\n    \/* Responsive *\/\n    @media (max-width: 768px) {\n        .ticket-form-wrap {\n            padding: 24px;\n            margin: 20px;\n        }\n\n        .ticket-form-wrap h2 {\n            font-size: 24px;\n        }\n    }\n    <\/style>\n\n        <script>\n    (function() {\n        var emailField = document.getElementById('guest_email_field');\n        var notice = document.getElementById('guest-email-notice');\n        var submitBtn = document.querySelector('.ticket-form .ticket-btn');\n        var checkTimer = null;\n\n        if (!emailField) return;\n\n        emailField.addEventListener('blur', checkEmail);\n        emailField.addEventListener('input', function() {\n            clearTimeout(checkTimer);\n            checkTimer = setTimeout(checkEmail, 800);\n        });\n\n        function checkEmail() {\n            var email = emailField.value.trim();\n            if (!email || !email.includes('@')) {\n                notice.style.display = 'none';\n                if (submitBtn) submitBtn.disabled = false;\n                return;\n            }\n\n            var formData = new FormData();\n            formData.append('action', 'check_guest_email');\n            formData.append('email', email);\n\n            fetch('https:\/\/ievolutionclub.com\/wp-admin\/admin-ajax.php', {\n                method: 'POST',\n                body: formData\n            })\n            .then(function(response) { return response.json(); })\n            .then(function(data) {\n                if (data.data && data.data.exists) {\n                    notice.innerHTML = '\u26a0\ufe0f <strong>An account with this email already exists.<\/strong> Please log in to submit your ticket. Redirecting...';\n                    notice.style.display = 'block';\n                    if (submitBtn) submitBtn.disabled = true;\n\n                    setTimeout(function() {\n                        window.location.href = 'https:\/\/ievolutionclub.com\/es\/my-account\/?redirect_to=%2Fes%2Fsubmit-ticket%2F';\n                    }, 2500);\n                } else {\n                    notice.style.display = 'none';\n                    if (submitBtn) submitBtn.disabled = false;\n                }\n            })\n            .catch(function() {\n                notice.style.display = 'none';\n                if (submitBtn) submitBtn.disabled = false;\n            });\n        }\n    })();\n    <\/script>\n    \n    <script>\n    (function() {\n        var form = document.querySelector('.ticket-form');\n        if (!form) return;\n\n        \/\/ Shortcode file upload preview\n        var scFile = document.getElementById('shortcodeAttachment');\n        if (scFile) {\n            scFile.addEventListener('change', function() {\n                var f = this.files[0];\n                if (!f) return;\n                var ext = f.name.split('.').pop().toLowerCase();\n                var ok = ['pdf','jpg','jpeg','png','gif','webp','mp4'];\n                if (ok.indexOf(ext) === -1) { alert('Only PDF, image and MP4 files are allowed.'); this.value = ''; return; }\n                var maxMB = (ext === 'mp4') ? 50 : (ext === 'pdf' ? 15 : 5);\n                if (f.size > maxMB*1024*1024) { alert('File is too large. Maximum ' + maxMB + ' MB.'); this.value = ''; return; }\n                var mb = (f.size\/(1024*1024)).toFixed(2);\n                document.getElementById('shortcodeFileName').textContent = f.name + ' (' + mb + ' MB)';\n                document.getElementById('shortcodeFilePreview').style.display = 'flex';\n                document.querySelector('.file-upload-trigger').style.display = 'none';\n            });\n        }\n\n        form.addEventListener('submit', function(e) {\n            e.preventDefault();\n\n            var overlay = document.getElementById('ticket-overlay');\n            var spinner = document.getElementById('ticket-spinner');\n            var success = document.getElementById('ticket-success');\n            var error = document.getElementById('ticket-error');\n            var submitBtn = document.getElementById('ticket-submit-btn');\n\n            \/\/ Hide form, show overlay with spinner\n            form.style.display = 'none';\n            overlay.style.display = 'flex';\n            spinner.style.display = 'block';\n            success.style.display = 'none';\n            error.style.display = 'none';\n            submitBtn.disabled = true;\n\n            function doSubmit() {\n                var formData = new FormData(form);\n                formData.append('action', 'submit_ticket_ajax');\n\n                fetch('https:\/\/ievolutionclub.com\/wp-admin\/admin-ajax.php', {\n                    method: 'POST',\n                    body: formData\n                })\n            .then(function(response) { return response.json(); })\n            .then(function(data) {\n                \/\/ Hide spinner\n                spinner.style.display = 'none';\n\n                if (data.success) {\n                    \/\/ Show success\n                    var ticketNum = data.data.ticket_number;\n                    document.getElementById('ticket-success-msg').textContent = 'Ticket Created Successfully!';\n                    document.getElementById('ticket-success-sub').innerHTML = 'Your ticket number is: <strong>' + ticketNum + '<\/strong>';\n                    success.style.display = 'block';\n\n                                        document.getElementById('ticket-success-sub').innerHTML += '<br>We will contact you via email.';\n                    \n                } else {\n                    \/\/ Show error\n                    var msg = (data.data && data.data.message) ? data.data.message : 'An error occurred. Please try again.';\n                    document.getElementById('ticket-error-msg').textContent = msg;\n                    error.style.display = 'block';\n\n                    \/\/ Show form again after 3 seconds\n                    setTimeout(function() {\n                        overlay.style.display = 'none';\n                        form.style.display = 'block';\n                        submitBtn.disabled = false;\n                    }, 3000);\n                }\n            })\n            .catch(function() {\n                spinner.style.display = 'none';\n                document.getElementById('ticket-error-msg').textContent = 'Connection error. Please try again.';\n                error.style.display = 'block';\n\n                setTimeout(function() {\n                    overlay.style.display = 'none';\n                    form.style.display = 'block';\n                    submitBtn.disabled = false;\n                }, 3000);\n            });\n            } \/\/ end doSubmit\n\n                        doSubmit();\n                    });\n    })();\n    <\/script>\n\n    \n    <\/div>\n\t\t\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":"","protected":false},"author":11,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"wf_page_folders":[],"class_list":["post-4575","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ievolutionclub.com\/es\/wp-json\/wp\/v2\/pages\/4575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ievolutionclub.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ievolutionclub.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ievolutionclub.com\/es\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/ievolutionclub.com\/es\/wp-json\/wp\/v2\/comments?post=4575"}],"version-history":[{"count":7,"href":"https:\/\/ievolutionclub.com\/es\/wp-json\/wp\/v2\/pages\/4575\/revisions"}],"predecessor-version":[{"id":6752,"href":"https:\/\/ievolutionclub.com\/es\/wp-json\/wp\/v2\/pages\/4575\/revisions\/6752"}],"wp:attachment":[{"href":"https:\/\/ievolutionclub.com\/es\/wp-json\/wp\/v2\/media?parent=4575"}],"wp:term":[{"taxonomy":"wf_page_folders","embeddable":true,"href":"https:\/\/ievolutionclub.com\/es\/wp-json\/wp\/v2\/wf_page_folders?post=4575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}