/* MediaPlus cmo33 Version cmo33B 10/12/06 17:30:42 delta js/login.js
** Copyright 2001 Publishing Business Systems, Inc.
** All Rights Reserved Worldwide.
*/
/* #168836 06.11.07 mickeyg Merge down cmo34 WR#164790.
** #164790 06.09.26 mickeyg Comment out too many login/password entered errors. 
** #168448 06.10.03 todd	Put accountNumber validation in validate.js function
** #167277 06.06.15 todd	Merge CMO 3.4b WR #167276 down to 3.3.
** #167275 06.06.15 todd	Remove validateEmail function so the one in 
**							validate.js will be used.
** #167137 06.06.02 todd	Remove replaced tabNext and checkLength functions.
** #139440 05.08.05 mickeyg RequireNumeric check.
** #160920 05.03.24 mickeyg Removed alert from WR#160905.
** #160905 05.03.23 mickeyg Fixed sendpassword stateinfo param; Added alert in 
**                          validateCMforgotpassword().
** #159472 05.02.24 mickeyg Add eval in checkLength(). 
** #156027 04.04.01 mickeyg CR#19586 Removed housenum numeric check
** #156027 04.03.26 mickeyg Added housenum validation and tabNext(), 
**							checkLength(), sendpassword().
** #149070 02.12.06 mickeyg Trim password 
** #       02.02.27 mickeyg Created (extracted from validate.js)
** js/login.js
** - Validation routines used for Login and Password pages 
** -------------------------------------------------------------------------- */

var pwdcount = 0;
var pwdErrorMsg;

function sendpassword(){
    location.href = 
		"passwd.html?stateInfo=" + escape(document.login.stateInfo.value) +
	    "&phone1=" + escape(document.login.phone1.value) +
        "&phone2=" + escape(document.login.phone2.value) +
        "&phone3=" + escape(document.login.phone3.value) +
        "&email=" + escape(document.login.email.value);
    return false;
}


//phone validation
var phonexp =  /^\d{7}$/

function checkPhoneNumber(errmsg) {
	var showAlert = true;

    if(errmsg == "no") {
        showAlert = false; 
    } 
    if (!isValid(phonexp,(document.forms[0].phone2.value + document.forms[0].phone3.value))) {
        if(showAlert) {
            alert("Enter a valid phone number.");
        }
        return false;
    }
	else {
        return true;
    }
}

function mycount(myfield) {
	if (myfield != "") {
		return pwdcount++; 
	}
}

// Distribution & Subscriber login validation
function validatecmLogin() {
	var myform = document.forms[0];
    var email = myform.email.value;
    var phone = myform.phone1.value + myform.phone2.value + myform.phone3.value;
    var accountNumber = myform.accountNum.value;
    var password = myform.password.value;
	var houseNumber;
	// distribution module 
	if (myform.requirenumeric) {
		var requirenumeric = myform.requirenumeric.value;
	}
	else {
		var requirenumeric;
	}

	// initialize variables
	pwdErrorMsg = "";
	pwdcount = 0;

	/* If we don't check for spaces, a user could login in using spaces for a
	   password which would match the database password value.
	   Refresh the screen and let account number/password handle the error.
    */
	/* At this point, we always expect password to be a field on the screen */
	isblank(password);
    if (whitespace == true) {
		password = '';
		myform.password.value = '';
	}
	else {
		mycount(password);
    }

	// clear out space only character entry
	isblank(accountNumber);
   	if (whitespace == true) {
		accountNumber = '';
		myform.accountNum.value = '';
	}
	
	// count number of 'passwords' entered 
	mycount(accountNumber);
	if (myform.housenumber) {
		houseNumber = myform.housenumber.value;
		// clear out space only character entry
		isblank(houseNumber);
    	if (whitespace == true) {
			houseNumber = '';
			myform.housenumber.value = '';
		}
		mycount(houseNumber);
	}

	// build password error message
	if (pwdcount == 0) {
		pwdErrorMsg = "Please enter one of the following fields: \n";
		// check for object existence and build associated error test
		builderrtext(myform.accountNum, "Account Number");
		builderrtext(myform.housenumber, "House Number");
		builderrtext(myform.password, "Password");
		if (pwdErrorMsg != "") {
			alert(pwdErrorMsg);
			return false;
		}
	}

	// Validate against expected data types
    if (phone != "") {
		if(!checkPhoneNumber()) {
        	return false;
        }
    }
    if (email != "") {
     	if(!validateEmail()) {
        return false;
        }
    }

    if ((accountNumber != "") && (requirenumeric != 'no')) {
		if (!validateAccountNumber(accountNumber)) {
			return false;
		}
    }
}

/* passwd.html */
function validateCMforgotpassword(myform) {
	var myform = document.forms[0];
	var email = myform.email.value;
    var phone = myform.phone1.value + myform.phone2.value + myform.phone3.value;

    if (phone != "") {
		if(!checkPhoneNumber()) {
        return false;
        }
    }
    if (email != "") {
     	if(!validateEmail()) {
        return false;
        }
    }
}
