(function($){"use strict";$(document).ready(function(){var jobpost_submit_button=$(".app-submit");var jobpost_form_status=$("#jobpost_form_status");$(document).ready(function(){$.validator.addMethod("filetype",function(value,element,param){return this.optional(element)||param.test(value.toLowerCase())},application_form.jquery_alerts.invalid_extension);$(".jobpost-form").validate({ignore:[],errorPlacement:function(error,element){error.insertAfter(element)},submitHandler:function(form){var formObj=$("#sjb-application-form");var datastring=new FormData(formObj[0]);submitForm(datastring)},});$(".sjb-required").each(function(){let fieldName=$(this).attr("name");if(typeof fieldName==="string"){fieldName=fieldName.replace(/^jobapp_/,"");var fieldLabel=$(this).data("label")||fieldName.replace(/_/g," ").replace(/\b\w/g,(char)=>char.toUpperCase());$(this).css("color","black");if(fieldLabel=='Tc'||fieldLabel=='Pp'){$(this).rules("add",{required:!0,messages:{required:application_form.jquery_alerts.sjb_application_input_required,},})}else{$(this).rules("add",{required:!0,messages:{required:fieldLabel+' '+application_form.is_required,},})}}});$(".sjb-email-address").each(function(){let fieldName=$(this).attr("name");if(typeof fieldName==="string"){fieldName=fieldName.replace(/^jobapp_/,"");var fieldLabel=$(this).data("label")||fieldName.charAt(0).toUpperCase()+fieldName.slice(1);fieldLabel=fieldLabel.replace('_',' ');$(this).css("color","black");$(this).rules("add",{required:!0,email:!0,messages:{required:fieldLabel+' '+application_form.is_required,email:application_form.jquery_alerts.sjb_application_enter_valid+fieldLabel,},})}});var allowed_file_exts=Array.isArray(application_form.setting_extensions)?application_form.setting_extensions.filter(ext=>typeof ext==="string").join(","):"";if(allowed_file_exts==''){allowed_file_exts=application_form.allowed_extensions.filter(ext=>typeof ext==="string").join(",")} var fileTypePattern=new RegExp(`(\\.${allowed_file_exts.replace(/,/g, "|")})$`,"i");if(!$("#applicant-resume").hasClass("sjb-not-required")){$("#applicant-resume").rules("add",{required:!0,filetype:fileTypePattern,messages:{required:application_form.jquery_alerts.sjb_application_resume_required+application_form.is_required,filetype:application_form.jquery_alerts.invalid_extension,},})}});function initializePopupValidation(){const popupForm=$(".jobpost-form");popupForm.validate({ignore:[],errorPlacement:function(error,element){error.insertAfter(element)},submitHandler:function(form){const formObj=$(form);const datastring=new FormData(formObj[0]);submitForm(datastring)},});popupForm.find(".sjb-required").each(function(){let fieldName=$(this).attr("name");if(typeof fieldName==="string"){fieldName=fieldName.replace(/^jobapp_/,"");var fieldLabel=$(this).data("label")||fieldName.replace(/_/g," ").replace(/\b\w/g,(char)=>char.toUpperCase());$(this).css("color","black");if(fieldLabel=='Tc'||fieldLabel=='Pp'){$(this).rules("add",{required:!0,messages:{required:application_form.jquery_alerts.sjb_application_input_required,},})}else{$(this).rules("add",{required:!0,messages:{required:fieldLabel+' '+application_form.is_required,},})}}});popupForm.find(".sjb-email-address").each(function(){let fieldName=$(this).attr("name");if(typeof fieldName==="string"){fieldName=fieldName.replace(/^jobapp_/,"");var fieldLabel=$(this).data("label")||fieldName.charAt(0).toUpperCase()+fieldName.slice(1);fieldLabel=fieldLabel.replace('_',' ');$(this).css("color","black");$(this).rules("add",{required:!0,email:!0,messages:{required:fieldLabel+' '+application_form.is_required,email:application_form.jquery_alerts.sjb_application_enter_valid+fieldLabel,},})}});var allowed_file_exts=Array.isArray(application_form.setting_extensions)?application_form.setting_extensions.filter(ext=>typeof ext==="string").join(","):"";if(allowed_file_exts==''){allowed_file_exts=application_form.allowed_extensions.filter(ext=>typeof ext==="string").join(",")} const fileTypePattern=new RegExp(`(\\.${allowed_file_exts.replace(/,/g, "|")})$`,"i");setTimeout(function(){if(!popupForm.find("#applicant-resume").hasClass("sjb-not-required")){popupForm.find("#applicant-resume").rules("add",{required:!0,filetype:fileTypePattern,messages:{required:application_form.jquery_alerts.sjb_application_resume_required+application_form.is_required,filetype:application_form.jquery_alerts.invalid_extension,},})}},500)} function submitForm(datastring){const jobpost_form_status=$("#jobpost_form_status");const jobpost_submit_button=$(".jobpost-form .app-submit");$(".sjb-loading").show();$.ajax({url:application_form.ajaxurl,type:"POST",dataType:"json",data:datastring,async:!0,cache:!1,contentType:!1,processData:!1,statusCode:{500:function(responseObject,textStatus,jqXHR){alert("505: Server internal error occurred while processing application. Please try again.");$(".sjb-loading").hide();jobpost_form_status.html(responseObject.responseJSON.error+" "+application_form.jquery_alerts.application_not_submitted+"")},503:function(responseObject,textStatus,errorThrown){alert("503: Service Unavailable. Please try again.");$(".sjb-loading").hide();jobpost_form_status.html(responseObject.responseJSON.error+" "+application_form.jquery_alerts.application_not_submitted+"")},},beforeSend:function(){jobpost_submit_button.attr("disabled","disabled")},success:function(response){if(response.success==!0){$(".jobpost-form").slideUp();jobpost_form_status.html(response.success_alert)} if(response.success==!1){jobpost_form_status.html(response.error+" "+application_form.jquery_alerts.application_not_submitted+"");$(".sjb-loading").hide();jobpost_submit_button.removeAttr("disabled")}},})} function initialize_date(){$(".sjb-datepicker").datepicker({dateFormat:application_form.sjb_date_format,changeMonth:!0,changeYear:!0,yearRange:"-100:+50",})} initialize_date();$(document).on("input",".sjb-email-address",function(){var input=$(this);var re=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;var is_email=re.test(input.val());var error_element=$(this).next();if(is_email){input.removeClass("invalid").addClass("valid");error_element.hide()}else{input.removeClass("valid").addClass("invalid")}});function initialize_tel(){if($(".sjb-phone-number").length){var telInput_id=$(".sjb-phone-number").map(function(){return this.id}).get();for(var input_ID in telInput_id){var telInput=$("#"+telInput_id[input_ID]);if(typeof $.fn.intlTelInput==='undefined'){return} telInput.intlTelInput({initialCountry:"auto",geoIpLookup:function(callback){$.get("https://ipinfo.io",function(){},"jsonp").always(function(resp){var countryCode=resp&&resp.country?resp.country:"";callback(countryCode)})},})}}} if(application_form.isPhoneFormattingdisabled!='yes'){initialize_tel()} $(document).on("input",".sjb-phone-number",function(){var telInput=$(this);var telInput_id=$(this).attr("id");var error_element=$("#"+telInput_id+"-invalid-phone");error_element.hide();if($.trim(telInput.val())){if(typeof telInput.intlTelInput==="function"&&telInput.intlTelInput("isValidNumber")){telInput.removeClass("invalid").addClass("valid");error_element.hide()}else{telInput.removeClass("valid").addClass("invalid")}}});function sjb_is_attachment(event){var error_free=!0;$(".sjb-attachment").each(function(){var element=$("#"+$(this).attr("id"));var valid=element.hasClass("valid");var is_required_class=element.hasClass("sjb-not-required");if(!valid){if(!(is_required_class&&0===element.get(0).files.length)){error_free=!1}} if(!error_free){event.preventDefault()}});return error_free} function sjb_is_valid_input(event,input_type,input_class){var jobpost_form_inputs=$("."+input_class).serializeArray();var error_free=!0;for(var i in jobpost_form_inputs){var element=$("#"+jobpost_form_inputs[i].name);var valid=element.hasClass("valid");var is_required_class=element.hasClass("sjb-not-required");if(!(is_required_class&&""===jobpost_form_inputs[i].value)){if("email"===input_type){var error_element=$("span",element.parent())}else if("phone"===input_type){var error_element=$("#"+jobpost_form_inputs[i].name+"-invalid-phone")} if(!valid){error_element.show();error_free=!1}else{error_element.hide()} if(!error_free){event.preventDefault()}}} return error_free} function initialize_checkbox(){var requiredCheckboxes=$(":checkbox[required]");requiredCheckboxes.on("change",function(){var checkboxGroup=requiredCheckboxes.filter('[name="'+$(this).attr("name")+'"]');var isChecked=checkboxGroup.is(":checked");checkboxGroup.prop("required",!isChecked)})} initialize_checkbox();function initialize_keypress(){$(".sjb-numbers-only").keypress(function(evt){evt=evt?evt:window.event;var charCode=evt.which?evt.which:evt.keyCode;if(charCode>31&&(charCode<48||charCode>57)){return!1} return!0})} initialize_keypress();var file={maxlength:20,convert:function(){$("input[type=file].sjb-attachment").each(function(){$(this).wrap('
');$(this).parent().prepend("
"+application_form.file.browse+"
");$(this).parent().prepend(""+application_form.file.no_file_chosen+"");$(this).fadeTo(0,0);$(this).attr("size","50")})},update:function(x){var filename=x.val().replace(/^.*\\/g,"");if(filename.length>$(this).maxlength){trim_start=$(this).maxlength/2-1;trim_end=trim_start+filename.length-$(this).maxlength+1;filename=filename.substr(0,trim_start)+"…"+filename.substr(trim_end)} if(filename=="")filename=application_form.file.no_file_chosen;x.siblings("span").html(filename)},};file.convert();$(document).on("change","input[type=file].sjb-attachment",function(){file.update($(this))});$(document).on("click","body #quick-apply-btn",function(e){e.preventDefault();var obj=$(this);var job_id=obj.attr("job_id");if(obj.data("loading")){return} obj.data("loading",!0);$.ajax({url:application_form.ajaxurl,type:"POST",data:{action:"fetch_quick_job",job_id:job_id,},success:function(response){$(".sjb-page").append(response);$(".sjb-page").find(".popup-outer").fadeIn();file.convert();initialize_date();initialize_tel();initialize_checkbox();initialize_keypress();initializePopupValidation();$(".popup-outer .sjb-page .sjb-detail").prepend(`
x
`)},complete:function(){obj.data("loading",!1)},error:function(){obj.data("loading",!1)},})});$(document).on("click",".sjb-quick-apply-modal-close-btn",function(){if(confirm(application_form.jquery_alerts.sjb_quick_job_close)){$(".sjb-page .popup-outer").fadeOut();$(".sjb-page .popup-outer").remove()}});$(".sjb_view_more_btn").on("click",function(){var post_id=$(this).data("id");$("#sjb_more_content_"+post_id).css("display","block");$("#sjb_less_content_"+post_id).css("display","none");$("#sjb_view_less_btn_"+post_id).css("display","inline")});$(".sjb_view_less_btn").on("click",function(){var post_id=$(this).data("id");$("#sjb_more_content_"+post_id).css("display","none");$("#sjb_less_content_"+post_id).css("display","block");$("#sjb_view_less_btn_"+post_id).css("display","none")});var filess={maxlength:20,update:function(x){var files=x.prop("files");var fileList="";var count=0;for(var i=0;i"+files[i].name+"

";count++} if(count>1){x.siblings("span").html(count+""+" Files Selected")}else if(count==1){x.siblings("span").html(files[0].name)}},};$(document).on("change","input[name='applicant_resume[]']",function(){filess.update($(this))});$(".sjb-tags-search").on("click",function(event){event.preventDefault();if($(this).hasClass("tag-active")){$(this).removeClass("tag-active")}else{$(this).addClass("tag-active")} var linkValue=$(".tag-active").map(function(){return $(this).data("value")}).get();$("#selected_tag").val(linkValue);$(".filters-form").submit()})});$(document).on('click','.btn-app-modal-close',function(e){e.preventDefault();$('.sjb-quick-apply-modal-close-btn').trigger('click')})})(jQuery)