var Base64 = { // private property _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", // public method for encoding encode : function (input) { var output = ""; var chr1, chr2, chr3, enc1, enc2, enc3, enc4; var i = 0; input = Base64._utf8_encode(input); while (i < input.length) { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); } return output; }, // public method for decoding decode : function (input) { var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); while (i < input.length) { enc1 = this._keyStr.indexOf(input.charAt(i++)); enc2 = this._keyStr.indexOf(input.charAt(i++)); enc3 = this._keyStr.indexOf(input.charAt(i++)); enc4 = this._keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) { output = output + String.fromCharCode(chr2); } if (enc4 != 64) { output = output + String.fromCharCode(chr3); } } output = Base64._utf8_decode(output); return output; }, // private method for UTF-8 encoding _utf8_encode : function (string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }, // private method for UTF-8 decoding _utf8_decode : function (utftext) { var string = ""; var i = 0; var c = c1 = c2 = 0; while ( i < utftext.length ) { c = utftext.charCodeAt(i); if (c < 128) { string += String.fromCharCode(c); i++; } else if((c > 191) && (c < 224)) { c2 = utftext.charCodeAt(i+1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; } else { c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; } } return string; } } function getOS() { var userAgent = window.navigator.userAgent, platform = window.navigator.platform, macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'], iosPlatforms = ['iPhone', 'iPad', 'iPod'], os = null; if (macosPlatforms.indexOf(platform) !== -1) { os = 'Mac OS'; } else if (iosPlatforms.indexOf(platform) !== -1) { os = 'iOS'; } else if (windowsPlatforms.indexOf(platform) !== -1) { os = 'Windows'; } else if (/Android/.test(userAgent)) { os = 'Android'; } else if (!os && /Linux/.test(platform)) { os = 'Linux'; } return os; } function doLogin() { var u = $j('#loginid').val(); var p = $j('#password').val(); if (u.indexOf('@') == -1) { $j('#loginMsg').html($j('#noEmail').val()); $j('#loginMsg').fadeIn(); return false; } if (p.length < 1) { $j('#loginMsg').html($j('#noPassword').val()); $j('#loginMsg').fadeIn(); return false; } document.getElementById("loginForm").submit(); } function doUpdate() { document.getElementById("loginForm").submit(); } function validate_input() { try { var re = { space: / /g, lower: /[a-z]/g, upper: /[A-Z]/g, alpha: /[A-Z]/gi, numeric: /[0-9]/g, special: /[\W_]/g }; var pw = $j('#pw_1').val(); var msg = ''; if (pw.match(re['space'])) { msg = $j('#inValidate0').val(); } else if (!pw.match(re['lower'])) { msg = $j('#inValidate1').val(); } else if (!pw.match(re['upper'])) { msg = $j('#inValidate2').val(); } else if (!pw.match(re['numeric'])) { msg = $j('#inValidate3').val(); } else if (!pw.match(re['special'])) { msg = $j('#inValidate4').val(); } else if (pw.length < 15) { msg = $j('#inValidate5').val(); } else if (pw.length > 20) { msg = $j('#inValidate6').val(); } else { msg = ''; } $j('#loginMsg').html(msg); $j('#loginMsg').fadeIn(); var box_pw_2 = document.getElementById('pw_2'); if (msg == '') { box_pw_2.disabled = ''; } else { box_pw_2.disabled = 'Y'; } } catch(err) { alert(err); } } function do_second_pw() { $j('#loginMsg').html(''); $j('#theMsg').html(''); var pw1 = $j('#pw_1').val(); var pw2 = $j('#pw_2').val(); if (pw1.length == pw2.length) { if (pw1 != pw2) { $j('#loginMsg').html($j('#inValidate7').val()); } else { $j(function() { $j("input[type=submit], button").button({ disabled: false }); }); } } else { $j(function() { $j("input[type=submit], button").button({ disabled: true }); }); } } function resetPassword() { var email = $j('#email_rpw').val(); var subject = Base64.encode($j('#emailSubject').val()); var body = Base64.encode($j('#emailBody').val()); var wid = $j('#workdayid').val(); if (email.length < 6 || email.indexOf('@') == -1) { $j('#reset_pw_msg').html($j('#noEmail').val()); return false; } $j('#email_rpw').attr('disabled','disabled'); $j('#resetPwBtn').attr('disabled','disabled'); var d = { email_address: email, subject: subject, body: body, wid: wid, }; $j.post("services/s_db.php", { action: "resetCandidateEmail", data: JSON.stringify(d) }, function(data,status){ if (status == 'success') { var ret = $j.parseJSON(data); if (ret.ec == 0) { $j('#reset_pw_msg').html($j('#pwUpdate0').val()); } else if (ret.ec == 1) { $j('#reset_pw_msg').html($j('#pwUpSrv1').val()); } else if (ret.ec == 2) { $j('#reset_pw_msg').html($j('#pwUpSrv2').val()); } else { $j('#reset_pw_msg').html($j('#pwUpdate1').val()); } } else { $j('#reset_pw_msg').html($j('#pwUpdate2').val()); } }); } function setLang(val) { //console.log(val); //console.log("Cookie: " + document.cookie); document.cookie = "lang=" + val; //console.log("Cookie: " + document.cookie); location.reload(); }