
<!--
function validate_not_incl_num(field,id,minLen,maxLen)
{
	var valid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-,' ";
	var ok="yes";
	var temp;

	if (field==null || field==" " || field.length < minLen || field.length > maxLen)
	{
	   	haveerrors = 1;
	   	msg += id + " is required and must be between (" + minLen + " and " + maxLen +") characters.\n";
		return false;
	}

	for (var i=0;i<field.length;i++)
	{
		temp="" + field.substring(i,i+1);
		if (valid.indexOf(temp)=="-1") ok="no";
	}
	if (ok=="no")
	{
		haveerrors = 1;
		msg += id + " cannot contain any special characters.\n";
		return false;
	}
	return true;
}


function validate_incl_num(field,id,minLen,maxLen)
{
	var valid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-,'0123456789#@ ";
	var ok="yes";
	var temp;

	if (field==null || field==" " || field.length < minLen || field.length > maxLen)
	{
	   	haveerrors = 1;
	   	msg += id + " is required and must be between (" + minLen + " and " + maxLen +") characters.\n";
		return false;
	}

	for (var i=0;i<field.length;i++)
	{
		temp="" + field.substring(i,i+1);
		if (valid.indexOf(temp)=="-1") ok="no";
	}
	if (ok=="no")
	{
		haveerrors = 1;
		msg += id + " cannot contain any special characters.\n";
		return false;
	}
	return true;
}


function validate_phone(field,id)
{
	var valid="-0123456789() ";
	var ok="yes";
	var temp;

	if (field==null || field==" " || field.length < 5 || field.length > 18)
	{
	   	haveerrors = 1;
	   	msg += id + " format is wrong\n";
		return false;
	}

	for (var i=0;i<field.length;i++)
	{
		temp="" + field.substring(i,i+1);
		if (valid.indexOf(temp)=="-1") ok="no";
	}
	if (ok=="no")
	{
		haveerrors = 1;
		msg += id + " cannot contain any special characters.\n";
		return false;
	}
	return true;
}


function validateNumber(field,id)
{
	var valid="0123456789.";
	var ok="yes";
	var temp;

	if (field==null || field==" ")
	{
	   	haveerrors = 1;
	   	msg += id + " amout input is wrong\n";
		return false;
	}

	for (var i=0;i<field.length;i++)
	{
		temp="" + field.substring(i,i+1);
		if (valid.indexOf(temp)=="-1") ok="no";
	}
	if (ok=="no")
	{
		haveerrors = 1;
		msg += id + " cannot contain any special characters.\n";
		return false;
	}
	return true;
}

function validateZip(inValue,id)
{
	if (inValue.length<=4)
	{
		haveerrors = 1;
		msg += id + " is wrong\r";
		return false;
	}
	return true;
}

function isValidEmailAddress(emailStr)
{
	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 +")*$");

	if (emailStr.substring(0,4)=="www." || emailStr.substring(0,4)=="WWW.")
	{
		haveerrors = 1;
		msg += "The e-mail address you have entered is invalid.\nPlease remove the www. portion and try again.\n";
		return false;
	}

	var matchArray=emailStr.match(emailPat);
	if (matchArray==null)
	{
 	    haveerrors = 1;
	   	msg += "The e-mail address you have entered is invalid.\n";
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	// See if "user" is valid 
	if (user.match(userPat)==null)
	{
	    // user is not valid
		haveerrors = 1;
	    msg += "The e-mail address you have entered is invalid.\n";
	    return false;
	}

	/* if the e-mail address is at an IP address (as opposed to a symbolic
	   host name) make sure the IP address is valid. */
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null)
	{
	    // this is an IP address
		  for (var i=1;i<=4;i++)
		  {
		    if (IPArray[i]>255)
			{
		        haveerrors = 1;
		        msg += "The IP address of the e-mail address you have entered is invalid.\n";
				return false;
		    }
	    }
	    return true;
	}

	// Domain is symbolic name
	var domainArray=domain.match(domainPat);
	if (domainArray==null)
	{
		haveerrors = 1;
		msg +=  "The domain name of the e-mail address you have entered is invalid.\n";
	    return false;
	}

	/* domain name seems valid,but now make sure that it ends in a
	   three-letter word (like com,edu,gov) or a two-letter word,
	   representing country (us,uk,nl),and that there's a hostname preceding 
	   the domain or country. */

	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3)
	{
	   // the address must end in a two letter or three letter word.
	   haveerrors = 1;
	   msg +=  "E-mail addresses must end in a three-letter domain,or two-letter country code.\n";
	   return false;
	}

	// Make sure there's a host name preceding the domain.
	if (len<2)
	{
	   haveerrors = 1;
	   msg += "The e-mail address you have entered is missing a hostname.\n";
	   return false;
	}

	return true;
}

