
// Form validation functions
function validateString(field, msg, min, max) { 
	if (!min) { min = 1 } 
	if (!max) { max = 65535 } 
	if (!field.value || field.value.length < min || field.value.length > max) { 
		alert(msg); 
		field.focus(); 
		field.select(); 
		return false; 
		} 
	return true; 
}

function validateNumber(field, msg, min, max) { 
	if (!min) { min = 0 } 
	if (!max) { max = 255 } 
	if ( (parseInt(field.value) != field.value) || field.value.length < min || field.value.length > max) { 
		alert(msg); 
		field.focus(); 
		field.select(); 
		return false; 
		} 
	return true; 
}

function validatePhone(field, msg, min, max, numOnlyLen) {
	if (field.value.length < min || field.value.legth > max) { 
		alert(msg); 
		field.focus(); 
		field.select(); 
		return false; 
		}

	//strip out acceptable non-numeric characters
	var stripped = field.value.replace(/[\(\)\.\-\ ]/g, '');

	// verify its numeric only
	if (isNaN(parseInt(stripped))) {
		alert(msg); 
		field.focus(); 
		field.select(); 
		return false; 
		}

	if (!(stripped.length == numOnlyLen)) {
		alert(msg); 
		field.focus(); 
		field.select(); 
		return false; 
		}
	return true;
}

function validateEmail(email, msg) { 
	var re_mail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+$/; 
	if (!re_mail.test(email.value)) { 
		alert(msg); 
		email.focus(); 
		email.select(); 
		return false; 
		} 
	return true;
}

function validateDropdown(droplist, msg) {
	if (droplist.selectedIndex == 0) {
		alert(msg); 
		droplist.focus(); 
		return false; 
	    }    
	return true;
} 

function validateRadio(radio, msg) {
	var ok = false;
	for (i=0, n=radio.length; i<n; i++) {
		if (radio[i].checked) {
			ok = true;
			}
		}
	if (!ok) {
		alert(msg); 
		radio[0].focus(); 
		return false; 
		}    
	return true;
}
