// JavaScript Document

function checkrequired(which){
	var pass=true; /* la variable que l'on teste est bonne par defaut */
	var passmail=true; /* la variable que l'on teste est bonne par defaut */

	if (document.images){ /* renvoie une collection des images (occurences) du document HTML courant */
		var l=which.length;

		for (var i=0;i<l;i++){
			var tempobj = which.elements[i];

			if (tempobj.name && tempobj.name!='' && tempobj.style.display!='none'){
				/* pour ne pas scanner les champs hidden et vérifier que les champs (name) sont bien remplis par qque chose */
				if (tempobj.name.substring(0,8)=="required"){
					
					//on vérifie les champs required
					if (((tempobj.type=="text"||tempobj.type=="textarea")&&(tempobj.value=='' || tempobj.value=='0'))||(tempobj.type.toString().charAt(0)=="s"&&(tempobj.selectedIndex==-1||tempobj.value=='' || tempobj.value=='0'))){
						pass=false;
						break;
					}

					//on vérifie le mail
					else if (tempobj.name=="requiredemail") {
						passmail=false;
						for (var j=1;j<(tempobj.value.length);j++){
							if(tempobj.value.charAt(j)=='@'){
								if(j<(tempobj.value.length-4)){
									for(var k=j;k<(tempobj.value.length-2);k++){
										if(tempobj.value.charAt(k)=='.') {
											passmail=true;
										}
									}
								}
							}
							else if(tempobj.value.charAt(j)==' ' || tempobj.value.charAt(j)==';' || tempobj.value.charAt(j)==',' || tempobj.value.charAt(j)=='?' || tempobj.value.charAt(j)==':'){
								passmail=false;
							}
						}
					}
					else {
						pass=true; /* si aucun cas ne pose problème, on repasse par defaut la variable à true */
					}
				}
			}
		}
	}
	if (!pass && !passmail){
		alert("vérifiez votre email et remplissez les champs obligatoires (*)");
		return false;
	}
	else if (!pass){
		alert("remplissez les champs obligatoires (*)");
		return false;
	}
	else if (!passmail){
		alert("vérifiez votre email (*)");
		return false;
	}
	else
		return true;
}
