var i,nbr,ici,SousLevel,Next:integer;
fdbt,fjmp:string;
dbt,jmp:string;
caption:string;
cssTitle,cssLink:string;
GlyphButton,HintButton:string;
memeLevel,HightLevel,AllLevel:boolean;
trouver,stylePopup,Popup,Button:boolean;
Notes:TStringList;
iNote,nNote,kNote:integer;
begin
Notes := TStringList.create;
Notes.Text := GetParam('Notes','');
nNote := Notes.count-1;

// notes permet de filtrer les rubriques en fonction du type de notes
// qu'elles possèdent (voir Mots clefs dans l'aide en ligne)
caption := GetParam('title','A suivre...');
memeLevel := GetParam('Level','')='This';
HightLevel := GetParam('Level','')='Hight';
AllLevel := GetParam('Level','')='All';
Popup := GetParam('Popup','')='true';
Button := GetParam('Button','true')='true';
Glyphbutton := GetParam('GlyphButton','suivant3.bmp');
HintButton := GetParam('HintButton','');
cssTitle := GetParam('CssTitre','');
if cssTitle<>'' then cssTitle := csstitle+'.';
cssLink := GetParam('CssLink','');
if cssLink<>'' then cssLink := csstitle+'.';
// récupérer le nombre total de rubriques
nbr := GetTopicCount;
// obtenir le numéro de la rubrique où est joué le script
ici:= GetNum;
// obtenir le niveau de la rubrique
SousLevel := GetLevelOf(ici);

if HightLevel then SousLevel := Souslevel-1; // trouver la prochaine de niveau supérieur

// si on est pas sur la dernière rubrique on peut travailler
if nbr>ici then
begin
// rechercher la rubrique suivante

// Rechercher la rubrique suivante de même niveau
i := ici+1; //debut des recherches, la rubrique suivante
Trouver := false;


while (i<=nbr)and(Trouver=false) do
begin
if AllLevel then TRouver := true else Trouver := GetLevelOf(i)=SousLevel;
if Trouver then
begin
stylePopup := IsPopup(i);
if Popup then Trouver:=(StylePopup=true) else Trouver:=(Stylepopup=false);
Next := i;
end;

// si trouver regarder si cela convient en fonction du paramètre Notes
if Trouver then
begin
for iNote:=0 to nNote do
begin
kNote := GetKeysNoteOf(i,Notes.Strings[iNote]);
if kNote>0 then Trouver:=false;
end;
Next := i;
end;

i:=i+1;
end;
end;
// masque pour le bouton
if button then
fdbt :='<<DBT(')>>+GlyphButton+<<FNT(STRING.-,-,-,-:'^')>>+HintButton+<<FNT(STRING.-,-,-,-:',JI(qchPath,`%s')>>+<<FNT(NUMBER.-,-,-,-:#39)>>+<<FNT(STRING.-,-,-,-:')|4,1,0)>>' else fdbt:='';
// masque pour le code
fjmp :='<<JMP(<<FNT(%s:%s)>>,%s)>>';
// on rempli les masque avec le Titre et le Nom de la rubrique suivante
dbt := format(fdbt,[GetTitreOf(Next)]);
jmp := format(fjmp,[cssLink,GetTitreOf(Next),GetNomOf(Next)]);
// On écrit le lien et on passe à la ligne
if next<>ici then Writeln('<<FNT(')>>+cssTitle+<<FNT(STRING.-,-,-,-:':')>>+caption+<<FNT(STRING.-,-,-,-:')>> '+dbt+' '+jmp);
end;
end;
Notes.free;
end.

Sommaire