
var FailColor = "#FFFF66";
var PassColor = "#ffffff";
var errors = false;

//function typebadgename(f)
//	{f.BadgeName.value = f.FirstName.value;	}


function DuplicateName(f)
{
  if (f.dupeName[0].checked) 
     {
      f.BillingFirstName.value = f.FirstName.value;
      f.BillingLastName.value = f.LastName.value;
      f.BillingAddress.value = f.HomeAddress1.value;
      f.BillingCity.value = f.HomeCity.value;
      f.BillingState.value = f.HomeState.value;
      f.BillingZip.value = f.HomeZip.value;
      f.BillingEmail.value = f.HomeEmail.value;
     } 
   else if (f.dupeName[1].checked) 
     {
      f.BillingFirstName.value = f.FirstName.value;
      f.BillingLastName.value = f.LastName.value;
      f.BillingAddress.value = f.WorkAddress1.value;
      f.BillingCity.value = f.WorkAddress3.value;
      f.BillingState.value = f.state.value;
      f.BillingZip.value = f.postalcode.value;
      f.BillingEmail.value = f.email.value;
     }
   else
     {
      f.BillingFirstName.value = "";
      f.BillingLastName.value = "";
      f.BillingAddress.value = "";
      f.BillingCity.value = "";
      f.BillingState.value = "";
      f.BillingZip.value = "";
      f.BillingEmail.value = "";
     }
}  // function DuplicateName()


function BestName(f)
{
  if (f.bestName[0].checked) 
     {
      f.bestareacode.value = f.homeareacode.value;
      f.bestexchange.value = f.homeexchange.value;
      f.besttelnum.value = f.hometelnum.value;
      f.BestEmail.value = f.HomeEmail.value;
     } 
   else if (f.bestName[1].checked) 
     {
      f.bestareacode.value = f.areacode.value;
      f.bestexchange.value = f.exchange.value;
      f.besttelnum.value = f.telnum.value;
      f.BestEmail.value = f.email.value;
     }
   else if (f.bestName[2].checked) 
     {
      f.bestareacode.value = f.asstareacode.value;
      f.bestexchange.value = f.asstexchange.value;
      f.besttelnum.value = f.assttelnum.value;
      f.BestEmail.value = f.assistantEmail.value;
     }
   else
     {
      f.bestareacode.value = "";
      f.bestexchange.value = "";
      f.besttelnum.value = "";
      f.BestEmail.value = "";
     }
}  // function DuplicateName()


/*
function checkfee1(f)
{
    if(f.regfee1.checked)
        {
            if(f.regfee2.checked && f.regfee3.checked)
                { f.regfee1.checked = false; }
            else
                { f.regfee4.checked = false;
                  f.regfee5.checked = false;
                  f.regfee6.checked = false;
                }
        }
}

function checkfee2(f)
{
    if(f.regfee2.checked)
        {
            if(f.regfee1.checked && f.regfee3.checked)
                { f.regfee2.checked = false; }
            else
                { f.regfee4.checked = false;
                  f.regfee5.checked = false;
                  f.regfee6.checked = false;
                }
        }
}


function checkfee3(f)
{
    if(f.regfee3.checked)
        {
            if(f.regfee1.checked && f.regfee2.checked)
                { f.regfee3.checked = false; }
            else
                { f.regfee4.checked = false;
                  f.regfee5.checked = false;
                  f.regfee6.checked = false;
                }
        }
}

function checkfee4(f)
{
    if(f.regfee4.checked)
        {
            f.regfee1.checked = false;
            f.regfee2.checked = false;
            f.regfee3.checked = false;
            f.regfee5.checked = false;
            f.regfee6.checked = false;
        }
}

function checkfee5(f)
{
    if(f.regfee5.checked)
        {
            f.regfee1.checked = false;
            f.regfee2.checked = false;
            f.regfee3.checked = false;
            f.regfee4.checked = false;
            f.regfee6.checked = false;
        }
}

function checkfee6(f)
{
    if(f.regfee6.checked)
        {
            f.regfee1.checked = false;
            f.regfee2.checked = false;
            f.regfee3.checked = false;
            f.regfee4.checked = false;
            f.regfee5.checked = false;
        }
}
*/

