	function callDateChange() {
		if(!checkDateChange()) {
			document.signup.startDate.value="";
			alert("The subscription start date cannot be in the past.");
		}
	}
	function checkDateChange() {
		if(document.signup.startDate.value!="") {
			var date1=document.signup.startDate.value;
			//var date2="<?php echo date("Y-m-d"); ?>";
			var cur_date = new Date();
			var date2 = cur_date.getFullYear()+'-'+(cur_date.getMonth()+1)+'-'+cur_date.getDate();
			if(comp_dates(date1,date2)) {
				return(true);
			}
			else {
				return(false);
			}
		}
		else {
			return(true);
		}
	}
	function comp_dates(dates1,dates2) {
		var date_array1=dates1.split("-");
		var date1_day=date_array1[2];
		var date1_month=date_array1[1];
		var date1_year=date_array1[0].substr(2);

		var date_array2=dates2.split("-");
		var date2_day=date_array2[2];
		var date2_month=date_array2[1];
		var date2_year=date_array2[0].substr(2);

		var date1= new Date(date1_year, date1_month, date1_day);
		var date2= new Date(date2_year, date2_month, date2_day);

		if(date1.getTime()>=date2.getTime()) {
			return(true);
		}
		else {
			return(false);
		}
	}
	
	function setInitialDate() {
		//this will prepopulate the date field.
		//it mimics what calendar.js does when a date is selected from calendar.
		//if the format ever changes from %Y=%m-%d, then this function will need to change
		var date = new Date();
		var y = date.getFullYear();
		var m = date.getMonth();
		m = (m < 9) ? ("0" + (1+m)) : (1+m); // month, range 01 to 12
		var d = date.getDate();
		d = (d < 10) ? ("0" + d) : d; // the day of the month (range 01 to 31)
		document.signup.startDate.value = y+'-'+m+'-'+d;
	}

	function processUserid() {
		if(document.signup.login.value!="") {
			strSubmit = "username="+document.signup.login.value;
			var strURL = "checkusername.php";
			var strResultFunc = "processUserid1";
			xmlhttpPost(strURL, strSubmit, strResultFunc);
		}
		else {
			var obj=document.getElementById("usertext");
			obj.innerHTML="Please enter User ID.";
		}
	}
			
	function processUserid1(strIn) {
		var obj=document.getElementById("usertext");
		obj.innerHTML=strIn;
	}

	function processEmail() {
		if(document.signup.email.value!="") {
			strSubmit = "username="+document.signup.email.value;
			var strURL = "checkemail.php";
			var strResultFunc = "processEmail1";
			xmlhttpPost(strURL, strSubmit, strResultFunc);
		}
		else {
			var obj=document.getElementById("emailtext");
			obj.innerHTML="";
		}
	}
			
	function processEmail1(strIn) {
		var obj=document.getElementById("emailtext");
		obj.innerHTML=strIn;
	}

	function createPO1() {
		
		var msgstr = "Sorry, we cannot complete your request.\nKindly provide us the following missing or incorrect information:\n\n";
		var error=checkValidity();
		if(error=="") {
			document.signup.createPO.value="payNow";
			
			var find_us = document.signup.find_select.value;
			if (document.signup.find_info.value != '') {
				find_us = find_us + '-' + document.signup.find_info.value;
			}
			document.signup.find_us.value = find_us;
			
			var title = document.signup.title_select.value;
			if (document.signup.title_info.value != '') {
				title = title + '-' + document.signup.title_info.value;
			}
			document.signup.title.value = title;
			
		}
		else {
			alert(msgstr+error);
			return(false);
		}
	}
			
	function checkValidity()
	{
		var errorstr = '';
		//User ID
		if (document.signup.login.value=='' ) { errorstr += "- Please enter a User ID\n";}
		else {
			var obj=document.getElementById("usertext");
			if(obj.innerHTML!="Please enter UserName here." && obj.innerHTML!="This user name is available.")
			{ errorstr += "- The User ID entered is not available\n";}
			
			var atomPat=new RegExp("[^A-Za-z0-9\-_]+$");
			if(atomPat.test(document.signup.login.value)) {
				errorstr += "- The User ID contains invalid characters.  Valid characters include letters, numbers, underscores, and hypens\n";
			}
			if (document.signup.login.value.length<4 ) { errorstr += "- User ID must be 4 or more characters in length\n";}
		}

		//Password
		if (document.signup.pass0.value=='' ) { errorstr += "- Please enter a Password.\n";}
		else {
			if (document.signup.pass0.value.length<4 ) { errorstr += "- Password must be 4 or more characters in length.\n";}
		}
		if (document.signup.pass1.value=='' ) { errorstr += "- Please enter a Confirming Password\n";}
		else {
			if (document.signup.pass0.value != document.signup.pass1.value) { errorstr += "- The Password and Confirming Password do not match\n";}
		}
		
		//Subscription start date
		if (document.signup.startDate.value=='' ) { errorstr += "- Please enter a Subscription Start Date\n";}
		
		//Name
		if (document.signup.name_f.value=='' ) { errorstr += "- Please enter a First Name\n";}
		if (document.signup.name_l.value=='' ) { errorstr += "- Please enter a Last Name\n";}
		
		//Email
		if (document.signup.email.value=='' ) { errorstr += "- Please enter an Email Address\n";}
		else {
			errorstr += valid_email(document.signup.email.value);
			var obj=document.getElementById("emailtext");
			if(obj.innerHTML!="") { errorstr += "- An account with this Email Address already exists\n";}
		}
		
		//School values
		if (document.signup.schoolName.value=='' ) { errorstr += "- Please enter a School Name\n";}
		if (document.signup.schoolDistrict.value=='' ) { errorstr += "- Please enter a School District\n";}
	
		//Address values
		if(document.signup.street.value=='') { errorstr += "- Please enter a Street address\n";}
		if(document.signup.city.value=='') { errorstr += "- Please enter a City\n";}
		if(document.signup.state.selectedIndex==0) { errorstr += "- Please select a State\n";}
//		if(document.signup.country.selectedIndex!=0 && document.signup.country.selectedIndex!=1 && document.signup.country.selectedIndex!=2 
//			&& document.signup.state.selectedIndex!=1 && document.signup.state.selectedIndex!=0)
//		{ errorstr += "- State not valid for Country selection\n";}
		if(document.signup.country.selectedIndex==0) { errorstr += "- Please select a Country\n";}
		if(document.signup.zip.value=='') { errorstr += "- Please enter a Zip code\n";}
		
		//Other
		//if(document.signup.phoneNO.value=='') { errorstr += "- Please enter a Phone number\n";}
		if(document.signup.title_select.selectedIndex==0) { errorstr += "- Please select a Title\n";}
		if(document.signup.find_select.selectedIndex==0) { errorstr += "- Please select how you found us\n";}
	
		return(errorstr);
	}

	function valid_email(var1) {
		var checkEmail = "@.";
		var checkStr = var1;
		var EmailValid = false;
		var EmailAt = false;
		var EmailPeriod = false;
		if(var1=="") {
			return("");
		}
			
		for (i = 0;  i < checkStr.length;  i++) {
			ch = checkStr.charAt(i);
				for (j = 0;  j < checkEmail.length;  j++)
				{
					if (ch == checkEmail.charAt(j) && ch == "@")
					{
						if(i==0)
						break;
						ch1= checkStr.charAt(i+1);
						if  (ch1!=""&&ch1!=".")
						EmailAt = true;
					}
					if (ch == checkEmail.charAt(j) && ch == ".")
					{
						ch1= checkStr.charAt(i+1);
						if  (ch1!="")
						EmailPeriod = true;
				   	}
		  			if (EmailAt && EmailPeriod)
				break;
      	  		if (j == checkEmail.length)
				break;
				}
				if (EmailAt && EmailPeriod)
				{
					EmailValid = true
					break;
				}
		}
		if (!EmailValid) {
			//return("- Invalid email ID ! Please re-enter the email address.\n");
			return("- The Email Address entered is not valid\n");
		}

		if (var1.length<7) {
			//return(text1+"- Invalid email ID ! Please re-enter the email address. E-mail Id should have atleast 7 characters.\n");
			return("- The Email Address entered is not valid\n");
		}
		return("");
	}
	
	function processFind() {
		if (document.signup.find_select.value == 'Other' || document.signup.find_select.value == 'Reseller') {
			document.getElementById('find_info_label').innerHTML = 'Please Specify';
			document.getElementById('find_info_container').style.display = 'inline';
		}
		else {
			document.getElementById('find_info_container').style.display = 'none';
			document.signup.find_info.value = '';
		}
	}
	
	function processTitle() {
		if (document.signup.title_select.value == 'Teacher') {
			document.getElementById('title_info_label').innerHTML = 'Grade Level';
			document.getElementById('title_info_container').style.display = 'inline';
		}
		else if (document.signup.title_select.value == 'Other') {
			document.getElementById('title_info_label').innerHTML = 'Please Specify';
			document.getElementById('title_info_container').style.display = 'inline';
		}
		else {
			document.getElementById('title_info_container').style.display = 'none';
			document.signup.title_info.value = '';
		}
	}
	