//	QuimiNet.com
function ordInfo(id_contenedor, id_campo_info, prefijo_id_info, sentido)//sentido, true: ascendente, false: el otro;
{
	var obj_contenedor = document.getElementById(id_contenedor);
	var obj_campo_info = document.getElementById(id_campo_info);
	var val_ap;
	var perfijo_id_info_= new String(prefijo_id_info);
	var nuevo_inner= new String();
	var obj_div_info= false;
	var obj_div_cont_ap= false;
	var io=0;
	var arr_orden_info= new Array();
	var arrayOrden_= new Array();
	var arr_ap= new Array();
	var sig_indice=0;
	if( !id_contenedor || !obj_campo_info || perfijo_id_info_.length<=0 )
	{
		//alert('id_contenedor='+id_contenedor+' , obj_campo_info='+obj_campo_info+' , perfijo_id_info_.length='+perfijo_id_info_.length);
		alert(leyenda['error_ordenador']);
		return;
	}
	val_ap= new String(obj_campo_info.value);
	if( val_ap.length<=0 )
		return;

	arr_ap= val_ap.split('O');
	if( arr_ap.length<=0 )
		return;
	
	for(io in arr_ap)
	{
		obj_div_info= document.getElementById(perfijo_id_info_+arr_ap[io]);
		if( typeof obj_div_info=='undefined' ) continue;
		sig_indice= io;
		arr_orden_info[sig_indice]= parseInt(obj_div_info.innerHTML);
		
		arrayOrden_[sig_indice]= sig_indice;
	}
	if( sentido )
		procesoQSAscNum(arr_orden_info,0,arr_orden_info.length-1,arrayOrden_);
	else
		procesoQSDescNum(arr_orden_info,0,arr_orden_info.length-1,arrayOrden_);
	
	var lim= arrayOrden_.length;
	for(io=0; io<lim; io++)
	{
		if( typeof arr_ap[arrayOrden_[io]]=='undefined' ) continue;

		obj_div_cont_ap= document.getElementById('ap_'+arr_ap[arrayOrden_[io]]);
		
		if( !obj_div_cont_ap || !obj_div_cont_ap.innerHTML ) continue;

		nuevo_inner+= '\n\t\t\t\t<div id="ap_'+arr_ap[arrayOrden_[io]]+'" class="'+ordInfoClase+'">\n\t\t\t\t'+obj_div_cont_ap.innerHTML+'\n\t\t\t\t</div>\n';
	}
	if( nuevo_inner!='' )
		obj_contenedor.innerHTML= nuevo_inner;
}
function procesoQSAscNum(arrayDatos,ini,fin,arrayOrden)
{
	var i = ini;
	var j = fin;
	var tmp;
	var c = arrayDatos[ arrayOrden[Math.floor( ( i + j ) / 2 )] ];	//	elemento pivote, referencia de comparación
	
	do
	{
		while ( ( i < fin ) && ( c > arrayDatos[ arrayOrden[i] ] ) ) i++;
		while ( ( j > ini ) && ( c < arrayDatos[ arrayOrden[j] ] ) ) j--;
		if ( i < j )
		{
			tmp = arrayOrden[i];
			arrayOrden[i] = arrayOrden[j];
			arrayOrden[j] = tmp;
		}
		if ( i <= j )
		{
			i++;
			j--;
		}
	}
	while ( i <= j );
	if ( ini < j ) procesoQSAscNum(arrayDatos, ini,j, arrayOrden);
	if ( i < fin ) procesoQSAscNum(arrayDatos, i,fin, arrayOrden);
}
function procesoQSDescNum(arrayDatos,ini,fin, arrayOrden)
{
	var i = ini;
	var j = fin;
	var tmp;
	var c = arrayDatos[ arrayOrden[Math.floor( ( i + j ) / 2 )] ];
	
	do
	{
		while ( ( i < fin ) && ( c < arrayDatos[ arrayOrden[i] ] ) ) i++;
		while ( ( j > ini ) && ( c > arrayDatos[ arrayOrden[j] ] ) ) j--;
		if ( i < j )
		{
			tmp = arrayOrden[i];
			arrayOrden[i] = arrayOrden[j];
			arrayOrden[j] = tmp;
		}
		if ( i <= j )
		{
			i++;
			j--;
		}
	}
	while ( i <= j );
	if ( ini < j ) procesoQSDescNum(arrayDatos,ini,j, arrayOrden);
	if ( i < fin ) procesoQSDescNum(arrayDatos,i,fin, arrayOrden);
}