function validate_button(btn,alerttxt) {
    var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return btn[cnt].value;
    else {alert(alerttxt);return null}
}

function validate_occupation(field,alerttxt)
{
  var str = field.value;
  if (str == "")
     {alert(alerttxt);return false}
  else {return true}
}                   


// function to strip out blanks in the field
function stripBlanks(fld) 
{
   var result = "";
   var c = 0;
   for (i=0; i < fld.length; i++)
       {
       if (fld.charAt(i) != " " || c > 0)
          {
          result += fld.charAt(i);
          if (fld.charAt(i) != " ")
              c = result.length;
          }
       }
   return result.substr(0,c);
} 

// this is a simple email check function
// the regular expression check will not allow for spam injection
function validate_email(field,alerttxt)
{
  var str = field.value;
  if (window.RegExp)
     {
       var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
       var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
       var reg1 = new RegExp(reg1str);
       var reg2 = new RegExp(reg2str);
       if (!reg1.test(str) && reg2.test(str))
          return true;
       alert(alerttxt);
       return false;
      }
// simple email check if regular expression not supported
  else
      {
      var spamstr = str.toUpperCase();
      if (spamstr.Indexof("CC:") == -1) // checking spam injection cc:
      { 
      if (spamstr.Indexof("TO:") == -1) // checking spam injection to:
         {
            apos=str.indexOf("@")
            dotpos=str.lastIndexOf(".")
            if (apos<1||dotpos-apos<2) 
               {alert(alerttxt);return false}
            else {return true}
         }
         else {alert(alerttxt);return false} 
      }
      else {alert(alerttxt);return false}
      }
}

// checks if a field has data in it
function validate_required(field,alerttxt)
{
    with (field)
    {
      var _checkstr = stripBlanks(value);
      if (_checkstr == null || _checkstr == "")
         {alert(alerttxt);return false}
      else {return true}
    }
}

// get the requested HTML Parameter
// var parmval = geturlparm('SCREEN');
function geturlparm( urlparmname, urltoscan )
{
  urlparmname = urlparmname.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var _regexS = "[\\?&]" + urlparmname + "=([^&#]*)";

  var _regex = new RegExp( _regexS );
  var _results = _regex.exec( urltoscan );
  if( _results == null )
      return "";  
  else    
      return _results[1];
}

function submitform()
{
document.FreeTrialSoftware.submit();
}

// main function for validate this form
// it is individual for each form on the page
function validate_form()
{
with (document.FreeTrialSoftware)
   {
     if (validate_required(Contact1FirstName, "First Name must be filled out!")==false)
        {Contact1FirstName.focus();return false}
     if (validate_required(Contact1LastName, "Last Name must be filled out!")==false)
        {Contact1LastName.focus();return false}
     if (validate_occupation(Contact1Occupation, "Select Occupation") == false)
        {Contact1Occupation.focus(); return false}
     if (validate_required(Contact1Email,"Email must be filled out!")==false)
        {Contact1Email.focus();return false}
     if (validate_email(Contact1Email,"Email is not correctly entered!")==false)
        {Contact1Email.focus();return false}

   }
}

