Naukrofy Login

Naukrofy Login

Login to your candidate or recruiter account.

");w.document.close();setTimeout(function(){w.print();},300);};function checkField(field,input){var value=input.value.trim(),out=document.getElementById("nf4-check-"+field);if(!out)return;out.className="nf4-field-status";out.textContent="";if(!value)return;if(field==="mobile")input.value=value.replace(/\D/g,"");if(field==="mobile"&&input.value.length!==10){out.className="nf4-field-status error";out.textContent="Enter a valid 10-digit mobile number.";return;}if(field==="email"&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value)){out.className="nf4-field-status error";out.textContent="Enter a valid email address.";return;}out.className="nf4-field-status checking";out.textContent="Checking...";var fd=new FormData();fd.append("action","nf4_check_registration");fd.append("nonce",regNonce);fd.append("field",field);fd.append("value",input.value);fetch(ajaxUrl,{method:"POST",credentials:"same-origin",body:fd}).then(function(r){return r.json();}).then(function(data){if(!data.success){out.className="nf4-field-status error";out.textContent=(data.data&&data.data.message)||"Could not verify right now.";return;}if(data.data.available){out.className="nf4-field-status ok";out.textContent="Available";}else{out.className="nf4-field-status error";out.textContent=data.data.message||"Already in use.";}}).catch(function(){out.className="nf4-field-status error";out.textContent="Could not verify right now.";});}function initRegistrationChecks(){var form=document.getElementById("nf4-register-form");if(!form)return;[["username","nf4-reg-username"],["email","nf4-reg-email"],["mobile","nf4-reg-mobile"]].forEach(function(pair){var field=pair[0],input=document.getElementById(pair[1]);if(!input)return;var timer;input.addEventListener("input",function(){clearTimeout(timer);var out=document.getElementById("nf4-check-"+field);if(out){out.className="nf4-field-status";out.textContent="";}timer=setTimeout(function(){checkField(field,input);},450);});input.addEventListener("blur",function(){clearTimeout(timer);checkField(field,input);});});form.addEventListener("submit",function(e){var hasBlocking=["username","email","mobile"].some(function(f){var x=document.getElementById("nf4-check-"+f);return x&&(x.classList.contains("error")||x.classList.contains("checking"));});if(hasBlocking){e.preventDefault();var x=form.querySelector(".nf4-field-status.error");if(x)x.scrollIntoView({behavior:"smooth",block:"center"});}});}document.addEventListener("click",function(e){var b=e.target.closest("[data-nf4-toggle]");if(b){e.preventDefault();nf4Toggle(b.dataset.nf4Toggle,b);return;}var p=e.target.closest("[data-nf4-post-toggle]");if(p){e.preventDefault();nf4PostToggle(p.dataset.nf4PostToggle,p);return;}var pe=e.target.closest("[data-nf4-profile-edit]");if(pe){e.preventDefault();nf4ProfileToggle(pe.dataset.nf4ProfileEdit,pe);return;}var pc=e.target.closest("[data-nf4-profile-cancel]");if(pc){e.preventDefault();nf4ProfileCancel(pc.dataset.nf4ProfileCancel);return;}var c=e.target.closest(".nf4-popup-close");if(c){var r=c.closest("#nf4-login-popup");if(r)r.remove();}var a=e.target.closest("[data-job]");if(a&&(a.classList.contains("nf14-all")||a.classList.contains("nf14-none")))document.querySelectorAll(".nf14-bulk-candidate").forEach(function(i){if(i.form&&i.form.id==="nf14-bulk-"+a.dataset.job)i.checked=a.classList.contains("nf14-all");});});document.addEventListener("keydown",function(e){if(e.key==="Escape"){var p=document.getElementById("nf4-login-popup");if(p)p.remove();}});document.addEventListener("submit",function(e){var f=e.target;if(!f||f.id!=="nf4-post-job-form")return;var b=f.querySelector("button[type=\"submit\"]");if(b){b.disabled=true;b.textContent="Submitting Job...";}},true);document.addEventListener("click",function(e){var sh=e.target.closest(".nf4-share-native,.nf4-dashboard-share");if(sh){e.preventDefault();var url=sh.getAttribute("data-share-url")||location.href,title=sh.getAttribute("data-share-title")||document.title;if(navigator.share){navigator.share({title:title,url:url}).catch(function(){});}else if(navigator.clipboard){navigator.clipboard.writeText(url).then(function(){sh.textContent="Link Copied";setTimeout(function(){sh.textContent="Share";},1600);}).catch(function(){window.prompt("Copy this job link:",url);});}else{window.prompt("Copy this job link:",url);}return;}var cp=e.target.closest(".nf4-share-copy");if(cp){e.preventDefault();var u=cp.getAttribute("data-copy-url")||location.href;if(navigator.clipboard){navigator.clipboard.writeText(u).then(function(){cp.textContent="Copied";setTimeout(function(){cp.textContent="Copy Link";},1600);}).catch(function(){window.prompt("Copy this job link:",u);});}else{window.prompt("Copy this job link:",u);}}});document.addEventListener("DOMContentLoaded",function(){initRegistrationChecks();(function(){var r=document.getElementById("nf4-register-role"),box=document.getElementById("nf4-recruiter-basic-fields");if(!r||!box)return;function sync(){var on=r.value==="naukrofy_recruiter";box.style.display=on?"block":"none";["nf4-reg-company","nf4-reg-position","nf4-reg-address"].forEach(function(id){var el=document.getElementById(id);if(el)el.required=on;});}r.addEventListener("change",sync);sync();})();var cp=document.getElementById("candidate-profile-editor");if(cp){cp.querySelectorAll("input,select,textarea").forEach(function(el){el.addEventListener("input",nf4UpdateProgress);el.addEventListener("change",nf4UpdateProgress);});nf4UpdateProgress();}var rp=document.getElementById("recruiter-profile-form");if(rp){rp.querySelectorAll("input,select,textarea").forEach(function(el){el.addEventListener("input",nf4UpdateRecruiterProgress);el.addEventListener("change",nf4UpdateRecruiterProgress);});nf4UpdateRecruiterProgress();}});// v24.40: global personalised-updates popup is handled by nf4_global_popup().})();(function(){function clean(){try{var root=document.body||document.documentElement; if(!root)return;var w=document.createTreeWalker(root,NodeFilter.SHOW_TEXT), n, arr=[];while(n=w.nextNode()){if(typeof n.nodeValue==='string' && /\+/.test(n.nodeValue)) arr.push(n);}arr.forEach(function(t){t.nodeValue=t.nodeValue.replace(/\+/g,'')});}catch(e){}}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',clean);else clean();window.addEventListener('load',clean);if(window.MutationObserver && document.body){new MutationObserver(function(){clean()}).observe(document.body,{childList:true,subtree:true,characterData:true});}})();//# sourceURL=nf4js-js-after