//*****************************************************************
// Hide block of HTML code within div tag
//*****************************************************************
function hidediv(id) {

  //safe function to hide an element with a specified id
  if (document.getElementById) { // DOM3 = IE5, NS6
    document.getElementById(id).style.display = 'none';
    
  } else {
    
    if (document.layers) { // Netscape 4
      document.id.display = 'none';
    } else { // IE 4
      document.all.id.style.display = 'none';
    }
  }
}

//*****************************************************************
// show block of HTML code within div tag
//*****************************************************************
function showdiv(id) {

  //safe function to show an element with a specified id
  if (document.getElementById) { // DOM3 = IE5, NS6
    document.getElementById(id).style.display = 'block';
  
  } else {
  
    if (document.layers) { // Netscape 4
      document.id.display = 'block';
    } else { // IE 4
      document.all.id.style.display = 'block';
    }
  }
}

function showLocation() {

  if (document.camaMembership.province.value=="Other")
  {
    showdiv('location_display');
	//document.camaMembership.province.disabled="true";
  } else {
    document.camaMembership.province.value!="Other";
    //document.regForm.pnametag.value="";
    hidediv('location_display');
  }
  
  TotalCost();  
  
}

//*************************************************
// If textbox reaches 3 in length go to next
//*************************************************
function advance(currentField,nextField) {
    if (currentField.value.length == 3)
        document.camaMembership[nextField].focus();
}

//*************************************************
// If textbox reaches 4 in length go to next
//*************************************************
function advance2(currentField,nextField) {
    if (currentField.value.length == 4)
        document.camaMembership[nextField].focus();
}
// whitespace characters
var whitespace = " \t\n\r";

/*
 * Function: isBlank (inString)
 * Purpose: Is the String Blank or empty
 * Arguments: String
 * Returns: boolean
 **/
function isBlank (inString) {
	if (inString == null || inString.length == 0) {
		return true;
	} else {
		return false;
	}
}
//********************************************************************************
//Function: isWithinRange (inString, rangeMin, rangeMax)
//Purpose: Is the String within the range
//Arguments: String, integer, integer
//Returns: boolean
//********************************************************************************
function isWithinRange (inString, rangeMin, rangeMax)  {
	if ((inString == null) || (inString == "")) { 
		return (false);
	}
	if((inString >= rangeMin) && (inString <= rangeMax)) {
		return true;
	} else {
		return false;
	}
}

//********************************************************************************
//Function: trim (string)
//Purpose: Removes the white space at the edges
//Arguments: String
//Returns: String
//********************************************************************************
function trim (string) {
	if (isBlank(string)) {
		return "";
	} else {
		return rightTrim(leftTrim(string));
	}
}

/*
 * Function: leftTrim (inString)
 * Purpose: Removes the beginning white space
 * Arguments: String
 * Returns: String
 **/
function leftTrim (inString)  {
	var outString = inString;
	for (var count = 0; count < inString.length; count++)  {
		var tempChar=inString.substring (count, count + 1);
		if (tempChar != " ") {
			outString = inString.substring (count, inString.length);
			break;
		}
	}
	return outString;
}

/*
 * Function: rightTrim (inString)
 * Purpose: Removes the ending white space
 * Arguments: String
 * Returns: String
 **/
function rightTrim (inString)  {
	var outString = inString;
	for (var count= inString.length; count > 0; count--)  {
		var tempChar = inString.substring (count - 1, count);
		if (tempChar != " ") {
			outString = inString.substring (0, count);
			break;
		}
	}
	return outString;
}

