www.profilessc.com Open in urlscan Pro
2606:4700:4400::6812:27dd  Public Scan

Submitted URL: https://us-east-2.protection.sophos.com/?d=profilessc.com&u=aHR0cHM6Ly93d3cucHJvZmlsZXNzYy5jb20vTWFpbi5hc3B4P2tjLTc0NjI5NjY=&i=NjNhYzFjM...
Effective URL: https://www.profilessc.com/Main.aspx?kc-7462966
Submission: On September 19 via manual from MY — Scanned from DE

Form analysis 4 forms found in the DOM

Name: aspnetFormPOST ./Main.aspx?kc-7462966

<form name="aspnetForm" method="post" action="./Main.aspx?kc-7462966" 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="/wEPDwUJMTk1MjYzMTY2D2QWAmYPZBYEZg9kFgICCg9kFgICAQ8WAh4EVGV4dAVJPHNjcmlwdD4NCnZhciBFUlJPUl9NQVRDSFdBUk5JTkcgPSAnUGFzc3dvcmRzIGRvIG5vdCBtYXRjaCc7DQoNCjwvc2NyaXB0PmQCAg9kFgoCAQ9kFgICAQ9kFgICAQ9kFgYCAw8WAh4Dc3JjBTwvR2V0Q29icmFuZC5hc3B4P3BhcmVudD04OTFjNmRhMy02YWRjLTRjMDYtODM1ZS01MjE5MjljZjJlMTFkAgUPFgQeCWlubmVyaHRtbAUhUG93ZXJlZCBieSBQcm9maWxlcyBJbnRlcm5hdGlvbmFsHgdWaXNpYmxlZ2QCBw9kFgICAQ9kFgQCAw9kFggCAQ8WAh8CBQRIZWxwZAIDDw8WAh8ABQRIZWxwZGQCBQ8PFgIfAAUFQ2xvc2VkZAIHDxYCHwAFtgQ8ZGl2IGNsYXNzPSdwcmZIZWxwVGl0bGUnPkNhbmRpZGF0ZSBQYXNzd29yZCBDcmVhdGlvbiBQYWdlPC9kaXY+PGRpdiBjbGFzcz0ncHJmSGVscFNlY3Rpb24nPlBhc3N3b3JkIENyZWF0aW9uPC9kaXY+PGRpdiBjbGFzcz0ncHJmSGVscFBhcmEnPkVudGVyIGEgcGFzc3dvcmQgdGhhdCB3aWxsIGJlIGVhc3kgZm9yIHlvdSB0byByZW1lbWJlci4gVGhpcyBwYXNzd29yZCBpcyByZXF1aXJlZCBmb3IgcmUtZW50cnkgdG8gdGhlIHNpdGUuIFBhc3N3b3JkIHJlcXVpcmVtZW50cyBhcmUgYSBtaW5pbXVtIG9mIHNpeCBjaGFyYWN0ZXJzIHdpdGggb25lIG9yIG1vcmUgbGV0dGVycyBhbmQgb25lIG9yIG1vcmUgbnVtYmVycy4gQ2hhcmFjdGVycyBhbGxvd2VkIGluY2x1ZGU6IEEtWiwgMS05LCBhbmQgISIiIyQlJicoKSorWywtXS4vX2A6Ozw9Pj9Ae3x9fi4gU3BhY2VzIGFyZSBub3QgYWxsb3dlZC48L2Rpdj5Db250YWN0IEJlbmphbWluIE5HIGJlbmphbWluQHRyYWluaW5nLWJyaWRnZS5jb20gZm9yIGFkZGl0aW9uYWwgc3VwcG9ydDxkaXYgY2xhc3M9J3ByZkV4dHJhQ29udGFjdEluZm8nPjwvZGl2PmQCBQ8WAh8DaGQCAw9kFgICAQ9kFgICAQ9kFgICAQ8PFgQeCENzc0NsYXNzBRd3cmFwIHdyYXBfcHJlQXNzZXNzbWVudB4EXyFTQgICZBYEAgMPFgIfA2dkAg0PFgIfA2dkAgUPZBYCAgEPZBYCAgEPZBYCAgUPFgQeBGhyZWYFFX4vUHJpdmFjeVBvbGljeUMuYXNweB8CBSRQcml2YWN5IFBvbGljeSAodXBkYXRlZCBKYW4gMjEgMjAyMilkAgkPFgIeA2FsdAUHTG9hZGluZ2QCEQ9kFgJmD2QWAmYPZBYCAgEPZBYEAgEPFgIfAAUHTG9hZGluZ2QCAw8PFgYeCEltYWdlVXJsBRMvSW1hZ2VzL3NwaW5uZXIuZ2lmHwQFC01pZGRsZUFsaWduHwUCAmRkZPRz5czWKj72HySojdeV2CwGY+Zb">
  <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="/wEdADuZaDnoFNdi9OznHzhQ3NuCMRlqrnAdgWUznrylEDrbbVyFtraW8N69g7MeRnYSnARq/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/wBXd9Aw9bYjjb47+uF7Zh37GS/EzYL5h5VvCUDa">
  <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="/GetCobrand.aspx?parent=891c6da3-6adc-4c06-835e-521929cf2e11" id="prf_main1_header_imgBrandLogo" itemprop="logo">
            <div id="prf_main1_header_divPoweredBy" class="logoText">Powered by Profiles International</div>
          </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 !""#$%&amp;'()*+[,-]./_`:;&lt;=&gt;?@{|}~. Spaces are not allowed.</div>Contact Benjamin NG benjamin@training-bridge.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>&nbsp;<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>&nbsp;<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, Ir. Ts. Zuraimi Alias</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">&nbsp;</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=='' &amp;&amp; ''.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: 78.0469px;"></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 &amp; Sons, Inc. | © 2023 John Wiley &amp; 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">&nbsp;</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">&nbsp;</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: form4POST

<form id="form4" name="form4" action="" method="post">
  <input type="hidden" id="PACSession" name="PACSession" value="">
</form>

Text Content

Powered by Profiles International

 * 
 * 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 Benjamin NG benjamin@training-bridge.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, IR. TS. ZURAIMI ALIAS

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...