CINXE.COM
Home | Myskillsfuture.gov.sg
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta content="width=device-width, initial-scale=1.0" name="viewport"/> <!-- Will override in child template --> <meta http-equiv="cache-control" content="max-age=0"/> <meta http-equiv="cache-control" content="no-cache"/> <meta http-equiv="expires" content="0"/> <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT"/> <meta http-equiv="pragma" content="no-cache"/> <meta name="keywords"/> <meta name="description" content="MySkillsFuture is a one-stop online portal that enables Singaporeans of all ages to make informed learning and career choices, so that they can pursue their skills and career development throughout their lives. Search for SSG-funded courses, submit SkillsFuture Credit claim and find resources and tools to help you make informed decisions on skills upgrading."/> <!-- Pre-connect origins for lighthouse --> <link rel="preconnect" href="https://adservice.google.com" crossorigin="anonymous"/> <link rel="preconnect" href="https://td.doubleclick.net" crossorigin="anonymous"/> <link rel="preconnect" href="https://ad.doubleclick.net" crossorigin="anonymous"/> <link rel="preconnect" href="https://8189760.fls.doubleclick.net" crossorigin="anonymous"/> <link rel="preconnect" href="https://snap.licdn.com" crossorigin="anonymous"/> <link rel="preconnect" href="https://px.ads.linkedin.com" crossorigin="anonymous"/> <link rel="preconnect" href="https://www.facebook.com" crossorigin="anonymous"/> <link rel="preconnect" href="https://connect.facebook.net" crossorigin="anonymous"/> <link rel="preconnect" href="https://static.hotjar.com" crossorigin="anonymous"/> <link rel="preconnect" href="https://script.hotjar.com" crossorigin="anonymous"/> <link rel="preconnect" href="https://skillsfuturesingapor.tt.omtrdc.net" crossorigin="anonymous"/> <link rel="preconnect" href="https://www.google-analytics.com" crossorigin="anonymous"/> <link rel="preconnect" href="https://www.youtube.com" crossorigin="anonymous"/> <link rel="preconnect" href="https://secure.adnxs.com" crossorigin="anonymous"/> <!-- Schema.org markup for Google+ --> <meta itemprop="name" content="Home | Myskillsfuture.gov.sg"/> <meta itemprop="description" content="MySkillsFuture is a one-stop online portal that enables Singaporeans of all ages to make informed learning and career choices, so that they can pursue their skills and career development throughout their lives. Search for SSG-funded courses, submit SkillsFuture Credit claim and find resources and tools to help you make informed decisions on skills upgrading."/> <meta itemprop="image" content="https://www.myskillsfuture.gov.sg/content/dam/portal/social/skillsfuture_fb_1200by630_w.jpg"/> <!-- Twitter card data --> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:site" content="@SkillsFutureSG"/> <meta name="twitter:title" content="Home | Myskillsfuture.gov.sg"/> <meta name="twitter:description" content="MySkillsFuture is a one-stop online portal that enables Singaporeans of all ages to make informed learning and career choices, so that they can pursue their skills and career development throughout their lives. Search for SSG-funded courses, submit SkillsFuture Credit claim and find resources and tools to help you make informed decisions on skills upgrading."/> <meta name="twitter:creator" content="@SkillsFutureSG"/> <!-- Twitter summary card with large image must be at least 280x150px --> <meta name="twitter:image:src" content="https://www.myskillsfuture.gov.sg/content/dam/portal/social/skillsfuture_fb_1200by630_w.jpg"/> <!-- Open graph data --> <meta property="og:type" content="website"/> <meta property="og:title" content="Home | Myskillsfuture.gov.sg"/> <meta property="og:description" content="MySkillsFuture is a one-stop online portal that enables Singaporeans of all ages to make informed learning and career choices, so that they can pursue their skills and career development throughout their lives. Search for SSG-funded courses, submit SkillsFuture Credit claim and find resources and tools to help you make informed decisions on skills upgrading."/> <meta property="og:url" content="https://www.myskillsfuture.gov.sg/content/portal/en/index.html"/> <meta property="og:image" content="https://www.myskillsfuture.gov.sg/content/dam/portal/social/skillsfuture_fb_1200by630_w.jpg"/> <meta property="og:image" content="https://www.myskillsfuture.gov.sg/content/dam/portal/social/skillsfuture_fb_200by200_w.jpg"/> <!-- Google Sign In --> <meta name="google-signin-client_id" content="138989246253-3rgkq9hpgcf2s1donoe66u58danb9icv.apps.googleusercontent.com.apps.googleusercontent.com"/> <link rel="icon" href="/favicon.ico"/> <title>Home | Myskillsfuture.gov.sg</title> <script> //The scope of this file is to create global variables and function that are available in all pages. //Do not override this file in the child pages. Becareful on the variable name and also the variable //Secure Cookie Vulnerability //Function to check if need to set secure flag for client side cookies. function GetSecureCookieFlag(){ var securityProtocol=""; if(location && location.protocol == "https:"){ securityProtocol=";secure"; } return securityProtocol; } //Boolean Function to check if need to set secure flag for client side cookies. function CheckSecureCookieFlag(){ var securityProtocol=false; if(location && location.protocol == "https:"){ securityProtocol=true; } return securityProtocol; } </script> <!-- <sly data-sly-include="/libs/wcm/core/components/init/init.jsp" data-sly-unwrap/> --> <script src="/etc.clientlibs/clientlibs/granite/jquery.min.js"></script> <script src="/etc.clientlibs/clientlibs/granite/utils.min.js"></script> <script src="/etc.clientlibs/clientlibs/granite/jquery/granite.min.js"></script> <script src="/etc.clientlibs/foundation/clientlibs/jquery.min.js"></script> <script src="/etc/clientlibs/msf/core-base/csrfheader.min.js"></script> <script src="/etc.clientlibs/clientlibs/granite/jquery/granite/csrf.min.js"></script> <script src="/etc/clientlibs/granite/jquery/granite/csrf.min.js"></script> <link rel="stylesheet" href="/etc/clientlibs/msf/core-base/Workforce-v3-home.min.css" type="text/css"> <script src="/etc/clientlibs/msf/core-base/Workforce-v3-home.min.js"></script> <link rel="stylesheet" href="/etc/clientlibs/msf/core-base/V3-ui-home.min.css" type="text/css"> <!-- Will override in child template --> <link rel="stylesheet" href="/etc/clientlibs/msf/pm/workforce_home_v3.min.css" type="text/css"> <script src="/etc/clientlibs/msf/pm/workforce_home_v3.min.js"></script> <link rel="stylesheet" href="/etc/clientlibs/external/is.min.css" type="text/css"> <script src="/etc/clientlibs/external/is.min.js"></script> <script src="/etc/clientlibs/msf/core-base/gcwidget.min.js"></script> <script type="text/javascript" src="//cdn.evgnet.com/beacon/skillsfuturesingapore/ssg_prod/scripts/evergage.min.js"/> <style id="antiClickjack">body{display:none !important;}</style> <script type="text/javascript"> if (self === top) { var antiClickjack = document.getElementById("antiClickjack"); antiClickjack.parentNode.removeChild(antiClickjack); } else { top.location = self.location; } </script> <script type="text/javascript"> digitalData = { page: { pillar: "Portal", audience: "Individuals", type: "homepage" }, user: { id: '294de3557d9d00b3d2d8a1e6aab028cf' // from the backend user database }, organisation: { name: '' // e.g. Hotel Jen }, target: { 'target_segment': CommonUtils.getSessionValue("target_segment") == "null" ? "" : CommonUtils.getSessionValue("target_segment") } }; </script> <script src="//assets.adobedtm.com/7354f1c0c20b/d6ddc6e14c09/launch-f3038b0e7b74.min.js" defer></script> <script src="https://assets.wogaa.sg/scripts/wogaa.js" defer></script> <script type="text/javascript"> $AccessControl = { checkIndividualLoginForPrelogin: function() { return (CommonUtils.checkUserIsLogin()); }, isPortalIdLogin : function() { return (CommonUtils.getSessionValue(PortalConstants.SessionAttributeName.USER_SESSION_IS_PORTALID_USER) == 'true'); } }; </script> <meta http-equiv="Content-Security-Policy" content="default-src http: 'unsafe-eval' 'unsafe-inline'; object-src 'none'; img-src * data:"/> </head> <body class="v3 page workforcehome_v3"> <input id="portalContextPath" type="hidden"/> <script type="text/javascript"> !function(e){var t=function(u,D,f){"use strict";var k,H;if(function(){var e;var t={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",fastLoadedClass:"ls-is-cached",iframeLoadMode:0,srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:true,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:true,ricTimeout:0,throttleDelay:125};H=u.lazySizesConfig||u.lazysizesConfig||{};for(e in t){if(!(e in H)){H[e]=t[e]}}}(),!D||!D.getElementsByClassName){return{init:function(){},cfg:H,noSupport:true}}var O=D.documentElement,i=u.HTMLPictureElement,P="addEventListener",$="getAttribute",q=u[P].bind(u),I=u.setTimeout,U=u.requestAnimationFrame||I,o=u.requestIdleCallback,j=/^picture$/i,r=["load","error","lazyincluded","_lazyloaded"],a={},G=Array.prototype.forEach,J=function(e,t){if(!a[t]){a[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")}return a[t].test(e[$]("class")||"")&&a[t]},K=function(e,t){if(!J(e,t)){e.setAttribute("class",(e[$]("class")||"").trim()+" "+t)}},Q=function(e,t){var a;if(a=J(e,t)){e.setAttribute("class",(e[$]("class")||"").replace(a," "))}},V=function(t,a,e){var i=e?P:"removeEventListener";if(e){V(t,a)}r.forEach(function(e){t[i](e,a)})},X=function(e,t,a,i,r){var n=D.createEvent("Event");if(!a){a={}}a.instance=k;n.initEvent(t,!i,!r);n.detail=a;e.dispatchEvent(n);return n},Y=function(e,t){var a;if(!i&&(a=u.picturefill||H.pf)){if(t&&t.src&&!e[$]("srcset")){e.setAttribute("srcset",t.src)}a({reevaluate:true,elements:[e]})}else if(t&&t.src){e.src=t.src}},Z=function(e,t){return(getComputedStyle(e,null)||{})[t]},s=function(e,t,a){a=a||e.offsetWidth;while(a<H.minSize&&t&&!e._lazysizesWidth){a=t.offsetWidth;t=t.parentNode}return a},ee=function(){var a,i;var t=[];var r=[];var n=t;var s=function(){var e=n;n=t.length?r:t;a=true;i=false;while(e.length){e.shift()()}a=false};var e=function(e,t){if(a&&!t){e.apply(this,arguments)}else{n.push(e);if(!i){i=true;(D.hidden?I:U)(s)}}};e._lsFlush=s;return e}(),te=function(a,e){return e?function(){ee(a)}:function(){var e=this;var t=arguments;ee(function(){a.apply(e,t)})}},ae=function(e){var a;var i=0;var r=H.throttleDelay;var n=H.ricTimeout;var t=function(){a=false;i=f.now();e()};var s=o&&n>49?function(){o(t,{timeout:n});if(n!==H.ricTimeout){n=H.ricTimeout}}:te(function(){I(t)},true);return function(e){var t;if(e=e===true){n=33}if(a){return}a=true;t=r-(f.now()-i);if(t<0){t=0}if(e||t<9){s()}else{I(s,t)}}},ie=function(e){var t,a;var i=99;var r=function(){t=null;e()};var n=function(){var e=f.now()-a;if(e<i){I(n,i-e)}else{(o||r)(r)}};return function(){a=f.now();if(!t){t=I(n,i)}}},e=function(){var v,m,c,h,e;var y,z,g,p,C,b,A;var n=/^img$/i;var d=/^iframe$/i;var E="onscroll"in u&&!/(gle|ing)bot/.test(navigator.userAgent);var _=0;var w=0;var M=0;var N=-1;var L=function(e){M--;if(!e||M<0||!e.target){M=0}};var x=function(e){if(A==null){A=Z(D.body,"visibility")=="hidden"}return A||!(Z(e.parentNode,"visibility")=="hidden"&&Z(e,"visibility")=="hidden")};var W=function(e,t){var a;var i=e;var r=x(e);g-=t;b+=t;p-=t;C+=t;while(r&&(i=i.offsetParent)&&i!=D.body&&i!=O){r=(Z(i,"opacity")||1)>0;if(r&&Z(i,"overflow")!="visible"){a=i.getBoundingClientRect();r=C>a.left&&p<a.right&&b>a.top-1&&g<a.bottom+1}}return r};var t=function(){var e,t,a,i,r,n,s,o,l,u,f,c;var d=k.elements;if((h=H.loadMode)&&M<8&&(e=d.length)){t=0;N++;for(;t<e;t++){if(!d[t]||d[t]._lazyRace){continue}if(!E||k.prematureUnveil&&k.prematureUnveil(d[t])){R(d[t]);continue}if(!(o=d[t][$]("data-expand"))||!(n=o*1)){n=w}if(!u){u=!H.expand||H.expand<1?O.clientHeight>500&&O.clientWidth>500?500:370:H.expand;k._defEx=u;f=u*H.expFactor;c=H.hFac;A=null;if(w<f&&M<1&&N>2&&h>2&&!D.hidden){w=f;N=0}else if(h>1&&N>1&&M<6){w=u}else{w=_}}if(l!==n){y=innerWidth+n*c;z=innerHeight+n;s=n*-1;l=n}a=d[t].getBoundingClientRect();if((b=a.bottom)>=s&&(g=a.top)<=z&&(C=a.right)>=s*c&&(p=a.left)<=y&&(b||C||p||g)&&(H.loadHidden||x(d[t]))&&(m&&M<3&&!o&&(h<3||N<4)||W(d[t],n))){R(d[t]);r=true;if(M>9){break}}else if(!r&&m&&!i&&M<4&&N<4&&h>2&&(v[0]||H.preloadAfterLoad)&&(v[0]||!o&&(b||C||p||g||d[t][$](H.sizesAttr)!="auto"))){i=v[0]||d[t]}}if(i&&!r){R(i)}}};var a=ae(t);var S=function(e){var t=e.target;if(t._lazyCache){delete t._lazyCache;return}L(e);K(t,H.loadedClass);Q(t,H.loadingClass);V(t,B);X(t,"lazyloaded")};var i=te(S);var B=function(e){i({target:e.target})};var T=function(e,t){var a=e.getAttribute("data-load-mode")||H.iframeLoadMode;if(a==0){e.contentWindow.location.replace(t)}else if(a==1){e.src=t}};var F=function(e){var t;var a=e[$](H.srcsetAttr);if(t=H.customMedia[e[$]("data-media")||e[$]("media")]){e.setAttribute("media",t)}if(a){e.setAttribute("srcset",a)}};var s=te(function(t,e,a,i,r){var n,s,o,l,u,f;if(!(u=X(t,"lazybeforeunveil",e)).defaultPrevented){if(i){if(a){K(t,H.autosizesClass)}else{t.setAttribute("sizes",i)}}s=t[$](H.srcsetAttr);n=t[$](H.srcAttr);if(r){o=t.parentNode;l=o&&j.test(o.nodeName||"")}f=e.firesLoad||"src"in t&&(s||n||l);u={target:t};K(t,H.loadingClass);if(f){clearTimeout(c);c=I(L,2500);V(t,B,true)}if(l){G.call(o.getElementsByTagName("source"),F)}if(s){t.setAttribute("srcset",s)}else if(n&&!l){if(d.test(t.nodeName)){T(t,n)}else{t.src=n}}if(r&&(s||l)){Y(t,{src:n})}}if(t._lazyRace){delete t._lazyRace}Q(t,H.lazyClass);ee(function(){var e=t.complete&&t.naturalWidth>1;if(!f||e){if(e){K(t,H.fastLoadedClass)}S(u);t._lazyCache=true;I(function(){if("_lazyCache"in t){delete t._lazyCache}},9)}if(t.loading=="lazy"){M--}},true)});var R=function(e){if(e._lazyRace){return}var t;var a=n.test(e.nodeName);var i=a&&(e[$](H.sizesAttr)||e[$]("sizes"));var r=i=="auto";if((r||!m)&&a&&(e[$]("src")||e.srcset)&&!e.complete&&!J(e,H.errorClass)&&J(e,H.lazyClass)){return}t=X(e,"lazyunveilread").detail;if(r){re.updateElem(e,true,e.offsetWidth)}e._lazyRace=true;M++;s(e,t,r,i,a)};var r=ie(function(){H.loadMode=3;a()});var o=function(){if(H.loadMode==3){H.loadMode=2}r()};var l=function(){if(m){return}if(f.now()-e<999){I(l,999);return}m=true;H.loadMode=3;a();q("scroll",o,true)};return{_:function(){e=f.now();k.elements=D.getElementsByClassName(H.lazyClass);v=D.getElementsByClassName(H.lazyClass+" "+H.preloadClass);q("scroll",a,true);q("resize",a,true);q("pageshow",function(e){if(e.persisted){var t=D.querySelectorAll("."+H.loadingClass);if(t.length&&t.forEach){U(function(){t.forEach(function(e){if(e.complete){R(e)}})})}}});if(u.MutationObserver){new MutationObserver(a).observe(O,{childList:true,subtree:true,attributes:true})}else{O[P]("DOMNodeInserted",a,true);O[P]("DOMAttrModified",a,true);setInterval(a,999)}q("hashchange",a,true);["focus","mouseover","click","load","transitionend","animationend"].forEach(function(e){D[P](e,a,true)});if(/d$|^c/.test(D.readyState)){l()}else{q("load",l);D[P]("DOMContentLoaded",a);I(l,2e4)}if(k.elements.length){t();ee._lsFlush()}else{a()}},checkElems:a,unveil:R,_aLSL:o}}(),re=function(){var a;var n=te(function(e,t,a,i){var r,n,s;e._lazysizesWidth=i;i+="px";e.setAttribute("sizes",i);if(j.test(t.nodeName||"")){r=t.getElementsByTagName("source");for(n=0,s=r.length;n<s;n++){r[n].setAttribute("sizes",i)}}if(!a.detail.dataAttr){Y(e,a.detail)}});var i=function(e,t,a){var i;var r=e.parentNode;if(r){a=s(e,r,a);i=X(e,"lazybeforesizes",{width:a,dataAttr:!!t});if(!i.defaultPrevented){a=i.detail.width;if(a&&a!==e._lazysizesWidth){n(e,r,i,a)}}}};var e=function(){var e;var t=a.length;if(t){e=0;for(;e<t;e++){i(a[e])}}};var t=ie(e);return{_:function(){a=D.getElementsByClassName(H.autosizesClass);q("resize",t)},checkElems:t,updateElem:i}}(),t=function(){if(!t.i&&D.getElementsByClassName){t.i=true;re._();e._()}};return I(function(){H.init&&t()}),k={cfg:H,autoSizer:re,loader:e,init:t,uP:Y,aC:K,rC:Q,hC:J,fire:X,gW:s,rAF:ee}}(e,e.document,Date);e.lazySizes=t,"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:{}); </script> <link rel="stylesheet" href="/etc/clientlibs/msf/core-base/header-footer-v3-home.min.css" type="text/css"> <script src="/etc/clientlibs/msf/core-base/header-footer-v3-home.min.js"></script> <header id="mysf-header-v3" class="fixed-top bootstrap-v3 screen-v3" data-bind="showHide : isHeaderPopulated()"> <div class="header-alert-holder"> <!-- Note: This implementation is done purely on the html page due to following. 1. To optimise page loading speed by retaining the logic at client side. 2. To work around Cloud Front caching, Dispatcher caching and Local Browser caching 3. To reuse the component across various portal's from 1 single source. Do consider the above before changing. --> <style> .close-cookie{ position: relative; margin-left: 99%; z-index: 11; cursor: pointer; color: #ffffff; top: 2px; font-size: 20px; font-family: 'FontAwesome'; width: 100%; } #cookieDiv .leftBox{ width:98%; } .cookie_message_text{ font-family:"Work Sans", sans-serif; font-size: 16px; color: #fff; width:96%; } .cookie_message_close{ width:0; /* padding-right: 5%; */ /* padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto; */ } .exclamation{ position: relative; z-index: 11; color: #e68717; font-size: 36px; font-family: 'FontAwesome'; width:4%; } fa-exclamation-triangle::before { font-family: 'FontAwesome'; font-weight:normal; line-height: 24px; padding-top: 1px; content: '\f00d'; color: #e68717; } .leftContent{ } .cookieMessageBox{ background-color: #3e3e3e; } #cookieDiv{ background-color: #3e3e3e; height: 50px; bottom:0px; padding-top:10px; position: fixed; z-index: 1051; width: 100%; } @media(max-width:1215px){ #cookieDiv{ height: 80px; } } @media(max-width:662px){ #cookieDiv{ height: 100px; } } </style> <div id="cookieDiv" class="col-xs-12" style="display:none"> <div id="cookieMessageBox" class='clear'> <div class="container"> <div style="float:left" class='leftBox'> <div class="leftContent"> <div class="cookie_message_text" id="cookieMessage"></div> </div> </div> <div class="cookie_message_close"> <span class="close-cookie fa-close" onclick="closeCookieMessage()"></span> </div> </div> </div> </div> <script> var COOKIE={ PORTAL:"MySkillsFuture uses cookies to personalise content for you. By continuing to use this website, you consent to our use of cookies.", TPG:"Training Partners Gateway uses cookies to personalise content for you. By continuing to use this website, you consent to our use of cookies." } function closeCookieMessage() { $('#cookieDiv').hide(); }; $( document ).ready(function() { //Cookie Enable message Logic -- Start var cookieEnabled = navigator.cookieEnabled; if(!cookieEnabled ){ //donot display on mobile apps page try{ var viewSource = RequestUtil.getURLParameter("viewSource"); if (!(viewSource && (viewSource == 'mobileApp'))) { var cookieText = COOKIE.PORTAL; if(window.location.href.indexOf("/content/portal/en/training-provider") >= 0){ cookieText = COOKIE.TPG; } $('.cookie_message_text').text(cookieText); $('#cookieDiv').show(); } }catch(e){ } } //Cookie Enable message Logic -- End }); </script> <script> var MAINTENANCE={ KEY:"MAIN-2024-11-23-1", //STUDENT:"Course fees after SkillsFuture Funding in course listings will be temporarily unavailable from 23 NOV 2024 11:00 PM to 24 NOV 2024 07:00 AM.", WORKFORCE:"Course fees after SkillsFuture Funding in course listings will be temporarily unavailable from 23 NOV 2024 11:00 PM to 24 NOV 2024 07:00 AM.", //TRAINING_PROVIDER: "<b>Training Partners Gateway</b> will be undergoing scheduled maintenance on the following dates: <b>22 NOV 2024 09:00 PM to 23 NOV 2024 07:00 AM</b>. During this period, the portal will not be available. Thank you for your patience.", UAM:"Course fees after SkillsFuture Funding in course listings will be temporarily unavailable from 23 NOV 2024 11:00 PM to 24 NOV 2024 07:00 AM.", SHOW_MAINTENACE:true, START_TIME: "2017-11-29T00:06:00.000Z", END_TIME: "2024-11-23T23:00:00.000Z" } </script> <style> .maintenancePlaceholder.alert.alert-dark.fade.show { display: flex !important; opacity: 1; z-index: 11; } .maintenancePlaceholder.alert.alert-dark.fade.show.close { display: none !important; } </style> <div class="maintenancePlaceholder alert alert-dark fade show" role="alert" style="display: none !important"> <div class="alert-message flex-fill"> <i class="bi bi-exclamation-circle-fill"></i> <span id="maintenanceMessage"></span> </div> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close" onclick="closeMessage()"> <i class="bi bi-x"></i> </button> </div> <script> function checkMessageShowstatus(){ var showMessage = true; if(sessionStorage.getItem('curMessageKey')==MAINTENANCE.KEY){ showMessage= false; return showMessage; } if(!MAINTENANCE.SHOW_MAINTENACE){ showMessage=false; return showMessage; } if(getMessage()==null){ showMessage=false; return showMessage; } //donot display on mobile apps page try{ var viewSource = RequestUtil.getURLParameter("viewSource"); if (viewSource && (viewSource == 'mobileApp')) { showMessage=false; return showMessage; } }catch(e){ } /* if other conditions are true check if the date is inbetween the start and end date */ showMessage = checkdateInbetween(); return showMessage; } /* this function checks for if the date is inbetween 2 dates */ function checkdateInbetween(){ var dateInBetween = true; var fromDate; var toDate; var curDate = new Date(); if(typeof DateOverridenFlag !== 'undefined' && DateOverridenFlag==true){ fromDate= new Date(MAINTENANCE.START_TIME,false); toDate= new Date(MAINTENANCE.END_TIME,false); }else{ fromDate= new Date(MAINTENANCE.START_TIME); toDate= new Date(MAINTENANCE.END_TIME); } if(!(curDate.getTime() <= toDate.getTime() && curDate.getTime() >= fromDate.getTime())) { dateInBetween=false; } return dateInBetween; } function closeMessage() { //add messageKey to local storage sessionStorage.setItem("curMessageKey",MAINTENANCE.KEY); //close the message $('.maintenancePlaceholder').hide(); //if(window.location.href.indexOf("/content/portal/en/training-provider") >= 0){ $('#spaceMaintenance').css('padding-top','0px'); //} setTimeout(function(){ $(window).trigger('resize'); }, 100); }; function getMessage(){ if(window.location.href.indexOf("/content/student") >= 0){ return MAINTENANCE.STUDENT; } else if(window.location.href.indexOf("/content/portal/en/training-provider") >= 0){ return MAINTENANCE.TRAINING_PROVIDER; } else if(window.location.href.indexOf("/uam") >= 0){ return MAINTENANCE.UAM; } else{ return MAINTENANCE.WORKFORCE; } return null; } $( document ).ready(function() { $('.maintenancePlaceholder').hide(); $('.maintenancePlaceholder').addClass('close'); if(sessionStorage.getItem("curMessageKey") !=MAINTENANCE.KEY){ var returnStatus = checkMessageShowstatus(); if(!returnStatus){ MAINTENANCE.SHOW_MAINTENACE=false; $('#displayMessage').html(""); $('#mainDiv').hide(); $('.maintenancePlaceholder').hide(); $('.maintenancePlaceholder').addClass('close'); }else{ $('.maintenancePlaceholder').removeClass('close'); $('.maintenancePlaceholder').show(); $('#maintenanceMessage').html(getMessage()); setTimeout(function(){ $(window).trigger('resize'); }, 200); } if(window.location.href.indexOf("student") > -1 != true){ // except student pages var splashScreenFlag = CookieStorage.cookieStorage(CookieConstants.COOKIE_SPLASH_SCREEN_FLAG) || ''; if (splashScreenFlag && splashScreenFlag === 'true') { $('#splashscreen').modal('show'); CookieStorage.removeCookieStorageWithPath(CookieConstants.COOKIE_SPLASH_SCREEN_FLAG,'/content'); } } } //$(window).trigger('resize'); }); if(_satellite == null){ var _satellite = { pageBottom : function(rawUrl) { console.log('analytics not loaded'); }, track : function(rawUrl){ console.log('analytics not loaded'); } } } var MODSEC_PARAMS = { RESTRICTED_KEYWORDS:["coalesce","root@"], REPLACEMENT_CHARACTERS:"_" } function modSecSanitiseAgainstSingleItem(value,singleItem,replacementCharacter){ var returnValue = value; if(singleItem && replacementCharacter && value && value.toLowerCase().indexOf(singleItem.toLowerCase()) >-1){ var regex = new RegExp(singleItem , "ig"); returnValue=value.replace(regex, value.split(" ")[value.toLowerCase().indexOf(singleItem.toLowerCase())]+replacementCharacter); } return returnValue; } function modSecSanitiseAgainstArray(value,arrayList,replacementCharacter){ var returnValue = value; if(value && arrayList && arrayList.length>0){ arrayList.forEach(function(element) { returnValue = modSecSanitiseAgainstSingleItem(returnValue,element,replacementCharacter); }); } return returnValue; } // if(null!=digitalData && digitalData.organisation && digitalData.organisation.name){ // digitalData.organisation.name = modSecSanitiseAgainstArray(digitalData.organisation.name,MODSEC_PARAMS.RESTRICTED_KEYWORDS,MODSEC_PARAMS.REPLACEMENT_CHARACTERS); // } try{ $.ajaxSetup({contents: {script: false}}); }catch(e){ } </script> </div> <!-- start - Inclusion of SGDS script for Masthead banner --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@govtechsg/sgds-masthead/dist/sgds-masthead/sgds-masthead.css"/> <script type="module" src="https://cdn.jsdelivr.net/npm/@govtechsg/sgds-masthead/dist/sgds-masthead/sgds-masthead.js"> </script> <div class="masthead-placeholder" style="min-height: 32px;"> <sgds-masthead fluid></sgds-masthead> </div> <script> $(document).ready(function() { const mastHeadBanner = document.querySelector('.masthead-placeholder'); mastHeadBanner.addEventListener('click', function() { console.log('First click event listener'); setTimeout(function(){ $(window).trigger('resize'); }, 100); }); }); </script> <!-- <div class="masthead-layout d-flex"> <div class="masthead-text-size-change "> <span>Change Text Size:</span> <a href="#" onclick="javascript:zoomOut(event);"><small>A-</small></a> <a href="#" onclick="javascript:zoomIn(event);">A+</a> </div> </div> --> <!-- <div id="sgds-masthead" class="sgds-masthead" aria-label="A Singapore Government Agency Website"> <div class="sgds-masthead-banner"> <div class="container-fluid"> <div class="masthead-layout"> <div class="masthead-govt-crest flex-fill"> <span style="cursor: pointer;" data-bind="click : function() { $root.iconClick($root.mastheadUrl(),'_blank') }" class="sgds-icon sgds-icon-sg-crest text-decoration-none"></span> <div style="cursor: pointer;" data-bind="click : function() { $root.iconClick($root.mastheadUrl(),'_blank') }" class="is-text">A Singapore Government Agency Website</div> </div> <div class="masthead-text-size-change"> <span>Change Text Size:</span> <a href="#" onclick="javascript:zoomOut(event);"><small>A-</small></a> <a href="#" onclick="javascript:zoomIn(event);">A+</a> </div> </div> </div> --> <!-- end - Inclusion of SGDS script for Masthead banner --> <div class="header-holder" id="mainHeader"> <div class="container-fluid"> <div class="d-flex align-items-center"> <div class="navbar-brand header-logo-holder" data-title="Welcome!" data-intro="Take a short tour of the MySkillsFuture Portal.<br/>Click 'Next' to proceed." data-step="1"> <a href="/content/portal/en/index.html" class="text-decoration-none stretched-link"> <!-- <img src="/etc/clientlibs/msf/core-base/V3-ui/images/myskillsfuture-color.png" alt="MySkillsFuture logo"> --> <img src="/etc/clientlibs/msf/core-base/V3-ui/images/myskillsfuture-color.png" alt="MySkillsFuture"/> </a> </div> <script> $EXPLORE_MODEL.getExploreArticles(); $EXPLORE_MODEL.getExploreInitiatives(); </script> <div class="navbar-explore-section d-flex"> <button id="msf-explore-btn" class="btn btn-primary px-3" data-bs-toggle="collapse" href="#exploreDropdown" role="button" aria-expanded="false" analytics-cross-link-click analytics-cross-link-action="cross link" analytics-cross-link-label="Menu>Explore" analytics-cross-link-action-name="Menu" analytics-cross-link-action-Value="Explore"> <span>Explore</span> <i class="sgds-icon sgds-icon-chevron-down"></i> </button> </div> <div class="explore-dropdown-holder collapse mega-menu" id="exploreDropdown" data-bs-parent="#mainHeader"> <div class="explore-dropdown-header"> <div class="container-xxl"> <button type="button" class="btn-close" data-bs-toggle="collapse" href="#exploreDropdown" role="button"></button> </div> </div> <div class="explore-dropdown-body"> <div class="container-xxl"> <div class="mega-menu-holder"> <div class="mega-menu-highlights-holder" id="megaMenuHighlights"> <div class="mega-menu-highlights-header"> <h5>Highlights</h5> <ul class="nav nav-pills row row-cols-3 row-cols-md--4"> <li class="nav-item col"> <button id="explore-initiatives" class="nav-link" type="button" data-bs-toggle="collapse" data-bs-target="#mega-menu-initiatives" aria-expanded="false" analytics-cross-link-click analytics-cross-link-action="cross link" analytics-cross-link-label="Menu>Explore>Initiatives" analytics-cross-link-action-name="Menu>Explore" analytics-cross-link-action-Value="Initiatives"> <i class="fa-solid fa-chevron-right"></i> <span>Initiatives</span> </button> </li> <li class="nav-item col"> <button id="explore-articles" class="nav-link" type="button" data-bs-toggle="collapse" data-bs-target="#mega-menu-articles" aria-expanded="false" data-title="Stay Up To Date with Articles" data-intro="Click the blue 'Explore' button at the top-left of the homepage, then 'Articles' to get insights on the latest in-demand skills and how-to-guides." data-step="7" analytics-cross-link-click analytics-cross-link-action="cross link" analytics-cross-link-label="Menu>Explore>Articles" analytics-cross-link-action-name="Menu>Explore" analytics-cross-link-action-Value="Articles"> <i class="fa-solid fa-chevron-right"></i> <span>Articles</span> </button> </li> <!-- <li class="nav-item col"> <button id="explore-industry-insights" class="nav-link"type="button" data-bs-toggle="collapse" data-bs-target="#mega-menu-industry-insights" aria-expanded="false"> <i class="fa-solid fa-chevron-right"></i> <span>Industry Insights</span> </button> </li> --> </ul> </div> <div class="mega-menu-highlights-body"> <div class="collapse" id="mega-menu-initiatives" data-bs-parent="#megaMenuHighlights"> <div class="article-card-holder" data-bind="if : $EXPLORE_MODEL.exploreInitiatives()"> <div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-3" data-bind="foreach : $EXPLORE_MODEL.exploreInitiatives()"> <div class="col"> <div class="card"> <div class="card-img"> <img alt="" class="img-cover lazyload" data-object-fit="cover" data-bind='attr:{"data-src": imagePath}'/> </div> <div class="card-body"> <h5 data-bind="text: category"></h5> <p data-bind="text: description"></p> </div> <div class="card-footer"> <a href="#" class="btn btn-primary" data-bind="showHide:linkOfAbout, attr:{href: linkOfAbout}" rel="nofollow">Learn More</a> <a href="#" class="btn btn-outline-dark" data-bind="showHide:courseKeyword, attr:{href: '/content/portal/en/training-exchange/course-directory.html?q=Tags:%22'+courseKeyword+'%22&search=true'}">View Related Courses</a> <a href="#" class="btn btn-outline-dark" data-bind="showHide:partner1Link, attr:{href: partner1Link}, text: partner1Name"></a> <a href="#" class="btn btn-outline-dark" data-bind="showHide:partner2Link, attr:{href: partner2Link}, text: partner2Name"></a> <a href="#" class="btn btn-outline-dark" data-bind="showHide:partner3Link, attr:{href: partner3Link}, text: partner3Name"></a> <a href="#" class="btn btn-outline-dark" data-bind="showHide:customLink, attr:{href: customLink}, text: customName"></a> </div> </div> </div> </div> </div> <div class="d-block text-center"><a href="/content/portal/en/initiatives/initiatives.html" class="text-primary fw-bold">Browse All Initiatives</a></div> </div> <div class="collapse" id="mega-menu-articles" data-bs-parent="#megaMenuHighlights"> <div class="article-card-holder" data-bind="if : $EXPLORE_MODEL.exploreArticles()"> <div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-3" data-bind="foreach : $EXPLORE_MODEL.exploreArticles()"> <div class="col"> <div class="card"> <div class="card-img"> <img alt="" class="img-cover lazyload" data-object-fit="cover" data-bind='attr:{"data-src": imagePathLarge}'/> </div> <div class="card-body"> <span class="badge rounded-pill text-bg-primary" data-bind="text: contentBucket">Education, Career and Personal Development</span> <h5 data-bind="text: title"></h5> <p data-bind="text: description"></p> </div> <div class="card-footer"> <a href="#" target="_blank" class="btn btn-primary w-100" data-bind="attr:{href: path}" rel="nofollow">Read More</a> </div> </div> </div> </div> </div> <div class="d-block text-center"><a href="/content/portal/en/career-resources/career-resources.html" class="text-primary fw-bold">Browse All Articles</a></div> </div> <div class="collapse" id="mega-menu-industry-insights" data-bs-parent="#megaMenuHighlights"> <div class="container-xxl"> <div class="mega-menu-holder"> <div class="mega-menu-navigation"> </div> </div> </div> <br/> <div class="d-block text-center"> <a href="#" class="text-primary fw-bold nop-link"> </a> </div> </div> <script> var showIndustryInsights = ''; if (showIndustryInsights && showIndustryInsights === 'true') { var industryInsightsDetails = '<li class="nav-item col">' + '<button id="explore-industry-insights" class="nav-link"type="button" data-bs-toggle="collapse" data-bs-target="#mega-menu-industry-insights" aria-expanded="false">' + '<i class="fa-solid fa-chevron-right"></i>' + '<span>Industry Insights</span></button></li>'; if ($('#megaMenuHighlights ul #explore-industry-insights').length == 0) { $('#megaMenuHighlights ul').append(industryInsightsDetails); } } </script> </div> </div> <div class="mega-menu-navigation"> <h5>Areas of Training</h5> <div class="row row-cols-1 row-cols-md-2 row-cols-lg-3"> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Accounting%2C%20Banking%20%26%20Finance%22)&cattext=Accounting%2C%20Banking%20%26%20Finance&search=true" class="navbar-item sub-link">Accountancy, Banking & Finance</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Administration%22)&cattext=Administration&search=true" class="navbar-item sub-link">Administration</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Advertising%2C%20Sales%20%26%20Marketing%22)&cattext=Advertising%2C%20Sales%20%26%20Marketing&search=true" class="navbar-item sub-link">Advertising, Sales & Marketing</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Aerospace%22)&cattext=Aerospace&search=true" class="navbar-item sub-link">Aerospace</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Agriculture%20and%20Fishing%22)&cattext=Agriculture%20and%20Fishing&search=true" class="navbar-item sub-link">Agriculture & Fishing</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Air%20Transport%22)&cattext=Air%20Transport&search=true" class="navbar-item sub-link">Air Transport</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Architecture%22)&cattext=Architecture&search=true" class="navbar-item sub-link">Architecture</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Arts%20and%20Entertainment%22)&cattext=Arts%20and%20Entertainment&search=true" class="navbar-item sub-link">Arts & Entertainment</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Audit/Risk%20Management%22)&cattext=Audit/Risk%20Management&search=true" class="navbar-item sub-link">Audit/Risk Management</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Broadcasting%20,%20Publishing%20and%20Media%22)&cattext=Broadcasting%20,%20Publishing%20and%20Media&search=true" class="navbar-item sub-link">Broadcasting, Publishing & Media</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Building%20and%20Construction%22)&cattext=Building%20and%20Construction&search=true" class="navbar-item sub-link">Building & Construction</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Business%20Management%22)&cattext=Business%20Management&search=true" class="navbar-item sub-link">Business Management</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Community%20and%20Social%20Services%22)&cattext=Community%20and%20Social%20Services&search=true" class="navbar-item sub-link">Community & Social Services</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Design%22)&cattext=Design&search=true" class="navbar-item sub-link">Design</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Domestic%20Cleaning%22)&cattext=Domestic%20Cleaning&search=true" class="navbar-item sub-link">Domestic Cleaning</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Education%20and%20Training%22)&cattext=Education%20and%20Training&search=true" class="navbar-item sub-link">Education & Training</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Electricity%20,%20Gas%20and%20Air-conditioning%22)&cattext=Electricity%20,%20Gas%20and%20Air-conditioning&search=true" class="navbar-item sub-link">Electricity, Gas & Air-conditioning</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Engineering%22)&cattext=Engineering&search=true" class="navbar-item sub-link">Engineering</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Environmental%20Cleaning%22)&cattext=Environmental%20Cleaning&search=true" class="navbar-item sub-link">Environmental Cleaning</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Fashion%22)&cattext=Fashion&search=true" class="navbar-item sub-link">Fashion</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Food%20and%20Beverages%22)&cattext=Food%20and%20Beverages&search=true" class="navbar-item sub-link">Food & Beverages</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22General%20Studies%22)&cattext=General%20Studies&search=true" class="navbar-item sub-link">General Studies</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Graphic%20Reproduction/Offset%20Printing/Mechanised%20Bookbinding%22)&cattext=Graphic%20Reproduction/Offset%20Printing/Mechanised%20Bookbinding&search=true" class="navbar-item sub-link">Graphic Reproduction/Offset Printing/Mechanised Bookbinding</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Healthcare%22)&cattext=Healthcare&search=true" class="navbar-item sub-link">Healthcare</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Hotel%20%26%20Accommodation%22)&cattext=Hotel%20%26%20Accommodation&search=true" class="navbar-item sub-link">Hotel & Accommodation</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Human%20Resource%20Management,%20Employment%20and%20Recruitment%22)&cattext=Human%20Resource%20Management,%20Employment%20and%20Recruitment&search=true" class="navbar-item sub-link">Human Resource Management</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Information%20and%20Communications%22)&cattext=Information%20and%20Communications&search=true" class="navbar-item sub-link">Information & Communications</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Insurance%22)&cattext=Insurance&search=true" class="navbar-item sub-link">Insurance</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Landscape%22)&cattext=Landscape&search=true" class="navbar-item sub-link">Landscape</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Language%20Skills%22)&cattext=Language%20Skills&search=true" class="navbar-item sub-link">Language Skills</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Leadership%20%26%20People%20Management%22)&cattext=Leadership%20%26%20People%20Management&search=true" class="navbar-item sub-link">Leadership & People Management</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Legal%22)&cattext=Legal&search=true" class="navbar-item sub-link">Legal</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Manufacturing%22)&cattext=Manufacturing&search=true" class="navbar-item sub-link">Manufacturing</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Marine%20%26%20Port%20Services%22)&cattext=Marine%20%26%20Port%20Services&search=true" class="navbar-item sub-link">Marine & Port Services</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22MICE%20%26%20Events%22)&cattext=MICE%20%26%20Events&search=true" class="navbar-item sub-link">MICE & Events</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Oil%20and%20Gas%22)&cattext=Oil%20and%20Gas&search=true" class="navbar-item sub-link">Oil & Gas</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Personal%20Development%22)&cattext=Personal%20Development&search=true" class="navbar-item sub-link">Personal Development</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Personal%20Services%22)&cattext=Personal%20Services&search=true" class="navbar-item sub-link">Personal Services</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Pharmaceutical%20and%20Biotechnology%22)&cattext=Pharmaceutical%20and%20Biotechnology&search=true" class="navbar-item sub-link">Pharmaceutical & Biotechnology</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Process%20and%20Product%20Engineering%22)&cattext=Process%20and%20Product%20Engineering&search=true" class="navbar-item sub-link">Process & Product Engineering</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Procurement/Purchasing%22)&cattext=Procurement/Purchasing&search=true" class="navbar-item sub-link">Procurement / Purchasing</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Productivity%20and%20Innovation%22)&cattext=Productivity%20and%20Innovation&search=true" class="navbar-item sub-link">Productivity & Innovation</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Public%20Administration%20and%20Defence%22)&cattext=Public%20Administration%20and%20Defence&search=true" class="navbar-item sub-link">Public Administration & Defence</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Real%20Estate%22)&cattext=Real%20Estate&search=true" class="navbar-item sub-link">Real Estate</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Recreation%20and%20Attractions%22)&cattext=Recreation%20and%20Attractions&search=true" class="navbar-item sub-link">Recreation & Attractions</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Repair%20and%20Maintenance%22)&cattext=Repair%20and%20Maintenance&search=true" class="navbar-item sub-link">Repair & Maintenance</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Research%20%26%20Product%20Development%22)&cattext=Research%20%26%20Product%20Development&search=true" class="navbar-item sub-link">Research & Product Development</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Security%20and%20Investigation%22)&cattext=Security%20and%20Investigation&search=true" class="navbar-item sub-link">Security & Investigation</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Service%20Excellence%22)&cattext=Service%20Excellence&search=true" class="navbar-item sub-link">Service Excellence</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Sports%22)&cattext=Sports&search=true" class="navbar-item sub-link">Sports</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Telecommunications%22)&cattext=Telecommunications&search=true" class="navbar-item sub-link">Telecommunications</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Tour%20and%20Travel%20Services%22)&cattext=Tour%20and%20Travel%20Services&search=true" class="navbar-item sub-link">Tour & Travel Services</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Transportation%20and%20Storage%22)&cattext=Transportation%20and%20Storage&search=true" class="navbar-item sub-link">Transportation & Storage</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Veterinary,%20Pets%20and%20Animals%22)&cattext=Veterinary,%20Pets%20and%20Animals&search=true" class="navbar-item sub-link">Veterinary, Pets & Animals</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Water%20Supply%20Sewerage%20and%20Waste%20Management%22)&cattext=Water%20Supply%20Sewerage%20and%20Waste%20Management&search=true" class="navbar-item sub-link">Water Supply Sewerage & Waste Management</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Wholesale%20and%20Retail%20Trade%22)&cattext=Wholesale%20and%20Retail%20Trade&search=true" class="navbar-item sub-link">Wholesale & Retail Trade</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Workplace%20Safety%20and%20Health%22)&cattext=Workplace%20Safety%20and%20Health&search=true" class="navbar-item sub-link">Workplace Safety & Health</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?cat=fq%3DArea_of_Training_text_exact%3A(%22Others%22)&cattext=Others&search=true" class="navbar-item sub-link">Others</a> </div> </div> </div> </div> </div> </div> </div> <!-- Add intro.js script here, coz only need to trigger at homepage --> <!-- <script> window.onload = function(){ introJs().onbeforechange(function(targetElement) { if(screen.width <= 768){ $(".introjs-nextbutton").css({"margin-left":"10px"}); }else{ $(".introjs-nextbutton").css({"margin-left":"20px"}); } if(targetElement.getAttribute("data-step") == 7){ $(".introjs-helperLayer").css("border-radius", "0%"); //$(".btn.btn-primary.px-3").attr("aria-expanded",true); $('#exploreDropdown').addClass('show'); $("#exploreDropdown").scrollTop(0); $("#explore-articles").attr("aria-expanded",true); $('#mega-menu-articles').addClass('show'); //$(".navbar-explore-section.d-flex").children()[0].setAttribute("aria-expanded",true); }else{ if($('#exploreDropdown').hasClass('show')){ $('#mega-menu-articles').removeClass('show'); // $(".btn.btn-primary.px-3").attr("aria-expanded",false); //$(".navbar-explore-section.d-flex").children().setAttribute("aria-expanded",true); $('#exploreDropdown').removeClass('show'); $("#explore-articles").attr("aria-expanded",false); } if(targetElement.getAttribute("data-step") == 1){ $(".introjs-nextbutton").css({"margin-left":"5px"}); $(".introjs-tooltip").css({"margin-left": "20px"}); $(".introjs-helperLayer").css("border-radius", "0%"); }else if(targetElement.getAttribute("data-step") == 2){ $(".introjs-tooltip").css({"margin-left": "0px"}); $(".introjs-helperLayer").css("border-radius", "0%"); }else if(targetElement.getAttribute("data-step") == 3){ $(".introjs-tooltip").css("width", "200px"); $(".introjs-helperLayer").css("border-radius", "100%"); }else if(targetElement.getAttribute("data-step") == 4){ $(".introjs-helperLayer").css("border-radius", "100%"); }else if(targetElement.getAttribute("data-step") == 5){ $(".introjs-helperLayer").css("border-radius", "100%"); }else if(targetElement.getAttribute("data-step") == 6){ $(".introjs-helperLayer").css("border-radius", "100%"); } } }).onafterchange(function(targetElement){ if(targetElement.getAttribute("data-step") == 7 && screen.width <= 768){ $("#exploreDropdown").scrollTop(0); $(".introjs-helperLayer").addClass("introjs-marginTop"); $(".introjs-tooltipReferenceLayer").addClass("introjs-marginTop"); }else{ $(".introjs-helperLayer").removeClass("introjs-marginTop"); $(".introjs-tooltipReferenceLayer").removeClass("introjs-marginTop"); } }).oncomplete(function(targetElement){ $('#mega-menu-articles').removeClass('show'); //$(".btn.btn-primary.px-3").attr("aria-expanded",false); //$(".navbar-explore-section.d-flex").children().setAttribute("aria-expanded",true); $('#exploreDropdown').removeClass('show'); $("#explore-articles").attr("aria-expanded",false); }).setOption("scrollTo","tooltip") .setOption("doneLabel","Close") .setOption("disableInteraction",true) .setOption("exitOnOverlayClick",false) .setOption("dontShowAgain", true).start(); } </script> --> <div class="header-nav-holder flex-fill"> <div class="navbar-menu"> <!-- Remove explore dropdown header --> <!-- <div class="explore-dropdown-header"> <div class="container-xxl"> <div class="explore-dropdown-header-content"> <div class="d-flex flex-fill"></div> <button type="button" class="btn-close"></button> </div> </div> </div> --> <div class="mobile-search-holder collapse" id="globalSearch" data-bs-parent="#mainHeader"> <div class="container-xxl"> <div class="input-group global-search-bar"> <input id="global-search-header-searchbar" type="text" class="form-control global-search header-search" placeholder='Include " " for better search results, e.g. "data security"' data-bind="jqAuto: { source: $PORTAL_SEARCH.remoteHandler, value : $PORTAL_SEARCH.portalSearchKeyword, labelProp : 'parameter', valueProp: 'parameter', options: { html:true, delay:250, minLength : 3 , select : function(data, event) { }} }, valueUpdate: 'afterkeydown', value : $PORTAL_SEARCH.portalSearchKeyword, executeOnEnter : function() { $PORTAL_SEARCH.searchPortalArticles(document.getElementById('global-search-header-searchbar').value)}"/> <div class="input-group-append"> <a rel="nofollow" href="#" class="clear-search animated" aria-label="Clear search bar"> <span class="sgds-icon sgds-icon-cross clear-global-search"></span> </a> <button class="btn btn-primary" type="button" data-bind="click : function() { $PORTAL_SEARCH.searchPortalArticles(document.getElementById('global-search-header-searchbar').value) }"> <i class="sgds-icon sgds-icon-search"></i> <span>Search</span> </button> </div> </div> </div> <div class="search-suggestions recent-popular-results"> <div class="container-xxl"> <div data-bind="foreach : $PORTAL_SEARCH.getRecentSearches()"> <h6 class="my-2" data-bind="text: category"></h6> <ul data-bind="foreach : searches"> <li> <a href="#"> <i class="material-icons-outlined">history</i> <span data-bind="text: title, click :function() { $PORTAL_SEARCH.navigateRecentSearch(url);}"></span> </a> </li> </ul> </div> <h6 class="my-2">Popular Searches</h6> <ul data-bind="foreach : $PORTAL_SEARCH.popularSearches()"> <li> <a href="#"> <i class="material-icons-outlined">search</i> <span data-bind="text : keyword,click :function() { $PORTAL_SEARCH.searchPortalArticles(keywordText);}"></span> </a> </li> </ul> </div> </div> <div class="search-suggestions suggestion-results d-none"> <section class="autoSuggestInitiatives d-none"> <div class="container-xxl"> <div> <h6 class="my-2">Initiatives</h6> <ul></ul> </div> </div> </section> <section class="autoSuggestCourses d-none"> <div class="container-xxl"> <div> <h6 class="my-2">Courses</h6> <ul></ul> </div> </div> </section> <section class="search-suggestions__related-occupation autoSuggestOccupations d-none"> <div class="container-xxl"> <div> <h6 class="my-2">View Courses By Related Occupations</h6> <ul></ul> </div> </div> </section> <section class="autoSuggestArticles d-none"> <div class="container-xxl"> <div> <h6 class="my-2">Articles</h6> <ul></ul> </div> </div> </section> </div> </div> <!-- <sly data-sly-test="false"> --> <div class="navbar-item active d-none"> <div class="navbar-item-top-level-link"> <a class="navbar-link nop-link" href="#"> <h6><span>Home</span></h6> </a> </div> </div> <div class="navbar-item nav-header-link navbar-contactus"> <div class="navbar-item-top-level-link"> <a class="navbar-link" href="javascript:$HOME_V3.clickGoToCSP('HOME');"> <h6><span>Careers & Skills Passport</span></h6> </a> </div> </div> <div class="navbar-item nav-header-link navbar-courses"> <div class="navbar-item-top-level-link"> <a class="navbar-link nop-link" href="#"> <h6> <span>Courses</span> <i class="sgds-icon sgds-icon-chevron-down"></i> </h6> </a> <button class="mobile-collapse-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#menuDropdown-03"> <i class="sgds-icon sgds-icon-chevron-down"></i> </button> </div> <div class="navbar-dropdown collapse mega-menu" id="menuDropdown-03"> <div class="container-xxl"> <div class="mega-menu-holder"> <div class="mega-menu-navigation"> <!-- <sly data-sly-use.aot="aot.js"> <div class="row row-cols-1 row-cols-lg-3"> <sly data-sly-list.child=""> <div class="col"> <a href="" class="navbar-item sub-link"></a> </div> </sly> </div> </sly> --> <div class="row row-cols-1 text-center"> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html" class="navbar-item sub-link">Search Courses</a> </div> <div class="col"> <a href="/content/portal/en/portal-search/portal-search.html?fq=IsValid%3Atrue&q=Tags%3A%22SkillsFuture%20Credit%20(Mid-Career)%22&jumpstart=false" class="navbar-item sub-link">SkillsFuture Credit (Mid-Career) Courses</a> </div> <div class="col"> <a href="/content/portal/en/career-resources/career-resources/education-career-personal-development/use_SFC_for_online_subscriptions_and_courses.html" class="navbar-item sub-link">Online Courses and Subscriptions</a> </div> </div> </div> </div> </div> </div> </div> <!-- <div class="navbar-item nav-header-link navbar-initiatives"> <div class="navbar-item-top-level-link"> <a class="navbar-link" href="/content/portal/en/initiatives/initiatives.html"> <h6><span>Initiatives</span></h6> </a> </div> </div> --> <div class="navbar-item nav-header-link navbar-eservices"> <div class="navbar-item-top-level-link"> <a class="navbar-link" href="/content/portal/en/e-services.html"> <h6><span>E-Services</span></h6> </a> </div> </div> <div class="navbar-item nav-header-link navbar-resources"> <div class="navbar-item-top-level-link"> <a class="navbar-link nop-link" href="#"> <h6> <span>Resources</span> <i class="sgds-icon sgds-icon-chevron-down"></i> </h6> </a> <button class="mobile-collapse-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#menuDropdown-04"> <i class="sgds-icon sgds-icon-chevron-down"></i> </button> </div> <div class="navbar-dropdown collapse mega-menu" id="menuDropdown-04"> <div class="container-xxl"> <div class="mega-menu-holder"> <div class="mega-menu-navigation"> <div class="row row-cols-1 text-center"> <div class="col"> <a href="/content/portal/en/career-resources/career-resources.html" class="navbar-item sub-link">View Articles</a> </div> <div class="col"> <a href="/content/portal/en/initiatives/initiatives.html" class="navbar-item sub-link">View SkillsFuture Initiatives</a> </div> </div> </div> </div> </div> </div> </div> <!-- <div class="navbar-item nav-header-link navbar-contactus"> <div class="navbar-item-top-level-link"> <a class="navbar-link" href="/content/portal/en/header/faqs/for-further-assistance.html"> <h6><span>Contact Us</span></h6> </a> </div> </div> --> <div class="navbar-item nav-header-link navbar-aboutus"> <div class="navbar-item-top-level-link"> <a class="navbar-link" href="/content/portal/en/about/about-myskillsfuture.html"> <h6><span>About Us</span></h6> </a> </div> </div> <!-- </sly> --> </div> </div> <div class="header-actions-holder"> <div class="d-flex align-items-center justify-content-end"> <div class="d-flex"> <!-- ko if: isLoggedIn() --> <!-- ko if: isLoggedIn() && isSingPassLogin() --> <div class="right-action-single-btn d-none d-lg-flex" data-bind="if : isSingPassLogin() && isLoggedIn()"> <span class="badge rounded-pill bg-danger" data-bind="html : $root.notificationsCount()"></span> <button class="sgds btn btn-link" type="button" data-bind="click : function() { $root.iconClick($root.notifications().inboxUrl, '_blank') }"> <i class="fa-regular fa-bell"></i> </button> </div> <div class="right-action-single-btn d-none d-lg-flex" data-bind="if : isSingPassLogin() && isLoggedIn()"> <span class="badge rounded-pill bg-danger" data-bind="html : $root.bookmarkResultCount()"></span> <button class="sgds btn btn-link" type="button" data-bind="click : function() { $root.iconClick($root.bookmarkResultUrl(), '_blank') }"> <i class="fa-regular fa-heart"></i> </button> </div> <!-- /ko --> <div class="right-action-single-btn" data-bind="if : isLoggedIn()"> <a class="right-action-header-profile-btn streched-link" data-bs-toggle="offcanvas" href="#offcanvasMenu" role="button"> <div class="right-action-header-profile d-flex"> <div class="right-action-header-profile-img"> <span class="material-icons-two-tone">account_circle</span> </div> <div class="right-action-header-profile-info d-none d-lg-flex"> <div> <span class="profile-name"><strong data-bind="text : $Util.shortenText(preferredName(), 20),attr:{title:preferredName()}"></strong></span> <!-- <span class="profile-credit" data-bind="if : availableCredits()">Credit Balance: <strong data-bind="text : availableCredits()"></strong></span>--> <span class="profile-credit"><a style="white-space: nowrap;" data-bind="if : availableCredits(), attr: { href: $GLOBAL_CONSTANTS.SFC_URL.PROD }">SkillsFuture Credit</a></span> </div> </div> </div> </a> </div> <div class="right-action-header-profile d-none" data-bind="if : isLoggedIn()"> <div class="right-action-header-profile-img"> <!--<i class="bi bi-person-circle"></i>--> <span class="material-icons-two-tone">account_circle</span> </div> <div class="right-action-header-profile-info"> <a class="streched-link" href="#"> <span class="profile-name"><strong data-bind="text : $Util.shortenText(preferredName(), 20),attr:{title:preferredName()}"></strong></span> <!-- <span class="profile-credit" data-bind="if : availableCredits()">Credit Balance: <strong data-bind="text : availableCredits()"></strong></span>--> <span class="profile-credit"><a style="white-space: nowrap;" data-bind="if : availableCredits(), attr: { href: $GLOBAL_CONSTANTS.SFC_URL.PROD }">SkillsFuture Credit</a></span> </a> </div> </div> <div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasMenu" aria-modal="true" role="dialog"> <div class="offcanvas-header"> <div class="d-flex flex-fill"> <div class="right-action-header-profile"> <div style="display:none" class="right-action-header-profile-img d-none"> <span class="material-icons-two-tone">account_circle</span> </div> <div class="right-action-header-profile-info"> <div> <span class="profile-name"><strong data-bind="text : $Util.shortenText(preferredName(), 20),attr:{title:preferredName()}"></strong></span> <!-- <span class="profile-credit" data-bind="if : availableCredits()">Credit Balance: <strong data-bind="text : '$' + availableCredits()"></strong></span> --> <!-- <span class="profile-credit" data-bind="if : availableCredits()">Credit Balance: <strong data-bind="text : availableCredits()"></strong></span>--> </div> </div> </div> </div> <div class="header-actions-holder"> <div class="d-flex align-items-center"> <div class="right-action-single-btn d-lg-none" data-bind="if : isSingPassLogin() && isLoggedIn()"> <span class="badge rounded-pill bg-danger" data-bind="html : $root.notificationsCount()"></span> <button class="sgds btn btn-link" type="button" data-bind="click : function() { $root.iconClick($root.notifications().inboxUrl, '_blank') }"> <i class="fa-regular fa-bell"></i> </button> </div> <div class="right-action-single-btn d-lg-none" data-bind="if : isSingPassLogin() && isLoggedIn()"> <span class="badge rounded-pill bg-danger" data-bind="html : $root.bookmarkResultCount()"></span> <button class="sgds btn btn-link" type="button" data-bind="click : function() { $root.iconClick($root.bookmarkResultUrl(), '_blank') }"> <i class="fa-regular fa-heart"></i> </button> </div> </div> </div> <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button> </div> <div class="offcanvas-body"> <div class="offcanvas-section"> <div class="list-group"> <!-- clientlibs/msf/core-base/Workforce-v3/js/use-api/userNav.js --> <!-- clientlibs/workforce/Workforce-v2/js/use-api/userNav.js --> <!-- <a class="list-group-item" href="/content/portal/en/individual/profile.html"><span>Profile</span></a> <a data-bind="visible: isSingPassLogin() || $AccessControl.isPortalIdLogin() " class="list-group-item" href="/content/portal/en/individual/skills-passport.html"><span>Skills Passport</span></a> <a data-bind="visible: isSingPassLogin() || $AccessControl.isPortalIdLogin() " class="list-group-item" href="/content/portal/en/individual/skills-passport.html#timeline"><span>Initiatives Applications</span></a> <a data-bind="visible: isSingPassLogin() || $AccessControl.isPortalIdLogin() " class="list-group-item" href="/content/portal/en/individual/documents.html"><span>Documents</span></a> <a class="list-group-item" href="/content/portal/en/individual/courses.html"><span>Course Enquiries</span></a> <a data-bind="visible: isSingPassLogin() || $AccessControl.isPortalIdLogin() " class="list-group-item" href="/content/portal/en/individual/feedback.html"><span>Feedback</span></a> <a class="list-group-item" href="/content/portal/en/individual/take-attendance.html"><span>Take Attendance</span></a> <a data-bind="visible: $AccessControl.isPortalIdLogin() " class="list-group-item" href="/content/portal/en/portalid/change-password.html"><span>Change Password</span></a> <a class="list-group-item" href="/content/portal/en/individual/settings.html"><span>Settings</span></a> --> </div> </div> </div> <div class="offcanvas-footer"> <div class="d-flex gap-3"> <a href="#" class="text-dark" onclick="window.open('/content/portal/en/header/faqs/others.html')">Help</a> <a href="#" class="text-dark" onclick="$UserLoginUtil.triggerLogout(); $UserLoginUtil.closeSideMenu();">Logout</a> </div> </div> </div> <!-- /ko --> <!-- ko if: !isLoggedIn() --> <div class="navbar-item align-self-center btn-login-v3"> <a class="sgds btn btn-outline-primary" onclick="assignRoute(window.location.href); $UserLoginUtil.setTargetUserMsg(0);" role="button" data-bs-toggle="offcanvas" href="#offcanvasLogin"> <span>Login</span> </a> </div> <!-- /ko --> <div class="right-action-single-btn d-none d-lg-flex"> <button id="msf-global-search" class="btn btn-header-search" type="button" data-bs-toggle="collapse" data-bs-target="#globalSearch" aria-label="Search MySkillsFuture website" aria-expanded="false"> <span class="sgds-icon sgds-icon-search"></span> <span class="sgds-icon sgds-icon-cross"></span> </button> </div> </div> <div class="d-lg-none"> <a aria-label="Mobile navigation menu" class="hamburger-menu" data-bs-toggle="collapse" href="#siteMainNav" role="button" aria-expanded="false"> <span class="icon-bar"></span> </a> </div> </div> </div> </div> </div> </div> <div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasLogin" aria-modal="true" role="dialog"> <div class="offcanvas-header"> <div class="d-flex flex-fill"> </div> <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button> </div> <div class="offcanvas-body"> <div class="offcanvas-login-holder"> <span id="loginWoMsg"><h4 class="mb-4">Hi there! Please log in to use this e-service.</h4></span> <p class="interested d-none">Login to use the service safely and for us to pre-fill your name and contact details for the training provider to respond to you.<br/></p> <h4 id="loginWMsg" class="d-none mb-4"> </h4> <div class="singpass-v3-login"> <h6 id="login_panel_target_user">For Singapore Citizens and Permanent Residents</h6> <!-- <h6 id="login_panel_target_user">For Singapore Citizens, Permanent Residents and holders of Foreign Identification Number (FIN)</h6> --> <form id="individual-sp-login-form" action="/services/common/doLogin" method="post"> <input type="hidden" name="loginType" value="SP"/> <input type="hidden" name="roleNameType" value=""/> <input type="hidden" id="redirectURL" name="redirectURL" value=""/> <input type="hidden" id="isMaintainLoginSession" name="isMaintainLoginSession" value=""/> <input type="hidden" id="lgnModalwMsgisMaintainLoginSession" name="lgnModalwMsgisMaintainLoginSession" value=""/> <a href="#" class="btn btn-danger d-block text-center singpass-v3-login-btn op-link" isDefault="yes" onclick="$UserLoginUtil.clickSingPassLogin()">Singpass</a> </form> <p class="small singpass-note">Don't have a Singpass account? Forgot your password? <a href="https://www.singpass.gov.sg/main" class="link-primary fw-bold" rel="nofollow">Click here</a></p> </div> <div class="security-liner-message"> <br/> <h6 data-bind="html: Granite.I18n.get('security-liner-message')"></h6> </div> </div> </div> <div class="offcanvas-footer"> <div class="d-flex gap-3"> <a href="#" class="text-dark" onclick="window.open('/content/portal/en/header/faqs/others.html')">Help</a> <a href="#" class="text-dark skipButton d-none" data-bs-dismiss="offcanvas">Skip</a> </div> </div> </div> <!-- ALERT BOX POP UP PANEL --> <!-- **************************** --> <div id="Alert_PopupPanel" style="display:none;" class="modal fade"> <div class="Closebtn_PopupPanel"></div> <div class="contentblock"> <div class="message">Place your text here</div> <div class="ActionPanel"> <button class="btn btn_bigorange confirmButton" type="button">OK</button> <a href="#" class="btn btn_bigorange confirmLink" style="display:none;" type="button">OK</a> <button class="btn btn_bigorange cancelButton" type="button">Cancel</button> </div> </div> </div> <!-- Yes No POP UP PANEL --> <!-- **************************** --> <div id="Common_PopupPanel" style="display:none;" class="modal fade"> <div class="Closebtn_PopupPanel"></div> <div class="contentblock"> <div class="message"></div> <div class="ctabox"> <button class="ctabtn small confirmButton" type="button"></button> <a rel="nofollow" href="#" class="btn btn_bigorange confirmLink" style="display:none;" type="button"></a> <button class="ctabtn small cancelButton" type="button"></button> </div> </div> </div> <!-- Common Modal Popup by Bootstrap --> <div class="modal fade" id="Common_Bootstrap_Modal_Popup" tabindex="-1" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <div class="general-message-holder"> <div> <div class="card"> <div class="card-body"> <div id="popup-icon-holder" class="message-icon mb-4"> </div> <h3 id="popup-content" class="mb-4"></h3> <div class="btn-holder justify-content-center"> <button data-bs-dismiss="modal" id="popup-btn-2" type="button" class="btn btn-outline-dark"></button> <button data-bs-dismiss="modal" id="popup-btn-1" type="button" class="btn btn-primary"></button> <!-- <a data-dismiss="modal" class="btn btn-outline-dark" id="popup-btn-2"></a> <a data-dismiss="modal" class="btn btn-primary" id="popup-btn-1"></a> --> </div> </div> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary d-none" data-bs-dismiss="modal">Close</button> </div> </div> </div> </div> <!-- Common Modal XL Popup by Bootstrap --> <div class="modal fade" id="Common_Bootstrap_XL_Modal_Popup" tabindex="-1" aria-hidden="true"> <div class="modal-dialog modal-xl modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title"></h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> </div> <div class="modal-footer"> <div class="btn-holder"> <button data-bs-dismiss="modal" id="popup-btn-2" type="button" class="btn btn-outline-dark"></button> <button data-bs-dismiss="modal" id="popup-btn-1" type="button" class="btn btn-primary"></button> </div> </div> </div> </div> </div> <!-- Info Modal --> <div class="modal fade" id="infoModal" tabindex="-1" aria-hidden="true"> <div class="modal-dialog modal-lg modal-fluid modal-dialog-centered"> <div class="modal-content"> <div class="modal-header border-0"> <!--<h5 class="modal-title" id="exampleModalLabel">Modal title</h5>--> <button type="button" class="btn-close my-1" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body p-4"> <div class="general-message-holder"> <div> <div class="card"> <div class="card-body"> <h3 class="mb-3 fw-normal"></h3> <p></p> <br/> <div class="btn-holder justify-content-center"> <button type="button" data-bs-dismiss="modal" id="popup-btn-2" class="btn btn-outline-dark">No</button> <button type="button" data-bs-dismiss="modal" id="popup-btn-1" class="btn btn-primary">Yes</button> </div> </div> </div> </div> </div> </div> <div class="modal-footer border-0"></div> </div> </div> </div> <div id="duplicate_session_popup_modal" data-keyboard="false" data-backdrop="static" aria-hidden="true" class="modal fade duplicateSessionPopupModal" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title" style="text-align: center;">Duplicate Sessions</h4> </div> <div class="modal-body"> <div id="duplicate_session_container" style="text-align: center;"> <span>Another login session has been detected. If you continue, the previous session will be removed.</span> <br/><br/> <span>Do you want to continue?</span> </div> <div class="duplicateSessionContainer" style="text-align: center;margin-top: 23px;"> <a rel="nofollow" href="#" id="duplicate_session_popup_modal_yes_buttton" class="ctabtn tiffany">Yes</a> <a rel="nofollow" href="#" id="duplicate_session_popup_modal_logout_buttton" class="ctabtn tiffany">Logout</a> </div> </div> </div> </div> </div> <!-- message of network disconnection CR-34 2020-11-07 --> <div class="header-alert-holder d-none" id="networkDisconnectionMessageBoxV3"> <style> .networkDisconnectionPlaceholder.alert.alert-dark.fade.show { display: flex !important; opacity: 1; } .networkDisconnectionPlaceholder.alert.alert-dark.fade.show.close { display: none !important; } #networkDisconnectionMessageBoxV3 { position: relative; z-index: -1; } </style> <div class="networkDisconnectionPlaceholder alert alert-dark fade show" role="alert" style=""> <div class="alert-message flex-fill"> <i class="bi bi-exclamation-circle-fill"></i> <span id="networkDisconnectionMessage">No network connection. Reconnect to keep the browsing going.</span> </div> <button type="button" class="btn-close" aria-label="Close" onclick="closeNetworkMessageBox()"> <i class="bi bi-x"></i> </button> </div> </div> <script> function openNetworkMessageBox() { $('#networkDisconnectionMessageBoxV3').addClass('d-block'); $('#networkDisconnectionMessageBoxV3').removeClass('d-none'); } function closeNetworkMessageBox() { $('#networkDisconnectionMessageBoxV3').removeClass('d-block'); $('#networkDisconnectionMessageBoxV3').addClass('d-none'); }; function initializeDetection() { console.log('initializeDetection....'); window.addEventListener("offline", function (event) { console.log('status: network is disconnected at ', new Date()); openNetworkMessageBox(); $(window).trigger('resize'); }) window.addEventListener("online", function (event) { console.log('status: network is connected at ', new Date()); closeNetworkMessageBox(); $(window).trigger('resize'); }) if (!navigator.onLine) openNetworkMessageBox(); else closeNetworkMessageBox(); } $(document).ready(function () { initializeDetection(); }) </script> <div class="site-action-holder"> <a href="#" class="back-top cd-top shadow nop-link"> <div><span class="material-symbols-outlined">vertical_align_top</span></div> </a> </div> </header> <div class="coverall"></div> <script> // Populate Header var populateHeaderMenuViewModel = new PopulateHeaderMenuViewModel(); populateHeaderMenuViewModel.renderHeaderMenu_v3(); </script> <div class="modal fade" id="loginTempSingPassModal" tabindex="-1" style="z-index:9999998; margin-top: 10%; padding-top: 45px;" role="dialog" data-type="0"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" style="text-align: center">Login</h4> </div> <div class="modal-body"> <form id="sing-pass-login-form"> <input type="hidden" name="redirectURL" value=""/> <input type="hidden" id="isMaintainLoginSession" name="isMaintainLoginSession" value="false"/> <h2 class="form-signin-heading"></h2> <div class="form-group row"> <label for="inputUser" class="col-sm-2 col-form-label">User Id</label> <div class="col-sm-10"> <input class="form-control" type="text" name="userId" id="inputUser" placeholder="User ID" autocomplete="off" autofocus/> <div id="ERROR-userid" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="form-group row"> <label for="inputPassword" class="col-sm-2 col-form-label">Password</label> <div class="col-sm-10"> <input type="password" class="form-control" id="inputPassword" name="userPwd" placeholder="Password" autocomplete="off" autofocus/> <div id="ERROR-password" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="form-group row "> <div class="col-sm-10" style="float: right;text-align: left"> <input class="form-control" type="hidden" name="userType" id="userType" value="SP"/> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label"></label> <div class="col-sm-10"> <div id="ERROR-loginError" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="theme1 form-group aligncenter"> <a href="#" id="button-submit-login-sing-pass" class="ctabtn op-link" style="background-color: #5aacb4;">Sign in</a> <a href="#" class="ctabtn op-link" data-bs-dismiss="modal" onclick="clearInput()" style="background-color: #5aacb4;">Cancel</a> <a href="#" onclick="loginWithTempCorpass('TP');" class="ctabtn op-link" style="background-color: #5aacb4;">Corp Pass Login</a> </div> </form> </div> </div> </div> </div> <script> var serializeFormJSON = function(formObj) { var o = {}; var a = formObj.serializeArray(); $.each(a, function() { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; } $("#button-submit-login-sing-pass").click(function() { var postLoginURLredirect = document.getElementById('sing-pass-login-form').redirectURL.value; if (!postLoginURLredirect) { document.getElementById('sing-pass-login-form').redirectURL.value = window.location.href ; } if(validateLoginForm()){ var formData = serializeFormJSON($("#sing-pass-login-form")); $.ajax({ type: "POST", url: "/services/common/spcplogin-temp", cache: false, data: formData, success: function(rawData) { var result = rawData; if (typeof rawData === 'string') { try { result = JSON.parse(rawData); } catch(e) { // invalid json } } if (result.status) { $('#ERROR-loginError').addClass('hidden'); $('#ERROR-loginError').html(''); if (result.statusCode == 1 || result.statusCode == 17) { $.cookie.defaults = { path: '/content/portal/en/' }; var url = checkAssignedRoute(); if (url == "") { window.location.href = '/content/portal/en/index.html'; } else { // tracking SN login link to MySF account if ($SessionStorage.get('loginFormId')) { WorkforceAnalytics.Common.trackingSocialLoginLinkAndUnLinkMSF($SessionStorage.get('loginFormId'),'link','success'); $SessionStorage.remove('loginFormId'); } window.location.href = url; } } else if (result.statusCode == 3) { $.cookie.defaults = { path: '/content/portal/en/' }; //Should let filter to identify window.location.href = '/content/portal/en/index.html'; // url is registration page, social acc didn't link to singpass // tracking SN login link to MySF account if ($SessionStorage.get('loginFormId')) { WorkforceAnalytics.Common.trackingSocialLoginLinkAndUnLinkMSF($SessionStorage.get('loginFormId'),'link','failure'); $SessionStorage.remove('loginFormId'); } } else if (result.statusCode == 0 || result.statusCode == 4 || result.statusCode == 6) { window.location.href='/services/common/doLogout?redirectURL=/content/portal/en/index.html?loginStatus=' + result.statusCode; } else if (result.statusCode == 14) { window.location.href=PortalConstants.URL.EASY_LOGIN; } } else if (!result.status) { $('#ERROR-loginError').removeClass('hidden'); $('#ERROR-loginError').html(result.message); } localStorage.removeItem("isPostJobs"); } });} }); function validateLoginForm(){ var isValidUser = true; var isValidPassword = true; var isValidUEN=true; var isValidRoles=true; var form=$("#sing-pass-login-form"); if(form.find('input#inputUser').val().trim().length == 0){ isValidUser = false; form.find('input#inputUser').focus(); $('#ERROR-userid ul li').html('User ID field cannot be empty'); $('#ERROR-userid').removeClass('hidden'); } else{ $('#ERROR-userid').addClass('hidden'); $('#ERROR-userid ul li').html(''); } if(form.find('input#inputPassword').val().trim().length == 0){ isValidPassword = false; form.find('input#inputPassword').focus(); $('#ERROR-password ul li').html('Password field cannot be empty'); $('#ERROR-password').removeClass('hidden'); } else{ $('#ERROR-password').addClass('hidden'); $('#ERROR-password ul li').html(''); } if(isValidUser && isValidPassword){ $('#ERROR-loginError').html(''); return true; } return false; } function loginWithTempCorpass(roleNameType){ console.log('temp sing') $('#login_popup_modal').modal('hide'); $('#loginTempSingPassModal').modal('hide'); $('#loginModal_corpass').modal('show'); document.getElementById('corp-pass-login-form').roleNameType.value = roleNameType; } function loginWithTempSingpass(){ $('#login_popup_modal').modal('hide'); $('#loginTempSingPassModal').modal('show'); // window.location = LoginUtils.LOGIN_SP_URL; } </script> <style> .changetextsize_box{ display:none; } </style> <div class="modal fade" id="loginModal_corpass" tabindex="-1" style="z-index:9999999; margin-top: 8%; padding-top: 98px;" role="dialog" data-type="0"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" style="text-align: center">Corp Pass Login</h4> </div> <div class="modal-body"> <form id="corp-pass-login-form"> <input type="hidden" name="roleNameType" value=""/> <input type="hidden" name="redirectURL" value=""/> <h2 class="form-signin-heading"></h2> <div class="form-group row"> <label for="inputUser" class="col-sm-2 col-form-label">UEN</label> <div class="col-sm-10"> <input class="form-control" type="text" name="uen" id="inputUEN" placeholder="UEN Number" autofocus/> <div id="ERROR-uen" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="form-group row"> <label for="inputUser" class="col-sm-2 col-form-label">User Id</label> <div class="col-sm-10"> <input class="form-control" type="text" name="userId" id="inputUser" placeholder="User ID" autofocus autocomplete="off"/> <div id="ERROR-userid" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="form-group row"> <label for="inputPassword" class="col-sm-2 col-form-label">Password</label> <div class="col-sm-10"> <input type="password" class="form-control" id="inputPassword" name="userPwd" placeholder="Password" autocomplete="off" autofocus/> <div id="ERROR-password" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="form-group row"> <label for="tpCode" class="col-sm-2 col-form-label">TP Code</label> <div class="col-sm-10"> <input type="text" class="form-control" id="tpCode" name="tpCode" placeholder="TP Code" autocomplete="off" autofocus/> </div> </div> <div class="form-group row"> <label for="roles" class="col-sm-2 col-form-label">Roles</label> <div class="col-sm-10"> <ul class="roles"> <li style=" display: inline-block;"><input type="checkbox" name="roleName" id="tp_admin" value="TP_ADMIN" style="display: inline;"/><label for="tp_admin_label"> TP Admin </label></li> <li style="display: inline-block;"><input type="checkbox" name="roleName" id="job_admin" value="JOBSBANK_ADMIN" style=" display: inline;"/><label for="job_admin_label"> Job Admin </label></li> <li style="display: inline-block;"><input type="checkbox" name="roleName" id="course_admin" value="COURSE_ADMIN" style="display: inline;"/><label for="course_admin_label"> Course Admin</input></label></li> <li style="display: inline-block;"><input type="checkbox" name="isForeignEntity" id="isForeignEntity" value="true" style="display: inline;"/><label for="course_admin_label"> isForeignEntity</input></label></li> <li style="display: inline-block;"><input type="checkbox" name="isNonSingpassHolder" id="isNonSingpassHolder" value="true" style="display: inline;"/><label for="course_admin_label"> isNonSingpassHolder</input></label></li> </ul> <div id="ERROR-roles" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="form-group row "> <div class="col-sm-10" style="float: right;text-align: left"> <input class="form-control" type="hidden" name="userType" id="userType" value="CP"/> </div> </div> <!-- <div class="form-group row hidden"> <div class="col-sm-10" style="float: right;text-align: left"> <sly data-sly-use.SEOTitleUtil="clientlibs/student/sightlyjstool/SEOTitleUtil.js"> <a href="/content/student/en//reset-password.html">Forgot your password?</a> </sly> </div> </div> --> <div class="form-group row"> <label class="col-sm-2 col-form-label"></label> <div class="col-sm-10"> <div id="ERROR-loginError" class="help-block with-errors hidden"> <ul class="list-unstyled"> <li></li> </ul> </div> </div> </div> <div class="theme1 form-group aligncenter"> <a href="#" id="button-submit-login-corp-pass" onclick="$UserLoginUtil.corpPassLogin()" class="ctabtn op-link" style="background-color: #5aacb4;">Sign in</a> <a href="#" class="ctabtn op-link" data-bs-dismiss="modal" style="background-color: #5aacb4;">Cancel</a> </div> </form> </div> </div> </div> </div> <script src="/etc/clientlibs/msf/core-base/V3-ui-home.min.js"></script> <main class="theme1 landingpagestyle homepage-v3" id="Homepage"> <div class="home_v3_main parbase"><div class="homepage-content-holder"> <div class="container-xxl"> <div class="row g-0"> <div class="col-lg-6"> <div class="homepage-hero-banner-content"> <div class="flex-lg-fill"> <h1 class="nochangefontsize">Start your upskilling journey today</h1> <div class="homepage-content-search-holder" id="homepage-search" data-title="Search Bar" data-intro="Search for courses, initiatives, or articles here." data-step="2"> <div class="input-group global-search-bar"> <input id="global-search-homepage-searchbar" type="text" class="form-control global-search global-search-home home-search-v3" placeholder='Search for courses, initiatives, or articles' data-bind="jqAuto: { source: $PORTAL_SEARCH.remoteHandlerHome, value : $root.homeKeywordSearch, labelProp : 'parameter', valueProp: 'parameter', options: { html:true, delay:250, minLength : 3 , select : function(data, event) { }} }, valueUpdate: 'afterkeydown', value : $root.homeKeywordSearch, executeOnEnter : function() { $PORTAL_SEARCH.searchPortalNonHeader(document.getElementById('global-search-homepage-searchbar').value, 'course')}"/> <button aria-label="Click here for portal search" class="btn btn-primary" type="button" data-bind="click : function() { $PORTAL_SEARCH.searchPortalNonHeader(document.getElementById('global-search-homepage-searchbar').value, 'course') }"> <i class="sgds-icon sgds-icon-search"></i> <span>Search</span> </button> <a href="#" class="clear-search animated op-link"> <span class="sgds-icon sgds-icon-cross"></span> </a> </div> <div class="search-suggestions recent-popular-results"> <div class="container-xxl"> <div data-bind="foreach : $PORTAL_SEARCH.getRecentSearches()"> <h6 class="my-2" data-bind="text: category"></h6> <ul data-bind="foreach : searches"> <li> <a href="#"> <i class="material-icons-outlined">history</i> <span data-bind="text: title, click :function() { $PORTAL_SEARCH.navigateRecentSearch(url);}"></span> </a> </li> </ul> </div> <h6 class="my-2">Popular Searches</h6> <ul data-bind="foreach : $PORTAL_SEARCH.popularSearches()"> <li> <a href="#"> <i class="material-icons-outlined">search</i> <span data-bind="text : keyword,click :function() { $PORTAL_SEARCH.searchPortalArticles(keywordText);}"></span> </a> </li> </ul> </div> </div> <div class="search-suggestions suggestion-results d-none"> <section class="autoSuggestInitiatives d-none"> <div class="container-xxl"> <div> <h6 class="my-2">Initiatives</h6> <ul></ul> </div> </div> </section> <section class="autoSuggestCourses d-none"> <div class="container-xxl"> <div> <h6 class="my-2">Courses</h6> <ul></ul> </div> </div> </section> <section class="search-suggestions__related-occupation autoSuggestOccupations d-none"> <div class="container-xxl"> <div> <h6 class="my-2">View Courses By Related Occupations</h6> <ul></ul> </div> </div> </section> <section class="autoSuggestArticles d-none"> <div class="container-xxl"> <div> <h6 class="my-2">Articles</h6> <ul></ul> </div> </div> </section> </div> </div> <script> var homeSearchModel = new HomeSearchModel(); </script> <style> </style> <div class="homepage-content-buttons-holder"> <div class="row row-cols-2 row-cols-md-4 row-cols-lg-2 row-cols-xxl-4 g-2"> <div class="col" data-title="View Courses" data-position="bottom-right-aligned" data-intro="Browse courses by different Areas of Training." data-step="3"> <a href="/content/portal/en/training-exchange/course-landing.html" class="btn btn-link link-dark" analytics-cross-link-click analytics-cross-link-action="cross link" analytics-cross-link-label="Homepage Content>View Courses" analytics-cross-link-action-name="Homepage Content" analytics-cross-link-action-Value="View Courses"> <div class="homepage-content-button-single"> <img src="/etc/clientlibs/msf/core-base/V3-ui/images/icon-view-course.svg" alt=""/> <span>View<br/>Courses</span> </div> </a> </div> <div class="col" data-title="Submit Your SkillsFuture Credit Claim" data-position="bottom-right-aligned" data-intro="Log in to submit your SkillsFuture Credit claims after registering for courses." data-step="4"> <a href="#" onclick="javascript:$HOME_V3.clickSubSfCreditClaimData();" class="btn btn-link link-dark" analytics-cross-link-click analytics-cross-link-action="cross link" analytics-cross-link-label="Homepage Content>Submit SkillsFuture Credit Claims" analytics-cross-link-action-name="Homepage Content" analytics-cross-link-action-Value="Submit SkillsFuture Credit Claims"> <div class="homepage-content-button-single"> <img src="/etc/clientlibs/msf/core-base/V3-ui/images/icon-submit-skillsfuture-credits-claims.svg" alt=""/> <span>Submit SkillsFuture<br/>Credit Claims</span> </div> </a> </div> <div class="col" data-title="Initiatives" data-intro="Explore SkillsFuture initiatives."> <a onclick="javascript:$HOME_V3.clickGoToCSP('HOME');" class="btn btn-link link-dark" analytics-cross-link-click analytics-cross-link-action="cross link" analytics-cross-link-label="Homepage Content>Go to Careers & Skills Passport" analytics-cross-link-action-name="Homepage Content" analytics-cross-link-action-Value="Go to Careers & Skills Passport"> <div class="homepage-content-button-single"> <img src="/etc/clientlibs/msf/core-base/V3-ui/images/csp_icon.svg" alt=""/> <span>Go to Careers & Skills Passport</span> </div> </a> </div> <div class="col" data-title="Access E-Services" data-position="bottom-right-aligned" data-intro="Take assessments to understand your career interests, download certificates, and more." data-step="6"> <a href="/content/portal/en/e-services.html" class="btn btn-link link-dark" analytics-cross-link-click analytics-cross-link-action="cross link" analytics-cross-link-label="Homepage Content>Access E-Services" analytics-cross-link-action-name="Homepage Content" analytics-cross-link-action-Value="Access E-Services"> <div class="homepage-content-button-single"> <img src="/etc/clientlibs/msf/core-base/V3-ui/images/icon-access-e-services.svg" alt=""/> <span>Access<br/>E-Services</span> </div> </a> </div> </div> </div> <script type="text/javascript" charset="utf-8"> </script> <div class="homepage-content-login-holder"> <div class="row"> <div class="col-sm-8"> <span>Finding your desired training course can be easy. Check out the Course Search Guide.</span> </div> <div class="col-sm-4 card-btn-holder text-center align-self-center"> <a class="sgds btn btn-outline-primary mobile-padding-top" target="_blank" role="button" href="/content/portal/en/career-resources/career-resources/how-to-guides/myskillsfuture-course-search-guide.html" rel="nofollow"> <span>Learn More</span> </a> </div> </div> </div> </div> </div> </div> <div class="col-lg-6"> <div class="homepage-hero-banner-holder"> <div class="homepage-hero-banner-announcement"> <div class="card"> <div class="card-body"> <span class="badge bg-danger mb-3">NEW</span> <h2 class="fw-bold h5">Will AI take over your job?</h2> <p>Do you know your AI learner profile and how you can stay relevant in the AI age?</p> <a href="https://www.myskillsfuture.gov.sg/content/portal/en/career-resources/career-resources/education-career-personal-development/thrive_in_the_AI_age.html" class="link-primary">Find out more</a> </div> </div> </div> <div class="homepage-hero-banner-img"> <img fetchpriority="high" loading="eager" src="/content/portal/en/index/jcr:content/par/home_v3_main.img.jpg/1724143616019.jpg" alt="" class="img-cover" data-object-fit="cover"/> </div> </div> </div> </div> </div> </div> </div> </main> <footer class="sgds footer screen-v3 bootstrap-v3 footer-background custom-footer-style"> <section class="footer-top"> <div class="container-fluid"> <div class="footer-header"> <div class="row"> <div class="col-lg-9"> <br/> <div class="title">MySkillsFuture</div> <br/> <div>MySkillsFuture is a one-stop portal to support Singaporeans in their lifelong learning journey. Individuals can discover training opportunities, submit SkillsFuture Credit claims and more.</div> </div> </div> </div> <div class="flex-fill"> <div class="footer-mandatory-links"> <ul> <li><a href="/content/portal/en/about/about-myskillsfuture.html" style="font-weight: 700;">About Us</a></li> <li><a href="/content/portal/en/header/faqs/related-sites.html" style="font-weight: 700;">Related Sites</a></li> </ul> </div> </div> </div> </section> <section class="footer-logo-holder"> <div class="container-fluid"> <div class="footer-logo-row justify-content-start"> <div class="d-lg-flex flex-md-column flex-lg-row"> <label>In association with:</label> <div> <a href="http://www.moe.gov.sg/" x-cq-linkchecker="skip"> <img src="/etc/clientlibs/msf/core-base/V3-ui/images/footer_logo_moe.svg" alt="Logo of Ministry of Education, Singapore." title="Navigate to the https://www.moe.gov.sg/"/> </a> </div> <div> <a href="https://www.skillsfuture.gov.sg/" x-cq-linkchecker="skip" title="Navigate to the https://www.skillsfuture.gov.sg/"> <img src="/etc/clientlibs/msf/core-base/V3-ui/images/footer_logo_skillsfuturesg.svg" alt="Logo for SkillsFuture, Singapoe."/> </a> </div> </div> <span class="vr d-none d-lg-flex"></span> <div class="d-lg-flex skillsfuture-footer-logo-v3"> <label>An initiative of:</label> <div><a href="http://www.skillsfuture.gov.sg/" target="_blank" title="Navigate to the https://www.skillsfuture.gov.sg/"> <img src="/etc/clientlibs/msf/core-base/V3-ui/images/footer_logo_skillsfuture.svg" alt=""/> </a> </div> </div> </div> </div> </section> <section class="footer-bottom"> <div class="container-fluid"> <div class="d-grid d-lg-flex"> <div class="flex-fill"> <div class="footer-copyrights"> <div class="d-inline-flex justify-content-lg-end text-lg-end gap-4 footer-float-right"> <div class="footer-mandatory-links"> <ul> <li><a href="/content/portal/en/header/faqs/for-further-assistance.html">Contact Us</a></li> <li><a href="https://service-portal.skillsfuture.gov.sg/s/feedback">Feedback</a></li> <li><a href="/content/portal/en/header/faqs/portal.html">FAQ</a></li> <li><a href="https://www.reach.gov.sg/">REACH</a></li> </ul> </div> </div> </div> </div> </div> <div class="d-lg-none"><br/></div> <div class="d-grid d-lg-flex"> <div class="flex-fill"> <div class="footer-mandatory-links"> <ul> <li><a href="https://www.tech.gov.sg/report_vulnerability" target="_blank">Report Vulnerability</a></li> <li><a href="/content/portal/en/footer/privacy-policy.html" target="_self">Privacy Policy</a></li> <li><a href="/content/portal/en/footer/terms-of-use.html" target="_self">Terms of Use</a></li> <li><a href="/content/portal/en/header/faqs/supported_browsers0.html" target="_self">Supported Browsers</a></li> </ul> </div> </div> </div> <br/> <div class="flex-fill"> <div class="footer-copyrights"> <div class="d-inline-flex justify-content-lg-end text-lg-end gap-4 copyright-float-right"> <p class="m-0" id="footerLastUpdatedDate">Last Updated </p> <p class="mt-0">© 2024 Government of Singapore</p> </div> </div> </div> <br/> </div> </section> </footer> <script type="text/javascript" charset="utf-8"> $(document).ready(function (){ if(typeof moment !== "undefined"){ var lastUpdatedDate = moment(new Date()).format('DD MMM YYYY'); $('#footerLastUpdatedDate').append(lastUpdatedDate); }else{ var currentDateArr = (new Date).toDateString().split(" "); var lastUpdatedDate = currentDateArr[2]+" "+currentDateArr[1]+" "+currentDateArr[3]; $('#footerLastUpdatedDate').append(lastUpdatedDate); } }); </script> <script type="text/javascript" charset="utf-8"> $(document).ready(function (){ if(CommonUtils.checkUserIsLogin()){ $(document).idleTimeout({ idleTimeLimit: 14*60, idleCheckHeartbeat: 2, // Frequency to check for idle timeouts in seconds dialogDisplayLimit: 1*60, // Time to display the warning dialog before logout (and optional callback) in seconds. dialogTitle: 'Session Expiration Warning', // also displays on browser title bar dialogText: 'Because you have been inactive, your session is about to expire.', dialogTimeRemaining: 'Time remaining', dialogStayLoggedInButton: 'Stay Logged In', dialogLogOutNowButton: 'Log Out Now', logoutUrl:"/content/portal/en/index.html", redirectUrl:"/content/portal/en/index.html", }); setInterval(CommonUtils.extendFnScheduler, 4*60*1000); if (!(window.location.href.indexOf('/uam/') > -1) && (window.location.href.indexOf('/employer/jobs') > -1 || window.location.href.indexOf('/employer/feedback') > -1 || window.location.href.indexOf('/employer/settings') > -1 || window.location.href.indexOf('/employer/profile') > -1 || window.location.href.indexOf('/employer/candidates') > -1 || window.location.href.indexOf('/employer/tripartite-standards') > -1 || window.location.href.indexOf('/employer/overview') > -1 || window.location.href.indexOf('/employer/registration') > -1 || window.location.href.indexOf('/employer/create') > -1 || window.location.href.indexOf('/employer/interview') > -1)) { window.location.href=PortalConstants.URL.MCF_PAGE_URL.CAREERS_FUTURE; } }else{ //ILPPROD-6143,URL Redirection to MCF Employer Portal from MySF Portal if (window.location.href.indexOf('/employer') > -1) { window.location.href=$GLOBAL_CONSTANTS.PAGE_URL.ERROR_PAGE; } else { clearInterval(CommonUtils.extendFnScheduler); var isSessionTime=$.cookie("sessionTimeOut"); var message; if(isSessionTime=='true'){ $.removeCookie("sessionTimeOut"); // remove the cookie that was used to enter "If" sstatement to display popup if(store.get('sessionExpired')){ store.set('sessionExpired',false); message = "Your session has expired. Click 'CLOSE' to close the current window."; /* $("#Common_Bootstrap_Modal_Popup #popup-content").text("") .text("Your session has expired. Click 'CLOSE' to close the current window."); */ }else{ message = "You have been logged out because another login session was detected. Click ‘CLOSE’ to close the current window."; /* $("#Common_Bootstrap_Modal_Popup #popup-content").text("") .text("You have been logged out because another login session was detected. Click ‘CLOSE’ to close the current window."); */ } CommonUtils.showCommonPopup("warning",message,null,null,"CLOSE"); /* $("#Common_Bootstrap_Modal_Popup").modal({ backdrop: 'static', keyboard: false }); */ $.cookie.defaults = { path: '/content'}; $.removeCookie("sessionTimeOut"); // delete cookie from /content $.cookie.defaults = { path: '/'}; $.removeCookie("sessionTimeOut"); clearComparisonCache(); } } } if (!$("#myInfoRedirect").length) { localStorage.removeItem("myInfoRedirect") } if(typeof moment !== "undefined"){ $('#last-updated-date').text(moment(new Date()).format('DD MMM YYYY')); }else{ var currentDateArr = (new Date).toDateString().split(" "); $('#last-updated-date').text(currentDateArr[2]+" "+currentDateArr[1]+" "+currentDateArr[3]); } }); </script> <script> $(document).ready(function() { // Analytics scripts start // if (typeof WorkforceAnalytics != 'undefined') { try{ WorkforceAnalytics.Common.trackLoginUserType(); WorkforceAnalytics.HeaderMenu.trackMenuClickForInternalPages(); }catch(err){ console.log('Analytics Error!'); } } if (typeof digitalData != "undefined" && digitalData.page && digitalData.page.pillar && digitalData.page.audience) { _satellite.pageBottom(); } // Analytics scripts end // //Check duplicate session if(!window.location.href.indexOf("/content/admin") > -1) { $UserLoginUtil.checkDuplicateSession(); } // show preference popup at homepage if user have not edited if(window.location.href.indexOf("/content/portal/en/index") > -1) { if(CommonUtils.checkUserIsLogin() && (PortalConstants.ENCODED_INFO["log-type"] == "SP" || PortalConstants.ENCODED_INFO["isPortalLogin"] == "true")) { CommonUtils.showIndividualPreferenceSetting(); } } var individualLoginType = RequestUtil.getURLParameter("individualLoginType"); if (individualLoginType && (individualLoginType == 'SingPass') && !(CommonUtils.checkUserIsLogin() && $UserLoginUtil.userLoginType == 'SP')) { $(window).bind("load", function () { setTimeout(function () { var getIndividualLoginTypeUrl = window.location.href; var individualLoginTypeRedirectUrl = $Util.removeURLParameter(getIndividualLoginTypeUrl, "individualLoginType"); assignRoute(individualLoginTypeRedirectUrl); $UserLoginUtil.submitILPIndividualLogin('individual-sp-login-form'); }, 1000); }); } }); </script> <link rel="stylesheet" href="/etc/clientlibs/msf/core-modules/pm/pm_main.min.css" type="text/css"> <script src="/etc/clientlibs/msf/core-modules/pm/pm_main.min.js"></script> <!-- Will override in child template --> <!-- ALERT BOX POP UP PANEL --> <!-- **************************** --> <div id="Alert_PopupPanel" style="display:none;" class="modal fade"> <div class="Closebtn_PopupPanel"></div> <div class="contentblock"> <div class="message">Place your text here</div> <div class="ActionPanel"> <button class="btn btn_bigorange confirmButton" type="button">OK</button> <a href="#" class="btn btn_bigorange confirmLink" style="display:none;" type="button">OK</a> <button class="btn btn_bigorange cancelButton" type="button">Cancel</button> </div> </div> </div> <!-- Yes No POP UP PANEL --> <!-- **************************** --> <div id="Common_PopupPanel" style="display:none;" class="modal fade"> <div class="Closebtn_PopupPanel"></div> <div class="contentblock"> <div class="message"></div> <div class="ctabox"> <button class="ctabtn small confirmButton" type="button"></button> <a href="#" class="btn btn_bigorange confirmLink op-link" style="display:none;" type="button"></a> <button class="ctabtn small cancelButton" type="button"></button> </div> </div> </div> <!-- Common Modal Popup by Bootstrap --> <div class="modal fade" id="Common_Bootstrap_Modal_Popup" tabindex="-1" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <div class="general-message-holder"> <div> <div class="card"> <div class="card-body"> <div id="popup-icon-holder" class="message-icon mb-4"> </div> <h3 id="popup-content" class="mb-4"></h3> <div class="btn-holder justify-content-center"> <button data-bs-dismiss="modal" id="popup-btn-2" type="button" class="btn btn-outline-dark"></button> <button data-bs-dismiss="modal" id="popup-btn-1" type="button" class="btn btn-primary"></button> <!-- <a data-dismiss="modal" class="btn btn-outline-dark" id="popup-btn-2"></a> <a data-dismiss="modal" class="btn btn-primary" id="popup-btn-1"></a> --> </div> </div> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary d-none" data-bs-dismiss="modal">Close</button> </div> </div> </div> </div> <div id="duplicate_session_popup_modal" data-keyboard="false" data-backdrop="static" aria-hidden="true" class="modal fade duplicateSessionPopupModal" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title" style="text-align: center;">Duplicate Sessions</h4> </div> <div class="modal-body"> <div id="duplicate_session_container" style="text-align: center;"> <span>Another login session has been detected. If you continue, the previous session will be removed.</span> <br/><br/> <span>Do you want to continue?</span> </div> <div class="duplicateSessionContainer" style="text-align: center;margin-top: 23px;"> <a href="#" id="duplicate_session_popup_modal_yes_buttton" class="ctabtn tiffany op-link">Yes</a> <a href="#" id="duplicate_session_popup_modal_logout_buttton" class="ctabtn tiffany op-link">Logout</a> </div> </div> </div> </div> </div> </body> </html>