//---------------------------------------------------------------------------------------------------------
// following are the front-end validators
//---------------------------------------------------------------------------------------------------------
function fValidateContact(){
	var theForm = document.forms.frmContact;
	var msg = '';
	var iCtr = 0;
	// validating fields
	if(fChkEmpty(theForm.txtName.value)){
		iCtr++;
		msg += iCtr + ' - Name is required.\n\n';
	}
	if(fChkEmpty(theForm.txtEmail.value)){
		iCtr++;
		msg += iCtr + ' - Email is required.\n\n';
	} else {
		if(!fChkEmail(theForm.txtEmail.value)){
			iCtr++;
			msg += iCtr + ' - The email entered is not valid.\n\n';
		}
	}
	if(theForm.rFormType[0].checked){
		if(fChkEmpty(theForm.taComments.value)){
			iCtr++;
			msg += iCtr + ' - Please enter a comment or question.\n\n';
		}
	}
	// determining submit status
	if(msg.length > 0){
		alert(msg);
		return false;
	} else {
		return true;
	}
}
function fValidateRegistration(){
	var theForm = document.forms.frmRegistration;
	var msg = '';
	var iCtr = 0;
	// validating fields
	if(fChkEmpty(theForm.txtName.value)){
		iCtr++;
		msg += iCtr + ' - Name is required.\n\n';
	}
	if(fChkEmpty(theForm.txtAddress.value)){
		iCtr++;
		msg += iCtr + ' - Address is required.\n\n';
	}
	if(fChkEmpty(theForm.txtCity.value)){
		iCtr++;
		msg += iCtr + ' - City is required.\n\n';
	}
	if(fChkEmpty(theForm.txtZip.value)){
		iCtr++;
		msg += iCtr + ' - Zip is required.\n\n';
	}
	if(fChkEmpty(theForm.txtPhone.value)){
		iCtr++;
		msg += iCtr + ' - Phone is required.\n\n';
	}
	if(fChkEmpty(theForm.txtEmail.value)){
		iCtr++;
		msg += iCtr + ' - Email is required.\n\n';
	} else {
		if(!fChkEmail(theForm.txtEmail.value)){
			iCtr++;
			msg += iCtr + ' - The email entered is not valid.\n\n';
		}
	}
	if(fChkOverMax(theForm.txtComments.value, 250)){
		iCtr++;
		msg += iCtr + '- Comments must be equal to or less than 250 characters.\n\n';
	}
	// determining submit status
	if(msg.length > 0){
		alert(msg);
		return false;
	} else {
		return true;
	}
}
function fValidateSubscribe(){
	var theForm = document.forms.frmSubscribe;
	var msg = '';
	if(fChkEmpty(theForm.txtEmail.value)){
		msg = 'Email address is required.\n\n';
	} else {
		if(!fChkEmail(theForm.txtEmail.value)){
			msg = 'The email entered is not valid.\n\n';
		}
	}
	// determining submit status
	if(msg.length > 0){
		alert(msg);
		return false;
	} else {
		return true;
	}
}
//---------------------------------------------------------------------------------------------------------
// following are the control panel validators
//---------------------------------------------------------------------------------------------------------
function fValidateQuotes(){
	var theForm = document.forms.frmQuotes;
	var msg = '';
	var iCtr = 0;
	if(fChkEmpty(theForm.taQuote.value)){
		iCtr++;
		msg += iCtr + ' - Quote is required.\n\n';
	}
	if(fChkOverMax(theForm.taQuote.value, 1000)){
		iCtr++;
		msg += iCtr + '- Quote must be equal to or less than 1000 characters.\n\n';
	}
	if(fChkEmpty(theForm.txtAuthor.value)){
		iCtr++;
		msg += iCtr + '- Author is required; if author is anonymous, enter Anon.\n\n';
	}
	if(fChkOverMax(theForm.txtAuthor.value, 100)){
		iCtr++;
		msg += iCtr + '- Author must be equal to or less than 100 characters.\n\n';
	}
	// determining submit status
	if(msg.length > 0){
		alert(msg);
		return false;
	} else {
		return true;
	}
}
function fValidateLinkCategories(){
	var theForm = document.forms.frmLinkCategories;
	var msg = '';
	var iCtr = 0;
	if(fChkEmpty(theForm.txtLinkCategory.value)){
		iCtr++;
		msg += iCtr + ' - Category is required.\n\n';
	}
	if(fChkOverMax(theForm.txtLinkCategory.value, 100)){
		iCtr++;
		msg += iCtr + '- Category must be equal to or less than 100 characters.\n\n';
	}
	if(!fChkEmpty(theForm.taDescription.value)){
		if(fChkOverMax(theForm.taDescription.value, 1000)){
			iCtr++;
			msg += iCtr + '- Description is not required, but must be equal to or less than 1000 characters.\n\n';
		}
	}
	if(!ChkInNumericRange(theForm.txtOrder.value, 1, 100000)){
		iCtr++;
		msg += iCtr + '- Order must be a numeric value from 1 to 100,000.\n\n';
	}
	// determining submit status
	if(msg.length > 0){
		alert(msg);
		return false;
	} else {
		return true;
	}
}
function fValidateLinks(){
	var theForm = document.forms.frmLinks;
	var msg = '';
	var iCtr = 0;
	if(fChkEmpty(theForm.txtTitle.value)){
		iCtr++;
		msg += iCtr + ' - Title is required.\n\n';
	}
	if(fChkOverMax(theForm.txtTitle.value, 200)){
		iCtr++;
		msg += iCtr + '- Title must be equal to or less than 200 characters.\n\n';
	}
	if(fChkEmpty(theForm.txtURL.value)){
		iCtr++;
		msg += iCtr + ' - URL is required.\n\n';
	}
	if(fChkOverMax(theForm.txtURL.value, 256)){
		iCtr++;
		msg += iCtr + '- URL must be equal to or less than 256 characters.\n\n';
	}
	if(!fChkEmpty(theForm.taDescription.value)){
		if(fChkOverMax(theForm.taDescription.value, 1000)){
			iCtr++;
			msg += iCtr + '- Description is not required, but must be equal to or less than 1000 characters.\n\n';
		}
	}
	if(!ChkInNumericRange(theForm.txtOrder.value, 1, 100000)){
		iCtr++;
		msg += iCtr + '- Order must be a numeric value from 1 to 100,000.\n\n';
	}
	// determining submit status
	if(msg.length > 0){
		alert(msg);
		return false;
	} else {
		return true;
	}
}
function fValidateAdmins(){
	var theForm = document.forms.frmAdmins;
	var msg = '';
	var iCtr = 0;
	if(fChkEmpty(theForm.txtName.value)){
		iCtr++;
		msg += iCtr + ' - Name is required.\n\n';
	}
	if(fChkOverMax(theForm.txtName.value, 100)){
		iCtr++;
		msg += iCtr + '- Name must be equal to or less than 100 characters.\n\n';
	}
	if(fChkEmpty(theForm.txtEmail.value)){
		iCtr++;
		msg = msg + iCtr + ' - Email is required.\n\n';
	} else {
		if(!fChkEmail(theForm.txtEmail.value)){
			iCtr++;
			msg = msg + iCtr + ' - The email entered is not valid.\n\n';
		}
	}
	if(fChkOverMax(theForm.txtEmail.value, 256)){
		iCtr++;
		msg = msg + iCtr + ' - Email must be 256 characters or less.\n\n';
	}
	if(fChkUnderMin(theForm.txtPassword.value, 6)){
		iCtr++;
		msg = msg + iCtr + ' - Password must be 6 or more alphanumeric characters in length.\n\n';
	}
	if(fChkOverMax(theForm.txtPassword.value, 12)){
		iCtr++;
		msg = msg + iCtr + ' - Password must be 12 or less alphanumeric characters in length.\n\n';
	}
	if(!fChkCompare(theForm.txtPassword.value, theForm.txtCPassword.value)){
		iCtr++;
		msg = msg + iCtr + ' - Password and Confirm Password fields must match.\n\n';
	}
	// determining submit status
	if(msg.length > 0){
		alert(msg);
		return false;
	} else {
		return true;
	}
}
function fValidateContents(){
	var theForm = document.forms.frmContents;
	var msg = '';
	var iCtr = 0;
	if(fChkEmpty(theForm.txtCode.value)){
		iCtr++;
		msg += iCtr + ' - Content Code is required.\n\n';
	}
	if(fChkOverMax(theForm.txtCode.value, 10)){
		iCtr++;
		msg += iCtr + '- Content Code must be equal to or less than 10 characters.\n\n';
	}
	if(fChkEmpty(theForm.txtTitle.value)){
		iCtr++;
		msg += iCtr + ' - Title is required.\n\n';
	}
	if(fChkOverMax(theForm.txtTitle.value, 200)){
		iCtr++;
		msg += iCtr + '- Title must be equal to or less than 200 characters.\n\n';
	}
	if(!fChkEmpty(theForm.txtMaxChars.value)){
		if(fChkNumeric(theForm.txtMaxChars.value, 1, 0)){
			if(!ChkInNumericRange(theForm.txtMaxChars.value, 0, 60000)){
				iCtr++;
				msg += iCtr + '- Max Characters must be a numeric value from 0 to 60000.\n\n';
			} else {
				if(theForm.txtMaxChars.value <= 0){
					if(!fChkEmpty(theForm.taContent.value)){
						if(fChkOverMax(theForm.taContent.value, 60000)){
							iCtr++;
							msg += iCtr + '- Content is not required, but must be equal to or less than 60000 characters.\n\n';
						}
					}
				} else {
					if(!fChkEmpty(theForm.taContent.value)){
						if(fChkOverMax(theForm.taContent.value, theForm.txtMaxChars.value)){
							iCtr++;
							msg += iCtr + '- Content is not required, but must be equal to or less than ' + theForm.txtMaxChars.value + ' characters.\n\n';
						}
					}
				}
			}
		} else {
			iCtr++;
			msg += iCtr + '- Max Characters must be a numeric value from 0 to 60000.\n\n';
		}
	} else {
		iCtr++;
		msg += iCtr + '- Max Characters is required.\n\n';
	}
	// determining submit status
	if(msg.length > 0){
		alert(msg);
		return false;
	} else {
		return true;
	}
}

