// JavaScript Document
function limit_txtarea(zone,maxlen,nbligne){
	var pos=0;
	var nb=0;
	if(zone.value.length>=maxlen) zone.value=zone.value.substring(0,maxlen);
	for(i=0;i<nbligne;i++){
		if(zone.value.indexOf("\n",pos)>-1){
			nb++;
			pos=zone.value.indexOf("\n",pos);
			if(nb>=nbligne) zone.value=zone.value.substring(0,pos);
			pos++;
		}
	}
}

function test_isvalidlog(totest){
	//expression reguliere: autre chose qu'un alphanum ou _
	var expression = /\W/;
	//test de chaque element de totest
	for(var j=1; j<=totest.length; j++){
			recup=totest.charAt(j-1);
			//si pas ok, on sort en retournant false
			if(recup.search(expression)!=-1){
				if((recup != "-")&&(recup != "@"))
						return false;
			}
	}
	//on sort avec true si totest est bien un int
	return true;
}

function test_isvalidtext(totest){
	//expression reguliere: autre chose qu'un alphanum ou _
	var expression = /\W/;
	var expression2 = /\S/;
	//test de chaque element de totest
	for(var j=1; j<=totest.length; j++){
			recup=totest.charAt(j-1);
			//si pas ok, on sort en retournant false
			if(recup.search(expression)!=-1){
				if(recup.search(expression2)!=-1){
					if(recup != "-" && recup != "é" && recup != "è" && recup != "ê" && recup != "ë" && recup != "ã" && recup != "à" && recup != "ä" && recup != "â" && recup != "ù" && recup != "û" && recup != "ü" && recup != "ï" && recup != "î" && recup != "õ" && recup != "ô" && recup != "ö" && recup != "ÿ" && recup != "ç")
						return false;
				}
			}
	}
	//on sort avec true si totest est bien un int
	return true;
}

function test_isvalidalphas(totest){
	//expression reguliere: autre chose qu'un alphanum ou _
	var expression = /\W/;
	//test de chaque element de totest
	for(var j=1; j<=totest.length; j++){
			recup=totest.charAt(j-1);
			//si pas ok, on sort en retournant false
			if(recup.search(expression)!=-1)
				return false;
			else {
				if(recup == "_" || recup == "0" || recup == "1" || recup == "2" || recup == "3" || recup == "4" || recup == "5" || recup == "6" || recup == "7" || recup == "8" || recup == "9")
					return false;
			}
	}
	//on sort avec true si totest est bien un int
	return true;
}

function test_isvalidcode(totest){
	//expression reguliere: autre chose qu'un alphanum ou _
	var expression = /\W/;
	var expression2 = /\S/;
	//test de chaque element de totest
	for(var j=1; j<=totest.length; j++){
			recup=totest.charAt(j-1);
			//si pas ok, on sort en retournant false
			if(recup.search(expression)!=-1){
				if(recup.search(expression2)!=-1){
					if(recup != "-")
						return false;
				}
			}
	}
	//on sort avec true si totest est bien un int
	return true;
}

//verifie si l'entree est un nombre entier
function test_isint(totest){
	//expression reguliere: un entier
	var expression = /\d/;
	//test de chaque element de totest
	for(var j=1; j<=totest.length; j++){
			recup=totest.charAt(j-1);
			//si pas un entier, on sort en retournant false
			if(recup.search(expression)==-1){
				return false;
			}
	}
	//on sort avec true si totest est bien un int
	return true;
}

//verification : totest>=0
function test_ispositive(totest){
	if(totest<0)
		return false;
	else
		return true;
}

//verifie si l'entree est un siren valide
function test_isvalidsiren(totest){
	//un entier de 9 chiffres
	if(totest.length != 9)
		return false;
	else{
		if(!test_isint(totest))
			return false;
		else
			return test_ispositive(totest);
	}			
}

//verifie si l'entree est une tva intra valide
function test_isvalidtvaintra(totest){
	//un code de 13 caracteres
	if(totest.length != 13)
		return false;
	else{
		//2 lettres
		if (!test_isvalidalphas(totest.substring(0,2)))	
			return false;
		//11 chiffres
		if (!test_isint(totest.substr(2,11)))
			return false;
		else
			return test_ispositive(totest);
	}		
}

function test_isvalidmail(totest){

	//expression reguliere: autre chose qu'un alphanum ou _ ou @ ou .
	var expression = /\W/;
	//test de chaque element de totest
	for(var j=1; j<=totest.length; j++){
			recup=totest.charAt(j-1);
			//si pas ok, on sort en retournant false
			if(recup.search(expression)!=-1){
				if(recup != "@" && recup != "." && recup != "-"){
							return false;
				}
			}
	}
	//test @ et .
	res1 = totest.indexOf("@");
	res2 = totest.lastIndexOf("@");
	//cas refusés: pas de @, plusieurs @
	if(res1 == -1 || res1 != res2)
		return false;
	else{
		//test sur le point
		res3 = totest.lastIndexOf(".");
		//cas refusés: pas de point, le dernier point avant le @, le dernier point collé au @, point dernier caractere
		if(res3 == -1 || res3 < res1 || (res1+1) == res3 || res3 == (totest.length-1))
			return false;
	}
	
	//on sort avec true si totest est bien un mail
	return true;
}
