{"id":49307,"date":"2026-04-29T15:51:52","date_gmt":"2026-04-29T19:51:52","guid":{"rendered":"https:\/\/netsurit.com\/en-us\/?page_id=49307"},"modified":"2026-05-11T11:46:07","modified_gmt":"2026-05-11T15:46:07","slug":"open-roles","status":"publish","type":"page","link":"https:\/\/netsurit.com\/en-us\/open-roles\/","title":{"rendered":"Open Roles"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"49307\" class=\"elementor elementor-49307\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d21b327 e-flex e-con-boxed e-con e-parent\" data-id=\"d21b327\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-86de55e e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"86de55e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;,&quot;animation_delay&quot;:200}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7abcea8 elementor-widget__width-initial elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"7abcea8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-54b1b54 elementor-widget__width-inherit elementor-widget-mobile__width-initial elementor-widget elementor-widget-heading\" data-id=\"54b1b54\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">open roles<\/h2>\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-5180a2f e-con-full e-flex e-con e-child\" data-id=\"5180a2f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-544dfe8 elementor-widget__width-initial elementor-widget-tablet__width-inherit elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"544dfe8\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation_delay&quot;:&quot;300&quot;,&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Find your place<br \/><span style=\"color: #ef3b50; font-weight: 600;\">in the team.<br \/><\/span><\/p>\t\t\t\t\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-b6e753c e-con-full e-flex e-con e-child\" data-id=\"b6e753c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2c0b096 elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"2c0b096\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n* { box-sizing: border-box; }\r\n.careers-wrap { font-family: inherit; padding: 1rem 0; }\r\n.search-row { display: flex; gap: 10px; margin-bottom: 1.5rem; flex-wrap: wrap; }\r\n.search-row input, .search-row select { flex: 1; min-width: 160px; padding: 9px 12px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; background: #fff; color: #1a1a1a; }\r\n.job-count { font-size: 13px; color: #888; margin-bottom: 1rem; }\r\n.job-list { display: flex; flex-direction: column; gap: 10px; }\r\n.job-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 10px; padding: 1rem 1.25rem; display: flex; justify-content: space-between; align-items: center; gap: 12px; }\r\n.job-card:hover { border-color: #ccc; }\r\n.job-info h3 { font-size: 15px; font-weight: 600; color: #1a1a1a; margin-bottom: 4px; }\r\n.job-meta { display: flex; gap: 8px; flex-wrap: wrap; font-size: 13px; color: #888; }\r\n.apply-btn { white-space: nowrap; font-size: 13px; padding: 8px 16px; border-radius: 8px; border: 1px solid #333 !important; background: #333 !important; color: #ffffff !important; cursor: pointer; text-decoration: none !important; flex-shrink: 0; }\r\n.apply-btn:hover { background: #000 !important; border-color: #000 !important; color: #fafafa !important; }\r\n.pagination { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 1.5rem; flex-wrap: wrap; }\r\n.page-btn { font-size: 13px; padding: 6px 12px; border-radius: 8px; border: 1px solid #ddd; background: #fff; color: #555; cursor: pointer; }\r\n.page-btn.active { background: #333; color: #fff; border-color: #333; }\r\n.page-btn:disabled { opacity: 0.4; cursor: not-allowed; }\r\n.status-msg { text-align: center; padding: 2rem; font-size: 14px; color: #888; }\r\n<\/style>\r\n\r\n<div class=\"careers-wrap\">\r\n  <div class=\"search-row\">\r\n    <input type=\"text\" id=\"mn-search\" placeholder=\"Search by keyword...\" oninput=\"mnDebounce()\" \/>\r\n    <select id=\"mn-country\" onchange=\"mnFilter()\">\r\n      <option value=\"\">All locations<\/option>\r\n    <\/select>\r\n  <\/div>\r\n  <div class=\"job-count\" id=\"mn-count\"><\/div>\r\n  <div class=\"job-list\" id=\"mn-list\"><div class=\"status-msg\">Loading open positions...<\/div><\/div>\r\n  <div class=\"pagination\" id=\"mn-pagination\"><\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  const AJAX_URL = 'https:\/\/netsurit.com\/en-us\/wp-admin\/admin-ajax.php';\r\n  const PER_PAGE = 10;\r\n  let allJobs = [], filtered = [], page = 1, timer;\r\n\r\n  function getTitle(j) {\r\n    return (j.translations && j.translations[0] && j.translations[0].name)\r\n      || j.position_name || j.name || j.title || 'Untitled';\r\n  }\r\n\r\n  function getLocation(j) {\r\n    const loc = j.location || {};\r\n    const city = loc.city || j.city || '';\r\n    const country = loc.country || j.country || '';\r\n    return [city, country].filter(Boolean).join(', ') || 'Remote';\r\n  }\r\n\r\n  function getCountry(j) {\r\n    return (j.location && j.location.country) || j.country || '';\r\n  }\r\n\r\n  async function loadJobs() {\r\n    try {\r\n      const res = await fetch(AJAX_URL + '?action=manatal_jobs');\r\n      const text = await res.text();\r\n      const data = JSON.parse(text);\r\n\r\n      let jobs = [];\r\n      if (Array.isArray(data)) {\r\n        jobs = data;\r\n      } else {\r\n        for (const key of Object.keys(data)) {\r\n          if (Array.isArray(data[key]) && data[key].length > 0) {\r\n            jobs = data[key];\r\n            break;\r\n          }\r\n        }\r\n      }\r\n\r\n      allJobs = jobs;\r\n      filtered = jobs;\r\n\r\n      const sel = document.getElementById('mn-country');\r\n      [...new Set(jobs.map(j => getCountry(j)).filter(Boolean))].sort()\r\n        .forEach(c => {\r\n          const o = document.createElement('option');\r\n          o.value = c; o.textContent = c;\r\n          sel.appendChild(o);\r\n        });\r\n\r\n      render();\r\n    } catch(e) {\r\n      document.getElementById('mn-list').innerHTML = '<div class=\"status-msg\">Unable to load positions. Please try again later.<\/div>';\r\n    }\r\n  }\r\n\r\n  function mnFilter() {\r\n    const kw = document.getElementById('mn-search').value.toLowerCase();\r\n    const country = document.getElementById('mn-country').value;\r\n    filtered = allJobs.filter(j => {\r\n      const t = getTitle(j).toLowerCase();\r\n      const desc = (j.translations && j.translations[0] && j.translations[0].description || '').toLowerCase();\r\n      return (!kw || t.includes(kw) || desc.includes(kw))\r\n          && (!country || getCountry(j) === country);\r\n    });\r\n    page = 1;\r\n    render();\r\n  }\r\n  window.mnFilter = mnFilter;\r\n\r\n  function mnDebounce() { clearTimeout(timer); timer = setTimeout(mnFilter, 300); }\r\n  window.mnDebounce = mnDebounce;\r\n\r\n  function render() {\r\n    const countEl = document.getElementById('mn-count');\r\n    const listEl = document.getElementById('mn-list');\r\n    countEl.textContent = filtered.length + ' open position' + (filtered.length !== 1 ? 's' : '');\r\n\r\n    if (!filtered.length) {\r\n      listEl.innerHTML = '<div class=\"status-msg\">No positions found.<\/div>';\r\n      document.getElementById('mn-pagination').innerHTML = '';\r\n      return;\r\n    }\r\n\r\n    const slice = filtered.slice((page - 1) * PER_PAGE, page * PER_PAGE);\r\n    listEl.innerHTML = slice.map(j => {\r\n      const title = getTitle(j);\r\n      const loc = getLocation(j);\r\n      const dept = j.department || j.department_name || '';\r\n      const id = j.id || j.job_post_id;\r\n      return `<div class=\"job-card\">\r\n        <div class=\"job-info\">\r\n          <h3>${title}<\/h3>\r\n          <div class=\"job-meta\">\r\n            <span>${loc}<\/span>\r\n            ${dept ? `<span>\u00b7<\/span><span>${dept}<\/span>` : ''}\r\n          <\/div>\r\n        <\/div>\r\n        <a class=\"apply-btn\" href=\"https:\/\/netsurit.careers-page.com\/jobs\/${id}\" target=\"_blank\">View Job<\/a>\r\n      <\/div>`;\r\n    }).join('');\r\n\r\n    renderPagination();\r\n  }\r\n\r\n  function renderPagination() {\r\n    const pages = Math.ceil(filtered.length \/ PER_PAGE);\r\n    const el = document.getElementById('mn-pagination');\r\n    if (pages <= 1) { el.innerHTML = ''; return; }\r\n    let h = `<button class=\"page-btn\" onclick=\"mnPage(${page - 1})\" ${page === 1 ? 'disabled' : ''}>Previous<\/button>`;\r\n    for (let i = 1; i <= pages; i++) {\r\n      h += `<button class=\"page-btn ${i === page ? 'active' : ''}\" onclick=\"mnPage(${i})\">${i}<\/button>`;\r\n    }\r\n    h += `<button class=\"page-btn\" onclick=\"mnPage(${page + 1})\" ${page === pages ? 'disabled' : ''}>Next<\/button>`;\r\n    el.innerHTML = h;\r\n  }\r\n\r\n  window.mnPage = function(p) {\r\n    const pages = Math.ceil(filtered.length \/ PER_PAGE);\r\n    if (p < 1 || p > pages) return;\r\n    page = p;\r\n    render();\r\n  };\r\n\r\n  loadJobs();\r\n})();\r\n<\/script>\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>open roles Find your placein the team. All locations Loading open positions&#8230;<\/p>\n","protected":false},"author":18,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_theme","meta":{"_acf_changed":false,"nf_dc_page":"","content-type":"","footnotes":""},"page-category":[],"city":[],"service":[],"class_list":["post-49307","page","type-page","status-publish","hentry"],"acf":[],"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","yoast_noindex":false,"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Open Roles - Netsurit US<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/netsurit.com\/en-us\/open-roles\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Open Roles - Netsurit US\" \/>\n<meta property=\"og:description\" content=\"open roles Find your placein the team. All locations Loading open positions&#8230;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/netsurit.com\/en-us\/open-roles\/\" \/>\n<meta property=\"og:site_name\" content=\"Netsurit US\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-11T15:46:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/netsurit.com\/en-us\/wp-content\/uploads\/sites\/5\/2025\/04\/Netsurit-OG-Image-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Open Roles - Netsurit US","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/netsurit.com\/en-us\/open-roles\/","og_locale":"en_US","og_type":"article","og_title":"Open Roles - Netsurit US","og_description":"open roles Find your placein the team. All locations Loading open positions&#8230;","og_url":"https:\/\/netsurit.com\/en-us\/open-roles\/","og_site_name":"Netsurit US","article_modified_time":"2026-05-11T15:46:07+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/netsurit.com\/en-us\/wp-content\/uploads\/sites\/5\/2025\/04\/Netsurit-OG-Image-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/netsurit.com\/en-us\/open-roles\/","url":"https:\/\/netsurit.com\/en-us\/open-roles\/","name":"Open Roles - Netsurit US","isPartOf":{"@id":"https:\/\/netsurit.com\/en-us\/#website"},"datePublished":"2026-04-29T19:51:52+00:00","dateModified":"2026-05-11T15:46:07+00:00","breadcrumb":{"@id":"https:\/\/netsurit.com\/en-us\/open-roles\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/netsurit.com\/en-us\/open-roles\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/netsurit.com\/en-us\/open-roles\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/netsurit.com\/en-us\/"},{"@type":"ListItem","position":2,"name":"Open Roles"}]},{"@type":"WebSite","@id":"https:\/\/netsurit.com\/en-us\/#website","url":"https:\/\/netsurit.com\/en-us\/","name":"Netsurit US","description":"IT Support and Consulting","publisher":{"@id":"https:\/\/netsurit.com\/en-us\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/netsurit.com\/en-us\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/netsurit.com\/en-us\/#organization","name":"Netsurit US","url":"https:\/\/netsurit.com\/en-us\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/netsurit.com\/en-us\/#\/schema\/logo\/image\/","url":"https:\/\/netsurit.com\/en-us\/wp-content\/uploads\/sites\/5\/2025\/04\/Netsurit-OG-Image-1.png","contentUrl":"https:\/\/netsurit.com\/en-us\/wp-content\/uploads\/sites\/5\/2025\/04\/Netsurit-OG-Image-1.png","width":2400,"height":1256,"caption":"Netsurit US"},"image":{"@id":"https:\/\/netsurit.com\/en-us\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/netsurit.com\/en-us\/wp-json\/wp\/v2\/pages\/49307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netsurit.com\/en-us\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/netsurit.com\/en-us\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/netsurit.com\/en-us\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/netsurit.com\/en-us\/wp-json\/wp\/v2\/comments?post=49307"}],"version-history":[{"count":20,"href":"https:\/\/netsurit.com\/en-us\/wp-json\/wp\/v2\/pages\/49307\/revisions"}],"predecessor-version":[{"id":50199,"href":"https:\/\/netsurit.com\/en-us\/wp-json\/wp\/v2\/pages\/49307\/revisions\/50199"}],"wp:attachment":[{"href":"https:\/\/netsurit.com\/en-us\/wp-json\/wp\/v2\/media?parent=49307"}],"wp:term":[{"taxonomy":"page-category","embeddable":true,"href":"https:\/\/netsurit.com\/en-us\/wp-json\/wp\/v2\/page-category?post=49307"},{"taxonomy":"city","embeddable":true,"href":"https:\/\/netsurit.com\/en-us\/wp-json\/wp\/v2\/city?post=49307"},{"taxonomy":"service","embeddable":true,"href":"https:\/\/netsurit.com\/en-us\/wp-json\/wp\/v2\/service?post=49307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}