CINXE.COM
Apply Now - Skilled Trades Inventory
<!DOCTYPE html> <html lang='en' > <head> <link rel="stylesheet" media="all" href="https://cdn.hiringplatform.ca/assets/v6/interview-c3337c59a5a36c6a63349922b9504d7f0ce6fd1d692028fa3dfba038b5e074f2.css" /> <link rel="stylesheet" media="all" href="https://cdn.hiringplatform.ca/assets/v6/tailwind-1015add9a78cc41638cf2196619ab586f03153f91c9bf50515389c922ec491bf.css" /> <link rel="stylesheet" media="all" href="" /> <link rel="stylesheet" media="all" href="" /> <link rel="stylesheet" media="all" href="" /><script src="https://cdn.hiringplatform.ca/assets/v6/preload-a9a3fb5c0097beeab9c299c8add9edf91b45012b710f15f39102b5e4881dc4fb.js"></script> <script src="https://cdn.hiringplatform.ca/assets/v6/interview-243a21718e9894ac970669f04f5a3fc4101cbe503a992a6c6dfbd431119ca300.js"></script> <script src="https://cdn.hiringplatform.ca/assets/v6/frontend-051306af822c61b0cca8c965f3d7feb08dbff489bb5efe59f49166da298c58ca.js"></script> <script src="https://cdn.hiringplatform.ca/assets/v6/modules/live_logging-861274e8dc3461b04484fed3a6a7e2d076fb323ce3002bf0d3cb40621e8348df.js"></script> <script src="https://cdn.hiringplatform.ca/assets/v6/vendors/fingerprint2-d7b2563816b65602686e6e917d4dad50332d30fefc175b269f62a7946297e0f4.js"></script> <script src="https://cdn.hiringplatform.ca/javascripts/uppy.160.js"></script><script src="https://cdn.hiringplatform.ca/assets/v6/live_question_page-b28eaee576141d514ad3714dba8bc21ab0d2a88213e95bc47fb31b0853ae75f8.js"></script><script src="//enterprise.opentok.com/v2/js/opentok.min.js" onerror="window.error_loading_ot = true;"></script><script src="/javascripts/vonage-video-effects.js"></script><meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="LstDlQwvrWYUSs5bKbj+4LI5T3JoMVrfn/lmKiEgo/twjm+NHkNsfkWAOwk3Pdu8XUBO14mpr8VrFbFBQGjGbg==" /> <style> @media (min-width : 668px) { #previewer-container { min-height: 300px; min-width: 600px; } } </style> <link rel="image_src" href="#" /> <link rel="shortcut icon" href="https://cdn.hiringplatform.ca/assets/v6/favicon-16-03bcb59a394e9234ec77ebd858a5c1e15b12954ffe287b2b8050e6ac8db16e2b.ico?r=31241" type="image/x-icon"> <link rel="icon" type="image/x-png" href="https://cdn.hiringplatform.ca/assets/v6/favicon-16-4f61065f6e68b5d7c76361661a3e3e02b046392e384a3bc1037dfa5f8de6b0e9.png?r=31241" sizes="16x16"> <link rel="icon" type="image/x-png" href="https://cdn.hiringplatform.ca/assets/v6/favicon-32-13d9ef5ee1ec1a45a6c44e1c43b3fe75f5fa565791a78edd6f5b4c37b7951f73.png?r=31241" sizes="32x32"> <script> // This part of the JS is used to set global variables that are used // in JS files. It is used in the following way: // window.settings_js['key'] window.settings_js = { sms_default_country: "ca", } // Set up the reports settings. window.settings_js['reports'] = { users_per_page: 25, } if(typeof $.fn.dataTable !== 'undefined') { $.extend(true, $.fn.dataTable.defaults, { layout: { topStart: ['pageLength'], topEnd: ['search','buttons'] }, buttons: [ { className: "clear-sorting-button force-hide", text: "Clear Sorting", action: function ( e, dt, node, config ) { dt.order.neutral().draw(); } } ], }); } </script> <script> // This part of the JS is used to set global constants that are used // in JS files. It is used in the following way: // window.constants_js['key'] window.constants_js = { live_interview_types: { phone: 4, in_person: 5, video: 1, }, video_modes: { interview: 1, conference: 2, one_on_one: 3, } } </script> <script> // This part of the JS is used to translate text in JS files based on // the current locale. It is used in the following way: // window.i18n_js['key'] window.i18n_js = { select_some_options: "Select Some Options", no_results_found: "No results found.", no_results_match: "No results match", select_an_option: "Select an Option", list_delimiter: ", ", file_field_text: "Choose file", file_field_placeholder: "No file chosen", field_field_aria_label: "Choose file", saving_loading: "Saving...", save: "Save", click_to_play_videos: "Click to Play Videos", click_this_link_to_fix: "Click this link to fix this problem.", why_am_i_seeing_this: "Why am I seeing this?", autoplay_popup_message: "This page has videos that are set to auto-play, and your web browser does not support this. Please click here to manually begin playback.", close_dialog: "Close dialog", default_grant_revoke_access_text_accessibility: "You have not yet been granted access to join this video interview. An interviewer will let you in soon.", selected_value: "Selected value", selected_no_value: "No value selected", media_player_video: "Video Player. Element must be in focus to interact with it.", media_player_audio: "Audio Player. Element must be in focus to interact with it.", media_player_video_instruction: "Video Player has focus. Use the space bar to stop and start video. Use the up down arrows to control volume. Use the m key to mute or unmute the video. Use the left and right arrows to move forward and backwards in the video. Use the f key to open video in full screen, use the escape key to exit full screen view.", media_player_audio_instruction: "Audio Player has focus. Use the space bar to stop and start audio. Use the up down arrows to control volume. Use the m key to mute or unmute the audio. Use the left and right arrows to move forward and backwards in the audio.", phone_country_code_selected: "Country code selected", file_selected: "File selected", volume: "volume", mute: "Mute", unmute: "Unmute", play: "Play", paused: "Paused", full_screen_exit: "exited full screen", full_screen_enter: "entered full screen press f or escape to exit", wait_to_view_video: "The recording is being processed. This usually takes around 30 seconds, but could be longer.", select_upload_file: "Select and Upload a File...", select_upload_video: "Select and Upload a Video...", please_wait_for_the_file_upload_to_complete_to_sub: "Please wait for the file upload to complete to submit.", please_wait: "Please wait", ready: "Ready", access_revoked: "Access Revoked", not_present: "Not Present", not_ready: "Not Ready", max_file_size_exceeded: "Select a smaller file. Maximum allowed file size is:", captions_up_down_arrows: "Captions. Use the up and down arrows to change the current selection.", audio_only: "Audio Only", requesting_device_access: "Requesting Device Access...", initializing: "Initializing", you_sure: "Are you sure?", are_you_sure_delete_field_option: "Are you sure you want to delete this answer? Any saved answers for this field will be retained.", errors_found_in_form: "Errors found in the form", problem_with_the_form: "There is a problem with the form, please check and correct the following:", problem_with_the_form_accessibility: "There is a problem with the form, please check and correct the following field problems.", multiple_choice: "multiple choice", this_field_is_required: "This field is required ", this_field_is_required_2: "${name} is a required field. Please complete this ${field_type} field.", scoring_column_unique: "${name} column can only be selected once. Please change your selections for this ${field_type} field.", this_time_taken: "Unfortunately, the time that you tried to select has been booked by someone else. Please select a new time.", this_field_is_required_please_upload_a_file: "This field is required. Please upload a file.", this_field_is_required_please_upload_a_file_2: "${name} is a required ${field_type} field. Please upload a file.", scheduler_overlap_error: "This field has a time selected that conflicts with another field.", scheduler_overlap_error_2: "${name} has a time selected that conflicts with another ${field_type} field. Please select a different time.", file_size_error_100: "File must be 100 MB or less.", file_size_error_100_2: "File for ${name} ${field_type} must be 100 MB or less.", valid_file_type_for_upload: "The file type you selected is invalid. Please select a valid file type, bmp, csv, doc, docx, eml, jpeg, jpg, msg, odt, pbix, pdf, png, ppt, pptx, rtf, tif, txt, wps, xls, xlsx, zip", valid_file_type_for_upload_2: "The file type for ${name} ${field_type} you've selected is invalid. Please select a valid file type, bmp, csv, doc, docx, eml, jpeg, jpg, msg, odt, pbix, pdf, png, ppt, pptx, rtf, tif, txt, wps, xls, xlsx, zip", needs_valid_email: "This field needs to be a valid email address such as name@provider.com", needs_valid_email_2: "${name} field needs to be a valid email address such as name@provider.com. Please complete this ${field_type} field.", this_field_must_match_the_one_above_it: "This field must match the one above it.", this_field_must_match_the_one_above_it_2: "${name} must match the ${field_type} field above it.", reference_emails_must_me_different: "This reference email address has already been used, please enter another email address.", reference_emails_must_me_different_2: "${name} ${field_type} reference email address has already been used, please enter another email address.", this_field_is_required_sms: "This field must be a valid phone number.", this_field_is_required_sms_2: "${name} must be a valid phone number. Please complete this ${field_type} field.", video_file_type_error: "The video file must be a valid type.", video_file_type_error_2: "${name} ${field_type} field must be must be a valid type.", custom_regex_error: "This field is not formatted correctly.", custom_regex_error_2: "${name} - ", cannot_submit_from_while_upload_is_in_progress: "Cannot submit form while upload in progress", word_count_limit_validation_message: "The word count exceeds the limit of ", you_must_accept_terms: "You must accept the privacy policy to continue.", loading: "Loading...", loading_more: "Loading more...", for: "for", safari_no_data_error: "We are not receiving any video or audio data. This problem may occur when your video feed is not accessible by the webpage. Please make sure you've closed all other browser windows and reopen this link to try again.", embedded_questionnaire: "Embedded Questionnaire", rating_step: "Rating Step", hide_advanced_features: "Hide Advanced Features", phone: "Phone", in_person: "In-Person", vidlivedescription: "Live Video Interviewing", live_interviewing: "Live Video Interviewing", change_live_interview_type_confirm: "Are you sure you want to change the interview type? Doing so will result in all changes to this interview being lost.", change_live_interview_template_confirm: "Are you sure you want to change the interview template? Doing so will result in all changes to this interview being lost.", an_error_occured: "An error occured" } // MediaElementPlayer translations. if(typeof mejs !== 'undefined') { mejs.i18n.en['mejs.audio-player'] = "Audio Player"; mejs.i18n.en['mejs.captions-chapters'] = "Chapters"; mejs.i18n.en['mejs.captions-subtitles'] = "Captions/Subtitles"; mejs.i18n.en['mejs.download-file'] = "Download File"; mejs.i18n.en['mejs.fullscreen'] = "Fullscreen"; mejs.i18n.en['mejs.install-flash'] = "You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/"; mejs.i18n.en['mejs.live-broadcast'] = "Live Broadcast"; mejs.i18n.en['mejs.mute'] = "Mute"; mejs.i18n.en['mejs.pause'] = "Pause"; mejs.i18n.en['mejs.play'] = "Play"; mejs.i18n.en['mejs.speed-rate'] = "Speed Rate"; mejs.i18n.en['mejs.time-help-text'] = "Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds."; mejs.i18n.en['mejs.time-slider'] = "Time Slider"; mejs.i18n.en['mejs.unmute'] = "Unmute"; mejs.i18n.en['mejs.video-player'] = "Video Player"; mejs.i18n.en['mejs.volume-help-text'] = "Use Up/Down Arrow keys to increase or decrease volume."; mejs.i18n.en['mejs.volume-slider'] = "Volume Slider"; mejs.i18n.en['mejs.none'] = "None"; mejs.i18n.en['mejs.recording_loaded'] = "Your recording has loaded successfully and is ready for review."; mejs.i18n.en['mejs.hour'] = "Hour"; mejs.i18n.en['mejs.hours'] = "Hours"; mejs.i18n.en['mejs.minute'] = "Minute"; mejs.i18n.en['mejs.minutes'] = "Minutes"; mejs.i18n.en['mejs.second'] = "Second"; mejs.i18n.en['mejs.seconds'] = "Seconds"; mejs.i18n.en['mejs.skip-to'] = "Skip to"; } // DataTables translations. if(typeof $.fn.dataTable !== 'undefined') { $.extend(true, $.fn.dataTable.defaults, { language: { processing: "Please wait", search: "Search", lengthMenu: "Per page: _MENU_", info: "Showing _START_ to _END_ of _TOTAL_ entries", infoEmpty: "Showing 0 to 0 of 0 entries", infoFiltered: "(filtered from _MAX_ total entries)", infoPostFix: "", loadingRecords: "Please wait", zeroRecords: "There is nothing to display", emptyTable: "There is nothing to display", paginate: { first: "First", previous: "Previous", next: "Next", last: "Last" }, aria: { sortAscending: ": activate to sort the column in ascending order", sortDescending: ": activate to sort the column in descending order" } } }); } window.i18n_js['phone_number_field'] = {} window.i18n_js['phone_number_field']['ca'] = "Canada"; window.i18n_js['phone_number_field']['ie'] = "Ireland"; window.i18n_js['phone_number_field']['tt'] = "Trinidad and Tobago"; window.i18n_js['phone_number_field']['gb'] = "United Kingdom"; window.i18n_js['phone_number_field']['us'] = "United States"; </script> <script> window.VALID_ATTACHMENT_FILE_FORMATS = ["bmp","csv","doc","docx","eml","jpeg","jpg","msg","odt","pbix","pdf","png","ppt","pptx","rtf","tif","txt","wps","xls","xlsx","zip"]; window.pusher = new Pusher('333a19907e5c92ecd629', { cluster: 'us2', encrypted: true }); // Check if a current rating invitation and we are using the rating interface. // We don't want to apply this to all URLs if a user has a rating invitation. function setupRichTextEditor(id, showWordCount, lang, placeholder, classNames, checkConditional, options) { var required = classNames.indexOf("vidcruiter-validation-required") >= 0 ? true : false; var editorClass = required ? id + ' rich-text-validation-required' : id + ' ' + classNames; var count_words_timeout = null; var textArea = $('#' + id); var spellcheck = options['prevent_spellcheck'] ? false : true; var label = options['label'] ? options['label'] : ''; label = label + ' This textarea uses rich text formatting. To enter rich text toolbar press Alt + F10 keys. To exit toolbar press escape key.' var currentIntervalId = null; var currentValue = null; new FroalaEditor('#' + id, { key: 'kRB4zB3D2C3E1G1B1E1rXYb1VPUGRHYZNRJd1JVOOb1HAc1zG2B1A2B1D6B1A1C4G1C3==', spellcheck: spellcheck, charCounterMax: 15000000, charCounterCount: false, wordPasteModal: false, imageUpload: false, imagePaste: false, imageAllowedTypes: [], videoUpload: false, enter: FroalaEditor.ENTER_BR, videoAllowedProviders: [], videoAllowedTypes: [], htmlRemoveTags: ['script', 'style', 'base', 'iframe', 'embed', 'head', 'body', 'html'], events: { 'paste.before': function (e) { if(options['prevent_pasting']) { return false; } }, 'initialized': function (e) { textArea.data("editor", this); // Prevent Spellchecking if(!spellcheck) { $(this.el).attr("data-gramm", false); $(this.el).attr("data-gramm_editor", false); $(this.el).attr("data-enable-grammarly", false); $(this.el).attr("disableGinger", true); $(this.el).attr("spellcheck", false); } $(this.el).attr('role', 'textbox'); $(this.el).attr('aria-label', label); // hide all sub toolbars $('.fr-more-toolbar').attr('aria-hidden', 'true'); textArea.css({"display": "block", "visibility": "hidden", "height": "0"}); checkRichTextFieldCondition(this.el); getRichTextWordCount(this.el.innerText, id, 'word', 'words', 'application', showWordCount); if (required && checkConditional) registerRichTextRequireValidation(); }, 'contentChanged': function (e) { checkRichTextFieldCondition(this.el); if (showWordCount) getRichTextWordCount(this.el.innerText, id, 'word', 'words', 'application', showWordCount); if (required) { $('#' + id).prev("div").qtip('destroy'); } }, 'focus': function() { // Note: contentChange will trigger after each new character added or removed from the editor. // It's more consistent with regular textarea inputs to have the change trigger only on blur, but // we want to account for the cases where auto-saving is being used to ensure content is not lost. currentValue = $(textArea).val(); $('.' + id).addClass('focused-outline') // Create a polling to update the value if changed since last time at routine times. currentIntervalId = setInterval(function() { // Trigger a change if the value changed since the last check. if (currentValue != $(textArea).val()) { currentValue = $(textArea).val(); $(textArea).trigger('change'); } }, 15000); }, 'blur': function() { // Clear the polling interval created when focus was given to this editor. if (currentIntervalId != null) { clearInterval(currentIntervalId); currentIntervalId = null; } // Do one trigger in case was changed since the last polling. if (currentValue != $(textArea).val()) { $(textArea).trigger('change'); } $('.' + id).removeClass('focused-outline') }, 'commands.after': function (cmd, param1, param2) { var moreToolbar = $('.fr-more-toolbar').filter('[data-name="' + cmd + '-1"]'); var toolbarStatus = $(moreToolbar).attr('aria-hidden'); // hide all sub toolbars $('.fr-more-toolbar').attr('aria-hidden', 'true'); if (toolbarStatus == 'true' || toolbarStatus == true) $(moreToolbar).attr('aria-hidden', 'false'); } }, language: setRichTextLanguage(lang), placeholderText: placeholder, attribution: false, editorClass: editorClass, quickInsertTags: null, quickInsertEnabled: false, toolbarButtons: { 'moreText': { 'buttons': ['bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', 'fontFamily', 'fontSize', 'textColor', 'backgroundColor', 'inlineClass', 'inlineStyle', 'clearFormatting'] }, 'moreParagraph': { 'buttons': ['alignLeft', 'alignCenter', 'formatOLSimple', 'alignRight', 'alignJustify', 'formatOL', 'formatUL', 'paragraphFormat', 'paragraphStyle', 'outdent', 'indent', 'quote'] }, 'moreRich': { 'buttons': ['insertLink', 'insertTable', 'fontAwesome', 'embedly', 'insertHR'] }, 'moreMisc': { 'buttons': ['undo', 'redo', 'spellChecker', 'selectAll', 'help'] } }, toolbarButtonsXS: { 'moreText': { 'buttons': ['bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', 'fontFamily', 'fontSize', 'textColor', 'backgroundColor', 'inlineClass', 'inlineStyle', 'clearFormatting'], 'buttonsVisible': 0 }, 'moreParagraph': { 'buttons': ['alignLeft', 'alignCenter', 'formatOLSimple', 'alignRight', 'alignJustify', 'formatOL', 'formatUL', 'paragraphFormat', 'paragraphStyle', 'lineHeight', 'outdent', 'indent', 'quote'], 'buttonsVisible': 0 }, 'moreRich': { 'buttons': ['insertLink', 'insertTable', 'fontAwesome', 'embedly', 'insertHR'], 'buttonsVisible': 0 }, 'moreMisc': { 'buttons': ['undo', 'redo'], 'buttonsVisible': 2 } } }); if (checkConditional) { var editor = $('#' + id)[0]['data-froala.editor'].el; checkRichTextFieldCondition(editor); } } function count_words(value){ var words = 0; if (value.trim() != "") { words = (value.match(/\S+/g) || []).length; } return words; } function initConfirmFileUpload(){ $('input[type="file"]').on('change', function() { if (this.value && this.value != "") { $('#screen-reader-announcements').html('File selected ' + this.value); } }); } function initWordCounter(){ $('.word-counter').on('keyup', function(e){ wordCountChange(e, this, false); }); $('.word-counter').on('blur', function(e){ wordCountChange(e, this, false); }); $(document).on("keyup", ".word-counter", _.debounce(function(event){ WordCountAnnouncement(event.target); }, 500) ); } function wordCountChange(event, element, validate) { var value = $('#' + element.id).val(); words = count_words(value); word_limit = $(element).data("word-count-limit"); if (validate && word_limit) { words = checkWordCount(event, element, word_limit, words); } $('#word-counter-' + element.id).html(words); var single = 'word'; var plural = 'words'; if (words == 1){ $('#word-counter-label-' + element.id).html(single); } else { $('#word-counter-label-' + element.id).html(plural); } } function checkWordCount(event, element, word_limit, words) { if (event.which < 0x20 && event.which != 0) { return words; } else if (words < word_limit) { event.preventDefault(); return words; } else if (words >= word_limit) { var text_array = element.value.match(/\S+/g) var end_pos, loc = 0; $.each( text_array, function( index, value ) { if (index >= word_limit) { return false; } loc = element.value.indexOf(value, end_pos); end_pos = loc + value.length; }); limited_text = element.value.substring(0, end_pos); $(element).val(limited_text); setTimeout(function() { $('#screen-reader-announcements').html('The word count exceeds the limit and has been truncated to meet the requirements.'); }, 2000); return word_limit } } function WordCountAnnouncement(target) { var value = $('#' + target.id).val(); words = count_words(value); var announcement = words + ' '; if (words == 1){ announcement += 'word'; } else { announcement += 'words'; } $('#screen-reader-announcements').html(announcement); } function initRatingsWordCountValidation(){ $('.ratings-word-count-validation-required').each(function (index, element){ form = $('#' + element.id).closest("form"); form.validate({ errorPlacement: function(error, element) { error.appendTo( element.next("div") ); } }); }); } function registerRatingsWordCountValidation(){ $(".ratings-word-count-validation-required").each(function(index, element){ var max_length = $('#' + element.id).attr('data-word-count-limit'); $('#' + element.id).rules("add", { wordCountValidation: max_length }) }); $('.ratings-word-count-validation-required').on('keyup', function(e){ wordCountChange(e, this, true); }); $('.ratings-word-count-validation-required').on('blur', function(e){ wordCountChange(e, this, true); }); } function initRichTextRequireValidation(){ $(".has-rich-text").each(function(index, element){ form = $(element).closest("form"); form.validate({ errorPlacement: function(error, element) { error.appendTo( $(element).prev("div") ); } }); }); } function findFroalaTextArea(element) { var classList = $(element).attr('class').split(/\s+/); var id; $.each(classList, function(index, item) { if (item.indexOf('vidcruiter-field-') > -1) { id = item; } }); var textArea = $('#' + id); return textArea; } $(function() { initWordCounter(); initConfirmFileUpload(); if ($("[js-echosign-field-container]").length > 0) { $('.echosign-check-verified').on("click", function(e) { var container = $(this).closest('.echosign-container'); if($(this).is(':checked')) { container.find('.echosign-check-information').show(); } else { container.find('.echosign-check-information').hide(); } }); $('.echosign-verification').on("click", function(e) { e.preventDefault(); var container = $(this).closest('.echosign-container'); var iframe = container.find('iframe.echosign-widget'); var widgetId = container.attr('data-id'); var valueField = container.find('.value-field').first(); var check_div = container.find('.echosign-check-information'); var loading_div = container.find('.echosign-checking-information'); var not_signed_div = container.find('.echosign-not-signed'); var signed_div = container.find('.echosign-signed'); var error_div = container.find('.echosign-error'); signed_div.hide(); not_signed_div.hide(); error_div.hide(); check_div.hide(); loading_div.show(); $.get("/echosign/widgets/" + widgetId + "/signed", {email: container.find(".person-email").val()}, function (data) { if (data && data.error_message && data.error_message != "") { valueField.val(''); // Show the error div... error_div.html("Error: " + data.error_message); error_div.show(); check_div.show(); loading_div.hide(); } else if (data && data.signed != false && data.signed != 'false') { // Add the agreement id to the value of the FieldAnswer for this widget. valueField.val(data.signed); signed_div.show(); loading_div.hide(); } else { valueField.val(''); // Show the not signed div not_signed_div.show(); check_div.show(); loading_div.hide(); } }); }); } $.onmount(".field-calendar", function() { var datePickerField = $(this); var dateValueField = datePickerField.prev(); var dateValueAriaRegion = dateValueField.prev(); datePickerField.datepicker({ beforeShow: function(input, inst) { $('#ui-datepicker-div').addClass('notranslate'); }, dateFormat: 'MM d, yy', altField: $(this).prev(), altFormat: 'yy-mm-dd', showOn: "both", buttonImage: "https://cdn.hiringplatform.ca/assets/v6/calendar_button-8eaff5f4760cd1cfdfa3d48e402b84bded41e5b7745801e88c840f11fdb362a4.jpg", buttonImageOnly: true, buttonText: 'Open Calendar', changeMonth: true, changeYear: true, yearRange: '-100:+10', minDate: new Date(1000, 1 - 1, 1) }); // Allow use of arrow keys to select a date for accessibility. datePickerField.on("keydown", function(event){ // Keycodes used here: // LEFT: 37 // UP: 38 // RIGHT: 39 // DOWN: 40 // TAB: 9 // ENTER: 13 var keyCode = event.keyCode; var shiftKey = event.shiftKey; // if tab was not pressed, use pressed key for calendar control if(keyCode != 9 && keyCode != 13) { event.preventDefault(); event.stopPropagation(); if (datePickerField.val()) { var parts = dateValueField.val().split("-"); var currentDate = new Date(parts[0], parts[1]-1, parts[2]); switch(keyCode) { case 37: // LEFT, -1 day currentDate.setDate(currentDate.getDate() -1); break; case 38: // UP, -1 week currentDate.setDate(currentDate.getDate() -7); break; case 39: // RIGHT, +1 day currentDate.setDate(currentDate.getDate() +1); break; case 40: // DOWN, +1 week currentDate.setDate(currentDate.getDate() +7); break; case 33: // page up -1 month or -1 year if (shiftKey){ currentDate.setFullYear(currentDate.getFullYear() -1); } else { currentDate.setMonth(currentDate.getMonth() -1); } break; case 34: // page down +1 month or +1 year if (shiftKey){ currentDate.setFullYear(currentDate.getFullYear() +1); } else { currentDate.setMonth(currentDate.getMonth() +1); } break; } } else { var currentDate = new Date(); // months are 0-based } datePickerField.attr('aria-hidden', true); datePickerField.datepicker("setDate", currentDate); dateValueAriaRegion.html(datePickerField.val()); } else { $('#screen-reader-announcements').html("Selected date " + datePickerField.val()); } }); }); if ($('#person-actions-blocking').length > 0) { if (window.pusher) { var blockingChannel = window.pusher.subscribe('person-actions-blocking-' + $('#person-actions-blocking').data('access-key')); blockingChannel.bind('done', function(data) { location.reload(); }); } setTimeout(function() { // Do one polling check "immediately" in case the job finished before the Pusher channel was ready. $.get($('#person-actions-blocking').data('check-url'), {}, function(data) { if (!data['is_blocking']) { location.reload(); } }, 'json'); }, 1000); // Do another polling check every 30 seconds afterward to catch any other conflicts between page loading and Pusher. setInterval(function() { $.get($('#person-actions-blocking').data('check-url'), {}, function(data) { if (!data['is_blocking']) { location.reload(); } }, 'json'); }, 30000); } // Build Pusher channel and binding for each signature field (status indicator), $('.signature-status').each(function() { var container = $(this).closest('.field-answer-container'); var fieldId = container.data('field-id'); var personId = $(this).data('person-id'); if (window.pusher) { var signatureChannel = window.pusher.subscribe('signature-field-status-' + personId + '-' + fieldId); signatureChannel.bind('complete', function(data) { // There should only be one per field for the type of field, but do this to make sure. $('.field-answer-field-container-' + data.field_id).each(function() { $(this).find('.value-field').val('SIGNED'); var signatureStatusContainer = $(this).find('.signature-status'); $('.signature-status > .alert').hide(); signatureStatusContainer.find('.signing-status-complete').show(); }) }); } }); }); // See app/frontend/stylesheets/sources/components/scoring_field.css function vidcruiterUpdateScoringRowHighlighting(row) { if(row.find("input:checked").length == 0) { row.addClass('vidcruiter-scoring-field-row-error'); } else { row.removeClass('vidcruiter-scoring-field-row-error'); } } // This will update the message that shows how many videos have been submitted for a function updateGroupedVideoResponseSubmittedStatus(parent_id, only_if_visible) { if (only_if_visible && $('#video-response-submitted-message-' + parent_id).is(':hidden')) { return; } $('#video-response-submitted-message-' + parent_id).show(); $('#video-response-submitted-message-count-' + parent_id).html($('.video-response-submitted-' + parent_id).length); } function addInterviewFieldValidations() { if ($('#preview-mode').length == 0) { } } // START - Advanced Email Editor Fields if(typeof(define) !== 'undefined') { define("DynHighlightRules", [], function(require, exports, module) { var oop = require("ace/lib/oop"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; // These will now be overriden for each instance, so don't bother setting them here. var DynHighlightRules = function() { this.$rules = { "start" : [ {} ] }; }; oop.inherits(DynHighlightRules, TextHighlightRules); exports.DynHighlightRules = DynHighlightRules; }); } // END - Advanced Email Editor Fields // Interview Form validation $(function() { if ($('#preview-mode').length == 0) { initRatingsWordCountValidation(); registerRatingsWordCountValidation(); // Avoid race condition with jquery onmount "[data-js-validate]" handler in modules/validation/validation.js // This should execute after the handler in validation.js since this was registered after $.onmount("[data-js-validate]", function() { addInterviewFieldValidations(); }) } // Select the first form field $("#person_questionnaire_people___question_page_answers___field_answer_sets_0__field_answers_0__value").trigger('focus'); }); // END Interview form validation // AUTO TAGGER $(function() { $.onmount(".field-option-tagging-link", function() { $(this).on("click", function(e) { e.preventDefault(); var container = $(this).closest('.field-option-container'); if($(this).hasClass('active')) { container.find('.field-option-tag-input input').val(''); container.find('.field-option-tag-input').hide(); $(this).removeClass('active'); } else { container.find('.field-option-tag-input').show(); container.find('.field-option-tag-input input').trigger('focus'); $(this).addClass('active'); } }); $(this).qtip({ content: { text: "Auto-Tag Applicants When Selected", title: false }, position: { my: 'left center', at: 'right center' } }); }); }); // END AUTO TAGGER // Enbedded test pusher $(function() { // Build Pusher channel and binding for each embedded test field $('.embedded-test-container').each(function() { var personId = $(this).data('person-id'); var integrationPackageIdentifier = $(this).data('integration-package-identifier'); var integrationType = $(this).data('integration-type'); if (window.pusher) { var testChannel = window.pusher.subscribe('embedded-test-field-status-' + personId + '-' + integrationPackageIdentifier); testChannel.bind('complete', function(data) { var integrationType = data.integration_type; var personId = data.person_id; var packageId = data.package_id; var embeddedTestStatusContainer = $('#embedded-test-status-' + personId + '-' + integrationType + '-' + packageId); var fieldId = embeddedTestStatusContainer.data('field-id'); var setId = embeddedTestStatusContainer.data('set-id'); var required = embeddedTestStatusContainer.data('required'); $.fancybox.close( true ); $('.embedded-test-status > .alert').hide(); embeddedTestStatusContainer.find('.embedded-test-status-complete').show(); $('#embedded-test-field-popup-link-' + fieldId).toggleClass('disabled'); if (required == true) { $('#vidcruiter-field-required-' + setId + '-' + fieldId).val('COMPLETED'); } }); } }); }); // END Enbedded test pusher // Convert seconds into readable hours mintues text // param add_seconds [Boolean, Default = False] If true then add seconds to text // param add_remaining [Boolean, Default = True] If true then add remaning to end of text function secondsToText(secs, add_seconds, add_remaining) { var hours = Math.floor(secs / (60 * 60)); var divisor_for_minutes = secs % (60 * 60); var minutes = Math.floor(divisor_for_minutes / 60); var divisor_for_seconds = divisor_for_minutes % 60; var seconds = Math.ceil(divisor_for_seconds); var hour_text = ' Hour ' if (hours > 1) hour_text = ' Hours ' var minute_text = ' Minute ' if (minutes > 1) minute_text = ' Minutes ' var seconds_text = ' Seconds ' if (seconds == 1) seconds_text = ' Second ' var time_text = " remaining" if (!add_remaining) { time_text = ""; } if ( seconds > 0 && add_seconds) time_text = seconds + seconds_text + time_text; if ( minutes > 0) time_text = minutes + minute_text + time_text; if ( hours > 0) time_text = hours + hour_text + time_text; return time_text ; } $(document).on("click", ".question-page-delete-not-possible", function() { $.confirm({ useBootstrap: false, title: "Deleting an application form is not possible", content: "The <i>Application Form Step</i> can't be deleted since it collects mandatory applicant information like name and email, which are necessary to create their profile. However, pages within this step may be deleted.", buttons: { close: { text: "Cancel", action: function(){} } } }) }); $(document).on("click", ".question-page-applicants-entered-already", function() { $.confirm({ useBootstrap: false, title: "Deleting this applicant step is not possible", content: "<p>An <i>Applicant Step</i> can't be deleted after an applicant has entered it.</p><p>If you still wish to delete the step, please speak to your Implementation Team or reach out to our 24/7 chat team in the bottom-left hand corner for other possible solutions (Ex: recreating this step as a template can work in some cases).</p>", buttons: { close: { text: "Cancel", action: function(){} } } }) }); </script> <meta property="og:title" content="Parks Canada" /> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name='robots' content='noindex,nofollow,nosnippet,noarchive' /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta property="og:image" content="" /> <meta name="env" content="production" /> <meta property="og:site_name" content="Parks Canada" /> <meta name="google" content="notranslate" /> <meta property="og:description" content="Skilled Trades Inventory" /> <title>Apply Now - Skilled Trades Inventory</title><script> window.fcWidgetMessengerConfig = { locale: 'en', meta: { cf_sourceurl: window.location.href }, config: { headerProperty:{ hideChatButton: true, direction: 'ltr' } } } function showChatWidget(){ window.fcWidget.open(); } </script> <!-- Applicant support for Public Sector --> <script src='//fw-cdn.com/2498202/3055637.js' chat='true' widgetId='07ec494a-fbe1-419d-8193-87a729fdfd38'></script> <title>Parks Canada</title> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-6B3KVCVW5P"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-6B3KVCVW5P'); </script> <style type="text/css"> html, body { --primary: #55833b; min-height: 100%; background-color: white; background-image: none; background: url() repeat-x center top; color: #000; } .checkbox-indent{margin-left: 20px;} .custom-hidden-field{ display: none !important; } .bold .vidcruiter-field .vidcruiter-input label{ font-weight: bold !important; } .select2-container--default .select2-selection--single .select2-selection__placeholder, .select2-container--default .select2-selection--single .select2-selection__rendered,.vidcruiter-form .vidcruiter-field .vidcruiter-description,.vidcruiter-interview-header-dark,.btn,.vidcruiter-interview-header,.vidcruiter-form .vidcruiter-field .vidcruiter-label, .vidcruiter-form .vidcruiter-field .vidcruiter-label label{ color: #000; } .btn .caret { border-top: 4px solid white; } .sidebar-nav>.active>a { color: #FFFFFF; background-color: var(--primary) !important; background: var(--primary) !important; border-color: var(--primary) !important; } input[type="submit"].btn.btn-large, .btn, .btn-v3{ background-color: var(--primary) ; color: #FFFFFF !important; background-image: var(--primary) ; text-shadow: none; border: none; box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, .09); transition: all .15s ease; border-radius: 4px; } .mh65{ height: 65px; } input[type="submit"].btn.btn-large:hover, .btn:hover, .btn-v3:hover { background: var(--primary) ; background-color:var(--primary); color: #FFFFFF !important; text-shadow: none; background-position-y: 0px !important; box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, .09); Opacity: 0.8 !important; } #vidcruiter-video-overlay-buttons-content a{ background-image: none !important; } .responsive-recorder-ui #vidcruiter-video-overlay-buttons-content a:hover { background: var(--primary) ; color: #FFFFFF !important; text-decoration: underline; opacity: 0.9; } #logo-bar { width: 100%; text-align: center; margin-bottom: 40px; background-color: #000; } #logo-bar-content { display: flex; flex-direction: row; align-items: center; justify-content: space-between; width: 960px; margin: auto; padding-top: 20px; padding-bottom: 20px; } #content-container { } #content { width: 960px; margin: 0px auto 0px auto; padding-bottom: 0px; min-height: 500px; } .vidcruiter-custom-design { margin-bottom: 70px; } .vidcruiter-interview-header { background-color: #f7f7f7; } .vidcruiter-title, #vidcruiter-public-profile-title { background-color: white; color: #000000; } .vidcruiter-job-item-title { color: #004990; } .logo { height: 24px; } .logo2 { height: 45px; } .logo3{ height:34px; } @media (max-width : 768px) { #content { width: 100%; padding-left: 0px; padding-right: 0px; } #logo-bar-content { width: 100%; padding-left: 0px; padding-right: 0px; text-align: center; } .logo { } .vidcruiter-title { text-align: center; font-size: 14px; padding-top: 5px; padding-bottom: 5px; } .vidcruiter-interview-header { text-align: center; font-size: 12px; } .vidcruiter-form input[type="submit"], .vidcruiter-form input[type="reset"], .vidcruiter-form input[type="button"], .vidcruiter-form input[type="radio"] { width: 100%; } .vidcruiter-interview-floating-bar-content { width: 100%; } .vidcruiter-interview-floating-bar-content .logo { margin-left: 10px; } .vidcruiter-interview-floating-bar-content .description { margin-right: 10px; } } </style> <style> .faq-faq-accordion-chevron { font-family: 'Arial'; font-style: normal; font-weight: 700; font-size: 14px; line-height: 18px; color: #000000; cursor: pointer; padding: 18px 18px 18px 0px; text-align: left; outline: none; display: flex; flex-direction: row; justify-content: flex-start; align-items: center; } .faq-faq-accordion-chevron:hover{ } .faq-active { } .faq-active .faq-expand-icon-chevron{ content: url(https://vidcruiter-paperclip-bucket-production-us.s3.amazonaws.com/assets/assets/000/002/932/original/carat-up_%281%29.png); } .faq-active .faq-header span{ display: none; } .faq-active .faq-header-fr span{ display: none; } .faq-active .faq-header:after{ content: "Hide FAQ"; } .faq-active .faq-header-fr:after{ content: "Fermer FAQ"; } .faq-panel { padding: 0px; display: none; background-color: white; overflow: hidden; } .faq-accordion-default { color: #00549A; font-family: 'Arial'; font-style: normal; font-weight: 400; font-size: 14px; line-height: 18px; cursor: pointer; padding: 18px; text-align: left; outline: none; display: flex; flex-direction: row; justify-content: space-between; align-items: center; border-width: 0px 1px 1px 1px; border-style: solid; border-color: #D4D4D4; } .active { color: #111111; border-width: 0px 1px 0px 1px; border-style: solid; border-color: #D4D4D4; } .active + .panel{ border-left: 1px solid #D4D4D4; border-right: 1px solid #D4D4D4; border-bottom: 1px solid #D4D4D4; } .active .faq-expand-icon-chevron{ content: url(https://vidcruiter-paperclip-bucket-production-us.s3.amazonaws.com/assets/assets/000/002/932/original/carat-up_%281%29.png); } .panel { padding: 0px 15px 30px 15px; display: none; background-color: white; overflow: hidden; font-family: 'Arial'; font-style: normal; font-weight: 400; font-size: 14px; line-height: 18px; color: #4A4A4A; } .accordion-last{ border-radius: 0px 0px 10px 10px; } .accordion-last.active{ border-radius: 0px 0px 0px 0px; } .panel-last{ border-radius: 0px 0px 10px 10px; } </style> <style> .logocontainer{ display:flex; flex-direction:row; align-items: end; } @media (max-width : 450px) { .logocontainer{ flex-direction:column; } .logo3{margin-top:1rem;} } </style> </head> <body> <div id="vidcruiter-video-response" class="shadow hide" style=""></div> <div class="w-full py-1 bg-black"> <nav class="container"> <div class="flex flex-row justify-between gap-4"> <!-- Left --> <div class="flex flex-row items-center gap-4"> <a class="text-xs text-gray-400 truncate max-w-[240px] hover:text-white hover:no-underline" title="Parks Canada" href="/"> Parks Canada </a> </div> <!-- Right --> <div class="flex flex-row items-center gap-4"> <div class="relative"> <div data-controller="common--dropdown--menu" class="relative common--dropdown--menu flex"> <a data-action="common--dropdown--menu#toggle:prevent" data-common--dropdown--menu-target="button" class="text-xs text-gray-400 hover:text-white hover:no-underline" href="#" id="common--dropdown--menu--button-8d395c9431b79c706aad8adf012bf8f6" role="button" title="" aria-label="Language" aria-expanded="false" aria-controls="common--dropdown--menu--content-8d395c9431b79c706aad8adf012bf8f6" aria-haspopup="true"> Language </a> <div data-common--dropdown--menu-target="content" id="common--dropdown--menu--content-8d395c9431b79c706aad8adf012bf8f6" aria-labelledby="common--dropdown--menu--button-8d395c9431b79c706aad8adf012bf8f6" tabindex="-1" class="absolute z-[1003] hidden content-visibility-hidden m-0 -left-2 top-6 bg-white border border-gray-300 rounded shadow-md w-44"> <ul class="inline-block w-full px-0 py-2 m-0 list-none"> <li class="block"> <a href="#" class="block px-4 py-2 text-sm text-gray-900 hover:bg-blue-400 hover:text-white hover:no-underline" tabindex="0" data-js-confirm-language="{"update_from":"are_you_sure_change_language","current_locale":"en","new_locale":"en","url":"https://parkscanada.hiringplatform.ca/processes/123740-skills-trades-inventory?locale=en","post":false}"> English </a> </li> <li class="block"> <a href="#" class="block px-4 py-2 text-sm text-gray-900 hover:bg-blue-400 hover:text-white hover:no-underline" tabindex="0" data-js-confirm-language="{"update_from":"are_you_sure_change_language","current_locale":"en","new_locale":"fr_CA","url":"https://parkscanada.hiringplatform.ca/processes/123740-skills-trades-inventory?locale=fr_CA","post":false}"> Fran莽ais (CA) </a> </li> </ul> </div> </div></div> <a class="text-xs text-gray-400 whitespace-nowrap hover:text-white hover:no-underline" href="/account/login?locale=en"> Sign in </a> <a class="text-xs text-gray-400 whitespace-nowrap hover:text-white hover:no-underline" href="/account/new?locale=en"> Create Account </a> </div> </div> </nav> </div> <div id="logo-bar"> <div id="logo-bar-content"> <img class="logo2" src="https://vidcruiter-paperclip-bucket-production-ca.s3.amazonaws.com/assets/assets/000/000/690/original/parkscanadabeaver.png" /> <div class="logocontainer" > <img class="logo" src="https://vidcruiter-paperclip-bucket-production-ca.s3.amazonaws.com/assets/assets/000/000/701/original/parcs-logo.png" /> <img class="logo3" style="margin-left:32px;" src="https://vidcruiter-paperclip-bucket-production-ca.s3.amazonaws.com/assets/assets/000/001/143/original/canada-logo.png" alt="Canada Logo" /> </div> </div> </div> <div id="content-container"> <div id="content"> <script> // Using var to make this easily inspectable in the browser var sentryConfig = { dsn: 'https://b23033958f1a45f6a0d3a76ab69979f2@o33053.ingest.sentry.io/125500', environment: "prod-ca", release: null, tracesSampleRate: 0.0, replaysSessionSampleRate: 0.0, // If the entire session is not sampled, use the below sample rate to sample // sessions when an error occurs. replaysOnErrorSampleRate: 0.0, integrations: [ new Sentry.BrowserTracing() ], // Filtering out errors which generated by other third-party app other than our own. ignoreErrors: [ "undefined is not an object (evaluating '__gCrWeb.autofill.extractForms')", // Chrome bug "undefined is not an object (evaluating '__firefox__.favicons.getFavicons')", // firefox bug "setting a property that has only a getter", // firefox bug "Cannot set property 'src' of undefined", // flow player bug "setting getter-only property 'message'", // flow player bug "oa is not a function", // highcharts bug "ztePageScrollModule is not defined" // ZTE Android bug ] } // Session Replay can slow down dynamic page updates like usage of turbo-frames and select2. // e.g. switching between /calendar dashbaord and report tab // Although this is only used if either session rate is > 0 // Let's not load the module unless we need it. if (sentryConfig.replaysSessionSampleRate > 0 || sentryConfig.replaysOnErrorSampleRate > 0) { sentryConfig.integrations.push( new Sentry.Replay({ maskAllText: true, blockAllMedia: true }) ); } Sentry.init(sentryConfig); // Using var to make this easily inspectable in the browser var sentryTags = {"locale":"en","company.id":390,"company.subdomain":"parkscanada","business_process.id":123740,"questionnaire.id":null,"question_page.id":null}; Sentry.setTags(sentryTags); </script> <div id="previewer-container" class="hide"> <div id="previewer-content" class="clearfix" style="text-align: center; padding: 10px;"> </div> <div id="previewer-toolbar" class="clearfix" style="background-color: black; text-align: center; overflow-y: hidden;"> </div> </div> <script> </script> <div class="prettyLoader hide"> <div style="position: relative;"> <div class="prettyLoaderContent"> <img alt="Loading Image" src="https://cdn.hiringplatform.ca/assets/v6/prettyLoader/ajax-loader-75362d4d978d73ca66ddbd06611d930c8facfd22ae71c07bd59f702d5a732351.gif" /> </div> </div> </div> <div id="dialogs-loading-content" style="display: none;"> <div style="text-align: center; padding: 30px;"> <table style="margin: auto;"> <tr> <td> <img alt="" src="https://cdn.hiringplatform.ca/assets/v6/loader_squares-666627a5fa6a36ce5592825e3053329e03703988b7901c999f94573138573c6a.gif" /> </td> <td style="font-size: 22px; padding-left: 10px; color: #a3a3a3;">Loading...</td> </tr> </table> </div> </div> <div id="new-company-affiliate-dialog" title="Company Affiliates" class="hide dialog" style="padding: 0px;"> </div> <div id="edit-company-affiliate-dialog" title="Company Affiliates" class="hide dialog" style="padding: 0px;"> </div> <div id="email-dialog" title="Email" class="hide dialog" style="padding: 0px;"> </div> <div id="action-dialog" title="New Action" class="hide dialog"></div> <div id="change-action-email-template-dialog" title="Change Email Template" class="hide dialog" style="padding: 0px;"></div> <div id="change-action-sms-template-dialog" title="Change SMS Template" class="hide dialog" style="padding: 0px;"></div> <div id="bucket-dialog" title="" class="hide dialog"> </div> <div id="live-interview-dialog" class="hide dialog" style="padding: 0px;" title="Interview"> </div> <div id="live-interview-access-links-dialog" title="Access Links" class="hide dialog" style="padding: 0px;"> </div> <div id="email-template-dialog" title="Email Template" class="hide dialog"> </div> <div id="sms-template-dialog" title="SMS Template" class="hide dialog"> </div> <div id="change-status-dialog" title="Changed status" class="hide dialog" style="padding: 0px;"> </div> <div id="multiple-choice-dialog" title="Multiple Choice Options" class="hide dialog" style="padding-left: 0px; padding-right: 0px;"> </div> <div id="field-validations-dialog" title="Validations" class="hide dialog" style="padding-left: 0px; padding-right: 0px;"> </div> <div id="field-options-dialog" title="Manage your Field Options" class="hide dialog ui-corner-all-less" style="width: 960px; height: 500px; background-color: white;"> </div> <div id="template-picker-dialog" title="Template Gallery" class="hide dialog ui-corner-all-less" style="width: 960px; background-color: white; padding: 0px 0px 0px 0px;"> </div> <div id="questionnaire-template-dialog" title="Select a Template" class="hide dialog"> </div> <div id="question-page-template-dialog" title="Save this Template" class="hide dialog"> </div> <div id="rating-template-dialog" title="Save this Template" class="hide dialog"> </div> <div id="business-process-template-dialog" title="Position Template" class="hide dialog"> </div> <div id="business-process-description-template-dialog" title="Job Description Template" class="hide dialog"> </div> <div id="business-process-template-picker-dialog" title="Position Templates" class="hide dialog" style="padding: 0px;"> </div> <div id="questionnaire-template-picker-dialog" title="Select a Template" class="hide dialog" style="padding: 0px;"> </div> <div id="question-page-template-picker-dialog" title="Select a Template" class="hide dialog" style="padding: 0px;"> </div> <div id="rating-template-picker-dialog" title="Select a Template" class="hide dialog" style="padding: 0px;"> </div> <div id="question-page-template-simple-picker-dialog" title="Question Page Template" class="hide dialog" style="padding: 0px;"> </div> <div id="video-player-dialog" title="Media File Preview" class="hide dialog"> </div> <div id="rating-invitation-dialog" title="Invite Others to Rate" class="hide dialog" style="padding: 0px;"> </div> <div id="edit-rating-invitation-dialog" title="Edit This Rating Invitation" class="hide dialog" style="padding: 0px;"> </div> <div id="rating-export-dialog" title="Export to Excel" class="hide dialog" style="padding: 0px;"> </div> <div id="edit-question-page-answers-dialog" title="" class="hide dialog" style="padding: 0px;"> </div> <div id="edit-email-reinvite-questionnaire-dialog" title="Re-invite applicant to questionnaire" class="hide dialog" style="padding: 0px;"> </div> <div id="edit-email-reinvite-reference-dialog" title="Re-invite reference" class="hide dialog" style="padding: 0px;"> </div> <div id="edit-email-add-references-invite-dialog" title="Invite this Applicant to add references" class="hide dialog" style="padding: 0px;"> </div> <div id="question-page-answer-logging-dialog" title="Logging" class="hide dialog" style="max-height: 600px; overflow-y: auto;"> </div> <div id="company-invitations-dialog" title="Invite a User" class="hide dialog" style="padding: 0px;"> </div> <div id="new-division-dialog" title="Add a Division" class="hide dialog" style="padding: 0px;"> </div> <div id="new-business-process-list-dialog" title="Add a Career Page" class="hide dialog" style="padding: 0px;"></div> <div id="edit-business-process-list-dialog" title="Edit a Career Page" class="hide dialog" style="padding: 0px;"></div> <div id="live-interview-invitation-dialog" title="Interview Invitation" class="hide dialog" style="padding: 0px;"> </div> <div id="new-assessment-dialog" title="New Assessment" class="hide dialog"> </div> <div id="edit-assessment-dialog" title="Edit Assessment" class="hide dialog"> </div> <div id="new-assessment-category-dialog" title="New Assessment Category" class="hide dialog"> </div> <div id="edit-assessment-category-dialog" title="Edit Assessment Category" class="hide dialog"> </div> <div id="dialog-v3" title="" class="hide dialog" style="padding: 0px 0px; 0px; 0px;"> </div> <div id="privacy-policy-dialog" title="Privacy Policies" class="hide dialog"> </div> <div id="division-confirm-delete-dialog" title="Division" class="hide dialog" style="padding: 0px"> </div> <div id="schedule-live-interviews-dialog" title="Schedule interviews" class="hide dialog" style="padding: 0px;"> </div> <div id="add-tagging-dialog" title="Add Tag" class="hide dialog" style="padding: 0px;"> </div> <div id="company-user-confirm-deactivate-dialog" title="Deactivate User" class="hide dialog" style="padding: 0px"> </div> <div id="new-note-dialog" title="Add a new note" class="hide dialog" style="padding-left: 0px; padding-right: 0px;"> </div> <div id="live-interview-notification-template-dialog" title="Interview Room Notifications" class="hide dialog" style=""> </div> <div id="new-calendar-dialog" title="Add a Calendar" class="hide dialog" style="padding: 0px;"> </div> <div id="block-message-containers" class="hide"> <div id="default-block-message-container" class="block-message-panel"> <img alt="" src="https://cdn.hiringplatform.ca/assets/v6/loader_squares-666627a5fa6a36ce5592825e3053329e03703988b7901c999f94573138573c6a.gif" /> Saving... </div> </div> <div id="loading-message-containers" class="hide"> <div id="default-loading-message-container" class="block-message-panel"> <img alt="" src="https://cdn.hiringplatform.ca/assets/v6/loader_squares-666627a5fa6a36ce5592825e3053329e03703988b7901c999f94573138573c6a.gif" /> Loading... </div> </div> <script> // showBlockLoading from running every time turbo loads a page. if (window.initialBlockMessageShown !== true) { showBlockLoading($(window)); window.initialBlockMessageShown = true; } </script> <div id="dialog-loading-message" class="hide"> <div style="height: 100%; width: 100%; text-align: center; min-height: 100px; align-items: center; justify-content: center; display: flex;"> <div style="font-size: 18px;"> <img alt="" src="https://cdn.hiringplatform.ca/assets/v6/loader_squares-666627a5fa6a36ce5592825e3053329e03703988b7901c999f94573138573c6a.gif" /> Loading... </div> </div> </div> <div id="alerts"> <div class="clearfix"> </div> </div> <div class="clearfix shadow vidcruiter-form vidcruiter-job-board"> <div class="clearfix vidcruiter-job-board-individual-container"> <div class="vidcruiter-job-board-individual-header"> <div class="vidcruiter-job-board-individual-header-content"> <h2 class="vidcruiter-job-item-title" aria-label="Skilled Trades Inventory" tabindex="0">Skilled Trades Inventory</h2> <p class="vidcruiter-job-item-description-title" aria-label="" tabindex="0"></p> </div> <div> <div class="vidcruiter-job-board-apply-now-top"> <a class="btn btn-v3 btn-large" href="https://parkscanada.hiringplatform.ca/123740-skilled-trades-inventory/486887/en">Apply Now</a> </div> </div> </div> <p class="vidcruiter-job-item-description-text vidcruiter-job-item-description-text-preview-123740"> <p><img src="https://vidcruiter-paperclip-bucket-production-ca.s3.amazonaws.com/tinymce_assets/assets/000/020/091/original/Trades_Banner_EN.png" alt="Four photos of Parks Canada trades professionals with text in the centre saying 450 000 km squared of careers." width="1863" height="559"></p> <table style="width:100%;border-collapse:collapse;background-color:#55833b;" border="0" cellpadding="12"> <tbody> <tr> <td style="width:100%;border-color:#0076d2;border:none;"> <h3 style="text-align:center;"><span style="font-size:24pt;color:#ffffff;"><span class="ui-provider gr b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr">National Skilled Trades Portal</span><br></span></h3> </td> </tr> </tbody> </table> <p dir="ltr"><span style="font-size:11pt;"><br>Join the Parks Canada Team with rewarding and fulfilling careers across the country. Parks Canada is seeking apprentices and certified trade workers, including:</span></p> <ul> <li dir="ltr"><span style="font-size:11pt;">plumbers</span></li> <li dir="ltr"><span style="font-size:11pt;">carpenters</span></li> <li dir="ltr"><span style="font-size:11pt;">electricians</span></li> <li dir="ltr"><span style="font-size:11pt;">heavy-duty mechanics and mechanics</span></li> <li dir="ltr"><span style="font-size:11pt;">water/wastewater operators</span></li> <li dir="ltr"><span style="font-size:11pt;">small water systems operator</span></li> <li dir="ltr"><span style="font-size:11pt;">painters</span></li> <li dir="ltr"><span style="font-size:11pt;">drivers/operators</span></li> <li dir="ltr"><span style="font-size:11pt;">welders</span></li> <li dir="ltr"><span style="font-size:11pt;">restoration craftspersons<br></span></li> </ul> <p dir="ltr"><span style="font-size:11pt;">Our dedicated, multidisciplinary teams work together to maintain and improve our unique infrastructure that ensures long-term environmental sustainability, conservation of built heritage, and great visitor experiences. Start your career in our positive, collaborative, and supportive workplace.<br><br></span><span style="font-size:11pt;"><span class="ui-provider gl b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr">Below is a list of current openings along with the corresponding contact information for each location and area of expertise. <span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;">If you have any questions or need further information, feel free to reach out to the provided contacts. If you do not see your preferred location and area of expertise in the list below, please submit your application to be considered for future openings. We will keep your resume on file and reach out to you if suitable opportunities arise.</span></span></span></p> <ul> <li dir="ltr"> <span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><strong>Plumbers</strong></span> <ul> <li style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;">Nova Scotia | <a href="mailto:rhugnec-mnsfuhr@pc.gc.ca" target="_blank" rel="noopener">rhugnec-mnsfuhr@pc.gc.ca</a></span></li> <li style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><span style="font-size:11.0pt;font-family:'Calibri' , sans-serif;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;">Lake Louise, Yoho & Kootenay | <span style="font-size:11.0pt;font-family:'Calibri' , sans-serif;"><a href="mailto:rhllyk-llykhr@pc.gc.ca"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;">rhllyk-llykhr@pc.gc.ca</span></a></span></span></span></span></li> </ul> </li> </ul> <ul> <li> <span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><strong>Carpenters</strong></span> <ul> <li style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;">Riding Mountain |聽<a href="mailto:rmfurecruitment-recrutrementugmr@pc.gc.ca">rmfurecruitment-recrutrementugmr@pc.gc.ca</a></span></li> <li style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;">Southern New Brunswick | <a href="mailto:rhfundy-fundyhr@pc.gc.ca" target="_blank" rel="noopener">rhfundy-fundyhr@pc.gc.ca</a></span></li> </ul> </li> </ul> <ul> <li style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"> <span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><strong>Heavy-duty mechanics/mechanics</strong></span><br> <ul> <li style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;">Mount Revelstoke & Glacier | <span style="font-size:11.0pt;font-family:'Calibri' , sans-serif;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;"><a href="mailto:hou-mrg.hr-rh@pc.gc.ca">hou-mrg.hr-rh@pc.gc.ca</a></span></span></span></li> </ul> </li> </ul> <ul> <li style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"> <span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><strong>Water/wastewater operators & small water operators</strong></span><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><br></span> <ul> <li style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;">Northern Prairies |聽<a href="mailto:rhugpn-npfuhr@pc.gc.ca">rhugpn-npfuhr@pc.gc.ca</a></span></li> <li style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;">Riding Mountain | <a href="mailto:rmfurecruitment-recrutrementugmr@pc.gc.ca">rmfurecruitment-recrutrementugmr@pc.gc.ca</a></span></li> <li style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;">Southern New Brunswick | <a href="mailto:rhfundy-fundyhr@pc.gc.ca">rhfundy-fundyhr@pc.gc.ca</a></span></li> <li style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;">Mount Revelstoke & Glacier | <span style="font-size:11.0pt;font-family:'Calibri' , sans-serif;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;"><a href="mailto:hou-mrg.hr-rh@pc.gc.ca" target="_blank" rel="noopener">hou-mrg.hr-rh@pc.gc.ca</a></span></span></span></li> <li style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><span style="font-size:11.0pt;font-family:'Calibri' , sans-serif;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;">Lake Louise, Yoho & Kootenay | <span style="font-size:11.0pt;font-family:'Calibri' , sans-serif;"><a href="mailto:rhllyk-llykhr@pc.gc.ca"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;">rhllyk-llykhr@pc.gc.ca</span></a> </span></span></span></span></li> </ul> </li> </ul> <ul> <li style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:11pt;"><strong>Drivers/operators</strong></li> <ul> <li style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:11pt;">Banff (Maintenance Worker/Vacuum Truck Operator) | <a href="mailto:rhbanff-banffhr@pc.gc.ca" target="_blank" rel="noopener">debbie.hay@pc.gc.ca</a><br>Please note this position in Banff requires a valid Class 3 driver's license with air brake Q endorsement.</li> </ul> </ul> <ul> <li style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"> <span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><strong>Restoration craftspersons</strong></span> <ul> <li style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;"><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;">All locations across Canada | <a href="mailto:builtheritage@pc.gc.ca" target="_blank" rel="noopener">builtheritage@pc.gc.ca</a></span></li> </ul> </li> </ul> <p style="margin:0in;font-family:Arial;font-size:11.0pt;">聽</p> <h2 dir="ltr"><span style="color:rgb(85, 131, 59);font-size:14pt;">Top 10 reasons to work for Parks Canada</span></h2> <table style="width:100.051%;height:809.812px;"> <tbody> <tr style="height:79.95px;"> <td style="width:11.5127%;height:79.95px;"><img src="https://vidcruiter-paperclip-bucket-production-ca.s3.amazonaws.com/tinymce_assets/assets/000/020/139/original/1.png" alt="Icon of check mark representing job stability" width="68" height="68"></td> <td style="width:88.4873%;height:79.95px;"> <strong><span style="font-size:14pt;">Job stability</span></strong><br><span style="font-size:11pt;">Offering peace of mind and financial security while doing interesting and exciting work.</span> </td> </tr> <tr style="height:77.95px;"> <td style="width:11.5127%;height:77.95px;"><img src="https://vidcruiter-paperclip-bucket-production-ca.s3.amazonaws.com/tinymce_assets/assets/000/020/140/original/2.png" alt="Work-life balance icon with a scale that has a heart on one side and a briefcase on other" width="68" height="68"></td> <td style="width:88.4873%;height:77.95px;"> <span style="font-size:14pt;"><strong><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;">Work-life balance</span></strong></span><br><span style="font-family:'Helvetica Neue' , Helvetica , Arial , sans-serifImpact;font-size:11pt;">Employees can enjoy a healthy work-life balance, including flexible work arrangements at many locations.</span> </td> </tr> <tr style="height:79.9625px;"> <td style="width:11.5127%;height:79.9625px;"><img src="https://vidcruiter-paperclip-bucket-production-ca.s3.amazonaws.com/tinymce_assets/assets/000/020/141/original/3.png" alt="Icon of calendar" width="68" height="68"></td> <td style="width:88.4873%;height:79.9625px;"><span style="font-size:11pt;"><strong><span style="font-size:14pt;">Paid vacation and leave<br></span></strong>Employees may have access to generous paid vacation time and leave policies, including parental leave, sick leave, and personal days.<br></span></td> </tr> <tr style="height:79.9625px;"> <td style="width:11.5127%;height:79.9625px;"><img src="https://vidcruiter-paperclip-bucket-production-ca.s3.amazonaws.com/tinymce_assets/assets/000/020/142/original/10.png" alt="Icon of piggy bank" width="69" height="69"></td> <td style="width:88.4873%;height:79.9625px;"> <strong><span style="font-size:14pt;">Pension and retirement benefits</span></strong><br><span style="font-size:11pt;">Parks Canada employees are eligible for comprehensive defined benefit pension plans and retirement benefits, ensuring a secure financial future.</span> </td> </tr> <tr style="height:80.9625px;"> <td style="width:11.5127%;height:80.9625px;"><img src="https://vidcruiter-paperclip-bucket-production-ca.s3.amazonaws.com/tinymce_assets/assets/000/020/143/original/4.png" alt="Icon of tooth and medical symbol" width="69" height="69"></td> <td style="width:88.4873%;height:80.9625px;"> <span style="font-size:14pt;"><strong>Health and dental benefits</strong></span><br><span style="font-size:11pt;">Parks Canada provides extensive health and dental coverage to our employees, covering a range of services and treatments.</span> </td> </tr> <tr style="height:81.975px;"> <td style="width:11.5127%;height:81.975px;"><img src="https://vidcruiter-paperclip-bucket-production-ca.s3.amazonaws.com/tinymce_assets/assets/000/020/144/original/5.png" alt="Icon of a hammer and wrench" width="69" height="69"></td> <td style="width:88.4873%;height:81.975px;"> <strong><span style="font-size:14pt;">Training and professional development</span></strong><br><span style="font-size:11pt;">We invest in our workforce by offering various training and professional development opportunities, allowing trades workers to enhance their skills and advance their careers.</span> </td> </tr> <tr style="height:81px;"> <td style="width:11.5127%;height:81px;"><img src="https://vidcruiter-paperclip-bucket-production-ca.s3.amazonaws.com/tinymce_assets/assets/000/020/147/original/6.png" alt="Icon of a pine tree in front of a mountain range" width="69" height="69"></td> <td style="width:88.4873%;height:81px;"> <strong><span style="font-size:14pt;">Working in beautiful locations<br></span></strong><span style="font-size:14pt;"><span style="font-size:11pt;">Parks Canada offers the opportunity to work in some of the most stunning natural environments in the country, which can be both inspiring and invigorating.</span></span> </td> </tr> <tr style="height:89.9375px;"> <td style="width:11.5127%;height:89.9375px;"><img src="https://vidcruiter-paperclip-bucket-production-ca.s3.amazonaws.com/tinymce_assets/assets/000/020/148/original/7.png" alt="Icon of an upward-pointing arrow" width="69" height="69"></td> <td style="width:88.4873%;height:89.9375px;"> <span style="font-size:14pt;"><strong>Transfer and promotion opportunities<br></strong></span><span style="font-size:11pt;">As a large employer, the Government of Canada offers numerous opportunities for internal transfers and promotions across the country, giving trades workers the chance to explore different roles and work locations throughout their careers.</span> </td> </tr> <tr style="height:81.95px;"> <td style="width:11.5127%;height:81.95px;"><img src="https://vidcruiter-paperclip-bucket-production-ca.s3.amazonaws.com/tinymce_assets/assets/000/020/146/original/8.png" alt="Icon of a hand holding three small stick figures" width="69" height="69"></td> <td style="width:88.4873%;height:81.95px;"> <strong><span style="font-size:14pt;">Diverse and inclusive workplace<br></span></strong><span style="font-size:11pt;">Parks Canada is committed to fostering a diverse and inclusive workplace, promoting equitable opportunities for all employees.</span> </td> </tr> <tr style="height:76.1625px;"> <td style="width:11.5127%;height:76.1625px;"><img src="https://vidcruiter-paperclip-bucket-production-ca.s3.amazonaws.com/tinymce_assets/assets/000/020/145/original/9.png" alt="Icon of red maple leaf" width="69" height="69"></td> <td style="width:88.4873%;height:76.1625px;"><span style="font-size:14pt;"><strong>Contribution to public service<br></strong><span style="font-size:11pt;">Working for Parks Canada and the Government of Canada means contributing to public service and making a meaningful impact on the nation's natural and cultural heritage.</span></span></td> </tr> </tbody> </table> <h2 dir="ltr"><span style="color:rgb(85, 131, 59);font-size:18pt;"><br>Apply to job openings in less than 10 minutes!</span></h2> <ol> <li dir="ltr" style="font-size:11pt;" role="presentation"><span style="font-size:11pt;">Tell us about yourself.</span></li> <li dir="ltr" style="font-size:11pt;" role="presentation"><span style="font-size:11pt;">Select your area of expertise.</span></li> <li dir="ltr" style="font-size:11pt;" role="presentation"><span style="font-size:11pt;">Select your preferred work locations.</span></li> </ol> <h2>聽</h2> <h2><span style="font-size:18pt;"><strong><span style="color:#55833b;">Notes:</span></strong></span></h2> <ol> <li><span style="font-weight:400;font-size:11pt;">聽Applicants are strongly encouraged to complete their application in one sitting. The system will not log you out if you require more time to complete your application. It鈥檚 that simple. Apply today!聽</span></li> <li><span style="font-size:11pt;">聽In addition to this portal, many of our sites also advertise their jobs directly on other media channels and on the Public Service Commission website at <a href="https://can01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.jobs.gc.ca%2F&data=05%7C01%7Cdaniel.champoux%40pc.gc.ca%7C1bbf3372c3be439cf7ca08dad4955086%7C6f45dd51039e4566bcc55b700537cb87%7C0%7C0%7C638056035002514903%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TkPMAfS3l7v9IJn0YwmQWVJwbxQikOzKn1cN%2BsFo7iQ%3D&reserved=0">www.jobs.gc.ca. </a>We encourage you to sign up there for job alerts so you don't miss any of these great opportunities.</span></li> <li><span style="font-size:11pt;">聽Questions? Please contact <a href="mailto:ressourcement-resourcing@pc.gc.ca"><span style="font-weight:400;">ressourcement-resourcing@pc.gc.ca</span></a><span style="font-weight:400;">.</span></span></li> </ol> <h2><strong><span style="color:#55833b;"><br><span style="font-size:18pt;">Accommodation</span></span><br></strong></h2> <p><span style="font-weight:400;">We are committed to providing an inclusive and barrier-free work environment. If you require accommodation(s) to complete the application, please contact <strong id="docs-internal-guid-18570cd7-7fff-8759-8ac1-849bda503773"><a href="mailto:ressourcement-resourcing@pc.gc.ca" target="_blank" rel="noopener">ressourcement-resourcing@pc.gc.ca</a></strong></span><span style="font-weight:400;">. All information received will be kept confidential.</span></p> <p>聽</p> <blockquote> <p><span style="font-size:14px;"><span style="font-weight:400;"><strong>馃弳</strong> </span><span style="font-weight:bold;">The Parks Canada team is proud to be recognized by </span><span style="font-weight:bold;font-style:italic;">Forbes</span><span style="font-weight:bold;"> as one of Canada's Best Employers (2024).</span></span></p> </blockquote> </p> <div class="vidcruiter-job-board-individual-content vidcruiter-job-board-apply-now-bottom"> <a class="btn btn-v3 btn-large" href="https://parkscanada.hiringplatform.ca/123740-skilled-trades-inventory/486887/en">Apply Now</a> </div> </div> </div> <script> setTimeout(function() { hideBlockLoading($(window)); }, 5000); $(function() { hideBlockLoading($(window));}); </script> <script> // avoid adding event listeners more than once, Turbo replaces the entire body by default if (window.onMountRegistered !== true) { // Initialize onmount to fire on the appropriate events. $(document).on('load ajaxComplete turbo:frame-load turbo:load page:change', function(e) { $.onmount(); }); // Turbo, unlike wiselinks, actually stores the state of the page (html elements? maybe more) when navigating to a new one, and when hitting the back button/popping state, restores it, no network requsts needed. // This can cause issues such as elements that were created via javascript being stored in the state (and would be missing event handlers it seems) // then another one is created once the page is restored (e.g. number of results per page for pagination, and other things created via select2). // In wiselinks, when the back button was used and it triggered popstate, it would simply make a new request to the server, basically behaves the same as a normal wiselink page visit. // Here we emulate that wiselinks behaviour as it will prevent this compounding state issue, and we won't need need to go back and rewrite large chunks of the application function handleTurboPopstate(e) { if (!e.state || (e.state && !e.state.turbo)) return; // We don't have a mechanism to track which turbo-frame should be used, and we assume that it is for the pjax-container. // If the pjax-container exists on the page, and we actually should be going "back" with another turbo-frame, this will not have the desired effect. // For now, the assumption is that we won't be using "advance" or "replace" (pushState, replaceState) outside of the pjax-container. if (document.getElementById('pjax-container')) { gotoUrl(window.location.href, options = { frame: 'pjax-container', context: 'popstate' }); // don't pass an action } else { window.location.reload(); } } $(document).on('turbo:click', function(e) { // Only use turbo to navigate on links that are specified to be used with a turbo-frame // Even with Turbo.drive off, links inside a turbo-frame will still try and use turbo-frame for navigation, so this will prevent that unless we specify otherwise // This is to avoid bugs caused when replacing the entire body of the document (default Turbo behaviour when not using turbo-frames) // Mainly to avoid onclick events and other event listeners from being registered more than once var allowTurboNavigation = e.target.getAttribute('data-turbo') == 'true' || e.target.getAttribute('data-turbo-frame'); if (!allowTurboNavigation) { e.preventDefault(); return; } $('.prettyLoader').show(); }); $(document).on('turbo:frame-load', function(e) { $('.prettyLoader').hide(); if(!!window.EditorModeHelper && window.EditorModeHelper.is_open) { if(window.EditorModeHelper.editor_type == 'form-builder' && event.currentTarget.URL.indexOf('form_builder') == -1) { // Hide the format builder if its open and we're not on that page. // e.g. on form builder and then use the browser back button window.EditorModeHelper.exit(); } else if(window.EditorModeHelper.editor_type == 'template-editor' && $("#position-setup-steps-container").length == 0) { window.EditorModeHelper.exit(); } } if(typeof setActiveMainMenu === "function") { setActiveMainMenu(); } // Clear qtips after partial page load. if(e.target.id === "pjax-container"){ $('.qtip').html(''); $('.qtip').qtip('destroy'); }else{ $('.qtip').qtip('hide'); } // Clear Fancybox after a partial page load. if($.fancybox !== undefined) { $.fancybox.close(); } // Hide any block loading that may have been left behind. hideBlockLoading($(window)); // Clear select2 menu and mask const tomselectElement = document.querySelector('.ts-dropdown'); if (tomselectElement) { $(tomselectElement).hide(); } }); $(function() { if (window.TurboSupported()) { Turbo.session.drive = false; // Disabling Turbo.session.drive to avoid issues with event handlers being registered multiple times, this would replace the entire body // Prevent Turbo from reacting to back button/popstate, emulate old wiselink behaviour on back button/popstate instead window.removeEventListener('popstate', Turbo.session.history.onPopState); window.addEventListener('popstate', handleTurboPopstate); } $.onmount(); if(typeof setActiveMainMenu === "function") { setActiveMainMenu(); } }); window.onMountRegistered = true; } </script> <div id="zendesk-accessibility-message-area" class="sr-only-2" aria-live="assertive"></div> </div> </div> </body> <script> var acc = document.getElementsByClassName("faq-faq-accordion-chevron"); var i; for (i = 0; i < acc.length; i++) { acc[i].addEventListener("click", function() { this.classList.toggle("faq-active"); var panel = this.nextElementSibling; if (panel.style.display === "block") { panel.style.display = "none"; } else { panel.style.display = "block"; } }); } </script> <script> var acc = document.getElementsByClassName("faq-accordion-default"); var i; for (i = 0; i < acc.length; i++) { acc[i].addEventListener("click", function() { this.classList.toggle("active"); var panel = this.nextElementSibling; if (panel.style.display === "block") { panel.style.display = "none"; } else { panel.style.display = "block"; } }); } </script> </html>