function CaracValide( chaine ) {
//	var exp1 = new RegExp( "[&~\"#'{(|`^@)}=+*/;,:!§—%*µ$œ¨?]", "gi" ); // manque []\
//	var exp1 = new RegExp( "[^a-z 0-9_-]", "gi" );
	var exp1 = new RegExp( "[^a-z0-9_ -…ƒä‚ŠˆëŒï“ö–ü]", "gi" );
	return chaine.search( exp1 );
}

function TelValide( chaine, champ, mes_err ) {
        chaine = chaine.replace (/[-:\/_. ]/g, "");
	if( chaine.length == 10 ) {
		var j=0;
		var val='';
		for( i=0; i <= chaine.length-1; i++ ) {
			if( val != '' && j%2 == 0 )	val += ".";
			val += chaine.charAt( i );

			j++;
		}

//		lastCar = val.charAt( chaine.length - 1 );
//		if( ( lastCar != '.' ) && ( val.length == 14 ) )
//			val += '.';

		champ.value = val;
		return true;
	}
	else {
		Erreur( mes_err, champ );
		return false;
	}


}

function DetectTelPortable( chaine, champ ) {
	if( chaine.substring(0, 2) != '06' ) {
		alert( 'Si vous avez un numero de telephone portable, notez-le !\n\nIl sera plus facile pour nous de vous rappeler.' );
	}
}

function MailValide( adresse, champ, page ) {
//	adresse = document.mailUser.TO.value;
	var place = adresse.indexOf( "@", 1 );
	var point = adresse.indexOf( ".", place+1 );
	if( ( place > -1 ) && ( adresse.length > 2 ) && ( point > 1 ) ) {
		return true;
	}
	else {
		Erreur( "de l'adresse e-mail", champ, page );
		return false;
	}
}

function Erreur( chaine, champ, page ) {
	alert( "Le champ " + chaine + " n\'est pas valide." );
selectThisTab('main', 'main0', 'Ice');
//	if( page == 1 )
		champ.focus();
	return;
}


function Erreur2( chaine, champ ) {
	alert( chaine );
	champ.focus();
	return;
}

function RadioCoche( champ ) {
	var temp;
	for( i=0; i < champ.length; i++ ) {
		if( champ[i].checked ) {
			temp = champ[i].value;
		}
	}
	return temp;
}

//=====================================//
// Fonction qui verifie le formulaire  //
//=====================================//
function Verif( monParam ) {
	var trouve;
	var page = 1;
	if( monParam == 'all' ) page = 2;

	// Verif nomUser
	var nom = document.monform.nomUser;
	valNom = trimString( nom.value );

	trouve = CaracValide( valNom );
	if( trouve != '-1' || isEmpty( valNom ) || valNom.length < 2 || valNom.length > 20 ) {
		Erreur( "nom", nom, page );
		return false;
	}

	// Verif prenomUser
	var prenom = document.monform.prenomUser;
	valPrenom = trimString( prenom.value );

	trouve = CaracValide( valPrenom );
	if( trouve != '-1' || isEmpty( valPrenom ) || valPrenom.length < 2 || valPrenom.length > 20 ) {
		Erreur( "prenom", prenom, page );
		return false;
	}

	// Verid ddn
	var x = new Date();
	var annee = x.getFullYear();
	var date = document.monform.ddn3User;
	var valDate = date.value;
	// Pour travailler, il faut avoir entre 16 et 100 ans !!
	// ne pas limiter l'age a 65 ans, car interdit...
	if( valDate < (annee-100) || valDate > (annee-16) ) {
		Erreur( "annee", date, page );
		return false;
	}

	// Verif cpUser
	var cp = document.monform.cpUser;
	valCp = trimString( cp.value );
	if( isNaN( valCp ) ) {
		// || valCp.length != 5 ) {
		Erreur( "cp", cp, page );
		return false;
	}

	// Verif villeUser
	var ville = document.monform.villeUser;
	valVille = trimString( ville.value );

	trouve = CaracValide( valVille );
	if( trouve != -1 || valVille.length < 2 || valVille.length > 20 ) {
		Erreur( "ville", ville, page );
		return false;
	}

	// Verif tel1User
	var tel1 = document.monform.tel1User;
	valTel1 = trimString( tel1.value );

	if( valTel1.length < 10 || valTel1.length > 15 ) {
		Erreur( "telephone", tel1, page );
		return false;
	}
	else {
		if( !TelValide( valTel1, tel1, "telephone" ) ) return false;
	}

	// Verif mailUser
	var mail = document.monform.mailUser;
	valMail = trimString( mail.value );

	if( !MailValide( valMail, mail, page ) ) return false;

	// Verif identUser
	var ident = document.monform.identUser;
	valIdent = trimString( ident.value );

	trouve = CaracValide( valIdent );
	if( trouve != '-1' || isEmpty( valIdent ) || valIdent.length < 3 || valIdent.length > 15 ) {
		Erreur( "identifiant", ident, page );
		return false;
	}

	// Verif mdpUser
	var mdp = document.monform.mdpUser;
	valMdp = trimString( mdp.value );

	trouve = CaracValide( valMdp );
	if( trouve != '-1' || isEmpty( valMdp ) || valMdp.length < 3 || valMdp.length > 15 ) {
		Erreur( "mot de passe", mdp, page );
		return false;
	}

	if( monParam  != 'all' )
		selectThisTab('main', 'main1', 'Ice');
	else {
		// Verif type emploi
		var typEmploi = document.monform.typEmploi;
		var valTypEmploi = trimString( typEmploi.value );
		if( valTypEmploi != '3' ) {

			// Verif secteur d'activit‚
			var sectact = document.monform.sectact;
			var valSectact = trimString( sectact.value );
			if( valSectact == '' ) {
				Erreur2( "Vous devez selectionner un secteur d'activite.", sectact );
				return false;
			}
			// Verif qualif
			var qualif = document.monform.metierUser;
			var valQualif = trimString( qualif.value );
			if( valQualif == '' ) {
				Erreur2( "Vous devez renseigner une qualification.", qualif );
				return false;
			}
		}

		// Verif la mobilite
		var qmob = document.monform.qmobiliteUser;
		var valqMob;

		valqMob = RadioCoche( qmob );

		var mob = document.monform.mobiliteUser;
		var valMob = trimString( mob.value );

		if( ( valqMob != 'oui' && valqMob != 'non' ) && valMob != '' ) {
			Erreur2( "Vous devez preciser votre mobilite", qmob[0] );
			return false;
		}

		if( valqMob == 'oui' && valMob == '' ) {
			Erreur2( "Vous devez selectionner une limite de mobilite", mob );
			return false;
		}

		var ag = document.monform.ville0;
		var valAg = trimString( ag.value );
		if( valAg == '' ) {
			Erreur2( "Vous devez selectionner une agence de rattachement", ag );
			return false;
		}
	}
}



