// converts a less than 10 number bin number. 

function required_fields(field1,fields2,name1,name2){


alert("got req");
	
	if (field1.value.length + field2.value.length == 0)
	
	{
		alert("Either " +name1 + " or " +name2 + " is required.");
		return(false);

	}
		
return(true);
}


function validate(form1){

alert("got val");

	required_fields(form1.bname,form1.bin,'Business Name','Account Number');
	required_fields(form1.phone,form1.email,'Phone Number','Email Address');
	
		
return(true);
}



// phone and zip test:

function goodPhoneZip(str){

// goodPhoneZip returns boolean if a field

// is acceptable as phone or zipcode.

// ie., 0-9 or dash accepted. 

  var p=0;

  var ok= true;

  var ch= "";

  while (ok && p<str.length)

  {

    ch= str.charAt(p);

    if ('0'<=ch && ch<='9'){

      p++;

	}

	else if (ch == '-'){

      p++;

	//alert ("current character: " + ch);

    }

	else

      ok= false; 

  }

  return ok;

}



function ValidateEmail(thisAddress) {

/* 

	the author sez this regex is incorrect, but it works better 

	than any other one I found. all the others i tried were

	incorrectly failing. Maybe this is not perfect, but good enuf

	url: http://www.quirksmode.org/js/mailcheck.html

*/

	var ok = "";

	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;



	if (filter.test(thisAddress)){

		ok = true;

	} 

	else ok = false;	

	

	return ok;

}







//validate bin on search results screen only

function validate_bin_only(form)

{

	var digit = /\D/g;  //regex digit (global)





	if (form.BIN.value.length > 0) {

		if (digit.test(form.BIN.value)) 

		{

		form.BIN.value = '';

		alert ("Acct Number must be NUMERIC.");

		form.BIN.focus();			

		return false;

		}

		else

		{

     	form.BIN.value = check_bin(form.BIN.value);

		}

	}



	else {

			alert("Acct Number must be entered");

			return false;

		}

}









//validate new bin only

function validate_bin(form)

{

	var digit = /\D/g;  //regex digit (global)





	if (form.NEWBIN.value.length > 0) {

		if (digit.test(form.NEWBIN.value)) 

		{

		form.NEWBIN.value = '';

		alert ("Acct Number must be NUMERIC.");

		form.NEWBIN.focus();			

		return false;

		}

		else

		{

     	form.NEWBIN.value = check_bin(form.NEWBIN.value);

		}

	}



	else {

			alert("Acct Number must be entered");

			return false;

		}

}



//validate form data:

function validate(form){

	var digit = /\D/g;  //regex digit (global)



	if (digit.test(form.BIN.value)) {

		form.BIN.value = '';

		alert ("Acct Number must be NUMERIC.");

		form.BIN.focus();			

		return false;



	}

	else

	{

	if (form.BIN.value.length > 0) {

    	form.BIN.value = check_bin(form.BIN.value);

		// alert(parseInt(form.BIN.value,10));

	/*	if (parseInt(form.BIN.value,10) == 0){

			alert("Acct Number must be greater than 0");

			return false;

		}

		*/

	}

	}

	if (form.NEWBIN.value.length > 0) {

    	form.NEWBIN.value = check_bin(form.NEWBIN.value);}

	

// check for criteria existance

	if (document.form1['subdate']) {   //check if subdate.value exists (only on admin)

		if (((form.BIN.value.length + form.EMPLOYER_NAME.value.length + form.PREPARER_FNAME.value.length + form.PREPARER_LNAME.value.length + form.PREPARER_EMAIL.value.length + form.subdate.value.length + form.recdate.value.length + form.YEAR_FROM.value.length + form.YEAR_TO.value.length ) == 0) && (form.status.value == "0"  && form.source.value =="0")){

		//	alert(form.status.value);

			form.BIN.focus();

			alert("At least one criteria must be entered");

			return false;

		}

	}

	

	else {  //else subdate field NOT present, don't test value:

		if (((form.BIN.value.length + form.EMPLOYER_NAME.value.length + form.PREPARER_FNAME.value.length + form.PREPARER_LNAME.value.length + form.PREPARER_EMAIL.value.length + form.recdate.value.length + form.YEAR_FROM.value.length + form.YEAR_TO.value.length ) == 0) && (form.status.value == "0"  && form.source.value == "0")){

		//	alert(form.status.value);

			form.BIN.focus();

			alert("At least one criteria must be entered");

			return false;

		}

	}

	

/*	if (form.BIN.value == 0 || form.BIN.value == ""){

		return false;

	}

	else 

*/

// if entered quarter, must select a year

	if ((form.QUARTER_FROM.value > "0") && (form.YEAR_FROM.value.length == 0)) {

			alert("Year from must be selected when quarter is selected");

			return false;}

// if entered quarter, must select a year

	if ((form.YEAR_FROM.value.length > 0) && (form.QUARTER_FROM.value == "0")) {

			alert("Quarter from must be selected when Year is selected");

			return false;}

	if ((form.QUARTER_TO.value > "0") && (form.YEAR_TO.value.length == 0)) {

			alert("Year TO must be selected when quarter is selected");

			alert(form.QUARTER_TO.value, form.YEAR_TO.value);

			return false;}

// if entered quarter, must select a year

	if ((form.YEAR_TO.value.length > 0) && (form.QUARTER_TO.value == "0")) {

			alert("Quarter TO must be selected when Year is selected");

			return false;}

	// if employer, must be > 2 char

	if (form.EMPLOYER_NAME.value.length > 0 && form.EMPLOYER_NAME.value.length < 2){

		alert("Employer name must be at least 2 characters");

		return false;

	}

	// if preparer, must be > 2 char

	else if (form.PREPARER_LNAME.value.length > 0 && form.PREPARER_LNAME.value.length < 2){

		alert("Preparer last name must be at least 2 characters");

		return false;

	}

	//if email, validate entry - do not validate email

//	else if (form.PREPARER_EMAIL.value.length > 0 && //!ValidateEmail(form.PREPARER_EMAIL.value)){

//		alert("Preparer email address is not valid");

//		return false;	

//	}

	

//	alert(form.BIN.value);





}



