function getListeSelected(nom)
{
	var selectedList = new Array();
	var selectBox = $(nom);
	for(var i=0; i < selectBox.options.length; i++)
	{
		if(selectBox.options[i].selected)
			selectedList.push(selectBox.options[i].value);
	}
	return selectedList;
}

function getFirstSelected(nom)
{
	var selected = '';
	var selectBox = $(nom);
	for(var i=0; i < selectBox.options.length; i++)
	{
		if(selectBox.options[i].selected)
		{
			selected = selectBox.options[i].value;
			break;
		}
	}
	return selected;
}
//Recupere les elements ayant une classe donnée (on peut préciser le genre de tag et le contenu dans lequel recherché) 
function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|s)" + className + "(s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function array_search( needle, haystack, argStrict ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Brett Zamir
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: array_search('zonneveld', {firstname: 'kevin', middle: 'van', surname: 'zonneveld'});
    // *     returns 1: 'surname'
 
    var strict = !!argStrict;
    var key = '';
 
    for(key in haystack){
        if( (strict && haystack[key] === needle) || (!strict && haystack[key] == needle) ){
            return key;
        }
    }
 
    return false;
}
function goReglette(lr)
{
	lr.onclick = function(){
		var valbloc = lr.id.replace('offset:', '');
		var tab = valbloc.split(':');
		var nombloc = tab[0];
		var en_cours = $('reglette_encours:'+nombloc);
		var tpl = $('template:'+nombloc);
		if(document.getElementById('postsupp:'+nombloc))
		{
			var postsupp = $('postsupp:'+nombloc).value;
			var tabpost = postsupp.split('|');
			postsupp = "";
			for(var i = 0; i < tabpost.length; i++)
				postsupp += '&'+tabpost[i];
		}
		else
			postsupp = "";
		if(document.getElementById('getsupp:'+nombloc))
		{
			var getsupp = $('getsupp:'+nombloc).value;
			var tabget = getsupp.split('|');
			getsupp = "";
			for(var i = 0; i < tabget.length; i++)
				getsupp += '&'+tabget[i];
		}
		else
			getsupp = "";
		var offset = tab[1];
		var bloc = $('contenu_reglette:'+nombloc);
		var attente = $('loading_reglette:'+nombloc);
		if(en_cours.value == '1')
			return;
		
		en_cours.value = '1';
		
		new Effect.Appear(attente, {queue:'front', afterFinish: function(){attente.scrollTo();}});
		var url_aff = siteencours+'module/ajax/index.php?module=affichagemoteur&offset='+offset+getsupp;
			new Ajax.Request(url_aff, {
				asynchronous: 'true',
				postBody: 'tpl='+tpl.value+postsupp,
				onComplete: function (ahr)
				{
					new Effect.SlideUp(bloc, {queue:'front', afterFinish: function(){bloc.innerHTML = ahr.responseText;}});
					new Effect.SlideDown(bloc, {queue:'end'});
					new Effect.SwitchOff(attente, {queue:'end', afterFinish: function(){en_cours.value = '0'; Behaviour.apply(); ParseSortable(bloc);}});
				}
			});
	}
}

function ParseSortable(bloc)
{
	var tabTable = bloc.select('table.sortable');
	for(var i = 0; i < tabTable.length; i++)
	{
		var table = tabTable[i];
		sorttable.makeSortable(table);
	}
}