//****************************************************************************
// Validates that the phone number is in the correct format
// format 250-433-4343
// Written by: Keith Valley
//****************************************************************************
function isPhoneNumber(theElement, theElementName, title) {
  var s
  s = "Please enter your fax number in this format: 555-555-5555."
  if (title == "Phone Number")
  {
    s = "Please enter your phone number in this format: 555-555-5555."
  }
  str = theElement;
  if (str.length != 12) {
    return warnInvalid(theElementName, s);
  }
  len = str.length;
  for (i = 0; i < len; i++) {
    c = str.charAt(i);
    if ((i == 3) || (i == 7)) {
      if (c != "-") {
        return warnInvalid(theElementName, s);
      }
    } else if ((c < "0") || (c > "9")) {
      return warnInvalid(theElementName, s);
    }
  }
  return true;
}
//***************************************************************************
// Verify if the field is empty or not.
// If it is return false and tell the user that is is a required field
// Written By: Keith Valley  - Sept 14, 2001
//**************************************************************************
function isEmpty(val, name, title)
{
  //val = stripWhitespace(val)
  
  if (val == "")
  {
    var s
    s = "You have not entered your "+ title +". Please enter before submitting your registration"
    return warnInvalid(name, s);
  }
  return true;
}
//****************************************************************************
// Notify user that contents of field theField are invalid.
// String s describes expected contents of theField.value.
// Put select theField, put focus in it, and return false.
//****************************************************************************
function warnInvalid (theField, s)
{   theField.focus()
    theField.select()
    alert(s)
    return false
}
//*****************************************************************************
// Function: isMonthAbbrev(str)
// Purpose: is this a valid Month Abbreviation
// Arguments: String
// Returns: boolean
//*****************************************************************************
function isMonthAbbrev(str, name) 
{
  str = str.toLowerCase();
  var months = new Array("jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec");
  for (var i = 0; i < months.length; i++) {
    if (str == months[i]) {
      return true;
    }
  }
  var s
  s = "The Abbreviation '"+ str +"' is not a valid Month Abbreviation.  Please enter the correct abbreviation."
  return warnInvalid(name, s);
}

