CINXE.COM

Interim Management | Robert Half

<!DOCTYPE HTML> <html lang="de-CH"> <head> <meta charset="UTF-8"/> <script defer="defer" type="text/javascript" src="/.rum/@adobe/helix-rum-js@%5E2/dist/rum-standalone.js"></script> <link rel="icon" type="image/x-icon" href="/content/dam/roberthalf/favicon.png"/> <meta name="template" content="full-width-page-content"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="robots" content="index, follow"/> <link rel="canonical" href="https://www.roberthalf.com/ch/de/talente-finden/interim-management"/> <script> var salaryGuideGatingProperties = '{ enabled: false, redirectLocation: "null", key: "null" }'; if (salaryGuideGatingProperties.redirectLocation && !salaryGuideGatingProperties.redirectLocation.endsWith(".html")) { salaryGuideGatingProperties.redirectLocation += ".html"; } window.salaryGuideGatingProperties = salaryGuideGatingProperties; window.passesSalaryGuideGating = function() { if ( salaryGuideGatingProperties.enabled != undefined && salaryGuideGatingProperties.enabled.toString().toLowerCase() === "true" && window.localStorage.getItem("salaryGuideGatingKey") != salaryGuideGatingProperties.key && window.location.pathname != salaryGuideGatingProperties.redirectLocation ) { return false; } return true; } </script> <link media="print" rel="stylesheet" href="/etc.clientlibs/roberthalf/clientlibs/clientlib-base.lc-aadab028fda76fa101c57a36121a8a16-lc.min.css" type="text/css"> <script> let css = document.querySelector('link[media="print"]'); if(css) { css.media = "all"; } </script> <script> // window function to fetch UPO function getUPO() { let upoString = localStorage.getItem("unifiedProfileObject"); if (upoString === null || upoString === undefined) { return {}; } let parsedObject = decodeURIComponent(atob(upoString)); return JSON.parse(parsedObject); } // window function to update UPO async function setUPO(unifiedProfileObject) { const encodedString = btoa(encodeURIComponent(JSON.stringify(unifiedProfileObject))); localStorage.setItem("unifiedProfileObject", encodedString); await window.yieldToMain?.(); } </script> <script> window.addEventListener("rhcl-initialized", () => { window.setTimeout(handleClLoaded, 250); }); // Backup in case events do not sync up window.setTimeout(handleClLoaded, 5000); function handleClLoaded() { document.querySelector('style[data-source="rh-slot-style"]')?.remove(); } </script> <link rel="preload stylesheet" as="style" href="https://resources.roberthalfonline.com/rhcl/v25.3.0/assets/libraries/fontawesome6/css/all.css"/> <link rel="preload stylesheet" as="style" href="https://resources.roberthalfonline.com/rhcl/v25.3.0/css/rhcl.css"/> <link rel="preload" href="https://resources.roberthalfonline.com/rhcl/v25.3.0/assets/Fonts/NotoSans/notosans-display-light-webfont.woff2" as="font" crossorigin/> <link rel="preload" href="https://resources.roberthalfonline.com/rhcl/v25.3.0/assets/Fonts/NotoSans/notosans-display-webfont.woff2" as="font" crossorigin/> <link rel="preload" href="https://resources.roberthalfonline.com/rhcl/v25.3.0/assets/Fonts/NotoSans/notosans-italic-webfont.woff2" as="font" crossorigin/> <link rel="preload" href="https://resources.roberthalfonline.com/rhcl/v25.3.0/assets/Fonts/NotoSans/notosans-light-webfont.woff2" as="font" crossorigin/> <link rel="preload" href="https://resources.roberthalfonline.com/rhcl/v25.3.0/assets/Fonts/NotoSans/notosans-lightitalic-webfont.woff2" as="font" crossorigin/> <link rel="preload" href="https://resources.roberthalfonline.com/rhcl/v25.3.0/assets/Fonts/NotoSans/notosans-medium-webfont.woff2" as="font" crossorigin/> <link rel="preload" href="https://resources.roberthalfonline.com/rhcl/v25.3.0/assets/Fonts/NotoSans/notosans-regular-webfont.woff2" as="font" crossorigin/> <link rel="preload" href="https://resources.roberthalfonline.com/rhcl/v25.3.0/assets/Fonts/NotoSans/notosans-semibold-webfont.woff2" as="font" crossorigin/> <link rel="preload" href="https://resources.roberthalfonline.com/rhcl/v25.3.0/assets/Fonts/fontawesome6/fa-regular-400.woff2" as="font" crossorigin/> <link rel="preload" href="https://resources.roberthalfonline.com/rhcl/v25.3.0/assets/Fonts/fontawesome6/fa-solid-900.woff2" as="font" crossorigin/> <link rel="preload" href="https://resources.roberthalfonline.com/rhcl/v25.3.0/assets/Fonts/fontawesome6/fa-light-300.woff2" as="font" crossorigin/> <link rel="preload" href="https://resources.roberthalfonline.com/rhcl/v25.3.0/assets/Fonts/fontawesome6/fa-brands-400.woff2" as="font" crossorigin/> <script type="module" src="https://resources.roberthalfonline.com/rhcl/v25.3.0/lib/rhcl.esm.js" async></script> <style data-source="rh-slot-style"> [slot], rhcl-typography, rhcl-heading, rhcl-typeahead, .rhcl-typography, .rhcl-focused-search-block, .rhcl-block-paginated-feature, rhcl-modal, rhcl-block-stacking-cards, rhcl-block-focused-search, rhcl-search-bar, rhcl-button-group, rhcl-block-paired-content, .cmp-rhcl-focused-block-wrapper .cmp-rhcl-stacking-cards-block-wrapper, .cmp-container { visibility: hidden; } [slot]{font-family: "Noto Sans Regular";} h1[slot],h2[slot],h3[slot],h4[slot],h5[slot],h6[slot],p[slot]{ font-family: "Noto Sans Display";} </style> <script type="text/javascript"> window.pageObj = {}; izCountries = 'gb,de,fr,ch,cn,jp,cl,at,ae,be,nl,nz,hk,br,sg,au,lu'.split(","); naCountries = 'us,ca'.split(","); luxCountries = 'us,ca,de,be,gb'.split(","); euCountries = 'gb,de,fr,ch,at,ae,be,nl'.split(","); aemSettings ={ "rh_account_creation": { accountCheckEndpoint: 'https:\/\/prd\u002Ddr.gen.api.roberthalfonline.com\/sf\u002Daccount\/search?candidate_email=', accountCreateResendEmailEndpoint: 'https:\/\/prd\u002Ddr.gen.api.roberthalfonline.com\/salesforce\u002Dapi\/resend\u002Demail', accountRoutingMap: { "email": '', "resume": '', "candidate-email": '', "msjo": '', "login": '', "pendingAccount": '', "expiredVerification": '', "hasWebAccountClientOnly": '', "hasWebAccount": '', } }, "rh_candidate_apply": { aiConsentEndpoint: 'https:\/\/prd\u002Ddr.rf.api.roberthalfonline.com\/candidate\u002Dapply\/update\u002Dai\u002Dconsent', accountCheckEndpoint:'https:\/\/prd\u002Ddr.gen.api.roberthalfonline.com\/sf\u002Daccount\/search?candidate_email=', accountCreateEndpoint:'https:\/\/prd\u002Ddr.rf.api.roberthalfonline.com\/candidate\u002Dapply\/create\u002Daccount', directAccountCreateEndpoint: '', applyEndpoint:'https:\/\/prd\u002Ddr.rf.api.roberthalfonline.com\/candidate\u002Dapply\/job\u002Dapply', resendEmailEndpoint: '', submitResumeEndpoint:'https:\/\/prd\u002Ddr.rf.api.roberthalfonline.com\/candidate\u002Dapply\/submit\u002Dresume', resumeParseEndpoint:'https:\/\/prd\u002Ddr.rf.api.roberthalfonline.com\/parse\u002Dresume\/parse', xingUploadResumeEndpoint:'https:\/\/prd\u002Ddr.rf.api.roberthalfonline.com\/candidate\u002Dapply\/xing\u002Dresume', linkedInUploadResumeEndpoint:'https:\/\/prd\u002Ddr.rf.api.roberthalfonline.com\/candidate\u002Dapply\/job\u002Dapply\/linkedin\u002Dresume', geolocationEndpoint:'https:\/\/gen.api.roberthalfonline.com\/geocode\/getGeoByRegion?country_code=', googleGeoCodeEndpoint:'https:\/\/gen.api.roberthalfonline.com\/googlegeo\/getGeocode?address=', timezoneEndpoint:'https:\/\/prd\u002Ddr.gen.api.roberthalfonline.com\/timezone\/getTimezone', fetchSkills:'https:\/\/prd\u002Ddr.rf.api.roberthalfonline.com\/candidate\u002Dapply\/fetch\u002Dskills', patchSkills:'https:\/\/prd\u002Ddr.rf.api.roberthalfonline.com\/candidate\u002Dapply\/patch\u002Dskills', fetchResume:'https:\/\/prd\u002Ddr.rf.api.roberthalfonline.com\/candidate\u002Dapply\/job\u002Dapply\/fetch\u002Dresume', jobTypeValuesEndpoint:'https:\/\/gen.api.roberthalfonline.com\/iz\u002Dbranch\u002Dservice\/findJobTypeList', specializationValuesEndpoint:'https:\/\/gen.api.roberthalfonline.com\/iz\u002Dbranch\u002Dservice\/findSpecializationList', nearestOfficeValuesEndpoint:'https:\/\/gen.api.roberthalfonline.com\/iz\u002Dbranch\u002Dservice\/findOfficeList', xingPluginScript:'https:\/\/www.xing\u002Dshare.com\/plugins\/login_plugin.js', xingId:'82ac2657946cd0af3fa4' }, "rh_client_payment" :{ profileId:'EB9BBCE6\u002D70F7\u002D41BB\u002DB03B\u002DA8C27BB01D8E', accessKey: '5a4ab6d640e03d4dba86c1f9da33cf0b', maintenanceMode: 'false', cybersourceEndpoint:'https:\/\/secureacceptance.cybersource.com\/embedded\/pay', invoiceEndpoint:'https:\/\/prd\u002Ddr.gen.api.roberthalfonline.com\/cpp', }, "rh_job_search": { getAndSetSavedJobsEndpoint:'https:\/\/prd\u002Ddr.gen.api.roberthalfonline.com\/get\u002Dand\u002Dset\u002Djob\/query', jobAlertsEndpoint:'https:\/\/prd\u002Ddr.ma.api.roberthalfonline.com\/job\u002Dalerts\/subscribe', jobInterestEndpoint:'https:\/\/prd\u002Ddr.jps.api.roberthalfonline.com\/presented\u002Djob\/jobinterest', jobSearchEndpoint:'https:\/\/prd\u002Ddr.jps.api.roberthalfonline.com\/search', quickApplyEndpoint:'https:\/\/prd\u002Ddr.rf.api.roberthalfonline.com\/candidate\u002Dapply\/quick\u002Dapply', signInLink:'https:\/\/www.roberthalf.com\/login.rhlogin', jobSearchLocationTypeaheadEndpoint:'https:\/\/gen.api.roberthalfonline.com\/auto\u002Dcomplete\u002Daem\/search', feedbackDestinationEditAvailability:'avail', feedbackDestinationEditLocation:'loc', feedbackDestinationEditPayPreference:'pref', feedbackDestinationEditSkills:'skills', jobInterestFeedback:'https:\/\/prd\u002Ddr.rf.api.roberthalfonline.com\/candidate\u002Dapply\/feedback' }, "rh_multistep_job_order" :{ leadsProcessingEndpoint:'https:\/\/prd\u002Ddr.lp.api.roberthalfonline.com\/proxy\u002Dlead\u002Dprocessing\/send', jobFunctionTypeahead:'https:\/\/gen.api.roberthalfonline.com\/auto\u002Dcomplete\u002Daem\/job\u002Dfunction', skillSearch: 'https:\/\/prd\u002Ddr.gen.api.roberthalfonline.com\/sf\u002Dskills\/skillSearch', skillsRecommendation: 'https:\/\/prd\u002Ddr.gen.api.roberthalfonline.com\/sf\u002Dskills\/skillRecommendation', sfccRedirectUrl: 'https:\/\/online.roberthalf.com', accountCheckEndpoint: 'https:\/\/prd\u002Ddr.gen.api.roberthalfonline.com\/sf\u002Daccount\/search?candidate_email=', }, "rh_candidate_discovery": { accountCheckEndpoint:'https:\/\/prd\u002Ddr.gen.api.roberthalfonline.com\/sf\u002Daccount\/search?candidate_email=', candidateJobTitleTypeaheadEndpoint: 'https:\/\/gen.api.roberthalfonline.com\/auto\u002Dcomplete\u002Daem\/job\u002Dfunction', candidateLocationTypeaheadEndpoint: 'https:\/\/gen.api.roberthalfonline.com\/auto\u002Dcomplete\u002Daem\/search' }, "rh_common": { geolocationEndpoint: 'https:\/\/qs01.int\u002Dqs\u002Dgen.api.roberthalfonline.com\/googlegeo\/getReverseGeocode', personDetailsEndpoint: '\/bin\/personDetails', recaptchaEndpoint: 'https:\/\/prd\u002Ddr.gen.api.roberthalfonline.com\/recaptcha\/verify\u002Dtoken', page_section: 'Client', page_user_type: 'Client', page_type: '', isLuxCountry: 'false' } }; var articleDataLayer = { blog_type:'', industry_name :'', country_code :'', language :'', entityid :'', author_name :'', thumbnail_url :'', title :'', description :'', employment_type :'', published_date :'', page_url :'', categories :'', Article_tag :'' }; pageObj.__extrasettings__ = { language: 'de', country: 'ch' }; </script> <script type="text/javascript"> aemSettings.rh_common.recaptchaEndpoint = 'https:\/\/prd\u002Ddr.gen.api.roberthalfonline.com\/recaptcha\/verify\u002Dtoken'; </script> <title>Interim Management | Robert Half</title> <meta property="page-type" content="Other"/> <meta property="global-content-type" content="Client"/> <meta property="global-content-user-focus" content="Client"/> <meta property="og:locale" content="de_CH"/> <meta property="og:updated_time" content="2024-11-13T00:36:28+0000"/> <meta property="og:type" content="website"/> <meta property="og:site_name" content="Robert Half Switzerland"/> <meta property="og:image" content="https://www.roberthalf.com/content/dam/roberthalf/rh.png"/> <meta property="og:image:type" content="image/png"/> <meta property="og:image:width" content="500"/> <meta property="og:image:height" content="500"/> <meta property="og:image:alt" content="rh-logo"/> <meta property="og:url" content="https://www.roberthalf.com/ch/de/talente-finden/interim-management"/> <meta property="og:title" content="Interim Management"/> <meta property="og:description" content="Sie haben eine vakante Stelle im Interim Management oder suchen als Interim Manager einen Job als selbstständiger Berater? Robert Half unterstützt Sie! Kontaktieren Sie uns. "/> <meta name="title" content="Interim Management"/> <meta name="description" content="Sie haben eine vakante Stelle im Interim Management oder suchen als Interim Manager einen Job als selbstständiger Berater? Robert Half unterstützt Sie! Kontaktieren Sie uns. "/> <meta property="og:publication_time" content="2024-07-03T01:33:25+0000"/> <script> (function() { window.SM_SPLITSIGNAL = window.SM_SPLITSIGNAL || {ready: false} window.addEventListener( 'splitsignal.initialized', function() { if (!aemSettings.isReactApp) { window.SM_SPLITSIGNAL.ready = true } } ) var script = document.createElement('script') script.id = 'a4a03573-e3f5-4f01-8963-395af304b0b2' script.src = 'https://seoab.io/react/' script.type = 'module' script.defer = true document.head.appendChild(script) })() </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "name" : "Interim Management", "url": "https://www.roberthalf.com/ch/de/talente-finden/interim-management", "isPartOf": { "@type": "WebSite", "name": "Robert Half", "url": "https://www.roberthalf.com/ch/de", "publisher": { "type": "Organization", "name": "Robert Half", "legalName": "Robert Half Inc.", "url": "https://www.roberthalf.com/ch/de", "@id": "https://www.roberthalf.com/ch/de" } }, "mainEntity": [{"@context":"http://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Was genau ist Interim Management?","acceptedAnswer":{"@type":"Answer","text":"<p>Es handelt sich hierbei um einen zeitlich befristeten Einsatz im Unternehmen, wie z.B. ein Projekt, f&uuml;r welches spezielles Know-How ben&ouml;tigt wird. Interim Manager kommen auch &uuml;berbr&uuml;ckend zum Einsatz, bis eine neue feste Unternehmensf&uuml;hrung oder Bereichsleitung gefunden wurde. F&uuml;r den Status als <b>Interim Manager</b> ist es aus rechtlichen Gr&uuml;nden sehr wichtig, dass der Interims Manager zum einen ganz eindeutig eine T&auml;tigkeit als<b> selbstst&auml;ndiger Berater</b> aus&uuml;bt. Das bedeutet, er ist freiberuflich t&auml;tig und arbeitet selbstst&auml;ndig f&uuml;r das Unternehmen. Zum anderen muss die T&auml;tigkeit vor&uuml;bergehender Natur sein. Hierbei kann es sich sowohl um die kurzzeitige &Uuml;bernahme bestimmter Aufgaben als auch um einen l&auml;ngerfristigen Einsatz im Unternehmen handeln. Dies sind zwei von zahlreichen Kriterien, die f&uuml;r eine klare Abgrenzung der Berater gegen&uuml;ber der Scheinselbstst&auml;ndigkeit entscheidend sind.</p><p>Sollte es beispielsweise zu einer Pr&uuml;fung durch die Rentenversicherung kommen, muss zur Vermeidung einer Scheinselbstst&auml;ndigkeit bestm&ouml;gliche Rechtssicherheit herrschen. Im Rahmen der <a href=''/ch/de.html''>Personalberatung</a> im Bereich <b>Interim Management</b> unterst&uuml;tzt Sie Robert Half gerne kompetent und zuverl&auml;ssig, auch bei der Evaluierung etwaiger Risiken zur Vermeidung der Scheinselbstst&auml;ndigkeit anhand eines speziellen Checklisten-Prozesses.</p>"}},{"@type":"Question","name":"Wann sollten Unternehmen auf selbstständige Berater setzen?","acceptedAnswer":{"@type":"Answer","text":"<p>Der Einsatz von umsetzungsstarken Interim Managern kann f&uuml;r ein Unternehmen aus unterschiedlichen Gr&uuml;nden lohnenswert sein.</p><p>F&uuml;r eine dauerhaft zu besetzende Stelle ist angesichts des zunehmenden Fachkr&auml;ftemangels &ndash; auch im Top-Management &ndash; nicht immer sofort das geeignete Personal gefunden. F&uuml;r eine Position, in der Spezialwissen gefordert ist, l&auml;sst sich mit einem Manager auf Zeit die Findungsphase f&uuml;r eine geeignete Fachkraft &uuml;berbr&uuml;cken. Voraussetzung hierf&uuml;r ist allerdings, dass der Berater selbstst&auml;ndig und im Rahmen eines konkreten Projekt-Einsatzes f&uuml;r das Unternehmen t&auml;tig wird. Auch im Rahmen der Neuausrichtung eines Unternehmens k&ouml;nnen <b>selbstst&auml;ndige Berater</b> die Gesch&auml;ftsf&uuml;hrung oder die jeweilige Bereichsleitung (HR, Supply Chain etc.) unterst&uuml;tzen. Bis die finale strukturelle Ausrichtung und die neue Unternehmensstrategie im Detail entschieden sind, kann ein Interim Manager diese Zwischensequenz &uuml;berbr&uuml;cken und f&uuml;r Klarheit bez&uuml;glich der Ausrichtung sorgen.</p><p>Auch f&uuml;r Gr&uuml;nder kann ein Interim Manager eine gewinnbringende L&ouml;sung sein. Nicht alle Existenzgr&uuml;nder haben bei der Gr&uuml;ndung Ihres Unternehmens bereits umfangreiche Kenntnisse in der F&uuml;hrung von Mitarbeitern oder in allen Besonderheiten Ihrer Branche. Im Rahmen von<b> Interim Management</b> k&ouml;nnen die Gr&uuml;nder dann selbstst&auml;ndige Berater einsetzen. Die Experten unterst&uuml;tzen die Unternehmer f&uuml;r einen bestimmten Zeitraum, k&ouml;nnen die Aufgabe der Mitarbeiterf&uuml;hrung &uuml;bernehmen oder ihr Know-How im Rahmen einer Beratung an die Existenzgr&uuml;nder weitergeben. Da die Berater nach wie vor selbstst&auml;ndig sind, sind ihre Eins&auml;tze nach Bedarf planbar. Mithilfe der fachlich hochqualifizierten Freiberufler k&ouml;nnen Knowledge Gaps in der Existenzgr&uuml;ndung einfach und flexibel &uuml;berbr&uuml;ckt werden.</p><p><b>Interim Manager</b> bzw. selbstst&auml;ndige Berater k&ouml;nnen im Zuge von Projektarbeit eingesetzt werden, sofern beim jeweiligen Unternehmen die eigenen Kapazit&auml;ten oder das spezifische Know-How nicht gen&uuml;gt. Dies gilt ebenso bei Spezialthemen, f&uuml;r die ein Unternehmen keine dauerhaften Kapazit&auml;ten in Form von Expertenwissen vorhalten braucht.</p><p>Als Ihr Interim Management Partner unterst&uuml;tzt Robert Half Sie bei jedem einzelnen Schritt der <a href=''/ch/de/talente-finden.html''>Personalsuche</a> nach geeigneten hochqualifizierten selbstst&auml;ndigen Beratern.</p><p>Sollten Sie hingegen selbst auf der Suche nach einer Interim-Position sein, finden Sie aktuell zu besetzende Projekte in unserer Jobsuche.</p>"}},{"@type":"Question","name":"Wie profitieren Unternehmen vom Interim Management?","acceptedAnswer":{"@type":"Answer","text":"<p>Der Einsatz von<b> Interim-Managern</b> sorgt in Ihrem Unternehmen f&uuml;r eine Reihe positiver Effekte:</p><ul><li>Bei Engp&auml;ssen, Leistungsspitzen und in noch unklaren Situationen, in denen fehlendes Know-How ben&ouml;tigt wird, k&ouml;nnen Sie schnell und flexibel reagieren. Auch wenn von vornherein klar ist, dass die T&auml;tigkeit nur auf eine bestimmte Dauer angelegt ist, k&ouml;nnen die engagierten Interims Manager direkt zum Einsatz kommen. Dabei hilft Ihnen &uuml;brigens auch unsere Arbeitnehmer&uuml;berlassung, mithilfe derer Sie unkompliziert erfahrene Mitarbeiter auf Zeit finden.</li><li>Durch die kurzfristigen Verf&uuml;gbarkeits- und Vertragsbeendigungsfristen von Interim Managern entstehen einfache und flexibel gestaltbare Vertragsbeziehungen und kalkulierbare Kosten.</li><li>Ihre Firma profitiert von Personalentwicklungseffekten, Know-How-Transfer und unabh&auml;ngiger Expertise.</li><li><b>Hochqualifizierte selbstst&auml;ndige Berater</b> sind besonders umsetzungsstark und ben&ouml;tigen nur eine kurze Einarbeitungszeit.</li><li>Durch diese hochqualifizierte &Uuml;berbr&uuml;ckung schaffen Sie in Ihrem Team Kapazit&auml;ten.</li><li>Sie haben eine verl&auml;ssliche Unterst&uuml;tzung bei wiederkehrenden Projekten.</li></ul>"}}]}], "mainEntityOfPage": "https://www.roberthalf.com/ch/de/talente-finden/interim-management" } </script> <script type="text/javascript"> window.addEventListener("load", () => { try { var articleSchema = document.querySelector("#articleSchema"); var jobpostingSchema = document.querySelector("#jobpostingSchema");//buildoccupationschema? var occupationSchema = document.querySelector("#occupationSchema");// buildOccupationSchema? if (articleSchema) { updateArticleSchema(articleSchema); } if (jobpostingSchema) { updateJobpostingSchema(jobpostingSchema); } if (occupationSchema) { updateOccupationSchema(occupationSchema); } } catch (error) { console.log(error); } }); const updateArticleSchema = (articleSchema) => { const articleSchemaText = articleSchema.text; const articlePlainText = removeTags(articleSchemaText); const articleJsonScript = JSON.parse(articlePlainText); if ( articleJsonScript.articleBody == null || articleJsonScript.articleBody === "" ) { replaceNullAndEmptyAttribute(articleJsonScript, "articleBody"); } if (articleJsonScript.headline == null || articleJsonScript.headline === "") { replaceNullAndEmptyAttribute(articleJsonScript, "headline"); } articleSchema.html(JSON.stringify(articleJsonScript)); }; const updateJobpostingSchema = (jobpostingSchema) => { const jobpostingSchemaText = jobpostingSchema.text; const jobpostingPlainText = removeTags(jobpostingSchemaText); const jobpostingJsonScript = JSON.parse(jobpostingPlainText); if ( jobpostingJsonScript.description == null || jobpostingJsonScript.description == "" ) { replaceNullAndEmptyAttribute(jobpostingJsonScript, "description"); } if (jobpostingJsonScript.title == null || jobpostingJsonScript.title == "") { replaceNullAndEmptyAttribute(jobpostingJsonScript, "title"); } jobpostingSchema.html(JSON.stringify(jobpostingJsonScript)); }; const updateOccupationSchema = (occupationSchema) => { const occupationSchemaText = occupationSchema.text; const occupationPlainText = removeTags(occupationSchemaText); const occupationJsonScript = JSON.parse(occupationPlainText); if ( occupationJsonScript.description == null || occupationJsonScript.description == "" ) { replaceNullAndEmptyAttribute(occupationJsonScript, "description"); } if (occupationJsonScript.name == null || occupationJsonScript.name == "") { replaceNullAndEmptyAttribute(occupationJsonScript, "name"); } occupationSchema.html(JSON.stringify(occupationJsonScript)); }; const removeTags = (str) => { if (str === null || str === "") { return false; } else { str = str.toString(); } // Regular expression to identify HTML tags in the input string. Replacing the identified HTML tag with a null string. str = str.replace(/(<([^>]+)>)/gi, ""); // Regular expression to identify enter in the input string. Replacing the identified enter with a null string. return (str = str.replace(/\r?\n|\r/g, "")); }; const replaceNullAndEmptyAttribute = (jsonEl, attr) => { let h1 = document.querySelector("[heading-tag='h1']"); if (h1) { const headline = jsonEl.attr("headline"); jsonEl[attr] = headline && headline.text ? headline.text : ""; } else { h1 = document.querySelector("h1"); jsonEl[attr] = h1 && h1.text ? h1.text : ""; } }; </script> <script async defer src="/etc.clientlibs/roberthalf/clientlibs/clientlib-clientId.lc-816e4fe05c72b7567d3214430c031c84-lc.min.js"></script> <script type="text/javascript"> function ready(a){if("function"!==typeof a)throw Error("Argument passed to ready should be a function");"loading"!=document.readyState?a():document.addEventListener?document.addEventListener("DOMContentLoaded",a,{once:!0}):document.attachEvent("onreadystatechange",function(){"loading"!=document.readyState&&a()})}; </script> <script async defer src="/etc.clientlibs/roberthalf/clientlibs/clientlib-base.lc-cd1db14a92651d76445b7ea2ff43a080-lc.min.js"></script> <!-- Language And Country de-ch Country ch--> <!-- OptanonConsentNoticeStart --> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-language="de-ch" type="text/javascript" charset="UTF-8" data-domain-script="01903abb-caaa-745f-9c98-05fed541c2ba" async defer></script> <script type="text/javascript"> function OptanonWrapper() { checkConsentValues(); } </script> <!-- OptanonConsentNoticeEnd --> <!-- Check Cookie Value Start--> <script type="text/javascript"> var isPerformanceCookiesChecked = false; function checkConsentValues() { var consentRatio = getOptanonConsentRatio(); if (consentRatio != null && consentRatio.includes("2:1")) { isPerformanceCookiesChecked = true; var oneTrustEvent = new CustomEvent("rh-onetrust-accepted", { "detail": "vanilla js version of one trust event" }); var oneTrustJSEvent = new CustomEvent("rh-onetrust-accepted-js", { "detail": "vanilla js version of one trust event" }); document.dispatchEvent(oneTrustJSEvent); document.dispatchEvent(oneTrustEvent); } } window.setTimeout(checkConsentValues, 2000); function getCookie(cname) { var name = cname + '='; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return false; } function getOptanonConsentRatio() { const queryParams = new URLSearchParams(getCookie("OptanonConsent")); return queryParams.get('groups'); } </script> <!-- Check Cookie Value End--> <!-- TealiumStart --> <script type="text/javascript"> var utag_data = {"pageType":null,"pageSection":"section","pageName":"Deutsch","countryCode":"ch","currencyCode":"USD"}; // This script is provided, don't change without consulting the analytics team (function (a, b, c, d) { a = 'https://tags.roberthalf.com/switzerland2/prod/utag.js'; b = document; c = 'script'; d = b.createElement(c); d.src = a; d.type = 'text/java' + c; d.async = true; a = b.getElementsByTagName(c)[0]; a.parentNode.insertBefore(d, a); })(); </script> <script async defer src="/etc.clientlibs/roberthalf/clientlibs/clientlib-tealium.lc-1343a64b313c1ba8ca2cb65523ffa1e1-lc.min.js"></script> <!-- TealiumEnd --> <!-- InvocaStart --> <!-- InvocaEnd --> <!-- UtagStart --> <script> window.setTimeout(loadUtagSync, 2000); //Adding this function to prevent flicker happening because of utag.sync.js function makeBodyVisible() { let style = document.createElement("style"); style.textContent = "body { display: block !important; opacity: 1 !important; }"; if (document.body) { document.body.appendChild(style); } else { window.ready(function () { document.body.appendChild(style); }); } } function loadUtagSync() { if (isPerformanceCookiesChecked) { (function (document, scriptUrl) { makeBodyVisible(); var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = scriptUrl; var fs = document.getElementsByTagName('script')[0]; fs.parentNode.insertBefore(s, fs); })(document, 'https://tags.roberthalf.com/switzerland2/prod/utag.sync.js'); } else { document.addEventListener("rh-onetrust-accepted", loadUtagSync); } } </script> <!-- UtagEnd --> <script async src="/etc.clientlibs/core/wcm/components/commons/datalayer/v2/clientlibs/core.wcm.components.commons.datalayer.v2.lc-1e0136bad0acfb78be509234578e44f9-lc.min.js"></script> <script async src="/etc.clientlibs/core/wcm/components/commons/datalayer/acdl/core.wcm.components.commons.datalayer.acdl.lc-bf921af342fd2c40139671dbf0920a1f-lc.min.js"></script> </head> <body class="page basicpage" id="page-03bc960eff" data-cmp-link-accessibility-enabled data-cmp-link-accessibility-text="wird in einer neuen Registerkarte geöffnet" data-cmp-data-layer-enabled data-cmp-data-layer-name="adobeDataLayer"> <script> var dataLayerName = 'adobeDataLayer' || 'adobeDataLayer'; window[dataLayerName] = window[dataLayerName] || []; window[dataLayerName].push({ page: JSON.parse("{\x22page\u002D03bc960eff\x22:{\x22@type\x22:\x22roberthalf\/components\/structure\/page\/page\x22,\x22repo:modifyDate\x22:\x222024\u002D11\u002D13T00:36:28Z\x22,\x22dc:title\x22:\x22CLIENT\u002D11 | Talent Services Interim Management\x22,\x22dc:description\x22:\x22Sie haben eine vakante Stelle im Interim Management oder suchen als Interim Manager einen Job als selbstständiger Berater? Robert Half unterstützt Sie! Kontaktieren Sie uns. \x22,\x22xdm:template\x22:\x22\/conf\/roberthalf\/settings\/wcm\/templates\/full\u002Dwidth\u002Dpage\u002Dcontent\x22,\x22xdm:language\x22:\x22de\u002DCH\x22,\x22xdm:tags\x22:[],\x22repo:path\x22:\x22\/content\/roberthalf\/ch\/de\/hire\u002Dtalent\/interim\u002Dproject\u002Dmanagement.html\x22}}"), event:'cmp:show', eventInfo: { path: 'page.page\u002D03bc960eff' } }); </script> <rhcl-base path="https://resources.roberthalfonline.com/rhcl/v25.3.0" locale="de-CH"></rhcl-base> <div class="root container-fluid cmp-container"> <div id="container-da5f14ae6e" class="cmp-container"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="experiencefragment aem-GridColumn aem-GridColumn--default--12"> <div id="experiencefragment-ca4ead7c74" class="cmp-experiencefragment cmp-experiencefragment--header"> <div id="container-37957d7559" class="cmp-container"> <div class="root container-fluid cmp-container"> <div class="cq-placeholder" data-emptytext="Navigation: Header"> </div> <div id="header-ead8d4157d" class="cmp-container"> <div id="skipToMainContent"></div> <script> // needs to run once on any page with a nav header function identifyFirstComponent() { try { const excludedTags = ["RHCL-BLOCK-NAVIGATION", "RHCL-BLOCK-COOKIE-BAR"]; const rhclContentBlocks = Array.from(document.querySelectorAll("body *")) .filter( (elem) => elem.tagName.startsWith("RHCL-BLOCK") || elem.classList.contains("rh-homepage-hero") || elem.classList.contains("rh-first-component") ) .filter((elem) => !excludedTags.includes(elem.tagName)); const maxTries = 10; let tries = 1; const nav = document.querySelector("rhcl-block-navigation"); if (nav && nav.getAttribute("background") == "transparent") { // find first component if (rhclContentBlocks.length > 0) { rhclContentBlocks[0].setAttribute( "data-first-component-padded", "true" ); } else { tries++; if (tries <= maxTries) { setTimeout(identifyFirstComponent, 500); } } } else { const hero = document.querySelector(".rh-homepage-hero"); if (hero) { hero.removeAttribute("data-first-component-padded"); } } } catch (error) { console.log(error); } } window.ready(() => { window.dispatchEvent(new Event("scroll")); identifyFirstComponent(); }); </script> <rhcl-block-navigation branding-destination="/ch/de" branding-external="false" branding-title="Robert Half" background="white" theme="light"> <rhcl-navigation-item slot="navigation-item" destination="/ch/de/jobs-finden" label="Jobs finden" cta-heading-label="Sie entscheiden über Ihre Karriere. Finden Sie jetzt den richtigen Job – Remote, Hybrid oder vor Ort." cta-label="Jetzt Job finden" cta-destination="/ch/de/jobs-finden" cta-external="false" cta-variant="primary"> <!-- using dynamic media template --> <img slot="accent-image" loading="lazy" fetchpriority="low" sizes="(min-width: 1024px) 307px,(min-width: 768px) 230px,(min-width: 0px) 288px" srcset="https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-findjobs?$Squircle1-Large-1x$&amp;fmt=webp-alpha 307w,https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-findjobs?$Squircle1-Medium-1x$&amp;fmt=webp-alpha 230w,https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-findjobs?$Squircle1-Small-1x$&amp;fmt=webp-alpha 288w" src="https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-findjobs?$Squircle1-Large-1x$&fmt=webp-alpha" alt aria-hidden="true"/> <rhcl-list-base slot="secondary-nav-content"> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/jobs">Jobsuche</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/jobs-finden/lebenslauf-hochladen">Finden Sie den richtigen Job</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/jobs-finden/partner">Wie wir Sie bei der Jobsuche unterstützen</a> </rhcl-menu-link> </rhcl-list-base> <rhcl-list-base slot="gradient-content" headline="Spezialisierungen" layout="column"> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/finanz-und-rechnungswesen">Finanz- &amp; Rechnungswesen</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/it-bereich">IT-Bereich</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/assistenz-und-kaufmaennisch">Kaufmännischer Bereich</a> </rhcl-menu-link> </rhcl-list-base> </rhcl-navigation-item> <rhcl-navigation-item slot="navigation-item" destination="/ch/de/talente-finden" label="Talente finden" cta-heading-label="Wir unterstützen Sie bei der Einstellung von Fach- und Führungskräften, von Berufseinsteigern bis hin zu Executive Search." cta-label="Talente finden" cta-destination="/ch/de/talente-finden" cta-external="false" cta-variant="primary"> <!-- using dynamic media template --> <img slot="accent-image" loading="lazy" fetchpriority="low" sizes="(min-width: 1024px) 307px,(min-width: 768px) 230px,(min-width: 0px) 288px" srcset="https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-hiretalent?$Squircle1-Large-1x$&amp;fmt=webp-alpha 307w,https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-hiretalent?$Squircle1-Medium-1x$&amp;fmt=webp-alpha 230w,https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-hiretalent?$Squircle1-Small-1x$&amp;fmt=webp-alpha 288w" src="https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-hiretalent?$Squircle1-Large-1x$&fmt=webp-alpha" alt aria-hidden="true"/> <rhcl-list-base slot="secondary-nav-content" headline="Personaldienstleistung"> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/talente-finden/flexible-personalplanung">Temporärarbeit</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/talente-finden/direktvermittlung">Direktvermittlung</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/talente-finden/interim-management">Interim Management</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/talente-finden/partner">Wie wir Sie bei der Mitarbeitersuche unterstützen</a> </rhcl-menu-link> </rhcl-list-base> <rhcl-list-base slot="secondary-nav-content" headline="Weitere Serviceleistungen"> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/talente-finden/executive-search">Executive Search</a> </rhcl-menu-link> </rhcl-list-base> <rhcl-list-base slot="gradient-content" headline="Spezialisierungen" layout="column"> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/finanz-und-rechnungswesen">Finanz- &amp; Rechnungswesen</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/it-bereich">IT-Bereich</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/assistenz-und-kaufmaennisch">Kaufmännischer Bereich</a> </rhcl-menu-link> </rhcl-list-base> </rhcl-navigation-item> <rhcl-navigation-item slot="navigation-item" destination="/ch/de/consulting" label="Consulting-Lösungen" cta-heading-label="Erfahren Sie, wie unsere Beratungsleistungen Ihr Unternehmen transformieren können." cta-label="Mehr über unsere Consulting-Lösungen erfahren" cta-destination="/ch/de/consulting" cta-external="false" cta-variant="primary"> <!-- using dynamic media template --> <img slot="accent-image" loading="lazy" fetchpriority="low" sizes="(min-width: 1024px) 307px,(min-width: 768px) 230px,(min-width: 0px) 288px" srcset="https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-exploreconsultingsolutions?$Squircle1-Large-1x$&amp;fmt=webp-alpha 307w,https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-exploreconsultingsolutions?$Squircle1-Medium-1x$&amp;fmt=webp-alpha 230w,https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-exploreconsultingsolutions?$Squircle1-Small-1x$&amp;fmt=webp-alpha 288w" src="https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-exploreconsultingsolutions?$Squircle1-Large-1x$&fmt=webp-alpha" alt aria-hidden="true"/> <rhcl-list-base slot="gradient-content" headline="Spezialisierungen" layout="column-two"> <rhcl-menu-link slot="item" description="Cloud • Cybersecurity • Data &amp; Analytics • Datenschutz • Intelligent Automation • IT Service Desk"> <a slot="item" href="/ch/de/consulting/it-bereich">IT</a> </rhcl-menu-link> <rhcl-menu-link slot="item" description="Internal Audit • Regulatory Compliance • Compliance gegen Finanzkriminalität • Riskomanagement • Sarbanes-Oxley"> <a slot="item" href="/ch/de/consulting/risk-compliance-audit">Risk, Audit und Compliance</a> </rhcl-menu-link> <rhcl-menu-link slot="item" description="Finance Transformation • Prozessoptimierung • Finanztechnologie &amp; -daten • Reporting &amp; Compliance • Kosten- &amp; Performance-Management"> <a slot="item" href="/ch/de/consulting/finanz-und-rechnungswesen">Finanz- und Rechnungswesen</a> </rhcl-menu-link> <rhcl-menu-link slot="item" description="Digitale Transformation • Marketing Services • Marketing-Technologie"> <a slot="item" href="/ch/de/consulting/digitalisierung">Digitalisierung und Marketing</a> </rhcl-menu-link> <rhcl-menu-link slot="item" description="Datenschutz • Legal Consulting • Transaction Services"> <a slot="item" href="/ch/de/consulting/legal">Legal</a> </rhcl-menu-link> <rhcl-menu-link slot="item" description="Kundencenter • Sustainability • Operative Leistungsfähigkeit • Supply Chain • Sourcing &amp; Procurement"> <a slot="item" href="/ch/de/consulting/administrative-und-kaufmaennisch">Business Operations</a> </rhcl-menu-link> <rhcl-menu-link slot="item" description="HR Transformation • Mitarbeiterbindung • Future of Work • Unternehmenstransformation"> <a slot="item" href="/ch/de/consulting/personalwesen">Human Resources</a> </rhcl-menu-link> </rhcl-list-base> </rhcl-navigation-item> <rhcl-navigation-item slot="navigation-item" destination="/ch/de/insights" label="Insights" cta-heading-label="Treffen Sie bessere Entscheidungen mit unseren aktuellen Einstellungs- und Karrieretrends." cta-label="Insights" cta-destination="/ch/de/insights" cta-external="false" cta-variant="primary"> <!-- using dynamic media template --> <img slot="accent-image" loading="lazy" fetchpriority="low" sizes="(min-width: 1024px) 307px,(min-width: 768px) 230px,(min-width: 0px) 288px" srcset="https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-discoverinsights?$Squircle1-Large-1x$&amp;fmt=webp-alpha 307w,https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-discoverinsights?$Squircle1-Medium-1x$&amp;fmt=webp-alpha 230w,https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-discoverinsights?$Squircle1-Small-1x$&amp;fmt=webp-alpha 288w" src="https://s7d9.scene7.com/is/image/roberthalfintl/sq1-nav-discoverinsights?$Squircle1-Large-1x$&fmt=webp-alpha" alt aria-hidden="true"/> <rhcl-list-base slot="secondary-nav-content"> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/insights/gehaltsuebersicht">Gehaltsübersicht</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/ueber-uns/presse">Presse-Bereich</a> </rhcl-menu-link> </rhcl-list-base> <rhcl-list-base slot="gradient-content" headline="Beliebte Themen" layout="column"> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/insights/gehalts-und-recruiting-trends">Gehalts- und Arbeitsmarkttrends</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/insights/flexibel-arbeiten">Flexibel Arbeiten</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/insights/wettbewerbsvorteil">Wettbewerbsvorteil</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/insights/work-life-balance">Work-Life-Balance</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/insights/diversitaet-gleichberechtigung-inklusion">Diversität und Inklusion</a> </rhcl-menu-link> </rhcl-list-base> </rhcl-navigation-item> <rhcl-site-search slot="site-search" search-destination="/ch/de/suche?param=:1" max-results="3" theme="light"> <a slot="quick-link" href="/ch/de/jobs"><rhcl-typography variant="body2">Jobsuche</rhcl-typography></a> <a slot="quick-link" href="/ch/de/ihre-loesung-finden"><rhcl-typography variant="body2">Personal finden</rhcl-typography></a> <a slot="quick-link" href="/ch/de/standorte"><rhcl-typography variant="body2">Unsere Standorte</rhcl-typography></a> </rhcl-site-search> </rhcl-block-navigation> </div> <script type="text/javascript"> function initializeAccountMenu() { var accountMenu = document.querySelector('rhcl-list[slot="account-menu"]'); var userId = getCookie("apex__userid"); var userPermissions = getCookie("apex__psa"); if (!userId || !userPermissions) { if (accountMenu) { accountMenu.remove(); } return; } var userFirstName = getCookie("apex__firstname"); var userLastName = getCookie("apex__lastname"); accountMenu.setAttribute("headline", userFirstName + " " + userLastName); var userPermissionsArray = userPermissions.split(","); var accountMenuLinks = []; var accountMenuLinksAPI = accountMenu.getAttribute("data-header-menu-endpoint"); var accountMenuLinkCFFolderPath = accountMenu.getAttribute("data-folder-path"); var accountMenuConfig = accountMenu.getAttribute("data-account-menu-config"); if (!accountMenuLinkCFFolderPath) { accountMenuLinkCFFolderPath = ""; } var completeAPI = accountMenuLinksAPI + ";cfFolderPath=" + accountMenuLinkCFFolderPath; fetch(completeAPI) .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(data => { accountMenuLinks = data.data.headerMenuItemList.items; accountMenuLinks.sort(function (a, b) { return a.displayWeight - b.displayWeight }); for (var i = 0; i < accountMenuLinks.length; i++) { var accountMenuLink = accountMenuLinks[i]; if ((accountMenuLink.showToAllLoggedInUsers != null && accountMenuLink.showToAllLoggedInUsers == true) || doPermissionsMatch(accountMenuLink.permissions, userPermissionsArray)) { var menuItemElement = document.createElement("rhcl-menu-link"); var link, mobileLink; menuItemElement.setAttribute("slot", "item"); menuItemElement.setAttribute("label", accountMenuLink.linkDisplayText); menuItemElement.setAttribute("external", accountMenuLink.linkTarget); if(accountMenuLink.linkUrl){ link = modifyLink(accountMenuLink.linkUrl, accountMenuConfig); }else{ link=""; } if(accountMenuLink.mobileUrlOverride){ mobileLink = modifyLink(accountMenuLink.mobileUrlOverride, accountMenuConfig); }else{ mobileLink=""; } menuItemElement.setAttribute("destination", link); menuItemElement.setAttribute("mobile-destination", mobileLink); accountMenu.append(menuItemElement); } } }) .catch(error => { console.error('There was a problem with the fetching the account menu items:', error); }); } function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } function doPermissionsMatch(array1, array2) { if (!array1 || !array2) { return false; } for (let i = 0; i < array2.length; i++) { if (array1.includes(array2[i].trim())) { return true; } } return false; } function modifyLink(link, accountMenuConfig) { if (accountMenuConfig) { var accountMenuConfigJSON = JSON.parse(accountMenuConfig); for (var key in accountMenuConfigJSON) { if (accountMenuConfigJSON.hasOwnProperty(key)) { link = link.replace(key, accountMenuConfigJSON[key]); } } } return link; } initializeAccountMenu(); </script> </div> </div> </div> </div> <div class="root container-fluid cmp-container aem-GridColumn aem-GridColumn--default--12"> <div id="container-2f16ed615c" class="cmp-container"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="root container-fluid cmp-container rhcl__accent-theme--primary rhcl__accent-outline--tertiary aem-GridColumn aem-GridColumn--default--12"> <style> .model-content,.model-content form{display:flex;flex-direction:column;align-items:center} .model-content form{margin-top:52px;padding:0} .model-content rhcl-typography,.model-content rhcl-heading{text-align:center !important} .form-footer{padding:0 40px} @media screen and (max-width:767px){.form-footer{padding:0} } .form-footer .form-btn{margin-bottom:32px} .subscribe-modal-image{height:72px;width:72px;object-fit:cover;margin-bottom:32px} </style> <rhcl-block-centered-content variant="accents" quaternary-cta-external="false" tertiary-cta-external="false" accent-theme="primary" accent-outline="tertiary" data-resend-email="false"> <h1 slot="headline">Vermittlung von Interim Managern und Beratern</h1> <span slot="copy">Wir vermitteln Ihnen selbstständige Berater fürs Finanz- und Rechnungswesen sowie für die Bereiche IT, HR und Einkauf, die zu Ihren Bedürfnissen passen. Mit ihrer Expertise unterstützen unsere Interim Manager Ihre Teams, wickeln Projekte für einen befristeten Zeitraum ab oder überbrücken vakante Funktionen. </span> <!-- using dynamic media template --> <img slot="accent-image" loading="eager" fetchpriority="high" sizes="(min-width: 1024px) 307px,(min-width: 768px) 230px,(min-width: 0px) 288px" srcset="https://s7d9.scene7.com/is/image/roberthalfintl/sq1-02015-2085168643?$Squircle1-Large-1x$&amp;fmt=webp-alpha 307w,https://s7d9.scene7.com/is/image/roberthalfintl/sq1-02015-2085168643?$Squircle1-Medium-1x$&amp;fmt=webp-alpha 230w,https://s7d9.scene7.com/is/image/roberthalfintl/sq1-02015-2085168643?$Squircle1-Small-1x$&amp;fmt=webp-alpha 288w" src="https://s7d9.scene7.com/is/image/roberthalfintl/sq1-02015-2085168643?$Squircle1-Large-1x$&fmt=webp-alpha" alt aria-hidden="true"/> <!-- using dynamic media template --> <img slot="accent-image" loading="eager" fetchpriority="high" sizes="(min-width: 1024px) 480px,(min-width: 768px) 336px,(min-width: 0px) 317px" srcset="https://s7d9.scene7.com/is/image/roberthalfintl/sq2-02016-1876540945?$Squircle2-Large-1x$&amp;fmt=webp-alpha 480w,https://s7d9.scene7.com/is/image/roberthalfintl/sq2-02016-1876540945?$Squircle2-Medium-1x$&amp;fmt=webp-alpha 336w,https://s7d9.scene7.com/is/image/roberthalfintl/sq2-02016-1876540945?$Squircle2-Small-1x$&amp;fmt=webp-alpha 317w" src="https://s7d9.scene7.com/is/image/roberthalfintl/sq2-02016-1876540945?$Squircle2-Large-1x$&fmt=webp-alpha" alt aria-hidden="true"/> </rhcl-block-centered-content> <script type="text/javascript"> { window.ready(() => { const stackingCardsBlocks = document.querySelectorAll( "rhcl-block-stacking-cards" ); stackingCardsBlocks.forEach((stackingCardsBlock) => { // replace tokens hyperlink = stackingCardsBlock.querySelector(".scb-hyperlink"); let redirectLocation = stackingCardsBlock.dataset.hyperlinkRedirectLocation; const cta = stackingCardsBlock.dataset.hyperlinkCta; const isTel = stackingCardsBlock.dataset.hyperlinkIsTel; if (isTel == "true") { // use the phone number from the cta for phone links redirectLocation = cta; } if (hyperlink) { hyperlink.innerHTML = hyperlink.innerHTML.replaceAll( "[token:hyperlink]", "<a href='" + (isTel == "true" ? "tel:" : "") + redirectLocation + "' target='_blank' data-rhcl-listener='true'>" + cta + "</a>" ); } }); }); } window.addEventListener('load', () => { const centeredContentBlock = document.querySelector("rhcl-block-centered-content"); let checkboxCenter; if (centeredContentBlock != null) { checkboxCenter = centeredContentBlock.getAttribute("data-check"); } if (checkboxCenter === "enablePopUp") { centeredContentBlock.addEventListener("rhcl-button-clicked", (e) => showPopupCenteredBlock(e, centeredContentBlock)); } }); function showPopupCenteredBlock(e, centeredContentBlock) { let button = e.composedPath()[0]; if(button.componentParentRef === centeredContentBlock) { e.preventDefault(); const modalPopUp = document.getElementById("email-model") if (modalPopUp != null) { modalPopUp.setAttribute("show-modal", ""); } } } { window.ready(() => { const centeredContentBlocks = document.querySelectorAll( "rhcl-block-centered-content" ); const upo = window.getUPO(); centeredContentBlocks.forEach((centeredContentBlock) => { const email = upo.email; const searchParams = new URLSearchParams(window.location.search); const registrantId = searchParams.get("rid"); // replace tokens const hyperlink = centeredContentBlock.querySelector(".ccb-response-hyperlink") const redirectLocation = centeredContentBlock.dataset.hyperlinkRedirectLocation; const cta = centeredContentBlock.dataset.hyperlinkCta; hyperlink.innerHTML = hyperlink.innerHTML.replaceAll( "[token:hyperlink]", "<a href='" + redirectLocation + "' target='_blank' data-rhcl-listener='true'>" + cta + "</a>" ) hyperlink.innerHTML = hyperlink.innerHTML.replaceAll( "[token:resendNow]", "<a href='#' id='resendNowA'>" + cta +"</a>" ) // if there is no email we can't resend emails if (!email) return; if (centeredContentBlock.copy) { centeredContentBlock.copy = centeredContentBlock.copy.replaceAll( "[token:email]", email ); } if (centeredContentBlock.subheading) { centeredContentBlock.subheading = centeredContentBlock.subheading.replaceAll("[token:email]", email); } const shouldResendEmail = centeredContentBlock.dataset.resendEmail; if (shouldResendEmail) { // setup resend email logic const anchorEl = hyperlink.querySelector("#resendNowA") anchorEl.addEventListener("click", async (e) => { e.preventDefault(); const resendUrl = window.aemSettings.rh_account_creation .accountCreateResendEmailEndpoint; if (email && resendUrl && registrantId) { fetch(resendUrl, { method: "POST", body: JSON.stringify({ registrantID: registrantId, }), }); } }); } }); }); } </script> </div> <div class="root container-fluid cmp-container rhcl__accent-theme--primary rhcl__accent-outline--none aem-GridColumn aem-GridColumn--default--12"> <div class="cq-placeholder" data-emptytext="PC.001 Paired Content Block: Split"></div> <rhcl-block-paired-content variant="split" layout="media-right" accent-variant="image-squircle" accent-theme="primary" accent-outline="none"> <h2 slot="headline">Mit Interim Management flexibel planen</h2> <rhcl-typography slot="copy">Planen Sie eine Expansion, eine Umstrukturierung oder eine grössere Veränderung in Ihrem Unternehmen? Durch unser grosses Netzwerk können wir Ihnen Interim Manager, die über spezifisches und fundiertes Fachwissen verfügen, sofort zur Verfügung stellen und schnell integrieren. Durch das Wissen der Experten entsteht eine Effizienz- und Leistungssteigerung im Unternehmen oder Team.</rhcl-typography> <rhcl-typography slot="copy">Interim Manager können in den Bereichen Finanz- und Rechnungswesen, Personalwesen, Produktion, Logistik und Einkauf, IT, Vertrieb und Marketing und im allgemeinen Management eingesetzt werden. Wir unterstützen Sie bei der Suche nach dem richtigen Interim Manager bzw. selbstständigen Berater für Ihr Unternehmen.</rhcl-typography> <!-- using dynamic media template --> <img slot="accent-image" loading="lazy" fetchpriority="low" sizes="(min-width: 1024px) 480px,(min-width: 768px) 336px,(min-width: 0px) 317px" srcset="https://s7d9.scene7.com/is/image/roberthalfintl/sq2-02017-1674266824?$Squircle2-Large-1x$&amp;fmt=webp-alpha 480w,https://s7d9.scene7.com/is/image/roberthalfintl/sq2-02017-1674266824?$Squircle2-Medium-1x$&amp;fmt=webp-alpha 336w,https://s7d9.scene7.com/is/image/roberthalfintl/sq2-02017-1674266824?$Squircle2-Small-1x$&amp;fmt=webp-alpha 317w" src="https://s7d9.scene7.com/is/image/roberthalfintl/sq2-02017-1674266824?$Squircle2-Large-1x$&fmt=webp-alpha" alt aria-hidden="true"/> <a slot="primary-cta" href="/ch/de/ihre-loesung-finden" target="_self">Anfrage senden</a> <a slot="secondary-cta" href="/ch/de/jobs?&emptype=Contracting" target="_self">Jetzt Interim Management Jobs finden</a> </rhcl-block-paired-content> </div> <div class="experiencefragment aem-GridColumn aem-GridColumn--default--12"> <div id="experiencefragment-2b50eef3a6" class="cmp-experiencefragment cmp-experiencefragment--bfb"> <div id="container-2cb5269c39" class="cmp-container"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="root container-fluid cmp-container aem-GridColumn aem-GridColumn--default--12"> <rhcl-block-basic-form variant="standard" headline="Finden Sie ein Büro in Ihrer Nähe" heading-tag="h2" copy="Die Personalberater von Robert Half helfen Ihnen dabei, passende Kandidaten oder Jobs zu finden." image-anchor="bottom" with-logo="false"> <!-- using dynamic media template --> <img slot="image" loading="lazy" fetchpriority="low" sizes="(min-width: 1024px) 720px,(min-width: 768px) 452px,(min-width: 0px) 720px" srcset="https://s7d9.scene7.com/is/image/roberthalfintl/var1-2353012797?$Variable1-Large-1x$&amp;fmt=webp-alpha 720w,https://s7d9.scene7.com/is/image/roberthalfintl/var1-2353012797?$Variable1-Medium-1x$&amp;fmt=webp-alpha 452w,https://s7d9.scene7.com/is/image/roberthalfintl/var1-2353012797?$Variable1-Small-1x$&amp;fmt=webp-alpha 720w" src="https://s7d9.scene7.com/is/image/roberthalfintl/var1-2353012797?$Variable1-Large-1x$&fmt=webp-alpha" alt aria-hidden="true"/> <div slot="form"> <div class="xfpage page basicpage"> <!--<sly data-sly-resource="contexthub"/>--> <div id="container-8149488565" class="cmp-container"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="root container-fluid cmp-container aem-GridColumn aem-GridColumn--default--12"> <script type="text/javascript"> window.ready(function() { window.addEventListener('rhcl-map-block-offices-loaded', () => { window.setTimeout(() => { if(typeof Invoca !== 'undefined') Invoca.PNAPI.run(); }, 1000); }); const searchBarLocationSimple = document.querySelector("rhcl-search-bar[variant=location-simple]"); const searchBarLocationDistance = document.querySelector("rhcl-search-bar[variant=location-search]"); function urlFriendly(value) { if (value) { value = value.toLowerCase(); value = value.replace(/[\/\\%]/g, ' '); value = value.replace(/\s+/g, '-'); value = encodeURIComponent(value); } return value; } function redirectSearchDestination(e){ var location = e.detail.fieldOneValue; var urlFriendlyLocation = urlFriendly(location); var searchDestination = e.detail.url; if (searchDestination === undefined || searchDestination === "") return; searchDestination = searchDestination.replace(urlFriendlyLocation, encodeURIComponent(location.replace(/\./g,'%2E'))); window.setTimeout(() => { window.location.href = searchDestination; }, 500); // give time for analytics to register } function redirectSearchDestinationDistance(e) { const location = e.detail.fieldOneValue; let urlFriendlyLocation = urlFriendly(location); let searchUrl = e.detail.url; let defaultDistance = 50; if (searchUrl.includes("/us/") || searchUrl.includes("/gb/")) { defaultDistance = 25 } const searchDistance = e.detail.fieldTwoValue || defaultDistance; if (searchUrl === "") return; if (!searchUrl.endsWith(searchDistance)) { searchUrl = searchUrl + searchDistance; } searchUrl = searchUrl.replace(urlFriendlyLocation, encodeURIComponent(location.replace(/\./g,'%2E'))); window.setTimeout(() => { window.location.href = searchUrl; }, 500); // give time for analytics to register } if (searchBarLocationSimple) { searchBarLocationSimple.addEventListener("rhcl-search-bar-valid", redirectSearchDestination); } if (searchBarLocationDistance) { searchBarLocationDistance.addEventListener("rhcl-search-bar-valid", redirectSearchDestinationDistance); } }) </script> <rhcl-search-bar slot="search-bar" variant="location-simple" search-label="Suchen" theme="concrete" search-destination="/ch/de/locations/details/:1/25" layout="wide" size="large"> </rhcl-search-bar> </div> </div> </div> </div> </div> </rhcl-block-basic-form> </div> </div> </div> </div> </div> <div class="cmp-rhcl-stacking-cards-block-wrapper aem-GridColumn aem-GridColumn--default--12"> <div id="stackingcardsblock-73f1a34b25" class="cmp-container"> <rhcl-block-stacking-cards card-variant="icon"> <h2 slot="headline">3 Gründe für Interim Management mit uns</h2> <rhcl-content-card slot="card" headline="Flexible Personalplanung" copy="Unternehmensentwicklungen schlagen sich sehr rasch auf Umsatz und Ergebnis nieder und verlangen deshalb eine zügige Reaktion. Der Einsatz von selbstständigen Beratern ist eine attraktive und flexible Möglichkeit, diese Herausforderung erfolgreich zu bestehen. " icon="users" cta-external="false"> </rhcl-content-card> <rhcl-content-card slot="card" headline="Erfolgreiche Umsetzung von Projekten" copy="Interim Manager sind als hochspezialisierte selbstständige Berater schnell verfügbar, sodass Sie Ihre Projekte besser planen können. Durch das Wissen der Experten entsteht eine Effizienz- und Leistungssteigerung im Unternehmen oder Team. " icon="bullseye-arrow" cta-external="false"> </rhcl-content-card> <rhcl-content-card slot="card" headline="Kosten und Zeit sparen" copy="Durch unser grosses Netzwerk können wir Ihnen Interim Manager schnell zur Verfügung stellen. Oft wird durch Interim Management auch die Zeit überbrückt, bis eine geeignete Person für eine Stelle gefunden oder die endgültige Unternehmensstrategie festgelegt ist. " icon="clock" cta-external="false"> </rhcl-content-card> </rhcl-block-stacking-cards> </div> </div> <div class="root container-fluid cmp-container rhcl__background--primary rhcl__background-style--curved aem-GridColumn aem-GridColumn--default--12"> <rhcl-block-hero-form variant="form" headline="Senden Sie uns Ihre Anfrage" heading-tag="h2" copy="Wenn Sie ein Arbeitgeber sind und mit uns über Ihren aktuellen Einstellungsbedarf sprechen möchten, füllen Sie bitte das untenstehende Formular aus und einer unserer Personalberater wird sich mit Ihnen in Verbindung setzen." background="primary" background-style="curved"> <div slot="form-content"> <div id="experiencefragment-c41432e6c3" class="cmp-experiencefragment cmp-experiencefragment--SSJO"> <div id="container-27f4c68f48" class="cmp-container"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="root container-fluid cmp-container aem-GridColumn aem-GridColumn--default--12"> <style> .form-container{padding:40px 24px} .form-container .form-header{text-align:center;margin-bottom:40px;display:flex;justify-content:center;flex-direction:column;align-items:center} .form-container .form-header .header-text{margin-bottom:26px} .form-container .form-field-set .field-set-header{margin-bottom:24px} .form-container .form-field-set .field-element-row{margin-bottom:8px} .form-container .form-footer{gap:24px;margin-top:28px;justify-content:center} .form-container .form-footer .form-submit-btn{display:flex;justify-content:center;flex-direction:column;align-items:center;gap:24px;#showRedirectStatus{display:none} } .form-container .form-footer .form-submit-btn rhcl-button{width:100%} .form-container .form-footer .form-foot-note{text-align:left} .form-container .form-footer .form-foot-note .rhcl-typography{display:flex;flex-direction:column;gap:16px;padding:0;margin:0 !important;rhcl-typography{text-align:center} } .form-container .form-footer .form-foot-note .rhcl-typography--variant-legal{font-size:12px;letter-spacing:normal;line-height:1.5;font-family:"Noto Sans Regular",OpenSansRegular,"Open Sans Regular","Noto Sans",sans-serif !important} .form-container .form-footer .form-foot-note .rhcl-typography--variant-legal a:hover:after{width:100%;opacity:1} .cmp-experiencefragment .form-container{padding:0} .mobile-app-form .form-foot-note .rhcl-typography p{padding:0;white-space:pre-wrap;margin:0 !important} .mobile-app-form .form-foot-note .rhcl-typography--variant-legal p{font-size:12px;letter-spacing:normal;line-height:1.5;font-family:"Noto Sans Regular",OpenSansRegular,"Open Sans Regular","Noto Sans",sans-serif !important} .mobile-app-form .form-foot-note .rhcl-typography--variant-legal a:hover:after{width:100%;opacity:1} .mobile-app-form .form-div{padding:48px 0 21px 0} #backdrop{position:absolute;top:0;left:0;width:100%;height:100%;z-index:20;background-color:rgba(0,0,0,0.05)} .loader-div{display:flex;justify-content:center;align-items:center;height:100%} @media screen and (min-width:768px){.form-container{padding:48px 40px} .form-container .form-footer .form-submit-btn rhcl-button{width:unset} .form-container .form-footer .form-foot-note{text-align:center} .cmp-experiencefragment .form-container{padding:0} } .cmp-experiencefragment--salary-guide .form-footer{margin-top:0} </style> <script type="text/javascript"> function parseQuery(queryString) { var query = {}; var pairs = ( queryString[0] === "?" ? queryString.substr(1) : queryString ).split("&"); for (var i = 0; i < pairs.length; i++) { var pair = pairs[i].split("="); query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || ""); } return query; } function phonePrepopFormatter(phone) { const country = window["pageObj"]?.["__extrasettings__"]?.["country"]; if (phone !== null && phone !== undefined) { try { // Remove any non-digit characters let formattedPhone = phone?.replaceAll(/\D/g, ""); if (country === "us" || country === "ca") { // For NA, remove leading 1's and 0's while (/^[01]/.test(formattedPhone.charAt(0))) { formattedPhone = formattedPhone?.substring(1); } } return formattedPhone; } catch (error) { console.error("Failed to format phone:", error); return phone; } } else { return phone; } } function queryParamPrefill() { const handleElementPrefill = (elements, prefillData) => { Object.keys(elements).forEach((name) => { elements[name].forEach((element) => { //handle element auto fill if (element) { switch (element.nodeName) { case "RHCL-DROPDOWN": { const prefillDropdown = (element) => { if (element && element.children && element.children.length) { Array.from(element.children).forEach((child) => { child.selected = prefillData[name] == child.value; }); element.value = prefillData[name]; return true; } }; // try to fill dropdown if (!prefillDropdown(element)) { // if it's not available yet wait for children to be added function onAttributesChanged(_, observer) { // check if child nodes are available const childNodes = Array.from(element.children); for (const child of childNodes) { if (child.value !== undefined) { const prefilled = prefillDropdown(element); if (prefilled) { observer.disconnect(); // disconnect after prefilling } return; } } } // setup attribute mutation observer to fire event with const observer = new MutationObserver(onAttributesChanged); observer.observe(element, { attributes: true }); } break; } case "RHCL-CHECKBOX": { const prefillCheckbox = () => { if (element.interactionRef) { // interactionRef is available, set checked state element.interactionRef.checked = prefillData[name].toLowerCase() == "true"; return true; } }; // if checkbox wasn't available wait for mutation to make it so if (!prefillCheckbox()) { function onMutation(_, observer) { // try to fill checkbox on mutation if (prefillCheckbox()) { // disconnect after prefilling observer.disconnect(); } } // setup attribute mutation observer to fire event with interactionRef const observer = new MutationObserver(onMutation); observer.observe(element, { childList: true, subtree: true, attributes: true, }); } break; } default: element.value = prefillData[name]; if (element.name == "phoneNumber") { let formattedPhone = phonePrepopFormatter(element.value); element.value = formattedPhone; } } } }); }); }; const search = window.location.search; if (search.length && search[0] === "?") { const params = parseQuery(search); //handle form data query param if (params.fd) { const prefillData = parseQuery(atob(params.fd)); const elements = {}; Object.keys(prefillData).forEach((name) => { elements[name] = document.getElementsByName(name); }); const fd = params.fd; if (fd !== null) { const decodedParams = atob(fd); const baseUrl = window.location.origin; let formValue = baseUrl + window.location.pathname + search.replace(/(fd=)[^&$]*/g, decodedParams); document.querySelector("#formUrl").value = formValue; handleElementPrefill(elements, prefillData); } } else { //if no form data query, use all other params and prefill accordingly const elements = {}; Object.keys(params).forEach((name) => { elements[name] = document.getElementsByName(name); }); handleElementPrefill(elements, params); } } } const setRhInternalTracking = () => { // if medium = "Email" tracking = Email Campaign // if medium = "ppc" tracking = Ad Campaign // else tracking = Not found // fd encoded query param has precedence over other query params const trackingTypeElements = document.getElementsByName( "rhInternalTrackingType" ); const trackingValueElements = document.getElementsByName( "rhInternalTrackingValue" ); if (trackingTypeElements.length && window.location.search.length) { const queryParams = parseQuery(window.location.search); const fdParams = queryParams.fd && parseQuery(atob(queryParams.fd)); const medium = (fdParams && fdParams.utm_medium) || queryParams.utm_medium; const campaignValue = (fdParams && fdParams.utm_campaign) || queryParams.utm_campaign || ""; if (medium) { if (medium.toLowerCase() === "email") { trackingTypeElements.forEach((el) => (el.value = "Email Campaign")); } else if (medium.toLowerCase() === "ppc") { trackingTypeElements.forEach((el) => (el.value = "Ad Campaign")); } else { trackingTypeElements.forEach((el) => (el.value = "Not found")); } } if (campaignValue) { trackingValueElements.forEach((el) => (el.value = campaignValue)); } } }; /***************************Hidden Field Logic*********************************************/ window.ready(function () { document.querySelectorAll("#backdrop").forEach((ele) => { ele.style.display = "none"; }); if (document.querySelectorAll(".hiddenfield").length > 0) { //get country name from url function getCountryName() { var pagePath = new URL(window.location); pagePath = pagePath.pathname.replace("/content/roberthalf", ""); var country = pagePath.split("/")[1]; country = country != undefined ? country.toUpperCase() : ""; var countryArray = [...document.querySelectorAll("#country")]; countryArray.forEach(function (ele) { ele.value = country; }); } //get language name from url function getLanguageName() { var pagePath = new URL(window.location); pagePath = pagePath.pathname.replace("/content/roberthalf", ""); var language = pagePath.split("/")[2]; var country = pagePath.split("/")[1]; var languageArray = [...document.querySelectorAll("#language")]; languageArray.forEach(function (ele) { ele.value = language + "_" + country; }); } window.addEventListener("rh-client-id-set", function () { getGoogleAnalyticsId(); getTealiumId(); }); //get lob function getLob() { var lob = getURLParameter("lob"); lob = lob != undefined ? lob : ""; var lobArray = [...document.querySelectorAll("#lob")]; lobArray.forEach(function (ele) { ele.value = lob; }); } function getFormUrl() { var formUrlArray = [ ...document.querySelectorAll("#formUrl"), ...document.querySelectorAll("#requestUrl"), ...document.querySelectorAll("#formUrlEncoded"), ]; formUrlArray.forEach(function (ele) { ele.value = new URL(window.location).href; }); } //current date and time in format YYYY-MM-DD HH:MM:SS function currentDateTime() { var d = new Date(); d = d.getFullYear() + "-" + (d.getMonth() + 1 < 10 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1) + "-" + (d.getDate() < 10 ? "0" + d.getDate() : d.getDate()) + " " + (d.getHours() < 10 ? "0" + d.getHours() : d.getHours()) + ":" + (d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes()) + ":" + (d.getSeconds() < 10 ? "0" + d.getSeconds() : d.getSeconds()); return d; } function getMiddleInitial() { var middleInitial = currentDateTime(); var middleInitialArray = [...document.querySelectorAll("#middleInitial")]; middleInitialArray.forEach(function (ele) { ele.value = middleInitial; }); } //get ip address function getIpAddress() { fetch("https://jsonip.com/") .then((response) => response.json()) .then((data) => { var ipAddressArray = [ ...document.querySelectorAll("#ipAddress"), ...document.querySelectorAll("#remoteAddrIp"), ]; ipAddressArray.forEach(function (ele) { ele.value = data.ip; }); }) .catch((error) => { console.error("Error fetching IP address:", error); }); } function getGoogleAnalyticsId() { var googleAnalyticsArray = [ ...document.querySelectorAll("#googleAnalyticsId"), ]; googleAnalyticsArray.forEach(function (ele) { ele.value = window.clientId; }); } function getTimeStamp() { var dt = new Date(); var h = dt.getHours(), m = (dt.getMinutes() < 10 ? "0" : "") + dt.getMinutes(); var strDate = dt.getFullYear() + "-" + (dt.getMonth() + 1) + "-" + dt.getDate(); var currentTime = h > 12 ? h - 12 + ":" + m + " PM" : h + ":" + m + " AM"; var currDate = "'" + strDate + "'"; var currentTimeStamp = Date.parse(currDate + currentTime); return currentTimeStamp; } function getSourceId() { var rhdSourceId = getURLParameter("rhdSourceId"); if (rhdSourceId != undefined) { var currentTimeStamp = getTimeStamp(); var rhdSourceIdArray = [...document.querySelectorAll("#rhdSourceId")]; rhdSourceIdArray.forEach(function (ele) { ele.value = rhdSourceId + "-" + currentTimeStamp; }); } else { var formContainer = document.querySelector(".form-container"); var id = formContainer ? formContainer.id : ""; var rhdSourceIdArray = [...document.querySelectorAll("#rhdSourceId")]; rhdSourceIdArray.forEach(function (ele) { ele.value = id + "-" + currentTimeStamp; }); } } function getUtmSource() { var utmsource = getURLParameter("utm_source"); utmsource = utmsource != undefined ? utmsource : ""; var utmSourceArray = [...document.querySelectorAll("#utmSource")]; utmSourceArray.forEach(function (ele) { ele.value = utmsource; }); } function getUtmCampaign() { var campaign = getURLParameter("utm_campaign"); campaign = campaign != undefined ? campaign : ""; var utmCampaignArray = [...document.querySelectorAll("#utmCampaign")]; utmCampaignArray.forEach(function (ele) { ele.value = campaign; }); } function getSfJoNumber() { var sfJoNumber = getURLParameter("sfJoNumber"); sfJoNumber = sfJoNumber != undefined ? sfJoNumber : ""; var sfJoNumberArray = [...document.querySelectorAll("#sfJoNumber")]; sfJoNumberArray.forEach(function (ele) { ele.value = sfJoNumber; }); } function getTealiumId() { var tealiumIdArray = [...document.querySelectorAll("#tealiumId")]; tealiumIdArray.forEach(function (ele) { ele.value = window?.tealiumId; }); } function getGclid() { var searchParams = parseQuery(window.location.search); var gclidVal = searchParams?.gclid ? searchParams.gclid : "not defined"; var gclidArray = [...document.querySelectorAll("#gclid")]; gclidArray.forEach(function (ele) { ele.value = gclidVal; }); } function getSfContactId() { var sfContactId = getURLParameter("sfContactId"); sfContactId = sfContactId != undefined ? sfContactId : ""; var sfContactIdArray = [...document.querySelectorAll("#sfContactId")]; sfContactIdArray.forEach(function (ele) { ele.value = sfContactId; }); } function getURLParameter(sParam) { var sPageURL = new URL(window.location); sPageURL = sPageURL.search.substring(1); var sURLVariables = sPageURL.split("&"); for (var i = 0; i < sURLVariables.length; i++) { var sParameterName = sURLVariables[i].split("="); if (sParameterName[0] == sParam) { return sParameterName[1]; } } } function updatePageHeading() { var replaceFields = [ { replace: "{positionTitle}", queryParam: "positionTitle" }, { replace: "{city}", queryParam: "city" }, { replace: "{country}", queryParam: "country" }, { replace: "{location}", queryParam: "location" }, { replace: "{jobtitle}", queryParam: "jobtitle" }, ]; const queryParams = parseQuery(window.location.search); replaceFields.forEach((replacement) => { const value = queryParams[replacement.queryParam] || null; const hfbHeadlineElement = document.querySelector( "rhcl-block-hero-form" ); const hfbHeadline = hfbHeadlineElement ? encodeURIComponent(hfbHeadlineElement.getAttribute("headline")) : ""; if (value !== null && hfbHeadline.indexOf(replacement.replace) > -1) { hfbHeadline.replace(replacement.replace, value); document .querySelector("rhcl-block-hero-form") .setAttribute("headline", sentence.replaceAll("%20", " ")); } }); } getCountryName(); getLanguageName(); getLob(); getFormUrl(); getMiddleInitial(); getIpAddress(); getGoogleAnalyticsId(); getSourceId(); getUtmSource(); getUtmCampaign(); getSfJoNumber(); getTealiumId(); getGclid(); getSfContactId(); } if (document.querySelectorAll("rhcl-block-hero-form").length > 0) { updatePageHeading(); } // use fd prefill after to give precedence to fd querystrings setRhInternalTracking(); }); window.addEventListener("rhcl-initialized", () => { queryParamPrefill(); }); queryParamPrefill(); (function() { var test = document.querySelectorAll("#recaptcha").length; var recaptchaFlag = 0; const firstRhclButton = document.querySelector("rhcl-button"); const recaptchaFailMessage = firstRhclButton && firstRhclButton?.getAttribute("data-recaptcha-message"); const recaptchaEndpoint = aemSettings?.rh_common?.recaptchaEndpoint; const bypassToken = document.getElementById("bypassToken"); let bypassPerimeter = ""; if (bypassToken != null) { bypassPerimeter = bypassToken.getAttribute("value"); } function scrollToTopOfForm() { const formContainer = document.querySelector(".form-container"); if (formContainer) { const topEl = formContainer .closest("rhcl-block-hero-form") ?.shadowRoot?.querySelector(".rhcl-block-hero-form__form"); const topOfForm = topEl?.getBoundingClientRect()?.top; const defaultHeaderHeight = 78; const headerHeight = parseInt( getComputedStyle(formContainer).getPropertyValue( "--rhcl-main-navigation-height" ), 10 ) || defaultHeaderHeight; if (top !== undefined) { setTimeout(() => { window.scrollTo({ top: topOfForm + window.scrollY - headerHeight, behavior: "smooth", }); }, 500); } } } function getURLParameters() { const urlSearchParams = new URLSearchParams(window.location.search); const params = Object.fromEntries(urlSearchParams.entries()); return params; } function getByPassStatus(params) { var arrayLength = params.length; for (var i = 0; i < arrayLength; i++) { if (params[i] === bypassPerimeter) { return 0; } } return 1; } function setKeyValueInUPO(key, unifiedProfileObject, value) { //set a particular key value in UPO unifiedProfileObject[key] = value; return unifiedProfileObject; } function saveGatingPropertyInUPO() { if (localStorage.getItem("unifiedProfileObject") != null) { var unifiedProfileObject = window.getUPO(); const gatingProperties = document.querySelector(".gating-properties"); if (gatingProperties != null) { var gatingProperty = gatingProperties.getAttribute("gatingproperty") != undefined ? gatingProperties.getAttribute("gatingproperty") : "sgGatingFormSubmitted"; unifiedProfileObject = setKeyValueInUPO( gatingProperty, unifiedProfileObject, window.salaryGuideGatingProperties.key ); window.setUPO(unifiedProfileObject); } } window.localStorage.setItem( "salaryGuideGatingKey", window.salaryGuideGatingProperties.key ); } var candidateWorkHistory = { recaptchaEnabled: "", invisibleRecaptchaToken: "", subscriberKey: "", }; let jobAlertRequestObject = { candidateEmailAddress: "", locale: "", keywords: "", keywordsNoSpaces: "", subscriptionSource: "rhWebsite", countryCode: "", searchResultsUrl: "", subscriptionSourceUrl: "", postedWithin: "", jobType: "", empType: "", cityId: "", cityTxt: "", jobAlertsSubscriptionId: "", lobName: "", location: "", locationNoSpaces: "", googleAnalyticsClientId: "", emailFrequency: "W", jobOrderRecommendationsCount: "5", insrtDttmHist: "", subscriptionType: "Manual", status: "A", }; var leadApiRequestObject = { recaptchaEnabled: "", invisibleRecaptchaToken: "", servicePreference: "", startDate: "", languageLocale: "", rhAnalyticsAddInfo: "", routingEmail: "", candidateReference1: "", candidateFunctionalRole1: "", candidateReference2: "", candidateFunctionalRole2: "", candidateReference3: "", candidateFunctionalRole3: "", candidateReference4: "", candidateFunctionalRole4: "", candidateReference5: "", candidateFunctionalRole5: "", additionalAttribute1: "", additionalAttribute2: "", additionalAttribute3: "", additionalAttribute4: "", additionalAttribute5: "", skillsRequested: "", experienceDurationMin: "", experienceDurationMax: "", experiencePeriod: "", educationLevel: "", payRateMin: "", payRateMax: "", payPeriod: "", payRateCurrency: "", additionalInfo: "", actionRequestedOfLp: "SUBMIT", rhInternalTrackingType: "", }; var newsApiObject = { recaptchaEnabled: "", invisibleRecaptchaToken: "", }; var businessUnit = { us: "na", ca: "na", au: "iz_apac_sam", br: "iz_apac_sam", cl: "iz_apac_sam", cn: "iz_apac_sam", hk: "iz_apac_sam", jp: "iz_apac_sam", nz: "iz_apac_sam", sg: "iz_apac_sam", be: "iz_eu", ch: "iz_eu", de: "iz_eu", fr: "iz_eu", nl: "iz_eu", uk: "iz_eu", }; const removeTags = (str) => { if (str === null || str === "") { return false; } else { str = str.toString(); } // Regular expression to identify HTML tags in the input string. Replacing the identified HTML tag with a null string. str = str.replace(/(<([^>]+)>)/gi, ""); // Regular expression to identify enter in the input string. Replacing the identified enter with a null string. return (str = str.replace(/\r?\n|\r/g, "")); }; function ajaxCall(input, thisInstance, form) { let formActionUrl = document.querySelector(".form-btn") ? document.querySelector(".form-btn").closest("form").getAttribute("action") : document .querySelector(".form-submit-btn") .closest("form") .getAttribute("action"); let requestData = createRequestPayload(input, thisInstance); let tryCount = 0; const retryLimit = 3; const makeFetchRequest = () => { fetch(formActionUrl, { method: "POST", headers: { "Content-Type": "application/json" }, body: requestData, }) .then((response) => { const jqXHR = { status: response.status, readyState: 4, // api call is complete (equivalent to XMLHttpRequest.DONE) responseText: null, responseJSON: null, }; if (!response.ok) { return response.text().then((text) => { jqXHR.responseText = text; try { jqXHR.responseJSON = JSON.parse(text); } catch (e) { throw jqXHR; } throw jqXHR; }); } return response.text().then((text) => { jqXHR.responseText = text; try { jqXHR.responseJSON = JSON.parse(text); } catch (e) { console.error("Error processing response JSON:", e.message); throw jqXHR; } return jqXHR; }); }) .then((jqXHR) => { const responseJSON = JSON.parse(jqXHR.responseText); let requestMessageKey = responseJSON.request_message_key || responseJSON.request_message_Key; if (typeof requestMessageKey === "string") { requestMessageKey = requestMessageKey.trim(); } if ( jqXHR.readyState == "4" && (jqXHR.status == "202" || jqXHR.status == "200") ) { if (responseJSON.hasOwnProperty("recaptcha_response")) { if ( responseJSON.hasOwnProperty("request_message_key") || responseJSON.hasOwnProperty("request_message_Key") ) { if ( requestMessageKey === "20_validationFailed_invisibleRecaptchaToken" || requestMessageKey === "20_validationFailed_invisibleRecaptchaScore" ) { form.nextElementSibling.style.display = "none"; showInteractiveReCaptcha(); } if ( requestMessageKey === "20_validationFailed_interactiveRecaptchaToken" || requestMessageKey === "20_validationFailed_interativeRecaptchaToken" ) { form.nextElementSibling.style.display = "none"; document .querySelector(".form-container rhcl-alert:first") .setAttribute("copy", responseJSON.request_message); document.querySelector( ".form-container rhcl-alert:first" ).style.display = "block"; setTimeout(() => { const formContainer = document.querySelector(".form-container"); window.scrollTo({ top: formContainer.getBoundingClientRect() + formContainer.ownerDocument.defaultView.scrollY, behavior: "smooth", }); }, 500); } } } // To do success scenario if (!responseJSON.hasOwnProperty("recaptcha_response")) { form.nextElementSibling.style.display = "none"; recaptchaFlag = 0; var recaptchaContainer = document.getElementById( "grecaptcha-interactive" ); if (recaptchaContainer) { recaptchaContainer.remove(); } if ( leadApiRequestObject.hasOwnProperty("interactiveRecaptchaToken") ) { delete leadApiRequestObject.interactiveRecaptchaToken; } if ( candidateWorkHistory.hasOwnProperty("interactiveRecaptchaToken") ) { delete candidateWorkHistory.interactiveRecaptchaToken; } if (newsApiObject.hasOwnProperty("interactiveRecaptchaToken")) { delete newsApiObject.interactiveRecaptchaToken; } } if ( responseJSON.hasOwnProperty("recaptcha_response") && (requestMessageKey === "20_validationFailed_interactiveRecaptchaToken" || requestMessageKey === "20_validationFailed_interativeRecaptchaToken") ) { form.nextElementSibling.style.display = "none"; recaptchaFlag = 0; var recaptchaContainer = document.getElementById( "grecaptcha-interactive" ); if (recaptchaContainer) { recaptchaContainer.remove(); } if ( leadApiRequestObject.hasOwnProperty("interactiveRecaptchaToken") ) { delete leadApiRequestObject.interactiveRecaptchaToken; } if ( candidateWorkHistory.hasOwnProperty("interactiveRecaptchaToken") ) { delete candidateWorkHistory.interactiveRecaptchaToken; } if (newsApiObject.hasOwnProperty("interactiveRecaptchaToken")) { delete newsApiObject.interactiveRecaptchaToken; } } if ( !requestMessageKey === "20_validationFailed_interactiveRecaptchaToken" && !requestMessageKey === "20_validationFailed_interativeRecaptchaToken" ) { document .querySelectorAll(".form-container rhcl-alert") .forEach(function (el) { el.style.display = "none"; }); } var formTypeVal = document.querySelector( ".rhformhiddenfield input[name=formType]" ); var projectTypeVal = document.querySelector( ".rhformhiddenfield input[name=projectType]" ); var analyticObj; //Single step job order form if (formTypeVal && formTypeVal.value == "job-order") { var industry = document.querySelector( "form rhcl-text-field[name=industry]" )?.value; analyticObj = { tealium_event: "job_order_submit", datalayer_version: 2, event_action: "rhcl-button-clicked", event_text: document .querySelector("form rhcl-button") .getAttribute("component-tracking-label"), form_email: window.getUPO().email ? window.getUPO().email : window.getUPO().candidateEmail, form_type: formTypeVal.value, indicator_remote: document .querySelector("rhcl-checkbox") ?.hasAttribute("selected") ? true : false, industry: industry ? industry : "", job_id: document.querySelector("#sfJoNumber") ? document.querySelector("#sfJoNumber").getAttribute("value") : "", job_type: window.getUPO().employmentType, job_title: window.getUPO().positionTitle, lob: document.querySelector("#lob") ? document.querySelector("#lob").getAttribute("value") : "", location: window.getUPO().postalCode, }; if (window.getUPO().isLoggedIn) { analyticObj["user_id_sfc"] = window.getUPO().contactSfID ? window.getUPO().contactSfID : ""; } rh_datalayer_add(analyticObj, "event"); } //Executive Search form if (formTypeVal && formTypeVal.value == "executive-search") { analyticObj = { tealium_event: "job_order_submit", datalayer_version: 2, event_action: "rhcl-button-clicked", event_text: document .querySelector("form rhcl-button") .getAttribute("component-tracking-label"), event_version: "executive search", form_email: window.getUPO().email ? window.getUPO().email : window.getUPO().candidateEmail, form_type: formTypeVal.value, job_title: window.getUPO().positionTitle, location: window.getUPO().postalCode, }; if (window.getUPO().isLoggedIn) { analyticObj["user_id_sfc"] = window.getUPO().contactSfID ? window.getUPO().contactSfID : ""; } rh_datalayer_add(analyticObj, "event"); } //Newsletter subscription form if (formTypeVal && formTypeVal.value == "newsletter-subscription") { analyticObj = { tealium_event: "newsletter_subscription_submit", datalayer_version: 2, event_action: "rhcl-button-clicked", event_text: document .querySelector("form rhcl-button") .getAttribute("component-tracking-label"), form_email: window.getUPO().email ? window.getUPO().email : window.getUPO().candidateEmail, form_type: formTypeVal.value, }; if (window.getUPO().isLoggedIn) { analyticObj["user_id_sfc"] = window.getUPO().contactSfID ? window.getUPO().contactSfID : ""; } rh_datalayer_add(analyticObj, "event"); } //Salary guide form if (formTypeVal && formTypeVal.value == "salary-guide") { let userType = ""; let checkBoxVal = document.querySelector("form rhcl-radio-group") ? document.querySelector("form rhcl-radio-group").value : ""; if (checkBoxVal == "yes") { userType = "client"; } else if (checkBoxVal == "no") { userType = "candidate"; } analyticObj = { tealium_event: "salary_guide_submit", datalayer_version: 2, event_action: "rhcl-button-clicked", event_text: document .querySelector("form rhcl-button") .getAttribute("component-tracking-label"), form_email: window.getUPO().email ? window.getUPO().email : window.getUPO().candidateEmail, form_type: formTypeVal.value, user_type: userType, }; if (window.getUPO().isLoggedIn) { analyticObj["user_id_sfc"] = window.getUPO().contactSfID ? window.getUPO().contactSfID : ""; } rh_datalayer_add(analyticObj, "event"); } //webmaster feedback form if (formTypeVal && formTypeVal.value == "webmaster-feedback") { analyticObj = { tealium_event: "feedback_submit", datalayer_version: 2, event_action: "rhcl-button-clicked", event_text: document .querySelector("form rhcl-button") .getAttribute("component-tracking-label"), form_type: formTypeVal.value, }; if (window.getUPO().isLoggedIn) { analyticObj["user_id_sfc"] = window.getUPO().contactSfID ? window.getUPO().contactSfID : ""; } rh_datalayer_add(analyticObj, "event"); console.log(analyticObj, "event"); } //client visit form if (formTypeVal && formTypeVal.value == "client-visit") { analyticObj = { tealium_event: "client_visit_submit", datalayer_version: 2, event_action: "rhcl-button-clicked", event_text: document .querySelector("form rhcl-button") .getAttribute("component-tracking-label"), event_version: projectTypeVal.value, form_type: formTypeVal.value, form_name: formTypeVal.name, form_email: window.getUPO().email ? window.getUPO().email : window.getUPO().candidateEmail, page_name: "", page_section: "", user_focus: "", user_state: window.getUPO().isLoggedIn ? "auth" : "unauth", }; if (window.getUPO().isLoggedIn) { analyticObj["user_id_sfc"] = window.getUPO().contactSfID ? window.getUPO().contactSfID : ""; } rh_datalayer_add(analyticObj, "event"); } //gated form if (formTypeVal && formTypeVal.value == "gated") { let visitorTypeValue = document.querySelector( "form rhcl-radio-group[name='visitorType']" )?.value || ""; if ( visitorTypeValue === "" && document.getElementsByName("visitorType").length ) { visitorTypeValue = document.getElementsByName("visitorType")[0]?.value; } analyticObj = { tealium_event: "gated_submit", datalayer_version: 2, event_attr_01: visitorTypeValue, event_action: "rhcl-button-clicked", event_text: document .querySelector("form rhcl-button") .getAttribute("component-tracking-label"), event_version: projectTypeVal.value, form_type: formTypeVal.value, form_name: formTypeVal.name, form_email: window.getUPO().email ? window.getUPO().email : window.getUPO().candidateEmail, page_name: "", page_section: "", user_focus: "", user_state: window.getUPO().isLoggedIn ? "auth" : "unauth", }; if (window.getUPO().isLoggedIn) { analyticObj["user_id_sfc"] = window.getUPO().contactSfID ? window.getUPO().contactSfID : ""; } rh_datalayer_add(analyticObj, "event"); console.log(analyticObj, "event"); } //job order forms if ( formTypeVal && (formTypeVal.value == "job-order-no-rhd" || formTypeVal.value == "job-order-one-click") ) { analyticObj = { tealium_event: "job_order_submit", datalayer_version: 2, event_action: "rhcl-button-clicked", event_text: document .querySelector("form rhcl-button") .getAttribute("component-tracking-label"), form_type: formTypeVal.value, }; var hasEmail = Array.from( document.querySelectorAll("form rhcl-text-field") ).filter((ele) => { return ele.type == "email"; }); if (hasEmail.length) analyticObj["form_email"] = hasEmail[0].value; if (window.getUPO().isLoggedIn) { analyticObj["user_id_sfc"] = window.getUPO().contactSfID ? window.getUPO().contactSfID : ""; } rh_datalayer_add(analyticObj, "event"); } if ( formTypeVal && (formTypeVal.value == "candidate-referral" || formTypeVal.value == "email-us" || formTypeVal.value == "job-order-no-rhd" || formTypeVal.value == "job-order-one-click" || formTypeVal.value == "mobile-app-download" || formTypeVal.value == "candidate-work-history" || formTypeVal.value == "contact-us-aws" || formTypeVal.value == "contact-us") ) { analyticObj = { tealium_event: "form_submit", datalayer_version: 2, event_action: "rhcl-button-clicked", event_text: document .querySelector("form rhcl-button") .getAttribute("component-tracking-label"), form_type: formTypeVal.value, }; var hasEmail = Array.from( document.querySelectorAll("form rhcl-text-field") ).filter((ele) => { return ele.type == "email"; }); if (hasEmail.length) analyticObj["form_email"] = hasEmail[0].value; if (window.getUPO().isLoggedIn) { analyticObj["user_id_sfc"] = window.getUPO().contactSfID ? window.getUPO().contactSfID : ""; } rh_datalayer_add(analyticObj, "event"); } } if ( responseJSON.request_status == "error" || responseJSON.request_status == "ERROR" ) { form.nextElementSibling.style.display = "none"; document .querySelector(".form-container rhcl-alert") .setAttribute("copy", responseJSON.request_message); { const alertEl = document.querySelector( ".form-container rhcl-alert" ); if (alertEl) { alertEl.style.display = "block"; } } { scrollToTopOfForm(); } return; } if ( typeof responseJSON.request_message_Key !== "string" && responseJSON.request_message_Key !== "20_success" ) { if (responseJSON.hasOwnProperty("request_message_Key")) { form.nextElementSibling.style.display = "none"; if (responseJSON.request_message_Key.length > 0) { if ( responseJSON.request_message_Key.includes( "20_validationFailed_postalCode" ) ) { var postalCodeCopy = document .querySelector( '.form-container rhcl-alert[data-status="postalCodeError"]' ) .getAttribute("copy"); if (postalCodeCopy.includes("{postalCode}")) { var errorMessage = postalCodeCopy.replace( "{postalCode}", leadApiRequestObject.postalCode ); document .querySelector( '.form-container rhcl-alert[data-status="postalCodeError"]' ) .setAttribute("copy", errorMessage); { const alertEl = document.querySelector( '.form-container rhcl-alert[data-status="postalCodeError"]' ); if (alertEl) { alertEl.style.display = "block"; } } } } if ( responseJSON.request_message_Key.includes( "20_validationFailed_positionTitle" ) ) { if (positionTitleCopy.includes("{positionTitle}")) { var errorMessage = positionTitleCopy.replace( "{positionTitle}", leadApiRequestObject.positionTitle ); document .querySelector( '.form-container rhcl-alert[data-status="error"]' ) .setAttribute("copy", errorMessage); { const alertEl = document.querySelector( '.form-container rhcl-alert[data-status="error"]' ); if (alertEl) { alert.style.display = "block"; } } } } { scrollToTopOfForm(); } } } } if (document.querySelector(".salary-guide") !== null) { form.nextElementSibling.style.display = "none"; saveGatingPropertyInUPO(); } if ( document.querySelector("#showRedirectStatus") !== null && !responseJSON.hasOwnProperty("recaptcha_response") && requestMessageKey.includes("20_success") ) { form.nextElementSibling.style.display = "none"; var thankyouPage = thisInstance .getAttribute("destination") .replace("/content/roberthalf", "") .replace(".html", ""); const redirectionUrl = window.localStorage.getItem("redirectionUrl"); if ( thankyouPage != undefined && thankyouPage != "" && thankyouPage != null ) { if (redirectionUrl) { if (thankyouPage.includes("html")) { thankyouPage = thankyouPage.split(".")[0]; thankyouPage += redirectionUrl + ".html"; } else { thankyouPage += redirectionUrl; } localStorage.removeItem("redirectionUrl"); } window.location.replace(thankyouPage); } } if ( document.querySelector("#showPopupStatus") !== null && !responseJSON.hasOwnProperty("recaptcha_response") && requestMessageKey.includes("20_success") ) { form.nextElementSibling.style.display = "none"; { const alertEl = document.querySelector( ".form-container rhcl-alert" ); if (alertEl) { alertEl.style.display = "none"; } } var defaultMasg = responseJSON.hasOwnProperty("request_message") ? responseJSON.request_message : "The action was processed successfully."; var errorCopy = document.querySelector("#showPopupStatus") && document.querySelector("#showPopupStatus").getAttribute("data-copy") ? document .querySelector("#showPopupStatus") .getAttribute("data-copy") : defaultMasg; errorCopy = removeTags(errorCopy); { const formContainer = document.querySelector(".form-container"); if (formContainer) { formContainer.style.display = "none"; } } { const formContentEls = document.querySelectorAll( '[slot="form-content"]' ); formContentEls.forEach((el) => { el.style.display = "flex"; el.style.justifyContent = "center"; el.style.flexWrap = "wrap"; }); } document .querySelectorAll('[slot="form-content"]') .forEach(function (element) { element.insertAdjacentHTML( "afterbegin", `<rhcl-typography tag='p' variant='body1'>${errorCopy}</rhcl-typography>` ); }); { scrollToTopOfForm(); } } if (document.querySelector("#email-model") !== null) { form.nextElementSibling.style.display = "none"; document.querySelector("#email-model").removeAttribute("show-modal"); if (document.querySelector("#thankyou-modal") !== null) { document .querySelector("#thankyou-modal") .setAttribute("show-modal", ""); let thankuname, thankuemail; if (localStorage.getItem("unifiedProfileObject") != null) { thankuname = window.getUPO().firstName; thankuemail = window.getUPO().emailAddress ? window.getUPO().emailAddress : window.getUPO().email; } let thankyouHeading = document.querySelector( "#thankyou-modal rhcl-heading" ); let thankyouEmail = document.querySelector( "#thankyou-modal rhcl-typography" ); if (thankyouHeading != null) { let thankyouname = document .querySelector("#thankyou-modal rhcl-heading") .getAttribute("data-attribute-heading"); thankyouname = thankyouname.replace("<>", thankuname); document.querySelector( "#thankyou-modal rhcl-heading" ).textContent = thankyouname; } if (thankyouEmail != null) { let thankyouemail = document .querySelector("#thankyou-modal rhcl-typography") .getAttribute("data-attribute-disclaimer"); thankyouemail = thankyouemail.replace("<>", thankuemail); document.querySelector( "#thankyou-modal rhcl-typography" ).textContent = thankyouemail; } } } }) .catch((jqXHR) => { if ([502, 503, 504].includes(jqXHR.status)) { form.nextElementSibling.style.display = "none"; tryCount++; if (tryCount < retryLimit) { makeFetchRequest(); return; } } if ([500, 502, 503, 504].includes(jqXHR.status)) { form.nextElementSibling.style.display = "none"; const alertEl = document.querySelector( ".form-container rhcl-alert[data-status='" + currentStatus + "']" ); if (alertEl) { alertEl.style.display = "block"; } scrollToTopOfForm(); } if ( jqXHR.status === 400 && (jqXHR.responseJSON.request_status === "error" || jqXHR.status === "ERROR") ) { form.nextElementSibling.style.display = "none"; document .querySelector(".form-container rhcl-alert:first") .setAttribute("copy", responseJSON.request_message); document.querySelector( ".form-container rhcl-alert:first" ).style.display = "block"; scrollToTopOfForm(); } }); }; makeFetchRequest(); } window.ready(function () { document .querySelectorAll(".form-submit-btn rhcl-button") .forEach(function (el) { el.addEventListener("click", function (e) { e.preventDefault(); recaptchaStatus(); getLeadId(); setTimeout(getSubmissionDate, 2000); let thisInstance = this; let form = this.closest("form"); if (!form.closest(".salary-guide")) { localStorage.removeItem("redirectionUrl"); } var inputElements = form.querySelectorAll("[rhcl-input]"); var dateElements = form.querySelectorAll("rhcl-datepicker"); let validateFieldArray = [...inputElements, ...dateElements]; validateForm(validateFieldArray, thisInstance, form); if (document.querySelectorAll(".salary-guide").length > 0) { updateHiddenFields(); } }); }); document.querySelectorAll(".form-btn rhcl-button").forEach(function (el) { el.addEventListener("click", function (e) { e.preventDefault(); const thisInstance = this; var form = document.querySelector(".form-btn") ? document.querySelector(".form-btn").closest("form") : null; var inputElements = form ? form.querySelectorAll("[rhcl-input]") : []; let validateFieldArray = Array.from(inputElements); validateForm(validateFieldArray, thisInstance, form); recaptchaStatus(); }); }); }); function getPostalCodeInForm() { return document.querySelector("rhcl-text-field[name='postalCode']"); } function isCountryUS() { var country = document.getElementById("country"); return country && country.hasAttribute("value") && country.value == "US"; } function isPostalCodeInvalidForUS(value) { return ( value.match(/^(82[0-9]{3}|83[0-3][0-9]{2}|8341[0-4])$/) || value.match( /^(995[0-9]{2}|996[0-9]{2}|997[0-9]{2}|998[0-9]{2}|999[0-4][0-9]|99950)$/ ) || value.match( /^(24[7-9][0-9]{2}|25[0-9]{3}|26[0-7][0-9]{2}|268[0-7][0-9]|2688[0-6])$/ ) ); } function getPostalCodeErrorValidity() { var postalCodeField = getPostalCodeInForm(); var value = postalCodeField.value; if (!postalCode || !isCountryUS()) { return false; } const isInvalid = isPostalCodeInvalidForUS(value); var initialMessage = postalCodeField.getAttribute("custom-error-message"); if (isInvalid) { initialMessage = `Robert Half cannot support staffing needs in ${value} at this time.`; postalCodeField.setAttribute("custom-invalid", ""); postalCodeField.setAttribute("custom-error-message", initialMessage); } else { postalCodeField.removeAttribute("custom-invalid"); postalCodeField.removeAttribute("custom-error-message"); } return isInvalid; } var postalCode = getPostalCodeInForm(); if (postalCode) { postalCode.addEventListener("rhcl-text-field-blur", function (e) { if (isCountryUS()) { let isValid = true; const promises = []; postalCode.removeAttribute("custom-invalid"); postalCode.customInvalid = null; promises.push(postalCode.validate()); Promise.allSettled(promises).then((results) => { results.forEach((result) => { if (result.status === "fulfilled") { if (!result.value) { isValid = false; } } }); if (isValid) { getPostalCodeErrorValidity(); } }); } }); if ( getURLParameter("postalCode") != "" || getURLParameter("postalCode") != null || getURLParameter("postalCode") != undefined ) { var postalCodecount = 0; document .querySelector(".form-container rhcl-text-field[name='postalCode']") .addEventListener("rhcl-text-field-changed", function (e) { var patternId = document.querySelector("#rhFormTextField"); var pattern = ""; var patternMessage = ""; if (patternId) { pattern = patternId.hasAttribute("data-pattern") ? patternId.getAttribute("data-pattern") : ""; patternMessage = patternId.hasAttribute("data-errorMessage") ? patternId.getAttribute("data-errorMessage") : ""; } let isValid = true; const promises = []; document .querySelector("rhcl-text-field[name='postalCode']") .removeAttribute("custom-invalid"); document.querySelector( "rhcl-text-field[name='postalCode']" ).customInvalid = null; promises.push( document .querySelector("rhcl-text-field[name='postalCode']") .validate() ); Promise.allSettled(promises).then((results) => { results.forEach((result) => { if (result.status === "fulfilled") { if (!result.value) { isValid = false; } } }); if (isValid) { postalCodecount += 1; if (postalCodecount < 2 && this.value) { const value = this.value; if (pattern && value.match(pattern) == null) { this.setAttribute("custom-invalid", ""); } else { this.removeAttribute("custom-invalid"); } this.setAttribute("custom-error-message", patternMessage); } } }); }); } } function getEmailField() { return document.querySelector('[id^="rhcl-text-field"][type="email"]'); } if ( document.querySelector("rhcl-datepicker[name='startDate']") && document.querySelector("rhcl-datepicker[name='endDate']") ) { document .querySelector("rhcl-datepicker[name='endDate']") .addEventListener("rhcl-calendar-change", (e) => { let isValid = true; const promises = []; document .querySelector("rhcl-datepicker[name='endDate']") .removeAttribute("custom-invalid"); document.querySelector("rhcl-datepicker[name='endDate']").customInvalid = null; document .querySelector("rhcl-datepicker[name='endDate']") .labelRef.removeAttribute("custom-invalid"); promises.push( document.querySelector("rhcl-datepicker[name='endDate']").validate() ); Promise.allSettled(promises).then((results) => { results.forEach((result) => { if (result.status === "fulfilled") { if (!result.value) { isValid = false; } } }); if (isValid) { const formName = document.querySelector( "input[name='formName']" ).value; if (formName && formName.includes("candidate_work_history")) { const startDate = document.querySelector( "rhcl-datepicker[name='startDate']" ); const endDate = document.querySelector( "rhcl-datepicker[name='endDate']" ); const errorMsg = endDate.hasAttribute("data-custom-error-message") ? endDate.getAttribute("data-custom-error-message") : ""; var initialMessage = endDate.getAttribute("custom-error-message"); endDate.removeAttribute("custom-invalid"); endDate.labelRef.removeAttribute("custom-invalid"); var flag = 0; if (new Date(startDate.value) >= new Date(endDate.value)) { flag = 1; if (errorMsg) { initialMessage = errorMsg; } else { initialMessage = "Start Date can not be greater than End Date"; } } if (flag == 1) { endDate.setAttribute("custom-invalid", ""); endDate.labelRef.setAttribute("custom-invalid", ""); } else { endDate.removeAttribute("custom-invalid"); endDate.labelRef.removeAttribute("custom-invalid"); } endDate.setAttribute("custom-error-message", initialMessage); } } }); }); document .querySelector("rhcl-datepicker[name='startDate']") .addEventListener("rhcl-calendar-change", (e) => { let isValid = true; const promises = []; if (document.querySelector("rhcl-datepicker[name='endDate']").value) { document .querySelector("rhcl-datepicker[name='endDate']") .removeAttribute("custom-invalid"); document.querySelector( "rhcl-datepicker[name='endDate']" ).customInvalid = null; document .querySelector("rhcl-datepicker[name='endDate']") .labelRef.removeAttribute("custom-invalid"); promises.push( document.querySelector("rhcl-datepicker[name='endDate']").validate() ); Promise.allSettled(promises).then((results) => { results.forEach((result) => { if (result.status === "fulfilled") { if (!result.value) { isValid = false; } } }); if (isValid) { var startDate = document.querySelector( "rhcl-datepicker[name='startDate']" ); var endDate = document.querySelector( "rhcl-datepicker[name='endDate']" ); const errorMsg = endDate.hasAttribute("data-custom-error-message") ? endDate.getAttribute("data-custom-error-message") : ""; var initialMessage = endDate.getAttribute("custom-error-message"); endDate.removeAttribute("custome-invalid"); endDate.labelRef.setAttribute("custom-invalid", ""); var flag = 0; if ( endDate.value && new Date(startDate.value) > new Date(endDate.value) ) { flag = 1; if (errorMsg) { initialMessage = errorMsg; } else { initialMessage = "Start Date can not be greater than End Date"; } } if (flag == 1) { endDate.setAttribute("custom-invalid", ""); endDate.labelRef.setAttribute("custom-invalid", ""); } else { endDate.removeAttribute("custom-invalid"); endDate.labelRef.removeAttribute("custom-invalid"); } endDate.setAttribute("custom-error-message", initialMessage); } }); } }); } if (document.querySelector("rhcl-checkbox[name='currentEmployer']")) { document .querySelector("rhcl-checkbox[name='currentEmployer']") .addEventListener("rhcl-checkbox-changed", () => { const formName = document.querySelector("input[name='formName']").value; if (formName && formName.includes("candidate_work_history")) { const currEmp = document.querySelector( "rhcl-checkbox[name='currentEmployer']" ).selected; const endDate = document.querySelector( "rhcl-datepicker[name='endDate']" ); if (currEmp && endDate) { endDate.setAttribute("disabled", ""); endDate.setAttribute("date", ""); endDate.style.pointerEvents = "none"; endDate.style.opacity = 0.6; endDate.hasAttribute("custom-invalid") ? endDate.removeAttribute("custom-invalid") : ""; } else { endDate.removeAttribute("disabled"); endDate.style.pointerEvents = "unset"; endDate.style.opacity = 1; } } }); } function updateHiddenFields() { var pagePath = new URL(window.location); pagePath = pagePath.pathname.replace("/content/roberthalf", ""); var country = pagePath.split("/")[1]; var language = pagePath.split("/")[2]; if ( businessUnit.hasOwnProperty(country) && country != undefined && language != undefined ) { var formName = "form_" + businessUnit[country] + "_" + country + "_" + language + "_salary_guide_gating"; if (document.querySelector("input[name='formName']") != null) { document.querySelector("input[name='formName']").value = formName; } if (document.querySelector("input[name='language']") != null) { document.querySelector("input[name='language']").value = language.toUpperCase(); } if (document.querySelector("input[name='countryCode']") != null) { document.querySelector("input[name='countryCode']").value = country.toUpperCase(); } if (document.querySelector("input[name='salaryGuideYear']") != null) { document.querySelector("input[name='salaryGuideYear']").value = new Date().getFullYear(); } } } function createRequestPayload(input, thisInstance) { let unifiedProfileObject; var hiddenInput = thisInstance .closest("form") .querySelectorAll("input[type=hidden]"); var dates = document.querySelectorAll("form rhcl-datepicker"); if (document.querySelector(".salary-guide") != null) { if ( leadApiRequestObject.hasOwnProperty("recaptchaEnabled") || leadApiRequestObject.hasOwnProperty("invisibleRecaptchaToken") ) { var token = leadApiRequestObject.invisibleRecaptchaToken; var status = leadApiRequestObject.recaptchaEnabled; leadApiRequestObject = { invisibleRecaptchaToken: token, recaptchaEnabled: status, }; } } if (localStorage.getItem("unifiedProfileObject") != null) { unifiedProfileObject = window.getUPO(); } const inputArray = [...input, ...hiddenInput, ...dates]; if ( document .querySelector("form[data-attribute-jobalert]") ?.getAttribute("data-attribute-jobalert") === "true" ) { let inputValues = { searchTerms: "", emailAddress: "", location: "", country: "", language: "", }; for (const element in inputArray) { inputValues = retrieveJobAlertsInputFields( inputArray[element], inputValues ); } updateJobAlertDetails(inputValues); return JSON.stringify(jobAlertRequestObject); } else { for (const element in inputArray) { if ( inputArray[element].tagName.toLocaleLowerCase() != "rhcl-checkbox" && inputArray[element].tagName.toLocaleLowerCase() != "rhcl-radio" && inputArray[element].tagName.toLocaleLowerCase() != "rhcl-datepicker" ) { if (inputArray[element].value != undefined) { var noStringsInput = inputArray[element].value.replace(/["']/g, ""); leadApiRequestObject[inputArray[element].name] = noStringsInput; if ( document.querySelector("[data-attribute-iz]") != null && inputArray[element].tagName.toLocaleLowerCase() === "rhcl-radio-group" ) { if (inputArray[element].value.toLocaleLowerCase() === "client") { newsApiObject["newsClient"] = "True"; newsApiObject["newsCandidate"] = "False"; } else if ( inputArray[element].value.toLocaleLowerCase() === "candidate" ) { newsApiObject["newsClient"] = "False"; newsApiObject["newsCandidate"] = "True"; } } else { newsApiObject[inputArray[element].name] = inputArray[element].value; candidateWorkHistory[inputArray[element].name] = inputArray[element].value; } if (unifiedProfileObject != null) { if (inputArray[element].name in unifiedProfileObject) { if (inputArray[element].name === "email") { unifiedProfileObject["emailAddress"] = inputArray[element].value; } else if (inputArray[element].name === "emailAddress") { unifiedProfileObject["email"] = inputArray[element].value; } unifiedProfileObject[inputArray[element].name] = inputArray[element].value; if ( unifiedProfileObject.peopleNumber != "" && document.querySelector("form[data-attribute-ssjo]") != null ) { leadApiRequestObject["peopleNumber"] = unifiedProfileObject.peopleNumber; } if (unifiedProfileObject.contactSfID != "") { newsApiObject["sfContactID"] = unifiedProfileObject.contactSfID; } } if (unifiedProfileObject.contactSfID != "") { candidateWorkHistory["subscriberKey"] = unifiedProfileObject.contactSfID; } } if ( !leadApiRequestObject.rhInternalTrackingType || leadApiRequestObject.rhInternalTrackingType === "Not found" ) { // if the tracking type isn't already set by an ad campaign url leadApiRequestObject["rhInternalTrackingType"] = unifiedProfileObject.isLoggedIn ? "LUX" : "RH Website Visitor"; } } } if ( inputArray[element].tagName.toLocaleLowerCase() == "rhcl-datepicker" ) { if (inputArray[element].value === "") { candidateWorkHistory[inputArray[element].name] = ""; } else { candidateWorkHistory[inputArray[element].name] = changeDateFormat( inputArray[element].value ); } } } var radioValue = document.querySelectorAll("form rhcl-radio:checked"); if (radioValue != null) { radioValue.forEach(function (element) { leadApiRequestObject[element.name] = element.value; newsApiObject[element.name] = element.value; candidateWorkHistory[element.name] = element.value; if (unifiedProfileObject != null) { if (element.name in unifiedProfileObject) { unifiedProfileObject[element.name] = element.value; } } }); } if ( document.querySelectorAll("[data-attribute-iz]").length > 0 && "radioButton" in newsApiObject ) { delete newsApiObject.radioButton; } if ( document.querySelectorAll("[data-attribute-iz]").length > 0 && "radioButtons" in newsApiObject ) { delete newsApiObject.radioButtons; } if ("formType" in newsApiObject) { delete newsApiObject.formType; } var checkboxValue = document.querySelectorAll("form rhcl-checkbox"); if (checkboxValue.length > 0) { checkboxValue.forEach(function (element) { if (element.selected == true) { if (element.name != null) { leadApiRequestObject[element.name] = element.value || "true"; newsApiObject[element.name] = element.value || "true"; candidateWorkHistory[element.name] = element.value || "true"; if (unifiedProfileObject != null) { if (element.name in unifiedProfileObject) { unifiedProfileObject[element.name] = element.value || "true"; } } } } else { if (leadApiRequestObject.hasOwnProperty(element.name)) { delete leadApiRequestObject[element.name]; } leadApiRequestObject[element.name] = "false"; newsApiObject[element.name] = element.value || "false"; candidateWorkHistory[element.name] = element.value || "false"; } }); } if (unifiedProfileObject != null) { window.setUPO(unifiedProfileObject); } if (document.querySelectorAll(".form-btn").length > 0) { return JSON.stringify(newsApiObject); } if ( document.querySelectorAll("input[name='formName']").length > 0 && document.querySelectorAll("input[name='formName']").value === "form_na_candidate_work_history" ) { return JSON.stringify(candidateWorkHistory); } return JSON.stringify(leadApiRequestObject); } function changeDateFormat(inputDate) { if (inputDate) { var splitDate = inputDate.split("-"); if (splitDate.count == 0) { return null; } var year = splitDate[0]; var month = splitDate[1]; var day = splitDate[2]; return month + "-" + day + "-" + year; } else { return ""; } } function retrieveJobAlertsInputFields(inputElement, inputValues) { if (inputElement.name == null) { return inputValues; } if (inputElement.name.toLocaleLowerCase() === "searchterms") { inputValues.searchTerms = inputElement.value; } if (inputElement.name.toLocaleLowerCase() === "email") { inputValues.emailAddress = inputElement.value; } if (inputElement.name.toLocaleLowerCase() === "location") { inputValues.location = inputElement.value; } return inputValues; } function updateJobAlertDetails(inputValues) { let pagePath = new URL(window.location); pagePath = pagePath.pathname.replace("/content/roberthalf", ""); if (pagePath) { inputValues.country = pagePath.split("/")[1]; inputValues.language = pagePath.split("/")[2]; } jobAlertRequestObject.candidateEmailAddress = inputValues.emailAddress; jobAlertRequestObject.keywords = inputValues.searchTerms; jobAlertRequestObject.keywordsNoSpaces = inputValues.searchTerms.replace( /\s+/g, "" ); jobAlertRequestObject.location = inputValues.location; jobAlertRequestObject.locationNoSpaces = inputValues.location.replace( /\s+/g, "" ); jobAlertRequestObject.locale = inputValues.language.toLowerCase() + "_" + inputValues.country.toUpperCase(); jobAlertRequestObject.countryCode = inputValues.country.toLowerCase(); jobAlertRequestObject.insrtDttmHist = new Date().toISOString(); jobAlertRequestObject.subscriptionSourceUrl = window.location.href; jobAlertRequestObject.searchResultsUrl = window.location.origin + "/" + inputValues.country.toLowerCase() + "/" + inputValues.language.toLowerCase() + "/jobs/" + inputValues.location.replace(/ /g, "-") + "/" + encodeURIComponent(inputValues.searchTerms); const randomString = Math.random().toString(36).slice(2, 12); const timestamp = Date.now().toString().slice(-10); jobAlertRequestObject.jobAlertsSubscriptionId = `${randomString}_${timestamp}`; } } window.verifyCallback = function verifyCallback(response) { recaptchaFlag = 1; leadApiRequestObject["interactiveRecaptchaToken"] = response; candidateWorkHistory["interactiveRecaptchaToken"] = response; newsApiObject["interactiveRecaptchaToken"] = response; if (leadApiRequestObject.hasOwnProperty("invisibleRecaptchaToken")) { delete leadApiRequestObject.invisibleRecaptchaToken; } if (candidateWorkHistory.hasOwnProperty("invisibleRecaptchaToken")) { delete candidateWorkHistory.invisibleRecaptchaToken; } if (newsApiObject.hasOwnProperty("invisibleRecaptchaToken")) { delete newsApiObject.invisibleRecaptchaToken; } }; function showInteractiveReCaptcha() { recaptchaFlag = 1; var key = document.querySelectorAll(".form-btn").length > 0 ? document .querySelector(".form-btn rhcl-button") .getAttribute("interactive-key") : document .querySelector(".form-submit-btn rhcl-button") .getAttribute("interactive-key"); // Create the interactive reCAPTCHA HTML var recaptchaContainer = document.createElement("span"); recaptchaContainer.id = "grecaptcha-interactive"; recaptchaContainer.className = "g-recaptcha"; recaptchaContainer.setAttribute("data-sitekey", key); recaptchaContainer.setAttribute("data-callback", "verifyCallback"); recaptchaContainer.setAttribute("theme", "light"); var formGeneral = document.querySelector(".form-submit-btn"); var formNews = document.querySelector(".form-btn"); if (formGeneral != null) { document .querySelector(".form-submit-btn") .insertBefore( recaptchaContainer, document.querySelector(".form-submit-btn").firstChild ); } if (formNews != null) { document .querySelector(".form-btn") .insertBefore( recaptchaContainer, document.querySelector(".form-btn").firstChild ); } // Render the interactive reCAPTCHA grecaptcha.render(recaptchaContainer, { sitekey: key, }); //ajax call in which we will get the score //passes } function validateRecaptcha(input, thisInstance, form) { var key = document.querySelectorAll(".form-btn").length > 0 ? document .querySelector(".form-btn rhcl-button") .getAttribute("invisible-key") : document .querySelector(".form-submit-btn rhcl-button") .getAttribute("invisible-key"); grecaptcha.enterprise.ready(function () { grecaptcha.enterprise .execute(key, { action: "click", }) .then(function (token) { leadApiRequestObject["invisibleRecaptchaToken"] = token; candidateWorkHistory["invisibleRecaptchaToken"] = token; newsApiObject["invisibleRecaptchaToken"] = token; ajaxCall(input, thisInstance, form); }); }); } async function validateForm(input, thisInstance, form) { let isValid = true; const fieldsToValidate = input; const promises = []; var flag = 1; fieldsToValidate.forEach((elem) => { if ( typeof elem.validate === "function" && !elem.getAttribute("form-submission-hidden") ) { promises.push(elem.validate()); } }); // wait for all promises to be finished await Promise.allSettled(promises).then(async (results) => { results.forEach((result) => { if (result.status === "fulfilled") { if (!result.value) { isValid = false; } } }); const parameters = getURLParameters(); var params = Object.keys(parameters); flag = getByPassStatus(params); var postalCode = getPostalCodeInForm(); if (isValid && postalCode && isCountryUS()) { const isPostalCodeInvalid = getPostalCodeErrorValidity(); if (isPostalCodeInvalid) { isValid = false; } } // getEmailField and email valid functions are written in emailValidation.html file. var emailField = getEmailField(); if ( isValid && emailField && window.shouldCheckEmailValidation && typeof window.shouldCheckEmailValidation === "function" && shouldCheckEmailValidation(emailField.value) ) { var isEmailCustomValid = checkEmailValidityForCustomDomains( emailField.value ); if (!isEmailCustomValid) { isValid = false; } setEmailCustomErrorMessage(); if (isValid) { // check email for candidate restricted emails if (window.ssjoCandidateEmailCheck) { document.querySelector("#backdrop").style.display = "block"; await window.ssjoCandidateEmailCheck(); document.querySelector("#backdrop").style.display = "none"; } if (emailField.customInvalid) { isValid = false; } } } if (isValid) { form.nextElementSibling.style.display = "block"; if (test && flag) { if (recaptchaFlag === 0) { validateRecaptcha(input, thisInstance, form); } else ajaxCall(input, thisInstance, form); } if (!test && !flag) { ajaxCall(input, thisInstance, form); } if (test && !flag) { ajaxCall(input, thisInstance, form); } if (!test && flag) { ajaxCall(input, thisInstance, form); } } }); } function recaptchaStatus() { var flag = 1; const parameters = getURLParameters(); var params = Object.keys(parameters); flag = getByPassStatus(params); if (test) { leadApiRequestObject["recaptchaEnabled"] = "true"; newsApiObject["recaptchaEnabled"] = "true"; candidateWorkHistory["recaptchaEnabled"] = "true"; } else { leadApiRequestObject["recaptchaEnabled"] = "false"; newsApiObject["recaptchaEnabled"] = "false"; candidateWorkHistory["recaptchaEnabled"] = "false"; } if (!flag) { leadApiRequestObject["recaptchaEnabled"] = "false"; leadApiRequestObject[bypassPerimeter] = parameters[bypassPerimeter]; newsApiObject["recaptchaEnabled"] = "false"; newsApiObject[bypassPerimeter] = parameters[bypassPerimeter]; candidateWorkHistory["recaptchaEnabled"] = "false"; candidateWorkHistory[bypassPerimeter] = parameters[bypassPerimeter]; } } function getLeadId() { if (document.querySelector("#leadId") != null) { var leadId = crypto.randomUUID(); var leadIdArray = [...document.querySelectorAll("#leadId")]; leadIdArray.forEach(function (ele) { ele.value = "rhwebsite_" + leadId; }); } } /*************************** Salary Guide Gating Logic*********************************************/ window.ready(function () { if (document.querySelector(".salary-guide") != null) { var currentUrl = new URL(window.location); if (currentUrl.pathname.includes(".html")) { var urlString = currentUrl.pathname.split("."); currentUrl = urlString[0]; } else { currentUrl = currentUrl.pathname; } if ( currentUrl.endsWith("salary-guide") || currentUrl.endsWith("guide-salarial") || currentUrl.endsWith("gehaltsuebersicht") || currentUrl.endsWith("salarisgids") || currentUrl.endsWith("guide-des-salaires") || currentUrl.endsWith("guia-salarial") ) { if (localStorage.getItem("unifiedProfileObject") != null) { var upo = window.getUPO(); var cookie = getCookie("wcmmode"); const gatingPropertyEl = document.querySelector(".gating-properties"); if (gatingPropertyEl != null && cookie != "edit") { var gatingproperty = gatingPropertyEl.getAttribute("gatingproperty") !== undefined ? gatingPropertyEl.getAttribute("gatingproperty") : "sgGatingFormSubmitted"; if (upo.hasOwnProperty(gatingproperty)) { var redirecturl = gatingPropertyEl.getAttribute("gatedredirect") != undefined ? gatingPropertyEl.getAttribute("gatedredirect") : ""; if (redirecturl != "") { window.location.replace(redirecturl); } } } } } } }); function checkQueryString(field) { var url = window.location.href; if (url.indexOf("?" + field + "=") != -1) { return true; } else if (url.indexOf("&" + field + "=") != -1) { return true; } return false; } function getURLParameter(sParam) { var sPageURL = new URL(window.location); sPageURL = sPageURL.search.substring(1); var sURLVariables = sPageURL.split("&"); for (var i = 0; i < sURLVariables.length; i++) { var sParameterName = sURLVariables[i].split("="); if (sParameterName[0] == sParam) { return sParameterName[1]; } } } //current date and time in format YYYY-MM-DD HH:MM:SS function currentDateTime() { var d = new Date(); d = d.getFullYear() + "-" + (d.getMonth() + 1 < 10 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1) + "-" + (d.getDate() < 10 ? "0" + d.getDate() : d.getDate()) + " " + (d.getHours() < 10 ? "0" + d.getHours() : d.getHours()) + ":" + (d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes()) + ":" + (d.getSeconds() < 10 ? "0" + d.getSeconds() : d.getSeconds()); return d; } function getSubmissionDate() { if (document.querySelector("#submissionDateTime") != null) { document.querySelector("#submissionDateTime").value = currentDateTime(); } if (document.querySelector("#submissionDate") != null) { document.querySelector("#submissionDate").value = currentDateTime(); } } window.ready(function () { /***************************on focus analytics*********************************************/ var refreshCount = 0; document.querySelector(".form-container [rhcl-input][required]") && document .querySelector(".form-container [rhcl-input][required]") .addEventListener("focus", () => { refreshCount += 1; var formTypeVal = document.querySelector( ".rhformhiddenfield input[name=formType]" ); var analyticObj = { tealium_event: "focus_click", datalayer_version: 2, event_action: "focus", event_text: document .querySelector(".form-container [rhcl-input][required]") .getAttribute("name"), form_type: formTypeVal.value ? formTypeVal.value : "", }; if (window.getUPO().isLoggedIn) { analyticObj["user_id_sfc"] = window.getUPO().contactSfID ? window.getUPO().contactSfID : ""; } if (refreshCount < 2) { rh_datalayer_add(analyticObj, "event"); } }); }); }()) </script> <!-- Conditional form routing data --> <form action="https://prd-dr.lp.api.roberthalfonline.com/proxy-lead-processing/send" class="form-container" data-attribute-ssjo> <span type="hidden" id="bypassToken" name="bypassToken" value="bypassToken"></span> <rhcl-alert hidden data-status="500" copy="Our system temporarily timed out. Please try again in a few minutes or contact us if the issue persists." headline="Error!"></rhcl-alert> <rhcl-alert hidden data-status="502" copy="Our system temporarily timed out. Please try again in a few minutes or contact us if the issue persists." headline="Error!"></rhcl-alert> <rhcl-alert hidden data-status="503" copy="Our system temporarily timed out. Please try again in a few minutes or contact us if the issue persists." headline="Error!"></rhcl-alert> <rhcl-alert hidden data-status="504" copy="Our system temporarily timed out. Please try again in a few minutes or contact us if the issue persists." headline="Error!"></rhcl-alert> <rhcl-alert hidden data-status="error" copy="Sorry, we don’t staff the role of {positionTitle} at this time." headline="Error!"></rhcl-alert> <rhcl-alert hidden data-status="postalCodeError" copy="Robert Half cannot support staffing needs in {postalCode} at this time." headline="Error!"></rhcl-alert> <div class="root container-fluid cmp-container"> <div class="form-field-set row"> <div class="field-set-header"> <rhcl-heading modifier="" tag="h2" theme="" variant="display5">Informationen zur offenen Stelle</rhcl-heading> </div> <div class="field-element-row col-md-12"> <div class="row"> <div class="col-md-6 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="root container-fluid cmp-container aem-GridColumn aem-GridColumn--default--12"> <rhcl-dropdown label="Spezialisierung" required error-message="Bitte geben Sie eine Spezialisierung ein." size="small" theme="concrete" name="specialization"> <rhcl-dropdown-item slot="item" value="Finanz- &amp; Rechnungswesen"> Finanz- &amp; Rechnungswesen </rhcl-dropdown-item> <rhcl-dropdown-item slot="item" value="IT-Bereich"> IT-Bereich </rhcl-dropdown-item> <rhcl-dropdown-item slot="item" value="Kaufmännischer Bereich"> Kaufmännischer Bereich </rhcl-dropdown-item> <rhcl-dropdown-item slot="item" value="Freelancer"> Interim Management </rhcl-dropdown-item> <rhcl-dropdown-item slot="item" value="Executive Search"> Executive Search </rhcl-dropdown-item> </rhcl-dropdown> </div> </div> </div> <div class="col-md-6 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="rhformtext text aem-GridColumn aem-GridColumn--default--12"> <rhcl-text-field id="rhcl-text-field--1047207009" label="Jobtitel" type="text" required min-length="2" min-length-message="Jobtitel muss aus mindestens 2 Zeichen bestehen." error-message="Bitte füllen Sie das Feld Jobtitel aus." format-message="Bitte geben Sie einen gültigen Jobtitel ein." size="small" theme="concrete" name="positionTitle"> </rhcl-text-field> <script> var element = document.getElementById("rhcl-text-field--1047207009"); element.addEventListener("rhcl-text-field-changed", function(){this.value=this.value.trim();}); </script> <script> window.ready(() => { window.addEventListener("rhcl-text-field-blur", e => { const textField = e.target textField.customInvalid = null; textField.customErrorMessage = null; }) }) </script></div> </div> </div> <div class="col-md-6 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="root container-fluid cmp-container aem-GridColumn aem-GridColumn--default--12"> <rhcl-dropdown label="Beschäftigungsart" required error-message="Bitte geben Sie eine Beschäftigungsart ein." size="small" theme="concrete" name="employmentType"> <rhcl-dropdown-item slot="item" value="Temp"> Temporärarbeit oder Interim Management </rhcl-dropdown-item> <rhcl-dropdown-item slot="item" value="Perm"> Direktvermittlung </rhcl-dropdown-item> </rhcl-dropdown> </div> </div> </div> <div class="col-md-6 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="root container-fluid cmp-container aem-GridColumn aem-GridColumn--default--12"> <rhcl-dropdown label="Nächstgelegene Niederlassung" required error-message="Bitte geben Sie ein Büro in Ihrer Nähe ein." size="small" theme="concrete" name="clientSelectedBranchName"> <rhcl-dropdown-item slot="item" value="Genf"> Genf </rhcl-dropdown-item> <rhcl-dropdown-item slot="item" value="Zürich"> Zürich </rhcl-dropdown-item> </rhcl-dropdown> </div> </div> </div> <div class="col-md-12 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> </div> </div> <div class="col-md-12 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="rhformtextarea textarea aem-GridColumn aem-GridColumn--default--12"> <rhcl-textarea size="small" theme="concrete" label="Stellenbeschreibung" name="comments"> </rhcl-textarea> </div> </div> </div> </div> </div> </div> </div> <div class="root container-fluid cmp-container"> <div class="form-field-set row"> <div class="field-set-header"> <rhcl-heading modifier="" tag="h1" theme="" variant="display5"> Kontaktdaten</rhcl-heading> </div> <div class="field-element-row col-md-12"> <div class="row"> <div class="col-md-6 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="rhformtext text aem-GridColumn aem-GridColumn--default--12"> <rhcl-text-field id="rhcl-text-field--1647106979" label="Vorname" type="text" required min-length="2" min-length-message="Vorname muss mindestens 2 Zeichen lang sein" pattern="[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ]+(?:(?:\. |[\-&#39; ])[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ]+)*" error-message="Bitte füllen Sie das Feld Vorname aus." format-message="Bitte geben Sie einen gültigen Vornamen ein." size="small" theme="concrete" name="firstName"> </rhcl-text-field> <script> var element = document.getElementById("rhcl-text-field--1647106979"); element.addEventListener("rhcl-text-field-changed", function(){this.value=this.value.trim();}); </script> <script> window.ready(() => { window.addEventListener("rhcl-text-field-blur", e => { const textField = e.target textField.customInvalid = null; textField.customErrorMessage = null; }) }) </script></div> </div> </div> <div class="col-md-6 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="rhformtext text aem-GridColumn aem-GridColumn--default--12"> <rhcl-text-field id="rhcl-text-field--1720027274" label="Nachname" type="text" required min-length="2" min-length-message="Nachname muss mindestens 2 Zeichen lang sein" pattern="[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ]+(?:(?:\. |[\-&#39; ])[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ]+)*" error-message="Bitte füllen Sie das Feld Nachname aus." format-message="Bitte geben Sie einen gültigen Nachnamen ein." size="small" theme="concrete" name="lastName"> </rhcl-text-field> <script> var element = document.getElementById("rhcl-text-field--1720027274"); element.addEventListener("rhcl-text-field-changed", function(){this.value=this.value.trim();}); </script> <script> window.ready(() => { window.addEventListener("rhcl-text-field-blur", e => { const textField = e.target textField.customInvalid = null; textField.customErrorMessage = null; }) }) </script></div> </div> </div> <div class="col-md-6 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="rhformtext text aem-GridColumn aem-GridColumn--default--12"> <rhcl-text-field id="rhcl-text-field--1392944635" label="Unternehmensname" type="text" required max-length="40" min-length="2" min-length-message="Unternehmensname muss aus mindestens 2 Zeichen bestehen." pattern="[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ]+(?:(?:\. |[\-&#39; ])[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ]+)*" error-message="Bitte füllen Sie das Feld Unternehmensname aus." format-message="Bitte geben Sie einen gültigen Unternehmensnamen ein." size="small" theme="concrete" name="companyName"> </rhcl-text-field> <script> var element = document.getElementById("rhcl-text-field--1392944635"); element.addEventListener("rhcl-text-field-changed", function(){this.value=this.value.trim();}); </script> <script> window.ready(() => { window.addEventListener("rhcl-text-field-blur", e => { const textField = e.target textField.customInvalid = null; textField.customErrorMessage = null; }) }) </script></div> </div> </div> <div class="col-md-6 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="rhformtext text aem-GridColumn aem-GridColumn--default--12"> <rhcl-text-field id="rhcl-text-field--2091705833" label="Ihre Position" type="text" required min-length="2" min-length-message="Ihre Position muss aus mindestens 2 Zeichen bestehen." pattern="[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ]+(?:(?:\. |[\-&#39; ])[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ]+)*" error-message="Bitte füllen Sie das Feld Ihre Position aus." format-message="Bitte geben Sie eine gültige Position ein." size="small" theme="concrete" name="customerTitle"> </rhcl-text-field> <script> var element = document.getElementById("rhcl-text-field--2091705833"); element.addEventListener("rhcl-text-field-changed", function(){this.value=this.value.trim();}); </script> <script> window.ready(() => { window.addEventListener("rhcl-text-field-blur", e => { const textField = e.target textField.customInvalid = null; textField.customErrorMessage = null; }) }) </script></div> </div> </div> <div class="col-md-6 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="rhformtext text aem-GridColumn aem-GridColumn--default--12"> <rhcl-text-field id="rhcl-text-field-1091615686" label="Telefonnummer" type="tel" required pattern="^[\+]?[\-\s\.\0-9]{0,2}?[\(\.\-\s]?[0-9]{0,3}[\)]?[\-\s\.]?[0-9]{0,4}[\-\s\.]?[0-9]{0,4}[\-\s\.]?[0-9]{0,4}$" error-message="Bitte füllen Sie das Feld Telefonnummer aus." format-message="Die Telefonnummer ist nicht gültig." size="small" theme="concrete" name="phoneNumber"> </rhcl-text-field> <script> var element = document.getElementById("rhcl-text-field-1091615686"); element.addEventListener("rhcl-text-field-changed", function(){this.value=this.value.trim();}); </script> <script> window.ready(() => { window.addEventListener("rhcl-text-field-blur", e => { const textField = e.target textField.customInvalid = null; textField.customErrorMessage = null; }) }) </script></div> </div> </div> <div class="col-md-6 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="rhformtext text aem-GridColumn aem-GridColumn--default--12"> <rhcl-text-field id="rhcl-text-field-1326156529" label="E-Mail-Adresse" type="email" required pattern="(?!.*\.\.)[\-\w.]+@[\w\-.]+\.[A-Za-z]{2,6}(?:,[\-\w.]+@[\w\-.]+\.[A-Za-z]{2,4}){0,4}" error-message="Bitte füllen Sie das Feld E-Mail-Adresse aus." format-message="Die E-Mail-Adresse muss folgendes Format haben: sample@test.com" size="small" theme="concrete" name="email"> </rhcl-text-field> <script>   var type = document.getElementById("rhcl-text-field-1326156529").getAttribute("type"); if (type == "email") document.getElementById("rhcl-text-field-1326156529").addEventListener("rhcl-text-field-blur", emailValidation); function shouldCheckEmailValidation(value) { var allDomains = "gmail.com,yahoo.com,hotmail.com,outlook.com,icloud.com,ymail.com,sbcglobal.net,bellsouth.net,jourrapide.com,comcast.net,cox.net,live.com,att.net,telesyncglobal.com,yelesync.co.us,globalcom.com,msn.com,aol.com,yahoo.co.jp,yahoo.com.br,hotmail.co.uk"; var domains = allDomains.split(","); const domainArray = value.split("@"); if (domainArray.length != 2 || !value.includes(".")) { return false; } return true; } function checkEmailValidityForCustomDomains(value) { var allDomains = "gmail.com,yahoo.com,hotmail.com,outlook.com,icloud.com,ymail.com,sbcglobal.net,bellsouth.net,jourrapide.com,comcast.net,cox.net,live.com,att.net,telesyncglobal.com,yelesync.co.us,globalcom.com,msn.com,aol.com,yahoo.co.jp,yahoo.com.br,hotmail.co.uk"; var domains = allDomains.split(","); const domainArray = value.split("@"); var domain = domainArray[domainArray.length - 1]; var flag = 0; for (var i = 0; i < domains.length; i++) { if (domain == domains[i]) { flag = 1; break; } } if (flag == 1) return false; else return true; } function setEmailCustomErrorMessage() { let emailField = getEmailField(); var message = "Bitte geben Sie Ihre geschäftliche E-Mail-Adresse an."; var value = emailField.value; if (shouldCheckEmailValidation(value)) { var isEmailValid = checkEmailValidityForCustomDomains(value); if (!isEmailValid) { emailField.setAttribute("custom-invalid", ""); var initialMessage = emailField.getAttribute("custom-error-message"); if (initialMessage != null && initialMessage != "") { if (!initialMessage.includes(message)) { var customMessage = initialMessage + " " + message + " "; emailField.setAttribute("custom-error-message", customMessage); } } else if (initialMessage == null || initialMessage == "") { emailField.setAttribute("custom-error-message", message); } } else if (isEmailValid) { if (emailField.hasAttribute("custom-invalid")) { emailField.removeAttribute("custom-invalid"); } if (emailField.hasAttribute("custom-error-message")) { var initialMessage = emailField.getAttribute("custom-error-message"); if (initialMessage == null || initialMessage == "") emailField.removeAttribute("custom-error-message"); else if (initialMessage != null && initialMessage != "") { if (initialMessage.includes(message)) { var x = initialMessage.replace(message, ""); emailField.setAttribute("custom-error-message", x); } } } } } else { if (emailField.hasAttribute("custom-invalid")) { emailField.removeAttribute("custom-invalid"); } if ( emailField.hasAttribute("custom-error-message") && emailField.getAttribute("custom-error-message") == "" ) { emailField.removeAttribute("custom-error-message"); } } } function getEmailField() { return document.getElementById( "rhcl-text-field-1326156529" ); } function emailValidation() { let isValid = true; const promises = []; document .getElementById( "rhcl-text-field-1326156529" ) .removeAttribute("custom-invalid"); document.getElementById( "rhcl-text-field-1326156529" ).customInvalid = null; promises.push( document .getElementById( "rhcl-text-field-1326156529" ) .validate() ); Promise.allSettled(promises).then((results) => { results.forEach((result) => { if (result.status === "fulfilled") { if (!result.value) { isValid = false; } } }); if (isValid) { setEmailCustomErrorMessage(); } }); } </script> <script> { const emailTextField = document.getElementById( "rhcl-text-field-1326156529" ); const emailCheckCandidate = async () => { const candidateEmailRestricted = "true"; if (!candidateEmailRestricted) return const promises = []; let isValid = true; emailTextField.removeAttribute("custom-invalid"); emailTextField.customInvalid = null; const email = emailTextField.value; // check for email validity before doing email check promises.push(emailTextField.validate()); await Promise.allSettled(promises).then(async (results) => { results.forEach((result) => { if (result.status === "fulfilled") { if (!result.value) { isValid = false; } } }); if (isValid) { async function accountEmailCheck(email) { return fetch( window.aemSettings.rh_account_creation.accountCheckEndpoint + email ) .then((res) => res.json().then((data) => { /** * { * account_info: { * CheckStatus: 200 * accountCheck: "noSFAccount" * candidateEmail: "test" * countryCode: null * emailType: "none" * eventType: null * hasUser: false * locale: null * messageID: null * passwordResetForced: false * source: null * userEmail: null * } * } * */ return data; }) ) .catch((err) => console.error(err)); } await accountEmailCheck(email).then((response) => { const emailType = response?.account_info?.emailType; if (emailType === "candidate") { // candidate email used where it's restricted, show error const restrictedErrorMessage = "Bitte geben Sie Ihre geschäftliche E\u002DMail Adresse ein."; emailTextField.customInvalid = true; emailTextField.customErrorMessage = restrictedErrorMessage; } }); } }); }; emailTextField.addEventListener( "rhcl-text-field-blur", emailCheckCandidate ); window.progressiveFrameCandidateEmailCheck = emailCheckCandidate; window.ssjoCandidateEmailCheck = emailCheckCandidate; } </script> <script> var element = document.getElementById("rhcl-text-field-1326156529"); element.addEventListener("rhcl-text-field-changed", function(){this.value=this.value.trim();}); </script> <script> window.ready(() => { window.addEventListener("rhcl-text-field-blur", e => { const textField = e.target textField.customInvalid = null; textField.customErrorMessage = null; }) }) </script></div> </div> </div> <div class="col-md-6 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="rhformtext text aem-GridColumn aem-GridColumn--default--12"> <div hidden id="rhFormTextField" data-pattern="^[0-9]{4}$" data-errorMessage="Bitte geben Sie eine gültige PLZ ein."></div> <rhcl-text-field id="rhcl-text-field--1259858822" label="Postleitzahl" type="text" required pattern="^[0-9]{4}$" error-message="Bitte geben Sie Ihre Postleitzahl an." format-message="Bitte geben Sie eine gültige PLZ ein." size="small" theme="concrete" name="postalCode"> </rhcl-text-field> <script> var element = document.getElementById("rhcl-text-field--1259858822"); element.addEventListener("rhcl-text-field-changed", function(){this.value=this.value.trim();}); </script> <script> window.ready(() => { window.addEventListener("rhcl-text-field-blur", e => { const textField = e.target textField.customInvalid = null; textField.customErrorMessage = null; }) }) </script></div> </div> </div> <div class="col-md-6 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> </div> </div> <div class="col-md-12 field-element-col"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="root container-fluid cmp-container aem-GridColumn aem-GridColumn--default--12"> <rhcl-checkbox error-message="Bitte stimmen Sie den Nutzungsbedingungen der Website und der Datenschutzerklärung zu, um fortzufahren." name="tou" required size="small"> <label slot="label">Ich habe die <a href="/ch/de/nutzungsbedingungen">Nutzungsbedingungen der Website</a> und die <a href="/ch/de/datenschutzerklaerung">Datenschutzerklärung</a> gelesen und stimme ihnen zu.</label> </rhcl-checkbox> </div> </div> </div> </div> </div> </div> </div> <div class="hiddenfield"> <div class="cq-placeholder" data-emptytext="Form : RH Hidden Form Group (AEM)"></div> <input type="hidden" id="country" name="country" value="CH"/> <input type="hidden" id="languageLocale" name="languageLocale"/> <input type="hidden" id="lob" name="lob" value="lob"/> <input type="hidden" id="mktAutomationId" name="mktAutomationId"/> <input type="hidden" id="formUrl" name="formUrl"/> <input type="hidden" id="googleAnalyticsId" name="googleAnalyticsId"/> <input type="hidden" id="middleInitial" name="middleInitial"/> <input type="hidden" id="ipAddress" name="ipAddress"/> <input type="hidden" id="leadId" name="leadId"/> <input type="hidden" id="contactMethod" name="contactMethod"/> <input type="hidden" id="mostRecentDownload" name="mostRecentDownload"/> <input type="hidden" id="mostRecentCampaign" name="mostRecentCampaign"/> <input type="hidden" id="eventID" name="eventID"/> <input type="hidden" id="on24Key" name="on24Key"/> <input type="hidden" id="startDate" name="startDate"/> <input type="hidden" id="rhdSourceId" name="rhdSourceId"/> <input type="hidden" id="utmSource" name="utmSource"/> <input type="hidden" id="utmCampaign" name="utmCampaign"/> <input type="hidden" id="httpReferrerUrl" name="httpReferrerUrl"/> <input type="hidden" id="httpUserAgentBrowser" name="httpUserAgentBrowser"/> <input type="hidden" id="remoteAddrIp" name="remoteAddrIp"/> <input type="hidden" id="requestUrl" name="requestUrl"/> <input type="hidden" id="formType" name="formType"/> <input type="hidden" id="source" name="source"/> <input type="hidden" id="gclid" name="gclid"/> <input type="hidden" id="sfContactId" name="sfContactId"/> <input type="hidden" id="sfJoNumber" name="sfJoNumber"/> <input type="hidden" id="submissionDateTime" name="submissionDateTime"/> <input type="hidden" id="formUrlEncoded" name="formUrlEncoded"/> <input type="hidden" id="tealiumId" name="tealiumId"/> <input type="hidden" id="rhInternalTrackingType" name="rhInternalTrackingType"/> <input type="hidden" id="rhInternalTrackingValue" name="rhInternalTrackingValue"/> </div> <div class="rhformhiddenfield hidden"> <input type="hidden" id="form-hidden-1511685514" name="formName" value="ch-joborder"/> </div> <div class="rhformhiddenfield hidden"> <input type="hidden" id="form-hidden-1586972179" name="formType" value="job-order"/> </div> <div class="rhformhiddenfield hidden"> <input type="hidden" id="form-hidden-833161919" name="languageLocale" value="ch-de"/> </div> <div class="rhformhiddenfield hidden"> <input type="hidden" id="form-hidden-76513371" name="mktAutomationId" value="ch-joborder"/> </div> <div class="rhformhiddenfield hidden"> <input type="hidden" id="form-hidden-4040484" name="middleInitial"/> </div> <div class="rhformhiddenfield hidden"> <input type="hidden" id="form-hidden-1824452268" name="branchId"/> </div> <div class="rhformhiddenfield hidden"> <input type="hidden" id="form-hidden-1511686877" name="branchName"/> </div> <div class="rhformhiddenfield hidden"> <input type="hidden" id="form-hidden-436080402" name="clientSelectedBranchId"/> </div> <div class="rhformhiddenfield hidden"> <input type="hidden" id="form-hidden-275395593" name="routingEmail" value="feedback-de@roberthalf.de"/> </div> <div class="rhformhiddenfield hidden"> <input type="hidden" id="form-hidden-1511687126" name="servicePreference" value="staff"/> </div> <div class="form-footer row"> <div class="form-submit-btn"> <rhcl-button data-recaptcha-message="reCaptcha-Validierung fehlgeschlagen" external="true" full-width="false" full-width-mobile="true" label="Personalanfrage senden" size="medium" size-md="" size-sm="medium" theme="light" variant="primary" invisible-key="6LejimkkAAAAAFXPuyq9-cY_Tn0LOdrBWZfprr5D" interactive-key="6LcOU2gkAAAAAADWX4mm0-uWGn4RX-kaZT7UxUQJ"></rhcl-button> </div> <div class="form-foot-note col-md-12 px-0"> <span class="rhcl-typography rhcl-typography--variant-legal"> </span> </div> </div> <div id="showPopupStatus" data-copy="&lt;p>Vielen Dank für Ihre Personalanfrage.&lt;/p> "></div> </form> <div id="backdrop" class="d-none"> <div class="loader-div"> <rhcl-loading-spinner label="Bitte warten"></rhcl-loading-spinner> </div> </div> <script src="https://www.google.com/recaptcha/enterprise.js?render=explicit" async defer> </script> <script> { if (!window.common?.getElementByJumpLinkId) { window.common = { ...window.common, /** * this function is to handle getting the element from the jump link id * */ getElementByJumpLinkId: (id) => { let el = document.getElementById(id) if (!el) return const allowedNodeNames = [ 'RHCL-TEXT-FIELD', 'RHCL-TEXTAREA', 'RHCL-DATEPICKER', 'RHCL-TYPEAHEAD', 'RHCL-CHECKBOX', 'RHCL-CHECKBOX-GROUP', 'RHCL-RADIO-GROUP', 'RHCL-DROPDOWN', 'RHCL-SWITCH' ] while (!!el.nextElementSibling && !allowedNodeNames.includes(el.nodeName)) { el = el.nextElementSibling; } if (!allowedNodeNames.includes(el.nodeName)) { // there was no sibling to the element with that id that is a valid input console.error('Could not find a valid input element with this id:', id) // return undefined instead of last found node return } return el } } } const initialEndpoint = 'https:\/\/prd\u002Ddr.lp.api.roberthalfonline.com\/proxy\u002Dlead\u002Dprocessing\/send' const basicFormEndpoint = 'https:\/\/prd\u002Ddr.ma.api.roberthalfonline.com\/form\u002Dsubmission\/submit' const ssjoEndpoint = 'https:\/\/prd\u002Ddr.lp.api.roberthalfonline.com\/proxy\u002Dlead\u002Dprocessing\/send' const jobAlertsEndpoint = 'https:\/\/prd\u002Ddr.ma.api.roberthalfonline.com\/job\u002Dalerts\/subscribe' const formContainer = document.querySelector('form.form-container'); // get the form routing destinations const destinations = document.querySelectorAll('input[data-form-routing="true"]') let newEndpoint = null; const destinationControls = [] // get array of all destinations controls and required values Array.from(destinations).forEach(destination => { const relatedId = destination.dataset.formRoutingId; const requiredValue = destination.dataset.formRoutingValue; const ssjoEndpointType = destination.dataset.formRoutingSsjoEndpoint; if (!relatedId) return; // skip elements where the dataset has no details // check required value on related id const controlElement = window.common.getElementByJumpLinkId(relatedId); destinationControls.push({controlElement, requiredValue, ssjoEndpointType}) }) // listen on any change of the control elements const mutationobserver = new MutationObserver(mutations => { mutations.forEach(mutation => { updateFormEndpoint() }) }) destinationControls.forEach(({ controlElement }) => { mutationobserver.observe( controlElement, { attributes: true, attributeFilter: ['value', 'selected']} ) }) // update the form action to use the correct endpoint const updateFormEndpoint = () => { newEndpoint = initialEndpoint; destinationControls.some(({ controlElement, requiredValue, ssjoEndpointType }) => { if (controlElement.value === requiredValue) { if (ssjoEndpointType === 'leads') { newEndpoint = ssjoEndpoint; formContainer.dataset.attributeJobalert = 'false'; } else if (ssjoEndpointType === 'nonLeads') { newEndpoint = basicFormEndpoint; formContainer.dataset.attributeJobalert = 'false'; } else if (ssjoEndpointType === 'jobAlerts') { newEndpoint = jobAlertsEndpoint; formContainer.dataset.attributeJobalert = 'true'; } return true; } return false; }); formContainer.action = newEndpoint; formContainer.dataset.attributeSsjo = newEndpoint === ssjoEndpoint; formContainer.dataset.attributeJobalert = newEndpoint === jobAlertsEndpoint; }; // initial form endpoint setup updateFormEndpoint(); } </script> </div> </div> </div> </div> </div> <rhcl-content-list heading-tag="h2" slot="list"> </rhcl-content-list> </rhcl-block-hero-form> </div> <div class="root container-fluid cmp-container aem-GridColumn aem-GridColumn--default--12"> <rhcl-block-qa> <h2 slot="headline">Häufige Fragen</h2> <rhcl-qa-question slot="question"> <span slot="copy">Was genau ist Interim Management?</span> <rhcl-typography slot="answer">Es handelt sich hierbei um einen zeitlich befristeten Einsatz im Unternehmen, wie z.B. ein Projekt, für welches spezielles Know-How benötigt wird. Interim Manager kommen auch überbrückend zum Einsatz, bis eine neue feste Unternehmensführung oder Bereichsleitung gefunden wurde. Für den Status als <b>Interim Manager</b> ist es aus rechtlichen Gründen sehr wichtig, dass der Interims Manager zum einen ganz eindeutig eine Tätigkeit als<b> selbstständiger Berater</b> ausübt. Das bedeutet, er ist freiberuflich tätig und arbeitet selbstständig für das Unternehmen. Zum anderen muss die Tätigkeit vorübergehender Natur sein. Hierbei kann es sich sowohl um die kurzzeitige Übernahme bestimmter Aufgaben als auch um einen längerfristigen Einsatz im Unternehmen handeln. Dies sind zwei von zahlreichen Kriterien, die für eine klare Abgrenzung der Berater gegenüber der Scheinselbstständigkeit entscheidend sind.</rhcl-typography> <rhcl-typography slot="answer">Sollte es beispielsweise zu einer Prüfung durch die Rentenversicherung kommen, muss zur Vermeidung einer Scheinselbstständigkeit bestmögliche Rechtssicherheit herrschen. Im Rahmen der <a href="/ch/de">Personalberatung</a> im Bereich <b>Interim Management</b> unterstützt Sie Robert Half gerne kompetent und zuverlässig, auch bei der Evaluierung etwaiger Risiken zur Vermeidung der Scheinselbstständigkeit anhand eines speziellen Checklisten-Prozesses.</rhcl-typography> </rhcl-qa-question> <rhcl-qa-question slot="question"> <span slot="copy">Wann sollten Unternehmen auf selbstständige Berater setzen?</span> <rhcl-typography slot="answer">Der Einsatz von umsetzungsstarken Interim Managern kann für ein Unternehmen aus unterschiedlichen Gründen lohnenswert sein.</rhcl-typography> <rhcl-typography slot="answer">Für eine dauerhaft zu besetzende Stelle ist angesichts des zunehmenden Fachkräftemangels – auch im Top-Management – nicht immer sofort das geeignete Personal gefunden. Für eine Position, in der Spezialwissen gefordert ist, lässt sich mit einem Manager auf Zeit die Findungsphase für eine geeignete Fachkraft überbrücken. Voraussetzung hierfür ist allerdings, dass der Berater selbstständig und im Rahmen eines konkreten Projekt-Einsatzes für das Unternehmen tätig wird. Auch im Rahmen der Neuausrichtung eines Unternehmens können <b>selbstständige Berater</b> die Geschäftsführung oder die jeweilige Bereichsleitung (HR, Supply Chain etc.) unterstützen. Bis die finale strukturelle Ausrichtung und die neue Unternehmensstrategie im Detail entschieden sind, kann ein Interim Manager diese Zwischensequenz überbrücken und für Klarheit bezüglich der Ausrichtung sorgen.</rhcl-typography> <rhcl-typography slot="answer">Auch für Gründer kann ein Interim Manager eine gewinnbringende Lösung sein. Nicht alle Existenzgründer haben bei der Gründung Ihres Unternehmens bereits umfangreiche Kenntnisse in der Führung von Mitarbeitern oder in allen Besonderheiten Ihrer Branche. Im Rahmen von<b> Interim Management</b> können die Gründer dann selbstständige Berater einsetzen. Die Experten unterstützen die Unternehmer für einen bestimmten Zeitraum, können die Aufgabe der Mitarbeiterführung übernehmen oder ihr Know-How im Rahmen einer Beratung an die Existenzgründer weitergeben. Da die Berater nach wie vor selbstständig sind, sind ihre Einsätze nach Bedarf planbar. Mithilfe der fachlich hochqualifizierten Freiberufler können Knowledge Gaps in der Existenzgründung einfach und flexibel überbrückt werden.</rhcl-typography> <rhcl-typography slot="answer"><b>Interim Manager</b> bzw. selbstständige Berater können im Zuge von Projektarbeit eingesetzt werden, sofern beim jeweiligen Unternehmen die eigenen Kapazitäten oder das spezifische Know-How nicht genügt. Dies gilt ebenso bei Spezialthemen, für die ein Unternehmen keine dauerhaften Kapazitäten in Form von Expertenwissen vorhalten braucht.</rhcl-typography> <rhcl-typography slot="answer">Als Ihr Interim Management Partner unterstützt Robert Half Sie bei jedem einzelnen Schritt der <a href="/ch/de/talente-finden">Personalsuche</a> nach geeigneten hochqualifizierten selbstständigen Beratern.</rhcl-typography> <rhcl-typography slot="answer">Sollten Sie hingegen selbst auf der Suche nach einer Interim-Position sein, finden Sie aktuell zu besetzende Projekte in unserer Jobsuche.</rhcl-typography> </rhcl-qa-question> <rhcl-qa-question slot="question"> <span slot="copy">Wie profitieren Unternehmen vom Interim Management?</span> <rhcl-typography slot="answer">Der Einsatz von<b> Interim-Managern</b> sorgt in Ihrem Unternehmen für eine Reihe positiver Effekte:</rhcl-typography> <rhcl-typography slot="answer"><rhcl-list-base> <rhcl-list-item-base slot="item">Bei Engpässen, Leistungsspitzen und in noch unklaren Situationen, in denen fehlendes Know-How benötigt wird, können Sie schnell und flexibel reagieren. Auch wenn von vornherein klar ist, dass die Tätigkeit nur auf eine bestimmte Dauer angelegt ist, können die engagierten Interims Manager direkt zum Einsatz kommen. Dabei hilft Ihnen übrigens auch unsere Arbeitnehmerüberlassung, mithilfe derer Sie unkompliziert erfahrene Mitarbeiter auf Zeit finden.</rhcl-list-item-base> <rhcl-list-item-base slot="item">Durch die kurzfristigen Verfügbarkeits- und Vertragsbeendigungsfristen von Interim Managern entstehen einfache und flexibel gestaltbare Vertragsbeziehungen und kalkulierbare Kosten.</rhcl-list-item-base> <rhcl-list-item-base slot="item">Ihre Firma profitiert von Personalentwicklungseffekten, Know-How-Transfer und unabhängiger Expertise.</rhcl-list-item-base> <rhcl-list-item-base slot="item"><b>Hochqualifizierte selbstständige Berater</b> sind besonders umsetzungsstark und benötigen nur eine kurze Einarbeitungszeit.</rhcl-list-item-base> <rhcl-list-item-base slot="item">Durch diese hochqualifizierte Überbrückung schaffen Sie in Ihrem Team Kapazitäten.</rhcl-list-item-base> <rhcl-list-item-base slot="item">Sie haben eine verlässliche Unterstützung bei wiederkehrenden Projekten.</rhcl-list-item-base> </rhcl-list-base></rhcl-typography> </rhcl-qa-question> </rhcl-block-qa></div> <div class="experiencefragment aem-GridColumn aem-GridColumn--default--12"> <div id="experiencefragment-96f73e0673" class="cmp-experiencefragment cmp-experiencefragment--scc"> <div id="container-755dfe7f17" class="cmp-container"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="cmp-rhcl-scrolling-cards-collection-block-wrapper aem-GridColumn aem-GridColumn--default--12"> <style> div.featuredcard.container{margin-left:12px !important;margin-right:12px !important} div.featuredcard.container rhcl-content-card{padding-left:12px !important;padding-right:12px !important} </style> <div id="scrollingcardscollectionblock-e2e0b95dc3" class="cmp-container"> <rhcl-block-scrolling-cards-collection logo="false"> <div class="featuredcard container responsivegrid" data-aem-wrapper="true" slot="card"> <rhcl-content-card slot="card" headline="Studien und Research" copy="Erhalten Sie exklusive Studien und Informationen, die Sie nutzen können, um bessere Personalentscheidungen zu treffen, Ihre Managementfähigkeiten zu verbessern und Ihre Karriere voranzutreiben." icon="users" cta-destination="/ch/de/insights/studien-und-research" variant="featured-content" layout="trending-insights" cta-external="false"> <!-- using dynamic media template --> <img slot="image" loading="lazy" fetchpriority="low" sizes="(min-width: 1024px) 570px,(min-width: 768px) 476px,(min-width: 0px) 335px" srcset="https://s7d9.scene7.com/is/image/roberthalfintl/rt2-35007-1870485526?$Rectangle2-Large-1x$&amp;fmt=webp-alpha 570w,https://s7d9.scene7.com/is/image/roberthalfintl/rt2-35007-1870485526?$Rectangle2-Medium-1x$&amp;fmt=webp-alpha 476w,https://s7d9.scene7.com/is/image/roberthalfintl/rt2-35007-1870485526?$Rectangle2-Small-1x$&amp;fmt=webp-alpha 335w" src="https://s7d9.scene7.com/is/image/roberthalfintl/rt2-35007-1870485526?$Rectangle2-Large-1x$&fmt=webp-alpha" alt aria-hidden="true" width="400" height="240"/> </rhcl-content-card> </div> <div class="featuredcard container responsivegrid" data-aem-wrapper="true" slot="card"> <rhcl-content-card slot="card" headline="Bewerbungs-Tipps" copy="Erfahren Sie, wie Sie einen professionellen Lebenslauf schreiben, sich auf ein Vorstellungsgespräch vorbereiten und einen bleibenden Eindruck bei Personalverantwortlichen hinterlassen." icon="users" cta-destination="/ch/de/insights/bewerbungs-tipps" variant="featured-content" layout="trending-insights" cta-external="false"> <!-- using dynamic media template --> <img slot="image" loading="lazy" fetchpriority="low" sizes="(min-width: 1024px) 570px,(min-width: 768px) 476px,(min-width: 0px) 335px" srcset="https://s7d9.scene7.com/is/image/roberthalfintl/rt2-00003?$Rectangle2-Large-1x$&amp;fmt=webp-alpha 570w,https://s7d9.scene7.com/is/image/roberthalfintl/rt2-00003?$Rectangle2-Medium-1x$&amp;fmt=webp-alpha 476w,https://s7d9.scene7.com/is/image/roberthalfintl/rt2-00003?$Rectangle2-Small-1x$&amp;fmt=webp-alpha 335w" src="https://s7d9.scene7.com/is/image/roberthalfintl/rt2-00003?$Rectangle2-Large-1x$&fmt=webp-alpha" alt aria-hidden="true" width="400" height="240"/> </rhcl-content-card> </div> <div class="featuredcard container responsivegrid" data-aem-wrapper="true" slot="card"> <rhcl-content-card slot="card" headline="Karriereentwicklung" copy="Erhalten Sie aktuelle Informationen über Arbeitsmarkttrends in Ihrer Branche, einschliesslich Gehälter, Qualifikationen und Entwicklungen auf dem Arbeitsmarkt. " icon="users" cta-destination="/ch/de/insights/karriereentwicklung" variant="featured-content" layout="trending-insights" cta-external="false"> <!-- using dynamic media template --> <img slot="image" loading="lazy" fetchpriority="low" sizes="(min-width: 1024px) 570px,(min-width: 768px) 476px,(min-width: 0px) 335px" srcset="https://s7d9.scene7.com/is/image/roberthalfintl/rt2-00012-1133218592?$Rectangle2-Large-1x$&amp;fmt=webp-alpha 570w,https://s7d9.scene7.com/is/image/roberthalfintl/rt2-00012-1133218592?$Rectangle2-Medium-1x$&amp;fmt=webp-alpha 476w,https://s7d9.scene7.com/is/image/roberthalfintl/rt2-00012-1133218592?$Rectangle2-Small-1x$&amp;fmt=webp-alpha 335w" src="https://s7d9.scene7.com/is/image/roberthalfintl/rt2-00012-1133218592?$Rectangle2-Large-1x$&fmt=webp-alpha" alt aria-hidden="true" width="400" height="240"/> </rhcl-content-card> </div> <h2 slot="headline">Arbeitsmarkttrends und Insights</h2> </rhcl-block-scrolling-cards-collection> </div> </script> </template> </div> </div> </div> </div> </div> </div> </div> </div> <div class="experiencefragment aem-GridColumn aem-GridColumn--default--12"> <div id="experiencefragment-8082353bc2" class="cmp-experiencefragment cmp-experiencefragment--footer"> <div id="container-d2b77b3f90" class="cmp-container"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="footer aem-GridColumn aem-GridColumn--default--12"> <div id="linklist_4_modal_5"> <div class="xfpage page basicpage"> <!--<sly data-sly-resource="contexthub"/>--> <div id="container-0e0a938f5d" class="cmp-container"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="root container-fluid cmp-container aem-GridColumn aem-GridColumn--default--12"> <script type="text/javascript"> window.ready(function (e) { if (document.querySelector('rhcl-modal rhcl-button')) { document.querySelector('rhcl-modal rhcl-button').addEventListener('rhcl-button-clicked', () => { document.querySelector('rhcl-modal').setAttribute('show-modal',false); }) } }) </script> <rhcl-modal behavior="close" variant="popup"> <rhcl-typography>Sie verlassen die Webseite von Robert Half Schweiz und werden auf die Webseite von Robert Half USA weitergeleitet. <p style=" text-align: center; "><a href="/us/en/about/investor-center" target="_self" rel="noopener noreferrer">Fortfahren</a> </p></rhcl-typography> </rhcl-modal> </div> </div> </div> </div> </div> <rhcl-footer logo-destination="/ch/de" variant="default"> <rhcl-list-base slot="menu" headline="Services" headline-tag="h2"> <rhcl-menu-link slot="item" data-modal-identifier="linklist_1_modal_1"> <a slot="item" href="/ch/de/jobs">Jobsuche</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-identifier="linklist_1_modal_2"> <a slot="item" href="/ch/de/talente-finden/flexible-personalplanung">Temporärarbeit</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-identifier="linklist_1_modal_3"> <a slot="item" href="/ch/de/talente-finden/direktvermittlung">Direktvermittlung</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-identifier="linklist_1_modal_4"> <a slot="item" href="/ch/de/talente-finden/interim-management">Interim Management</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-identifier="linklist_1_modal_5"> <a slot="item" href="/ch/de/talente-finden/executive-search">Executive Search</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-identifier="linklist_1_modal_6"> <a slot="item" href="/ch/de/consulting">Consulting-Lösungen</a> </rhcl-menu-link> </rhcl-list-base> <rhcl-list-base slot="menu" headline="Spezialisierungen" headline-tag="h2"> <rhcl-menu-link slot="item" data-modal-identifier="linklist_2_modal_1"> <a slot="item" href="/ch/de/finanz-und-rechnungswesen">Finanz- &amp; Rechnungswesen</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-identifier="linklist_2_modal_2"> <a slot="item" href="/ch/de/it-bereich">IT-Bereich</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-identifier="linklist_2_modal_3"> <a slot="item" href="/ch/de/assistenz-und-kaufmaennisch">Kaufmännischer Bereich</a> </rhcl-menu-link> </rhcl-list-base> <rhcl-list-base slot="menu" headline="News &amp; Infos" headline-tag="h2"> <rhcl-menu-link slot="item" data-modal-identifier="linklist_3_modal_1"> <a slot="item" href="/ch/de/insights/gehaltsuebersicht">Gehaltsübersicht</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-identifier="linklist_3_modal_2"> <a slot="item" href="/ch/de/job-details-alle">Jobübersicht</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-identifier="linklist_3_modal_3"> <a slot="item" href="/ch/de/kontakt">Info Center</a> </rhcl-menu-link> </rhcl-list-base> <rhcl-list-base slot="menu" headline="Über uns" headline-tag="h2"> <rhcl-menu-link slot="item" data-modal-identifier="linklist_4_modal_1"> <a slot="item" href="/ch/de/ueber-uns">Wer wir sind</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-identifier="linklist_4_modal_2"> <a slot="item" href="/ch/de/ueber-uns/leadership">Leadership</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-identifier="linklist_4_modal_3"> <a slot="item" href="/ch/de/interne-karriere">Karriere bei uns</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-identifier="linklist_4_modal_4"> <a slot="item" href="/ch/de/standorte">Unsere Standorte</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-popup data-modal-identifier="linklist_4_modal_5"> <a slot="item">Investor Center</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-identifier="linklist_4_modal_6"> <a slot="item" href="/ch/de/ueber-uns/presse">Presse</a> </rhcl-menu-link> <rhcl-menu-link slot="item" data-modal-identifier="linklist_4_modal_7"> <a slot="item" href="/ch/de/ueber-uns/unternehmensgeschichte-auszeichnungen/unsere-marken">Unsere Marken</a> </rhcl-menu-link> </rhcl-list-base> <rhcl-list-base slot="social-menu"> <rhcl-menu-link slot="item" icon="facebook" description="Facebook"> <a slot="item" href="https://www.facebook.com/RobertHalfDACH"></a> </rhcl-menu-link> <rhcl-menu-link slot="item" icon="linkedin" description="LinkedIn"> <a slot="item" href="https://www.linkedin.com/company/robert-half-international"></a> </rhcl-menu-link> <rhcl-menu-link slot="item" icon="twitter" description="Twitter"> <a slot="item" href="https://twitter.com/RobertHalf_DACH"></a> </rhcl-menu-link> <rhcl-menu-link slot="item" icon="youtube" description="Youtube"> <a slot="item" href="https://www.youtube.com/user/RobertHalfDE"></a> </rhcl-menu-link> <rhcl-menu-link slot="item" icon="instagram" description="Instagram"> <a slot="item" href="https://www.instagram.com/roberthalfdach/"></a> </rhcl-menu-link> </rhcl-list-base> <rhcl-list-base slot="legal-menu"> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/impressum">Impressum</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/datenschutzerklaerung">Datenschutz</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/datenschutz-arbeitnehmer-und-selbstaendige-berater">Datenschutz Arbeitnehmer/Freelancer</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/nutzungsbedingungen">Nutzungsbedingungen</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/datenschutzerklaerung#cookies">Cookies</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/webmaster-feedback">Webmaster Feedback</a> </rhcl-menu-link> <rhcl-menu-link slot="item"> <a slot="item" href="/ch/de/wie-sie-betrueger-erkennen-und-sich-schuetzen-koennen">Recruitment Scam</a> </rhcl-menu-link> </rhcl-list-base> <rhcl-typography slot="copyright">Robert Half Inc. All Rights Reserved. </rhcl-typography> <rhcl-country-selector slot="locale-selector" name="locale"> <a data-locale="en-AU" href="https://www.roberthalf.com/au/en" slot="link"> Australia - English </a> <a data-locale="en-BE" href="https://www.roberthalf.com/be/en/hire-talent/interim-management" slot="link"> Belgium - English </a> <a data-locale="nl-BE" href="https://www.roberthalf.com/be/nl/rekruteren/interim-management" slot="link"> Belgium - Nederlands </a> <a data-locale="fr-BE" href="https://www.roberthalf.com/be/fr/recrutement/interim-management" slot="link"> Belgium - Français </a> <a data-locale="pt-BR" href="https://www.roberthalf.com/br/pt" slot="link"> Brazil - Português </a> <a data-locale="en-CA" href="https://www.roberthalf.com/ca/en" slot="link"> Canada - English </a> <a data-locale="fr-CA" href="https://www.roberthalf.com/ca/fr" slot="link"> Canada - Français </a> <a data-locale="es-CL" href="https://www.roberthalf.com/cl/es" slot="link"> Chile - Español </a> <a data-locale="en-CN" href="https://www.roberthalf.cn/cn/en/hire-talent/project-interim-professionals" slot="link"> China - English </a> <a data-locale="zh-CN" href="https://www.roberthalf.cn/cn/zh/hire-talent/project-interim-professionals" slot="link"> China - 中文 </a> <a data-locale="fr-FR" href="https://www.roberthalf.com/fr/fr/recrutement/management-transition" slot="link"> France - Français </a> <a data-locale="de-DE" href="https://www.roberthalf.com/de/de/talente-finden/interim-management" slot="link"> Germany - Deutsch </a> <a data-locale="en-HK" href="https://www.roberthalf.com/hk/en" slot="link"> Hong Kong, China - English </a> <a data-locale="en-IE" href="https://www.roberthalf.com/ie/en" slot="link"> Ireland - English </a> <a data-locale="en-JP" href="https://www.roberthalf.com/jp/en/hire-talent/project-interim-professionals" slot="link"> Japan - English </a> <a data-locale="ja-JP" href="https://www.roberthalf.com/jp/ja/hire-talent/project-interim-professionals" slot="link"> Japan - 日本語 </a> <a data-locale="en-LU" href="https://www.roberthalf.com/lu/en" slot="link"> Luxembourg - English </a> <a data-locale="fr-LU" href="https://www.roberthalf.com/lu/fr" slot="link"> Luxembourg - Français </a> <a data-locale="en-NL" href="https://www.roberthalf.com/nl/en/hire-talent/interim-project-management" slot="link"> Netherlands - English </a> <a data-locale="nl-NL" href="https://www.roberthalf.com/nl/nl/werven/interim-project-management" slot="link"> Netherlands - Nederlands </a> <a data-locale="en-NZ" href="https://www.roberthalf.com/nz/en/hire-talent/project-interim-professionals" slot="link"> New Zealand - English </a> <a data-locale="en-SG" href="https://www.roberthalf.com/sg/en/hire-talent/project-interim-professionals" slot="link"> Singapore - English </a> <a data-locale="de-CH" href="https://www.roberthalf.com/ch/de/talente-finden/interim-management" slot="link"> Switzerland - Deutsch </a> <a data-locale="en-CH" href="https://www.roberthalf.com/ch/en/hire-talent/interim-management" slot="link"> Switzerland - English </a> <a data-locale="fr-CH" href="https://www.roberthalf.com/ch/fr/recrutement/interim-management" slot="link"> Switzerland - Français </a> <a data-locale="en-AE" href="https://www.roberthalf.com/ae/en" slot="link"> United Arab Emirates - English </a> <a data-locale="en-GB" href="https://www.roberthalf.com/gb/en" slot="link"> United Kingdom - English </a> <a data-locale="en-US" href="https://www.roberthalf.com/us/en" slot="link"> United States - English </a> </rhcl-country-selector> </rhcl-footer> <rhcl-back-to-top-button></rhcl-back-to-top-button> <script type="text/javascript"> window.addEventListener("rhcl-menu-link-clicked", (e) => { e.preventDefault(); let link = e.composedPath()[0]; if(link.hasAttribute('data-modal-popup')) { let modalId = link.getAttribute('data-modal-identifier'); let modal = document.querySelector(`div#${modalId} rhcl-modal`); modal.setAttribute('show-modal', true); } }); document.addEventListener('rhcl-locale-selector-item-clicked', function (e) { if(e && e.detail){ window.location.href = e.detail; } }); </script> </div> </div> </div> </div> </div> </div> </div> </div> <link rel="preload" href="https://rh.my.salesforce-sites.com/liveagent/EinsteinBotEmbedCSS" as="style" onload="this.onload=null;this.rel='stylesheet'"/> <noscript><link rel="stylesheet" href="https://rh.my.salesforce-sites.com/liveagent/EinsteinBotEmbedCSS"/></noscript> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10