function count(tab)
{
	if(tab)
		return tab.length;
}
function explode(separateur,chaine)
{
	if(chaine)
		return chaine.split(separateur);
}
function str_replace(caratere_recherche,caractere_remplacer,chaine)
{
	var reg=new RegExp("["+caratere_recherche+"]", "g");
	return chaine.replace(reg,caractere_remplacer);
}
function is_array(tab)
{
	if(typeof tab=='array')
		return 1;
	else
		return 0;
}
function left(txt,nb)
{
	return txt.substr(0,nb);
}
function right(txt,nb)
{
	return txt.substr(txt.length-nb,nb);
}
function rogneleft(txt,nb)
{
	return txt.substr(nb,txt.length);
}
function rogneright(txt,nb)
{
	return txt.substr(0,txt.length-nb);
}
function unset(array, index)
{
	var output=[];
	for(var i in array){
		if (i!=index)
			output[i]=array[i];
	}
	return output;
}
function ID(id)
{
    return document.getElementById(id);
}
function addParam(t,key,val){
	if(typeof(val)=='undefined')
		val='';	
	var tmp = new Array(key,val);
	t.push(tmp);
	
	return t;
}
function make_string(tab)
{
	var str='';
	for(var i=0;i<tab.length;i++)
	{
		str += tab[i][0]+'='+tab[i][1];
		if (i != (tab.length-1))
			str += '&';
	}
	return str;
}
function convertir_ajax_url(something)
{
	var ni_from = new Array('?','&','+','-','%','?','#');
	var ni_to = new Array('((interro))','((esperluette))','((plus))','((moins))','((pourcent))','((delta))','((diese))');
	
	if(typeof(something)!='undefined')
	{
		if(something.length>0)
		{
			for(var i=0;i<ni_from.length;i++)
				something = js_replace(something,ni_from[i],ni_to[i]);
		}
	}
	else 
		something = '';
	return something;
}
function js_replace(mavaleur,recherche,remplace)
{
	if(typeof(mavaleur)!='undefined')
	{
		if(mavaleur.length>0)
		{
			while(mavaleur.indexOf(recherche) >= 0)
			{
				mavaleur = mavaleur.replace(recherche,remplace);
			}
			return mavaleur;
		}
		return mavaleur;
	}
}
function get_height(element)
{
	return element.clientHeight;
}
var timeout_effet_block=new Array();
function effet_block(id,propriete,point_en_cours,point_arrivee,callback)
{
	if(eval('(ID(id).style.'+propriete+'!="")'))
	{
		eval('(point_en_cours=ID(id).style.'+propriete+')')
		point_en_cours=point_en_cours.replace('px','');
	}
	point_en_cours=point_en_cours*1;
	var temps=5;
	var pas=30;
	
	//if(id == 'liste_familles') // schema
	//	pas=5;
	
	if(point_en_cours!=point_arrivee)
	{
		var distance_restante=point_arrivee-point_en_cours;
		var distance_deplace=distance_restante/Math.abs(distance_restante)*Math.min(Math.abs(pas),Math.abs(distance_restante));
		
		eval('(ID(id).style.'+propriete+'=point_en_cours+distance_deplace+"px")');
		point_en_cours=(point_en_cours*1)+(distance_deplace*1);
		clearTimeout(timeout_effet_block[id]);
		timeout_effet_block[id]=setTimeout("effet_block('"+id+"','"+propriete+"',"+point_en_cours+",'"+point_arrivee+"','"+callback+"')",temps);
	}
	else
	{
		if(typeof(callback)!='undefined')
		{
			eval(callback);
		}
		clearTimeout(timeout_effet_block[id]);
	}
}
function hauteur_menu()
{
	if(get_height(ID('menu_gauche'))<get_height(ID('contenu')))
		ID('menu_gauche').style.minHeight=get_height(ID('contenu'))+"px";
}
function getElementsByClassName(className)
{
	return getSousElementsByClassName(document,className);
}
function getSousElementsByClassName(elt,className,tag)
{
	if(typeof(tag)=='undefined')
		var elts=elt.getElementsByTagName('*');
	else
		var elts=elt.getElementsByTagName(tag);
	var classArray=new Array();
	for(var j=0;j<elts.length;++j)
	{
		if(fcthasClass(elts[j],className))
			classArray.push(elts[j]);
	}
	return classArray;
}
function fcthasClass(element,className)
{
  return ( 
    element.className && 
    element.className.match( new RegExp( "\\b"+className+"\\b" ) ) 
  ) ? true : false;
}
