
var errors = "";
var noalert = false;
var whitespace = " \t\n\r";

function removeAmp(arg) {

    if (arg.indexOf('&') == -1)
        return arg;
    else {
        pos = arg.indexOf('&');
        newarg = arg.substring(0,pos);
        return newarg;
    }
}

// Removes all leading and trailing whitespace characters from s.
function stripWhitespace(s) {
	var i = 0;

	while ((i < s.length) && whitespace.indexOf(s.charAt(i)) >= 0)
		i++;

	s = s.substring(i, s.length);

	i = s.length;

	while ((i >= 0) && whitespace.indexOf(s.charAt(i)) >= 0)
		i--;

	s = s.substring(0, i+1);

	return s;
}

function chkPhone(phonenumField) {

	var newnum     = "";
	var phonenum   = stripWhitespace(phonenumField.value);

	if (phonenum.length < 1 ) {return true;}

	if ("011" == phonenum.substring(0, 3))
		return true;

	for (var i = 0; i < phonenum.length; i++) {
		var testchar = phonenum.charAt(i);

		if (isDigit(testchar))
			newnum = newnum + testchar;
		else if (phoneNumberDelimiters.indexOf(testchar) < 0)
			return false;
	}

	if (newnum.length==10) {
		phonenumField.value = "("+newnum.substring(0, 3)+") "+newnum.substring(3, 6)+"-"+newnum.substring(6, 10);
		return true;
	}
}

function getNewnum(phonenum, field) {

    var newnum = "z";
    var testchar;
    if (phonenum.length < 1 ) {return "";}

    for (var i = 0; i < phonenum.length; i++) {
       testchar = phonenum.charAt(i);
       if (testchar=="0") newnum = newnum + testchar;
        else if (testchar=="1") newnum = newnum + testchar;
         else if (testchar=="2") newnum = newnum + testchar;
          else if (testchar=="3") newnum = newnum + testchar;
           else if (testchar=="4") newnum = newnum + testchar;
            else if (testchar=="5") newnum = newnum + testchar;
             else if (testchar=="6") newnum = newnum + testchar;
              else if (testchar=="7") newnum = newnum + testchar;
               else if (testchar=="8") newnum = newnum + testchar;
                else if (testchar=="9") newnum = newnum + testchar;

    }

    newnum = newnum.substring(newnum.indexOf("z")+1, newnum.length);
    return newnum;
}

function chkNumeric(number) {
    var retval = false;

    if (number.length < 1 ) return true;

    for (var i = 0; i < number.length; i++) {
       testchar = number.charAt(i);
       if (testchar=="0") retval = true;
        else if (testchar=="1") retval = true;
         else if (testchar=="2") retval = true;
          else if (testchar=="3") retval = true;
           else if (testchar=="4") retval = true;
            else if (testchar=="5") retval = true;
             else if (testchar=="6") retval = true;
              else if (testchar=="7") retval = true;
               else if (testchar=="8") retval = true;
                else if (testchar=="9") retval = true;
                 else if (testchar==",") retval = true;
                  else if (testchar==".") retval = true;
                   else if (testchar=="$") retval = true;
                    else if (testchar=="-") retval = true;
       else return false;
   }
   return retval;
}


function chkWhole(number) {
    var retval = false;
    var decimal = 1;
    if (number.length < 1 ) return true;

    for (var i = 0; i < number.length; i++) {
       testchar = number.charAt(i);
       if (testchar=="0") retval = true;
        else if (testchar=="1") retval = true;
         else if (testchar=="2") retval = true;
          else if (testchar=="3") retval = true;
           else if (testchar=="4") retval = true;
            else if (testchar=="5") retval = true;
             else if (testchar=="6") retval = true;
              else if (testchar=="7") retval = true;
               else if (testchar=="8") retval = true;
                else if (testchar=="9") retval = true;
        else return false;
    }

   return retval;
}

