	// check to see if the username field is blank
function checkuser( form ) {
	if (form.username.value == "") {
		alert( "SVP Entrez un nom d'utilisateur" );
		return false;
	}

	return true;
}

//this will verify the entire sign-in form
function checkform ( form ) {
	var err = "";

	if (form.firstname.value == "") {
		err = err + "   -Prénom\n";
	}
	
	if (form.lastname.value == "") {
		err = err + "   -Nom\n";
	}
	
	if (form.email.value == "") {
		err = err + "   -Courriel\n";
	}
	
	if (form.postalcode.value == "") {
		err = err + "   -Code postal\n";
	}

	if (form.username.value == "") {
		err = err + "   -Nom d'utilisateur\n";
	}

	if (form.password.value == "") {
		err = err + "   -Mot de passe\n";
	}

	if( err.length > 0 ) {
		var msg = "Les champs suivants sont obligatoires:\n"+err;

		alert(msg);
		return false;
	} 

	if( isEmail( form.email.value ) == false  ) {
		err = err + "   -Adresse courriel invalide\n";
	}
	
	if( form.language.value == "null"  ) {
		err = err + "   -Vous devez sélectionner une langue\n";
	}

	if( form.password.value != form.confirm.value  ) {
		err = err + "   -Les mots de passe ne correspondent pas\n";
	}

	if( form.password.value.length < 6  ) {
		err = err + "   -Les mots de passe doivent compter un minimum de 6 caractères \n";
	}

	if( isPostalcode( form.postalcode.value ) == false  ) {
		err = err + "   -Code postal invalide(A9A 9A9)\n";
	}
	
	if( err.length > 0 ) {
		var msg = "Les problèmes suivants sont survenus:\n" + err;

		alert(msg);
		return false;
	}

	return true;
}

//this will verify the entire sign-in form
function checkMODform ( form ) {
	var err = [];

	if (form.firstname.value == "") {
		err = err + "   -Prénom";
	}
	
	if (form.lastname.value == "") {
		err = err + "   -Nom";
	}
	
	if (form.email.value == "") {
		err = err + "   -Courriel";
	}
	
	if (form.postalcode.value == "") {
		err = err + "   -Code postal";
	}

	if( err.length > 0 ) {
		var msg = "Les champs suivants sont obligatoires:\n"+err;

		alert(msg);
		return false;
	} 

	if( isEmail( form.email.value ) == false  ) {
		err = err + "   Adresse courriel invalide\n";
	}

	if( form.password.value.length > 0 ) {
		if( form.password.value != form.confirm.value  ) {
			err = err + "   Les mots de passe ne correspondent pas\n";
		}
	}

	if( form.password.value.length > 0 && form.password.value.length < 6 ) {
		err = err + "   Les mots de passe doivent compter un minimum de 6 caractères \n";
	}

	if( isPostalcode( form.postalcode.value ) == false  ) {
		err = err + "   Code postal invalide (A9A 9A9)\n";
	}
	
	if( err.length > 0 ) {
		var msg = "Les problèmes suivants sont survenus:\n"+err;

		alert(msg);
		return false;
	}

	return true;
}


function isEmail(s) {
    // there must be >= 1 character before @, so we
    // start looking at character position 1 
    // (i.e. second character)
    var i = 1;
    var sLength = s.length;

    // look for @
    while ((i < sLength) && (s.charAt(i) != "@")) {
		i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@"))
		return false;
    else
		i += 2;

    // look for .
    while ((i < sLength) && (s.charAt(i) != ".")) {
		i++
    }

    // there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != "."))
		return false;
    else
		return true;
}

function isPostalcode(postalcode) {
	if (postalcode.search) {
		postalcode = removeSpaces(postalcode);
		if (postalcode.length == 6 && postalcode.search(/^[a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d$/) != -1)
			return true;
		else if (postalcode.length == 7 && postalcode.search(/^[a-zA-Z]\d[a-zA-Z]-\d[a-zA-Z]\d$/) != -1)
			return true;
		else 
			return false;
	}
	
	return true;
}

function removeSpaces(string) {
	var newString = '';
	for (var i = 0; i < string.length; i++) {
		if (string.charAt(i) != ' ') newString += string.charAt(i);
	}
	return newString;
}

function addUserToList(list, user) {
	if( user.value == "" ) {
		alert( "SVP Entrez un nom d'utilisateur");
		return;
	}

	var i;

	for( i = 0; i < list.options.length; i++ ) {
		if( list.options[i].value == user.value ) {
			alert("Friend is already on list");
			return;
		}
	}

	list.options[list.options.length] = new Option(user.value, user.value, false, false);
	return;
}

function addUserListToList(from, to) {
	var i,j;

	for( i = 0; i < from.options.length; i++ ) {
		if( from.options[i].selected ) {
			if( to.options.length ) {
				for( j = 0; j < to.options.length; j++ ) {
					if( to.options[j].value == from.options[i].value ) {
						return;
					}
				}
			}
			to.options[to.options.length] = new Option(from.options[i].value, from.options[i].value, false, false);
		}
	}

	return;
}


function removeUserFromList(list) {

	var i;

	for( i = 0; i < list.options.length; i++ ) {
		if( list.options[i].selected ) {
			list.options[i] = null;
		}
	}
	
	return; 
}

function selectAllOptions(list) {
	for( var i=0; i < list.options.length; i++ ) {
		list.options[i].selected = true;
	}
}

function checkEmptyList(form,item) {
	if( form.elements[item].options.length == 0 ) {
		alert("You must select at least one friend");
		return false;
	}
	return true;
}


