//Request Validation Script

function RequestSubmit(){
	if (document.request.email.value !=""){
	if (document.request.PhysicianName.value !=""){
	if (document.request.fname.value !=""){
		// validate name
		
		
		if (document.request.lname.value !=""){
			//validate last name
			
			
			if (document.request.dobYear.value!=""){
				
				if (CheckBDate(document.request.dobMonth.value,document.request.dobDay.value,document.request.dobYear.value)){
				
				
					if(document.request.area.value !=""){
						
						
						if(document.request.phoneprefix.value !=""){
						
							if(document.request.phonesuffix.value !=""){
							
								if(CheckTime(document.request.hh.options[document.request.hh.selectedIndex].value,
										document.request.mm.options[document.request.mm.selectedIndex].value,
										document.request.ampm.options[document.request.ampm.selectedIndex].value)){
											document.request.submit();
								}
								else{alert("Please enter a time between 8:30am and 5:00pm")}
							}
							else{alert("Please Enter A Valid Phone Number")}
						}
						else{alert("Please Enter Your Phone Number")}
					}
					else{alert("Please Enter Your Area Code")}
				}
				
			
			}
			else{alert("Please Enter Your Birthdate")}
		} 
		else {alert("Please Enter Your Last Name")}
		
	}
	else {alert("Please Enter Your First Name")}
	}
	else {alert("Please Enter Your Physician's Name")}
	}
	else {alert("Please Enter Your Email Address")}
}
//Registration Form Validation

function RegisterSubmit() {
if (document.register.fname.value !=""){
			
		if (document.register.lname.value !=""){
						
			if (document.register.dobYear.value!=""){
				
				if(CheckBDate(document.register.dobMonth.value,document.register.dobDay.value,document.register.dobYear.value)){
				
					if(document.register.area.value !=""){
						
						if(document.register.phoneprefix.value !=""){
						
							if(document.register.phonesuffix.value !=""){
								
									if(document.register.addr1.value != ""){
											
											if(document.register.city.value != ""){
											    if(document.register.state.value != ""){

												if(document.register.zip.value != ""){
												
													if(document.register.cc.value=1){
														
														if(document.register.CardNumber !=""){
															document.register.submit();
														}
														else{alert("You Must Provide Your Credit Card Information To Enroll In This Class")}
																											
													}
													else{document.register.submit()}
														
												}
												else{alert("Please Enter Your ZIP or Postal Code")}
}
											else{alert("Please Enter Your State or Province")}

											
											}
											else{alert("Please Enter Your City")}
											
										}
										else{alert("Please Enter Your Address")}
	
																	
							}
							else{alert("Please Enter A Valid Phone Number")}
						}
						else{alert("Please Enter Your Phone Number")}
					}
					else{alert("Please Enter Your Area Code")}
				}
				
			}
			else{alert("Please Enter Your Birthdate")}
		} 
		else {alert("Please Enter Your Last Name")}
	}
	else {alert("Please Enter Your First Name")}
}
//Validation Function Start Here

function validate(field, type, label) {
	if (type==1)
		var valid = " -abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'";
	else 
		var valid = "1234567890";
	
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
	temp = "" + field.value.substring(i, i+1);
	if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
	alert("Please Enter A Valid"+label);
	field.focus();
	field.select();
	   }
}

function CheckBDate(month, day, year){
	if ((month==04 || month==06 || month==09 || month==11) && day==31) {
		alert("Please Enter A Valid Date ");
		return false;
	}
	if (month == 02) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		}
	if (month==02 && day>28 && !isleap) {
		alert("February only has 28 days");
		return false;
	   }
	if (year.length !==4) {   
	alert("Please Enter A Valid 4 Digit Year");
		return false;
	   }   
	return true;
}