function unFormat(number) {
    var newnum = "z";
    var testchar;

    if (number.length < 1 ) return "";

    for (var i = 0; i < number.length; i++) {
       testchar = number.charAt(i);
       if (testchar=="0") newnum = newnum + testchar;
        else if (testchar=="1") newnum = newnum + testchar;
         else if (testchar=="2") newnum = newnum + testchar;
          else if (testchar=="3") newnum = newnum + testchar;
           else if (testchar=="4") newnum = newnum + testchar;
            else if (testchar=="5") newnum = newnum + testchar;
             else if (testchar=="6") newnum = newnum + testchar;
              else if (testchar=="7") newnum = newnum + testchar;
               else if (testchar=="8") newnum = newnum + testchar;
                else if (testchar=="9") newnum = newnum + testchar;
                 else if (testchar==".") newnum = newnum + testchar;
                  else if (testchar=="-") newnum = newnum + testchar;
    }

    newnum = newnum.substring(newnum.indexOf("z")+1, newnum.length);
    return newnum;
}


function unComma(number) {
    var newnum = "z";
    var testchar;

    if (number.length < 1 ) return "";


    for (var i = 0; i < number.length; i++) {
        testchar = number.charAt(i);
        if (testchar==",") newnum = newnum;
        else if (testchar=="+" && i == 0) newnum = newnum;
        else
        newnum = newnum + testchar;
    }

    newnum = newnum.substring(newnum.indexOf("z")+1, newnum.length);
    return newnum;
}

function commaFormatted(amount) {
    var minus = '';

    if (amount < 0)
        minus = '-';

    amount = Math.abs(amount);

    var delimiter = ",";
    var a = amount.toString().split(".");
    var d = a[1];
    var i = parseInt(a[0]);

    if (!d)
        d = "00";
    if (d.length == 1)
        d = d + "0";

    if (isNaN(i))
        return '';

    var n = new String(i);
    var a = [];
    while (n.length > 3) {
        var nn = n.substr(n.length-3);
        a.unshift(nn);
        n = n.substr(0,n.length-3);
    }

    if (n.length > 0)
        a.unshift(n);

    n = a.join(delimiter);
    if (d.length < 1)
        amount = n;
    else
        amount = n + '.' + d;

    amount = minus + amount;

    return amount;
}

function round(amount, decimal_digits, zerofill) {
    var r1 = amount * Math.pow(10, decimal_digits);
    var r2 = Math.round(r1);
    var r3 = r2 / Math.pow(10, decimal_digits);


    if (zerofill) {
        var a = r3.toString();
        var d = a.indexOf(".");

        if (d < 0) {
            return r3 + ".00";
        } else {
            var pad = decimal_digits - (a.length - d - 1);

            if (pad > 0) {
                for (var i = 0; i < pad; i++)
                    r3 += "0";
            }
        }

        return r3;
    } else
        return r3;
}

function currencyFormatted(amount) {

    return commaFormatted(round(amount, 2, true));
}

//same as above, but don't put zeros unless necessary
function percentFormatted(amount) {

    return commaFormatted(round(amount, 2, false));

}

function chkWhole(number) {
    var retval = false;
    var decimal = 1;
    if (number.length < 1 ) return true;

    for (var i = 0; i < number.length; i++) {
       testchar = number.charAt(i);
       if (testchar=="0") retval = true;
        else if (testchar=="1") retval = true;
         else if (testchar=="2") retval = true;
          else if (testchar=="3") retval = true;
           else if (testchar=="4") retval = true;
            else if (testchar=="5") retval = true;
             else if (testchar=="6") retval = true;
              else if (testchar=="7") retval = true;
               else if (testchar=="8") retval = true;
            else if (testchar=="9") retval = true;
        else return false;
    }

   return retval;
}


function chkDouble(number) {
    var retval = false;
    var decimal = 1;
    if (number.length < 1 ) return true;

    for (var i = 0; i < number.length; i++) {
       testchar = number.charAt(i);
       if (testchar=="0") retval = true;
        else if (testchar=="1") retval = true;
         else if (testchar=="2") retval = true;
          else if (testchar=="3") retval = true;
           else if (testchar=="4") retval = true;
            else if (testchar=="5") retval = true;
             else if (testchar=="6") retval = true;
              else if (testchar=="7") retval = true;
               else if (testchar=="8") retval = true;
                else if (testchar=="9") retval = true;
                else if (testchar=="-" || testchar=="+") {
                  if (i==0) retval = true;
                      else return false;
                  }
        else if (testchar==".") {
            retval = true;
            decimal = decimal+1;
        }
        else return false;
    }


    if (decimal > 2)
        retval = false;

   return retval;
}

function chkNegative(number) {
    var retval = false;
    var decimal = 1;

    if (number.length < 1 )
        return true;

    for (var i = 0; i < number.length; i++) {
        testchar = number.charAt(i);
        if (testchar=="-")
            return false;
    }
    return true;
}


