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.FirstName.value) == "")
  {
    alert("Please enter your first name.");
    theForm.FirstName.focus();
    return (false);
  }
  if (Trim(theForm.LastName.value) == "")
  {
    alert("Please enter your last name.");
    theForm.LastName.focus();
    return (false);
  }
  
  if ((Trim(theForm.Zip.value) == "")&& ((Trim(theForm.Country.value) == "US") || (Trim(theForm.Country.value) == "Canada")))
  {
    alert("Zip Code is required for US and Canada Residence.");
    theForm.Zip.focus();
    return (false);
  }
   var checkOK = "0123456789-()";
	var checkStr = theForm.AreaCode.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 in the \"area code\" field.");
		theForm.AreaCode.focus();
		return (false);
	}
  
   var checkOK = "0123456789-()";
	var checkStr = theForm.Phone1.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 in the \"Phone\" field.");
		theForm.Phone1.focus();
		return (false);
	}
	 var checkOK = "0123456789-()";
	var checkStr = theForm.Phone2.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 in the \"Phone\" field.");
		theForm.Phone2.focus();
		return (false);
	}
	 if ((theForm.ContactBy1.checked==false)&&(theForm.ContactBy2.checked==false)&&(theForm.ContactBy3.checked==false))
{
   alert("Please select how to send information.");
   theForm.ContactBy1.focus();
   return (false);
}
  var myOption = -1;
for (i=0; i < theForm.Topic.length; i ++) 
{
	if (theForm.Topic[i].checked) 
	{
		myOption = i; 
		break;
	}
}
 if (myOption == theForm.Topic.length || myOption == -1) 
{
	alert("Please select message topic.");
	theForm.Topic[0].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 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ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 a valid email address.");
		theForm.Email.focus();
		return (false);
	}
  
 
		return (true);
}

