function setFormVariables(arrForms, strID)
{
	arrForms[0]++;
	if (arrForms[1].length == 0)
		arrForms[1] = strID
	return arrForms;
}

/*****************************
*	Code from http://www.evolt.org/article/rating/17/24700/
*	Modified by NJ
*****************************/
function isCCValid(strCCNo, strCCType)
{
	var cardNumber = document.getElementById(strCCNo).value;
	var cardType = document.getElementById(strCCType).value.toLowerCase();

	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;

		switch(cardType)
		{
			case "mastercard":
				lengthIsValid = (cardNumberLength == 16);
				prefixRegExp = /^5[1-5]/;
				break;

			case "visa":
				lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 13);
				prefixRegExp = /^4/;
				break;

			case "american express":
				lengthIsValid = (cardNumberLength == 15);
				prefixRegExp = /^3(4|7)/;
				break;

			case "discover":
				lengthIsValid = (cardNumberLength == 16);
				prefixRegExp = /^6011/;
				break;

			default:
				prefixRegExp = /^$/;
				alert("Card type not found");
		}

		prefixIsValid = prefixRegExp.test(cardNumbersOnly);
		isValid = prefixIsValid && lengthIsValid;
	}

	if (isValid)
	{
		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;
}


/***********************
//			Form validation
***********************/
function validateForm(objForm)
{
	var arrForms = new Array(0, "");
	if (!checkTextbox("Email"))
		setFormVariables(arrForms, "Email");
	if (!checkEmail("Email"))
		setFormVariables(arrForms, "Email");
	if (!checkTextbox("ConfirmEmail"))
		setFormVariables(arrForms, "ConfirmEmail");
	else
		if (!checkEqual("Email", "ConfirmEmail"))
			setFormVariables(arrForms, "ConfirmEmail");
	if (!checkTextbox("Password"))
		setFormVariables(arrForms, "Password");
	if (!checkTextbox("ConfirmPassword"))
		setFormVariables(arrForms, "ConfirmPassword");
	else
		if (!checkEqual("Password", "ConfirmPassword"))
			setFormVariables(arrForms, "ConfirmPassword");
	if (!checkTextbox("FullName"))
		setFormVariables(arrForms, "FullName");
	if (!checkTextbox("ContactNumber"))
		setFormVariables(arrForms, "ContactNumber");
	if (!checkSelect("MostCalledCountry"))
		setFormVariables(arrForms, "MostCalledCountry");
	if (!checkSelect("TimeToCall"))
		setFormVariables(arrForms, "TimeToCall");
	if (!checkSelect("FoundOut"))
		setFormVariables(arrForms, "FoundOut");
	if (!checkTextbox("CCName"))
		setFormVariables(arrForms, "CCName");
	if (!checkSelect("CCType"))
		setFormVariables(arrForms, "CCType");
	if (!checkTextbox("CCNumber"))
		setFormVariables(arrForms, "CCNumber");
	else
	{
		if (checkSelect("CCType"))
		{
			if (!isCCValid("CCNumber", "CCType"))
			{
				notify("CCNumber");
				setFormVariables(arrForms, "CCNumber");
			}
			else
				unnotify("CCNumber");
		}
	}
	if (!checkTextbox("CCV"))
		setFormVariables(arrForms, "CCV");
	if (!checkTextbox("Address"))
		setFormVariables(arrForms, "Address");
	if (!checkTextbox("City"))
		setFormVariables(arrForms, "City");
	if (!checkSelect("State"))
		setFormVariables(arrForms, "State");
	if (!checkTextbox("Zip"))
		setFormVariables(arrForms, "Zip");
	if (!checkTextbox("Ani"))
		setFormVariables(arrForms, "Ani");
	if (!checkCheckbox("Agree"))
		setFormVariables(arrForms, "Agree");
	if (arrForms[0] == 0)
	{
		hidePanel(document.getElementById('ErrorPanel'));
		objForm.submit();
	}
	else
	{
		showPanel(document.getElementById('ErrorPanel'));
		setFocus(arrForms[1]);
	}
	return;
}
/***********************
//		End form validation
***********************/