var emailError = "";

function checkRadioGroup(radioGroup) 
{
	sOption = -1;
	for (i=0; i<radioGroup.length; i++) 
	{
		if (radioGroup[i].checked) 
		{
			sOption = i;
		}
	}
	return(sOption);
}

function checkCCDate(zmonth,zyear)
{
	var cDate = new Date();
	var retval = false;

	if(zyear == "" || zmonth == "")
	{
		retval = false;
	} else {
		if(cDate.getFullYear() == zyear)
		{
			if(zmonth > cDate.getMonth())
			{
				retval = true;
			}
		} else {
			if(zyear > cDate.getFullYear())
			{
				retval = true;
			}	
		}
	}

	return(retval);
}

function checkCCNum(s) 
{
	// remove non-numerics
	var v = "0123456789";
	var w = "";
	
	for (i=0; i < s.length; i++) 
	{
		x = s.charAt(i);
		if (v.indexOf(x,0) != -1)
			w += x;
	}

	// validate number
	j = w.length / 2;
	if (j < 6.5 || j > 8 || j == 7) return false;

	k = Math.floor(j);
	m = Math.ceil(j) - k;
	c = 0;

	for (i=0; i<k; i++) 
	{
		a = w.charAt(i*2+m) * 2;
		c += a > 9 ? Math.floor(a/10 + a%10) : a;
	}

	for (i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;
	return (c%10 == 0);
}

//check email address ala Sandeep V. Tamhankar ... Thanks Sandeep
function checkEmail (emailStr) 
{
	var checkTLD=1;

	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|ca)$/;

	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	
	var matchArray=emailStr.match(emailPat);

	if (matchArray==null) 
	{
		emailError = "Email address seems incorrect (check @ and .'s)";
		return false;
	}

	var user=matchArray[1];
	var domain=matchArray[2];

	for (i=0; i<user.length; i++) 
	{
		if (user.charCodeAt(i)>127) 
		{
			emailError = "Ths username of your email address contains invalid characters.";
			return false;
   		}
	}

	for (i=0; i<domain.length; i++) 
	{
		if (domain.charCodeAt(i)>127) 
		{
			emailError = "Ths domain name of your email address contains invalid characters.";
			return false;
   		}
	}

	if (user.match(userPat)==null) 
	{
		emailError = "The username of your email address doesn't seem to be valid.";
		return false;
	}	

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) 
	{
		for (var i=1;i<=4;i++) 
		{
			if (IPArray[i]>255) 
			{
				emailError = "The destination IP address of your email address is invalid!";
				return false;
   			}
		}
		return true;
	}

	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	
	for (i=0;i<len;i++) 
	{
		if (domArr[i].search(atomPat)==-1) 
		{
			emailError = "The domain name of your email address does not seem to be valid.";
			return false;
   		}
	}


	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) 
	{
		emailError = "Your email address must end in a well-known domain or two letter " + "country.";
		return false;
	}


	if (len<2) 
	{
		emailError = "Your email address is missing a hostname!";
		return false;
	}


	return true;
}

