function isEmail(eml)

{

  a = eml.value.search(/^[-0-9_.a-z]+@([-0-9a-z][-0-9a-z]+\.)+[a-z][a-z]+$/i)

  if(a!=-1)

  return true

  else

    return false;

}



function formCheckPenpal(formobj){

	// name of mandatory fields

	var fieldRequired = Array("nickname", "age","sexe", "city", "email", "hobbies", "type_of_penpal","french_level","english_level", "occupation", "password");

	// field description to appear in the dialog box

	var fieldDescription = Array("prenom", "age", "sexe", "ville", "email valide", "vos loisirs", "Vous voulez correspondre pour ?","votre niveau en français ?","votre niveau en anglais ?", "activité", "mot de passe");

	// dialog message

	var alertMsg = "Merci de compléter le formulaire avant envoi :-) !:\n";

	var l_Msg = alertMsg.length;

	for (var i = 0; i < fieldRequired.length; i++){

		var obj = formobj.elements[fieldRequired[i]];

		if (obj){

			switch(obj.type){

			case "select-one":

				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){

					alertMsg += " - " + fieldDescription[i] + "\n";

				}

				break;

			case "select-multiple":

				if (obj.selectedIndex == -1){

					alertMsg += " - " + fieldDescription[i] + "\n";

				}



				break;

			case "text":

			case "textarea":

				if (obj.value == "" || obj.value == null){

					alertMsg += " - " + fieldDescription[i] + "\n";

				}

				if (obj.name=="email") {

				  if (!isEmail(obj)) {

				    alertMsg += " - " + fieldDescription[i] + "\n";

				  }

				}

				break;

			default:



				if (obj.value == "" || obj.value == null){



					alertMsg += " - " + fieldDescription[i] + "\n";



				}



			}



		}



	}

var objFR=formobj.elements["state_FR"];
var objAU=formobj.elements["state_AU"];
if (objFR.options[objFR.selectedIndex].text == "empty" && objAU.options[objAU.selectedIndex].text == "empty"){
	alert("Vous devez choisir un pays / You must select a state");
	return false;
}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}