function chkPct(number) {
    var retval = false;
    var decimal = 1;
    var pct = 1;

    if (number.length < 1 ) return true;

    for (var i = 0; i < number.length; i++) {
       testchar = number.charAt(i);
       if (testchar=="0") retval = true;
        else if (testchar=="1") retval = true;
         else if (testchar=="2") retval = true;
          else if (testchar=="3") retval = true;
           else if (testchar=="4") retval = true;
            else if (testchar=="5") retval = true;
             else if (testchar=="6") retval = true;
              else if (testchar=="7") retval = true;
               else if (testchar=="8") retval = true;
                else if (testchar=="9") retval = true;
        else if (testchar==".") {
            retval = true;
            decimal = decimal+1;
        }
        else if (testchar=="%") {
            retval = true;
            pct = pct+1;
        } else
            return false;
    }

    if (decimal > 2)
        retval = false;
    if (pct > 2)
        retval = false;

    return retval;
}


function cleandate(date, field) {

    var newdate;
    var imonth = 0;
    var iday   = 0;
    var iyear  = 0;

    try {

        var dateLower = date.toLowerCase();
        var today = customNewDate();
        newdate   = customNewDate();
        var dayname = dateLower.substring(0,3);

        //some simple formats
        if (date == 't' || dateLower == 'today') {
            newdate = today;
        } else if (date == 'T' || dateLower == 'tomorrow') {
            newdate.setDate(today.getDate()+1);
        } else if (dateLower == 'y' || dateLower == 'yesterday') {
            newdate.setDate(today.getDate()-1);
        } else if (dayname == 'sun') {
            var currday = today.getDay();
            newdate.setDate(today.getDate()+7-currday);
        }  else if (dayname == 'mon') {
            var currday = today.getDay();
            if (currday > 0)
                newdate.setDate(today.getDate()+8-currday);
            else
                newdate.setDate(today.getDate()+1);
        } else if (dayname == 'tue') {
            var currday = today.getDay();
            if (currday > 1)
                newdate.setDate(today.getDate()+9-currday);
            else
                newdate.setDate(today.getDate()+2-currday);
        } else if (dayname == 'wed') {
            var currday = today.getDay();
            if (currday > 2)
                newdate.setDate(today.getDate()+10-currday);
            else
                newdate.setDate(today.getDate()+3-currday);
        } else if (dayname == 'thu') {
            var currday = today.getDay();
            if (currday > 3)
                newdate.setDate(today.getDate()+11-currday);
            else
                newdate.setDate(today.getDate()+4-currday);
        } else if (dayname == 'fri') {
            var currday = today.getDay();
            if (currday > 4)
                newdate.setDate(today.getDate()+12-currday);
            else
                newdate.setDate(today.getDate()+5-currday);
        } else if (dayname == 'sat') {
            var currday = today.getDay();
            if (currday > 5)
                newdate.setDate(today.getDate()+7);
            else
                newdate.setDate(today.getDate()+6-currday);
        } else {

            var pos1     = date.indexOf("/");
            var pos2     = date.indexOf("/",pos1+1);

            if (pos1 < 0) {
                pos1     = date.indexOf("-");
                pos2     = date.indexOf("-",pos1+1);
            }

            var strMonth;
            if (pos1 > 0) {
                var strMonth = date.substring(0,pos1);
            }

            var strDay;
            if (pos1 > 0 && pos2 < 0) {
                strDay   = date.substring(pos1+1);
                strYear  = today.getYear();
            } else if (pos1 > 0 && pos2 > 0) {
                strDay   = date.substring(pos1+1, pos2);
                strYear  = date.substring(pos2+1);
            }

            //********** format is 08312004 for 08/31/2004 *********//
            if (pos1 < 0 && date.length == 4) {
                imonth = date.substring(0, 2);
                iday   = date.substring(2);
                iyear  = today.getYear();
            } else if (pos1 < 0 && (date.length == 6 || date.length == 8)) {
                imonth = date.substring(0, 2);
                iday   = date.substring(2, 4);
                iyear  = date.substring(4);
            } else if (strMonth && strDay && strYear) {
                //********** format is 8/31/2004 for 08/31/2004 *********//
                imonth = parseInt(strMonth, 10);
                iday   = parseInt(strDay,   10);
                iyear  = parseInt(strYear,  10);
            } else {
                return;
            }

            if (iyear < 100)
                iyear = parseInt(2000) + parseInt(iyear);

            if (imonth >= 1 && imonth <= 12 && iday >= 1 && iday <= 99 && iyear >= 1900 && iyear <= 8000)
                newdate = new Date(iyear, imonth-1, iday);
        }



        if (newdate) {
            var month = newdate.getMonth() + 1;
            var day = newdate.getDate();
            var year = newdate.getFullYear();

            if (month < 10)
                month = "0" + month;

            if (day < 10)
                day = "0" + day;

            field.value =  month + "/" + day + "/" + year;
        }
    }
    catch (e) {}
}

