function doSignOn() {
	var formPOST = document.formPOST;
	if (validateSignOn()) {
		formPOST.action += "?action=signOn"
		formPOST.submit();
	}
}

function doSignOff() {
	var formPOST = document.formPOST;
	formPOST.action += "?action=signOff"
	formPOST.submit();
}

function doSend() {
	var formPOST = document.formPOST;
	if (validateSend()) {
		formPOST.action += "?action=send";
		formPOST.submit();
	}
}

function doChange() {
	var formPOST = document.formPOST;
	if (validateChange()) {
		formPOST.action += "?action=change"
		formPOST.submit();
	}
}

function validateSignOn() {
	var formPOST = document.formPOST;
	var errors = "";
	var unsafe =   String("We cannot accept these characters: ( < > / \ ' = ; -- ).\n\nPlease correct the following fields:\n");// this string is 98 characters long

    // read form values
	var username = String(formPOST.username.value);
	var password = String(formPOST.password.value);

    // test for required inputs
	if (username.length < 4)
		errors += "- Username must be at least 4 characters long.\n";
	if (password.length < 4)
		errors += "- Password must be at least 4 characters long.\n";

    // test for illegal characters in input
	if (!safetyTest(username))
		unsafe += "- Username\n";
	if (!safetyTest(password))
		unsafe += "- Password\n";

    // compile test results
	if (unsafe.length > 98)
		errors += unsafe;

	// display error message
	if (errors.length > 0) {
		window.alert("Errors: \n------------------------------------------\n" + errors);
		return false;
	}

	return true;
}

function validateSend() {
	var formPOST = document.formPOST;
	var errors = "";
	var unsafe =   String("We cannot accept these characters: (<> / \ ' = ; --). Please correct the following fields:\n");// this string is 91 characters long

    // read form values
	var usernameSend = Trim(formPOST.usernameSend.value);
	
    // test for required inputs
	if (usernameSend.length < 4)
		errors += "Username must contain at least 4 characters.\n";

    // test for illegal characters in input
	if (!safetyTest(usernameSend))
		unsafe += "- Username\n";

	// display error message
	if (errors.length > 0) {
		window.alert("Errors: \n------------------------------------------\n" + errors);
		return false;
	}

	return true;
}

function validateChange() {
	var formPOST = document.formPOST;
	var errors = "";
	var unsafe =   String("We cannot accept these characters: (<> / \ ' = ; --). Please correct the following fields:\n");// this string is 91 characters long

    // read form values
	var usernameChange  = String(formPOST.usernameChange.value);
	var passwordOld     = String(formPOST.passwordOld.value);
    var passwordNew     = String(formPOST.passwordNew.value);
    var passwordConfirm = String(formPOST.passwordConfirm.value);


    // test for required inputs
	if (usernameChange.length < 4)
		errors += "Username must contain at least 4 characters.\n";
	if (passwordOld.length < 4)
		errors += "Current Password must contain at least 4 characters.\n";
	if (passwordNew.length < 4)
		errors += "New Password must contain at least 4 characters.\n";
	if (passwordConfirm != passwordNew)
		errors += "Confirm New Password doesn't match New Password.\n";

    // test for illegal characters in input
	if (!safetyTest(usernameChange))
		unsafe += "- Username\n";
	if (!safetyTest(passwordOld))
		unsafe += "- Current Password\n";
	if (!safetyTest(passwordNew))
		unsafe += "- New Password\n";

    // compile test results
	if (unsafe.length > 91)
		errors += unsafe;

	// display error message
	if (errors.length > 0) {
		window.alert("Errors: \n------------------------------------------\n" + errors);
		return false;
	}

	return true;
}

function ifEnterPressed(event, funcname) {
    var frm;
    if (document.formPOST)
        frm = document.formPOST;
    else
        frm = document.forms[0];
    if ((isExplorer() && window.event.keyCode == 13) || event.which == 13) {
        switch (funcname) {
        case 'SignOn':
            doSignOn();
            break;
        case 'Send':
            doSend();
            break;
        case 'Change':
            doChange();
            break;
        }
    }
}

function displaySignOn() {
    HideElement('forgotpassword');
    HideElement('changepassword');
    HideElement('signontab');
    DisplayBlock('signon');
    DisplayInline('forgotpasswordtab');
    DisplayInline('changepasswordtab');
    if (document.formPOST.username)
        document.formPOST.username.focus();
    return false;
}

function displaySend() {
    HideElement('changepassword');
	HideElement('signon');
	HideElement('forgotpasswordtab');
	DisplayBlock('forgotpassword');
	DisplayInline('signontab');
	DisplayInline('changepasswordtab');
	if (document.formPOST.usernameSend)
	    document.formPOST.usernameSend.focus();
	return false;
}

function displayChange() {
    HideElement('forgotpassword');
	HideElement('signon');
	HideElement('changepasswordtab');
	DisplayBlock('changepassword');
	DisplayInline('forgotpasswordtab');
	DisplayInline('signontab');
	if (document.formPOST.usernameChange)
	    document.formPOST.usernameChange.focus();
	return false;
}
