function setFieldValue (objfield1,strValue)
{
	objfield = eval(objfield1);
    if(objfield == null)
			return;

	if(objfield.options != null) // Field is a drop-down
	{
		for( var n =0; n < objfield.options.length ; n++)
			if( objfield.options[n].value == strValue )
			{
				objfield.selectedIndex = n;
				break;
			}
	}
	else // Field is a text field
		objfield.value = strValue;
}

function getFieldValue (objfield1,strValue)
{
	objfield = eval(objfield1);
    if(objfield == null)
			return;
	for( var n =0; n < objfield.options.length ; n++)
		if( objfield.options[n].text == strValue )
		{
			strCountryCode = objfield.options[n].value;
			objfield.selectedIndex = n;
			break;
		}
	return getFieldValue = strCountryCode;
}

function ChkCreditCard(strCardType, strCardNumber)
{
    if(strCardNumber == null)
		return true;
		
	if(strCardNumber == '')
		return true;
   
    var cc = StripChar(strCardNumber, " -");

     // alert(cc);
	var strMessage = 'Invalid Credit Card Number';

	if( cc.length > 19 || ! isCreditCard(cc) )
    {
      alert(strMessage);
      return false ;
  	}

	if(!ChkCardType(strCardType, cc))
    {
      alert(strMessage);
      return false ;
  	}

	return true;
}

function ChkCreditCardII(strCardType, strCardNumber)
{
    if(strCardNumber == null)
		return true;
		
	if(strCardNumber == '')
		return true;
   
    var cc = StripChar(strCardNumber, " -");

     // alert(cc);
	var strMessage = 'Invalid Credit Card Number';

	if( cc.length > 19 || ! isCreditCard(cc) )
    {
      alert(strMessage);
      return false ;
  	}

	if(!ChkCardTypeII(strCardType, cc))
    {
      alert(strMessage);
      return false ;
  	}

	return true;
}

function isCreditCard(st) 
{
  if (st.length > 19)
    return false;

  sum = 0; mul = 1; l = st.length;
  for (i = 0; i < l; i++) 
  {
    digit = st.substring(l-i-1,l-i);
    tproduct = parseInt(digit ,10) * mul;
    if (tproduct >= 10)
      sum += (tproduct % 10) + 1;
    else
      sum += tproduct;
	  
   (mul == 1) ? mul++ : mul-- ;
   
  }
  return ((sum % 10) == 0) ? true : false;
}


function ChkCardType(strCardType,strCardNumber)
{
	var doesMatch = true;
	if ( strCardType == "VISA" && !isVisa(strCardNumber) )
		doesMatch = false;
	if ( strCardType == "MC" && !isMasterCard(strCardNumber) )
		doesMatch = false;
	if ( strCardType == "AMX"  && !isAmericanExpress(strCardNumber) ) 
	    doesMatch = false;
	if ( strCardType == "DINER" && !isDiscover(strCardNumber) )
		doesMatch = false;
	
	return doesMatch;

}

function ChkCardTypeII(strCardType,strCardNumber)
{
	var doesMatch = true;
	if ( strCardType == "VISA" && !isVisa(strCardNumber) )
		doesMatch = false;
	if ( strCardType == "MC" && !isMasterCard(strCardNumber) )
		doesMatch = false;
	if ( strCardType == "AMX"  && !isAmericanExpress(strCardNumber) ) 
	    doesMatch = false;
	if ( strCardType == "DINER" && !isDiscover(strCardNumber) )
		doesMatch = false;
	if ( strCardType == "CB" && !isCarteBlanche(strCardNumber) )
		doesMatch = false;
	if ( strCardType == "DISC" && !isDiscover(strCardNumber) )
		doesMatch = false;
	if ( strCardType == "JCB" && !isJCB(strCardNumber) )
		doesMatch = false;
	return doesMatch;

}

function isVisa(cc)
{
  if (((cc.length == 16) || (cc.length == 13)) &&
      (parseInt(cc.substring(0,1)) == 4))
    return isCreditCard(cc);
	
  return false;
}


function isMasterCard(cc)
{
  firstdig = parseInt(cc.substring(0,1));
  seconddig = parseInt(cc.substring(1,2));
  if ((cc.length == 16) && (firstdig == 5) &&
      ((seconddig >= 1) && (seconddig <= 5)))
    return isCreditCard(cc);

  return false;

}


function isAmericanExpress(cc)
{
  firstdig = parseInt(cc.substring(0,1));
  seconddig = parseInt(cc.substring(1,2));
  if ((cc.length == 15) && (firstdig == 3) &&
      ((seconddig == 4) || (seconddig == 7)))
    return isCreditCard(cc);
	
  return false;

}


