﻿function echeck(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   //alert("Invalid E-mail ID")
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   //alert("Invalid E-mail ID")
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		//alert("Invalid E-mail ID")
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		//alert("Invalid E-mail ID")
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		//alert("Invalid E-mail ID")
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		//alert("Invalid E-mail ID")
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		//alert("Invalid E-mail ID")
		return false
	 }

	 return true					
}

function ValidatePhoneNumber(sErrorLanguage, oFormElement)
{
   var sNumber = oFormElement.value;
   var bOK = false;
   var sNumberRaw = "", sNumberReformatted = "";
   var nCounter;
   if (sNumber != "")
   {
      for (nCounter = 0; nCounter < sNumber.length; nCounter++)
      {
         if (IsNumber(sNumber.charAt(nCounter)))
            sNumberRaw += sNumber.charAt(nCounter);
      }
      if (sNumberRaw.length == 10)
         bOK = true;
      else if (sNumberRaw.length == 7)
      {
         if (sErrorLanguage == "E")
            alert("Please enter your area code with your phone number.  ");
         else
         {
            alert("Veuillez inscrire le code r&eacute;gional avec le num&eacute;ro de "
               + "téléphone. ");
         }
      }
      else
      {
         if (sErrorLanguage == "E")
         {
            alert("Please enter your phone number with area code in the "
               + "format (xxx) xxx-xxxx.  ");
         }
         else
         {
            alert("Veuillez indiquer le code regional et le numero de "
               + "téléphone sous la forme (xxx) xxx-xxxx.");
         }
      }
      if (bOK)
      {
         sNumberReformatted = "(" + sNumberRaw.substring(0,3) + ") "
            + sNumberRaw.substring(3,6) + "-" + sNumberRaw.substring(6,10);
         oFormElement.value = sNumberReformatted;
      }
   }
}
function ValidatePostalCode(sErrorLanguage, oFormElement)
{
   var sPostalCode = oFormElement.value;
   var sPostalCodeRaw = "", nCounter, sPostalCodeFormatted = "";
   var nLetterPositions, nNumberPositions;
   var bOK = false, bWrongCharacter;

   if (sPostalCode != "")
   {
      nLetterPositions = new Array(0, 2, 4);
      nNumberPositions = new Array(1, 3, 5);
      sPostalCode = sPostalCode.toUpperCase();
      for (nCounter = 0; nCounter < sPostalCode.length; nCounter++)
      {
         if (IsLetter(sPostalCode.charAt(nCounter)) || IsNumber(
            sPostalCode.charAt(nCounter)))
            sPostalCodeRaw += sPostalCode.charAt(nCounter);
      }

      if (sPostalCodeRaw.length == 6)
      {
         bWrongCharacter = false;
         for (nCounter = 0; nCounter < nLetterPositions.length
            && bWrongCharacter == false; nCounter++)
         {
            if ( ! IsLetter(sPostalCodeRaw.charAt(nLetterPositions[
               nCounter])))
               bWrongCharacter = true;
         }

         for (nCounter = 0; nCounter < nNumberPositions.length
            && bWrongCharacter == false; nCounter++)
         {
            if ( ! IsNumber(sPostalCodeRaw.charAt(nNumberPositions[
               nCounter])))
               bWrongCharacter = true;
         }

         if ( ! bWrongCharacter)
         {
            sPostalCodeFormatted = sPostalCodeRaw.substring(0,3) + " "
               + sPostalCodeRaw.substring(3,6);
            oFormElement.value = sPostalCodeFormatted;
         }
         else
         {
            if (sErrorLanguage == "E")
               alert("Please enter a Canadian postal code.  ");
            else
               alert("Veuillez indiquer un code postal canadien.  ");
         }
      }
      else
      {
         if (sErrorLanguage == "E")
            alert("Please enter a Canadian postal code.  ");
         else
            alert("Veuillez indiquer un code postal canadien.  ");
      }
   }
}

function IsLetter(psCharacter)
{
   var bRetVal = false;
   if (psCharacter.length > 0)
   {
      if ((psCharacter.charAt(0) >= "A" && psCharacter.charAt(0) <= "Z")
         || (psCharacter.charAt(0) >= "a" && psCharacter.charAt(0) <= "z"))
         bRetVal = true;
   }
   return bRetVal;
}


function IsNumber(psCharacter)
{
   var bRetVal = false;
   if (psCharacter.length > 0)
   {
      if (psCharacter.charAt(0) >= "0" && psCharacter.charAt(0) <= "9")
         bRetVal = true;
   }
   return bRetVal;
}


