// JavaScript Document

// JavaScript Document
function validateForm(formObj) {
   
   //CHANGE 07.dec.2004  J.Strelow
   //implemented fix for checking radio buttons.
   
   var Required = formObj.required;
   var fieldArray;
   var qname = '';
   var oField;
   var sFormName = formObj.name;
   var tmpFieldArray;
   var tmpFieldString;
   var sErrormsg = '';
   var bRetval = true;
   var undefined;
   var firstName;
   var lastName; 
   var email;
   var state;
   var company;
   var title;
   var addr1;
   var addr2;
   var city;
   var zip;
   var phone;
   var phoneExt;
   var info;

   if (Required != undefined) {
      fieldArray = Required.value.split(',');
   }
   else
   {
      alert('Required field missing on form.  Must have hidden field named \'required\' with a comma seperated list of fields in the format \'HTML Field Name|Field Label\'');   
   }
   for(var i=0;i<fieldArray.length;i++) {
      tmpFieldString = fieldArray[i].toString();
      tmpFieldArray = tmpFieldString.split('|');
      
      //if (sFormName.name != undefined) {
         
         oField=undefined;
         for(var fe=0;fe<formObj.length;fe++) {
            if (formObj.elements[fe].name == tmpFieldArray[0]) {
               
                  //alert (formObj.elements[fe].name);
               if (formObj.elements[fe].type=='radio'){
                  //this is a radio button CHOICE, not the radio button
                  //we must make oField hold the whole radio button array, using Eval fxn
                  oField = eval('formObj.' + formObj.elements[fe].name);
               }else{
                  //normal treatment
                  oField = formObj.elements[fe];
                  if (oField.name == "entry.2.single") {
                     email = oField.value;
                     
                  }
                  if (oField.name == "entry.0.single") {
                     firstName = oField.value;
                     
                  }
                  if (oField.name == "entry.1.single") {
                     lastName = oField.value;
                     
                  }
                  if (oField.name == "entry.10.single") {
                     state = oField.value;
                     
                  }
                  if (oField.name == "entry.11.single") {
                     company = oField.value;
                     
                  }
				  if (oField.name == "entry.12.single") {
                     title = oField.value;
                     
                  }
				  if (oField.name == "entry.6.single") {
                     addr1 = oField.value;
                     
                  }
				  if (oField.name == "entry.8.single") {
                     addr2 = oField.value;
                     
                  }
				  if (oField.name == "entry.9.single") {
                     city = oField.value;
                     
                  }
				  if (oField.name == "entry.13.single") {
                     zip = oField.value;
                     
                  }
				  if (oField.name == "entry.3.single") {
                     phone = oField.value;
                     
                  }
				  if (oField.name == "entry.14.single") {
                     phoneExt = oField.value;
                     
                  }
				  if (oField.name == "entry.5.single") {
                     info = oField.value;
                     
                  }
               }
               
            }
         }
      //}
      //else {
         
      // oField = eval('document.' + sFormName + '.' + tmpFieldArray[0]);
      //}
      qname = tmpFieldArray[1];
      if (oField == undefined) {
         alert('Error! ' + tmpFieldArray[0] + ' is not a valid field on your form.');
         bRetval = true;
      }
      else {
         bRetval = CheckRequired(oField);
      }
      if(bRetval == false) {
         sErrormsg = sErrormsg.toString() + 'Please complete: ' + qname + '\n';
      }
   }
   if (sErrormsg.length > 0) {
      alert('The following errors were found on this form:\n' + sErrormsg);
      return '';
   }
   else {
      //windRedirect(email);
      var url = email + "&State=" + state + "&FirstName=" + firstName + "&LastName=" + lastName + "&Company=" + company + "&Title=" + title + "&Address1=" + addr1 + "&Address2=" + addr2 + "&City=" + city + "&Zip=" + zip + "&Phone=" + phone + "&PhoneExt=" + phoneExt + "&Info=" + info;
      return url;
   }
   
}

