﻿var digits = ['1','2','3','4','5','6','7','8','9','0'];
var alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];
var weakpass = ['qwerty','asdfgh','zxcvbn','password'];
var wmsg = "Паролата е твърде слаба.Използвайте комбинация от букви,цифри и специални символи(!,@,#,$,%,^,&,(,),_,-,.)";
function onRPassCheck() { 
 if (!weakCheck("runame","pass")) {
  alert(wmsg);
  document.getElementById("cpass").value = "";
  document.getElementById("pass").value = "";
  document.getElementById("pass").focus();
  return false;
 }
 return true;
}
function onPPassCheck() {
 var opass = document.getElementById("opass").value;
 var npass = document.getElementById("npass").value;
 if (opass.length  == 0 ||  npass.length  == 0 ) return true;
 if (!weakCheck("nickname","npass")) {
  alert(wmsg);
  document.getElementById("cnpass").value = "";
  document.getElementById("npass").value = "";
  document.getElementById("npass").focus();
  return false;
 }
 return true;
}
function weakCheck(unameid,passid) {
 var ps = document.getElementById(passid).value;
 var uname = document.getElementById(unameid).value;
 ps = ps.toLowerCase();
 uname = uname.toLowerCase();
 if (ps == uname) return false;
 var count = 0;
 var whole = false;
 for(var i=0;i<digits.length;i++) {
    for(var j=count;j<ps.length;j++) {
     if (digits[i] == ps.substr(j,1) ) {
	   count++; whole = true;
	  break;
	 } else { 
	  whole = false; count = 0;
	 }
   }
 }
 if ( ps.length == count) return false;  
 var count = 0;
 var whole = false;
 for(var i=digits.length-1;i>=0;i--) {
    for(var j=count;j<ps.length;j++) {
     if (digits[i] == ps.substr(j,1) ) {
	   count++; whole = true;
	  break;
	 } else { 
	  whole = false; count = 0;
	 }
   }
 }
 if ( ps.length == count) return false;
 var sequence = true;
 var fletter = ps.substr(0,1);
 for(var j=0;j<ps.length;j++) {
  if (fletter != ps.substr(j,1) ) { sequence = false; break; } 
 }
 if (sequence)  return false;
 //--> Alphabet
 var count = 0;
 var whole = false;
 for(var i=0;i<alphabet.length;i++) {
    for(var j=count;j<ps.length;j++) {
     if (alphabet[i] == ps.substr(j,1) ) {
	   count++; whole = true;
	  break;
	 } else { 
	  whole = false; count = 0;
	 }
   }
 }
 if ( ps.length == count) return false;

 var count = 0;
 var whole = false;
 for(var i=alphabet.length-1;i>=0;i--) {
    for(var j=count;j<ps.length;j++) {
     if (alphabet[i] == ps.substr(j,1) ) {
	   count++; whole = true;
	  break;
	 } else { 
	  whole = false; count = 0;
	 }
   }
 }
 if ( ps.length == count) return false;
 var weak = false;
 for(var i=0;i<weakpass.length;i++) {
   if (weakpass[i] == ps) { weak = true; break; }
 }
 if (weak)return false;
 return true;
}
