
function emptyvalidation(entered,  alertbox)
{
var whitespace = new String(" \t\n\r");

   var nonspace = false;
    for (i = 0; i < entered.value.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = entered.value.charAt(i);

        if (whitespace.indexOf(c) == -1) nonspace = true;
    }
with (entered)
{
if (value==null || value.length==0 || nonspace == false)
{if (alertbox!="") {alert(alertbox);} return false;}
else {return true;}
}
}

function lengthvalidation(entered, minlength, alertbox)
{
var whitespace = new String(" \t\n\r");

minlength = parseFloat(minlength);

if (entered.value.length < minlength)
{
  if (alertbox!="") 
     {alert(alertbox);} 
return false;
}
else {return true;}
}



function statevalidation(state,  state2, bcountry, alertbox)
{
var whitespace = new String(" \t\n\r");

   var nonspace = false;
    for (i = 0; i < state.value.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = state.value.charAt(i);

        if (whitespace.indexOf(c) == -1) nonspace = true;
    }


    for (i = 0; i < state2.value.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = state2.value.charAt(i);

        if (whitespace.indexOf(c) == -1) nonspace = true;
    }


var statelength= state.value.length;
var state2length= state2.value.length;

var alertbox2 = "do not fill out both the US-state and the non US-state fields";

if ( state2length > 0 && statelength > 0)
{ 
alert(alertbox2);
state.value = "";
state2.value = "";
return false;
 }


if ( bcountry.value == "US"  && statelength == 0 )
{
alert("United States residents must choose a state from the pull down menu");
state2.value = "";
return false;
}

if ( bcountry.value != "US"  && state2length == 0  )
{
alert("Non US residents must enter a state in the Non US state field");
state.value = "";
return false;
}


if (nonspace == false)
{if (alertbox!="") 
   {alert(alertbox);} 
     return false;
}
else {return true;}

}


function digitvalidation(entered, min, max, alertbox, datatype)
{
// Digit Validation by Henrik Petersen / NetKontoret
// Explained at www.echoecho.com/jsforms.htm
// Please do not remove this line and the two lines above.
with (entered)
{
checkvalue=parseFloat(value);
if (datatype)
{smalldatatype=datatype.toLowerCase();
if (smalldatatype.charAt(0)=="i") 
{checkvalue=parseInt(value); if (value.indexOf(".")!=-1) {checkvalue=checkvalue+1}};
}
if ((parseFloat(min)==min && value.length<min) || (parseFloat(max)==max && value.length>max) || value!=checkvalue)
{if (alertbox!="") {alert(alertbox);} return false;}
else {return true;}
}
} 


function expirevalidation(expmonth, expyear,  alertbox)
{

var cur_date = new Date();
var cur_month = parseFloat( cur_date.getMonth() +1);
var cur_year = parseFloat( cur_date.getFullYear() );

expmonth2 = parseFloat(expmonth.value);
expyear2 = parseFloat(expyear.value);


var valid_date = true;



if ( (cur_year == expyear2)  && (cur_month > expmonth2)  )
          valid_date = false;

if (valid_date == false)
{if (alertbox!="") {alert(alertbox);} return false;}
else {return true;}
}

function isCardMatch (cardType, cardNumber)
{
	//cardType = cardType.toUpperCase();
	cardType = cardType.value;
	cardNumber = cardNumber.value;	

	var doesMatch = true;


	if ((cardType == "V") && (!isVisa(cardNumber)))
		doesMatch = false;
	if ((cardType == "M") && (!isMasterCard(cardNumber)))
		doesMatch = false;
	if ( ( (cardType == "A") ) && (!isAmericanExpress(cardNumber))) 
                                     doesMatch = false;
	if ((cardType == "D") && (!isDiscover(cardNumber)))
		doesMatch = false;


        if (doesMatch == false)
           {
               alert("credit card type does not match credit card number");
          }


	return doesMatch;

}  // END FUNCTION CardMatch()

function isVisa(cc)
{
  if (((cc.length == 16) || (cc.length == 13)) &&
      (cc.substring(0,1) == 4))
    return isCreditCard(cc);
  return false;
}  // END FUNCTION isVisa()


function isMasterCard(cc)
{
  firstdig = cc.substring(0,1);
  seconddig = cc.substring(1,2);
  if ((cc.length == 16) && (firstdig == 5) &&
      ((seconddig >= 1) && (seconddig <= 5)))
    return isCreditCard(cc);
  return false;

} // END FUNCTION isMasterCard()

function isAmericanExpress(cc)
{
  firstdig = cc.substring(0,1);
  seconddig = cc.substring(1,2);
  if ((cc.length == 15) && (firstdig == 3) &&
      ((seconddig == 4) || (seconddig == 7)))
    return isCreditCard(cc);
  return false;

} // END FUNCTION isAmericanExpress()

function isDiscover(cc)
{
  first4digs = cc.substring(0,4);
  if ((cc.length == 16) && (first4digs == "6011"))
    return isCreditCard(cc);
  return false;

} // END FUNCTION isDiscover()

