// +----------------------------------------------------------------------+
// | JAVASCRIPT                                                           |
// +----------------------------------------------------------------------+
// | Copyright (c) 2003-2008 ALCIIP                                       |
// +----------------------------------------------------------------------+
// | Authors: David Essayan <david@alciip.com>                            |
// | Authors: David Essayan <david@alciip.com> Original Author            |
// +----------------------------------------------------------------------+
// | Creation date : 22/04/2008                                           |
// | Last Modified : 22/04/2008                                           |
// | Version : 1.0                                                        |
// +----------------------------------------------------------------------+

var http_request 			= new Array;
var ajaxResult 				= '';					
var tabFieldsState			= new Array;			

/* --------------------------------------------------------------------- */
/* --------- CONFIGURATION --------------------------------------------- */
/* --------------------------------------------------------------------- */

var noneedFieldsInvalidImg	= false;
var formName 				= 'tab_form';			// Définit l'ID du formulaire ou de son conteneur

var tabLayers				= new Array;
tabLayers['sent']			= new Array;
tabLayers['form']			= new Array;

tabLayers['sent'][1]	 	= 'lay_send_succes';	// Stocke l'ID du layer affichant le message de succès après envoi	
tabLayers['sent'][0] 		= 'lay_send_echec';		// Stocke l'ID du layer affichant le message d'echec après envoi	
tabLayers['form'][1] 		= 'lay_form_succes';	// Stocke l'ID du layer affichant le message de succès après test des champs	
tabLayers['form'][0] 		= 'lay_form_echec';		// Stocke l'ID du layer affichant le message d'echec après test des champs	

// Définition des champs et de leur caractéristiques

var	nbrFields				= 19;
var tabFields				= new Array;

tabFields = setTabField(nbrFields,false);

var urlFileSender 			= '../mod/contactForm/checkformulaire.php';

var imgLoader				= '../images/interface/mini-loader.gif'; 	// Stocke le chemin vers l'image du loader
var imgValid 				= '../images/interface/green-cross.gif';	// Stocke le chemin vers l'image de validation
var imgInvalid 				= '../images/interface/red-cross.gif';		// Stocke le chemin vers l'image d'erreur

var borderEmptyField		= "2px solid #F1830A";
var borderPopulateField		= "1px solid #666666";

/* --------------------------------------------------------------------- */
/* --------- FONCTIONS PERSONNALISABLES -------------------------------- */
/* --------------------------------------------------------------------- */