function emailCheck (emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		alert("Email address seems incorrect (check @ and .'s)")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]

	if (user.match(userPat)==null) {
	    // user is not valid
	    alert("The Email Username Doesn't Seem To Be Valid.")
	    return false
	}

	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
		        alert("The Email Destination IP address is invalid!")
			return false
		    }
	    }
	    return true
	}

	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert("The Email Domain Name Doesn't Seem to be valid.")
	    return false
	}

	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
	    domArr[domArr.length-1].length>3) {
	   alert("The address must end in a three-letter domain, or two letter country.")
	   return false
	}

	if (len<2) {
	   var errStr="This Email Address Is Missing A Hostname!"
	   alert(errStr)
	   return false
	}

return true;
}
	
function CheckTime(hour, minute, ampm) {

//Allow 8:00am-11:59am.
	if (((hour==8) && (ampm=="AM"))
		 || ((hour>8) && (hour<12) && (ampm=="AM"))){
		return true;
	}
//Allow 12:00-12:59pm.

	if ((hour==12) && (ampm=="PM")){
		return true;
	}
//Allow 1:00-5:00pm.

	if (((hour<5) && (ampm=="PM"))
	   || ((hour==5) && (minute==0) && (ampm="PM"))){
		return true;
	}

//Disallow all other times.
return false;
}


function StName() {
	area=document.register.state.options[document.register.state.selectedIndex].value

	switch (area) {
	case "AL": FlName="Alabama" ;break;
	case "AK": FlName="Alaska" ;break;
	case "AR": FlName="Arkansas" ;break;
	case "AZ": FlName="Arizona" ;break;
	case "CA": FlName="California" ;break;
	case "CO": FlName="Colorado" ;break;
	case "CT": FlName="Connecticut" ;break;
	case "DE": FlName="Delaware" ;break;
	case "FL": FlName="Florida" ;break;
	case "GA": FlName="Georgia" ;break;
	case "HI": FlName="Hawaii" ;break;
	case "IA": FlName="Iowa" ;break;
	case "ID": FlName="Idaho" ;break;
	case "IL": FlName="Illinois" ;break;
	case "IN": FlName="Indiana" ;break;
	case "KS": FlName="Kansas" ;break;
	case "KY": FlName="Kentucky" ;break;
	case "LA": FlName="Louisiana" ;break;
	case "MA": FlName="Massaschusetts" ;break;
	case "MD": FlName="Maryland" ;break;
	case "ME": FlName="Maine" ;break;
	case "MI": FlName="Michigan" ;break;
	case "MN": FlName="Minnesota" ;break;
	case "MO": FlName="Missouri" ;break;
	case "MS": FlName="Mississippi" ;break;
	case "MT": FlName="Montana" ;break;
	case "NE": FlName="Nebraska" ;break;
	case "NV": FlName="Nevada" ;break;
	case "NH": FlName="New Hampshire" ;break;
	case "NJ": FlName="New Jersey" ;break;
	case "NM": FlName="New Mexico" ;break;
	case "NY": FlName="New York" ;break;
	case "NC": FlName="North Carolina" ;break;
	case "ND": FlName="North Dakota" ;break;
	case "OH": FlName="Ohio" ;break;
	case "OK": FlName="Oklahoma" ;break;
	case "OR": FlName="Oregon" ;break;
	case "PA": FlName="Pennsylvania" ;break;
	case "RI": FlName="Rhode Island" ;break;
	case "SC": FlName="South Carolina" ;break;
	case "SD": FlName="South Dakota" ;break;
	case "TN": FlName="Tennessee" ;break;
	case "TX": FlName="Texas" ;break;
	case "UT": FlName="Utah" ;break;
	case "VA": FlName="Virginia" ;break;
	case "VT": FlName="Vermont" ;break;
	case "WA": FlName="Washington" ;break;
	case "WI": FlName="Wisconsin" ;break;
	case "WV": FlName="West Virginia" ;break;
	case "WY": FlName="Wyoming" ;break;
	   default : 
		FlName="" ;break;
	   break;
	}
document.register.StateFull.value=FlName
}