function validatex(form){



	if (form.BIN.value.length > 0) {

    form.BIN.value = check_bin(form.BIN.value);}

	

	//if (form.NEWBIN.value.length > 0) {

    //form.NEWBIN.value = check_bin(form.NEWBIN.value);}

	

	if ((form.BIN.value.length + form.Preparer_Name.value.length + form.Preparer_Email.value.length + form.Preparer_Phone.value.length + form.YEAR_FROM.value.length) == 0)

	{

		alert("At least one criteria must be entered");

		return false;

	}

	

//	alert(form.BIN.value);



}



//validate form data:

function validate_all(form){

//alert(form.SHIFT_NUMBER.value + " " + form.QUARTER_TO.value);





var rvalue = true;



if (form.YEAR_FROM.value > form.YEAR_TO.value){

	alert(" The (From Year) is larger to the (to year). ");

	form.YEAR_TO.focus();

	rvalue = false;

}

else if (form.QUARTER_FROM.value > form.QUARTER_TO.value && form.YEAR_FROM.value == form.YEAR_TO.value){

	alert("Entry (From Quarter) is larger than (To quarter). Please enter a value.");

	form.QUARTER_FROM.focus();

	rvalue = false;

}



else if (form.QUARTER_FROM.value == 0 && form.QUARTER_TO.value == 0){

	alert("No entry for (From Quarter) and (to quarter). Please enter a value.");	

	form.QUARTER_FROM.focus();

	rvalue = false;

}

else if (form.QUARTER_FROM.value == 0 ){

	alert("(Quarter from) was not entered . Please enter a (Quarter from).");

	form.QUARTER_FROM.focus();

	rvalue = false;

}

else if (form.QUARTER_TO.value  == 0 ){

	alert("(To Quarter ) was not entered . Please enter a (To Quarter).");

	form.QUARTER_TO.focus();

	rvalue = false;

}

else if (form.QUARTER_FROM.value  < 0 ){

	alert("(Quarter from) was not entered . Please enter a (Quarter from).");

	form.QUARTER_FROM.focus();

	rvalue = false;

}

else if (form.YEAR_FROM.value.length  == 0 ){

	alert("(Year from) was not entered . Please enter a (Year from).");

	form.YEAR_FROM.focus();

	rvalue = false;

}

else if (form.YEAR_TO.value.length  == 0 ){

	alert("(Year to) was not entered . Please enter a (Year to).");

	form.YEAR_TO.focus();

	rvalue = false;

}

else if (form.QUARTER_TO.value.length  == 0 ){

	alert("(Quarter to) was not entered . Please enter a (Quarter to).");

	form.QUARTER_TO.focus();

	rvalue = false;

}







return rvalue;

}