function isDigit (c) {
	return ((c >= "0") && (c <= "9"))
}


function chkInteger(field) {
	return isInteger(stripWhitespace(field.value));
}

function isInteger(number) {

	if (!number || number.length < 1 ) return true;

	for (var i = 0; i < number.length; i++) {
		var c = number.charAt(i);
		if (!isDigit(c)) return false;
	}

	// All characters are numbers.
	return true;
}

function chkDate(date, field) {

     var retval = false;
     var newnum = "z";
     var testchar;

     if (date.length < 1 )
        return true;
     if (date.length != 10) {
        errors += '('+field+') Improper date format!' + "\n";
        if (!noalert)
            alert(errors);
        return retval;
    }

     if (date.charAt(0)=="0" || date.charAt(0) == "1")
   retval = true;
     else {
        errors += '('+field+') Bad Month format!' + "\n";
        if (!noalert)
            alert(errors);
        return retval;
    }

     retval = true;

    if (date.charAt(0)=="1") {
        retval = false;
        if (date.charAt(1)=="0") retval = true;
            else if (date.charAt(1)=="1") retval = true;
            else if (date.charAt(1)=="2") retval = true;
    }
    if (retval == false) {
        errors += '('+field+') Improper Month format.' + "\n";
        if (!noalert)
            alert(errors);
        return retval;
    }

    retval = false;
    if (chkInt(date.charAt(1)))
        retval = true;

    if (retval == false) {
        errors += '('+field+') Improper Month format.' + "\n";
        if (!noalert)
            alert(errors);
        return retval;
    }

     retval = false;
     if (date.charAt(2)=="/")
        retval = true;
     else {
        errors += '('+field+') Improper Date format.' + "\n";
        if (!noalert)
            alert(errors);
        return retval;
    }

    retval = true;
    if (date.charAt(0) =="0" && date.charAt(1) =="2") {
        retval=false;
        if (date.charAt(3)=="0") retval = true;
            else if (date.charAt(3)=="1")
                retval = true;
            else if (date.charAt(3)=="2")
                retval = true;
    }
    if (retval == false) {
        errors += '('+field+') February only has 28 days!...except leap year' + "\n";
        if (!noalert)
            alert(errors);
        return retval;
    }

    retval = false;
    if (date.charAt(3)=="0") retval = true;
        else if (date.charAt(3)=="1") retval = true;
        else if (date.charAt(3)=="2") retval = true;
        else if (date.charAt(3)=="3") retval = true;
    if (retval == false) {
        errors += '('+field+') Too many days!' + "\n";
        if (!noalert)
            alert(errors);
        return false;
    }

    retval = true;
    if (date.charAt(3)=="3") {
        retval=false;
        if (date.charAt(4)=="0")
            retval = true;
        else if (date.charAt(4)=="1")
            retval = true;
    }

    if (retval == false) {
        errors += '('+field+') Too many days!' + "\n";
        if (!noalert)
            alert(errors);
        return retval;
    }

    if (!chkInt(date.charAt(4))) {
        errors += '('+field+') Improper Day format.' + "\n";
        if (!noalert)
            alert(errors);
        return retval;
    }

    if (date.charAt(0) == "1" && date.charAt(1) == "1" && date.charAt(3) == "3" && date.charAt(4) != "0") {
        errors += '('+field+') November only has 30 days!' + "\n";
        if (!noalert)
            alert(errors);
        return false;
    }

    if (date.charAt(1) == "4" && date.charAt(3) == "3" && date.charAt(4) != "0") {
        errors += '('+field+') April only has 30 days!' + "\n";
        if (!noalert)
            alert(errors);
        return false;
    }

    if (date.charAt(1) == "6" && date.charAt(3) == "3" && date.charAt(4) != "0") {
        errors += '('+field+') June only has 30 days!' + "\n";
        if (!noalert)
            alert(errors);
        return false;
    }

    if (date.charAt(1) == "9" && date.charAt(3) == "3" && date.charAt(4) != "0") {
        errors += '('+field+') September only has 30 days!' + "\n";
        if (!noalert)
            alert(errors);
        return false;
    }

    if (!date.charAt(5)=="/") {
        errors += '('+field+') Improper date format!' + "\n";
        if (!noalert)
            alert(errors);
        return false;
    }

    if (!date.charAt(6)=="2" && !date.charAt(6)=="1" ) {
        errors += '('+field+') Bad Year format!' + "\n";
        if (!noalert)
            alert(errors);
        return false;
    }


    if (date.charAt(6)=="2" && date.charAt(7) != "0") {
        errors += '('+field+') Year too far in the future!' + "\n";
        if (!noalert)
            alert(errors);
        return false;
    }
    if (date.charAt(6)=="1" && date.charAt(7) != "9") {
        errors += '('+field+') Year too far in the past!' + "\n";
        if (!noalert)
            alert(errors);
        return false;
    }

    retval = true
    if (date.charAt(7) == "0") {
        retval = false;
        if (date.charAt(8) == "0") retval = true;
            else if (date.charAt(8) == "1")
                retval = true;
            else if (date.charAt(8) == "2")
                retval = true;
    }
    if (retval == false) {
        errors += '('+field+') Year too far in the future!' + "\n";
        if (!noalert)
            alert(errors);
        return retval;
    }

    retval = false;
    if (chkInt(date.charAt(8)))
        retval = true;
    if (retval == false) {
        errors += '('+field+') Year too far in the past!' + "\n";
        if (!noalert)
            alert(errors);
        return retval;
    }

    if (!chkInt(date.charAt(9))) {
        errors += '('+field+') Bad Year format!' + "\n";
        if (!noalert)
            alert(errors);
        return false;
    }


     return true;
}