//*****************************************************************************
// Function: isDayOfMonth(day, monthAbbrev)
// Purpose: is the day and the month valid
// Arguments: integer, String
// Returns: boolean
//*****************************************************************************
function isDayOfMonth(day, monthAbbrev, name) 
{
  monthAbbrev = monthAbbrev.toLowerCase();
  if (isNumeric(day) && isMonthAbbrev(monthAbbrev)) {
		
    var daysOfMonths = new Array(12);
    daysOfMonths[0]  = new Array("jan", 31);
    daysOfMonths[1]  = new Array("feb", 29); // leap years are not calculated
    daysOfMonths[2]  = new Array("mar", 31);
    daysOfMonths[3]  = new Array("apr", 30);
    daysOfMonths[4]  = new Array("may", 31);
    daysOfMonths[5]  = new Array("jun", 30);
    daysOfMonths[6]  = new Array("jul", 31);
    daysOfMonths[7]  = new Array("aug", 31);
    daysOfMonths[8]  = new Array("sep", 30);
    daysOfMonths[9]  = new Array("oct", 31);
    daysOfMonths[10] = new Array("nov", 30);
    daysOfMonths[11] = new Array("dec", 31);	

    var monthIndex = -1;
    for (var i = 0; i < daysOfMonths.length; i++) {
      if (monthAbbrev == daysOfMonths[i][0]) {
        monthIndex = i;
	break;
      }
    }
    if (monthIndex >= 0) {
      if (day >= 1 && day <= daysOfMonths[monthIndex][1]) {
	return true;
      }
    }
  }
  var s
  s = "The Day '"+ day +"' is not a valid day of the Month '"+ monthAbbrev  +"'.  Please enter the correct day and try again."
  return warnInvalid(name, s); 
}
//********************************************************************************
// Function: isNumeric(str)
// Purpose: is string a numeric (integer or float)
// Arguments: String
// Returns: boolean
//********************************************************************************
function isNumeric(str) {
  var num;

  /* matches 99.999 */
  if (str.indexOf(".") > 0) {
    num = str.split(".");
    if (num.length == 2) {
      for (var i = 0; i < num.length; i++) {
        if (!isNumberString(num[i])) {
	  return false;
	}
      }
      return true;
    } else if (num.length > 2) {
      return false;
    }
    /* matches .999 */
    } else if (str.indexOf(".") == 0) {
      var temp = str.substring(1, str.length);
      if (isNumberString(temp)) {
        return true;
      } else {
	false;
      }
      
    /* matches 999 */
    } else if (isNumberString(str)) {
      return true;
    } else {
    return false;
  }
}
//*******************************************************************************
// Function: isNumberString(inString)
// Purpose: is the String a number (Integer)
// Arguments: String
// Returns: boolean
//*******************************************************************************
function isNumberString(inString)  {
  if (inString.length == 0) { 
    return false;
  }
  var refString = "1234567890";
  for (var count=0; count < inString.length; count++)  {
    var tempChar = inString.substring (count, count + 1);
    if (refString.indexOf(tempChar, 0) == -1) {  
      return false;
    }
  }
  return true;
}
//*******************************************************************************
// Function: isYear(strYear)
// Purpose: is this a valid Year (between 1000-9999)
// Arguments: String
// Returns: boolean
//*******************************************************************************
function isYear(strYear, name) {
  var regExpObj = /^\d\d\d\d$/;
  if (regExpObj.test(strYear)) {
    return true;
  } else {
    
    var s
    s = "The Year '"+ strYear +"' is not a valid Year.  Please enter the correct year and try again."
    return warnInvalid(name, s);
  }
}
//********************************************************************************
// Function: isValidPostalCodeCanada(strPostalCode)
// Purpose: is the string a valid Canadian Postal Code Example: "V9J 9K3" 
// Arguments: String
// Returns: boolean
//********************************************************************************
//function isValidPostalCodeCanada (strPostalCode, name) {
 // var regExpObj = /^[A-Z]\d[A-Z] \d[A-Z]\d$/i;

 // if (regExpObj.test(strPostalCode)) {
  //  return true;
 // } else {
  //  var s
  //  s = "Please enter your postal code in this format: V0R 1R0."
  //  return warnInvalid(name, s);
  //}
//}
//********************************************************************************
// Function: isLetter(c)
// Purpose: to verify that a character is a letter
// Arguments: a single Character
// Returns: true if character c is an English letter (A .. Z, a..z).
//********************************************************************************
function isLetter (c)
{   
  if (c == "-")
  {
    return true;
    //alert("got here");
  }
  else
  {
   return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) )
  }
}
//********************************************************************************
//
//********************************************************************************
function isAlphabetic (s, name, title) {   
  var i;
  var send
  send = "The Field '" + title +"' is not in a Valid format.  Please include only Letters (A-Z or a-z) in this field."
  
  for (i = 0; i < s.length; i++)
  {   
        // Check that current character is letter.
        var c = s.charAt(i);
        
        if (!isLetter(c))
        return warnInvalid(name, send);
  }
    // All characters are letters.
    return true;
}
//********************************************************************************
// Removes all characters which appear in string bag from string s.
//********************************************************************************
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;
}
//********************************************************************************
// Removes all whitespace characters from s.
// Global variable whitespace (see above)
// defines which characters are considered whitespace.
//********************************************************************************
function stripWhitespace (s)
{   return stripCharsInBag (s, whitespace)
}

