function requireRadio(radioField) {
	var bChecked;
	bChecked = false;

	for (i=0; i<radioField.length; i++) {
		if (radioField[i].checked) {
			bChecked = true;
		}
	}
	if (bChecked == true) {
		return true;
	} else {
		return false;
	}
}


function validPassword(sPassword) {

  var obj = sPassword.value;
  if(obj.length<6){
    return false;
  }
  // check for 6 characters or more, containng only digits and
  var pattern = /^[a-zA-Z0-9]{6,}$/;
  if(!obj.match(pattern)){
      return false;
  }
  // Check for existence of alpha-characters
  var pattern = /[a-zA-Z]+/;
  if(!obj.match(pattern)){
      return false;
  }

  var pattern = /[0-9]+/;
  if(!obj.match(pattern)){
      return false;
  }
  return true;

}


function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validRequired(formField)
{
	var result = true;

	if (formField.value == "")
	{
		result = false;
	}

	return result;
}

function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}

function inValidCharSet(str,charset)
{
	var result = true;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}

	return result;
}

function validEmail(formField)
{
	var result = true;


	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{

		result = false;
	}

  return result;

}

function validNum(formField)
{
	var result = true;


 	if (result)
 	{
 		if (!allDigits(formField.value))
 		{

			result = false;
		}
	}

	return result;
}


function validInt(formField)
{
	var result = true;


 	if (result)
 	{
 		var num = parseInt(formField.value,10);
 		if (isNaN(num))
 		{

			result = false;
		}
	}

	return result;
}


function validDate(formField)
{
	var result = true;

 	if (result)
 	{
 		var elems = formField.value.split("/");

 		result = (elems.length == 3); // should be three components

 		if (result)
 		{
 			var month = parseInt(elems[0],10);
  			var day = parseInt(elems[1],10);
 			var year = parseInt(elems[2],10);
			result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
					 allDigits(elems[1]) && (day > 0) && (day < 32) &&
					 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
 		}

	}

	return result;
}

function validCreditCard(formField)
{
	var cardNumber = formField.value.replace(/-/g," ");
	var isValid = false;
	var ccCheckRegExp = /[^\d ]/;
	isValid = !ccCheckRegExp.test(cardNumber);

	if (isValid)
	{
		var cardNumbersOnly = cardNumber.replace(/ /g,"");
		var cardNumberLength = cardNumbersOnly.length;
		var lengthIsValid = false;
		var prefixIsValid = false;
		var prefixRegExp;

		// Check MasterCard
		lengthIsValid = (cardNumberLength == 16);
		prefixRegExp = /^5[1-5]/;
		prefixIsValid = prefixRegExp.test(cardNumbersOnly);
		isValid = prefixIsValid && lengthIsValid;

		if (!isValid)
		{
			// Check Visa
			lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 13);
			prefixRegExp = /^4/;
			prefixIsValid = prefixRegExp.test(cardNumbersOnly);
			isValid = prefixIsValid && lengthIsValid;
		}

		if (!isValid)
		{
			// Check AMEX
			lengthIsValid = (cardNumberLength == 15);
			prefixRegExp = /^3(4|7)/;
			prefixIsValid = prefixRegExp.test(cardNumbersOnly);
			isValid = prefixIsValid && lengthIsValid;
		}
	}

	if (isValid)
	{
		// Check Check-digit
		var numberProduct;
		var numberProductDigitIndex;
		var checkSumTotal = 0;

		for (digitCounter = cardNumberLength - 1;
			digitCounter >= 0;
			digitCounter--)
		{
			  checkSumTotal += parseInt (cardNumbersOnly.charAt(digitCounter));
			  digitCounter--;
			  numberProduct = String((cardNumbersOnly.charAt(digitCounter) * 2));
			  for (var productDigitCounter = 0;
				productDigitCounter < numberProduct.length;
				productDigitCounter++)
			  {
				checkSumTotal +=
				  parseInt(numberProduct.charAt(productDigitCounter));
			  }
		}

		isValid = (checkSumTotal % 10 == 0);
	}

	return isValid;
}
