var Parameters = new Object ();

function init () {
	var query = location.search.substr (1, location.search.length - 1);
	var params = query.split ("&");
	for (var i=0; i<params.length; i++) {
		var param = params[i];
		if (param.indexOf ("=") > 0) {
			var pair = param.split ("=");
			Parameters[pair[0]] = pair[1];
		}
	}
	if (Parameters.weakPassword && Parameters.weakPassword === "1" && Parameters.username && Parameters.username != "") {
		$("loginForm").style.display = "none";	
		$("passwordForm").style.display = "block";
		$("form-headline").innerHTML = "Weak Password!";
		$("password-username").value = Parameters.username;
	}
	if (Parameters.invalidPassword === "1") {
		Element.show ("password-error-message");
		$("password-error-message").innerHTML = "Your old password failed the password check. Please double check your old password.";
	}
	if (Parameters.message && Parameters.message != "") {
		$("form-headline").innerHTML = decodeURIComponent (Parameters.message);
	}
}

function validatePasswordForm () {
	thisForm = $("passwordForm");
	var errMsg = "";
	if (thisForm.oldPassword.value == "") {
		alert("You must supply your old password.");
		return false;
	}
	
	if (thisForm.newPassword.value != thisForm.confirmPassword.value) {
		alert("Password and Confirmation do not match.");
		return false;
	}
	
	if (errMsg != "") {
		alert (errMsg);
		return false;
	}
	
	var flag = 0;
	var strng = thisForm.newPassword.value;
	if (strng != "") {
		if ((strng.length < 6)) {
			alert("Your password must be at least 6 characters.");
			return false;
		}
		if ((/[A-Z]/.test(strng))) {
			flag += 1;
		}
		if ((/[a-z]/.test(strng))) {
			flag += 1;
		}
		if ((/\d/.test(strng))) {
			flag += 1;
		}
		if ((/\W/.test(strng))) { 
			flag += 1;
		}
		if (flag < 3) {
			alert("Your password must have 3 of the 4 following character types present:\nUppercase letters (A-Z)\nLowercase letters (a-z)\nNumbers (0-9)\nPunctuation (!@#$%^&*()-_+=`~{ }[ ]\|?/< >,.) ");
			return false;
		}
	}
	else {
		alert("Your password must be at least 6 characters.");
		return false;
	}

	thisForm.submit ();
	return false;
}

Event.observe (window, "load", init);