function openWin(url) {
  popUpWin = window.open(url,
                         'HelpWin',
                         'titlebar=0,toolbar=0,location=no,top=30,left=340,directories=0,status=0,'+
                         'menubar=no,scrollbars=0,resizable=no,'+
                         'Height=450,Width=420');
}

function BuildMailTo() {
	sFullPath = location.href;
	return "<A href='#' onClick=javascript:openWin('/tell-a-friend.asp?page="+sFullPath+"')>";
}

function doClear(theText) 
{
     if (theText.value == theText.defaultValue)
 {
         theText.value = ""
     }
 }
 
 function IsNumeric(sText) {
   var ValidChars = "0123456789.-";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }

function isValidDate(dateStr) {
// Date validation function courtesty of 
// Sandeep V. Tamhankar (stamhankar@hotmail.com) -->

// Checks for the following valid date formats:
// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY

var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2,4})$/; // requires 4 digit year

var matchArray = dateStr.match(datePat); // is the format ok?
if (matchArray == null) {
alert("Date is not in a valid format.")
return false;
}
month = matchArray[1]; // parse date into variables
day = matchArray[3];
year = matchArray[4];
if (month < 1 || month > 12) { // check month range
alert("Month must be between 1 and 12.");
return false;
}
if (day < 1 || day > 31) {
alert("Day must be between 1 and 31.");
return false;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31) {
alert("Month "+month+" doesn't have 31 days!")
return false;
}
if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day>29 || (day==29 && !isleap)) {
alert("February " + year + " doesn't have " + day + " days!");
return false;
   }
}
return true;
}   

function valButton(btn) {
    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 return null;
}	

function check(form) {
	if (form.FIRSTNAME.value == "") 
	{
		alert("Please enter your first name.")
		form.FIRSTNAME.focus();
		return;
	}

	if (form.LASTNAME.value == "") 
	{
		alert("Please enter your last name.")
		form.LASTNAME.focus();
		return;
	}

	if (form.nickname.value == "") 
	{
		alert("Please enter a nickname (for badge).")
		form.nickname.focus();
		return;
	}

	var stremail=form.email.value
	var emailchar=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (!emailchar.test(stremail)) {

		alert("Please enter a valid email address.");
		form.email.focus();
		return
	}	
	
	var btn = valButton(form.guest);
	if (btn == null) { 
		alert('Are you bringing a guest?');
		return
	}	

	if (btn == 'yes' && form.guestName.value == "") {
			alert("Please enter name of your guest.")
			form.guestName.focus();
			return;
	}

	if (document.thisform.fridayCommittee.checked == false && document.thisform.fridayReception.checked == false && document.thisform.satBreakfast.checked == false && document.thisform.satScientific.checked == false && document.thisform.satLuncheon.checked == false ) {
		alert("Please select an activity."); 
		return; 
	}

	if (form.fridayReception.checked && form.attending.value == "" ){
			alert("Please enter number attending Welcome Reception"); 
			form.attending.focus();
			return; 
	}

	if (!IsNumeric(form.attending.value)) {
		alert("Please enter a valid number attending Welcome Reception.")
		form.attending.focus();
		return;
	}	


	if (form.Practice.value == "") 
	{
		alert("Please enter the name of your practice.")
		form.Practice.focus();
		return;
	}	

	if (form.OFFADD.value == "") {
		alert("Please enter your street address.")
		form.OFFADD.focus();
		return;
	}
	if (form.OFFCITY.value == "") {
		alert("Please enter your city.")
		form.OFFCITY.focus();
		return;
	}
	if (form.OFFSTATE.value == "") {
		alert("Please enter your state.")
		form.OFFSTATE.focus();
		return;
	}
	if (form.OFFZIP.value == "") {
		alert("Please enter your zip.")
		form.OFFZIP.focus();
		return;
	}
	if (!IsNumeric(form.OFFZIP.value)) {
		alert("Please enter a valid zip.")
		form.OFFZIP.focus();
		return;
	}		
		
	if (form.OFFPHONE.value == "") {
		alert("Please enter your home telephone number.")
		form.OFFPHONE.focus();
		return;
	}		
	
	if (!IsNumeric(form.OFFPHONE.value)) {
		alert("Please enter a valid home telephone number.")
		form.OFFPHONE.focus();
		return;
	}


	else
	{
		form.submit();
	}
}