function Show_Year()
// Function that will swap the display/no display for
// all content within span tags
{
	/*  document.getElementById('name').style.display='' */
	/*  if (box.checked == true)  */
	if (document.getElementById)
	{ // DOM3 = IE5, NS6 	

		
		if (document.getElementById('GED').checked)
		{
			
			document.getElementById('required').style.visibility = 'visible';
			
		}
		else
		{
			
			document.getElementById('required').style.visibility = 'hidden';
			
		}
	}
	else 
	{ 		
		if (document.layers)
		{ // netscape 4 
			if (document.GED.checked)
			{
				document.required.visibility = 'visible'; 
			}
			else
			{
				document.required.visibility = 'hidden'; 
			}
			
		} 
		else 
		{ // IE 4 
			if (document.GED.checked)
			{
				document.required.visibility = 'visible'; 
			}
			else
			{
				document.all.required.style.visibility = 'hidden'; 
			}
		} 
	} 	
}




String.prototype.trim = function() {

 // skip leading and trailing whitespace
 // and return everything in between
  var x=this;
  x=x.replace(/^\s*(.*)/, "$1");
  x=x.replace(/(.*?)\s*$/, "$1");
  return x;
}



function checkValidDate(dateStr) {
    // dateStr must be of format month day year with either slashes
    // or dashes separating the parts. Some minor changes would have
    // to be made to use day month year or another format.
    // This function returns True if the date is valid.
    var slash1 = dateStr.indexOf("/");
    if (slash1 == -1) { slash1 = dateStr.indexOf("-"); }
    // if no slashes or dashes, invalid date
    if (slash1 == -1) { return false; }
    var dateMonth = dateStr.substring(0, slash1)
    var dateMonthAndYear = dateStr.substring(slash1+1, dateStr.length);
    var slash2 = dateMonthAndYear.indexOf("/");
    if (slash2 == -1) { slash2 = dateMonthAndYear.indexOf("-"); }
    // if not a second slash or dash, invalid date
    if (slash2 == -1) { return false; }
    var dateDay = dateMonthAndYear.substring(0, slash2);
    var dateYear = dateMonthAndYear.substring(slash2+1, dateMonthAndYear.length);
    if ( (dateMonth == "") || (dateDay == "") || (dateYear == "") ) { return false; }
    // if any non-digits in the month, invalid date
    for (var x=0; x < dateMonth.length; x++) {
        var digit = dateMonth.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // convert the text month to a number
    var numMonth = 0;
    for (var x=0; x < dateMonth.length; x++) {
        digit = dateMonth.substring(x, x+1);
        numMonth *= 10;
        numMonth += parseInt(digit);
    }
    if ((numMonth <= 0) || (numMonth > 12)) { return false; }
    // if any non-digits in the day, invalid date
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // convert the text day to a number
    var numDay = 0;
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        numDay *= 10;
        numDay += parseInt(digit);
    }
    if ((numDay <= 0) || (numDay > 31)) { return false; }
    // February can't be greater than 29 (leap year calculation comes later)
    if ((numMonth == 2) && (numDay > 29)) { return false; }
    // check for months with only 30 days
    if ((numMonth == 4) || (numMonth == 6) || (numMonth == 9) || (numMonth == 11)) { 
        if (numDay > 30) { return false; } 
    }
    // if any non-digits in the year, invalid date
    for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // convert the text year to a number
    var numYear = 0;
    for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        numYear *= 10;
        numYear += parseInt(digit);
    }
    // Year must be a 2-digit year or a 4-digit year
    if ( (dateYear.length != 2) && (dateYear.length != 4) ) { return false; }
    // if 2-digit year, use 50 as a pivot date
    if ( (numYear < 50) && (dateYear.length == 2) ) { numYear += 2000; }
    if ( (numYear < 100) && (dateYear.length == 2) ) { numYear += 1900; }
    if ((numYear <= 0) || (numYear > 9999)) { return false; }
    // check for leap year if the month and day is Feb 29
    if ((numMonth == 2) && (numDay == 29)) {
        var div4 = numYear % 4;
        var div100 = numYear % 100;
        var div400 = numYear % 400;
        // if not divisible by 4, then not a leap year so Feb 29 is invalid
        if (div4 != 0) { return false; }
        // at this point, year is divisible by 4. So if year is divisible by
        // 100 and not 400, then it's not a leap year so Feb 29 is invalid
        if ((div100 == 0) && (div400 != 0)) { return false; }
    }
    // date is valid
    return true;
}

