
/////////////////////////////////////////////////////////////////////
function insertChar(txtObj,len1,len2,insChar){
	if (txtObj.value.length==len1 | txtObj.value.length==len2) {
		if (txtObj.value.length==len1){
			var len=len1;
		} else {
			var len=len2;
		}
		if (txtObj.value.charAt(len-1)!=insChar){
			txtObj.value = txtObj.value + insChar;
		}
	}
}

/////////////////////////////////////////////////////////////////////
	
	function validInteger(intObj,intLength,crossObj,iMsg){
		var Obj=NaN;
		if (iMsg==1) {
			MsgForField="Area Code";
			MsgOr="or delete entered Phone Number";
		}
		ii=stripSpace(intObj.value);
		intObj.value=ii;
		if (intObj.value!=""){
			iii=parseInt(intObj.value);
			if (isNaN(iii)) {
				Msg="Value '" + intObj.value + "' is invalid. Please enter numeric value.";
				Obj=intObj;
			} else {
				if (iii.toString()==ii){
					if (intLength!=0){
						if (ii.length!=intLength){
							Msg="Value '" + intObj.value + "' is invalid. Please enter " + intLength + " digit number.";
							Obj=intObj;
						}
					}
				} else {
					Msg="Value '" + intObj.value + "' is invalid. Please enter digits only.";
					Obj=intObj;
				} 
			}
		} else {
			if (crossObj){
				if (crossObj.value!=""){
					Msg="Field " + MsgForField +  " is missing. Please enter it now " + MsgOr + "."
					alert(Msg);
				}
			}
		}
		if (Obj) {
			alert(Msg);
			Obj.focus();
			Obj.select();
		}
	}
	
/////////////////////////////////////////////////////////////////////
	
	function stripSpace(strValue){
		while (strValue.indexOf(" ")>=0){
			i=strValue.indexOf(" ");
			strValue=strValue.substr(0,i) + strValue.substr(i+1);
		}
		return strValue;
	}
	
/////////////////////////////////////////////////////////////////////

	function validState(stateObj){
		var Obj=NaN;
		var USStateCodes = "AL|AK|AS|AZ|AR|CA|CO|CT|DE|DC|FM|FL|GA|GU|HI|ID|IL|IN|IA|KS|KY|LA|ME|MH|MD|MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ|NM|NY|NC|ND|MP|OH|OK|OR|PW|PA|PR|RI|SC|SD|TN|TX|UT|VT|VI|VA|WA|WV|WI|WY|AE|AA|AE|AE|AP"
		ss=stripSpace(stateObj.value);
		ss=ss.toUpperCase();
		stateObj.value=ss;
		Msg="Value '" + stateObj.value + "' is invalid. Please enter a valid two character U.S. state abbreviation.";
		if (ss != "") {
			if (USStateCodes.indexOf(ss) != -1) {
				if (ss.length!=2 && ss.length!=0) {
					Obj=stateObj;
				}
			} else {
				Obj=stateObj;
			}
		}
		if (Obj) {
			alert(Msg);
			Obj.focus();
			Obj.select();
		}
	}
/////////////////////////////////////////////////////////////////////

function validDrLicense(dlObj){
	var Obj=NaN;
	var digits = "0123456789";
	var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	dl=stripSpace(dlObj.value);
	dl=dl.toUpperCase();
	dlObj.value=dl;
	if (dl=="") return;
	Msg="Value '" + dlObj.value + "' is invalid. Please enter a valid Driver's License Number in format 'A1234567'.";
	if (dl.length==8){
		Char1=dl.substr(0,1);
		if (uppercaseLetters.indexOf(Char1) == -1) {
			Obj=dlObj;
		}
		Num2=dl.substr(1);
		for (iNum2=0;iNum2<Num2.length;iNum2++) {
			if (digits.indexOf(Num2.charAt(iNum2)) == -1) {
				Obj=dlObj;
			}
		}
	} else {
		Obj=dlObj;
	}
	if (Obj){
		alert(Msg);
		Obj.focus();
		Obj.select();
	}
}