function addfees(f)
{
    var regtype = "";
    var regfee = 0;
    var regtype2 = "";
    var regfee2 = 0;

/*
    if(f.regfee1.checked) 
        {
            regtype = "Reception";
            regfee = -(-25);            // 25
            
            if(f.regfee2.checked)
                {regtype2 = "Summit Sessions";
                 regfee2 = -(-60);
                }
            else if(f.regfee3.checked)
                {regtype2 = "Luncheon Program";
                 regfee2 = -(-60);
                }
        }

    else if(f.regfee2.checked) 
        {
            regtype = "Summit Sessions";
            regfee = -(-60);

            if(f.regfee3.checked)
                {regtype2 = "Luncheon Program";
                 regfee2 = -(-60);
                }
        }

    else if(f.regfee4.checked) 
        {
            regtype = "Entire Summit (All 3 Events)";
            regfee = -(-175);
        }

    else if(f.regfee5.checked) 
        {
            regtype = "Government Rate (All 3 Events)";
            regfee = -(-150);
        }

    else if(f.regfee6.checked) 
        {
            regtype = "Student Rate (All 3 Events)";
            regfee = -(-99);
        }
*/

//    f.regtype.value = regtype;
//    f.regfeeAmount.value = regfee;
//    f.regtype2.value = regtype2;
//    f.regfee2Amount.value = regfee2;


    if(f.totalcost.value == 0)
        {
            errors = true;
            alert("Please select tickets or a program book item.");
        }

}


function addfields(f)
{
    f.phone.value = f.areacode.value + "-" + f.exchange.value + "-" + f.telnum.value;
    f.fax.value = f.faxareacode.value + "-" + f.faxexchange.value + "-" + f.faxtelnum.value;
    f.cellPhone.value = f.cellareacode.value + "-" + f.cellexchange.value + "-" + f.celltelnum.value;
    f.assistantPhone.value = f.asstareacode.value + "-" + f.asstexchange.value + "-" + f.assttelnum.value;
    f.HomePhone.value = f.homeareacode.value + "-" + f.homeexchange.value + "-" + f.hometelnum.value;
    f.HomeFax.value = f.homefaxareacode.value + "-" + f.homefaxexchange.value + "-" + f.homefaxtelnum.value;
    f.HomeCell.value = f.homecellareacode.value + "-" + f.homecellexchange.value + "-" + f.homecelltelnum.value;
    f.BestPhone.value = f.bestareacode.value + "-" + f.bestexchange.value + "-" + f.besttelnum.value;
}


function ValidateField(fieldname)
{
  if(fieldname.value == null || fieldname.value == "")
	{errors = true;
	//fieldname.focus();
	setColor(fieldname, FailColor);
	}
  else if( cleanBadCharacters(fieldname.value) )
	{errors = true;
	//fieldname.focus();
	setColor(fieldname, FailColor);
	}
  else { setColor(fieldname, PassColor); }

}

function ValidateSelect(fieldname)
{
  if (fieldname.options[fieldname.selectedIndex].value == 0 )
	{
	errors = true;
	setColor(fieldname, FailColor);
	}
  else { setColor(fieldname, PassColor); }
}

function isvalidemail(value)
{
	var atsignindex = value.indexOf("@");	
	if (atsignindex == -1)
		{ return false; }

	var dotsomething = value.lastIndexOf(".");
	if (dotsomething == -1 || dotsomething < atsignindex)
		{ return false; }

	return true;

}  // function isvalidemail()

function numeric_only(data)
{
  //ValidateField(data);

  if(data.search(/[^0-9]/)  !=  -1)
  { return false; }
    return true;
}

