<!--
/*********************************************************************
                        Original Script By
              Patrick Fairfield (a.k.a fritz_the_blank)
                        Fairfield Consulting
    ========================================================
                        Edited by Jay Solomon
                   jaysolomon *AT* pclnet *DOT* net
*********************************************************************/
var strAlertMsg = ""
var focusField = ""
//============================================================
//validate Date
function isDate(theForm,strFieldName,strMsg){
   var objFormField = theForm.elements[strFieldName];
   strDate = objFormField.value;
   if(strDate.length>0){
           var dateregex=/^[ ]*[0]?(\d{1,2})\/(\d{1,2})\/(\d{4,})[ ]*$/;
            var match=strDate.match(dateregex);
            if (match){
                      var tmpdate=new Date(match[3],parseInt(match[1],10)-1,match[2]);
                 if (tmpdate.getDate()==parseInt(match[2],10) && tmpdate.getFullYear()==parseInt(match[3],10) && (tmpdate.getMonth()+1)==parseInt(match[1],10)){ 
                    return true; 
                    }
            }
                   strAlertMsg += "- "+ strMsg +" is required.\nExample: 01/01/2003\n";
              if(!focusField) focusField =""+ strFieldName +"";
        return false;
   }
   else{
         return true;
   }
}
//========================================================================
//Validate Us Phone. Ex. (999) 999-9999 or (999)999-9999
function isUsPhone(theForm,strFieldName,strMsg)     {
    var objFormField = theForm.elements[strFieldName];
    var strValue = objFormField.value;
    var objRegExp  = /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/;
     if(!objRegExp.test(strValue)){
         strAlertMsg += "- "+ strMsg +" is required.\n    Example:\n(999)999-9999 or (999) 999-9999\n";
    if(!focusField) focusField=""+ strFieldName +"";
         return false;
         }
    return true;
}
//========================================================================
//Validate US zip code in 5 digit format or zip+4 format. 99999 or 99999-9999
function isZipCode(theForm,strFieldName,strMsg)     {
    var objFormField = theForm.elements[strFieldName];
    var strValue = objFormField.value;
    var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
    if(!objRegExp.test(strValue)){
         strAlertMsg += "- "+ strMsg +" is required.\n";
    if(!focusField) focusField =""+ strFieldName +"";
         return false;
         }
    return true;
}
//==========================================================================
//Validate the Select
function hasSelection(theForm,strFieldName,strMsg)     {
    var objFormField = theForm.elements[strFieldName];
    if(objFormField.selectedIndex ==0)     {
         strAlertMsg += "- "+ strMsg +" is required.\n";
          return false; 
           }
    return true; 
}
//========================================================================
//Validate Check Box
function isChecked(theForm,strFieldName,strMsg) {
    var objFormField= theForm.elements[strFieldName];
    var strValue= objFormField.checked;
    if (!strValue) {
         //alert("The \""+ strMsg +"\" box is checked!")
         //} else {
         strAlertMsg += "- "+ strMsg +" is required.\n";
    if(!focusField) focusField =""+ strFieldName +"";
         return false;
         }
    return true;
}
//========================================================================
//Validate Text Box
function isEmpty(theForm,strFieldName,strMsg){
    var objFormField = theForm.elements[strFieldName];
    var strValue = objFormField.value;
    strValue = strValue.split(" ").join("")
    if(strValue.length<1){
         strAlertMsg += "- "+ strMsg +" is required.\n";
    if(!focusField) focusField =""+ strFieldName +"";
         return false;
         }
    return true;
}
//========================================================================
//Validate Email
function isEmail(theForm,strFieldName,strMsg){
    var objFormField = theForm.elements[strFieldName]
    var strEmail = objFormField.value;
    var bolValid = true;
         if(strEmail.length < 7){
         bolValid = false;
         }
         if(strEmail.lastIndexOf(" ") >0){
         bolValid = false;
         }
         var intLastDot = strEmail.lastIndexOf(".")
         if(intLastDot == -1 ||  strEmail.length - intLastDot >4){
         bolValid = false;
         }
         var intAt = strEmail.lastIndexOf("@")
         if(intAt == -1 ||  strEmail.length - intAt < 5){
         bolValid = false;
         }
         if(!bolValid){
         strAlertMsg += "- "+ strMsg +" must be in a valid format.\n";
    if(!focusField) focusField =""+ strFieldName +"";
         }
		//alert(bolValid);
    return bolValid;
}
//========================================================================
//Validate Alpha Numeric
function isAlphaNumeric(theForm,strFieldName,strMsg) {
	var objFormField = theForm.elements[strFieldName];
    var strValue = objFormField.value;
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ";
	var bolValid = true;
	for (i = 0;  i < strValue.length;  i++) {
		ch = strValue.charAt(i);
		for (j = 0;  j < checkOK.length;  j++) {
			if (ch == checkOK.charAt(j)) {
				break;
			}
		}
		if (j == checkOK.length) {
		bolValid = false;
		break;
		}
	}
	if(!bolValid) {
		strAlertMsg += "- "+ strMsg +" must be letters and numbers only.\n";
	}
	if(!focusField) {
		focusField =""+ strFieldName +"";
		return false;
	}
}
//========================================================================
//Validate Numeric
function isNumeric(theForm,strFieldName,strMsg) {
	var objFormField = theForm.elements[strFieldName];
    var strValue = objFormField.value;
	var checkOK = "0123456789.";
	var bolValid = true;
	for (i = 0;  i < strValue.length;  i++) {
		ch = strValue.charAt(i);
		for (j = 0;  j < checkOK.length;  j++) {
			if (ch == checkOK.charAt(j)) {
				break;
			}
		}
		if (j == checkOK.length) {
		bolValid = false;
		break;
		}
	}
	if(!bolValid) {
		strAlertMsg += "- "+ strMsg +" must be numbers only.\n";
	}
	if(!focusField) {
		focusField =""+ strFieldName +"";
		return false;
	}
}
//========================================================================
//Validate Phone (Simple)
function isPhone(theForm,strFieldName,strMsg) {
	var objFormField = theForm.elements[strFieldName];
    var strValue = objFormField.value;
	var checkOK = "()-0123456789 ";
	var bolValid = true;
	for (i = 0;  i < strValue.length;  i++) {
		ch = strValue.charAt(i);
		for (j = 0;  j < checkOK.length;  j++) {
			if (ch == checkOK.charAt(j)) {
				break;
			}
		}
		if (j == checkOK.length) {
		bolValid = false;
		break;
		}
	}
	if(strValue.length==0) { bolValid = false }
	if(!bolValid) {
		strAlertMsg += "- "+ strMsg +" must be a valid phone number.\n";
	}
	if(!focusField) {
		focusField =""+ strFieldName +"";
		return false;
	}
}
//========================================================================
//Validate Radio Button
function checkRadioControl(theForm,strFieldName,strMsg){
         var objFormField = theForm.elements[strFieldName]
         intControlLength = objFormField.length
         bolSelected = false;
         for (i=0;i<intControlLength;i++){
         if(objFormField[i].checked){
         bolSelected = true;
         break;
         }
    }     
     if(! bolSelected){
         strAlertMsg += "- "+ strMsg +" is required.\n";
         return false;
         }
    return true;
}
//========================================================================
//Compare the Fields
function compareFields(theForm,strFieldName1,strFieldName2,strMsg){
         var objFormField1= theForm.elements[strFieldName1];
         var objFormField2= theForm.elements[strFieldName2];
         var strValue1= objFormField1.value;
         var strValue2= objFormField2.value;
    if(strValue1 != strValue2){
         strAlertMsg +="The "+ strMsg +" fields do not match, please try again.\n"; 
     if(!focusField) focusField =""+ strFieldName1 +"";
         return false; 
          }
    return true;
}
//========================================================================
//Format Phone Number 9999999999 = (999)999-9999
//Call the function like so onKeyPress="javascript:formatPhone(this);
function formatPhone(objFormField){
    intFieldLength = objFormField.value.length;
    if(intFieldLength == 4){
         objFormField.value = "(" + objFormField.value + ") ";
         return false;
         }
   if(intFieldLength >= 9 && intFieldLength <= 10){
       objFormField.value = objFormField.value + "-";
       return false;
       }
}
//========================================================================
//Validate Length
function checkLength(theForm,strFieldName,strMsg,minLength,maxLength) {
	var objFormField = theForm.elements[strFieldName];
    var strValue = objFormField.value;
	var bolValid = true;
	if (strValue.length > maxLength || strValue.length < minLength) {
		bolValid = false;
	}
	if(!bolValid) {
		if (minLength == maxLength) {
			strAlertMsg += "- "+ strMsg +" must be "+ minLength +" characters in length.\n";
		} else {
			strAlertMsg += "- "+ strMsg +" must be between "+ minLength +" and "+ maxLength +" characters in length.\n";
		}
	}
	if(!focusField) {
		focusField =""+ strFieldName +"";
		return false;
	}
}
//-->
