///THIS IS FOR LOGIN


function md5auth_new(pass,hiddenpass,ran)
		{
				var password = document.getElementById(pass).value;
				if (password.length <= 0)
					{
						document.getElementById(pass).value = "";
						return 0;
					}
				var hash_pass1= hex_md5(password);
				var hash_pass2=hash_pass1+ran ;
				var hash_pass3=hex_md5(hash_pass2);
				
				document.getElementById(hiddenpass).value="";
				document.getElementById(hiddenpass).value = hash_pass3;
				document.getElementById(pass).value ="********";
				//alert(pass);
				//alert(document.getElementById(pass).value);
				return true;
}

////FOR ADD USER & CHANGE PASSWORD
		function md5auth_save(pass,hiddenpass,status)
		{			
				document.getElementById(hiddenpass).value="";	
				document.getElementById(status).value = "";
				var password = document.getElementById(pass).value;
				var passed = validatePassword(password, {
															length:   [8, Infinity],
															lower:    1,
															upper:    1,
															numeric:  1,
															special:  1,
															badWords: ["password","Poorna23#"],
															badSequenceLength: 4
	
														});

				if (password.length <= 0 || passed==false)
					{
					alert("Password must be 8 character long & should have least 1 numeric, 1 upper case, 1 lower case and 1 special character.");
						document.getElementById(pass).value = "";
						document.getElementById(status).value = "false";
						return 0;
					}
					else
					{
					document.getElementById(status).value = "true";
					}
					
				var hash_pass1= hex_md5(password);
				
								
				document.getElementById(hiddenpass).value="";
				document.getElementById(hiddenpass).value = hash_pass1;				
				document.getElementById(pass).value ="********";
				//alert(pass);
				//alert(document.getElementById(pass).value);
							return true;
}

function StrongPass()
		{
				var password = "password";
var passed = validatePassword(password, {
	length:   [8, Infinity],
	lower:    1,
	upper:    1,
	numeric:  1,
	special:  1,
	badWords: ["password", "steven", "levithan"],
	badSequenceLength: 4
	
});

}


/*
	Password Validator 0.1
	(c) 2007 Steven Levithan <stevenlevithan.com>
	MIT License
*/

function validatePassword (pw, options) {
	// default options (allows any password)
	var o = {
		lower:    0,
		upper:    0,
		alpha:    0, /* lower + upper */
		numeric:  0,
		special:  0,
		length:   [0, Infinity],
		custom:   [ /* regexes and/or functions */ ],
		badWords: [],
		badSequenceLength: 0,
		noQwertySequences: false,
		noSequential:      false
	};

	for (var property in options)
		o[property] = options[property];

	var	re = {
			lower:   /[a-z]/g,
			upper:   /[A-Z]/g,
			alpha:   /[A-Z]/gi,
			numeric: /[0-9]/g,
			special: /[\W_]/g
		},
		rule, i;

	// enforce min/max length
	if (pw.length < o.length[0] || pw.length > o.length[1])
		return false;

	// enforce lower/upper/alpha/numeric/special rules
	for (rule in re) {
		if ((pw.match(re[rule]) || []).length < o[rule])
			return false;
	}

	// enforce word ban (case insensitive)
	for (i = 0; i < o.badWords.length; i++) {
		if (pw.toLowerCase().indexOf(o.badWords[i].toLowerCase()) > -1)
			return false;
	}

	// enforce the no sequential, identical characters rule
	if (o.noSequential && /([\S\s])\1/.test(pw))
		return false;

	// enforce alphanumeric/qwerty sequence ban rules
	if (o.badSequenceLength) {
		var	lower   = "abcdefghijklmnopqrstuvwxyz",
			upper   = lower.toUpperCase(),
			numbers = "0123456789",
			qwerty  = "qwertyuiopasdfghjklzxcvbnm",
			start   = o.badSequenceLength - 1,
			seq     = "_" + pw.slice(0, start);
		for (i = start; i < pw.length; i++) {
			seq = seq.slice(1) + pw.charAt(i);
			if (
				lower.indexOf(seq)   > -1 ||
				upper.indexOf(seq)   > -1 ||
				numbers.indexOf(seq) > -1 ||
				(o.noQwertySequences && qwerty.indexOf(seq) > -1)
			) {
				return false;
			}
		}
	}

	// enforce custom regex/function rules
	for (i = 0; i < o.custom.length; i++) {
		rule = o.custom[i];
		if (rule instanceof RegExp) {
			if (!rule.test(pw))
				return false;
		} else if (rule instanceof Function) {
			if (!rule(pw))
				return false;
		}
	}

	// great success!
	return true;
}




function checkPass(pass,repass)
{
	if(document.getElementById(pass).value!=document.getElementById(repass).value)
	{
		alert("Password Does not match");
		return false;
	}
	else
	{
		return true;
	}
}




