﻿function checkString(s, e, minLength) {
	var myString = jQuery.trim(s.GetValue());
	s.SetValue(myString);
	if (minLength > 0 && myString.length < minLength) {
		e.isValid = false;
		e.errorText = 'This string must be a minimum of ' + minLength + ' characters';
	}
}
function checkStringWithMaxLength(s, e, minLength, maxLength) {
	var myString = jQuery.trim(s.GetValue());
	s.SetValue(myString);
	if (myString.length < minLength || myString.length > maxLength) {
		e.isValid = false;
		e.errorText = 'This string must be between ' + minLength + ' and ' + maxLength + ' characters in length.';
	}
}

function dateToString(aDate) {
	var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
	var myDate = new Date(aDate);
	return myDate.getDate() + ' ' + months[myDate.getMonth()] + ' ' + String(myDate.getFullYear()).substr(2);
}

var minPwdLength = 8;
var strongPwdLength = 10;

function UpdateIndicator() {
	var strength = GetPasswordStrength(edtPassword.GetText());

	var className;
	var message;
	if (strength == -1) {
		className = 'pwdBlankBar';
		message = "";
	} else if (strength == 0) {
		className = 'pwdBlankBar';
		message = "Too short";
	} else if (strength <= 0.2) {
		className = 'pwdWeakBar';
		message = "Weak";
	} else if (strength <= 0.6) {
		className = 'pwdFairBar';
		message = "Fair";
	} else {
		className = 'pwdStrengthBar';
		message = "Strong";
	}

	// update css and message
	var bar = document.getElementById("PasswordStrengthBar");
	bar.className = className;
	lbMessagePassword.SetValue(message);
}
function GetPasswordStrength(password) {
	if (password.length == 0) return -1;
	if (password.length < minPwdLength) return 0;

	var rate = 0;
	if (password.length >= strongPwdLength) rate++;
	if (password.match(/[0-9]/)) rate++;
	if (password.match(/[a-z]/)) rate++;
	if (password.match(/[A-Z]/)) rate++;
	if (password.match(/[!,@,#,$,%,^,&,*,?,_,~,\-,(,),\s,\[,\],+,=,\,,<,>,:,;]/)) rate++;
	return rate / 5;
}

function dontRecordTabOrReturn(evt) {
	var charCode = (evt.which) ? evt.which : event.keyCode
	if (charCode == 13 || charCode == 9)
		return false;

	return true;
}