function setTabField(nb,pro){
	
	var tab				= new Array;
	
	for(var i=1;i<=nb;i++){
		tab[i] = new Array;
	}
	
	tab[1]['name']		= 'WSFORM_nom_perso';
	tab[2]['name']		= 'WSFORM_prenom_perso';
	tab[3]['name']		= 'WSFORM_type';
	tab[4]['name']		= 'WSFORM_adresse1_perso';
	tab[5]['name']		= 'WSFORM_cp_perso';
	tab[6]['name']		= 'WSFORM_ville_perso';
	tab[7]['name']		= 'WSFORM_pays_perso';
	tab[8]['name']		= 'WSFORM_tel_domicile_perso';
	tab[9]['name']		= 'WSFORM_tel_portable_perso';
	tab[10]['name']		= 'WSFORM_fax_perso';
	tab[11]['name']		= 'WSFORM_email_perso';
	tab[12]['name']		= 'WSFORM_message';
	tab[13]['name']		= 'langue';
	tab[14]['name']		= 'ID_formulaire';
	tab[15]['name']		= 'WSFORM_ID_session_edk';
	tab[16]['name']		= 'WSFORM_ID_promotion';
	tab[17]['name']		= 'WSFORM_ID_mc_promotion';
	tab[18]['name']		= 'WSFORM_referrer_promotion';
	tab[19]['name']		= 'WSFORM_referrer_promotion_2';
	
	tab[1]['need']		= 1;
	tab[2]['need']		= 1;
	tab[3]['need']		= 0;
	tab[4]['need']		= 0;
	tab[5]['need']		= 0;
	tab[6]['need']		= 1;
	tab[7]['need']		= 1;
	tab[8]['need']		= 0;
	tab[9]['need']		= 0;
	tab[10]['need']		= 0;
	tab[11]['need']		= 1;
	tab[12]['need']		= 1;
	tab[13]['need']		= 0;
	tab[14]['need']		= 0;
	tab[15]['need']		= 0;
	tab[16]['need']		= 0;
	tab[17]['need']		= 0;
	tab[18]['need']		= 0;
	tab[19]['need']		= 0;
	
	tab[1]['type']		= 'normal';
	tab[2]['type']		= 'normal';
	tab[3]['type']		= 'hidden';
	tab[4]['type']		= 'normal';
	tab[5]['type']		= 'specific';
	tab[6]['type']		= 'normal';
	tab[7]['type']		= 'normal';
	tab[8]['type']		= "specific";
	tab[9]['type']		= "specific";
	tab[10]['type']		= "specific";
	tab[11]['type']		= "email";
	tab[12]['type']		= "normal";
	tab[13]['type']		= "hidden";
	tab[14]['type']		= "hidden";
	tab[15]['type']		= "hidden";
	tab[16]['type']		= "hidden";
	tab[17]['type']		= "hidden";
	tab[18]['type']		= "hidden";
	tab[19]['type']		= "hidden";
	
	tab[1]['file']		= '';
	tab[2]['file']		= '';
	tab[3]['file']		= '';
	tab[4]['file']		= '';
	tab[5]['file']		= '';
	tab[6]['file']		= '';
	tab[7]['file']		= '';
	tab[8]['file']		= '';
	tab[9]['file']		= '';
	tab[10]['file']		= '';
	tab[11]['file']		= '../mod/contactForm/checkmail.php';
	tab[12]['file']		= '';
	tab[13]['file']		= '';
	tab[14]['file']		= '';
	tab[15]['file']		= '';
	tab[16]['file']		= '';
	tab[17]['file']		= '';
	tab[18]['file']		= '';
	tab[19]['file']		= '';	
	
	if(pro == true){
		
		tab[20]['name']		= 'WSFORM_societe';
		tab[21]['name']		= 'WSFORM_activite_societe';
		tab[22]['name']		= 'WSFORM_fonction';
		tab[23]['name']		= 'WSFORM_siret';
		
		tab[20]['need']		= 1;
		tab[21]['need']		= 1;
		tab[22]['need']		= 1;
		tab[23]['need']		= 0;
		
		tab[20]['type']		= 'normal';
		tab[21]['type']		= 'normal';
		tab[22]['type']		= 'normal';
		tab[23]['type']		= 'specific';
		
		tab[20]['file']		= '';
		tab[21]['file']		= '';
		tab[22]['file']		= '';
		tab[23]['file']		= '';
		
	}
	
	return tab;
}


// Cette fonction contrôle le champ, affiche l'image correspondante au résultat et met à jour le tableau d'états
// @param string field 	-> Correspond au champ courant à traiter

