/*
 * Cette fonctions récupère le champs entré dans l'input de recherche et génère les bonnes valeurs dans les champs cachés.
 * On récupère la valeur si non vide.
 * On split dans un tableau chaque terme avec comme séparateur espace, virgule et point-virgule.
 * On boucle sur les 5 premiers et on les mets dans les champs cachés
 */
function gen_recherche(item)
{
	var request = document.getElementById('recherche_'+item);
	if (request.value != "")
	{
		var tableau = request.value.split(RegExp('[ ,;]', 'g'));
		var max = 5;
		var j = 0;
		for (var i = 0; i < max; i++)
		{
			j++;
			var hidden = document.getElementById('rech'+(j)+'_'+item);
			if (
				tableau.length > i && (
					tableau[i].length < 3
					|| tableau[i] == 'aux'
					|| tableau[i] == 'ces'
					|| tableau[i] == 'cet'
					|| tableau[i] == 'des'
					|| tableau[i] == 'est'
					|| tableau[i] == 'les'
					|| tableau[i] == 'nos'
					|| tableau[i] == 'par'
					|| tableau[i] == 'que'
					|| tableau[i] == 'qui'
					|| tableau[i] == 'sur'
					|| tableau[i] == 'une'
					|| tableau[i] == 'mais'
					|| tableau[i] == 'plus'
					|| tableau[i] == 'pour'
					|| tableau[i] == 'sans'
					|| tableau[i] == 'sont'
					|| tableau[i] == 'tous'
					|| tableau[i] == 'tout'
					|| tableau[i] == 'cette'
					|| tableau[i] == 'cettes'
				)
			)
			{
				max++;
				j--;
				continue;
			}
			if (tableau.length > i)
				//New pattern
				hidden.value = '[\\s,]'+tableau[i];
				/*
					hidden.value = '([^[:alnum:]]'+tableau[i]+')';
					//New pattern
					hidden.value = '[\\s,]'+tableau[i]+'[\\s,]';
					//Old pattern
					hidden.value = '[^[:alnum:]]'+tableau[i]+'[^[:alnum:]]';
				*/

		}
	}
}

/*
 * Cette fonction est utilisée lors du changement dans le select "Véhicule" (name=categorie)
 * Elle sert a :
 * - désactiver les selects dépendant de ce dernier, mise a name=(vehicule|marque)_skip
 * - activer le select requis name=(vehicule|marque)
 * - ré-initialiser a Tous/Toutes en cas de changement les selects dépendants de ce dernier
 */
function update_group(elem)
{
	var data = Array ();
	var type = Array ('tous','auto','moto','nautisme');
	var group = Array ('vehicule','marque');
	for (var current_group in group)
	{
		data[current_group] = Array();
		var i = 0;
		for (var current_type in type)
		{
			data[current_group][current_type] =  document.getElementById(group[current_group]+'_'+type[current_type]);
			data[current_group][current_type].selectedIndex = 0;
			if (i == elem.selectedIndex)
			{
				data[current_group][current_type].name = group[current_group];
				data[current_group][current_type].style.display = 'block';
				//Disable marque for nautisme as we don't have list for it yet
				if (type[current_type] == 'nautisme' && group[current_group] == 'marque')
					data[current_group][current_type].disabled = true;
			}                      
			else                   
			{                      
				data[current_group][current_type].name = group[current_group]+'_skip';
				data[current_group][current_type].style.display = 'none';
				data[current_group][current_type].disabled = false;
			}
			i++;
		}
	}
}

/*
 * Cette fonction est utilisée lors de l'initialisation du select "Véhicule" (name=categorie)
 * dans l'édition d'annonce auto.
 * Elle sert a :
 * - désactiver les selects dépendant de ce dernier, mise a name=(vehicule|marque)_skip
 * - activer le select requis name=(vehicule|marque)
 */
function init_group(elem)
{
	var data = Array ();
	var type = Array ('tous','auto','moto','nautisme');
	var group = Array ('vehicule','marque');
	for (var current_group in group)
	{
		data[current_group] = Array();
		var i = 0;
		for (var current_type in type)
		{
			data[current_group][current_type] =  document.getElementById(group[current_group]+'_'+type[current_type]);
			if (i == elem.selectedIndex)
			{
				data[current_group][current_type].name = group[current_group];
				data[current_group][current_type].style.display = 'block';
				//Disable marque for nautisme as we don't have list for it yet
				if (type[current_type] == 'nautisme' && group[current_group] == 'marque')
					data[current_group][current_type].disabled = true;
			}                      
			else                   
			{                      
				data[current_group][current_type].name = group[current_group]+'_skip';
				data[current_group][current_type].style.display = 'none';
				data[current_group][current_type].disabled = false;
			}
			i++;
		}
	}
}

