function frmCheck(frm, fldRequired, fldDescription) {

	var alertMsg = "";
	
	for (var i = 0; i < fldRequired.length; i++) {
		
		var obj = frm.elements[fldRequired[i]];
		
    if (obj) {
      
      switch(obj.type) {
        case "select-one":
          if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == "") {
            alertMsg += " - " + fldDescription[i] + "\n";
          }
          break;
        case "select-multiple":
          if (obj.selectedIndex == -1) {
            alertMsg += " - " + fldDescription[i] + "\n";
          }
          break;
        case "text":
        case "textarea":
          if (obj.value == "" || obj.value == null) {
            alertMsg += " - " + fldDescription[i] + "\n";
          }
          break;
        default:
      }

      if (obj.type == undefined){
        var blnchecked = false;
        for (var j = 0; j < obj.length; j++) {
          if (obj[j].checked){
            blnchecked = true;
          }
        }
        if (!blnchecked){
          alertMsg += " - " + fldDescription[i] + "\n";
        }
      }
    }
	}

	if (alertMsg.length == 0) {
		return true;
	}
	else {
		alert("Please complete the following fields:\n" + alertMsg);
		return false;
	}
}

function registerFrmCheck(frm) {

  if (document.registerFrm.email.value != document.registerFrm.confirm_email.value) {
    alert ("E-mail Address and confirmation e-mail address do not match.\nPlease try again by retyping both.");
    return false;
  }

  if (document.registerFrm.pword.value != document.registerFrm.confirm_pword.value) {
    alert("Password and confirm password do not match.\nPlease try again by retyping both.");
    return false;
  }

  return frmCheck(frm, Array("firstname", "lastname", "username", "pword", "email"), Array("First Name", "Last Name", "Username", "Password", "Email Address"));
}

function billFrmCheck(frm) {
  return frmCheck(frm, Array("serial", "zip"), Array("Serial Number", "Zip/Postal Code"));
}

function profileFrmCheck(frm) {
	return frmCheck(frm, Array("firstname", "lastname", "username", "password", "email"), Array("First Name", "Last Name", "Username", "Password", "Email Address"));
}

function searchFrmCheck(frm) {
  return frmCheck(frm, Array("searchby", "searchtext"), Array("Search By", "Serial Number or Zip Code"));
}

function feedbackFrmCheck(frm) {
  return frmCheck(frm, Array("Name", "Email", "Message"), Array("Name", "Email", "Message"));
}

function setSeries(denom) {

  var ser = document.getElementById('billSeries');
  
  for (i = ser.options.length - 1; i > 0; i--) {
    ser.options[i] = null;
  }

  for (i = 0; i < grp[denom].length; i++) {
    ser.options[i] = new Option(grp[denom][i].text, grp[denom][i].value);
  }
  
  ser.options[0].selected = true;
}

var grp = new Array(7);
for (i = 0; i < 7; i++) {
  grp[i] = new Array();
}

grp[0][0] = new Option("2006","2006");
grp[0][1] = new Option("2001","2001");
grp[0][2] = new Option("2003","2003");
grp[0][3] = new Option("2003A","2003A");
grp[0][4] = new Option("1999","1999");
grp[0][5] = new Option("1995","1995");
grp[0][6] = new Option("1993","1993");
grp[0][7] = new Option("1988","1988");
grp[0][8] = new Option("1988A","1988A");
grp[0][9] = new Option("1985","1985");
grp[0][10] = new Option("1981","1981");
grp[0][11] = new Option("1981A","1981A");
grp[0][12] = new Option("1977","1977");
grp[0][13] = new Option("1977A","1977A");
grp[0][14] = new Option("1974","1974");
grp[0][15] = new Option("1969","1969");
grp[0][16] = new Option("1969A","1969A");
grp[0][17] = new Option("1969B","1969B");
grp[0][18] = new Option("1969C","1969C");
grp[0][19] = new Option("1969D","1969D");
grp[0][20] = new Option("1963A","1963A");
grp[0][21] = new Option("1963B","1963B");
grp[0][22] = new Option("1963","1963");

grp[1][0] = new Option("2003A","2003A");
grp[1][1] = new Option("2003","2003");
grp[1][2] = new Option("1995","1995");
grp[1][3] = new Option("1976","1976");
grp[1][4] = new Option("1963A","1963A");
grp[1][5] = new Option("1963","1963");