function displayResultSpecific(field){

	// On recherche l'indice du champ courant
	
	var indField = findFieldNumber(field);

	// Téléphone
	if(field == "WSFORM_tel_domicile_perso" || field == "WSFORM_tel_portable_perso" || field == "WSFORM_fax_perso"){
		var telString = document.getElementById('form_'+field).value;
		if(!isNaN(telString) && telString != '' && telString.length == 10){
			tabFieldsState[field] = 1;
			document.getElementById('img_'+field).src=imgValid;
		}else{
			tabFieldsState[field] = 0;
			if(tabFields[indField]['need'] == 1 || (tabFields[indField]['need'] == 0 && noneedFieldsInvalidImg == true)){
				document.getElementById('img_'+field).src=imgInvalid;
			}else{
				document.getElementById('img_'+field).style.display="none";
			}
		}
	}
	
	//cp
	if(field == "WSFORM_cp_perso"){
		var telString = document.getElementById('form_'+field).value;
		if(!isNaN(telString) && telString != '' && (telString.length == 4 || telString.length == 5)){
			tabFieldsState[field] = 1;
			document.getElementById('img_'+field).src=imgValid;
		}else{
			tabFieldsState[field] = 0;
			if(tabFields[indField]['need'] == 1 || (tabFields[indField]['need'] == 0 && noneedFieldsInvalidImg == true)){
				document.getElementById('img_'+field).src=imgInvalid;
			}else{
				document.getElementById('img_'+field).style.display="none";
			}
		}
	}
	
	//Siret
	if(field == "WSFORM_siret"){
		var telString = document.getElementById('form_'+field).value;
		if(!isNaN(telString) && telString != '' && telString.length == 14){
			tabFieldsState[field] = 1;
			document.getElementById('img_'+field).src=imgValid;
		}else{
			tabFieldsState[field] = 0;
			if(tabFields[indField]['need'] == 1 || (tabFields[indField]['need'] == 0 && noneedFieldsInvalidImg == true)){
				document.getElementById('img_'+field).src=imgInvalid;
			}else{
				document.getElementById('img_'+field).style.display="none";
			}
		}
	}
	
	// Département
	
	if(field == "departement"){
		if(ajaxResult != 'false' && ajaxResult != 'true' && ajaxResult != ''){
			var tabResult = ajaxResult.split(';');
			var stringResult = '<div style=color:#E93388"; font-weight:bold;">Choisir un département :</div>';
			for(var i=0;i<tabResult.length;i++){
				stringResult += '<a href="javascript:setDepartement(\''+tabResult[i]+'\')">';
				stringResult += tabResult[i];
				stringResult += '</a>';
				stringResult += (tabResult[i+1])?'<br />':'';
			}
			document.getElementById('lay_'+field).innerHTML = stringResult;
			document.getElementById('lay_'+field).style.display = 'block';
			document.getElementById('img_'+field).style.display = 'none';
		}else{ 
			if(ajaxResult == 'false'){
				tabFieldsState[field] = 0;
				document.getElementById('lay_'+field).style.display = 'none';
				document.getElementById('img_'+field).src=imgInvalid;
			}else{
				tabFieldsState[field] = 1;
				document.getElementById('lay_'+field).style.display = 'none';
				document.getElementById('img_'+field).src=imgValid;
			}
		}
	}
}

function setDepartement(string){
	document.getElementById('form_departement').value = string;
	document.getElementById('img_departement').style.display = 'block';
	document.getElementById('img_departement').src = imgValid;
	document.getElementById('lay_departement').style.display = 'none';
	tabFieldsState["departement"] = 1;
}

/* --------------------------------------------------------------------- */
/* --------- DONT ALTER !!! -------------------------------------------- */
/* --------------------------------------------------------------------- */

