/********************************************************************************************************************
*			fonction NBEACHTYPE																						*
*			paramètre: chaine																						*
*			Met dans un tableau le nombre de valeurs alphanumérique et le nombre de valeurs de type entier			*
*			Renvoi un tableau : tab[0] nb d'éléments alpha, tab[1] nb d'entiers										*
*																													*
********************************************************************************************************************/

function nbEachType(val)//0 => alpha // 1 = entier
{
	var tabType = new Array(0,0);
	for(var i =0 ; i<val.length ; i++)
	{
		if((val.substr(i,1)-val.substr(i,1))==0)
			tabType[1] +=1;
		else
			tabType[0] +=1;
	}
	return tabType;
}

/********************************************************************************************************************
*			fonction TESTRADIO																						*
*			paramètre: objet radio d'un formulaire																	*
*			Renvoi la valeur sélectionnée si plusieurs objets radio ont le même nom 								*
*																													*
********************************************************************************************************************/

function testRadio(objRadio) 
{
	var radioVal = '';
	for (var i=0; i<objRadio.length ; i++) 
	{
		if (eval(objRadio)[i].checked) 
		{
			radioVal = eval(objRadio)[i].value;
		}
	}
	return radioVal;
}

/********************************************************************************************************************
*			fonction CHECKEMAIL																						*
*			paramètre: chaine																						*
*			Renvoi true ou false 																					*
*																													*
********************************************************************************************************************/

function checkEmail(chaine)
{
	var compte 		= "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
	var domaine		= "([a-zA-Z0-9][a-zA-Z0-9._-]*\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\.[a-zA-Z]{2,5}";
	var reg 		= "^"+compte+"@"+domaine+"$";
	var regExp 		= new RegExp(reg);
	return regExp.test(chaine);
}
/********************************************************************************************************************
*			fonction CHECKFORM																						*
*			paramètres: objet formulaire, tableau avec le nom des champs, tableau avec msg d'erreur pour ces champs	*
*																													*
********************************************************************************************************************/

function checkForm(objForm,tabObli,tabEquiv)
{
	var tabObli			= tabObli.split(',');
	var tabEquiv 		= tabEquiv.split(',');
	var alEr			= false;
	var newMsg			= '';

	for(var i=0; i<tabObli.length ; i++)
	{
		var deb 		= tabObli[i].substr(0,3);
		var nomCheck	= tabObli[i].substr(3,tabObli[i].length);//pour cas autres que default
		switch(deb)
		{
			case 'CHK':		var resultats	= 0;
							for (var j=0; j<objForm.length;j++)
							{
								if (objForm[j].name.substr(0,nomCheck.length)==nomCheck && objForm[j].checked)
									resultats++;
							}
							if(resultats>0)	alEr = false; else alEr = true;
                            newMsg = 'U moet de verbintenis van vertrouwelijkheid bevestigen';
							break;
							
			case 'RAD':		if(testRadio(eval('objForm.'+nomCheck))=='')
								alEr = true;
							break;
							
			case 'PSW': 	alEr			= true;
							if(eval('objForm.'+nomCheck) && eval('objForm.'+nomCheck+'.value.length')==0)
								newMsg		= 'Veuillez renseigner '+tabEquiv[i];
							else if(eval('objForm.'+nomCheck) && eval('objForm.'+nomCheck+'.value.length')<6)
								newMsg		= 'Le mot de passe doit faire au moins 6 caractères';
							else
							{
								var tabType	= nbEachType(eval('objForm.'+nomCheck+'.value'));
								if(tabType[1] == 0)
									newMsg	= 'Veuillez mettre au moins un chiffre dans votre mot de passe';
								else if(eval('objForm.'+nomCheck+'.value')!='')
									alEr = false;
							}
							break;
							
			case 'EMA':		if(eval('objForm.'+nomCheck+'.value')=='')
								alEr = true;
							else if(!checkEmail(eval('objForm.'+nomCheck+'.value')))
							{
								alEr 		= true;
								newMsg		= 'Uw emailadres is niet correct';
							}
							break;								
							
			default	 : 		if(eval('objForm.'+tabObli[i]+'.value')=='')
								alEr = true;
							break;
		}
		
		if(alEr)
		{
			if(newMsg=='')
				alert('Gelieve het volgende in te vullen '+tabEquiv[i]);
			else
				alert(newMsg);		
			return false;
		}
	}
}