function validEmail(email) {
	invalidChars = " /:,;"
	if (email == "") {
		return false
	}
	for (i=0; i<invalidChars.length; i++) {
		badChar = invalidChars.charAt(i)
		if (email.indexOf(badChar,0) > -1) {
			return false
		}
	}
	atPos = email.indexOf("@",1)
	if (atPos == -1) {
		return false
	}
	if (email.indexOf("@",atPos+1) != -1) {
		return false
	}
	periodPos = email.indexOf(".",atPos)
	if (periodPos == -1) {
		return false
	}
	if (periodPos+3 > email.length)	{
		return false
	}
	return true
}

function validForm(reg) {

	if (reg.Salutation.value == "") {
		alert("Please enter your Salutation.")
		reg.Salutation.focus()
		return false
	}

	if (reg.First.value == "") {
		alert("Please enter your First Name.")
		reg.First.focus()
		return false
	}
	if (reg.Last.value == "") {
		alert("Please enter your Last Name.")
		reg.Last.focus()
		return false
	}
	/*
	if (reg.Title.value == "") {
		alert("Please enter your job title.")
		reg.Title.focus()
		return false
	}
	CompanyChoice = reg.Company.selectedIndex
	if (reg.Company.options[CompanyChoice].value == "") {
		alert("Please select your company.")
		reg.Company.focus()
		return false
	}
	*/
	if (reg.Company.value == "") {
		alert("Please enter your Company Name.")
		reg.Company.focus()
		return false
	}
	if (reg.Address1.value == "") {
		alert("Please enter your address.")
		reg.Address1.focus()
		return false
	}

	if (reg.Street.value == "") {
		alert("Please enter your street address.")
		reg.Street.focus()
		return false
	}

	if (reg.City.value == "") {
		alert("Please enter your city.")
		reg.City.focus()
		return false
	}
	/*
	StateChoice = reg.State.selectedIndex
	if (reg.State.options[StateChoice].value == "") {
		alert("Please select your state.")
		reg.State.focus()
		return false
	}*/
	if (reg.Postal.value == "") {
		alert("Please enter your Postal code.")
		reg.Postal.focus()
		return false
	}
	if (reg.Country.value == "") {
		alert("Please enter your Country.")
		reg.Country.focus()
		return false
	}
	if (reg.Phone.value == "") {
		alert("Please enter your phone number")
		reg.Phone.focus()
		return false
	}
	if (!validEmail(reg.Email.value)) {
		alert("Please enter a valid email address (like name@domain.com).")
		reg.Email.focus()
		reg.Email.select()
		return false
	}

	AttendeeTypeChoice = reg.AttendeeType.selectedIndex
	if (reg.AttendeeType.options[AttendeeTypeChoice].value == "") {
		alert("Please select your attendee type.")
		reg.AttendeeType.focus()
		return false
	}

	AttendeeTypeChoice = reg.AttendeeType.selectedIndex
	Attendeetype = reg.AttendeeType.options[AttendeeTypeChoice].value;
	if(Attendeetype == 'PCC Steering Committee' || Attendeetype == 'Developer Partner')
	{
		if (reg.Password.value == '')
		{
			alert("Please enter your password.")
			reg.Password.focus()
			return false
		}
	}

	if (
		hex_sha1(reg.Password.value) != "def4e22c8693c75f51452267c22f80515176adb6"
		&& reg.AttendeeType.value == "PCC Steering Committee"
	) {
		alert("You have entered an incorrect password.")
		reg.Password.focus()
		return false
	}
	if (
		hex_sha1(reg.Password.value) != "def4e22c8693c75f51452267c22f80515176adb6"
		&& reg.AttendeeType.value == "Developer Partner"
	) {
		alert("You have entered an incorrect password.")
		reg.Password.focus()
		return false
	}

	if ( undefined != $('#ExecutiveForum').val() ) {
		ExecutiveForumChoice = reg.ExecutiveForum.selectedIndex
		if (reg.ExecutiveForum.options[ExecutiveForumChoice].value == "") {
			alert("please select which forum you are attending.")
			reg.ExecutiveForum.focus()
			return false
		}
	}

	if (reg.ArrivalDate.value == "") {
		alert("Please enter your arrival date.")
		reg.ArrivalDate.focus()
		return false
	}

	ArrivalTimeChoice = reg.ArrivalTime.selectedIndex
	if (reg.ArrivalTime.options[ArrivalTimeChoice].value == "") {
		alert("Please select your arrival time.")
		reg.ArrivalTime.focus()
		return false
	}

	if (reg.DepartureDate.value == "") {
		alert("Please enter your departure date.")
		reg.DepartureDate.focus()
		return false
	}

	DepartureTimeChoice = reg.DepartureTime.selectedIndex
	if (reg.DepartureTime.options[DepartureTimeChoice].value == "") {
		alert("Please select your departure time.")
		reg.DepartureTime.focus()
		return false
	}

	if (
		reg.Day1.checked == false
		&& document.reg.Day2.checked == false
		&& document.reg.Day3.checked == false
	) {
		alert("Please select at least one meeting day.")
		reg.Day1.focus()
		return false
	}

	AttendingSundayChoice = reg.AttendingSunday.selectedIndex
	if (reg.AttendingSunday.options[AttendingSundayChoice].value == "") {
		alert("Please select if you are attending the Sunday evening welcome cocktail.")
		reg.AttendingSunday.focus()
		return false
	}

	AttendingDinnerChoice = reg.AttendingDinner.selectedIndex
	if (reg.AttendingDinner.options[AttendingDinnerChoice].value == "") {
		alert("Please select if you are attending the PCC Dinner Tuesday evening.")
		reg.AttendingDinner.focus()
		return false
	}

	BringPartnerChoice = reg.BringPartner.selectedIndex
	if (reg.BringPartner.options[BringPartnerChoice].value == "") {
		alert("Will you be bringing a guest to the PCC Dinner.")
		reg.BringPartner.focus()
		return false
	}

	PaymentMethodChoice = reg.PaymentMethod.selectedIndex
	if (reg.PaymentMethod.options[PaymentMethodChoice].value == "") {
		alert("Please select a payment method.")
		reg.PaymentMethod.focus()
		return false
	}

	HotelAccomodationChoice = $('input:radio[name=HotelAccomodation]:checked').val();
	if (
		undefined == HotelAccomodationChoice
		|| HotelAccomodationChoice == ""
	) {
		alert("Please select if you will need hotel accomodation.")
		reg.HotelAccomodation[0].focus()
		return false
	}

	if (document.reg.ConferenceTandC.checked == false ) {
		alert("You must agree to the PCC EMEA Conference Registration and Attendance Terms and Conditions in order to register.")
		reg.ConferenceTandC.focus()
		return false
	}

	// set this hidden field so we know that javascript validation works
	reg.jscheck.value = "pass";

	return true
}

function enableOther() {
	var MyDiv  = document.getElementById('MyDiv');
	if (document.reg.Company.value == '[OTHER]') {
		MyDiv.style.visibility = 'visible';
		MyDiv.style.display = 'block';
		document.reg.MyTextbox.value = '';
	} else {
		MyDiv.style.visibility = 'hidden';
		MyDiv.style.display = 'none';
		document.reg.MyTextbox.value = document.reg.Company.value;
	}
	var MyDiv2  = document.getElementById('MyDiv2');
	if (document.reg.Company.value == '[OTHER]') {
		MyDiv2.style.visibility = 'visible';
		MyDiv2.style.display = 'block';
		document.reg.MyTextbox.value = '';
	} else {
		MyDiv2.style.visibility = 'hidden';
		MyDiv2.style.display = 'none';
	}
}