//****************************************************************************************
// ValidateForm
// Author: Eric Constantineau (Mediaforce)
// Created: October 2, 2006
//****************************************************************************************
function ValidateForm(sErrorLanguage)
{
	//Type of group
	if ((document.forms[0].radio1[0].checked == false) && (document.forms[0].radio1[1].checked == false)) {
		if (sErrorLanguage == "E") alert("Please select the group type.  ");
		else alert("Veuillez choisir un type de groupe. ");
		return false;
	}

	//Group Name
	if (Trim(document.forms[0].text1.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the school/group's name.  ");
		else alert("Veuillez inscrire le nom du groupe ou de l'école. ");
		return false;
	}
	
	//Group Address
	if (Trim(document.forms[0].text2.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the group's street address.  ");
		else alert("Veuillez inscrire l'adresse du groupe. ");
		return false;
	}
	
	//Group City
	if (Trim(document.forms[0].text3.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the group's city.  ");
		else alert("Veuillez inscrire la ville du groupe. ");
		return false;
	}

	//Group Province/Territory
	if (document.forms[0].select1.selectedIndex == 0) {
		if (sErrorLanguage == "E") alert("Please select the group's province/territory.  ");
		else alert("Veuillez indiquer la province/le territoire du groupe. ");
		return false;
	}

	//Group Postal Code
	if (Trim(document.forms[0].text4.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the group's postal code.  ");
		else alert("Veuillez inscrire le code postal du groupe. ");
		return false;
	}
	
	//Group Telephone Number
	if (Trim(document.forms[0].text5.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the group's telephone number.  ");
		else alert("Veuillez inscrire le numéro de téléphone du groupe. ");
		return false;
	}
	
	//Group Fax Number
	if (Trim(document.forms[0].text6.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the group's fax number.  ");
		else alert("Veuillez inscrire le numéro de télécopieur du groupe. ");
		return false;
	}

	//Email
	//if (Trim(document.forms[0].text7.value) != '' && !echeck(Trim(document.forms[0].text7.value)))	
	//	return false;

	if (Trim(document.forms[0].text7.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the group email address.  ");
		else alert("Veuillez inscrire l'adresse courriel du groupe.");
		return false;
	}
	else {
		if( !echeck(Trim(document.forms[0].text7.value))) {
			if (sErrorLanguage == "E") {
				alert("Please enter the group email address in the correct format.  ");
			}
			else {
				alert("Veuillez inscrire l’adresse courriel exacte du groupe.");
			}
			return false;
		}

	}
	
	//Group organizer's Salutation
	if (document.forms[0].radio2[0].checked == false && document.forms[0].radio2[1].checked == false && document.forms[0].radio2[2].checked == false && document.forms[0].radio2[3].checked == false && document.forms[0].radio2[4].checked == false && document.forms[0].radio2[5].checked == false && document.forms[0].radio2[6].checked == false && document.forms[0].radio2[7].checked == false  ) {
		if (sErrorLanguage == "E") alert("Please select the group organizer's salutation.  ");
		else alert("Veuillez choisir la salutation de la personne responsable du groupe. ");
		return false;
	}

	//Group organizer's First Name
	if (Trim(document.forms[0].gofirstname.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the group organizer's first name.  ");
		else alert("Veuillez inscrire le prénom de la personne responsable du groupe. ");
		return false;
	}

	//Group organizer's Last Name
	if (Trim(document.forms[0].golastname.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the group organizer's last name.  ");
		else alert("Veuillez inscrire le nom de la personne responsable du groupe. ");
		return false;
	}
	
	//Group organizer's Home Address
	if (Trim(document.forms[0].text9.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the group organizer's home address.  ");
		else alert("Veuillez inscrire l'adresse du domicile de la personne responsable du groupe. ");
		return false;
	}

	
	//Group organizer's City
	if (Trim(document.forms[0].text10.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the group organizer's city.  ");
		else alert("Veuillez inscrire la ville de la personne responsable du groupe. ");
		return false;
	}

	//Group organizer's Province/Territory
	if (document.forms[0].select2.selectedIndex == 0) {
		if (sErrorLanguage == "E") alert("Please select the group organizer's province/territory.  ");
		else alert("Veuillez indiquer la province/le territoire de la personne responsable du groupe. ");
		return false;
	}
	
	//Group organizer's Postal Code
	if (Trim(document.forms[0].text11.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the group organizer's postal code.  ");
		else alert("Veuillez inscrire le code postal de la personne responsable du groupe. ");
		return false;
	}
	
	//Group organizer's Home Phone Number
	if (Trim(document.forms[0].text12.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the group organizer's home phone number.  ");
		else alert("Veuillez inscrire le numéro de téléphone (maison) de la personne responsable du groupe. ");
		return false;
	}	

	//Group Organizer Email
	if (Trim(document.forms[0].text13.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the group organizer's email address.  ");
		else alert("Veuillez inscrire l'adresse courriel de l'organisateur de groupe.");
		return false;
	}
	else {
		if( !echeck(Trim(document.forms[0].text13.value))) {
			if (sErrorLanguage == "E") {
				alert("Please enter the group organizer's email address in the correct format.  ");
			}
			else {
				alert("Veuillez inscrire l’adresse courriel exacte de l’organisateur de groupe.");
			}
			return false;
		}

	}
	//if (Trim(document.forms[0].text13.value) != '' && !echeck(Trim(document.forms[0].text13.value)))	
	//	return false;	

	//SchoolBoard
	if (document.forms[0].radio1[0].checked == true) {
		if (Trim(document.forms[0].SchoolBoard.value) == '') {
			if (sErrorLanguage == "E") alert("Please enter the school board name. ");
			else alert("Veuillez inscrire le nom du conseil scolaire.");
			return false;
		}
	}
	
	//Principal's Salutation
	if (document.forms[0].principalsalutation[0].checked == false && document.forms[0].principalsalutation[1].checked == false && document.forms[0].principalsalutation[2].checked == false && document.forms[0].principalsalutation[3].checked == false && document.forms[0].principalsalutation[4].checked == false && document.forms[0].principalsalutation[5].checked == false && document.forms[0].principalsalutation[6].checked == false && document.forms[0].principalsalutation[7].checked == false  ) {
		if (sErrorLanguage == "E") alert("Please select the principal's salutation.  ");
		else alert("Veuillez choisir la salutation du directeur/président/principal. ");
		return false;
	}

		
	//Principal First Name
	if (Trim(document.forms[0].principalfirstname.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the principal/director/president name. ");
		else alert("Veuillez inscrire le prénom du principal/directeur/président.");
		return false;
	}
	
	//Principal Last Name
	if (Trim(document.forms[0].principallastname.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the principal/director/president name. ");
		else alert("Veuillez inscrire le nom du principal/directeur/président.");
		return false;
	}
	//Daytime Phone
	if (Trim(document.forms[0].DaytimePhone.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter a daytime phone number. ");
		else alert("Veuillez inscrire un numéro de téléphone valide durant la journée.");
		return false;
	}
	
	if (Trim(document.forms[0].PrincipalEmailAddress.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the principal/director/president email address.  ");
		else alert("Veuillez inscrire l'adresse courriel du principal/directeur/président. ");
		return false;
	}
	else {
		if( !echeck(Trim(document.forms[0].PrincipalEmailAddress.value))) {
			if (sErrorLanguage == "E") {
				alert("Please enter the principal/director/president email address in the correct format.  ");
			}
			else {
				alert("Veuillez inscrire l’adresse courriel exacte du principal/directeur/président.");
			}
			return false;
		}

	}
	//Group organizer's Language
	if (document.forms[0].radio3[0].checked == false && document.forms[0].radio3[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please select the group organizer's language.  ");
		else alert("Veuillez choisir la langue de la personne responsable du groupe. ");
		return false;
	}	

	//No. of Female youth participants
	if (Trim(document.forms[0].text14.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the no. of female youth participants.  ");
		else alert("Veuillez inscrire le nombre de filles parmi les jeunes participants. ");
		return false;
	}
	
	//No. of Male youth participants
	if (Trim(document.forms[0].text15.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the no. of male youth participants.  ");
		else alert("Veuillez inscrire le nombre de garçons parmi les jeunes participants. ");
		return false;
	}
	
	//No. of Female Chaperones
	if (Trim(document.forms[0].chaperonefemale.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the no. of female chaperones.  ");
		else alert("Veuillez inscrire le nombre d'accompagnatrices. ");
		return false;
	}
	
  	//No. of Male Chaperones
	if (Trim(document.forms[0].chaperonemale.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter the no. of male chaperones.  ");
		else alert("Veuillez inscrire le nombre d'accompagnateurs. ");
		return false;
	}	
	

	//Flexible Group Size
	if (document.forms[0].IsFlexibleGroupSize[0].checked == false && document.forms[0].IsFlexibleGroupSize[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please indicate if you are flexible in the size of your group.");
		else alert("Veuillez inscrire si vous êtes flexibles quant à la taille de votre groupe. ");
		return false;
	}

	//if yes, Flexible Group Size
	if (document.forms[0].IsFlexibleGroupSize[1].checked == true) {
		if(document.forms[0].MinFlexGroupSize.value == '' || document.forms[0].MaxFlexGroupSize.value == '') {
			if (sErrorLanguage == "E") alert("Please indicate the minimum and maximum size of your group.");
			else alert("Veuillez indiquer le nombre minimal et maximum de votre groupe. ");
			return false;
		}		
	}
	
	//Age range for group
	if (Trim(document.forms[0].MinAge.value) == '') {
		if (sErrorLanguage == "E") alert("Please enter a Minimum age range for group.  ");
		else alert("Veuillez inscrire la tranche d'âge des participants. ");
		return false;
	}
	
  	//Age range for group
	if (Trim(document.forms[0].MaxAge.value) == '' || parseFloat(document.forms[0].MinAge.value) > parseFloat(document.forms[0].MaxAge.value) ) {
		if (sErrorLanguage == "E") alert("Please enter a Maximum age range for group.  ");
		else alert("Veuillez inscrire la tranche d'âge des participants. ");
		return false;
	}

	//Flexible Group Age
	if (document.forms[0].IsFlexibleGroupAge[0].checked == false && document.forms[0].IsFlexibleGroupAge[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please indicate if you are flexible in the age of your group.");
		else alert("Veuillez inscrire si vous êtes flexible quant à l'âge de votre groupe.");
		return false;
	}

	//if yes, Flexible Group Age
	if (document.forms[0].IsFlexibleGroupAge[1].checked == true) {
		if(document.forms[0].MinFlexGroupAge.value == '' || document.forms[0].MaxFlexGroupAge.value == '') {
			if (sErrorLanguage == "E") alert("Please indicate the minimum and maximum age of your group.");
			else alert("Veuillez indiquer les âges minimals et maximals de votre groupe. ");
			return false;
		}		
	}

	//Grade Range
	if (document.forms[0].radio1[0].checked == true) {
		if (Trim(document.forms[0].GradeRange.value) == '') {
			if (sErrorLanguage == "E") alert("Please indicate the grade level(s) of the participants. ");
			else alert("Veuillez indiquer le(les) niveau(x) scolaire(s) des participants.");
			return false;
		}
	}
	
	//Principal Language of Group
	if (document.forms[0].radio4[0].checked == false && document.forms[0].radio4[1].checked == false && document.forms[0].radio4[2].checked == false) {
		if (sErrorLanguage == "E") alert("Please select the principal language of the group.  ");
		else alert("Veuillez indiquer la langue principale de votre groupe. ");
		return false;
	}
	
	//Previous experience in organizing an exchange
	if (document.forms[0].radio5[0].checked == false && document.forms[0].radio5[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please select your previous experience in organizing an exchange.  ");
		else alert("Veuillez indiquer votre expérience antérieure en organisation d'échanges. ");
		return false;
	}
	
	//Application to other Exchanges Canada delivery organization
	if (document.forms[0].radio6[0].checked == false && document.forms[0].radio6[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please select if your are applying to any other Exchanges Canada delivery organization.  ");
		else alert("Veuillez inscrire si vous avez fait une demande auprès d'un autre organisme de préstation d'Échanges Canada. ");
		return false;
	}

	//If answer to previous question is YES
	if (document.forms[0].radio6[1].checked == true) {
		
		if (document.forms[0].radio7[0].checked == false && 
				document.forms[0].radio7[1].checked == false &&
				document.forms[0].radio7[2].checked == false &&
				document.forms[0].radio7[3].checked == false) {
			if (sErrorLanguage == "E") alert("You must select at least one other organization you have applied to.  ");
			else alert("Vous devez cocher au moins un organisme auprès duquel vous avez fait une demande. ");
			return false;
		}
	}
	
	if (document.forms[0].radio6[1].checked == true && document.forms[0].radio7[3].checked == true && document.forms[0].EC_OTHER_DESC.value == '') {
		if (sErrorLanguage == "E") alert("You must select at least one other organization you have applied to.  ");
		else alert("Vous devez cocher au moins un organisme auprès duquel vous avez fait une demande. ");
		return false;
	}


	//Pre-existing group
	if (document.forms[0].radio8[0].checked == false && document.forms[0].radio8[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please select if you are intending to take a pre-existing group or if your group has been formed for this exchange.  ");
		else alert("Veuillez inscrire si vous planifiez d'amener un groupe déjà existant ou si votre groupe sera formé pour cet échange. ");
		return false;
	}

	//formed specifically but no reason how
	if(document.forms[0].radio8[1].checked == true && document.forms[0].HowParticipantSelected.selectedIndex == 0) {
		if (sErrorLanguage == "E") alert("Please indicate how your participants were chosen.  ");
		else alert("Veuillez indiquer comment vous avez sélectionné vos participants. ");
		return false;
	}

	if (document.forms[0].HowParticipantSelected.selectedIndex == 3 ) {
		
		if (Trim(document.forms[0].TEXTAREA1.value) == '') {
			if (sErrorLanguage == "E") alert("Please tell us how you are selecting your group members.  ");
			else alert("Veuillez indiquer votre méthode de sélection des membres du groupe. ");
			return false;
		}
	}	

	//Youth with disabilities
	if (document.forms[0].radio9[0].checked == false && document.forms[0].radio9[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please indicate if your group includes youth with disabilities.  ");
		else alert("Veuillez indiquer si votre groupe comprend des jeunes ayant un handicap. ");
		return false;
	}

	//Please indicate how many
	if (document.forms[0].radio9[1].checked) {
		if (Trim(document.forms[0].text18.value) == '') {
			if (sErrorLanguage == "E") alert("Please indicate how many youth with disabilities your group includes.  ");
			else alert("Veuillez indiquer le nombre de jeunes ayant un handicap compris dans votre groupe. ");
			return false;
		}
	}
	

	//Youth from low-income households
	if (document.forms[0].radio10[0].checked == false && document.forms[0].radio10[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please indicate if your group includes youth from low-income households.  ");
		else alert("Veuillez indiquer si votre groupe comprend des jeunes issus de ménages à faible revenu. ");
		return false;
	}

	//Please indicate how many
	if (document.forms[0].radio10[1].checked) {
		if (Trim(document.forms[0].text19.value) == '') {
			if (sErrorLanguage == "E") alert("Please indicate how many youth from low-income households your group includes.  ");
			else alert("Veuillez indiquer le nombre de jeunes issus de ménages à faible revenu compris dans votre groupe. ");
			return false;
		}
	}
	

	//Aboriginal youth
	if (document.forms[0].radio11[0].checked == false && document.forms[0].radio11[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please indicate if your group includes aboriginal youth.  ");
		else alert("Veuillez indiquer si votre groupe comprend des jeunes autochtones. ");
		return false;
	}

	//Please indicate how many
	if (document.forms[0].radio11[1].checked) {
		if (Trim(document.forms[0].text20.value) == '') {
			if (sErrorLanguage == "E") alert("Please indicate how many aboriginal youth your group includes.  ");
			else alert("Veuillez indiquer le nombre de jeunes autochtones compris dans votre groupe. ");
			return false;
		}
	}
	

	//Youth from rural or isolated areas
	if (document.forms[0].radio12[0].checked == false && document.forms[0].radio12[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please indicate if your group includes youth from rural or isolated areas.  ");
		else alert("Veuillez inscrire si votre groupe comprend des jeunes provenant de régions rurales ou isolées. ");
		return false;
	}

	//How many youth are from rural or isolated areas?
	if (document.forms[0].radio12[1].checked) {
		if (Trim(document.forms[0].text21.value) == '') {
			if (sErrorLanguage == "E") alert("Please indicate how many youth from rural or isolated areas your group includes.  ");
			else alert("Veuillez indiquer le nombre de jeunes provenant de régions rurales ou isolées compris dans votre groupe. ");
			return false;
		}
	}
	

	//Youth from visible minorities
	if (document.forms[0].radio17[0].checked == false && document.forms[0].radio17[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please indicate if your group includes youth from visible minorities.  ");
		else alert("Veuillez indiquez si votre groupe comprend des jeunes de minorités visibles. ");
		return false;
	}

	//How many youth are from visible minorities?
	if (document.forms[0].radio17[1].checked) {
		if (Trim(document.forms[0].text34.value) == '') {
			if (sErrorLanguage == "E") alert("Please indicate how many youth from visible minorities your group includes.  ");
			else alert("Veuillez indiquer le nombre de jeunes de minorités visibles compris dans votre groupe. ");
			return false;
		}
	}	

	//Additional Support Required
	if (document.forms[0].radio13[0].checked == false && document.forms[0].radio13[1].checked == false && document.forms[0].radio13[2].checked == false) {
		if (sErrorLanguage == "E") alert("Please indicate if you will need any additional support.  ");
		else alert("Veuillez inscrire si vous pensez avoir besoin d'une assistance supplémentaire. ");
		return false;
	}


	//Rural Community
	if (document.forms[0].IsRuralCommunity[0].checked == false && document.forms[0].IsRuralCommunity[1].checked == false) {
		if(sErrorLanguage == "E") alert("Please indicate if you are in a rural community.");
		else alert("Veuillez inscrire si vous êtes dans une communauté rurale. ");
		return false;					
	}

	//If yes rural community
	if (document.forms[0].IsRuralCommunity[1].checked) {
		if (Trim(document.forms[0].NearestAirportName.value) == '') {
			if (sErrorLanguage == "E") alert("Please indicate the name of the nearest airport.  ");
			else alert("Veuillez indiquer le nom de l'aéroport le plus près de vous. ");
			return false;
		}
	}

	//If yes rural community
	if (document.forms[0].IsRuralCommunity[1].checked) {
		if (Trim(document.forms[0].DistanceNearestAirport.value) == '') {
			if (sErrorLanguage == "E") alert("Please indicate the distance to the nearest airport.  ");
			else alert("Veuillez indiquer la distance à l'aéroport le plus près de vous. ");
			return false;
		}
	}

	
	//Primary Theme
	blnChecked = false;
	for( x=0;x<=20;x++) {
		if (document.forms[0].PrimaryTheme[x].checked == true ) {
			blnChecked = true;
		}
	}
	if( !blnChecked ) {
		if (sErrorLanguage == "E") alert("Please indicate your primary educational focus.  ");
		else alert("Veuillez indiquer le thème éducatif PRIMAIRE de votre échange. ");
		return false;
	}

	if( document.forms[0].PrimaryTheme[4].checked == true ) {
		if( Trim(document.forms[0].txtILIntra.value) == '') {
			if (sErrorLanguage == "E") alert("Please indicate the Intra-cultural description.  ");
			else alert("Veuillez remplir le champ « Préciser » (sous « Intraculturel  »). ");
			return false;
		}
	}
	else {
		if( Trim(document.forms[0].txtILIntra.value) != '') {
			if (sErrorLanguage == "E") alert("Please clear the Intra-cultural description.  ");
			else alert("Veuillez ne rien inscrire dans le champ « Préciser » (sous « Intraculturel  »). ");
			return false;
		}
	}

	if( document.forms[0].PrimaryTheme[5].checked == true ) {
		if( Trim(document.forms[0].txtILInter.value) == '') {
			if (sErrorLanguage == "E") alert("Please indicate the Inter-cultural description.  ");
			else alert("Veuillez remplir le champ « Préciser » (sous « Interculturel »). ");
			return false;
		}
	}
	else {
		if( Trim(document.forms[0].txtILInter.value) != '') {
			if (sErrorLanguage == "E") alert("Please clear the Inter-cultural description.  ");
			else alert("Veuillez ne rien inscrire dans le champ « Préciser » (sous « Interculturel »). ");
			return false;
		}
	}

	if( document.forms[0].PrimaryTheme[20].checked == true ) {
		if( Trim(document.forms[0].txtRDOther.value) == '') {
			if (sErrorLanguage == "E") alert("Please indicate the Regional Diversity description.  ");
			else alert("Veuillez sélectionner un thème dans la rubrique « Diversité régionale ». ");
			return false;
		}
	}
	else {
		if( Trim(document.forms[0].txtRDOther.value) != '') {
			if (sErrorLanguage == "E") alert("Please clear the Regional Diversity description.  ");
			else alert("Veuillez ne rien inscrire dans le champ « Autre (préciser) » (sous « Diversité régionale »). ");
			return false;
		}
	}

	if (document.forms[0].NoMatchPrimary[0].checked == false && document.forms[0].NoMatchPrimary[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please indicate if you would consider other possibilities for your primary theme if a match is not found.  ");
		else alert("Accepteriez-vous de choisir un autre thème principal, advenant le cas où il n’y aurait pas de groupe à jumeler au vôtre? ");
		return false;
	}

	//Secondary Theme
	blnChecked = false;
	for( x=0;x<=11;x++) {
		if (document.forms[0].SecondaryTheme[x].checked == true ) {
			blnChecked = true;
		}
	}
	if( !blnChecked ) {
		if (sErrorLanguage == "E") alert("Please indicate your secondary educational focus.  ");
		else alert("Veuillez indiquer un thème secondaire.");
		return false;
	}
	
	if( document.forms[0].SecondaryTheme[11].checked == true ) {
		if( Trim(document.forms[0].txtSecondaryThemeOther.value) == '') {
			if (sErrorLanguage == "E") alert("Please indicate the description of your secondary educational focus.  ");
			else alert("Veuillez sélectionner le thème éducatif secondaire de votre échange. ");
			return false;
		}
	}
	else {
		if( Trim(document.forms[0].txtSecondaryThemeOther.value) != '') {
			if (sErrorLanguage == "E") alert("Please select Other for secondary theme.  ");
			else alert("Veuillez sélectionner « Autre » dans la liste des thèmes éducatifs secondaires. ");
			return false;
		}
	}

	//Bilingual Exchange Application
	if (document.forms[0].radio14[0].checked == false && document.forms[0].radio14[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please indicate if you are applying for a bilingual exchange application.  ");
		else alert("Veuillez inscrire si vous faites une demande pour un échange bilingue. ");
		return false;
	}

	//if yes Bilingual Exchange Application
	if (document.forms[0].radio14[1].checked == true) {
		if (document.forms[0].bilingualexctype[0].checked == false && document.forms[0].bilingualexctype[1].checked == false && document.forms[0].bilingualexctype[2].checked == false && document.forms[0].bilingualexctype[3].checked == false && document.forms[0].bilingualexctype[4].checked == false && document.forms[0].bilingualexctypeother.value == '') {
			if (sErrorLanguage == "E") alert("Please indicate the type of exchange.  ");
			else alert("Veuillez inscrire le type d'échange. ");
			return false;
		}
	}

	//if yes Bilingual Exchange Application
	if (document.forms[0].radio14[1].checked == true) {
		if (document.forms[0].IsOKNotBilingualExchange[0].checked == false && document.forms[0].IsOKNotBilingualExchange[1].checked == false) {
			if (sErrorLanguage == "E") alert("Please indicate if you would accept a non-bilingual exchange.  ");
			else alert("Veuillez inscrire si vous accepteriez un échange non-axé sur le bilinguisme. ");
			return false;
		}
	}

	//Is OML Group
	if (document.forms[0].IsOMLGroup[0].checked == false && document.forms[0].IsOMLGroup[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please indicate if your group is an OML Group.  ");
		else alert("Veuillez inscrire si votre groupe est un groupe de langue officielle minoritaire.");
		return false;
	}

	//If OML Group
	if (document.forms[0].IsOMLGroup[1].checked == true) {
		if (document.forms[0].IsLikeOMLGroupTwin[0].checked == false && document.forms[0].IsLikeOMLGroupTwin[1].checked == false) {
			if (sErrorLanguage == "E") alert("Please indicate if you would like to be twinned with another OML group.");
			else alert("Veuillez indiquer si votre groupe aimerait être jumelé avec un autre groupe de Langue officielle minoritaire. ");
			return false;	
		}		
	}


	//If OML Group
	if (document.forms[0].IsOMLGroup[1].checked == true) {
		if (document.forms[0].IsLikeNonOMLGroupTwin[0].checked == false && document.forms[0].IsLikeNonOMLGroupTwin[1].checked == false) {
			if (sErrorLanguage == "E") alert("Please indicate if you would like to be twinned with a non- OML group if an OML group is not available.");
			else alert("Veuillez indiquer si vous voulez être jumelé avec un groupe régulier si un autre groupe de Langue officielle minoritaire n'est pas disponible. ");
			return false;	
		}		
	}

	//If Not OML Group
	if (document.forms[0].IsOMLGroup[0].checked == true) {
		if (document.forms[0].radio15[0].checked == false && document.forms[0].radio15[1].checked == false) {
			if (sErrorLanguage == "E") alert("Please indicate if any of your group participants are members of an OML group.");
			else alert("Veuillez inscrire si des membres de votre groupe font partie d'une Minorité officielle. ");
			return false;	
		}		
	}

	//If Not OML Group but have some members that are OMG
	if (document.forms[0].IsOMLGroup[0].checked == true) {
		if (document.forms[0].radio15[1].checked == true) {			
			if (document.forms[0].text22.value == '' ) {
				if (sErrorLanguage == "E") alert("Please indicate how many members of your group are part of an Official Minority.");
				else alert("Veuillez indiquer combien de membres de votre groupe font partie d'une Minorité officielle. ");
				return false;				
			}
		}		
	}

	//Before the exchange
	if (document.forms[0].checkbox1.checked == false && 
			document.forms[0].checkbox2.checked == false &&
			document.forms[0].checkbox8.checked == false &&
			document.forms[0].checkbox33.checked == false &&
			document.forms[0].checkbox5.checked == false &&
			document.forms[0].checkbox4.checked == false &&
			document.forms[0].checkbox7.checked == false &&
			document.forms[0].checkbox6.checked == false &&
			document.forms[0].checkbox3.checked == false) {
		if (sErrorLanguage == "E") alert("You must choose at least one Before the exchange activity.  ");
		else alert("Vous devez choisir au moins une activité; qui aura lieu avant l'échange. ");
		return false;
	}
	

	//During the exchange
	if (document.forms[0].checkbox9.checked == false && 
			document.forms[0].checkbox10.checked == false &&
			document.forms[0].checkbox11.checked == false &&
			document.forms[0].checkbox12.checked == false &&
			document.forms[0].checkbox13.checked == false &&
			document.forms[0].checkbox14.checked == false) {
		if (sErrorLanguage == "E") alert("You must choose at least one During the exchange activity.  ");
		else alert("Vous devez choisir au moins une activité qui aura lieu pendant l'échange. ");
		return false;
	}
	

	//After the exchange
	if (document.forms[0].checkbox15.checked == false && 
			document.forms[0].checkbox16.checked == false &&
			document.forms[0].checkbox17.checked == false &&
			document.forms[0].checkbox18.checked == false &&
			document.forms[0].checkbox36.checked == false) {
		if (sErrorLanguage == "E") alert("You must choose at least one After the exchange activity.  ");
		else alert("Vous devez choisir au moins une activité qui aura lieu après l'échange. ");
		return false;
	}

	//Have a specific twin in mind
	if (document.forms[0].twinrequestyesno.value == 'YES')
	{
		if ( document.forms[0].text23.value == '') {
			if (sErrorLanguage == "E") alert("Please enter the name of the school or group with which you would like to be twinned.");
			else alert("Veuillez inscrire le nom de l'école/groupe jumeau demandé.");
			return false;
		}		
	}
		
	if (document.forms[0].twinrequestyesno.value == 'YES')
	{
		if ( document.forms[0].radio16[0].checked == false && document.forms[0].radio16[1].checked == false) {
			if (sErrorLanguage == "E") alert("Please indicate if you are prepared to consider other twinning or location possibilities.");
			else alert("Veuillez indiquer si vous êtes prêt à considérer d’autres possibilités de jumelage ou destinations.");
			return false;
		}		
	}


	// How do you hear about SEVEC
	if (document.forms[0].select4.value == '')
	{
		if (sErrorLanguage == "E") alert("Please select how you heard about SEVEC.  ");
		else alert("Veuillez préciser de quelle manière vous avez entendu parler de la SEVEC. ");
		return false;
	}

	//Exchange Period
	if (document.forms[0].ExchangePeriod[0].checked == false && document.forms[0].ExchangePeriod[1].checked == false && document.forms[0].ExchangePeriod[2].checked == false && document.forms[0].ExchangePeriod[3].checked == false) {
		if (sErrorLanguage == "E") alert("Please indicate the exchange period.");
		else alert("Veuillez indiquer la période de l'échange. ");
		return false;
	}

	//Has Read Document
	if (document.forms[0].HasReadGuide[0].checked == false && document.forms[0].HasReadGuide[1].checked == false) {
		if (sErrorLanguage == "E") alert("Please indicate if you have read the guide.");
		else alert("Veuillez indiquez si vous avez lu le guide. ");
		return false;
	}

	
	

	return true;
}



	//******************************************************
	// Remove spaces to the left and right of a string
	//******************************************************
	function Trim(TRIM_VALUE){
		if(TRIM_VALUE.length < 1){
			return"";
		}
		TRIM_VALUE = RTrim(TRIM_VALUE);
		TRIM_VALUE = LTrim(TRIM_VALUE);
		return TRIM_VALUE;
	}


	//******************************************************
	// Remove spaces to the right of a string
	//******************************************************
	function RTrim(VALUE){
		var w_space = String.fromCharCode(32);
		var v_length = VALUE.length;
		var strTemp = "";
		if(v_length < 0){
			return"";
		}
		var iTemp = v_length -1;
	
		while(iTemp > -1){
			if(VALUE.charAt(iTemp) == w_space){
			}
			else{
				strTemp = VALUE.substring(0,iTemp +1);
				break;
			}
			iTemp = iTemp-1;
		}
		return strTemp;
	}


	//******************************************************
	// Remove spaces to the left of a string
	//******************************************************
	function LTrim(VALUE){
		var w_space = String.fromCharCode(32);

		if(v_length < 1){
			return"";
		}
		var v_length = VALUE.length;
		var strTemp = "";
	
		var iTemp = 0;
	
		while(iTemp < v_length){
			if(VALUE.charAt(iTemp) == w_space){
			}
			else{
				strTemp = VALUE.substring(iTemp,v_length);
				break;
			}
			iTemp = iTemp + 1;
		}
		return strTemp;
	}