function CheckRequired(Obj) {
   var ObjType;
   var retVal;
   var x = 0;
   var undefined;
   ObjType = Obj.type;
   /* types: password, radio, select-multiple, select-one, text, textarea */
   if (ObjType == undefined) {
      ObjType = Obj[0].type;
   }
   switch(ObjType) {
      case 'hidden':
         if(Obj.value.length < 1) {
            retVal = false;
         }
         else {
            retVal = true;
         }
      break;
      case 'text':
	     if (Obj.name == "entry.11.single") {
                     retVal = true;
                     
                  }
				  if (Obj.name == "entry.12.single") {
                     retVal = true;
                     
                  }
				  if (Obj.name == "entry.6.single") {
                     retVal = true;
                     
                  }
				  if (Obj.name == "entry.8.single") {
                     retVal = true;
                     
                  }
				  if (Obj.name == "entry.9.single") {
                     retVal = true;
                     
                  }
				  if (Obj.name == "entry.13.single") {
                   retVal = true;
                     
                  }
				  if (Obj.name == "entry.3.single") {
                     retVal = true;
                     
                  }
				  if (Obj.name == "entry.14.single") {
                     retVal = true;
                     
                  }
				  if (Obj.name == "entry.5.single") {
                     retVal = true;
                     
                  }
         if((Obj.value.length < 1) && (retVal != true) ) {
            retVal = false;
         }
         else {
            retVal = true;
         }
      break;
   
      case 'textarea':
         if(Obj.value.length < 1 && Obj.name != "entry.5.single") {
            retVal = false;
         }
         else {
            retVal = true;
         }
      break;
   
      case 'password':
         if(Obj.value.length < 1) {
            retVal = false;
         }
         else {
            retVal = true;
         }
      break;
      case 'file':
         if(Obj.value.length < 1) {
            retVal = false;
         }
         else {
            retVal = true;
         }
      break;
      case 'select-one':
         if(Obj.selectedIndex > 0) {
            retVal = true;
         }
         else {
            retVal = false;
         }
      break;
      
      case 'select-multiple':
         retVal = false;
         for (var x=0;x<Obj.options.length;x++) {
            if (Obj[x].selected) {
               retVal = true;
            }
         }
      break;
      
      case 'radio':
         retVal = false;
         
         for(var x=0;x<Obj.length;x++) {
            
            if (Obj[x].checked) {
               retVal = true;
            }
         }
      break;
      
      case 'checkbox':
      
         if (navigator.appName == 'Netscape' && (navigator.appVersion.toString().substr(0,1) == '4' || navigator.appVersion.toString().substr(0,1) == '3' || navigator.appVersion.toString().substr(0,1) == '2')) {
            var arrNum = Obj.length - 1;
            var cbObj;
            if (Obj[arrNum] == undefined) {
               cbObj = Obj;
            }
            else {
               cbObj = Obj[arrNum];
            }
            var formObj = cbObj.form;
            var cbName = cbObj.name;
            var cbCount = 0;
            var cbFirstChecked = cbObj.checked;
            var cbOtherChecked = false;
            for (var cb=0;cb<formObj.length;cb++) {
               if (formObj.elements[cb].type == 'checkbox' && formObj.elements[cb].name == cbName) {
                  cbCount++;
                  if (formObj.elements[cb].checked) {
                     cbOtherChecked = true;
                     }
               }
            }
            if (cbCount > 0) {
               if (cbFirstChecked || cbOtherChecked) {
                  retVal = true;
               }
               else {
                  retVal = false;
               }
            }
            else {
               if (cbFirstChecked) {
                  retVal = true;
               }
               else {
                  retVal = false;
               }
            }
         }
         else {
         retVal = false;
         if (Obj.length != undefined) {
            for(var x=0;x<Obj.length;x++) {
               if (Obj[x].checked) {
                  retVal = true;
               }
            }
         }
         else {
            if (Obj.checked == true) {
               retVal = true;
            }
         }
      }
      break;
      
      
      default:
         retVal = true;
   }
   return retVal;
}

function windRedirect(emailAddress){
   var url;
   var stateValue;
   var stateIndex;
   var stateEnd = emailAddress.length;
    //var stateIndex=emailAddress.indexOf("State=");
   //stateValue = emailAddress.substring(stateIndex+6, stateEnd);
    //if (stateValue == "Delaware"){
   // url = "send_form_emailHTMLDelaware.php?Email=" + emailAddress;
   //} else if (stateValue == "Guam"){
   // url = "send_form_emailHTMLGuam.php?Email=" + emailAddress;
   //} else {
      url = "send_form_emailHTML.php?Email=" + emailAddress;
   //}
   
   return window.location = url;
}
// JavaScript Document
function getEmailAddress(formObj) {
   
   //CHANGE 07.dec.2004  J.Strelow
   //implemented fix for checking radio buttons.
   
   var Required = formObj.required;
   var fieldArray;
   var qname = '';
   var oField;
   var sFormName = formObj.name;
   var tmpFieldArray;
   var tmpFieldString;
   var sErrormsg = '';
   var bRetval = true;
   var undefined;
   var email;
   var url;
   if (Required != undefined) {
      fieldArray = Required.value.split(',');
   }
   else
   {
   // alert('Required field missing on form.  Must have hidden field named \'required\' with a comma seperated list of fields in the format \'HTML Field Name|Field Label\'');   
   }
   for(var i=0;i<fieldArray.length;i++) {
      tmpFieldString = fieldArray[i].toString();
      tmpFieldArray = tmpFieldString.split('|');
      
      //if (sFormName.name != undefined) {
         
         oField=undefined;
         for(var fe=0;fe<formObj.length;fe++) {
            if (formObj.elements[fe].name == tmpFieldArray[0]) {
               
                  //alert (formObj.elements[fe].name);
               if (formObj.elements[fe].type=='radio'){
                  //this is a radio button CHOICE, not the radio button
                  //we must make oField hold the whole radio button array, using Eval fxn
                  oField = eval('formObj.' + formObj.elements[fe].name);
               }else{
                  //normal treatment
                  oField = formObj.elements[fe];
                  if (oField.name == "entry.10.single") {
                     email = oField.value;
                     
                  }
               }
               
            }
         }
      //}
      //else {
         
      // oField = eval('document.' + sFormName + '.' + tmpFieldArray[0]);
      //}
      qname = tmpFieldArray[1];
      if (oField == undefined) {
         //alert('Error! ' + tmpFieldArray[0] + ' is not a valid field on your form.');
         bRetval = true;
      }
      else {
         bRetval = CheckRequired(oField);
      }
      if(bRetval == false) {
         sErrormsg = sErrormsg.toString() + 'Please complete: ' + qname + '\n';
      }
   }
   if (sErrormsg.length > 0) {
      //alert('The following errors were found on this form:\n' + sErrormsg);
       url = "send_form_email.php?" + email;
        return window.location = url;
      //return email;
   }
   else {
      //windRedirect(email);
      //return email;
      url = "send_form_email.php?" + email;
        return window.location = url;
   }
   
}