function isEmpty( s ) {
	 return( ( s == null ) || ( s.length == 0 ) );
}

function fich( t ) {
	for( i=0; i <= t.length-1; i++ )
		if( t.charAt( i ) == "." )
		{
			if( ( t.substr( i ) == ".htm" ) || ( t.substr( i ) == ".html" ) ||
				( t.substr( i ) == ".php3" ) || ( t.substr( i ) == ".php" ) )
			return true;
		}
}

function fich_img( t ) {
	for( i=0; i <= t.length-1; i++ )
		if( t.charAt( i ) == "." )
		{
			if( ( t.substr( i ) == ".jpg" ) || ( t.substr( i ) == ".gif" ) )
			return true;
		}
}

function fich_gen( t )
{
	for( i=0; i <= t.length-1; i++ )
		if( t.charAt( i ) == "." )
		{
			if( ( t.substr( i ) == ".jpg" ) || ( t.substr( i ) == ".gif" ) || ( t.substr( i ) == ".htm" ) ||
				( t.substr( i ) == ".html" ) || ( t.substr( i ) == ".php" ) || ( t.substr( i ) == ".php3" ) )
			return true;
		}
}

var defaultEmptyOK = false
function trimString( userInput )
{
	var iStart, iEnd;
	var sTrimmed;
	var cChar;

	iEnd = userInput.length - 1;
	iStart = 0;
	bLoop = true;

	if( userInput.length == 1 )
	{
		if( userInput.charAt( 0 ) == " " )
			return "";
		else
			return userInput.charAt( 0 );
	  }
	if( userInput.length == 0 )
	{
		return "";
	}

	cChar = userInput.charAt( iStart );
	while( ( iStart < iEnd ) && ( ( cChar == "\n" ) || ( cChar == "\r" ) ||
                                ( cChar == "\t" ) || ( cChar == " " ) ) )
	{
        	iStart++;
		cChar = userInput.charAt( iStart );
	}

	cChar = userInput.charAt( iEnd );
	while( ( iEnd >= 0 ) && ( ( cChar == "\n" ) || ( cChar == "\r" ) ||
                            ( cChar == "\t" ) || ( cChar == " " ) ) )
	{
        	iEnd--;
		cChar = userInput.charAt( iEnd );
	}

	if ( iStart < iEnd )
	{
        	sTrimmed = userInput.substring( iStart, iEnd+1 );
	}
	else
	{
        	sTrimmed = "";
	}

	return sTrimmed;
}

var isIE = document.all?true:false;
var isNS = document.layers?true:false;

function AfficheAide( texte, largeur, hauteur, options )
{
        if( options == '' )     options = 'toolbar=yes,location=top,status=no,menubar=no,top=0,left=0,resizable=yes,scrollbars=yes';
	var fenetre = window.open( '', 'pop_up', 'width= ' + largeur + ', height= ' + hauteur + ',' + options );
	fenetre.document.write( '<html><head><title>Aide</title>' );
	fenetre.document.write( '<style><!--' );
	fenetre.document.write( 'body{font-family:Arial; font-size:10pt;}' );
	fenetre.document.write( 'a{font-family:Arial; font-size:10pt; color:#999999; text-decoration:underline;}' );
	fenetre.document.write( 'a:hover{font-family:Arial; font-size:10pt; color:#333333; text-decoration:none;}' );
	fenetre.document.write( '//--></style>' );
	fenetre.document.write( '</head>' );
	fenetre.document.write( '<body leftmargin=0 topmargin=0 marginwidth=0 marginheight=0>' );
	fenetre.document.write( '<br><center>' );
	fenetre.document.write( texte );
	fenetre.document.write( '<p><a href=javascript:window.close();>Fermer</a></p>' );
	fenetre.document.write( '</center>' );
	fenetre.document.write( '</body></html>' );
	fenetre.document.close();
	fenetre.focus();
}