function hasNumber(number) {
    var retval = false;

    if (number.length < 1 ) {return false;}

    for (var i = 0; i < number.length; i++) {
       testchar = number.charAt(i);
       if (testchar=="0") retval = true;
        else if (testchar=="1") retval = true;
         else if (testchar=="2") retval = true;
          else if (testchar=="3") retval = true;
           else if (testchar=="4") retval = true;
            else if (testchar=="5") retval = true;
             else if (testchar=="6") retval = true;
              else if (testchar=="7") retval = true;
               else if (testchar=="8") retval = true;
            else if (testchar=="9") retval = true;

   }
   return retval;

}

function hasSpace(field) {

    var retval = false;

    if (field.length < 1) return false;

    for (var i=0; i<field.length; i++) {
        testchar = field.charAt(i);
        if (testchar==" ") retval = true;
    }
    return retval;
}

function hasWeird(field) {

    var retval = false;

    if (field.length < 1) return false;

    for (var i=0; i<field.length; i++) {
        testchar = field.charAt(i);
        if (testchar=="!") retval = true;
        else if (testchar=="@") retval = true;
        else if (testchar=="#") retval = true;
        else if (testchar=="$") retval = true;
        else if (testchar=="%") retval = true;
        else if (testchar=="^") retval = true;
        else if (testchar=="&") retval = true;
        else if (testchar=="*") retval = true;
        else if (testchar=="(") retval = true;
        else if (testchar==")") retval = true;
        else if (testchar=="+") retval = true;
        else if (testchar=="=") retval = true;
        else if (testchar=="|") retval = true;
        else if (testchar=="\\") retval = true;
        else if (testchar=="[") retval = true;
        else if (testchar=="]") retval = true;
        else if (testchar=="{") retval = true;
        else if (testchar=="}") retval = true;
        else if (testchar==";") retval = true;
        else if (testchar==":") retval = true;
        else if (testchar=="\'") retval = true;
        else if (testchar=="\"") retval = true;
        else if (testchar==",") retval = true;
        else if (testchar=="<") retval = true;
        else if (testchar==">") retval = true;
        else if (testchar=="?") retval = true;
        else if (testchar=="/") retval = true;

    }
    return retval;
}

