function LTrim(str)
        {
               var whitespace = new String(" \t\n\r");
               var s = new String(str);
                if (whitespace.indexOf(s.charAt(0)) != -1) {

                    var j=0, i = s.length;
                    while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
                        j++;
                    s = s.substring(j, i);
                }

                return s;
        }
function RTrim(str)
       {
                var whitespace = new String(" \t\n\r");
                var s = new String(str);
                if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
                    var i = s.length - 1;       
                    while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
                        i--;
                    s = s.substring(0, i+1);
                }

                return s;
        }
function Trim(str)
        {
                return RTrim(LTrim(str));
        }
      
//-------------------------------------------------------------
function Validate(theForm) {
	if (Trim(theForm.GCAddress.value) == "")
  {
    alert("Please enter address.");
    theForm.GCAddress.focus();
    return (false);
  }
  if (Trim(theForm.GCCity.value) == "")
  {
    alert("Please enter city.");
    theForm.GCCity.focus();
    return (false);
  }
  if (Trim(theForm.GCState.value) == "")
  {
    alert("Please enter city.");
    theForm.GCState.focus();
    return (false);
  }
  if (Trim(theForm.GCZip.value) == "")
  {
    alert("Please enter zip code.");
    theForm.GCZip.focus();
    return (false);
  }
   if (Trim(theForm.Firstname.value) == "")
  {
    alert("Please enter First Name.");
    theForm.Firstname.focus();
    return (false);
  }
   if (Trim(theForm.Lastname.value) == "")
  {
    alert("Please enter Last Name.");
    theForm.Lastname.focus();
    return (false);
  }
   if (Trim(theForm.Address.value) == "")
  {
    alert("Please enter address.");
    theForm.Address.focus();
    return (false);
  }
   if (Trim(theForm.City.value) == "")
  {
    alert("Please enter city name.");
    theForm.City.focus();
    return (false);
  }
   if (Trim(theForm.State.value) == "")
  {
    alert("Please enter state name.");
    theForm.State.focus();
    return (false);
  }
  if (Trim(theForm.Zip.value) == "")
  {
    alert("Please enter zip code.");
    theForm.Zip.focus();
    return (false);
  }
  
   if (Trim(theForm.Email.value) == "")
  {
    alert("Please enter your email address.");
    theForm.Email.focus();
    return (false);
  }
	var checkStr = theForm.Email.value;
	var ch = checkStr.indexOf('@');

	if (ch==0 || ch==-1) {
		alert("Please enter a valid email address.");
		theForm.Email.focus();
		return (false);
	}
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzfSOZsozYÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ0123456789-@.-_'";
	var checkStr = theForm.Email.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++) {
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
				if (j == checkOK.length) {
					allValid = false;
					break;
				}
	}
	if (!allValid) {
		alert("Please enter only letter, digit and \"@.-_'\" characters in the \"Email\" field.");
		theForm.Email.focus();
		return (false);
	} 
if (Trim(theForm.CardType.value) == "")
  {
    alert("Please select Card Type.");
    theForm.CardType.focus();
    return (false);
  }

 if (Trim(theForm.CardNum.value) == "")
  {
    alert("Please enter card number.");
    theForm.CardNum.focus();
    return (false);
  }
   var checkOK = "0123456789";
	var checkStr = theForm.CardNum.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++) {
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
				if (j == checkOK.length) {
					allValid = false;
					break;
				}
	}
	if (!allValid) {
		alert("Please enter only digit for card number.");
		theForm.CardNum.focus();
		return (false);
	}
	
if (Trim(theForm.CardExpirDate.value) == "")
  {
    alert("Please enter card expiration date.");
    theForm.CardExpirDate.focus();
    return (false);
  }

	
if (Trim(theForm.NameOnCard.value) == "")
  {
    alert("Please enter Name On Card.");
    theForm.NameOnCard.focus();
    return (false);
  }
if ((theForm.SamePerson.checked) == false && Trim(theForm.GCFirstname.value) == "")
  {
    alert("Please enter receiver first name.");
    theForm.GCFirstname.focus();
    return (false);
  }
  if ((theForm.SamePerson.checked) == false && Trim(theForm.GCLastname.value) == "")
  {
    alert("Please enter receiver last name.");
    theForm.GCLastname.focus();
    return (false);
  }
  if ((theForm.SamePerson.checked) == false && Trim(theForm.GCAddress.value) == "")
  {
    alert("Please enter receiver address.");
    theForm.GCAddress.focus();
    return (false);
  }
  if ((theForm.SamePerson.checked) == false && Trim(theForm.GCCity.value) == "")
  {
    alert("Please enter receiver city.");
    theForm.GCCity.focus();
    return (false);
  }
  if ((theForm.SamePerson.checked) == false && Trim(theForm.GCState.value) == "")
  {
    alert("Please enter receiver state.");
    theForm.GCState.focus();
    return (false);
  }
   if ((theForm.SamePerson.checked) == false && Trim(theForm.GCZip.value) == "")
  {
    alert("Please enter receiver zip code.");
    theForm.GCZip.focus();
    return (false);
  }
  if ((theForm.SamePerson.checked) == false && Trim(theForm.GCEmail.value) == "")
  {
    alert("Please enter receiver receiver email.");
    theForm.GCEmail.focus();
    return (false);
  }
  

return (true);
}
