www.profilessc.com
Open in
urlscan Pro
2606:4700:4400::6812:27dd
Public Scan
URL:
https://www.profilessc.com/Main.aspx?jn-7474435
Submission: On November 19 via manual from QA — Scanned from DE
Submission: On November 19 via manual from QA — Scanned from DE
Form analysis
4 forms found in the DOMName: aspnetForm — POST ./Main.aspx?jn-7474435
<form name="aspnetForm" method="post" action="./Main.aspx?jn-7474435" id="aspnetForm" novalidate="">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="">
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwUJMTk1MjYzMTY2D2QWAmYPZBYEZg9kFgICCg9kFgICAQ8WAh4EVGV4dAVJPHNjcmlwdD4NCnZhciBFUlJPUl9NQVRDSFdBUk5JTkcgPSAnUGFzc3dvcmRzIGRvIG5vdCBtYXRjaCc7DQoNCjwvc2NyaXB0PmQCAg9kFgoCAQ9kFgICAQ9kFgICAQ9kFgQCAw8WAh4Dc3JjBRMvaW1hZ2VzL1BJX0xvZ28uZ2lmZAIHD2QWAgIBD2QWBAIDD2QWCAIBDxYCHglpbm5lcmh0bWwFBEhlbHBkAgMPDxYCHwAFBEhlbHBkZAIFDw8WAh8ABQVDbG9zZWRkAgcPFgIfAAWzBDxkaXYgY2xhc3M9J3ByZkhlbHBUaXRsZSc+Q2FuZGlkYXRlIFBhc3N3b3JkIENyZWF0aW9uIFBhZ2U8L2Rpdj48ZGl2IGNsYXNzPSdwcmZIZWxwU2VjdGlvbic+UGFzc3dvcmQgQ3JlYXRpb248L2Rpdj48ZGl2IGNsYXNzPSdwcmZIZWxwUGFyYSc+RW50ZXIgYSBwYXNzd29yZCB0aGF0IHdpbGwgYmUgZWFzeSBmb3IgeW91IHRvIHJlbWVtYmVyLiBUaGlzIHBhc3N3b3JkIGlzIHJlcXVpcmVkIGZvciByZS1lbnRyeSB0byB0aGUgc2l0ZS4gUGFzc3dvcmQgcmVxdWlyZW1lbnRzIGFyZSBhIG1pbmltdW0gb2Ygc2l4IGNoYXJhY3RlcnMgd2l0aCBvbmUgb3IgbW9yZSBsZXR0ZXJzIGFuZCBvbmUgb3IgbW9yZSBudW1iZXJzLiBDaGFyYWN0ZXJzIGFsbG93ZWQgaW5jbHVkZTogQS1aLCAxLTksIGFuZCAhIiIjJCUmJygpKitbLC1dLi9fYDo7PD0+P0B7fH1+LiBTcGFjZXMgYXJlIG5vdCBhbGxvd2VkLjwvZGl2PkNvbnRhY3QgQXNzZXNzbWVudCBBc3Npc3RhbnQgZXNyYWFAcWFpdGFzLmNvbSBmb3IgYWRkaXRpb25hbCBzdXBwb3J0PGRpdiBjbGFzcz0ncHJmRXh0cmFDb250YWN0SW5mbyc+PC9kaXY+ZAIFDxYCHgdWaXNpYmxlaGQCAw9kFgICAQ9kFgICAQ9kFgICAQ8PFgQeCENzc0NsYXNzBRd3cmFwIHdyYXBfcHJlQXNzZXNzbWVudB4EXyFTQgICZBYEAgMPFgIfA2dkAg0PFgIfA2dkAgUPZBYCAgEPZBYCAgEPZBYCAgUPFgQeBGhyZWYFFX4vUHJpdmFjeVBvbGljeUMuYXNweB8CBSRQcml2YWN5IFBvbGljeSAodXBkYXRlZCBKYW4gMjEgMjAyMilkAgkPFgIeA2FsdAUHTG9hZGluZ2QCEQ9kFgJmD2QWAmYPZBYCAgEPZBYEAgEPFgIfAAUHTG9hZGluZ2QCAw8PFgYeCEltYWdlVXJsBRMvSW1hZ2VzL3NwaW5uZXIuZ2lmHwQFC01pZGRsZUFsaWduHwUCAmRkZMXQL/NDuhsGG0a8Wuy1ANhn53Pr">
<script type="text/javascript">
<!--
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//
-->
</script>
<script type="text/javascript" language="javascript" src="scripts/ProfilesControls2.js?v=8"></script>
<script>
function TestUnknownEntryKey(txt, blur) {
var txtVal = txt.value;
if (txtVal.length > txtVal.replace(/ /g, '').length) {
txt.value = txtVal.replace(/ /g, '');
txtVal = txt.value;
}
if (txtVal.length == 9) {
if (/^[abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ][abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$/.test(txtVal)) {
txtVal = txtVal.substring(0, 2) + '-' + txtVal.substring(2);
txt.value = txtVal;
}
}
if (txtVal.length > 10 && txtVal.length > txtVal.replace(/-/g, '').length) {
txt.value = txtVal.replace(/-/g, '');
txtVal = txt.value;
}
if (txtVal.length == 10) {
if (/^[abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ][abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ]\-[0-9][0-9][0-9][0-9][0-9][0-9][0-9]$/.test(txtVal) || /^[0-9abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ]{10}$/.test(txtVal)) {
ValidUnknownEntryKey();
return true;
}
}
if (blur == 1) {
InvalidUnknownEntryKey();
return false;
}
}
</script>
<script>
var profilesControlsRTL = false;
</script>
<script type="text/javascript">
<!--
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
// Utility string extensions
String.prototype.strReverse = function() {
var newstring = "";
var s = 0;
for (s = 0; s < this.length; s += 1) {
newstring = this.charAt(s) + newstring;
}
return newstring;
//strOrig = ' texttotrim ';
//strReversed = strOrig.revstring();
};
String.format = function() {
// The string containing the format items (e.g. "{0}")
// will and always has to be the first argument.
var theString = arguments[0];
// start with the second argument (i = 1)
var i;
var regEx;
for (i = 1; i < arguments.length; i += 1) {
// "gm" = RegEx options for Global search (more than one instance)
// and for Multiline search
regEx = new RegExp("\\{" + (i - 1) + "\\}", "gm");
theString = theString.replace(regEx, arguments[i]);
}
return theString;
};
// Data classes
function PasswordStrengthDetail() {
var _iLevel = 0;
var _sDescription = "";
var _sType = "";
var _sRate = "";
var _iCount = 0;
var _iBonus = 0;
// Simple data class / expose privates as public properties
this.Level = _iLevel;
this.Description = _sDescription;
this.Type = _sType;
this.Rate = _sRate;
this.Count = _iCount;
this.Bonus = _iBonus;
}
// Enums
var PasswordStrengthEnum = {
Weak: 0,
Fair: 40,
Good: 50,
Strong: 60
};
// Stateful classes
function PasswordStrengthTester() {
// Private memmber variables
var _iScore = 0;
var _sPassword = "";
var _iMinLength = 9;
var _iMaxLength = 50;
var _bRequirementsMet = false;
var _sUserID = "";
var _arrPenaltyWords = [];
var _arrDetails = [];
var _arrVerdicts = [];
var _divOutputBar = null;
var _divStrengthDisplay = null;
var _divOutputBarOuter = null;
var _divOutputNumber = null;
var _divOutputVerdict = null;
var _tblOutputDetails = null;
var _txtPasswordControl = null;
var _txtUserIDControl = null;
var _bRequireBetterThanWeak = false;
var _funcOnPasswordEvaluated = null;
var _funcOnPasswordChanged = null;
// Private helper methods
var addDetail = function(iLevel, sDescription, sType, sRate, iCount, iBonus) {
if (_arrDetails === null) {
_arrDetails = [];
}
var result = new PasswordStrengthDetail();
result.Level = iLevel;
result.Description = sDescription;
result.Type = sType;
result.Rate = sRate;
result.Count = iCount;
result.Bonus = iBonus;
_arrDetails[_arrDetails.length] = result;
return result;
};
var checkPasswordWithDetails = function(pwd, minLength, maxLength, userID, penaltyWords) {
var nScore = 0,
nLength = 0,
nAlphaUC = 0,
nAlphaLC = 0,
nNumber = 0,
nSymbol = 0,
nMidChar = 0,
nRequirements = 0,
nUnqChar = 0;
var nRepChar = 0,
nRepInc = 0,
nConsecAlphaUC = 0,
nConsecAlphaLC = 0,
nConsecNumber = 0,
nConsecSymbol = 0,
nConsecCharType = 0;
var nSeqAlpha = 0,
nSeqNumber = 0,
nSeqSymbol = 0,
nSeqUserID = 0,
nPenaltyWord = 0;
var nMultMidChar = 2,
nMultRequirements = 2,
nMultConsecAlphaUC = 2,
nMultConsecAlphaLC = 2,
nMultConsecNumber = 2;
var nMultAlphaUC = 2,
nMultAlphaLC = 2,
nMultSeqAlpha = 3,
nMultSeqNumber = 3,
nMultSeqSymbol = 3,
nMultSeqUserID = 1000;
var nMultLength = 4,
nMultNumber = 4,
nMultSymbol = 6,
nMultPenaltyWord = 15;
var nTmpAlphaUC = -1,
nTmpAlphaLC = -1,
nTmpNumber = -1,
nTmpSymbol = -1;
var sAlphas = "abcdefghijklmnopqrstuvwxyz";
var sNumerics = "01234567890";
var sSymbols = ")!@#$%^&*()";
var sComplexity = "";
var iLevel = 0;
pwd = pwd.trim();
var pwdLower = pwd.toLowerCase();
_arrDetails = [];
var oOverallScore = addDetail(iLevel, "Score", "", "", 0, 0);
nLength = pwd.length;
var arrPwd = pwd.split("");
var arrPwdLen = arrPwd.length;
/* Loop through password to check for Symbol, Numeric, Lowercase and Uppercase pattern matches */
var a = 0;
var b = 0;
var s = 0;
var idx = 0;
var bCharExists = false;
var seqEndFound = false;
for (a = 0; a < arrPwdLen; a += 1) {
if (arrPwd[a] >= 'A' && arrPwd[a] <= 'Z') {
if (nTmpAlphaUC >= 0) {
if ((nTmpAlphaUC + 1) === a) {
nConsecAlphaUC += 1;
nConsecCharType += 1;
}
}
nTmpAlphaUC = a;
nAlphaUC += 1;
} else if (arrPwd[a] >= 'a' && arrPwd[a] <= 'z') {
if (nTmpAlphaLC >= 0) {
if ((nTmpAlphaLC + 1) === a) {
nConsecAlphaLC += 1;
nConsecCharType += 1;
}
}
nTmpAlphaLC = a;
nAlphaLC += 1;
} else if (arrPwd[a] >= '0' && arrPwd[a] <= '9') {
if (a > 0 && a < (arrPwdLen - 1)) {
seqEndFound = false;
for (b = a + 1; b < arrPwdLen; b += 1) {
if (arrPwd[b] < '0' || arrPwd[b] > '9') {
seqEndFound = true;
break;
}
}
if (seqEndFound) {
nMidChar += 1;
}
}
if (nTmpNumber >= 0) {
if ((nTmpNumber + 1) === a) {
nConsecNumber += 1;
nConsecCharType += 1;
}
}
nTmpNumber = a;
nNumber += 1;
} else {
if (a > 0 && a < (arrPwdLen - 1)) {
seqEndFound = false;
for (b = a + 1; b < arrPwdLen; b += 1) {
if (arrPwd[b] >= 'A' && arrPwd[b] <= 'Z') {
seqEndFound = true;
break;
} else if (arrPwd[b] >= 'a' && arrPwd[b] <= 'a') {
seqEndFound = true;
break;
} else if (arrPwd[b] >= '0' && arrPwd[b] <= '9') {
seqEndFound = true;
break;
}
}
if (seqEndFound) {
nMidChar += 1;
}
}
if (nTmpSymbol >= 0) {
if ((nTmpSymbol + 1) === a) {
nConsecSymbol += 1;
nConsecCharType += 1;
}
}
nTmpSymbol = a;
nSymbol += 1;
}
/* Internal loop through password to check for repeat characters */
bCharExists = false;
for (b = 0; b < arrPwdLen; b += 1) {
if (arrPwd[a] === arrPwd[b] && a !== b) {
/* repeat character exists */
bCharExists = true;
/*
Calculate increment deduction based on proximity to identical characters
Deduction is incremented each time a new match is discovered
Deduction amount is based on total password length divided by the
difference of distance between currently selected match
*/
nRepInc += Math.abs(arrPwdLen / (b - a));
}
}
if (bCharExists) {
nRepChar += 1;
nUnqChar = arrPwdLen - nRepChar;
nRepInc = (nUnqChar > 0) ? Math.ceil(nRepInc / nUnqChar) : Math.ceil(nRepInc);
}
}
var sFwd = "";
var sRev = "";
/* Check for sequential alpha string patterns (forward and reverse) */
for (s = 0; s < sAlphas.length - 2; s += 1) {
sFwd = sAlphas.substring(s, s + 3);
sRev = sFwd.strReverse();
if (pwdLower.indexOf(sFwd) !== -1 || pwdLower.indexOf(sRev) !== -1) {
nSeqAlpha += 1;
}
}
/* Check for sequential numeric string patterns (forward and reverse) */
for (s = 0; s < sNumerics.length - 2; s += 1) {
sFwd = sNumerics.substring(s, s + 3);
sRev = sFwd.strReverse();
if (pwdLower.indexOf(sFwd) !== -1 || pwdLower.indexOf(sRev) !== -1) {
nSeqNumber += 1;
}
}
/* Check for sequential symbol string patterns (forward and reverse) */
for (s = 0; s < sSymbols.length - 2; s += 1) {
sFwd = sSymbols.substring(s, s + 3);
sRev = sFwd.strReverse();
if (pwdLower.indexOf(sFwd) !== -1 || pwdLower.indexOf(sRev) !== -1) {
nSeqSymbol += 1;
}
}
if (userID.length > 0 && userID.toLowerCase() === pwdLower) {
// Password === UserID nets Weak no matter what
nSeqUserID = 1000;
} else if (userID.length >= 3) {
/* Check for sequential userID string patterns (forward only) */
for (s = 0; s < userID.length - 3; s += 1) {
sFwd = userID.substring(s, s + 3).toLowerCase();
if (pwdLower.indexOf(sFwd) !== -1) {
nSeqUserID += 1;
}
}
}
if (penaltyWords !== null && penaltyWords.length > 0) {
for (idx = 0; idx < penaltyWords.length; idx += 1) {
if (penaltyWords[idx].length > 0 && penaltyWords[idx].toLowerCase() === pwdLower) {
// Password === a penalty word nets Weak no matter what
nPenaltyWord = 1000;
} else if (pwdLower.indexOf(penaltyWords[idx].toLowerCase()) !== -1) {
nPenaltyWord += 1;
}
}
}
/* General point assignment */
iLevel += 1;
addDetail(iLevel, "Additions", "", "", 0, 0);
nScore = nMultLength * nLength;
iLevel += 1;
addDetail(iLevel, "Number of Characters", "Flat", String.format("+(n*{0})", nMultLength), nLength, nLength * nMultLength);
// if we have uppercase letetrs Score +=(number of uppercase letters *2)
if (nAlphaUC > 0) {
nScore += ((nLength - nAlphaUC) * nMultAlphaUC);
iLevel += 1;
addDetail(iLevel, "Uppercase Letters", "Cond/Incr", String.format("+((len-n)*{0})", nMultAlphaUC), nAlphaUC, ((nLength - nAlphaUC) * nMultAlphaUC));
} else {
iLevel += 1;
addDetail(iLevel, "Uppercase Letters", "Cond/Incr", String.format("+((len-n)*{0})", nMultAlphaUC), nAlphaUC, 0);
}
// if we have lowercase letetrs Score +=(number of lowercase letters *2)
if (nAlphaLC > 0) {
nScore += ((nLength - nAlphaLC) * nMultAlphaLC);
iLevel += 1;
addDetail(iLevel, "Lowercase Letters", "Cond/Incr", String.format("+((len-n)*{0})", nMultAlphaLC), nAlphaLC, ((nLength - nAlphaLC) * nMultAlphaLC));
} else {
iLevel += 1;
addDetail(iLevel, "Lowercase Letters", "Cond/Incr", String.format("+((len-n)*{0})", nMultAlphaLC), nAlphaLC, 0);
}
// Score += (Number of digits * nMultNumber)
nScore += (nNumber * nMultNumber);
iLevel += 1;
addDetail(iLevel, "Numbers", "Cond", String.format("+(n*{0})", nMultNumber), nNumber, (nNumber * nMultNumber));
// Score += (Number of Symbols * nMultSymbol)
nScore += (nSymbol * nMultSymbol);
iLevel += 1;
addDetail(iLevel, "Symbols", "Flat", String.format("+(n*{0})", nMultSymbol), nSymbol, (nSymbol * nMultSymbol));
// Score += (Number of digits or symbols in middle of password *nMultMidChar)
nScore += (nMidChar * nMultMidChar);
iLevel += 1;
addDetail(iLevel, "Middle Numbers or Symbols", "Flat", String.format("+(n*{0})", nMultMidChar), nMidChar, (nMidChar * nMultMidChar));
//requirments
if (nLength >= minLength && nLength <= maxLength) {
nRequirements += 1;
} // Check min / max password length
var bMinReqsMet = nRequirements > 0 && nSeqUserID == 0; // Username not sampled
if (nAlphaUC > 0) {
nRequirements += 1;
} // Uppercase letters
if (nAlphaLC > 0) {
nRequirements += 1;
} // Lowercase letters
if (nNumber > 0) {
nRequirements += 1;
} // Digits
if (nSymbol > 0) {
nRequirements += 1;
} // Symbols
// If we have more than 3 requirments met and min requirements met
if (nRequirements > 3 && bMinReqsMet) {
// Score += (nRequirements *nMultRequirements)
nScore += (nRequirements * nMultRequirements);
iLevel += 1;
addDetail(iLevel, "Requirments", "Flat", String.format("+(n*{0})", nMultRequirements), nRequirements, (nRequirements * nMultRequirements));
_bRequirementsMet = true;
} else {
iLevel += 1;
addDetail(iLevel, "Requirments", "Flat", "Not Met", nRequirements, 0);
_bRequirementsMet = false;
}
iLevel += 1;
addDetail(iLevel, "Deductions", "", "", 0, 0);
/* Point deductions for poor practices */
// If only letters then score -= password length
if ((nAlphaLC > 0 || nAlphaUC > 0) && nSymbol === 0 && nNumber === 0) {
nScore -= nLength;
iLevel += 1;
addDetail(iLevel, "Letters only", "Flat", "-n", nLength, -nLength);
} else {
iLevel += 1;
addDetail(iLevel, "Letters only", "Flat", "-n", 0, 0);
}
// If only digits then score -= password length
if (nAlphaLC === 0 && nAlphaUC === 0 && nSymbol === 0 && nNumber > 0) {
nScore -= nLength;
iLevel += 1;
addDetail(iLevel, "Numbers only", "Flat", "-n", nLength, -nLength);
} else {
iLevel += 1;
addDetail(iLevel, "Numbers only", "Flat", "-n", 0, 0);
}
// If Same character exists more than once
nScore = nScore - nRepInc;
iLevel += 1;
addDetail(iLevel, "Repeat Characters", "Incr", "-n", nRepInc, -nRepInc);
// If Consecutive uppercase letters then score -= (nConsecAlphaUC * nMultConsecAlphaUC);
nScore -= (nConsecAlphaUC * nMultConsecAlphaUC);
iLevel += 1;
addDetail(iLevel, "Consecutive Uppercase Letters", "Flat", String.format("-(n*{0})", nMultConsecAlphaUC), nConsecAlphaUC, -(nConsecAlphaUC * nMultConsecAlphaUC));
// If Consecutive lowercase letters then score -= (nConsecAlphaLC * nMultConsecAlphaLC);
nScore -= (nConsecAlphaLC * nMultConsecAlphaLC);
iLevel += 1;
addDetail(iLevel, "Consecutive Lowercase Letters", "Flat", String.format("-(n*{0})", nMultConsecAlphaLC), nConsecAlphaLC, -(nConsecAlphaLC * nMultConsecAlphaLC));
// If Consecutive digits used then score -= (nConsecNumber* nMultConsecNumber);
nScore -= (nConsecNumber * nMultConsecNumber);
iLevel += 1;
addDetail(iLevel, "Consecutive Numbers", "Flat", String.format("-(n*{0})", nMultConsecNumber), nConsecNumber, -(nConsecNumber * nMultConsecNumber));
// If password contains sequence of letters then score -= (nSeqAlpha * nMultSeqAlpha)
nScore -= (nSeqAlpha * nMultSeqAlpha);
iLevel += 1;
addDetail(iLevel, "Sequential Letters (3+)", "Flat", String.format("-(n*{0})", nMultSeqAlpha), nSeqAlpha, -(nSeqAlpha * nMultSeqAlpha));
// If password contains sequence of numbers then score -= (nSeqNumber * nMultSeqNumber)
nScore -= (nSeqNumber * nMultSeqNumber);
iLevel += 1;
addDetail(iLevel, "Sequential Numbers (3+)", "Flat", String.format("-(n*{0})", nMultSeqNumber), nSeqNumber, -(nSeqNumber * nMultSeqNumber));
// If password contains sequence of symbols then score -= (nSeqSymbol * nMultSeqSymbol)
nScore -= (nSeqSymbol * nMultSeqSymbol);
iLevel += 1;
addDetail(iLevel, "Sequential Symbols (3+)", "Flat", String.format("-(n*{0})", nMultSeqSymbol), nSeqSymbol, -(nSeqSymbol * nMultSeqSymbol));
// If password contains sequence of userID then score -= (nSeqUserID * nMultSeqUserID)
nScore -= (nSeqUserID * nMultSeqUserID);
iLevel += 1;
addDetail(iLevel, "Sequential UserID (3+)", "Flat", String.format("-(n*{0})", nMultSeqUserID), nSeqUserID, -(nSeqUserID * nMultSeqUserID));
// If password contains penalty words then score -= (nPenaltyWord * nMultPenaltyWord)
nScore -= (nPenaltyWord * nMultPenaltyWord);
iLevel += 1;
addDetail(iLevel, "Penalty Words", "Flat", String.format("-(n*{0})", nMultPenaltyWord), nPenaltyWord, -(nPenaltyWord * nMultPenaltyWord));
/* Determine complexity based on overall score */
if (nScore > 100) {
nScore = 100;
}
if (nScore < 0) {
nScore = 0;
}
if (nScore >= PasswordStrengthEnum.Strong) {
sComplexity = "Strong";
} else if (nScore >= PasswordStrengthEnum.Good) {
sComplexity = "Good";
} else if (nScore >= PasswordStrengthEnum.Fair) {
sComplexity = "Fair";
} else {
sComplexity = "Weak";
}
// Store results
oOverallScore.Bonus = nScore;
oOverallScore.Rate = sComplexity;
_iScore = nScore;
};
var displayResults = function() {
var sVerdict = "";
var bPasswordAcceptable = false;
if (_tblOutputDetails) {
while (_tblOutputDetails.rows.length > 1) {
_tblOutputDetails.deleteRow(_tblOutputDetails.rows.length - 1);
}
}
if (_divOutputBar) {
_divOutputBar.className = "";
}
if (_divStrengthDisplay) {
if (_txtPasswordControl && _txtPasswordControl.value.length > 0) _divStrengthDisplay.style.display = '';
else _divStrengthDisplay.style.display = 'none';
}
if (_divOutputBarOuter) {
_divOutputBarOuter.className = "SPTScoreBarOuterDisplayed";
if (_txtPasswordControl && _txtPasswordControl.value.length > 0) _divOutputBarOuter.style.display = '';
else _divOutputBarOuter.style.display = 'none';
}
if (_divOutputNumber) {
_divOutputNumber.innerHTML = _iScore;
}
if (!_bRequirementsMet) {
if (_arrVerdicts && _arrVerdicts.length > 0) {
sVerdict = _arrVerdicts[0];
}
if (_divOutputBar) {
_divOutputBar.className = "SPTScoreBarRequirementsNotMet";
}
} else if (_iScore < PasswordStrengthEnum.Fair) {
if (_arrVerdicts && _arrVerdicts.length > 1) {
sVerdict = (_bRequireBetterThanWeak ? _arrVerdicts[0] + " ... " + _arrVerdicts[1] : _arrVerdicts[1]);
}
if (_divOutputBar) {
_divOutputBar.className = "SPTScoreBarWeak";
}
if (!_bRequireBetterThanWeak) {
bPasswordAcceptable = true;
}
} else if (_iScore < PasswordStrengthEnum.Good) {
if (_arrVerdicts && _arrVerdicts.length > 2) {
sVerdict = _arrVerdicts[2];
}
if (_divOutputBar) {
_divOutputBar.className = "SPTScoreBarFair";
}
bPasswordAcceptable = true;
} else if (_iScore < PasswordStrengthEnum.Strong) {
if (_arrVerdicts && _arrVerdicts.length > 3) {
sVerdict = _arrVerdicts[3];
}
if (_divOutputBar) {
_divOutputBar.className = "SPTScoreBarGood";
}
bPasswordAcceptable = true;
} else {
if (_arrVerdicts && _arrVerdicts.length > 4) {
sVerdict = _arrVerdicts[4];
}
if (_divOutputBar) {
_divOutputBar.className = "SPTScoreBarStrong";
}
bPasswordAcceptable = true;
}
try {
if (typeof _funcOnPasswordEvaluated === "function") {
setTimeout(function() {
_funcOnPasswordEvaluated(bPasswordAcceptable)
}, 1);
}
if (typeof _funcOnPasswordChanged === "function") {
setTimeout(function() {
_funcOnPasswordChanged(_sPassword)
}, 1);
}
} catch (ex) {}
if (_divOutputVerdict) {
_divOutputVerdict.innerHTML = sVerdict;
}
if (_divOutputNumber) {
_divOutputNumber.innerHTML = _iScore;
}
if (_tblOutputDetails) {
if (_arrDetails && _arrDetails.length > 0) {
var i = 0;
var row;
var cell;
for (i = 0; i < _arrDetails.length; i += 1) {
row = _tblOutputDetails.insertRow(i + 1);
cell = row.insertCell(0);
cell.innerHTML = _arrDetails[i].Level;
cell = row.insertCell(1);
cell.innerHTML = _arrDetails[i].Description;
cell = row.insertCell(2);
cell.innerHTML = _arrDetails[i].Type;
cell = row.insertCell(3);
cell.innerHTML = _arrDetails[i].Rate;
cell = row.insertCell(4);
cell.innerHTML = _arrDetails[i].Count;
cell = row.insertCell(5);
cell.innerHTML = _arrDetails[i].Bonus;
}
}
}
};
var setPasswordInternal = function(value) {
if (_sPassword !== value) {
_sPassword = value;
checkPasswordWithDetails(_sPassword, _iMinLength, _iMaxLength, _sUserID, _arrPenaltyWords);
displayResults();
}
};
var pwdChanged = function() {
if (_txtPasswordControl) {
setPasswordInternal(_txtPasswordControl.value);
}
};
var setUserIDInternal = function(value) {
if (_sUserID !== value) {
_sUserID = value;
checkPasswordWithDetails(_sPassword, _iMinLength, _iMaxLength, _sUserID, _arrPenaltyWords);
displayResults();
}
};
var userIDChanged = function() {
if (_txtUserIDControl) {
setUserIDInternal(_txtUserIDControl.value);
}
};
// Public accessors
this.setMaxLength = function(value) {
_iMaxLength = parseInt(value);
};
this.getMaxLength = function() {
return _iMaxLength;
};
this.setMinLength = function(value) {
_iMinLength = parseInt(value);
};
this.getMinLength = function() {
return _iMinLength;
};
this.setRequireBetterThanWeak = function(value) {
_bRequireBetterThanWeak = value;
};
this.getRequireBetterThanWeak = function() {
return _bRequireBetterThanWeak;
};
this.setOnPasswordEvaluated = function(value) {
_funcOnPasswordEvaluated = value;
};
this.setOnPasswordChanged = function(value) {
_funcOnPasswordChanged = value;
};
this.setUserID = function(value) {
_sUserID = value;
};
this.getUserID = function() {
return _sUserID;
};
this.setPenaltyWords = function(value) {
_arrPenaltyWords = value;
};
this.getPenaltyWords = function() {
return _arrPenaltyWords;
};
this.getVerdicts = function() {
return _arrVerdicts;
};
this.setVerdicts = function(value) {
_arrVerdicts = value;
};
this.getRequirementsMet = function() {
return _bRequirementsMet;
};
this.getPasswordScore = function() {
return _iScore;
};
this.getPasswordStrength = function() {
if (_iScore >= PasswordStrengthEnum.Strong) {
return PasswordStrengthEnum.Strong;
} else if (_iScore >= PasswordStrengthEnum.Good) {
return PasswordStrengthEnum.Good;
} else if (_iScore >= PasswordStrengthEnum.Fair) {
return PasswordStrengthEnum.Fair;
} else {
return PasswordStrengthEnum.Weak;
}
};
this.getPasswordStrengthDetails = function() {
return _arrDetails;
};
this.setOutputBar = function(value) {
_divOutputBar = value;
};
this.setStrengthDisplay = function(value) {
_divStrengthDisplay = value;
};
this.setOutputBarOuter = function(value) {
_divOutputBarOuter = value;
};
this.setOutputNumber = function(value) {
_divOutputNumber = value;
};
this.setOutputVerdict = function(value) {
_divOutputVerdict = value;
};
this.setOutputDetailsTable = function(value) {
_tblOutputDetails = value;
};
this.setPasswordControl = function(value) {
_txtPasswordControl = value;
if (_txtPasswordControl) {
if (_txtPasswordControl.addEventListener) {
_txtPasswordControl.addEventListener('keyup', pwdChanged, false);
} else if (_txtPasswordControl.attachEvent) {
_txtPasswordControl.attachEvent('onkeyup', pwdChanged);
} else {
_txtPasswordControl.onkeyup = pwdChanged;
}
}
};
this.setUserIDControl = function(value) {
_txtUserIDControl = value;
if (_txtUserIDControl) {
if (_txtUserIDControl.addEventListener) {
_txtUserIDControl.addEventListener('keyup', userIDChanged, false);
} else if (_txtUserIDControl.attachEvent) {
_txtUserIDControl.attachEvent('onkeyup', userIDChanged);
} else {
_txtUserIDControl.onkeyup = userIDChanged;
}
}
};
this.setPassword = setPasswordInternal;
this.setUserID = setUserIDInternal;
}
var oSPT_prf_main2_txtCandidateSetPassword1 = null;
var oSPT_prf_main2_txtCandidateSetPassword1_onevalfunc = PasswordEvaluated;
var oSPT_prf_main2_txtCandidateSetPassword1_onchangedfunc = PasswordChanged;
var oSPT_prf_main2_txtCandidateSetPassword1_loadfunc = function() {
oSPT_prf_main2_txtCandidateSetPassword1 = new PasswordStrengthTester();
var oScoreBar = document.getElementById("prf_main2_txtCandidateSetPassword1scorebar");
var oStrengthDisplay = document.getElementById("prf_main2_txtCandidateSetPassword1strengthdisplay");
var oScoreBarOuter = document.getElementById("prf_main2_txtCandidateSetPassword1scorebarouter");
var oScore = document.getElementById("prf_main2_txtCandidateSetPassword1score");
var oVerdict = document.getElementById("prf_main2_txtCandidateSetPassword1verdictbar");
var oDetails = document.getElementById("prf_main2_txtCandidateSetPassword1details");
var oPassword = document.getElementById("prf_main2_txtCandidateSetPassword1");
var oUserID = null;
if ("".length > 0) {
oUserID = document.getElementById("");
}
oSPT_prf_main2_txtCandidateSetPassword1.setMaxLength(50);
oSPT_prf_main2_txtCandidateSetPassword1.setMinLength(9);
if (oUserID) {
oSPT_prf_main2_txtCandidateSetPassword1.setUserIDControl(oUserID);
oSPT_prf_main2_txtCandidateSetPassword1.setUserID(oUserID.value);
} else {
oSPT_prf_main2_txtCandidateSetPassword1.setUserID("");
}
oSPT_prf_main2_txtCandidateSetPassword1.setPenaltyWords(["pass", "pwd", "test", "profile", "wiley", "1234", "qwer", "asdf", "zxcv", "1qaz", "football", "baseball", "soccer", "welcome", "dragon", "0000", "1111", "2222", "3333", "4444", "5555",
"6666", "7777", "8888", "9999", "qqqq", "aaaa", "master", "lock", "monkey", "letmein", "login", "princess", "solo", "starwars", "6969", "mustang", "access", "shadow", "michael", "superman", "batman", "trust", "p@ss", "pa$$", "p4ss",
"p4$$", "word", "w0rd"
]);
oSPT_prf_main2_txtCandidateSetPassword1.setVerdicts(["Requirements Not Met", "Weak", "Fair", "Good", "Strong"]);
oSPT_prf_main2_txtCandidateSetPassword1.setRequireBetterThanWeak(true);
oSPT_prf_main2_txtCandidateSetPassword1.setOutputBar(oScoreBar);
oSPT_prf_main2_txtCandidateSetPassword1.setStrengthDisplay(oStrengthDisplay);
oSPT_prf_main2_txtCandidateSetPassword1.setOutputBarOuter(oScoreBarOuter);
oSPT_prf_main2_txtCandidateSetPassword1.setOutputNumber(oScore);
oSPT_prf_main2_txtCandidateSetPassword1.setOutputVerdict(oVerdict);
oSPT_prf_main2_txtCandidateSetPassword1.setOutputDetailsTable(oDetails);
oSPT_prf_main2_txtCandidateSetPassword1.setPasswordControl(oPassword);
oSPT_prf_main2_txtCandidateSetPassword1.setOnPasswordEvaluated(oSPT_prf_main2_txtCandidateSetPassword1_onevalfunc);
oSPT_prf_main2_txtCandidateSetPassword1.setOnPasswordChanged(oSPT_prf_main2_txtCandidateSetPassword1_onchangedfunc);
oSPT_prf_main2_txtCandidateSetPassword1.setUserIDControl(oUserID);
oPassword.value = "";
oPassword.className = "form-input";
};
addLoadEvent(oSPT_prf_main2_txtCandidateSetPassword1_loadfunc); //
-->
</script>
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="202EA31B">
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION"
value="/wEdADs81Ho2TQneaEpPkpUL+qVbMRlqrnAdgWUznrylEDrbbVyFtraW8N69g7MeRnYSnARq/ACW9susJyigWQ+wy1ZkOs1v4zvr0UVoQKYa4SP67OGfkTd66cGC1AyMQWltZaByYNoW06ZxBIZO2hffZXGvvqAGq5W2MC9jJbrJgftmjqwGZEjyC39VOL/2UgRpFZi1zE3Z8fzdsdfdphekLOtH6zl7ZXKQCan/NqmAfcyoBZe6MckscmGRCU8KFA+5b/ZNetvix2eBkn8G3gmqxNqGS+5bbQlL5zbH7dwAQTFmDLqfXXfkeBn9Q+HJy2xTISIMyELo5eWHQL88rNKdlYwdHjS4jwc5KpBHhPHWHdakJ6fCHy/CW6rtzMWxoC95j5ejIhyzm8+6kbUOyWYHc6GkCKxr4gINMMtEVkBFCIe6fjObUhOWO+DmtYmfMZrHILByBZl7shIGyFEGTWfGyhW0unnxQWvnvK1xh+d32h7xDWXyAfkR+PyHntVAIcpawcVScX3cYkE9kLMcQxjnochHrowvVIZvcWCjnzXeiH3y8PT0m1N3+ariuVQXuWpePBcnprSpF89VQSMiZ1UeHRfQnCIagrtJnh1nteqpkG1YnL67WiLjPPs6wO0sAgmdUUPODOYZIXaxd5TMTjug/KCkp6uX4dYYMInFf3BYAS5qli+9oSNZtCdFLwdT/II7VIvB20vhkUfF7o0cCkwwsOsiJC/jXx1+oMCe1Dxk7DyFtMCAqeyBO3Vcy1LxI5V9lhGQU6tofgtut+Y819cGYCeaRHZoZ+buBWcm3zumfJtBSoxCwZh0ih8jfelpzkNI6xLDVr7va7VmvXJ5eealWSyF+0G3SOVYwm5eVSbl3M6aUP69jSc+YzAXz5WYwlY5N9GwTj2zBoH7qHhVjQcFYWNxavtKa2/sYSLpi9PciP5qeht7e4lewXumx55pub8igDlcUayDf/D4pprYXRxB+o6ulX4C6GsJwLtGOdsHj6hOc3dFUjhMOZWXGfeAsoFC6oIHFso1on/s6D9yVY42mTYyBGm2uMZBgCdmHFEqH8wf34M4Hj8iv6sw5mN1Lq9P1uEXB/FCe3qps5G8Tf6SihZmWMZtWFiPtXI710FCXf5qwx+PTrUbyZyxJEcXJ6AvmYSvRk/3arzv8iZtls6W7YzQi4tARcnpJMPElvNAh2MvC2UhVL5h9TpNhaKygDncRsjFOc3iCdAk/cTm7TDyFlQ2PIeR62H0/wBXd9Aw9bYjjdCWxKv2gPF8lFeyYr9w/XpGMnOW">
<div class="stickyFooter">
<div id="prf_pnlMainHeader">
<!-- BEGIN HEADER -->
<!-- BEGIN BRAND LOGOS -->
<div class="header js-stickyHeader">
<div class="header-brand js-stickyHeader-hide">
<div class="header-brand-partner">
<img src="GetCobrand.aspx" id="prf_main1_header_imgCobrandLogo">
</div>
<div class="header-brand-logo" itemtype="http://schema.org/Organization" itemscope="">
<img src="/images/PI_Logo.gif" id="prf_main1_header_imgBrandLogo" itemprop="logo">
</div>
</div>
</div>
<!-- END BRAND LOGOS -->
<div class="js-stickyHeader-gap">
<!-- USED FOR STICKY HEADER -->
</div>
<!-- BEGIN NAVIGATION -->
<div class="wrap wrap_nav js-stickyHeader-nav candidate_nav" style="min-height:42px;">
<div id="prf_main1_header_divMainNav" class="mainNav">
<div class="mainNav-assessment">
<ul id="prf_main1_header_ulNav">
<li id="prf_main1_header_liLtrSpacer" style="visibility:hidden;"><!-- required for proper top/bottom padding --></li>
<li id="prf_main1_header_liHelp">
<div class="js-modalArc">
<a href="javascript:void(0);" id="prf_main1_header_hlHelp" class="js-modalTrigger">Help</a>
<div class="modal js-modal" style="color:#282828;">
<div class="modal-mask js-modal-mask js-modal-mask_close"></div><!-- REMOVE modal-mask_close IF YOU WANT TO DEACTIVATE ON CLICK CLOSE FUNCTION ON MASK -->
<div class="modal-content js-modal-content">
<div class="modal-hd">
<span>
<span id="prf_main1_header_lblHelpTitle" class="txt_semiBold">Help</span>
<!--span></span-->
</span>
<a href="javascript:void(0)" class="modal-close js-modal-close" style="padding:4px;">
<span id="prf_main1_header_lblHelpClose" class="isVisuallyHidden">Close</span>
<i class="icon-cross2"></i>
</a>
</div>
<div class="modal-bd">
<div class="prfHelpTitle">Candidate Password Creation Page</div>
<div class="prfHelpSection">Password Creation</div>
<div class="prfHelpPara">Enter a password that will be easy for you to remember. This password is required for re-entry to the site. Password requirements are a minimum of six characters with one or more letters and one or
more numbers. Characters allowed include: A-Z, 1-9, and !""#$%&'()*+[,-]./_`:;<=>?@{|}~. Spaces are not allowed.</div>Contact Assessment Assistant esraa@qaitas.com for additional support<div
class="prfExtraContactInfo"></div>
</div>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<!-- END NAVIGATION -->
<script>
function ShowErrorMessage(message, hideDelay, tooltip) {
$("#errorMessageText").text(message ? message : "").attr("title", tooltip ? tooltip : "");
$(".error:not(.error_feedback)").slideDown(100, function() {
if ($.isNumeric(hideDelay)) $(".error:not(.error_feedback)").delay(hideDelay).slideUp(500);
});
}
function HideErrorMessage() {
$(".error:not(.error_feedback)").slideUp(500);
}
function ShowFeedbackMessage(message, hideDelay) {
$("#feedbackMessageText").html(message);
$(".error_feedback").slideDown(100, function() {
if ($.isNumeric(hideDelay)) $(".error_feedback").delay(hideDelay).slideUp(500);
});
}
function HideFeedbackMessage() {
$(".error_feedback").slideUp(500);
}
</script>
<script>
$(document).ready(function() {
ShowFeedbackMessage('To give you the best possible experience, this site uses cookies as explained in our <a href="CookiePolicy.aspx">cookie policy</a>. By continuing to use the site, you agree to their use.');
});
</script>
<!-- END HEADER -->
<!-- BEGIN ERROR MESSAGE -->
<div class="error js-close js-stickyHeader-error candidate_error" style="display: none;">
<div class="error-content">
<span><i class="icon-warning"></i> <span id="errorMessageText"></span></span>
</div>
<div class="error-close js-close-trigger">
<i class="icon-cross"></i>
</div>
</div>
<!-- END ERROR MESSAGE -->
<!-- BEGIN FEEDBACK MESSAGE -->
<div class="error error_feedback js-close js-stickyHeader-error candidate_error" style="">
<div class="error-content">
<span><i class="icon-flag"></i> <span id="feedbackMessageText">To give you the best possible experience, this site uses cookies as explained in our <a href="CookiePolicy.aspx">cookie policy</a>. By continuing to use the site, you agree
to their use.</span></span>
</div>
<div class="error-close js-close-trigger">
<i class="icon-cross"></i>
</div>
</div>
<!-- END FEEDBACK MESSAGE -->
</div>
<div id="prf_pnlMainContent">
<div id="prf_main2_pnlMain" class="pnlMain">
<!-- DisableAvatars
<table class="centeredobject">
<tr>
<td style="vertical-align: top">
-->
<div id="prf_main2_pnlBlueBox" class="wrap wrap_preAssessment">
<h2 class="hdg hdg_1 pushBtm10">Welcome, Suha Al-Sulaiti</h2>
<p class="pushBtm20">Please create your password for re-entry.</p>
<div class="pushBtm10">
<div>
<label class="SPTLabel" for="prf_main2_txtCandidateSetPassword1scorebarouter">Password</label>
<div class="SPTScoreBarOuterDisplayed" id="prf_main2_txtCandidateSetPassword1scorebarouter" style="display:none;">
<div class="SPTScoreBar" id="prf_main2_txtCandidateSetPassword1scorebar">
<div class="SPTScore" id="prf_main2_txtCandidateSetPassword1score"> </div>
</div>
<div class="SPTVerdictBar" id="prf_main2_txtCandidateSetPassword1verdictbar"></div>
</div>
</div><input name="prf:main2:txtCandidateSetPassword1" type="password" maxlength="50" id="prf_main2_txtCandidateSetPassword1" class="form-input"
onblur="TestPasswordQuality(passwordEval);if (this.value=='' && ''.length > 0) {this.value='';this.className='LabeledTextField';this.type='text';}" autocorrect="off" autocapitalize="off"
onfocus="if (this.value=='') {this.value='';this.className='form-input';this.type='password';}" hinttext="">
</div>
<div class="pushBtm10">
<label for="prf_main2_txtCandidateSetPassword2">Confirm Password</label>
<input name="prf:main2:txtCandidateSetPassword2" type="password" maxlength="50" id="prf_main2_txtCandidateSetPassword2" class="form-input" onblur="TestPasswordMatch(pwd1, this);">
</div>
<table style="width:100%">
<colgroup>
<col style="width:60%;">
<col style="width:40%;">
</colgroup>
<tbody>
<tr>
<td id="prf_main2_tdReq" class="verticalaligntop">
<div class="js-tip">
<span class="txt_sm">Requirements </span>
<span class="tip-trigger js-tip-trigger">
<i class="icon-question-circle"></i>
</span>
<div id="pwdTip" class="tip-content js-tip-content" style="display:block;">
<div class="tip-spike js-tip-spike" style="left: 81px;"></div>
<div class="SPTInstructions" id="prf_main2_txtCandidateSetPassword1instructions">
<ul class="list list_noPadBtm">
<li>Passwords must be at least 9 characters long and contain 3 of the following</li>
<li>Uppercase Characters</li>
<li>Lowercase Characters</li>
<li>Numbers</li>
<li>Symbols</li>
</ul>
</div>
<div class="SPTDetails" style="display:none;">
<table id="prf_main2_txtCandidateSetPassword1details">
<tbody>
<tr>
<th>Level</th>
<th>Description</th>
<th>Type</th>
<th>Rate</th>
<th>Count</th>
<th>Bonus</th>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</td>
<td class="verticalaligntop textalignright" style="vertical-align:top;">
<table title="" class="pacbtn" id="pacbtnprf_main2_btnCandidateSetPasswordContinue">
<tbody>
<tr>
<td class="pacbtncenter"><input type="submit" id="prf_main2_btnCandidateSetPasswordContinue" name="prf:main2:btnCandidateSetPasswordContinue"
onclick="var button=FindParent(this,'table');if(button.className=='pacbtngray'){return false;}button.className='pacbtngray';try{try{SetDirtyPostBackFlag(true);}catch(e){};if (TestPasswordQuality(passwordEval) == false || TestPasswordMatch(pwd1, GetObjectByID('prf_main2_txtCandidateSetPassword2')) == false) {$('#pwdTip').show();TestPasswordMatch(pwd1, GetObjectByID('prf_main2_txtCandidateSetPassword2'));button.className='pacbtn';return false; };__doPostBack('prf:main2:btnCandidateSetPasswordContinue','')}catch(e){SetDirtyPostBackFlag(false);};return false;"
value="Continue" class="btn btn_primary"></td>
</tr>
</tbody>
</table><span style="display:none;visibility:hidden;"></span>
</td>
</tr>
</tbody>
</table>
<div style="margin: 10px auto; max-width: 566px;">
<label for="prf_main2_langUI_ddlLanguage">Select your preferred language</label>
<table class="LanguageChooser">
<tbody>
<tr>
<td>
<select name="prf:main2:langUI:ddlLanguage" id="prf_main2_langUI_ddlLanguage">
<option selected="selected" value="en_us">English</option>
<option value="cs_cz">Česky</option>
<option value="da_dk">Dansk</option>
<option value="de_de">Deutsch</option>
<option value="nl_be">Dutch (Belgium)</option>
<option value="et_ee">Eesti</option>
<option value="el_gr">Ellinika</option>
<option value="en_au">English (A/NZ)</option>
<option value="en_ug">English (East Africa)</option>
<option value="en_my">English (Malaysia)</option>
<option value="en_ph">English (Philippines)</option>
<option value="en_za">English (South Africa)</option>
<option value="en_gb">English (UK)</option>
<option value="en_gh">English (West Africa)</option>
<option value="es_un">Español (Global)</option>
<option value="es_ar">Español (Argentina)</option>
<option value="es_cl">Español (Chile)</option>
<option value="es_co">Español (Colombia)</option>
<option value="es_cr">Español (Costa Rica)</option>
<option value="es_do">Español (Dominican)</option>
<option value="es_gt">Español (Guatemala)</option>
<option value="es_mx">Español (Mexico)</option>
<option value="es_pe">Español (Perú)</option>
<option value="es_pr">Español (Puerto Rico)</option>
<option value="es_es">Español (Spain)</option>
<option value="es_us">Español (US)</option>
<option value="es_ve">Español (Venezuela)</option>
<option value="fr_fr">Français</option>
<option value="fr_ca">Français (Canadien)</option>
<option value="it_it">Italiano</option>
<option value="lv_lv">Latvian</option>
<option value="lt_lt">Lietuvių</option>
<option value="hu_hu">Magyar</option>
<option value="nl_nl">Nederlands</option>
<option value="no_no">Norsk</option>
<option value="pl_pl">Polski</option>
<option value="pt_pt">Português</option>
<option value="pt_br">Português Brazilian</option>
<option value="ro_ro">Română</option>
<option value="sh_sp">Serbian</option>
<option value="sh_ba">Serbo-Croatian</option>
<option value="sl_si">Slovenian</option>
<option value="fi_fi">Suomeksi</option>
<option value="sv_se">Svenska</option>
<option value="vi_vn">Tiểng Việt</option>
<option value="tr_tr">Türkçe</option>
<option value="bg_bg">Български</option>
<option value="ru_ru">РУССКИЙ</option>
<option value="ar_ae">العربية</option>
<option value="ko_kr">한글</option>
<option value="ja_jp">日本語</option>
<option value="zh_cn">汉语</option>
</select>
</td>
<td>
<div id="prf_main2_langUI_pnlChangeButton" class="paddingleft10">
<span class="btn btn_icon" title="Set Language" onclick=";__doPostBack('prf:main2:langUI:btnChange','');" id="btnChangeIcon"><i class="icon-arrow-right"></i></span>
</div>
</td>
</tr>
</tbody>
</table>
<p><span id="prf_main2_lblLanguageNote">Please note that the language selection displayed here is ONLY for the instructions on the Survey Center pages. When the survey begins, if the survey is not translated in your preferred language,
you will be given the opportunity to select from a list of available languages. If your preferred language is not available, please contact the person who requested the survey.</span></p>
</div>
</div>
<!--
</td>
</tr>
</table>
-->
</div>
</div>
</div>
<div id="prf_pnlMainFooter">
<!-- FOOTER -->
<div class="footer" role="contentinfo">
<div class="footer-brand">
<div class="footer-logo" itemscope="" itemtype="http://schema.org/Organization">
</div>
<small class="footer-copy"> Profiles International is a subsidiary of John WILEY & Sons, Inc. | © 2023 John Wiley & Sons, Inc. All rights reserved.</small>
</div>
<div class="footer-legal">
<ul class="hList hList_pipe">
<li>
<a href="PrivacyPolicyC.aspx" id="prf_main3_footer_hlPrivacy">Privacy Policy (updated Jan 21 2022)</a>
</li>
</ul>
</div>
</div>
<!-- END FOOTER -->
</div>
<div id="prf_pnlMainPrint">
</div>
<!-- SPINNER -->
<div id="mainSpinner" class="uil-spin-css">
<img src="media/images/loading.gif" id="prf_imgMainSpinner" class="spinner-ie isActive" alt="Loading">
<div>
<div>
</div>
</div>
<div>
<div>
</div>
</div>
<div>
<div>
</div>
</div>
<div>
<div>
</div>
</div>
<div>
<div>
</div>
</div>
<div>
<div>
</div>
</div>
<div>
<div>
</div>
</div>
<div>
<div>
</div>
</div>
</div>
<input name="prf:state:store" type="hidden" id="prf_state_store">
<div id="prf_prftooltip">
<div id="ToolTipWindow" class="prf-Popup" style="visibility:hidden;display:none;position:absolute;z-index:190;">
<table>
<tbody>
<tr>
<td class="prf-PopupPointer"></td>
<td class="prf-PopupClear" colspan="2"></td>
</tr>
<tr>
<td class="prf-PopupTopLeft"></td>
<td class="prf-PopupTop"></td>
<td class="prf-PopupTopRight"></td>
</tr>
<tr>
<td class="prf-DialogLeft"></td>
<td class="prf-DialogCenter">
<table class="prf-PopupContentLayout">
<tbody>
<tr>
<td class="prf-PopupContentLayoutMain" width="100%">
<div id="ToolTipBody"></div>
</td>
<td valign="top" class="prf-PopupContentLayoutClose"><i class="icon-close" onclick="CloseToolTip();"></i></td>
</tr>
</tbody>
</table>
</td>
<td class="prf-DialogRight"></td>
</tr>
<tr>
<td class="prf-DialogBottomLeft"></td>
<td class="prf-DialogBottom"></td>
<td class="prf-DialogBottomRight"></td>
</tr>
</tbody>
</table>
</div>
<iframe src="blank.htm" id="ToolTipFrame" style="background-color: transparent;visibility:hidden;display:none;position:absolute;z-index:189;" frameborder="0" allowtransparency="true"></iframe>
</div>
<div id="prf_alertDialog">
<div id="prf_alertDialog_Dlg" class="modal" modal="true" style="width:100%;" onshowevent="" oncloseevent="">
<div id="prf_alertDialog_DlgContent" class="modal-content" style="width:600px;">
<div id="prf_alertDialog_DlgDragRow" onmouseup="Drop();" class="modal-hd" onmousedown="DragInit('prf_alertDialog_DlgContent','');Drag(event);"><span id="prf_alertDialog_DlgTitle"> </span><span
class="modal-close"><i class="icon-close" onclick="CloseModalPopup('prf_alertDialog_Dlg');"></i></span></div>
<div id="prf_alertDialog_DlgBody" class="modal-bd">
<div id="alertMessage" class="paddingtop3 paddingbottom6">
</div>
</div>
<div class="wrap wrap_grayLight">
<div class="bar"><input name="prf:alertDialog:cancel" type="button" id="prf_alertDialog_cancel" class="btn" onclick="CloseModalPopup('prf_alertDialog_Dlg');return false;"
onkeydown="if (escKeyHandler(event)){CloseModalPopup('prf_alertDialog_Dlg');};" value="Close"></div>
</div>
</div>
</div>
</div>
<div id="prf_confirmDialog">
<div id="prf_confirmDialog_Dlg" class="modal" modal="true" style="width:100%;" onshowevent="" oncloseevent="">
<div id="prf_confirmDialog_DlgContent" class="modal-content" style="width:600px;">
<div id="prf_confirmDialog_DlgDragRow" onmouseup="Drop();" class="modal-hd" onmousedown="DragInit('prf_confirmDialog_DlgContent','');Drag(event);"><span id="prf_confirmDialog_DlgTitle"> </span><span
class="modal-close"><i class="icon-close" onclick="CloseModalPopup('prf_confirmDialog_Dlg');"></i></span></div>
<div id="prf_confirmDialog_DlgBody" class="modal-bd">
<div id="confirmMessage" class="paddingtop3 paddingbottom6">
</div>
<div id="confirmItems" class="paddingtop3 paddingbottom6" style="width: 380px; height: 200px; _height: 200px; overflow-y: scroll; border: solid 1px #f0f0f0; display: none; visibility: hidden;">
</div>
<div id="confirmItemsMask" style="display: none; visibility: hidden">
<table style="width: 356px; height: 198px">
<tbody>
<tr>
<td style="text-align: center"> Loading... <img id="prf_confirmDialog_imgConfirmItemsSpinner" class="MiddleAlign" src="/Images/spinner.gif" border="0">
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="wrap wrap_grayLight">
<div class="bar"><input name="prf:confirmDialog:ok" type="button" id="prf_confirmDialog_ok" class="btn"
onclick="if(true){document.getElementById('prf_confirmDialog_ok').disabled=true;DoConfirmClientCommand();CloseModalPopup('prf_confirmDialog_Dlg');}document.getElementById('prf_confirmDialog_ok').disabled=false;return false;"
onkeydown="if (escKeyHandler(event)){CloseModalPopup('prf_confirmDialog_Dlg');};" value=" Yes "> <input name="prf:confirmDialog:alt" type="button" id="prf_confirmDialog_alt" class="btn btn_secondary"
onclick="if(true){document.getElementById('prf_confirmDialog_alt').disabled=true;DoDisagreeClientCommand();CloseModalPopup('prf_confirmDialog_Dlg');}document.getElementById('prf_confirmDialog_alt').disabled=false;return false;"
onkeydown="if (escKeyHandler(event)){CloseModalPopup('prf_confirmDialog_Dlg');};" value=" No "> </div>
</div>
</div>
</div>
</div>
<script src="scripts/main.js"></script>
<script src="scripts/plugins.js"></script>
<script src="plugins/dragula.js"></script>
<script type="text/javascript">
function AlertDialog(elMatch, message) {
if (elMatch != '' && !document.getElementById(elMatch)) elMatch = '';
SetInnerText(document.getElementById('alertMessage'), message);
if (elMatch != '') SetDialogPositionWithOffset('prf_alertDialog_Dlg', elMatch, 40, 30, 400, 200);
else SetDialogPositionAbsolute('prf_alertDialog_Dlg', 300, 300, 0, 0, 400, 200)
ShowPopup('prf_alertDialog_Dlg');
}
var onConfirmFunction = null;
var onDisagreeFunction = null;
function ConfirmDialog(elMatch, message, onConfirm, onDisagree) {
var itemDiv = document.getElementById('confirmItems');
itemDiv.style.display = 'none';
itemDiv.style.visibility = 'hidden';
onConfirmFunction = onConfirm;
onDisagreeFunction = (typeof(onDisagree) != 'undefined') ? onDisagree : null;
SetInnerText(document.getElementById('confirmMessage'), message);
SetDialogPositionWithOffset('prf_confirmDialog_Dlg', elMatch, 40, 30, 420, 280);
ShowPopup('prf_confirmDialog_Dlg');
}
function ConfirmDialogWithItems(elMatch, message, onGetItems, onConfirm, onDisagree) {
var itemDiv = document.getElementById('confirmItems');
itemDiv.style.display = 'block';
itemDiv.style.visibility = 'visible';
var itemMask = document.getElementById('confirmItemsMask');
itemDiv.innerHTML = itemMask.innerHTML;
onConfirmFunction = onConfirm;
onDisagreeFunction = (typeof(onDisagree) != 'undefined') ? onDisagree : null;
SetInnerText(document.getElementById('confirmMessage'), message);
onGetItems();
SetDialogPositionWithOffset('prf_confirmDialog_Dlg', elMatch, 40, 30, 420, 280);
ShowPopup('prf_confirmDialog_Dlg');
}
function DoConfirmClientCommand() {
onConfirmFunction();
}
function DoDisagreeClientCommand() {
if (onDisagreeFunction != null) onDisagreeFunction();
}
function ShowHelp(helpID) {
document.getElementById('helpMessage').innerHTML = hidPageHelp + hidContactInfo;
document.getElementById('prf_helpDialog_Dlg').style.width = "900px";
SetDialogPositionWithOffset('prf_helpDialog_Dlg', helpID, -900, 50);
ShowPopupNoFocus('prf_helpDialog_Dlg');
}
function ShowContactInfo(helpID) {
document.getElementById('helpMessage').innerHTML = hidContactInfo;
document.getElementById('prf_helpDialog_Dlg').style.width = "400px";
SetDialogPositionWithOffset('prf_helpDialog_Dlg', helpID, -400, 50, 400, 300);
ShowPopup('prf_helpDialog_Dlg');
}
function PostToURL(url, menuBC) {
var form2 = document.getElementById('form2');
form2.form2_topbreadcrumb.value = (menuBC ? menuBC : "");
var curBreadCrumbs = document.getElementById('prf_main1_header_ctlBreadCrumbs_hidBreadCrumbs');
var newBreadCrumbs = form2.form2_breadcrumbs;
var v = '';
if (curBreadCrumbs) v = curBreadCrumbs.value;
newBreadCrumbs.value = v;
form2.action = url;
form2.submit();
}
function ShowMainSpinner() {
document.getElementById("mainSpinner").className = "uil-spin-css isActive";
}
function HideMainSpinner() {
document.getElementById("mainSpinner").className = "uil-spin-css";
}
</script>
<script>
$(document).ready(function() {
ShowFeedbackMessage('To give you the best possible experience, this site uses cookies as explained in our <a href="CookiePolicy.aspx">cookie policy</a>. By continuing to use the site, you agree to their use.');
});
</script>
</form>
POST
<form id="form2" action="" method="post">
<input name="prf:main1:header:ctlBreadCrumbs:hidBreadCrumbs" type="hidden" id="form2_breadcrumbs">
<input name="hidTopBreadcrumb" type="hidden" id="form2_topbreadcrumb">
</form>
POST
<form id="form3" action="" method="post">
<input name="prcLink" type="hidden" id="prcLink">
<input name="prcUserID" type="hidden" id="prcUserID">
</form>
Name: form4 — POST
<form id="form4" name="form4" action="" method="post">
<input type="hidden" id="PACSession" name="PACSession" value="">
</form>
Text Content
* * Help Help Close Candidate Password Creation Page Password Creation Enter a password that will be easy for you to remember. This password is required for re-entry to the site. Password requirements are a minimum of six characters with one or more letters and one or more numbers. Characters allowed include: A-Z, 1-9, and !""#$%&'()*+[,-]./_`:;<=>?@{|}~. Spaces are not allowed. Contact Assessment Assistant esraa@qaitas.com for additional support To give you the best possible experience, this site uses cookies as explained in our cookie policy. By continuing to use the site, you agree to their use. WELCOME, SUHA AL-SULAITI Please create your password for re-entry. Password Confirm Password Requirements * Passwords must be at least 9 characters long and contain 3 of the following * Uppercase Characters * Lowercase Characters * Numbers * Symbols Level Description Type Rate Count Bonus Select your preferred language English Česky Dansk Deutsch Dutch (Belgium) Eesti Ellinika English (A/NZ) English (East Africa) English (Malaysia) English (Philippines) English (South Africa) English (UK) English (West Africa) Español (Global) Español (Argentina) Español (Chile) Español (Colombia) Español (Costa Rica) Español (Dominican) Español (Guatemala) Español (Mexico) Español (Perú) Español (Puerto Rico) Español (Spain) Español (US) Español (Venezuela) Français Français (Canadien) Italiano Latvian Lietuvių Magyar Nederlands Norsk Polski Português Português Brazilian Română Serbian Serbo-Croatian Slovenian Suomeksi Svenska Tiểng Việt Türkçe Български РУССКИЙ العربية 한글 日本語 汉语 Please note that the language selection displayed here is ONLY for the instructions on the Survey Center pages. When the survey begins, if the survey is not translated in your preferred language, you will be given the opportunity to select from a list of available languages. If your preferred language is not available, please contact the person who requested the survey. Profiles International is a subsidiary of John WILEY & Sons, Inc. | © 2023 John Wiley & Sons, Inc. All rights reserved. * Privacy Policy (updated Jan 21 2022) Loading...