function stripBlanks(fld) 
{
   var result = "";
   var c = 0;
   for (i=0; i<fld.length; i++) 
   {
		if (fld.charAt(i) != " " || c > 0) 
		{
			result += fld.charAt(i);
			if (fld.charAt(i) != " ") 
				c = result.length;
		}
   }
   return result.substr(0,c);
} 

function VerForm(myform)
{
 // This function veryfies the required fields
 // the variable myform get the form(rgstForm) as its value
 var alertStr="";  // hold names of missing fields
 var fname="";  // hold the string of FirstName after spaces striping
 var lname="";  // hold the string of LastName after spaces striping

 //Stripe the initial space of FirstName and LastName
 fname=stripBlanks(myform.firstname1.value);
 lname=stripBlanks(myform.lastname1.value);

 //Verify the required fields
 if (fname=="") 
	alertStr="First Name";
 if (lname=="")
 {
    if (alertStr=="") alertStr="Last Name";
    else alertStr=alertStr+", Last Name";
  }

 if(alertStr=="")
 {
    //alert(fname.length);
    //alert(fname.trim.length); 
    return true;
 }
 else
 {
	 alertStr=alertStr+" are required!";
	 alert(alertStr);
     return false;
 }  
}

function check( fromButton, toButton, maxChars)
{
	if ( fromButton.value.length == maxChars )
		toButton.focus();
}

//check max size of field
function maxString(myfield, max_size){
	if(myfield.value.length <= max_size)
		return true;
	else{
		return false;
	}
}

// require min and max characters size be entered.
function validateString(myfield, l_size, u_size) {
	if (notNull(myfield.value) && notBlank(myfield.value)) {
		if ((myfield.value.length >= l_size) && (myfield.value.length <= u_size))
			return true;
		else {
			myfield.focus();
			return false;
		}
	} else {
		myfield.focus();
		return false;
	}
	
}

//check null field
function notNull(str) 
{
  if (str.length == 0 )
     return false;
  else 
     return true;
}

//check empty field
function notBlank(str)
{
  for (i = 0; i < str.length; i++)
  {
       if (str.charAt(i) != " ")
	       return true;
  }
  return false;
}

// Initials allows ONLY alphanumeric keys and three "'", "-" and "!"
// this can be altered for any "checkOK" string you desire
function checkPersonName(myfield) {
	  var checkOK = "ÀÁÂÇÈÉÊÌÍÎÒÓÔÙÚÛÝàáâçèéêìíîòóôùúûABCDEFGHIJKLMNOPQRSTUVWXYZ!-' abcdefghijklmnopqrstuvwxyz";
	  var checkStr = myfield.value;
	  var allValid = true;

	  for (i = 0;  i < checkStr.length;  i++)
	  {
		var ch = checkStr.charAt(i);
		for (var j = 0;  j < checkOK.length;  j++)
		if (ch == checkOK.charAt(j)){
			//alert("check number and letter");
			break;
		}
		if (j == checkOK.length)
		{
		  allValid = false;
		  //alert("number and letter not found! ");
		  break;
		}
	  }
	  if (!allValid)
	  {
		//alert("Please enter only letter and numeric characters in the \"personName\" field.");
		myfield.focus();
		return (false);
	  }
	  else{
		  return (true);
	  }
}

function checkAwardForm(form)
{
		if (form.AwardSelection.selectedIndex < 0)
		{
			alert("Please select one of the \"Award Selection\" options.");
			form.AwardSelection.focus();
			return (false);
		}
		else if (form.AwardSelection.selectedIndex == 0)
		{
			alert("The \"Award Selection\" option is not a valid selection.  Please choose one of the other options.");
			form.AwardSelection.focus();
			return (false);
		}

		else if ( !validateString(document.forms[1].firstname1, 1, 50) || !checkPersonName(document.forms[1].firstname1))
		{
			alert('The first name length is between 1 to 50 characters');
			form.firstname1.focus();
			return false;
		}
		else if ( !validateString(document.forms[1].lastname1, 1, 50) || !checkPersonName(document.forms[1].lastname1))
		{
			alert('The last name length is between 1 to 50 characters');
			form.lastname1.focus();
			return false;
		}	

		else if (form.address1.value == "")
		{
			alert("Please enter a value for the \"Address\" field.");
			form.address1.focus();
			return (false);
		}

		else if (form.city1.value == "")
		{
			alert("Please enter a value for the \"City\" field.");
			form.city1.focus();
			return (false);
		}
		
		else if (form.province1.selectedIndex < 0)
		{
			alert("Please select one of the \"Province\" options.");
			form.province1.focus();
			return (false);
		}
		else if (form.province1.selectedIndex == 0)
		{
			alert("The \"Province\" option is not a valid selection.  Please choose one of the other options.");
			form.province1.focus();
			return (false);
		}
		
		else if (form.postalcode1.value == "")
		{
			alert("Please enter a value for the \"Postal code\" field.");
			form.postalcode1.focus();
			return (false);
		}
		
		else if (form.phoneareacode1.value == "")
		{
			alert("Please enter a value for the \"Phone area code\" field.");
			form.phoneareacode1.focus();
			return (false);
		}
		
		else if (form.phone1.value == "")
		{
			alert("Please enter a value for the \"Phone\" field.");
			form.phone1.focus();
			return (false);
		}
		
		else if (form.email1.value == "")
		{
			alert("Please enter a value for the \"E-mail\" field.");
			form.email1.focus();
			return (false);
		}
		
		else if ( !validateString(document.forms[1].firstname2, 1, 50) || !checkPersonName(document.forms[1].firstname2))
		{
			alert('The first name length is between 1 to 50 characters');
			form.firstname2.focus();
			return false;
		}
		else if ( !validateString(document.forms[1].lastname2, 1, 50) || !checkPersonName(document.forms[1].lastname2))
		{
			alert('The last name length is between 1 to 50 characters');
			form.lastname2.focus();
			return false;
		}	

		else if (form.address2.value == "")
		{
			alert("Please enter a value for the \"Address\" field.");
			form.address2.focus();
			return (false);
		}

		else if (form.city2.value == "")
		{
			alert("Please enter a value for the \"City\" field.");
			form.city2.focus();
			return (false);
		}
		
		else if (form.province2.selectedIndex < 0)
		{
			alert("Please select one of the \"Province\" options.");
			form.province2.focus();
			return (false);
		}
		else if (form.province2.selectedIndex == 0)
		{
			alert("The \"Province\" option is not a valid selection.  Please choose one of the other options.");
			form.province2.focus();
			return (false);
		}
		
		else if (form.postalcode2.value == "")
		{
			alert("Please enter a value for the \"Postal code\" field.");
			form.postalcode2.focus();
			return (false);
		}
		
		else if (form.phoneareacode2.value == "")
		{
			alert("Please enter a value for the \"Phone area code\" field.");
			form.phoneareacode2.focus();
			return (false);
		}
		
		else if (form.phone2.value == "")
		{
			alert("Please enter a value for the \"Phone\" field.");
			form.phone2.focus();
			return (false);
		}
		
		else if (form.email2.value == "")
		{
			alert("Please enter a value for the \"E-mail\" field.");
			form.email2.focus();
			return (false);
		}

		/*else if ( !validateString(document.forms[1].nominationletter, 1, 600))
		{
			alert('Letter of nomination must be attached');
			form.nominationletter.focus();
			return false;
		}

		else if ( !validateString(document.forms[1].curriculum, 1, 600))
		{
			alert('Curriculum vitae for candidate must be attached');
			form.curriculum.focus();
			return false;
		}*/

		
		return true;
}