function requestAjax(url,field,method) {

	// On recherche l'indice du champ courant
	
	var indField = findFieldNumber(field);
	
	// On déclare http_request à false

	http_request[field] = false;

	// Appel de l'objet pour navigateurs type Mozilla, Safari...

	if (window.XMLHttpRequest) { 
		http_request[field] = new XMLHttpRequest();
		if (http_request[field].overrideMimeType) {
			http_request[field].overrideMimeType('text/xml');
		}
	} 
	
	// Appel de l'objet ActiveX pour les navigateurs Internet Explorer
	
	else if (window.ActiveXObject) { 
		try {
			http_request[field] = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
			http_request[field] = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request[field]) {
		return false;
	}
	
	// Fonction éxécutée après requête
	http_request[field].onreadystatechange = function(){
		resultAjax(field,indField);
	}
	
	// Exécution de la requête
	
	if(method == 'GET'){
		http_request[field].open('GET', url, true);
		http_request[field].send(null);
	}
	if(method == 'POST'){
		var tabUrl = url.split('?');
		http_request[field].open('POST', tabUrl[0], true);
      	http_request[field].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      	http_request[field].setRequestHeader("Content-length", tabUrl[1].length);
      	http_request[field].setRequestHeader("Connection", "close");
      	http_request[field].send(tabUrl[1]);
	}
}

function resultAjax(field,indField){
	if (http_request[field].readyState == 4) {
		if (http_request[field].status == 200) {
			var xmldoc = http_request[field].responseXML;
			var result = xmldoc.getElementsByTagName('response').item(0);
			ajaxResult = result.firstChild.data;
			if(field == 'form'){
				displayForm();
			}else{
				if(tabFields[indField]['type'] != 'specific'){
					displayResult(field);
				}else{
					displayResultSpecific(field);
				}
			}
		}		
	}
}

/*
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('h 14(){j(a i=1;i<=k;i++){7(2[i][\'g\']!="s"&&(4.3(\'c\'+2[i][\'9\']).l!=\'\')){K(2[i][\'9\'])}}}h 10(){4.3(m[\'t\'][1]).8.b=\'o\';7(C==\'u\'){4.3(m[\'E\'][1]).8.b=\'r\'}f{4.3(m[\'E\'][1]).8.b=\'r\'}}h 11(y){7(y!=m[\'E\'][1]){j(a i=1;i<=k;i++){7(2[i][\'n\']==1){7(!d[2[i][\'9\']]||d[2[i][\'9\']]==0){4.3(\'c\'+2[i][\'9\']).8.D=13}f{4.3(\'c\'+2[i][\'9\']).8.D=R}}}}f{j(a i=1;i<=k;i++){7(2[i][\'g\']!="s"){4.3(\'c\'+2[i][\'9\']).8.D=R;4.3(\'c\'+2[i][\'9\']).l=\'\';4.3(\'e\'+2[i][\'9\']).8.b=\'o\'}}}4.3(B).8.A=\'S\';4.3(y).8.b=\'o\'}h T(){}h U(){a x=0;j(a i=1;i<=k;i++){7(2[i][\'n\']==1){7(!d[2[i][\'9\']]||d[2[i][\'9\']]==0){x++}}}7(x>0){4.3(B).8.A=\'s\';4.3(m[\'t\'][0]).8.b=\'r\'}7(x==0){4.3(B).8.A=\'s\';4.3(m[\'t\'][1]).8.b=\'r\';a v=\'?\';j(a i=1;i<=k;i++){v+=2[i][\'9\']+"="+O(4.3(\'c\'+2[i][\'9\']).l);v+=(2[i+1])?\'&\':\'\'}P(V+v,\'t\',\'W\');j(a i=1;i<=k;i++){d[2[i][\'9\']]=0}}}h z(5){a 6=\'\';j(a i=1;i<=k;i++){7(2[i][\'9\']==5){6=i}}X 6}h K(5){4.3(\'e\'+5).p=Y;4.3(\'e\'+5).8.b=\'r\';a 6=z(5);7(6!=\'\'&&2[6][\'w\']==\'\'&&2[6][\'g\']=="G"){F(5)}f 7(6!=\'\'&&2[6][\'w\']==\'\'&&2[6][\'g\']=="M"){Z(5)}f 7(6!=\'\'&&2[6][\'w\']!=\'\'&&(2[6][\'g\']==\'H\'||2[6][\'g\']==\'M\')){a Q=O(4.3(\'c\'+5).l);C=\'\';P(2[6][\'w\']+"?q="+Q,2[6][\'9\'],\'12\')}}h F(5){a 6=z(5);7(2[6][\'g\']=="G"){7(4.3(\'c\'+5).l!=\'\'){d[5]=1;4.3(\'e\'+5).p=L}f{d[5]=0;7(2[6][\'n\']==1||(2[6][\'n\']==0&&I==u)){4.3(\'e\'+5).p=N}f{4.3(\'e\'+5).8.b="o"}}}7(2[6][\'g\']=="H"){7(4.3(\'c\'+5).l.J("@")>0&&4.3(\'c\'+5).l.J(".")>0&&C==\'u\'){d[5]=1;4.3(\'e\'+5).p=L}f{d[5]=0;7(2[6][\'n\']==1||(2[6][\'n\']==0&&I==u)){4.3(\'e\'+5).p=N}f{4.3(\'e\'+5).8.b="o"}}}}',62,67,'||tabFields|getElementById|document|field|indField|if|style|name|var|display|form_|tabFieldsState|img_|else|type|function||for|nbrFields|value|tabLayers|need|none|src||block|hidden|form|true|strContents|file|error|provenance|findFieldNumber|visibility|formName|ajaxResult|border|sent|displayResult|normal|email|noneedFieldsInvalidImg|indexOf|displayLoading|imgValid|specific|imgInvalid|escape|requestAjax|fieldValue|borderPopulateField|visible|emptyFunction|testForm|urlFileSender|POST|return|imgLoader|displayResultSpecific|displayForm|returnForm|GET|borderEmptyField|initForm'.split('|'),0,{}))
*/

/* --------------------------------------------------------------------------------- */

// Fonction d'initialisation du formulaire
// Cette fonction permet de vérifier tous les champs au chargement de la page
// Elle utilise la fonction displayLoading quand le champ est vide

function initForm(){
	for(var i=1;i<=nbrFields;i++){
		if(tabFields[i]['type'] != "hidden" && (document.getElementById('form_'+tabFields[i]['name']).value != '')){
			displayLoading(tabFields[i]['name']);
		}
	}
}

/* --------------------------------------------------------------------------------- */

// Fonction pour afficher la div correspondante au résultat après la tentative d'envoi
// Aucun paramètre. La fonction teste la variable globale ajaxResult.

function displayForm(){
	document.getElementById(tabLayers['form'][1]).style.display = 'none';
	if(ajaxResult == 'true'){
		document.getElementById(tabLayers['sent'][1]).style.display = 'block';
	}else{
		document.getElementById(tabLayers['sent'][0]).style.display = 'block';
	}
}

/* --------------------------------------------------------------------------------- */

// Fonction permettant de retourner au formulaire, après affichage d'un message.
// Elle permet également de mettre en valeur les champs non validés.
// @param string provenance 	-> Définit le layer, ou message, activé et à faire disparaître;

function returnForm(provenance){
	
	// Si le layer à masquer n'est pas la message de succès après envoi
	
	if(provenance != tabLayers['sent'][1]){
		for(var i=1;i<=nbrFields;i++){
			if(tabFields[i]['need'] == 1){
				if(!tabFieldsState[tabFields[i]['name']] || tabFieldsState[tabFields[i]['name']] == 0){
					document.getElementById('form_'+tabFields[i]['name']).style.border = borderEmptyField;
				}else{
					document.getElementById('form_'+tabFields[i]['name']).style.border = borderPopulateField;
				}
			}
		}
	}
	
	// Si le layer à masquer est le message de succès après envoi
	
	else{
		for(var i=1;i<=nbrFields;i++){
			if(tabFields[i]['type'] != "hidden"){
				document.getElementById('form_'+tabFields[i]['name']).style.border = borderPopulateField;
				document.getElementById('form_'+tabFields[i]['name']).value = '';
				document.getElementById('img_'+tabFields[i]['name']).style.display = 'none';
			}
		}
	}
	
	document.getElementById(formName).style.visibility = 'visible';
	document.getElementById(provenance).style.display = 'none';
}

/* --------------------------------------------------------------------------------- */

// Sert dans le cas de choix multiples tels que les radio.
// Fonction très simple, qui sert uniquement à remplir la valeur d'un champ.

function populateField(field,newValue){
	document.getElementById(field).value = newValue;
}

/* --------------------------------------------------------------------------------- */

// Tu viens de trouver la flemmarde du coin
// Cette fonction ne fait ... rien

function emptyFunction(){}

/* --------------------------------------------------------------------------------- */

// Fonction dédiée au test des variables d'état (tabFieldsState) des différents champs obligatoires
// 1 = valide ; 0 = non-valide

function testForm(){

	// On teste les champs obligatoires
	
	var error = 0;
	for(var i=1;i<=nbrFields;i++){
		if(tabFields[i]['need'] == 1){
			if(!tabFieldsState[tabFields[i]['name']] || tabFieldsState[tabFields[i]['name']] == 0){
				error++;
			}
		}
	}

	// Si un des champs n'est pas valide, on affiche le message correspondant

	if(error>0){
		document.getElementById(formName).style.visibility = 'hidden';
		document.getElementById(tabLayers['form'][0]).style.display = 'block';
	}
	
	// Si tous les champs sont valides, on affiche le message correspondant
	// On amorce également l'envoi du formulaire
	
	if(error==0){
		document.getElementById(formName).style.visibility = 'hidden';
		document.getElementById(tabLayers['form'][1]).style.display = 'block';
		
		var strContents = '?';
		for(var i=1;i<=nbrFields;i++){
			strContents += tabFields[i]['name']+"="+escape(document.getElementById('form_'+tabFields[i]['name']).value);
			strContents += (tabFields[i+1])?'&':'';
		}
		
		requestAjax(urlFileSender+strContents,'form','POST');
		
		for(var i=1;i<=nbrFields;i++){
			tabFieldsState[tabFields[i]['name']] = 0;
		}
		
		setTimeout("document.location.href='./contact-us.php?download=allowed';",100);
		
	}
}

/* --------------------------------------------------------------------------------- */

// Cette fonction retourne l'indice d'un champ depuis son nom
// @param string field 		-> Correspond au nom du champ

function findFieldNumber(field){
	var indField = '';
	for(var i=1;i<=nbrFields;i++){
		if(tabFields[i]['name'] == field){
			indField = i;
		}
	}
	return indField;
}

/* --------------------------------------------------------------------------------- */

// Cette fonction affiche le loader et renvoie vers la bonne fonction en fonction du type de champ
// Elle appellera soit requestAjax soit displayResult
// @param string field 		-> Le nom du champ à traiter 

function displayLoading(field){

	document.getElementById('img_'+field).src=imgLoader;
	document.getElementById('img_'+field).style.display='block';
	
	// On recherche le champ associé dans tabFields
	
	var indField = findFieldNumber(field);

	// Si c'est un champ normal

	if(indField != '' && tabFields[indField]['file'] == '' && tabFields[indField]['type'] == "normal"){
		displayResult(field);
	}
	
	// Si c'est champ de type specific sans fichier associé
	
	else if(indField != '' && tabFields[indField]['file'] == '' && tabFields[indField]['type'] == "specific"){
		displayResultSpecific(field);
	}
	
	// Si c'est champ de type email ou specific avec un fichier associé
	
	else if(indField != '' && tabFields[indField]['file'] != '' && (tabFields[indField]['type'] == 'email' || tabFields[indField]['type'] == 'specific')){
		var fieldValue = escape(document.getElementById('form_'+field).value);
		ajaxResult = '';
		requestAjax(tabFields[indField]['file']+"?q="+fieldValue,tabFields[indField]['name'],'GET');
	}
}

/* --------------------------------------------------------------------------------- */

// Cette fonction contrôle le champ, affiche l'image correspondante au résultat et met à jour le tableau d'états
// @param string field 	-> Correspond au champ courant à traiter

function displayResult(field){
	
	// On recherche l'indice du champ courant
	
	var indField = findFieldNumber(field);
	
	// Si c'est un champ normal et obligatoire
	
	if(tabFields[indField]['type'] == "normal"){
		if(document.getElementById('form_'+field).value != ''){
			tabFieldsState[field] = 1;
			document.getElementById('img_'+field).src=imgValid;
		}else{
			tabFieldsState[field] = 0;
			if(tabFields[indField]['need'] == 1 || (tabFields[indField]['need'] == 0 && noneedFieldsInvalidImg == true)){
				document.getElementById('img_'+field).src=imgInvalid;
			}else{
				document.getElementById('img_'+field).style.display="none";
			}
		}
	}
	
	// Si c'est un champ de type email
	
	if(tabFields[indField]['type'] == "email"){
		if(document.getElementById('form_'+field).value.indexOf("@")>0 && document.getElementById('form_'+field).value.indexOf(".")>0 && ajaxResult == 'true'){
			tabFieldsState[field] = 1;
			document.getElementById('img_'+field).src=imgValid;
		}else{
			tabFieldsState[field] = 0;
			if(tabFields[indField]['need'] == 1 || (tabFields[indField]['need'] == 0 && noneedFieldsInvalidImg == true)){
				document.getElementById('img_'+field).src=imgInvalid;
			}else{
				document.getElementById('img_'+field).style.display="none";
			}
		}
	}
}




function show_professional_informations() {	

	if(document.getElementById('type_professionnel').checked){
		
		document.getElementById('professional_information').style.display = 'block';
		
		nbrFields = 23;
		
		tabFields = setTabField(nbrFields,true);
		
	} else {
		document.getElementById('professional_information').style.display = 'none';
		
		nbrFields = 19;	

		tabFields = setTabField(nbrFields,false);

	}

}