grp[2][0] = new Option("2006","2006");
grp[2][1] = new Option("2001","2001");
grp[2][2] = new Option("2003","2003");
grp[2][3] = new Option("2003A","2003A");
grp[2][4] = new Option("1999","1999");
grp[2][5] = new Option("1995","1995");
grp[2][6] = new Option("1993","1993");
grp[2][7] = new Option("1988","1988");
grp[2][8] = new Option("1988A","1988A");
grp[2][9] = new Option("1985","1985");
grp[2][10] = new Option("1981","1981");
grp[2][11] = new Option("1981A","1981A");
grp[2][12] = new Option("1977","1977");
grp[2][13] = new Option("1977A","1977A");
grp[2][14] = new Option("1974","1974");
grp[2][15] = new Option("1969","1969");
grp[2][16] = new Option("1969A","1969A");
grp[2][17] = new Option("1969B","1969B");
grp[2][18] = new Option("1969C","1969C");
grp[2][19] = new Option("1963A","1963A");
grp[2][20] = new Option("1963","1963");

grp[3][0] = new Option("2006","2006");
grp[3][1] = new Option("2004A","2004A");
grp[3][2] = new Option("2003A","2003A");
grp[3][3] = new Option("2003","2003");
grp[3][4] = new Option("2001","2001");
grp[3][5] = new Option("1999","1999");
grp[3][6] = new Option("1995","1995");
grp[3][7] = new Option("1993","1993");
grp[3][8] = new Option("1990","1990");
grp[3][9] = new Option("1988A","1988A");
grp[3][10] = new Option("1985","1985");
grp[3][11] = new Option("1981","1981");
grp[3][12] = new Option("1981A","1981A");
grp[3][13] = new Option("1977","1977");
grp[3][14] = new Option("1977A","1977A");
grp[3][15] = new Option("1974","1974");
grp[3][16] = new Option("1969","1969");
grp[3][17] = new Option("1969A","1969A");
grp[3][18] = new Option("1969B","1969B");
grp[3][19] = new Option("1969C","1969C");
grp[3][20] = new Option("1963A","1963A");
grp[3][21] = new Option("1963","1963");

grp[4][0] = new Option("2006","2006");
grp[4][1] = new Option("2004","2004");
grp[4][2] = new Option("2004A","2004A");
grp[4][3] = new Option("2001","2001");
grp[4][4] = new Option("1999","1999");
grp[4][5] = new Option("1996","1996");
grp[4][6] = new Option("1995","1995");
grp[4][7] = new Option("1993","1993");
grp[4][8] = new Option("1990","1990");
grp[4][9] = new Option("1988A","1988A");
grp[4][10] = new Option("1985","1985");
grp[4][11] = new Option("1981","1981");
grp[4][12] = new Option("1981A","1981A");
grp[4][13] = new Option("1977","1977");
grp[4][14] = new Option("1974","1974");
grp[4][15] = new Option("1969","1969");
grp[4][16] = new Option("1969A","1969A");
grp[4][17] = new Option("1969B","1969B");
grp[4][18] = new Option("1969C","1969C");
grp[4][19] = new Option("1963A","1963A");
grp[4][20] = new Option("1963","1963");

grp[5][0] = new Option("2006","2006");
grp[5][1] = new Option("2004A","2004A");
grp[5][2] = new Option("2004","2004");
grp[5][3] = new Option("2001","2001");
grp[5][4] = new Option("1996","1996");
grp[5][5] = new Option("1993","1993");
grp[5][6] = new Option("1990","1990");
grp[5][7] = new Option("1988","1988");
grp[5][8] = new Option("1985","1985");
grp[5][9] = new Option("1981","1981");
grp[5][10] = new Option("1981A","1981A");
grp[5][11] = new Option("1977","1977");
grp[5][12] = new Option("1974","1974");
grp[5][13] = new Option("1969","1969");
grp[5][14] = new Option("1969A","1969A");
grp[5][15] = new Option("1969B","1969B");
grp[5][16] = new Option("1969C","1969C");
grp[5][17] = new Option("1963A","1963A");

grp[6][0] = new Option("2006","2006");
grp[6][1] = new Option("2003A","2003A");
grp[6][2] = new Option("2003","2003");
grp[6][3] = new Option("2001","2001");
grp[6][4] = new Option("1999","1999");
grp[6][5] = new Option("1996","1996");
grp[6][6] = new Option("1993","1993");
grp[6][7] = new Option("1990","1990");
grp[6][8] = new Option("1988","1988");
grp[6][9] = new Option("1985","1985");
grp[6][10] = new Option("1981","1981");
grp[6][11] = new Option("1981A","1981A");
grp[6][12] = new Option("1977","1977");
grp[6][13] = new Option("1974","1974");
grp[6][14] = new Option("1969","1969");
grp[6][15] = new Option("1969A","1969A");
grp[6][16] = new Option("1969C","1969C");
grp[6][17] = new Option("1966A","1966A");
grp[6][18] = new Option("1966","1966");
grp[6][19] = new Option("1963A","1963A");
