function fp_frm_ordenar_gettxt(idgen){
	numelem=fp_get_valor_input(idgen + "[numelem]");
	var elemcont=new Array(numelem);
	for (i=0;i<numelem;i++){
		var itemn=String(i+1);
		elemcont[i]=fp_get_contenido(idgen + "[elem][" + itemn + "]");
		//alert (elemcont[i]);
	}
	return elemcont;
	
}
function fp_frm_ordenar_reordenardatos(idgen){
	var elemorigid=fp_frm_ordenar_getids(idgen);
	for (i=0;i<elemorigid.length;i++){
		var itemn=String(i+1);
		var itemidordendato =idgen + "[ordenval][" + elemorigid[i] + "]";
		fp_setvalue(itemidordendato,itemn);
	}

}
function fp_frm_ordenar_getids(idgen){
	numelem=fp_get_valor_input(idgen + "[numelem]");
	var elemcont=new Array(numelem);
	for (i=0;i<numelem;i++){
		var itemn=String(i+1);
		elemcont[i]=fp_get_valor_input(idgen + "[orden][" + itemn + "]");
		//alert (elemcont[i]);
	}
	return elemcont;
	
}

function fp_frm_ordenar_doitem(idgen,itemn){
	var moviendo=parseInt(fp_get_valor_input(idgen + "[moviendo]"));
	//alert (moviemdo);
	if (moviendo>0){
		var moviendoint=parseInt(moviendo)-1;
		var itemnint=parseInt(itemn)-1;
		fp_setvalue(idgen + "[moviendo]",0);
		fp_hide(idgen + "[mover]");
		if (itemnint==moviendoint){
			return false;	
		}
		var elemorigtxt=fp_frm_ordenar_gettxt(idgen);
		var elemorigid=fp_frm_ordenar_getids(idgen);
		
		if (itemnint>moviendoint){
			fp_frm_ordenar_asignarval(idgen,itemnint,elemorigtxt[moviendoint],elemorigid[moviendoint]);
			var inicio=moviendoint;
			var fin=itemnint -1 ;
			var npos=+1;
		}else{
			fp_frm_ordenar_asignarval(idgen,itemnint,elemorigtxt[moviendoint],elemorigid[moviendoint]);
			var inicio=itemnint+1;
			var fin=moviendoint;
			var npos=-1;
		}
		
		for (i=inicio;i<=fin;i++){
			var indexn= i + npos;
			fp_frm_ordenar_asignarval(idgen,i,elemorigtxt[indexn],elemorigid[indexn]);
		}
		fp_frm_ordenar_reordenardatos(idgen);
	}else{
		fp_setvalue(idgen + "[moviendo]",itemn);
		fp_modificar_contenido(idgen + "[mover]",fp_get_contenido(idgen + "[elem][" + itemn + "]"));
		fp_show(idgen + "[mover]");
	}
}
function fp_frm_ordenar_asignarval(idgen,itemnint,html,norden){
	var itemn =String(itemnint +1 );
	var itemid =idgen + "[elem][" + itemn + "]";
	fp_modificar_contenido(itemid ,html);
	var itemidorden =idgen + "[orden][" + itemn + "]";
	fp_setvalue(itemidorden,norden);

}

