/* MediaPlus cmo36 Version cmo36A 03/30/11 15:15:05 delta js/registration.js
** Copyright 2001 Publishing Business Systems, Inc.
** All Rights Reserved Worldwide.
*/
/* #186053 11.01.14 mickeyg Define variables and make sure fields exist.
** #183748 10.07.07 mickeyg	Merge up cmo35 WR#183594.
** #183594 10.05.21 mickeyg Use requireaccount.
** #183747 10.07.02 mickeyg	Merge up cmo35 WR#175436.
** #175436 10.05.21 mickeyg Use fieldcount for minimum # of fields validation.
** #182814 10.03.11 mickeyg Call getMessage(), getLabelText(), and valreqfields.
** #168449 07.03.16 todd	Merge CMO 3.3b WR#168448 up to 3.4.
** #168448 06.10.03 todd    Put accountNumber validation in validate.js function
** #168832 06.12.07 mickeyg Pass params to checkpwdlength; obsolete tab function
** #160027 06.10.02 mickeyg Check is house number field exists.
** #161592 06.09.21 mickeyg Updated phone references.
** #166066 06.03.25 todd	Identified as left behind
** #165666 06.03.08 robi	Merged 159865 up from 33.
** #159865 05.08.02 mickeyg	Addded RequireNumeric check.
** #161091 05.07.21 robi	Merged 161091 up from 33.
** #160965 05.03.29 mickeyg Added submitcount check; Validate account number
**              			and add myform var.
** #159742 05.01.04 mickeyg Created. 
** js/registration.js
** - validation routines used for Account Registration
** -------------------------------------------------------------------------- */

function init() {
	formObjFocus();
}

function valregistration(myform) {
	var errormsg= '';
	var fieldcount = document.forms[0].fieldcount.value;
	var findcount = 0;
	var accountnumber;
    var housenumber;
	var phonenumber;
	var zipcode;
	var lastname;
    var email;
    var newpwd;
    var confirmpwd;
	// comma-separated list of required form fields
    if ((myform.requireaccount) && 
	    (myform.requireaccount.value.toLowerCase() == 'yes')) {
		var reqfldlist = "accountnumber,email,newpwd,confirmpwd";
	}
	else {
		var reqfldlist = "email,newpwd,confirmpwd";
	}

    if (myform.accountnumber) {
    	accountnumber = trim(myform.accountnumber.value);
	}	
    if (myform.phonennumber) {
		phonenumber = trim(myform.phone.value);
	}	
    if (myform.housenumber) {
		housenumber = trim(myform.housenumber.value);
	}
    if (myform.zipcode) {
    	zipcode = trim(myform.zipcode.value);
	}
    if (myform.lastname) {
    	lastname = trim(myform.lastname.value);
	}
    email = trim(myform.email.value);
    newpwd = trim(myform.newpwd.value);
    confirmpwd = trim(myform.confirmpwd.value);

	if (accountnumber != '') {
		findcount++;
	}
	if (phonenumber != '') {
		findcount++;
	}
	if (housenumber != '') {
		findcount++;
	}
	if (zipcode != '') {
		findcount++;
	}
	if (lastname != '') {
		findcount++;
	}

	if (findcount < fieldcount ) {
		// Please enter at least [n] pieces of account information.
		alert(getMessage(1954, getMessage(7483)));
		myform.accountnumber.focus();
		return false;
	}

    // validate required fields
    errormsg = valreqfields(reqfldlist);
    if (errormsg != '') {
        alert(errormsg);
        return false;
    }

	// validate data format/type
	if (accountnumber != '') {
		if (myform.requirenumeric == undefined) {
        	if (!valAccountNumber(accountnumber)) {
            	return false;
            }
		}
	}

	if (phonenumber != '') {
		if(!checkPhoneNumber(myform.phone)){
   			return false;
		}
   	}
   	if (!valEmail()) {
   		return false;
   	}
   	if (myform.newpwd) {
		if (!checkpwdlength(myform.newpwd, myform.pwdlength)) {
   			return false;
		}
	}
   	if (newpwd != confirmpwd) {
		// Passwords do not match. Please enter again.");
   		alert(getMessage(1959));
    	myform.newpwd.select();
       	return false;
   	}
} // valregistration	

