var commonPasswords=new Array('password','pass','1234','1246');var numbers="0123456789";var lowercase="abcdefghijklmnopqrstuvwxyz";var uppercase="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var punctuation="!.@$£#*()%~<>{}[]";function checkPassword(password){var combinations=0;if(contains(password,numbers)>0){combinations+=10;}
if(contains(password,lowercase)>0){combinations+=26;}
if(contains(password,uppercase)>0){combinations+=26;}
if(contains(password,punctuation)>0){combinations+=punctuation.length;}
var totalCombinations=Math.pow(combinations,password.length);if(isCommonPassword(password)){totalCombinations=75000}
var timeInSeconds=(totalCombinations/200)/2;var timeInDays=timeInSeconds/86400
var lifetime=365;var percentage=timeInDays/lifetime;var friendlyPercentage=cap(Math.round(percentage*100),100);if(totalCombinations!=75000&&friendlyPercentage<(password.length*5)){friendlyPercentage+=password.length*5;}
var progressBar=document.getElementById("progressBar");progressBar.style.width=friendlyPercentage+"%";if(percentage>1){progressBar.style.backgroundColor="#3bce08";return;}
if(percentage>0.5){progressBar.style.backgroundColor="#ffd801";return;}
if(percentage>0.10){progressBar.style.backgroundColor="orange";return;}
if(percentage<=0.10){progressBar.style.backgroundColor="red";return;}}
function cap(number,max){if(number>max){return max;}else{return number;}}
function isCommonPassword(password){for(i=0;i<commonPasswords.length;i++){var commonPassword=commonPasswords[i];if(password==commonPassword){return true;}}
return false;}
function contains(password,validChars){count=0;for(i=0;i<password.length;i++){var char=password.charAt(i);if(validChars.indexOf(char)>-1){count++;}}
return count;}