var haveSelectedFunction = {
  fx: function(event) {
  	haveSelected(event);
  }
};

haveSelectedFunction.bfx = haveSelectedFunction.fx.bindAsEventListener(haveSelectedFunction);


/*
*
*/
function setSelect()
{
    var s = document.getElementsByTagName('select');
    for (var i=0; i<s.length; i++)
    {
    	//on enleve l'evt au cas ou il y soit deja (http://prototypejs.org/api/event/stopObserving)
    	Event.stopObserving(s[i], 'change', this.haveSelectedFunction.bfx);
    	Event.observe(s[i], 'change', this.haveSelectedFunction.bfx);
    }
} // setSelect


/*
 * Action onSelect
 */
function haveSelected(event)
{
	var elt = event.element();
	eltSelected = elt.selectedIndex;

	// s'il existe un select dépendant de celui-ci, on va le mettre à jour(bonnes options)
	var idSelect = document.getElementById(elt.id + '_sub_' + eltSelected); //-> id_sub_XX
	var idDefault = document.getElementById(elt.id + '_sub'); //-> id_sub

	if(elt.id.search('_sub_') != -1 ) //special : select dependant d'un autre
	{
		var varId = elt.id.split('_');
		var varId = document.getElementById(varId[0] + '_selected'); //-> id_selected
		varId.value = elt.value;
	}
	else
	{
		//var varId = elt.id.split('_');
		var varId = document.getElementById(elt.id + '_selected'); //-> id_selected
		if (varId)
		{
			varId.value = 0;
		}	
	}

	if (idSelect)
	{
		//récupération du bon select
		//updateBlock('div_' + elt.id,'page.php','fichier=select&select=' + idSelect.id + '&id=' + eltSelected,'get',null);

		 //on cache idDefault par sécurité
		 if (idDefault)
		 {
		 	idDefault.style.display = 'none';
		 }

		//lequel est montré ?
		var subSelected = document.getElementById(elt.id + '_sub_selected'); //-> id_sub_selected
		var subShown = document.getElementById(elt.id + '_sub_' + subSelected.value); //-> id_sub

		//on le cache
		subShown.style.display = 'none';
		subShown.value = 0;

		//on montre celui selectionné
		idSelect.style.display = '';
		if (eltSelected == 0)
		{
			idSelect.disabled = 'disabled';
		}

		//on memorise celui selectionne
		subSelected.value = eltSelected;
	}
	
    // cas particulier de la liste des pseudos reserves
	if (elt.id == 'mesPseudos' || elt.id == 'mesPseudosSmall')
	{
		var expression = new RegExp('^[0-9a-f]{36}$',"g");
		if (expression.test(elt.value) == false) //pseudo deja en BD
		{
			updateBlock('pseudoConnecte','page.php','fichier=pseudo_connecte','post','pseudosForm');
			updateBlock('affichePseudo','page.php','fichier=pseudo_reserved','post','pseudosForm');
			updateBlock('div_mesPseudos','page.php','fichier=module_my_tchat','post','pseudosForm');
			if (elt.id == 'mesPseudosSmall')
			{
				updateBlock('menuList','page.php','fichier=menu_my_tchat&echo=yes','post','pseudosForm');
			}
		}
		else //pseudo pas en BD, on redirige vers index en indiquand le pseudo chois
		{
			//c'est dans main.php que le pseudo sera ajouté en BD et redirigé vers CGU service
			window.location = '/index.php?mesPseudos=' + elt.value;
		}
	}
	
	//cas particulier plus d'action du cartouche
	if (elt.id == 'plusAction')
	{
		if(elt.value != 'noAction')
		{
			window.location = elt.value;			
		}
	}

	// cas particulier du select de nombre de notes par pages
	if (elt.id == 'nbByPage')
	{
		updateBlock('col1Full','page.php','fichier=my_tchat_notes','post','formNotes');
	}
	
	// cas particulier des communautés
	if (elt.id == 'communaute' || elt.id.substring(0,15) == 'communaute_sub_')
	{
		updateBlock('col1Full','page.php','submit=submit&fichier=salons','post','search');
	}
	
	// cas particulier des trombis
	if (elt.id == 'sexe' || elt.id == 'age')
	{
		updateBlock('col1Full','page.php','submit=submit&fichier=trombi','post','search');
	}

	//setSelect();

} // haveSelected