function isDinersClub(cc)
{
  firstdig = parseInt(cc.substring(0,1));
  seconddig = parseInt(cc.substring(1,2));
  if ((cc.length == 14) && (firstdig == 3) &&
      ((seconddig == 0) || (seconddig == 6) || (seconddig == 8)))
    return isCreditCard(cc);
	
  return false;
}

function isCarteBlanche(cc)
{
  return isDinersClub(cc);
}

function isDiscover(cc)
{
  first4digs = parseInt(cc.substring(0,4));
  if ((cc.length == 16) && (first4digs == "6011"))
    return isCreditCard(cc);
	
  return false;

}

function isEnRoute(cc)
{
  first4digs = parseInt(cc.substring(0,4));
  if ((cc.length == 15) &&
      ((first4digs == "2014") ||
       (first4digs == "2149")))
    return isCreditCard(cc);
	
  return false;
}

function isJCB(cc)
{
  firstdig = parseInt(cc.substring(0,1));
  
  if ( cc.length == 16 &&
	    firstdig == "3"  )
    return isCreditCard(cc);
	
  return false;

}

function isUSZip(strZipCode)
{
   v = StripChar(strZipCode, "- ");

   if( isNaN(v) || (v.length != 5 && v.length != 9) )
   {
	  alert("Not a Valid US Zip Code");
	  return false;
	}
   return true;

}
function isCAZip(strZipCode)
{
    v = StripChar(strZipCode, "- ");

	var regexp = /^[A-Va-v]|[X,Y,x,y]\d[A-Za-z]\d[A-Za-z]\d$/;

	if( v.length != 6 || hasChars(v,'D', 'F', 'I', 'O', 'Q', 'U') || v.search(regexp) == -1 )
   {
	  alert("Not a Valid CANADA Zip Code");
	  return false;
	}

	return true;

}

function hasChars(str)
{
    if(str == null)
		return false;

	str = str.toLowerCase();

	for(var i = 1; i < arguments.length ; i++)
	{
	      arguments[i] = arguments[i].toLowerCase();
	      if( str.indexOf( arguments[i] ) != -1 )
		  		return true;
	}

	return false;
}

function StripChar (strText, strTextToRemove)

{   
	var i;
    var returnString = "";

    for (i = 0; i < strText.length; i++)
    {
        var c = strText.charAt(i);
        if (strTextToRemove.indexOf(c) == -1) returnString += c;
    }

    return returnString;
}

function ChkEmail(strText)
{
	var regexp = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;

    if(strText == null)
		return true;
		
	if(strText == '')
		return true;
   
	if(strText.search(regexp) == -1)
	{
	    alert("Invalid Email Address");
   		return false;
	}
	
	return true;
}

function ChkCardDate(strTransYear,strTransMonth,strCardYear,strCardMonth)
{
	if( strCardMonth.charAt(0) == '0')
      strCardMonth = strCardMonth.substr(1);
	  
	if (strCardYear.length == 2) 
		 strCardYear = '20' + year ;
	  
	if ( parseInt(strCardYear) < parseInt(strTransYear) || ( parseInt(strCardYear) == parseInt(strTransYear) && parseInt(strCardMonth) < parseInt(strTransMonth)) )
	{
	    alert("Card Expiration Date is Invalid");
		return false;
	}
	
	
	return true;
}

function daysElapsed(laterdate,earlierdate) 
{
   var difference = laterdate.getTime() - earlierdate.getTime();
   var daysDifference = Math.floor(difference/1000/60/60/24);
   return daysDifference;
}

function IsleapYear(year) {
    if ((year/4)   != Math.floor(year/4))   return false;
    if ((year/100) != Math.floor(year/100)) return true;
    if ((year/400) != Math.floor(year/400)) return false;
    return true;
}

function ChkMonthList(strTransYear,strCardYear)
{
	var x = document.thisForm.SelectMonth;
	x.length = 0;
	if (strTransYear==strCardYear)
	{
		for( var i=1; n <= 12 ; i++)
		{
		}
	}
	else
	{
	}
}

function ChangeState(strCountry)
{
	var x = document.thisForm.SelectState;
	x.length = 0;

	if (strCountry=="US")
		PopulateUSA(x);
	else
	{
		if (strCountry=="CA")
			PopulateCA(x);
		else
		{
			if (strCountry=="AU")
				PopulateAU(x);
			else
			{
				if (strCountry=="MX")
					PopulateMX(x);
				else
					x.options[x.length] = new Option("--------------", " ", false, false);
			}
		}
	}
}