/* Validates the document. Returns true if valid                  */
/* else Opens a window with an error message(s) and returns false */
function isValidDocument() {

  //alert("got here");

	var errorMessages = "";
	var valid = true;
  	var phone = trim(document.camaMembership.phone1.value) +"-"+ trim(document.camaMembership.phone2.value) +"-"+ trim(document.camaMembership.phone3.value)



		/* FIELD NAME = IS MEMBER? */
		if (document.CAMAMemberFinder.regType[0].checked || document.CAMAMemberFinder.regType[1].checked) {
			//do nothing
		  document.CAMAMemberFinder.regType[0].className  = "DisplayFieldData";
		  document.CAMAMemberFinder.regType[1].className  = "DisplayFieldData";
		} else {
		  errorMessages += "You must select your Membership Type (Renewal or New Member)!.\n";
		  valid = false;
		  document.CAMAMemberFinder.regType[0].className  = "DisplayFieldError";
		  document.CAMAMemberFinder.regType[1].className  = "DisplayFieldError";
		}






	/* find data entry errors */
	/* If an error occured, data input element is highlighted */
	with (document.camaMembership) {

		/* FIELD NAME = firstname -- Required */
		firstname.value = trim(firstname.value);
		if (isBlank(firstname.value) || firstname.value == "") {
			errorMessages += "Please Enter a First Name / S'il vous plaît Entrer un Premier Nom.\n";
			valid = false;
			firstname.className  = "DisplayFieldError";
		} else {
			firstname.className  = "DisplayFieldData";
		}

		/* FIELD NAME = lastname -- Required */
		lastname.value = trim(lastname.value);
		if (isBlank(lastname.value) || lastname.value == "") {
			errorMessages += "Please Enter a Last Name / S'il vous plaît Entrer un Dernier Nom.\n";
			valid = false;
			lastname.className  = "DisplayFieldError";
		} else {
			lastname.className  = "DisplayFieldData";
		}

		/* FIELD NAME = position -- Required */
		position.value = trim(position.value);
		if (isBlank(position.value) || position.value == "") {
			errorMessages += "Please Enter a your Job Title / S'il vous plaît Entrer un votre Titre.\n";
			valid = false;
			position.className  = "DisplayFieldError";
		} else {
			position.className  = "DisplayFieldData";
		}
		
		/* FIELD NAME = organization -- Required */
		organization.value = trim(organization.value);
		if (isBlank(organization.value) || organization.value == "") {
			errorMessages += "Please Enter an Employer / S'il vous plaît Entrer un Employeur.\n";
			valid = false;
			organization.className  = "DisplayFieldError";
		} else {
			organization.className  = "DisplayFieldData";
		}
				
		/* FIELD NAME = address -- Required */

		address.value = trim(address.value);
		if (isBlank(address.value) || address.value == "") {
			errorMessages += "Please Enter an Address / S'il vous plaît Entrer une Adresse.\n";
			valid = false;
			address.className  = "DisplayFieldError";
		} else {
			address.className  = "DisplayFieldData";
		}
		
		/* FIELD NAME = city -- Required */		
		city.value = trim(city.value);
		if (isBlank(city.value) || city.value == "") {
			errorMessages += "Please Enter a City / S'il vous plaît Entrer une Ville.\n";
			valid = false;
			city.className  = "DisplayFieldError";
		} else {
			city.className  = "DisplayFieldData";
		}
		
		/* FIELD NAME = province -- Required */
		province.value = trim(province.value);
		if (isBlank(province.value) || province.value == "") {
			errorMessages += "Please Select a Province/ S'il vous plaît Choisir une Province.\n";
			valid = false;
			province.className  = "DisplayFieldError";
		} else {

			province.className  = "DisplayFieldData";
		}
		
		/* FIELD NAME = email  -- Required */
		if (province.value == "Other") {
			if (isBlank(province_other.value) || province_other.value == "") {
				errorMessages += "Please Enter Country or State / S'il vous plaît Entrer le Pays ou Déclarer.\n";
				valid = false;
				province_other.className = "DisplayFieldError";
				} else {				
				province_other.className  = "DisplayFieldData";
			}	
		}		

		/* FIELD NAME = pcode  -- Required */	
		postalcode.value = trim(postalcode.value);
		if (isBlank(postalcode.value) || postalcode.value == "") {
			errorMessages += "Please Enter a Postal Code / S'il vous plaît Entrer un Code Postal.\n";
			valid = false;
			postalcode.className  = "DisplayFieldError";
		} else {
			postalcode.className  = "DisplayFieldData";
		}

		/* FIELD NAME = phone  -- Required */
		if (isBlank(phone_areacode) || isBlank(phone1.value) || isBlank(phone2.value) ) {
			errorMessages += "Please Enter a Phone Number / S'il vous plaît Entrer un Numéro de téléphone.\n";
			valid = false;
			phone_areacode.className  = "DisplayFieldError";
			phone1.className  = "DisplayFieldError";
			phone2.className  = "DisplayFieldError";
		} else {
			phone_areacode.className  = "DisplayFieldData";
			phone1.className  = "DisplayFieldData";
			phone2.className  = "DisplayFieldData";
		}
		
		/* FIELD NAME = email  -- Required */
		email.value = trim(email.value);
		if (isBlank(email.value) || email.value == "") {
			errorMessages += "Please Enter an Email / S'il vous plaît Entrer un E-mail.\n";
			valid = false;
			email.className  = "DisplayFieldError";
		} else {
			email.className  = "DisplayFieldData";
		}	
		
		/* Make sure membership section is selected */
		if (membertype[0].checked || membertype[1].checked || membertype[2].checked || membertype[3].checked) 
		{
			if (membertype[0].checked) {			
				if (membertypeinfo[0].checked || membertypeinfo[1].checked || membertypeinfo[2].checked || membertypeinfo[3].checked) {
						membertypeinfo[0].className  = "DisplayFieldData";
						membertypeinfo[1].className  = "DisplayFieldData";
						membertypeinfo[2].className  = "DisplayFieldData";
						membertypeinfo[3].className  = "DisplayFieldData";
				} else {
						errorMessages += "Please Select the Population of your municipality / S'il vous plaît Choisir la Population de votre municipalité.\n";
						valid = false;
						membertypeinfo[0].className  = "DisplayFieldError";
						membertypeinfo[1].className  = "DisplayFieldError";
						membertypeinfo[2].className  = "DisplayFieldError";
						membertypeinfo[3].className  = "DisplayFieldError";					
					}	
				} 
			if (membertype[2].checked) {			
				if (membertypeinfo[4].checked || membertypeinfo[5].checked) {
						membertypeinfo[4].className  = "DisplayFieldData";
						membertypeinfo[5].className  = "DisplayFieldData";
				} else {
						errorMessages += "Please Select the type of organization you are affilated with / S'il vous plaît Choisir le type d'organisation que vous êtes affilated avec.\n";
						valid = false;
						membertypeinfo[4].className  = "DisplayFieldError";
						membertypeinfo[5].className  = "DisplayFieldError";
					}	
				} 
								
				membertype[0].className = "DisplayFieldData";
				membertype[1].className = "DisplayFieldData";
				membertype[2].className = "DisplayFieldData";				
				membertype[3].className = "DisplayFieldData";
				//membertype[4].className = "DisplayFieldData";

		} else {
				/* shows error that no membership type was selected */
				errorMessages += "Please select a Member Type / S'il vous plaît choisir un Type de Membre.\n";
				valid = false;
				membertype[0].className = "DisplayFieldError";
				membertype[1].className = "DisplayFieldError";
				membertype[2].className = "DisplayFieldError";				
				membertype[3].className = "DisplayFieldError";
				//membertype[4].className = "DisplayFieldError";		
		}
	}

	if (valid) {
		return true;
	} else {
    alert("" + errorMessages);
		return false;
	}
}