function minLength(field,minlen,id)
{
	if (field.length<minlen)
	{
		haveerrors = 1;
		msg +=  id + " must be at least "+ minlen +" characters.\n"
		return false;
	}
	
	return true;
}

function maxLength(field,maxlen,id)
{
	if (field.length>maxlen)
	{
		haveerrors = 1;
		msg +=  id + " must be at most "+ maxlen +" characters.\n"
		return false;
	}
	
	return true;
}

function checkConsistency(field1,field2,id)
{
	if (field1!=field2)
	{
		haveerrors = 1;
		msg += id + " you enter twice are not same.\n"
		return false;
	}
	
	return true;
}

function checkRadio(checkvalue, id) {
   if (!(checkvalue)) {
		haveerrors = 1;
		msg += "Please check a radio button of " + id + ".\n";
		return false;
    }
return true;
}

function showErrorMsg(msg)
{
	var msgNN=msg.replace(/<br>/gi,"\n");
	alert(msgNN);
}

/***************************************************************************************
 ** Credit card type validation
 ** Parameters :Card type, Card number and Image name
 ** returns true or false and changes the Image
 **	Card Prefixes
		Mastercard		51-55		Length:	16 digits
		Visa			4		Length:	13 or 16 digits
		AmEx			34,37		Length:	15 digits
 **************************************************************************************/
 
function isValidCreditCardTypeLocal(cardType,number)
{
	var firstNumber=number.substring(0,1);
	var firstTwoNumbers=number.substring(0,2);
	var firstThreeNumbers=number.substring(0,3);
	var firstFourNumbers=number.substring(0,4);
	var cardLength=number.length;

	if (firstNumber==4 && (cardLength==13 || cardLength==16) && cardType=='visa')
	{
	return true;	
	}

	if ((firstTwoNumbers > 50 && firstTwoNumbers < 56) && cardLength==16 && cardType=='mstr')
	{
	return true;
	}

	if ((firstTwoNumbers==34 || firstTwoNumbers==37) && cardLength==15 && cardType=='amex')
	{
	return true;
	}

	window.alert("The credit card type you selected does not match your account number.");
	return false;
}

/****************************************************************************************
 ** credit card number validation 
 ** Parameters :Field value and Image name
 ** Returns true or false and changes the Image
 ****************************************************************************************
 ** A valid credit card number is not essentially a credit card in good standing
 ****************************************************************************************/

function isValidCreditCardNumberLocal(number)
{

if(number=="")
{
	window.alert("A credit card account number is required.");
	return false;
}
	var total=0;
	var flag=0;
	for (var i=(number.length - 1);i>=0;i--)
	{
		if (flag==1)
		{
			var digits=number.charAt(i) * 2;
			if (digits > 9) digits -= 9;
			total += digits;
			flag=0;
		}
		else
		{
			total = total + parseInt(number.charAt(i));
			flag = 1;
		}
	}
	if ((total%10)==0)
	{
	return true;
	}
	else
	{
		window.alert("The credit card number you have entered is invalid, or does not match the credit card type you have selected.");
		return false;
	}
}

/****************************************************************************************
 ** credit card expiration date validation 
 ** Parameters : month, year and Image name
 ** Returns true or false and changes the Image
 ****************************************************************************************/

function isValidExpiryDateLocal(i_month,t_year)
{
  var input_month=i_month;
  var today=new Date();
  var this_month=today.getMonth();
  var this_year=today.getFullYear();
  var monthArray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
  for(i=0;i<12;i++)
  {
  	if (input_month==monthArray[i])
	{
		var input_month=i;
		break;
	}
  }
  if (this_year > t_year)
  {
	  	window.alert("Your credit card expiration date must be after today's date.");
		return false;
  }

  if ((this_year==t_year) && (this_month > input_month))
  {
	  	window.alert("Your credit card expiration date must be after today's date.");
		return false;
  }
  else
  {
	return true;
  }
}

/***************************************************************************************
 ** City field validation
 ** Parameters : Field value, Image name, Field name, Minimum Length and Maximum length
 ** returns true or false and changes the Image
 **************************************************************************************/

function validateNameOnCardLocal(field,id,minLen,maxLen)
{
var valid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ /\.-&,()";
//var valid="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ /\#.-&,()";
var ok="yes";
var temp;
if (field==null || field==" " || field.length < minLen || field.length > maxLen)
{
   	window.alert (id + " is required and must be between (" + minLen + " and " + maxLen +") characters.");
	return false;
}
for (var i=0;i<field.length;i++)
{
	temp = "" + field.substring(i,i+1);
	if (valid.indexOf(temp)=="-1") ok="no";
}
if (ok=="no")
{
	window.alert(id + " contains an invalid character.");
	return false;
}        
return true;
}
//-->