function ChangesState(strCountry)
{
	var x = document.thisForm.sSelectState;
	x.length = 0;

	if (strCountry=="US")
		PopulateUSA(x);
	else
	{
		if (strCountry=="CA")
			PopulateCA(x);
		else
		{
			if (strCountry=="AU")
				PopulateAU(x);
			else
			{
				if (strCountry=="MX")
					PopulateMX(x);
				else
					x.options[x.length] = new Option("--------------", " ", false, false);
			}
		}
	}
}

function PopulateUSA(x)
{
	x.options[x.length] = new Option("Alabama", "AL", false, false);
	x.options[x.length] = new Option("Alaska", "AK", false, false);
	x.options[x.length] = new Option("Arizona", "AZ", false, false);
	x.options[x.length] = new Option("Arkansas", "AR", false, false);
	x.options[x.length] = new Option("California", "CA", false, false);
	x.options[x.length] = new Option("Colorado", "CO", false, false);
	x.options[x.length] = new Option("Connecticut", "CT", false, false);
	x.options[x.length] = new Option("Delaware", "DE", false, false);
	x.options[x.length] = new Option("District Of Columbia", "DC", false, false);
	x.options[x.length] = new Option("Florida", "FL", false, false);
	x.options[x.length] = new Option("Georgia", "GA", false, false);
	x.options[x.length] = new Option("Hawaii", "HI", false, false);
	x.options[x.length] = new Option("Idaho", "ID", false, false);
	x.options[x.length] = new Option("Illinois", "IL", false, false);
	x.options[x.length] = new Option("Indiana", "IN", false, false);
	x.options[x.length] = new Option("Iowa", "IA", false, false);
	x.options[x.length] = new Option("Kansas", "KS", false, false);
	x.options[x.length] = new Option("Kentucky", "KY", false, false);
	x.options[x.length] = new Option("Louisiana", "LA", false, false);
	x.options[x.length] = new Option("Maine", "ME", false, false);
	x.options[x.length] = new Option("Maryland", "MD", false, false);
	x.options[x.length] = new Option("Massachusetts", "MA", false, false);
	x.options[x.length] = new Option("Michigan", "MI", false, false);
	x.options[x.length] = new Option("Minnesota", "MN", false, false);
	x.options[x.length] = new Option("Mississippi", "MS", false, false);
	x.options[x.length] = new Option("Missouri", "MO", false, false);
	x.options[x.length] = new Option("Montana", "MT", false, false);
	x.options[x.length] = new Option("Nebraska", "NB", false, false);
	x.options[x.length] = new Option("Nevada", "NE", false, false);
	x.options[x.length] = new Option("New Hampshire", "NH", false, false);
	x.options[x.length] = new Option("New Jersey", "NJ", false, false);
	x.options[x.length] = new Option("New Mexico", "NM", false, false);
	x.options[x.length] = new Option("New York", "NY", false, false);
	x.options[x.length] = new Option("North Carolina", "NC", false, false);
	x.options[x.length] = new Option("North Dakota", "ND", false, false);
	x.options[x.length] = new Option("Ohio", "OH", false, false);
	x.options[x.length] = new Option("Oklahoma", "OK", false, false);
	x.options[x.length] = new Option("Oregon", "OR", false, false);
	x.options[x.length] = new Option("Pennsylvania", "PA", false, false);
	x.options[x.length] = new Option("Puerto Rico", "PR", false, false);
	x.options[x.length] = new Option("Rhode Island", "RI", false, false);
	x.options[x.length] = new Option("South Carolina", "SC", false, false);
	x.options[x.length] = new Option("South Dakota", "SD", false, false);
	x.options[x.length] = new Option("Tennessee", "TN", false, false);
	x.options[x.length] = new Option("Texas", "TX", false, false);
	x.options[x.length] = new Option("Utah", "UT", false, false);
	x.options[x.length] = new Option("Vermont", "VT", false, false);
	x.options[x.length] = new Option("Virginia", "VA", false, false);
	x.options[x.length] = new Option("Washington State", "WA", false, false);
	x.options[x.length] = new Option("West Virginia", "WV", false, false);
	x.options[x.length] = new Option("Wisconsin", "WI", false, false);
	x.options[x.length] = new Option("Wyoming", "WY", false, false);
	x.options[x.length] = new Option("America Samoa", "AS", false, false);
	x.options[x.length] = new Option("Guam", "GU", false, false);
	x.options[x.length] = new Option("Marshall Islands", "MH", false, false);
	x.options[x.length] = new Option("Northern Mariana", "MP", false, false);
	x.options[x.length] = new Option("Palau", "PW", false, false);
	x.options[x.length] = new Option("Puerto Rico", "PR", false, false);
	x.options[x.length] = new Option("Virgin Islands", "VI", false, false);
	x.options[x.length] = new Option("America Samoa", "AS", false, false);
	x.options[x.length] = new Option("Guam", "GU", false, false);
	x.options[x.length] = new Option("Marshall Islands", "MH", false, false);
	x.options[x.length] = new Option("Northern Mariana Islands", "MP", false, false);
	x.options[x.length] = new Option("Palau", "PW", false, false);
	x.options[x.length] = new Option("Puerto Rico", "PR", false, false);
	x.options[x.length] = new Option("Virgin Islands", "VI", false, false);
	x.options[x.length] = new Option("Hawai'i", "HI", false, false);
}

