//== JavaScript Form Validation Module ===================================================================================================//
//
// Date created: 25 February 2003
// Last update: 26 May 2003
// Tested for: Netscape 6.1 and Internet Explorer 5.5 and above
// Script version: JavaScript
// Author: Benjé Mouton
// Company: 001 Digital Construction
// Files: "Validation.asp"
// Notes: Updated by Brendon Julius (2008/07/21)
// Tested for Internet Explorer 7.0 and FireFox 2.0
//
//== Standard Script Block ===============================================================================================================//
//
// Include the following script block in the head tag in order for the functions to work.
//
//
//
//
//== Event Handler =======================================================================================================================//
//
// Include the following event handler to activate the form validation functions.
//
// onSubmit/onClick="return(Validate(this.form.name));"
//
//== Start Functions =====================================================================================================================//
var sErrorMessage = "";
var sErrorColor = "#E8D4D6";
var sNormalColor = "#F8F8F8";
var oField = null;
//== String Function =====================================================================================================================//
function Trim(sString) {
if (sString.length != "") {
return sString.replace(/\s+/g, "");
} else {
return sString;
}
}
function MaxLength(sForm, sField, iLength) {
var oControl = eval("document."+sForm+"."+sField);
if (oControl.value.length > iLength) {
oControl.value = oControl.value.substr(0, iLength);
}
}
//== IsBlank Function ====================================================================================================================//
function IsBlank(sForm, sField, sMessage) {
var oControl = eval("document." + sForm + "." + sField);
if (Trim(oControl.value).length < 1) {
if (sMessage == "") {
return true;
} else {
if (oField == null) {
oField = oControl;
}
oControl.style.backgroundColor = sErrorColor;
sErrorMessage = sErrorMessage + "\n - " + sMessage;
}
} else {
oControl.style.backgroundColor = sNormalColor;
return false;
}
}
function IsBlankMultiple(sForm, sFields, iBlankFieldsAllowed, sMessage) {
var iRequired = 0;
for (var i = 0; i < sFields.length; i++) {
var oControl = eval("document." + sForm + "." + sFields[i]);
if (Trim(oControl.value).length < 1) {
iRequired = iRequired + 1;
}
}
if (iRequired > iBlankFieldsAllowed) {
for (var i = 0; i < sFields.length; i++) {
var oControl = eval("document." + sForm + "." + sFields[i]);
oControl.style.backgroundColor = sErrorColor;
}
sErrorMessage = sErrorMessage + "\n - " + sMessage;
} else {
for (var i = 0; i < sFields.length; i++) {
var oControl = eval("document." + sForm + "." + sFields[i]);
oControl.style.backgroundColor = sNormalColor;
}
oControl.style.backgroundColor = sNormalColor;
}
}
//== IsChecked Function ==================================================================================================================//
function IsChecked(sForm, sField, iMinimum, sMessage) {
var oElements = document.getElementsByName(sField);
var iChecked = 0;
for (var i = 0; i < oElements.length; i++) {
if (oElements[i].type == "checkbox") {
if (oElements[i].checked) {
iChecked++;
}
}
}
if (iChecked < iMinimum) {
for (var i = 0; i < oElements.length; i++) {
if (oElements[i].type == "checkbox") {
oElements[i].style.backgroundColor = sErrorColor;
}
}
sErrorMessage = sErrorMessage + "\n - " + sMessage;
} else {
for (var i = 0; i < oElements.length; i++) {
if (oElements[i].type == "checkbox") {
oElements[i].style.backgroundColor = sNormalColor;
}
}
}
}
//== IsEmail Function ====================================================================================================================//
function IsEmail(sForm, sField, sMessage, bRequired) {
var oControl = eval("document." + sForm + "." + sField);
var bContents = IsBlank(sForm, sField, "");
var bValidEmail = false;
if (oControl.value.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) {
bValidEmail = true;
} else {
bValidEmail = false;
}
if (bRequired && bContents && !bValidEmail) {
if (oField == null) {
oField = oControl;
}
sErrorMessage = sErrorMessage + "\n - " + sMessage;
oControl.style.backgroundColor = sErrorColor;
} else if (bRequired && !bContents && !bValidEmail) {
if (oField == null) {
oField = oControl;
}
sErrorMessage = sErrorMessage + "\n - " + sMessage;
oControl.style.backgroundColor = sErrorColor;
} else if (!bRequired && !bContents && !bValidEmail) {
if (oField == null) {
oField = oControl;
}
oControl.style.backgroundColor = sErrorColor;
sErrorMessage = sErrorMessage + "\n - " + sMessage;
} else {
oControl.style.backgroundColor = sNormalColor;
}
}
//== IsSelected Function ===-=============================================================================================================//
function IsSelected(sForm, sField, sMessage) {
var oControl = eval("document." + sForm + "." + sField);
if (oControl != null) {
if (oControl.options[oControl.selectedIndex].value != "") {
oControl.style.backgroundColor = sNormalColor;
} else {
if (oField == null) {
oField = oControl;
}
oControl.style.backgroundColor = sErrorColor;
sErrorMessage = sErrorMessage + "\n - " + sMessage;
}
} else {
window.alert("Control is null...");
}
}
function IsSelectedOther(sForm, sField, sOtherField, sMessage) {
var oControl = eval("document." + sForm + "." + sField);
var oOtherControl = eval("document." + sForm + "." + sOtherField);
if (oControl.options[oControl.selectedIndex].value != "") {
if (oControl.options[oControl.selectedIndex].value == "0") {
if (Trim(oOtherControl.value).length < 1) {
if (oField == null) {
oField = oOtherControl;
}
oOtherControl.style.backgroundColor = sErrorColor;
sErrorMessage = sErrorMessage + "\n - " + sMessage;
} else {
oOtherControl.style.backgroundColor = sNormalColor;
}
}
oControl.style.backgroundColor = sNormalColor;
} else {
if (oField == null) {
oField = oControl;
}
oControl.style.backgroundColor = sErrorColor;
sErrorMessage = sErrorMessage + "\n - " + sMessage;
}
}
function IsRadioChecked(sForm, sField, sMessage) {
var objRadioButtons = document.getElementsByName(sField);
var intChecked = 0;
if (objRadioButtons != null) {
for (var i = 0; i < objRadioButtons.length; i++) {
if (objRadioButtons[i].checked == true) {
intChecked++;
}
}
}
if (intChecked == 0) {
if (oField == null) {
oField = objRadioButtons[0];
}
for (var i = 0; i < objRadioButtons.length; i++) {
objRadioButtons[i].style.backgroundColor = sErrorColor;
}
sErrorMessage = sErrorMessage + "\n - " + sMessage;
} else {
for (var i = 0; i < objRadioButtons.length; i++) {
objRadioButtons[i].style.backgroundColor = "";
}
}
}
//== IsDate Function ===-=================================================================================================================//
function IsDate(sForm, sDayField, sMonthField, sYearField, sMessage) {
var oDayControl = eval("document." + sForm + "." + sDayField);
var oMonthControl = eval("document." + sForm + "." + sMonthField);
var oYearControl = eval("document." + sForm + "." + sYearField);
if (oYearControl.value % 4 == 0) {
if (oYearControl.value % 100 == 0) {
if (oYearControl.value % 400 == 0) {
var aDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if (parseInt(oDayControl.value) > aDays[oMonthControl.value - 1]) {
if (sMessage == "") {
return false;
} else {
oDayControl.style.backgroundColor = sErrorColor;
sErrorMessage = sErrorMessage + "\n - " + sMessage;
}
} else {
oDayControl.style.backgroundColor = sNormalColor;
return true;
}
} else {
var aDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if (parseInt(oDayControl.value) > aDays[oMonthControl.value - 1]) {
if (sMessage == "") {
return false;
} else {
oDayControl.style.backgroundColor = sErrorColor;
sErrorMessage = sErrorMessage + "\n - " + sMessage;
}
} else {
oDayControl.style.backgroundColor = sNormalColor;
return true;
}
}
} else {
var aDays = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
if (parseInt(oDayControl.value) > aDays[oMonthControl.value - 1]) {
if (sMessage == "") {
return false;
} else {
oDayControl.style.backgroundColor = sErrorColor;
sErrorMessage = sErrorMessage + "\n - " + sMessage;
}
} else {
oDayControl.style.backgroundColor = sNormalColor;
return true;
}
}
} else {
var aDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if (parseInt(oDayControl.value) > aDays[oMonthControl.value - 1]) {
if (sMessage == "") {
return false;
} else {
oDayControl.style.backgroundColor = sErrorColor;
sErrorMessage = sErrorMessage + "\n - " + sMessage;
}
} else {
oDayControl.style.backgroundColor = sNormalColor;
return true;
}
}
}
//========================================================================================================================================//
function InputNumeric(p_evtEvent) {
p_evtEvent = p_evtEvent || window.event;
ch = p_evtEvent.which || p_evtEvent.keyCode;
if (ch != null) {
if (ch >= 48 && ch <= 57) {
return(true);
}
}
alert('Please enter a numeric value.');
return(false);
}