
        //ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ//
       //    File Name:  adjuster.js                                  //
      //   Programmer:  Josh Stodola                                 //
     // Date Written:  November 22, 2006                            //
    //      Purpose:  To validate the fields on the new form       //
   //                that will email the insured's adjuster.      //
  //_____________________________________________________________//

function validateForm() {
	var hold, hold2, hold3;

	// POLICY/CLAIM NUMBER
	hold = document.frmEmailAdjuster.txtPolCla.value;
	if(containsBlanks(hold,8)) {
		alert('You must enter an 8 character policy/claim number!');
		document.frmEmailAdjuster.txtPolCla.select();
		return false;
	}
	else {
        hold2 = hold.substring(0,2).toUpperCase();
        if(countNums(hold2) == 0) {
		    if(hold2 != 'AR' && hold2 != 'AU' && hold2 != 'DC' && hold2 != 'DO' && hold2 != 'DP' && hold2 != 'FG' && hold2 != 'HG' && hold2 != 'MC' && hold2 != 'OL' && hold2 != 'PL' && hold2 != 'RR' && hold2 != 'RV' && hold2 != 'UL') {
			    alert('Invalid policy prefix - ' + hold2 + '!');
			    document.frmEmailAdjuster.txtPolCla.select();
			    return false;
		    }
		    else {
		        hold3 = hold.substring(2,8);
		        if(!isNumeric(hold3)) {
				    alert('Last 6 digits of policy number must be numeric!');
				    document.frmEmailAdjuster.txtPolCla.select();
				    return false;	
			    }
		    }
		}
		else {
			hold2 = hold.substring(0,1).toUpperCase();
		    if(hold2 != 'A' && hold2 != 'P' && hold2 != 'L') {
			    alert('Invalid claim type - ' + hold2 + '!');
			    document.frmEmailAdjuster.txtPolCla.select();
			    return false;
		    }
		    else {
		        hold3 = hold.substring(1,8);
		        if(!isNumeric(hold3)) {
				    alert('Last 7 digits of claim number must be numeric!');
				    document.frmEmailAdjuster.txtPolCla.select();
				    return false;	
			    }
		    }
		}
	}
    
    // INSURED'S NAME
	hold = document.frmEmailAdjuster.txtName.value;
	if(isBlanks(hold)) {
	    alert('You must enter your name!');
		document.frmEmailAdjuster.txtName.select();
		return false;
	}
	
	// PHONE NUMBERS
	if(isBlanks(document.frmEmailAdjuster.txtHome.value)) {
	    if(isBlanks(document.frmEmailAdjuster.txtCell.value)) {
	        if(isBlanks(document.frmEmailAdjuster.txtWork.value)) {
	            alert('You must enter at least one phone number!');
		        document.frmEmailAdjuster.txtHome.focus();
		        return false;
		    }
		    else {
		        if(countNums(document.frmEmailAdjuster.txtWork.value) < 7) {
		            alert('Invalid work phone number!');
		            document.frmEmailAdjuster.txtWork.select();
		            return false;
		        }
		    }
		}
		else {
		    if(countNums(document.frmEmailAdjuster.txtCell.value) < 7) {
		        alert('Invalid cell phone number!');
		        document.frmEmailAdjuster.txtCell.select();
		        return false;
		    }
		}
	}
	else {
		if(countNums(document.frmEmailAdjuster.txtHome.value) < 7) {
		    alert('Invalid home phone number!');
		    document.frmEmailAdjuster.txtHome.select();
		    return false;
		}
	}
	
	// EMAIL ADDRESS
	hold = document.frmEmailAdjuster.txtEmail.value;
	if(!isBlanks(hold)) {
	    if(hold.indexOf('@') == -1 || hold.indexOf('.') == -1) {
		    alert('Invalid email address!');
		    document.frmEmailAdjuster.txtEmail.select();
		    return false;
	    }
	}
	
	// COMMENTS
	hold = document.frmEmailAdjuster.txtComments.value;
	if(isBlanks(hold)) {
	    alert('You must enter your comments!');
		document.frmEmailAdjuster.txtComments.select();
		return false;
	}
	
	return true;
}

function isBlanks(val) {
	for(var i = 0; i < val.length; i++) {
		var c = val.charAt(i);
		if((c != ' ') && (c != '\n') && (c != ''))
		    return false;
	}
	return true;
}

function isNumeric(val){
	var valstr = val + "";
	for (var i = 0; i < valstr.length; i++) {
		if (valstr.charAt(i) < "0" || valstr.charAt(i) > "9")
			return false;
	}
	return true;
}

function containsBlanks(val,len) {
    if(val == null || val == '' || val.length != len)
        return true;
        
	for(var i = 0; i < val.length; i++) {
		var c = val.charAt(i);
		if((c == ' ') || (c == '\n') || (c == ''))
		    return true;
	}
	return false;
}

function countNums(val){
    var cnt = 0;
	var valstr = val + "";
	for (var i = 0; i < valstr.length; i++) {
		if (valstr.charAt(i) >= "0" && valstr.charAt(i) <= "9")
			cnt += 1;
	}
	return cnt;
}