//==========================================================================
// Function: validateOrderForm(this)
// Description : Validates email form to make sure required fields entered
// usage: <form action="/cgi-bin/dbform.cgi" method="POST" onsubmit="return checkform(this);">
// note: June 30, 2001
// Author: Ivan Svetic - D.J.'s Micro-Info Inc. (www.deejays.com)


function checkform ( form )
{
 
 	if (form.ContactName.value == "" || form.ContactName.value == null) {
        alert( "Contact Name is a required field.  Please re-submit the form including your Contact Name." );
        form.ContactName.focus();
        return false ;
    }
	
	if (form.Address.value == "" || form.Address.value == null) {
        alert( "Address is a required field.  Please re-submit the form including your Address." );
        form.Address.focus();
        return false ;
    }
	
	if (form.City.value == "" || form.City.value == null) {
        alert( "City is a required field.  Please re-submit the form including your City." );
        form.City.focus();
        return false ;
    }
	
	if (form.ProvinceState.value == "" || form.ProvinceState.value == null) {
        alert( "State is a required field.  Please re-submit the form including your State." );
        form.ProvinceState.focus();
        return false ;
    }
	
	if (form.Country.value == "" || form.Country.value == null) {
        alert( "Country is a required field.  Please re-submit the form including your Country1." );
        form.Country.focus();
        return false ;
    }	
	
	
	if (form.Postal_Code.value == "" || form.Postal_Code.value == null) {
        alert( "Zip Code is a required field.  Please re-submit the form including your Zip Code." );
        form.Postal_Code.focus();
        return false ;
    }	
	
	if (form.Phone.value == "" || form.Phone.value == null) {
        alert( "Phone is a required field.  Please re-submit the form including your Phone Number." );
        form.Phone.focus();
        return false ;
    }
	
	if (form.Email.value == "" || form.Email.value == null) {
        alert( "Email is a required field.  Please re-submit the form including your Email address." );
        form.Email.focus();
        return false ;
    }
	
	// test if valid email address, must have @ and .
	var checkEmail = "@.";
	var checkStr = form.Email.value;
	var EmailValid = false;
	var EmailAt = false;
	var EmailPeriod = false;
	
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkEmail.length;  j++)
		{
			if (ch == checkEmail.charAt(j) && ch == "@")
				EmailAt = true;
			if (ch == checkEmail.charAt(j) && ch == ".")
				EmailPeriod = true;
	  		if (EmailAt && EmailPeriod)
				break;
	  		if (j == checkEmail.length)
				break;
		}
	
	// if both the @ and . were in the string
	if (EmailAt && EmailPeriod)
	{
		EmailValid = true
		break;
	}
	}

	if (!EmailValid)
	{
		alert("The \"email\" field must contain an \"@\" and a \".\".");
		form.Email.focus();
		return false;
	}
	
	if (form.Qty_5VideoSet.value == 0 && form.Qty_Workbooks.value == "0" && form.Qty_DVDSet.value == "0"){
		alert( "You haven't selected anything to order.  Please change the QTY field of either the videos or workbook and resubmit the form." );
		form.Qty_5VideoSet.focus();
		return false;
	}
	
	// only allow numbers to be entered
	var checkOK = "0123456789";
	var checkStr = form.Qty_5VideoSet.value;
	var allValid = true;
	var allNum = "";
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
				if (ch == checkOK.charAt(j))
					break;
				if (j == checkOK.length)
				{
					allValid = false;
					break;
				}
				if (ch != ",")
					allNum += ch;
			}
		if (!allValid)
		{
			alert("Please enter only digit characters in the \"QTY\" field.");
			form.Qty_5VideoSet.focus();
			return (false);
		}
		
		// only allow numbers to be entered
	var checkOK = "0123456789";
	var checkStr = form.Qty_Workbooks.value;
	var allValid = true;
	var allNum = "";
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
				if (ch == checkOK.charAt(j))
					break;
				if (j == checkOK.length)
				{
					allValid = false;
					break;
				}
				if (ch != ",")
					allNum += ch;
			}
		if (!allValid)
		{
			alert("Please enter only digit characters in the \"QTY\" field.");
			form.Qty_Workbooks.focus();
			return (false);
		}

	
			
	if (form.CreditCardNumber.value == null || form.CreditCardNumber.value == "") {
		alert( "Credit Card Number is a required field.  Please re-submit the form including the Credit Card Number." );
		form.CreditCardNumber.focus();
		return false;
	}	
	
	if (form.NameonCard.value == null || form.NameonCard.value == "") {
		alert( "Name on Card is a required field.  Please re-submit the form including the Cardholder Name." );
		form.NameonCard.focus();
		return false;
	}	
		
	
		    
	return true ;
}

//===========================================================================