/* Validates the document. Returns true if valid                  */
/* else Opens a window with an error message(s) and returns false */
function isValidDocument_Jenn() {

  //alert("got here");

	var errorMessages = "";
	var valid = true;
  	var phone = trim(document.camaMembership.phone1.value) +"-"+ trim(document.camaMembership.phone2.value) +"-"+ trim(document.camaMembership.phone3.value)



		/* FIELD NAME = IS MEMBER? */
		if (document.CAMAMemberFinder.regType[0].checked || document.CAMAMemberFinder.regType[1].checked) {
			//do nothing
		  document.CAMAMemberFinder.regType[0].className  = "DisplayFieldData";
		  document.CAMAMemberFinder.regType[1].className  = "DisplayFieldData";
		} else {
		  errorMessages += "You must select your Membership Type (Renewal or New Member)!.\n";
		  valid = false;
		  document.CAMAMemberFinder.regType[0].className  = "DisplayFieldError";
		  document.CAMAMemberFinder.regType[1].className  = "DisplayFieldError";
		}






	/* find data entry errors */
	/* If an error occured, data input element is highlighted */
	with (document.camaMembership) {

		/* FIELD NAME = firstname -- Required */
		firstname.value = trim(firstname.value);
		if (isBlank(firstname.value) || firstname.value == "") {
			errorMessages += "Please Enter a First Name / S'il vous plaît Entrer un Premier Nom.\n";
			valid = false;
			firstname.className  = "DisplayFieldError";
		} else {
			firstname.className  = "DisplayFieldData";
		}

		/* FIELD NAME = lastname -- Required */
		lastname.value = trim(lastname.value);
		if (isBlank(lastname.value) || lastname.value == "") {
			errorMessages += "Please Enter a Last Name / S'il vous plaît Entrer un Dernier Nom.\n";
			valid = false;
			lastname.className  = "DisplayFieldError";
		} else {
			lastname.className  = "DisplayFieldData";
		}

		/* FIELD NAME = position -- Required */
		position.value = trim(position.value);
		if (isBlank(position.value) || position.value == "") {
			errorMessages += "Please Enter a your Job Title / S'il vous plaît Entrer un votre Titre.\n";
			valid = false;
			position.className  = "DisplayFieldError";
		} else {
			position.className  = "DisplayFieldData";
		}
		
		/* FIELD NAME = organization -- Required */
		organization.value = trim(organization.value);
		if (isBlank(organization.value) || organization.value == "") {
			errorMessages += "Please Enter an Employer / S'il vous plaît Entrer un Employeur.\n";
			valid = false;
			organization.className  = "DisplayFieldError";
		} else {
			organization.className  = "DisplayFieldData";
		}
				
		/* FIELD NAME = address -- Required */

		address.value = trim(address.value);
		if (isBlank(address.value) || address.value == "") {
			errorMessages += "Please Enter an Address / S'il vous plaît Entrer une Adresse.\n";
			valid = false;
			address.className  = "DisplayFieldError";
		} else {
			address.className  = "DisplayFieldData";
		}
		
		/* FIELD NAME = city -- Required */		
		city.value = trim(city.value);
		if (isBlank(city.value) || city.value == "") {
			errorMessages += "Please Enter a City / S'il vous plaît Entrer une Ville.\n";
			valid = false;
			city.className  = "DisplayFieldError";
		} else {
			city.className  = "DisplayFieldData";
		}
		
		/* FIELD NAME = province -- Required */
		province.value = trim(province.value);
		if (isBlank(province.value) || province.value == "") {
			errorMessages += "Please Select a Province/ S'il vous plaît Choisir une Province.\n";
			valid = false;
			province.className  = "DisplayFieldError";
		} else {

			province.className  = "DisplayFieldData";
		}
		
		/* FIELD NAME = email  -- Required */
		if (province.value == "Other") {
			if (isBlank(province_other.value) || province_other.value == "") {
				errorMessages += "Please Enter Country or State / S'il vous plaît Entrer le Pays ou Déclarer.\n";
				valid = false;
				province_other.className = "DisplayFieldError";
				} else {				
				province_other.className  = "DisplayFieldData";
			}	
		}		

		/* FIELD NAME = pcode  -- Required */	
		postalcode.value = trim(postalcode.value);
		if (isBlank(postalcode.value) || postalcode.value == "") {
			errorMessages += "Please Enter a Postal Code / S'il vous plaît Entrer un Code Postal.\n";
			valid = false;
			postalcode.className  = "DisplayFieldError";
		} else {
			postalcode.className  = "DisplayFieldData";
		}

		/* FIELD NAME = phone  -- Required */
		if (isBlank(phone_areacode) || isBlank(phone1.value) || isBlank(phone2.value) ) {
			errorMessages += "Please Enter a Phone Number / S'il vous plaît Entrer un Numéro de téléphone.\n";
			valid = false;
			phone_areacode.className  = "DisplayFieldError";
			phone1.className  = "DisplayFieldError";
			phone2.className  = "DisplayFieldError";
		} else {
			phone_areacode.className  = "DisplayFieldData";
			phone1.className  = "DisplayFieldData";
			phone2.className  = "DisplayFieldData";
		}
		
		/* FIELD NAME = email  -- Required */
		email.value = trim(email.value);
		if (isBlank(email.value) || email.value == "") {
			errorMessages += "Please Enter an Email / S'il vous plaît Entrer un E-mail.\n";
			valid = false;
			email.className  = "DisplayFieldError";
		} else {
			email.className  = "DisplayFieldData";
		}	
		
		/* Make sure membership section is selected */
		if (membertype[0].checked || membertype[1].checked || membertype[2].checked || membertype[3].checked || membertype[4].checked || membertype[5].checked) 
		{
			if (membertype[0].checked) {			
				if (membertypeinfo[0].checked || membertypeinfo[1].checked || membertypeinfo[2].checked || membertypeinfo[3].checked) {
						membertypeinfo[0].className  = "DisplayFieldData";
						membertypeinfo[1].className  = "DisplayFieldData";
						membertypeinfo[2].className  = "DisplayFieldData";
						membertypeinfo[3].className  = "DisplayFieldData";
				} else {
						errorMessages += "Please Select the Population of your municipality / S'il vous plaît Choisir la Population de votre municipalité.\n";
						valid = false;
						membertypeinfo[0].className  = "DisplayFieldError";
						membertypeinfo[1].className  = "DisplayFieldError";
						membertypeinfo[2].className  = "DisplayFieldError";
						membertypeinfo[3].className  = "DisplayFieldError";					
					}	
				} 
			if (membertype[2].checked) {			
				if (membertypeinfo[4].checked || membertypeinfo[5].checked) {
						membertypeinfo[4].className  = "DisplayFieldData";
						membertypeinfo[5].className  = "DisplayFieldData";
				} else {
						errorMessages += "Please Select the type of organization you are affilated with / S'il vous plaît Choisir le type d'organisation que vous êtes affilated avec.\n";
						valid = false;
						membertypeinfo[4].className  = "DisplayFieldError";
						membertypeinfo[5].className  = "DisplayFieldError";
					}	
				} 
								
				membertype[0].className = "DisplayFieldData";
				membertype[1].className = "DisplayFieldData";
				membertype[2].className = "DisplayFieldData";				
				membertype[3].className = "DisplayFieldData";
				membertype[4].className = "DisplayFieldData";
				membertype[5].className = "DisplayFieldData";

		} else {
				/* shows error that no membership type was selected */
				errorMessages += "Please select a Member Type / S'il vous plaît choisir un Type de Membre.\n";
				valid = false;
				membertype[0].className = "DisplayFieldError";
				membertype[1].className = "DisplayFieldError";
				membertype[2].className = "DisplayFieldError";				
				membertype[3].className = "DisplayFieldError";
				membertype[4].className = "DisplayFieldError";
				membertype[5].className = "DisplayFieldError";		
		}
	}

	if (valid) {
		return true;
	} else {
    alert("" + errorMessages);
		return false;
	}
}