function VerifyAndSubmitForm(f) 
{
errors = false;

ValidateField(f.FirstName);
ValidateField(f.LastName);
//ValidateField(f.BadgeName);
ValidateField(f.Employer);
ValidateField(f.Position);
ValidateField(f.WorkAddress1);
ValidateField(f.WorkAddress3);
ValidateSelect(f.state);
if ( !numeric_only(f.postalcode.value) )
    { errors = true; setColor(f.postalcode, FailColor); }
else
    { setColor(f.postalcode, PassColor); 
      ValidateField(f.postalcode);
    }

//ValidateField(f.phone);
if ( !numeric_only(f.areacode.value) )
    { errors = true; setColor(f.areacode, FailColor); }
else
    { setColor(f.areacode, PassColor); 
      ValidateField(f.areacode);
    }
if ( !numeric_only(f.exchange.value) )
    { errors = true; setColor(f.exchange, FailColor); }
else
    { setColor(f.exchange, PassColor); 
      ValidateField(f.exchange);
    }
if ( !numeric_only(f.telnum.value) )
    { errors = true; setColor(f.telnum, FailColor); }
else
    { setColor(f.telnum, PassColor); 
      ValidateField(f.telnum);
    }


//ValidateField(f.fax);
if ( !numeric_only(f.faxareacode.value) )
    { errors = true; setColor(f.faxareacode, FailColor); }
else
    { setColor(f.faxareacode, PassColor); 
      ValidateField(f.faxareacode);
    }
if ( !numeric_only(f.faxexchange.value) )
    { errors = true; setColor(f.faxexchange, FailColor); }
else
    { setColor(f.faxexchange, PassColor); 
      ValidateField(f.faxexchange);
    }
if ( !numeric_only(f.faxtelnum.value) )
    { errors = true; setColor(f.faxtelnum, FailColor); }
else
    { setColor(f.faxtelnum, PassColor); 
      ValidateField(f.faxtelnum);
    }


if (!isvalidemail(f.email.value)) 
    { errors = true; setColor(f.email, FailColor); }
else
    { setColor(f.email, PassColor); }

ValidateField(f.HomeAddress1);
ValidateField(f.HomeCity);
ValidateSelect(f.HomeState);
if ( !numeric_only(f.HomeZip.value) )
    { errors = true; setColor(f.HomeZip, FailColor); }
else
    { setColor(f.HomeZip, PassColor); 
      ValidateField(f.HomeZip);
    }

ValidateField(f.BillingFirstName);
ValidateField(f.BillingLastName);
ValidateField(f.BillingAddress);
ValidateField(f.BillingCity);
ValidateSelect(f.BillingState);

if ( !numeric_only(f.BillingZip.value) )
    { errors = true; setColor(f.BillingZip, FailColor); }
else
    { setColor(f.BillingZip, PassColor); 
      ValidateField(f.BillingZip);
    }

if (!isvalidemail(f.BillingEmail.value)) 
    { errors = true; setColor(f.BillingEmail, FailColor); }
else
    { setColor(f.BillingEmail, PassColor); }


//ValidateField(f.BestPhone);
if ( !numeric_only(f.bestareacode.value) )
    { errors = true; setColor(f.bestareacode, FailColor); }
else
    { setColor(f.bestareacode, PassColor); 
      ValidateField(f.bestareacode);
    }
if ( !numeric_only(f.bestexchange.value) )
    { errors = true; setColor(f.bestexchange, FailColor); }
else
    { setColor(f.bestexchange, PassColor); 
      ValidateField(f.bestexchange);
    }
if ( !numeric_only(f.besttelnum.value) )
    { errors = true; setColor(f.besttelnum, FailColor); }
else
    { setColor(f.besttelnum, PassColor); 
      ValidateField(f.besttelnum);
    }




ValidateField(f.BestEmail);
if (!isvalidemail(f.BestEmail.value)) 
    { errors = true; setColor(f.BestEmail, FailColor); }
else
    { setColor(f.BestEmail, PassColor); }


    addfees(f);
    addfields(f);

    if ( errors == false )
    {
        f.action = "http://www.greenmoonsolutions.com/viid/event_process.asp";
	    f.submit();
    }
    else
    {
        alert("Please complete the highlighted sections of the form.");
    }

}