function PopulateCA(x)
{
	x.options[x.length] = new Option("Alberta", "AB", false, false);
	x.options[x.length] = new Option("British Columbia", "BC", false, false);
	x.options[x.length] = new Option("Labradour", "LB", false, false);
	x.options[x.length] = new Option("New Brunswick", "NB", false, false);
	x.options[x.length] = new Option("Manitoba", "MB", false, false);
	x.options[x.length] = new Option("Newfoundland", "NF", false, false);
	x.options[x.length] = new Option("Northwest Territories", "NWT", false, false);
	x.options[x.length] = new Option("Nova Scotia", "NS", false, false);
	x.options[x.length] = new Option("Ontario", "ON", false, false);
	x.options[x.length] = new Option("Prince Edward Island", "PI", false, false);
	x.options[x.length] = new Option("Quebec", "PQ", false, false);
	x.options[x.length] = new Option("Saskatchewan", "SK", false, false);
	x.options[x.length] = new Option("Yukon Territory", "YT", false, false);
}

function PopulateAU(x)
{
	x.options[x.length] = new Option("Australian Capital Territory", "ACT", false, false);
	x.options[x.length] = new Option("New South Wales", "NSW", false, false);
	x.options[x.length] = new Option("Northern Territory", "NT", false, false);
	x.options[x.length] = new Option("Queensland", "QLD", false, false);
	x.options[x.length] = new Option("South Australia", "SA", false, false);
	x.options[x.length] = new Option("Tasmania", "TAS", false, false);
	x.options[x.length] = new Option("Victoria", "VIC", false, false);
	x.options[x.length] = new Option("Western Australia ", "WAU", false, false);
}

function PopulateMX(x)
{
	x.options[x.length] = new Option("Aguascalientes", "AGS", false, false);
	x.options[x.length] = new Option("Baja California Norte", "BCN", false, false);
	x.options[x.length] = new Option("Baja California Sur  ", "BCS", false, false);
	x.options[x.length] = new Option("Campeche", "CAMP", false, false);
	x.options[x.length] = new Option("Chihuahua", "CHIH", false, false);
	x.options[x.length] = new Option("Chiapas", "CHIS", false, false);
	x.options[x.length] = new Option("Coahuila ", "COAH", false, false);
	x.options[x.length] = new Option("Colima", "COL", false, false);
	x.options[x.length] = new Option("Mexico City", "DF", false, false);
	x.options[x.length] = new Option("Durango ", "DGO", false, false);
	x.options[x.length] = new Option("Guerrero", "GRO", false, false);
	x.options[x.length] = new Option("Guanajuato ", "GTO", false, false);
	x.options[x.length] = new Option("Hidalgo", "HGO", false, false);
	x.options[x.length] = new Option("Jalisco", "JAL", false, false);
	x.options[x.length] = new Option("Estado De Mexico", "MEX", false, false);
	x.options[x.length] = new Option("Michoacan", "MICH", false, false);
	x.options[x.length] = new Option("Morelos", "MOR", false, false);
	x.options[x.length] = new Option("Nayarit", "NAY", false, false);
	x.options[x.length] = new Option("Nuevo Leon ", "NL", false, false);
	x.options[x.length] = new Option("Oaxaca", "OAX", false, false);
	x.options[x.length] = new Option("Puebla", "PUE", false, false);
	x.options[x.length] = new Option("Queretaro ", "QRO", false, false);
	x.options[x.length] = new Option("Quintana Roo", "QROO", false, false);
	x.options[x.length] = new Option("Sinaloa", "SIN", false, false);
	x.options[x.length] = new Option("San Lois Potosi      ", "SLP", false, false);
	x.options[x.length] = new Option("Sonora", "SON", false, false);
	x.options[x.length] = new Option("Tabasco", "TAB", false, false);
	x.options[x.length] = new Option("Tamaulipas", "TAM", false, false);
	x.options[x.length] = new Option("Tlaxcala", "TLAX", false, false);
	x.options[x.length] = new Option("Veracruz", "VER", false, false);
	x.options[x.length] = new Option("Yucatan", "YUC", false, false);
	x.options[x.length] = new Option("Zacztecas", "ZAC", false, false);
}