var chkDot = true;
 var usEmail = true;
   function validEmail(eAddr) 
   { 
      var lenSuffix = (usEmail) ? 4 : 3;
      var result = true;
      var ndxAt = ndxDot =  0;
	  
      ndxAt  = eAddr.indexOf("@");
      ndxDot = eAddr.indexOf(".") ;
      ndxDot2 = eAddr.lastIndexOf(".") ;
		
	  if(eAddr == "") /* return true; */
	  {
	    alert("Please enter a valid email address");   
      	
	  }
          
      else if ((ndxDot < 0) || (ndxAt < 0))
         alert("Your email address lacks '.' or '@'.\n\nThe format is 'you@dom.suf'"); 
      else if (chkDot && (ndxDot < ndxAt) )
         chkDot = !( confirm("You entered a 'dot' before the '@'\nAre you sure that is right?") );
      else if ( (ndxDot2 - 3) <= ndxAt)
         alert("You may be missing your domain name.\n\nThe format is 'you@dom.suf'");
      else if (eAddr.length < ndxDot2 + lenSuffix) 
         usEmail = !(confirm("You have fewer than 3 characters as a domain suffix.\nAre you sure that is right?") );
      else 
           result=false; 
          
      return result; 
   } 

   function validateZIP(field) {
var valid = "0123456789-";
var hyphencount = 0;

if (field.length!=5 && field.length!=10) {
alert("Please enter your 5 digit or 5 digit+4 zip code.");
return false;
}
for (var i=0; i < field.length; i++) {
temp = "" + field.substring(i, i+1);
if (temp == "-") hyphencount++;
if (valid.indexOf(temp) == "-1") {
alert("Invalid characters in your zip code.  Please try again.");
return false;
}
if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
alert("The hyphen character should be used with a properly formatted 5 digit+4 zip code, like '12345-6789'.   Please try again.");
return false;
   }
}
return true;
}



/**
 * DHTML phone number validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()-. ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function ValidatePNum(){
	var Phone=document.Info.PNum
	
	if ((Phone.value==null)||(Phone.value=="")){
		alert("Please Enter your Phone Number")
		Phone.focus()
		return false
	}
	if (checkInternationalPhone(Phone.value)==false){
		alert("Please Enter a Valid Phone Number")
		Phone.value=""
		Phone.focus()
		return false
	}
	return true
 }

 function checkForm() 
{
	var bool = true;
	
	
		if (document.forms[0].FName.value.trim() == "")		
		{
			alert("Please enter your First Name");
			document.forms[0].FName.focus();
			bool = false;
		}		
		else if (document.forms[0].LName.value.trim() == "")
		{
			alert("Please enter your Last Name");
			document.forms[0].LName.focus();
			bool = false;
		}/* (document.forms[0].DOB.value == "") && ( */
		else if (!checkValidDate(document.forms[0].DOB.value.trim()) )
		{
			alert("Please enter your Date of Birth");
			document.forms[0].DOB.focus();
			bool = false;
		}
		else if (document.forms[0].addr1.value.trim() == "")
		{
			alert("Please enter your Address");
			document.forms[0].addr1.focus();
			bool = false;
		}
		else if (document.forms[0].city.value.trim() == "")
		{
			alert("Please enter your City");
			document.forms[0].city.focus();
			bool = false;
		}
		else if (document.forms[0].state.value.trim() == "")
		{
			alert("Please enter your State");
			document.forms[0].state.focus();
			bool = false;
		}
		else if (!validateZIP(document.forms[0].zip.value.trim())) 
		{			
			document.forms[0].zip.focus();
			bool = false;
		}
		/*else if (document.forms[0].country.value.trim() == "")
		{
			alert("Please enter your Country.");
			document.forms[0].country.focus();
			bool = false;
		} *//*  PNum */
		else if (!ValidatePNum())
		{
			bool = false;
		}
		else if (validEmail(document.forms[0].Email.value.trim())) 
		{	
			document.forms[0].Email.focus();
			bool = false;
		}
		else if ((document.forms[0].GED.checked) && (document.forms[0].GEDYear.value.trim() == ""))
		{
			alert("Please enter the Year of your GED.");
			document.forms[0].GEDYear.focus();
			bool = false;
			
		}
		/*  else if (document.forms[0].commentsOrQuestions.value.trim() == "")
		{
			alert("Please enter your Comments or Questions.");
			document.forms[0].commentsOrQuestions.focus();
			bool = false;
		}	levelOfInterest*/
		/* else if (document.forms[0].levelOfInterest.selectedIndex == 0)
		{
			alert("Please enter your Level of Interest.");
			document.forms[0].levelOfInterest.focus();
			bool = false;
		} */
	return bool;
}

function checkCurrentStudentForm() 
{
	var bool = true;
	
	
		if (document.forms[0].FName.value.trim() == "")		
		{
			alert("Please enter your First Name");
			document.forms[0].FName.focus();
			bool = false;
		}		
		else if (document.forms[0].LName.value.trim() == "")
		{
			alert("Please enter your Last Name");
			document.forms[0].LName.focus();
			bool = false;
		}/* (document.forms[0].DOB.value == "") && ( */
		
		else if (validEmail(document.forms[0].Email.value.trim())) /*    document.forms[0].Email.value == "" */
		{	
			document.forms[0].Email.focus();
			bool = false;
		}
		else if (document.forms[0].commentsOrQuestions.value.trim() == "")
		{
			alert("Please enter your Comments or Questions");
			document.forms[0].commentsOrQuestions.focus();
			bool = false;
		}	
		
	return bool;
}