function chkFilename(field) {

    var retval = true;

    if (field.length < 1) return false;

    for (var i=0; i<field.length; i++) {
        testchar = field.charAt(i);
        if      (testchar=="&") retval = false;
        else if (testchar=="*") retval = false;
        else if (testchar=="#") retval = false;
        else if (testchar=="\'") retval = false;
        else if (testchar=="\"") retval = false;
        else if (testchar=="?") retval = false;

    }
    return retval;
}


function chkInt(charno) {
 var vernum = false;
if (charno=="0") vernum = true;
    else if (charno=="1") vernum = true;
     else if (charno=="2") vernum = true;
      else if (charno=="3") vernum = true;
       else if (charno=="4") vernum = true;
        else if (charno=="5") vernum = true;
         else if (charno=="6") vernum = true;
          else if (charno=="7") vernum = true;
           else if (charno=="8") vernum = true;
            else if (charno=="9") vernum = true;

    return vernum;
}

function hasElement(f, elementName) {

    var retVal = false;

    for(var i = 0; i < f.length; i++) {
            var e = f.elements[i];
            if (e.name == elementName) {
                return true;
            }
    }

    return retVal;
}


function verify(f) {
	var empty_fields = "";

	var errors = "";
	var n        = f.length;
	var elements = f.elements;

	var firstErrorField = null;

	for(var i = 0; i < n; i++) {
		var e = elements[i];
		var name = e.realname;

		e.style.color = "";

		if (!name || name == '')
			name = e.name;

		if (e.type == 'select-one' && e.required && e.value == "") {
			activate(e);
			empty_fields += "\n\t" + name;
			if (firstErrorField == null) firstErrorField = e;

		} else if (e.type == 'select-multiple' && e.required && getSelectedValueArray(e, true).length<1) {
			activate(e);
			empty_fields += "\n\t" + name;
			if (firstErrorField == null) firstErrorField = e;

		} else if (e.type == 'file' && e.required && e.value == "") {
			empty_fields += "\n\t" + name;
			if (firstErrorField == null) firstErrorField = e;
		} else if ((e.type == "text") || (e.type == "textarea")) {

			e.value = stripWhitespace(e.value);

			if (e.required) {
				if ((e.value == null) || (e.value == "")|| (e.value == " ")|| (e.value == "  ")|| (e.value == "   ")) {
					empty_fields += "\n\t" + name;
					if (firstErrorField == null) firstErrorField = e;
				}
			}
			if (e.numeric) {
				if (!chkNumeric(e, e.getAttribute("no_format"))) {
					errors += "\n- The value, '"+e.value+"', in '" + name + "' is not a valid number.\n";
					activate(e);
					if (firstErrorField == null) firstErrorField = e;
				}
			}
			if (e.integer) {
				if (!chkInteger(e)) {
					errors += "\n- The field '" + name.toUpperCase() + "' is not a valid number.\n";
					activate(e);
					if (firstErrorField == null) firstErrorField = e;
				}
			}
			if (e.isdate) {
				cleandate(e);
				if (!chkDate(e.value, name)) {
					errors += "\n- The field '" + name.toUpperCase() + "' is not a valid Date.\n";
					activate(e);
					if (firstErrorField == null) firstErrorField = e;
				}
			}
			if (e.isphone) {
				if (!chkPhone(e)) {
					errors += "\n- The field '" + name.toUpperCase() + "' should be a 10 digit phone number OR begin with 011- for international numbers.\n";
					activate(e);
					if (firstErrorField == null) firstErrorField = e;
				}
			}
			if (e.ssn) {
				if (!chkSocialSecurity(e)) {
					errors += "\n- The field '" + name.toUpperCase() + "' should be a 9 digit number.\n";
					activate(e);
					if (firstErrorField == null) firstErrorField = e;
				}
			}
			if (e.isfilename) {
				if (!chkFilename(e.value)) {
					errors += "\n- The filename contains invalid characters.\n";
					activate(e);
					if (firstErrorField == null) firstErrorField = e;
				}
			}
		}
	}

	if (!empty_fields && !errors)
		return true;

	if (empty_fields) {
		errors += "\n- The following required fields are empty:\n"+ empty_fields;
	}

	showMessage(errors, firstErrorField);

	return false;
}

//put the focus on the field that had an error
function activate(field) {

    if (field.type != 'select-one')
        field.style.color = 'red';

}