/////////////////////////////////////////////////////////////////////
	
	function validSSNorvalidDrLicense(ssnObj){
		var d1=-1;
		var d2=-1;
		var digits = "0123456789";
		var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		var Obj=NaN;
		ss=stripSpace(ssnObj.value);
		ss=ss.toUpperCase();
		ssnObj.value=ss;
		if (ss=="") return;
		Msg="Value '" + ssnObj.value + "' is invalid. Please enter a valid Social Security Number in format '123-45-6789' or a valid Driver's License Number in format 'X1234567'.";
		
		if (ss.length==8){
			Char1=ss.substr(0,1);
			if (uppercaseLetters.indexOf(Char1) == -1) {
				Obj=ssnObj;
			}
			Num2=ss.substr(1);
			for (iNum2=0;iNum2<Num2.length;iNum2++) {
				if (digits.indexOf(Num2.charAt(iNum2)) == -1) {
					Obj=ssnObj;
				}
			}
		} else {
			d1=ss.indexOf("-");
			if (d1!=-1){
				ss=ss.substr(0,d1) + ss.substr(d1+1);
				d2=ss.indexOf("-");
				if (d2!=-1){
					ss=ss.substr(0,d2) + ss.substr(d2+1);
				}
			}
		
			if ((d1==3 && d2==5) | (d1==3 && d2==-1) | (d1==5 && d2==-1) | (d1==-1 && d2==-1)) {
				if (!isNaN(ss)){
					sss=ss;
					if (ss==sss.toString()) {
						if (ss.length!=9) {
							Obj=ssnObj;
						}
					} else {
						Obj=ssnObj;
					}
				} else {
					Obj=ssnObj;
				}
			} else {
				Obj=ssnObj;
			}
		}
		if (Obj){
			alert(Msg);
			Obj.focus();
			Obj.select();
		} else {
			ss=ssnObj.value;
			if (ss.length>=9) {
				if (ss.length!=11) {
					while (ss.indexOf("-")>=0){
						i=ss.indexOf("-");
						ss=ss.substr(0,i) + ss.substr(i+1);
					}
					ss=ss.substr(0,3) + "-" + ss.substr(3,2) + "-" + ss.substr(5);
					ssnObj.value=ss;
				}
			}
		}
	}
	
	/////////////////////////////////////////////////////////////////////
	
	function validPhone(areacodeObj,phoneObj){
		var d1=-1;
		var Obj=NaN;
		pp=stripSpace(phoneObj.value);
		phoneObj.value=pp;
		if (pp=="") {
			if (areacodeObj.value=="") {
				return;
			} else {
				Msg="Field Phone Number is missing. Please enter it now or delete entered Area Code.";
				alert(Msg);
				return;
			}
		}
		Msg="Value '" + phoneObj.value + "' is invalid. Please enter a valid Phone Number in format '123-4567'.";
		if (pp!=""){
			d1=pp.indexOf("-");
			if (d1!=-1){
				pp=pp.substr(0,d1) + pp.substr(d1+1);
			}
		}
		if ((d1==3) | (d1==-1)) {
			if (!isNaN(pp)){
				ppp=pp;
				if (pp==ppp.toString()) {
					if (pp.length!=7) {
						Obj=phoneObj;
					}
				} else {
					Obj=phoneObj;
				}
			} else {
				Obj=phoneObj;
			}
		} else {
			Obj=phoneObj;
		}
		if (Obj){
			alert(Msg);
			Obj.focus();
			Obj.select();
		} else {
			pp=phoneObj.value;
			if (pp.length!=8) {
				pp=pp.substr(0,3) + "-" + pp.substr(3);
				phoneObj.value=pp;
			}
			if (areacodeObj.value=="") {
				Msg="Field Area Code is missing. Please enter it now or delete entered Phone Number.";
				alert(Msg);
			}
		}
	}
	
///////////////////////////////////////////////////////////////////////////////////////////

	function SubmitForm(form){
		var Obj=NaN;
				
		LName=stripSpace(form.LastName.value);
		if (LName=="") {
			Msg="Field 'Last Name' is required.";
			Obj=form.LastName;
		}
		
		if (!Obj){
			FName=stripSpace(form.FirstName.value);
			if (FName=="") {
				Msg="Field 'First Name' is required.";
				Obj=form.FirstName;
			}
		}
		if (Obj){
			alert(Msg);
			Obj.focus();
			Obj.select();
			return;
		}
		
		for (s=1;s<=3;s++){
			switch (s) {
				case 1:
					areacodeObj=form.AreaCode;
					phoneObj=form.Phone;
					break;
				case 2:
					areacodeObj=form.MessageAreaCode;
					phoneObj=form.MessagePhone;
					break;
				case 3:
					areacodeObj=form.NightAreaCode;
					phoneObj=form.NightPhone;
					break;
			}
			if (areacodeObj.value==""){
				if (phoneObj.value!=""){
					Msg="Field Area Code is missing. Please enter it now or delete entered Phone Number.";;
					alert(Msg);
					areacodeObj.value="   ";
					areacodeObj.focus();
					areacodeObj.select();
					return;
				}
			} else {
				if (phoneObj.value==""){
					Msg="Field Phone Number is missing. Please enter it now or delete entered Area Code.";
					alert(Msg);
					phoneObj.value="        ";
					phoneObj.focus();
					phoneObj.select();
					return;
				}
			}
		}
		form.textSubmit.value="SUBMIT";
		form.submit();
	}
	/////////////////////////////////////////////////////////////////////

	function validDate(dateObj){
		var Obj=NaN;
		if (dateObj.value=="mm/dd/yyyy") dateObj.value=""
		dd=stripSpace(dateObj.value);
		dateObj.value=dd;
		Msg="Date '" + dateObj.value + "' is invalid. Please enter date in format 'mm/dd/yyyy'.";
		if (dateObj.value!=""){
			ddd=new Date(dateObj.value);
			if (isNaN(ddd)) {
				Obj=dateObj;
			} else {
				if (dd.substr(0,1)=="0") {
					dd=dd.substr(1,dd.length-1)
				}
				if ((ddd.getMonth()+1)==parseInt(dd)){
				} else {
					Obj=dateObj;;alert(2);
				}
			}
		}
		if (Obj) {
			alert(Msg);
			Obj.focus();
			Obj.select();
		} else {
			if (dd!="" & dd.length!=10){
				d=new Date(dd);
				wmonth=(d.getMonth()+1).toString();
				if (wmonth.length==1) wmonth = "0" + wmonth;
				wdate=(d.getDate()).toString();
				if (wdate.length==1) wdate = "0"+ wdate;
				dateObj.value = wmonth + "/" + wdate + "/" + d.getFullYear();
			}
		}
	}

/////////////////////////////////////////////////////////////////////
	function ShowDateFormat(dateObj) {
		if (dateObj.value=="") {
			dateObj.value="mm/dd/yyyy";
			dateObj.select();
		}
	}
////////////////////////////////////////////////////////////////////////////////

