﻿function checkRequestForm() {



	var error = 0;
	var alert_msg = "There are missing fields that are required:\n\n";

	// clear out any Yellow fields from previous errors
	document.basicform.first_name.className = '';
	document.basicform.last_name.className = '';
	document.basicform.card_number.className = '';
	document.basicform.email_address.className = '';


	// the fields work backwards to forwards to the top-most field is selected
	if (!echeck(document.basicform.email_address.value) || document.basicform.email_address.value == "" ) {
		error = 1;
		alert_msg = alert_msg + "- Invalid E-mail Address\n";
		document.basicform.email_address.className='hilight-field';
		document.basicform.email_address.focus();
	}


	
	if (document.basicform.card_number.value == "" ) {
		error = 1;
		alert_msg = alert_msg + "- Your Library Card Number\n";
		document.basicform.card_number.className='hilight-field';
		document.basicform.card_number.focus();
	}
	
	// check if the card number is 14 numbers (no letters)
	card_number = document.basicform.card_number.value;
	card_number_chars = card_number.length;
	
	if ( card_number.length != '14' || isNaN(card_number) ) {
		error = 1;
		alert_msg = alert_msg + "- Library card number must be 14 digits\n";
		document.basicform.card_number.className='hilight-field';
		document.basicform.card_number.focus();
	}
	

	if (document.basicform.last_name.value == "") {
		error = 1;
		alert_msg = alert_msg + "- Your Last Name\n";
		document.basicform.last_name.className='hilight-field';
		document.basicform.last_name.focus();
	}
	
	
	if (document.basicform.first_name.value == "") {
		error = 1;
		alert_msg = alert_msg + "- Your First Name\n";
		document.basicform.first_name.className='hilight-field';
		document.basicform.first_name.focus();
	}
	

	if (error) {
		alert(alert_msg);
		return false;
	}
		
	// else everything is in order
	return true;

}



function echeck(str) {

	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	
	if (str.indexOf(at)==-1) {
		// alert("Invalid E-mail ID");
		return false;
	}
	
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) {
		// alert("Invalid E-mail ID");
		return false;
	}
	
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) {
		// alert("Invalid E-mail ID");
		return false;
	}
	
	if (str.indexOf(at,(lat+1))!=-1) {
		// alert("Invalid E-mail ID");
		return false;
	}
	
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) {
		// alert("Invalid E-mail ID");
		return false;
	}
	
	if (str.indexOf(dot,(lat+2))==-1) {
		// alert("Invalid E-mail ID");
		return false;
	}
	
	if (str.indexOf(" ")!=-1) {
		// alert("Invalid E-mail ID");
		return false;
	}
	
	return true					
}

