// -----------------------------------------------------------------
// Language    : JavaScript
// Description : Utility Functions for processing web forms. 
// Copyright   : (c) 2003 Daniel Schwartz
// http://www.danielschwartz.com
// -----------------------------------------------------------------
// Ver    Date    Description of modification
// --- ---------- --------------------------------------------------
// 1.0 08/13/2003 Original write
// 
// -----------------------------------------------------------------

var isDHTML = 0;
var isID = 0;
var isAll = 0;
var isLayers = 0;

//valid email characters
var re_email = /^\w+([\.\-]?\w+)*@\w+([\.\-]?\w+)*(\.\w{2,3})+$/
// allow digits, allow - / . but not consecutive. 
var re_genphone = /^\d+([\.\-\/\s]?\d+)*$/
//valid digits
var re_digits= new RegExp ("[0-9]","g");
//illegal characters ( ) < > [ ] , ; : \ / "
//var re_illegalEmailChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/


if (document.getElementById) {isID = 1; isDHTML = 1;}
else {
if (document.all) {isAll = 1; isDHTML = 1;}
else {
browserVersion = parseInt(navigator.appVersion);
if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion == 4)) {isLayers = 1; isDHTML = 1;}
}}

function findDOM(objectID,withStyle) {
	if (withStyle == 1) {
		if (isID) { return (document.getElementById(objectID).style) ; }
		else { 
			if (isAll) { return (document.all[objectID].style); }
		else {
			if (isLayers) { return (document.layers[objectID]); }
		};}
	}
	else {
		if (isID) { return (document.getElementById(objectID)) ; }
		else { 
			if (isAll) { return (document.all[objectID]); }
		else {
			if (isLayers) { return (document.layers[objectID]); }
		};}
	}
}

//function utilTrim(){
    //var s = this;
    //if (s.length > 0) while (s.indexOf(' ') == 0) s = s.substr(1);
    //if (s.length > 0) while(s.lastIndexOf(' ') == s.length - 1) s = s.substr(0, s.length - 1);
    //return s;
//}
	
function isFilled(id,name){
	var t = findDOM(id,0);
	
    if ( t.value == ''){ return "- Please fill in the "+name+" field.\n" }
    return "";
}


function isValidEmail(ID){
	var error= "";
	var t = findDOM(ID,0);
	var s = t.value.toString();

	//trim whitespace at beginning and end
	if (s.length > 0) while (s.indexOf(' ') == 0) s = s.substr(1);
    if (s.length > 0) while(s.lastIndexOf(' ') == s.length - 1) s = s.substr(0, s.length - 1);

	if (s.length ==0){ return error;}

	//test against reg exp
	if (!re_email.test(s))
	{
	error = "- The email address is not properly entered.\n";
	}
	//alert(error +" "+s); return false;
	return error;
}


function isValidPhone(ID){
	var error= "";
	var t = findDOM(ID,0);
	var s = t.value.toString();

	//trim whitespace at beginning and end
	if (s.length > 0) while (s.indexOf(' ') == 0) s = s.substr(1);
    if (s.length > 0) while(s.lastIndexOf(' ') == s.length - 1) s = s.substr(0, s.length - 1);

	if (s.length==0){ return error;}

    //test against reg exp - invalid characters
	if (re_genphone.test(s))
	{
		var num_count = s.match(re_digits);
		if (num_count.length < 10){ error = "- The telephone number does not have enough digits (minimum of 10).\n"; } 
	}
	else{ error = "- The telephone number is not properly entered.\n"; }
	//alert(""+error);

	return error;
}