function checkform(me) {
	for (a=0; a< me.requiredinfo.length; a++){
		var reqd = me.requiredinfo[a].value.split(":");
		// Text Field Validation
		if (me.elements[reqd[0]].type == "text" || me.elements[reqd[0]].type == "textarea" || me.elements[reqd[0]].type == "password") {
			if(me.elements[reqd[0]].value == "") {
				warnUser(reqd[1]);
				me.elements[reqd[0]].focus();
				return false;
			}
		// Select Boxes
		} else if (me.elements[reqd[0]].selectedIndex != undefined) {
			var selectField = me.elements[reqd[0]];
			if (selectField.selectedIndex == -1 || selectField[selectField.selectedIndex].value == "") {
				warnUser(reqd[1]);
				return false;
			}
		// Radio Buttons and Checkboxes
		} else if (me.elements[reqd[0]].length) {
			if (!isChecked(me.elements[reqd[0]])) {
				warnUser(reqd[1]);
				return false;
			}
		// Hidden fields -- do not set the focus.
		} else if (me.elements[reqd[0]].type == "hidden") {
			if(me.elements[reqd[0]].value =="") {
				warnUser(reqd[1]);
				return false;
			}
		} else {
			alert("Unknown Error");
			return false;
		}
	}

	calc_sales_mod(me);
	return true;
}

function isChecked (rad) {
	for (i=0; i< rad.length; i++) {
		if (rad[i].checked)
			return true;	
	}
	return false;
}
function warnUser(fillme) {
	alert ("Please fill in "+fillme);
}


function calc_sales_mod(form1)
{
  var i;							// loop var.
  var char_code;					// code of char at position i in name string
  var company;						// name of company
  var last_name;					// last name of person submitting form
  var length;						// length of string
  var no_punc_length;				// length after punctuation and white space taken out
  var sum;							// sum of char code values in string
  var remainder;					// modulus/remainder of sum


  // Try to use company name (converted to lower case) if it is 4 or more characters.
  //
  company = form1.company.value.toLowerCase();
  length = company.length;
  no_punc_length = 0;
  sum = 0;
    
  if (length > 3) 
  {
    i = 0;

    // Go through name; add char code to sum if it is a lower case letter and increment length.
	//
    while ((no_punc_length < 10) && (i < length))
	{
	  char_code = company.charCodeAt(i);
	  
      if ((char_code >= 97) && (char_code <= 122))
      {
	    no_punc_length++;
        sum += char_code;
      }

	  i++;
	}
  }

  if (no_punc_length < 4)
  {
    // We had less than 4 chars from company name; use last name.
	//
    last_name = form1.last_name.value.toLowerCase();
    length = last_name.length;
	no_punc_length = 0;
    sum = 0;
	i = 0;

	// Go through name; add char code to sum if it is a lower case letter and increment length.
	//	
	while ((no_punc_length < 10) && (i < length))
	{
	  char_code = last_name.charCodeAt(i);
	  
      if ((char_code >= 97) && (char_code <= 122))
      {
	    no_punc_length++;
        sum += char_code;
      }

	  i++;
	}
  }

  // Get remainder as mod 20 of sum.  Add 1 to avoid 0.  Set form checksum and remainder values.
  //
  remainder = sum % 20; 
  remainder += 1;
  form1.csum.value = sum;
  form1.sales_mod.value = remainder;
}

