Module_Finder = {}
Part_Module_Finder = 1
Selecteur_Module_Finder = 1
Selecteur_Module_Finder_Selection = Selecteur_Module_Finder
PosY__Module__Finder = MACXT_Barre1:height() - MACXT_Barre1:height() - Big_Bottom_MACXT:height() - Big_Left_MACXT:height() - Big_Top_Finder_MACXT:height()
PosY_Selecteur_Module_Finder = MACXT_Barre1:height() + 40
Run__Module__Finder = 0
function Module_Finder:Afficher_Finder_Module()
   screen:blit(20,PosY__Module__Finder,Big_Top_Finder_MACXT,20,8,Big_Top_Finder_MACXT:width() - 2*20,Big_Top_Finder_MACXT:height() - 8)
   screen:blit(0,PosY__Module__Finder + Big_Top_Finder_MACXT:height()-8,Big_Left_MACXT)
   screen:blit(480-Big_Right_MACXT:width(),PosY__Module__Finder + Big_Top_Finder_MACXT:height()-8,Big_Right_MACXT)
   screen:blit(0,PosY__Module__Finder+Big_Top_Finder_MACXT:height()-8+Big_Left_MACXT:height(),Big_Bottom_MACXT)
   screen:blit(Big_Left_MACXT:width(),PosY__Module__Finder+Big_Top_Finder_MACXT:height()-8,Sprite_Blanc_MACXT,0,0,480-2*Big_Left_MACXT:width(),Big_Left_MACXT:height())
   screen:blit(330,PosY__Module__Finder+Big_Top_Finder_MACXT:height()-8,Big_Right_MACXT)
   Nom_Ok = "OK"
   Nom_Annuler = "Annuler"
   screen:print(90,PosY__Module__Finder+160,Nom_Ok)
   screen:print(300,PosY__Module__Finder+159,Nom_Annuler)
   screen:print(480/2-string.len(System.currentDirectory())*8.5/2,PosY__Module__Finder+8,System.currentDirectory())
end
function Module_Finder:Afficher__Fichiers__Module__Finder()
   PosY__Fichiers__Module__Finder = PosY__Module__Finder + 30
   for Finder_Module=Part_Module_Finder,Part_Module_Finder + 5 do
      if Finder_Module == n_Fichiers_Finder + 1 then break end
         if string.len(Fichiers_Finder[Finder_Module].name) > 34 then
            File_Module_Finder = string.sub(Fichiers_Finder[Finder_Module].name,0,31).."..."
          else
            File_Module_Finder = Fichiers_Finder[Finder_Module].name
         end
         if string.len(Fichiers_Finder[Selecteur_Module_Finder].name) > 34 then
            File_Module_Finder_Selecteur = string.sub(Fichiers_Finder[Selecteur_Module_Finder].name,0,31).."..."
          else
            File_Module_Finder_Selecteur = Fichiers_Finder[Selecteur_Module_Finder].name
         end
         if Fichiers_Finder[Finder_Module].directory == true then
            longueur = string.len(Fichiers_Finder[Finder_Module].name)
            screen:blit(Big_Left_MACXT:width() + 5,PosY__Fichiers__Module__Finder,ImgDir__MACXT)
            screen:print(Big_Left_MACXT:width() +ImgDir__MACXT:width() + 10,PosY__Fichiers__Module__Finder+3,File_Module_Finder)
          else
            longueur = string.len(Fichiers_Finder[Finder_Module].name)
            Nom_Module_Finder = string.sub(Fichiers_Finder[Finder_Module].name,longueur - 3)
            screen:blit(Big_Left_MACXT:width() + 5,PosY__Fichiers__Module__Finder,File_Logo_MACXT)
            if Nom_Module_Finder == ".MP3" or Nom_Module_Finder == ".mp3" then
               screen:blit(Big_Left_MACXT:width() + 5,PosY__Fichiers__Module__Finder,Logo_Itunes_MACXT)
            end
            if Nom_Module_Finder == ".png" or Nom_Module_Finder == ".PNG" or Nom_Module_Finder == ".jpg" or Nom_Module_Finder == ".JPG" then
               screen:blit(Big_Left_MACXT:width() + 2,PosY__Fichiers__Module__Finder,Picture_Logo_MACXT)
            end
            if Nom_Extension then
               screen:print(340,60,"Type : ")
               screen:print(340,80,"Fichier "..Nom_Extension)
            end
         end
      screen:print(Big_Left_MACXT:width() +ImgDir__MACXT:width() + 10,PosY__Fichiers__Module__Finder+3,File_Module_Finder)
      PosY__Fichiers__Module__Finder = PosY__Fichiers__Module__Finder + 20
   end
end
function Module_Finder:Entrer__Finder__Module()
   screen.waitVblankStart(10)
   if Fichiers_Finder[Selecteur_Module_Finder].directory == true then
      System.currentDirectory(System.currentDirectory().."/"..Fichiers_Finder[Selecteur_Module_Finder].name)
      Fichiers_Finder = nil
      Fichiers_Finder = System.listDirectory()
      n_Fichiers_Finder = nil
      n_Fichiers_Finder = table.getn(Fichiers_Finder)
      Part_Module_Finder = 1
      Selecteur_Module_Finder = 1
      PosY_Selecteur_Module_Finder = MACXT_Barre1:height() + 40
      Selecteur_Module_Finder_Selection = Selecteur_Module_Finder
      Selection_Fichier_Module = 0
    else
      longueur = string.len(Fichiers_Finder[Selecteur_Module_Finder].name)
      Nom_Module_Finder = string.sub(Fichiers_Finder[Selecteur_Module_Finder].name,longueur - 3)
      Nom_Extension = string.sub(Nom_Fichier_Selected,longueur - 3)
      Nom_Fichier_Charger_Module_Finder = Fichiers_Finder[Selecteur_Module_Finder_Selection].name
      Selection_Fichier_Module = 1
   end
   if Entrer_Fichier_Selectionne == 1 then
      if boot and boot == "Just_Selectionne" then
         File_Selected_ = io.open(System.currentDirectory().."/"..Nom_Fichier_Charger_Module_Finder,"r")
         File_Selected__ = File_Selected_:read("*a")
         File_Selected_:close()
         Run__Module__Finder = 0
         Nom_Extension = nil
         Entrer_Fichier_Selectionne = 0
         boot = ""
      end
      if Gextension and Pextension then
         if Nom_Module_Finder == Gextension or Nom_Module_Finder == Pextension then
            if boot then
               Loaded = boot(System.currentDirectory().."/"..Nom_Fichier_Charger_Module_Finder)
               Entrer_Fichier_Selectionne = 0
               Run__Module__Finder = 0
               Nom_Extension = nil
            end
         end
      end
      if Extension == ".png" then
         if Nom_Module_Finder == ".png" or Nom_Module_Finder == ".PNG" or Nom_Module_Finder == ".jpg" or Nom_Module_Finder == ".JPG" then
            Image_Loaded = Image.load(System.currentDirectory().."/"..Nom_Fichier_Charger_Module_Finder)
            Entrer_Fichier_Selectionne = 0
            Run__Module__Finder = 0
            Nom_Extension = nil
         end
      end
      if Extension == ".mp3" then
         if Nom_Module_Finder == ".mp3" or Nom_Module_Finder == ".MP3" then
            Mp3me.stop()
            Mp3me.load(Nom_Fichier_Charger_Module_Finder)
            Mp3me.play()
            Annee_Music = Mp3me.year()
            Titre_Music = Mp3me.title()
            Artiste_Music = Mp3me.artist()
            Album_Music = Mp3me.album()
            Genre_Music = Mp3me.genre()
            Nom_Loaded_MP3 = Nom_Fichier_Charger_Module_Finder
            Player = 1
            Entrer_Fichier_Selectionne = 0
            Run__Module__Finder = 0
            Nom_Extension = nil
         end
      end
	  Other_Process = 0
   end
end
function Module_Finder:Init_Finder_Module()
   if Finder_Module_Directory ~= nil then
      System.currentDirectory(Finder_Module_Directory)
    else
      Finder_Module_Directory = "ms0:/"
      System.currentDirectory(Finder_Module_Directory)
   end
   Fichiers_Finder = nil
   Fichiers_Finder = System.listDirectory()
   n_Fichiers_Finder = table.getn(Fichiers_Finder)
   Part_Module_Finder = 1
   Selecteur_Module_Finder = 1
   PosY_Selecteur_Module_Finder = MACXT_Barre1:height() + 40
   Selecteur_Module_Finder_Selection = Selecteur_Module_Finder
   Selection_Fichier_Module = 0
   Selection_Fichier_Module = 0
   Run__Module__Finder = 1
   Module_Finder:Run__Finder()
end
function Module_Finder:Run__Finder2()
   Module_Finder:Run__Finder()
end
function Module_Finder:Run__Finder()
   Module_Finder:Afficher_Finder_Module()
   if Run__Module__Finder ~= 1 then
      if PosY__Module__Finder > MACXT_Barre1:height() - MACXT_Barre1:height() - Big_Bottom_MACXT:height() - Big_Left_MACXT:height() - Big_Top_Finder_MACXT:height() then
         PosY__Module__Finder = PosY__Module__Finder - 7
      end
   end
   if Run__Module__Finder == 1 then
      Other_Process = 1
      if PosY__Module__Finder < MACXT_Barre1:height() then
         PosY__Module__Finder = PosY__Module__Finder + 7
      end
      Module_Finder:Afficher__Fichiers__Module__Finder()
      if x >= Big_Left_MACXT:width() and x <= 480-2*Big_Left_MACXT:width() and y >= PosY__Module__Finder+25 and y <= PosY__Module__Finder+13+Big_Left_MACXT:height() then
         if y >PosY_Selecteur_Module_Finder and Selecteur_Module_Finder < n_Fichiers_Finder then
            PosY_Selecteur_Module_Finder = PosY_Selecteur_Module_Finder + 20
            Selecteur_Module_Finder = Selecteur_Module_Finder + 1
         end
         if y < PosY_Selecteur_Module_Finder - 10 and Selecteur_Module_Finder > 1 then
            PosY_Selecteur_Module_Finder = PosY_Selecteur_Module_Finder - 20
            Selecteur_Module_Finder = Selecteur_Module_Finder - 1
         end
         if MACXTKeyPad:cross() then
            Module_Finder:Entrer__Finder__Module()
         end
         if MACXTKeyPad:l() then
            if Part_Module_Finder > 1 then
               Part_Module_Finder = Part_Module_Finder - 1
               Selecteur_Module_Finder = Selecteur_Module_Finder - 1
               Selection_Fichier_Module = 0
            end
         end
         if MACXTKeyPad:r() then
            if Part_Module_Finder < n_Fichiers_Finder - 5 then
               Part_Module_Finder = Part_Module_Finder + 1
               Selecteur_Module_Finder = Selecteur_Module_Finder + 1
               Selection_Fichier_Module = 0
            end
         end
         if Selection_Fichier_Module ~= 1 then
            Selecteur_Module_Finder_Selection = Selecteur_Module_Finder
            PosY_Selecteur_Module_Finder_Selection = PosY_Selecteur_Module_Finder
			if string.len(Fichiers_Finder[Selecteur_Module_Finder].name) > 34 then
               Nom_Fichier_Selected = string.sub(Fichiers_Finder[Selecteur_Module_Finder].name,0,31).."..."
			 else
			   Nom_Fichier_Selected = Fichiers_Finder[Selecteur_Module_Finder].name
			end
            Nom_Extension = nil
         end
         if y < PosY_Selecteur_Module_Finder_Selection-5 or y > PosY_Selecteur_Module_Finder_Selection-5+10 then
            if MACXTKeyPad:cross() then
               Selection_Fichier_Module = 0
            end
         end
         if string.len(Fichiers_Finder[Selecteur_Module_Finder].name) < 34 then
            screen:fillRect(50,PosY_Selecteur_Module_Finder-2,string.len(Fichiers_Finder[Selecteur_Module_Finder].name)*8.5,10,Color.new(0,0,255))
          else
            screen:fillRect(50,PosY_Selecteur_Module_Finder-2,280,10,Color.new(0,0,255))
         end
         screen:print(Big_Left_MACXT:width() +ImgDir__MACXT:width() + 10,PosY_Selecteur_Module_Finder,File_Module_Finder_Selecteur,Color.new(255,255,255))
         if Nom_Dossier then
            screen:print(10,250,Nom_Dossier)
         end
      end
      if Selection_Fichier_Module == 1 then
         screen:fillRect(Big_Left_MACXT:width() +ImgDir__MACXT:width() + 8,PosY_Selecteur_Module_Finder_Selection-2,string.len(Nom_Fichier_Charger_Module_Finder)*8,10,Color.new(0,0,255))
         screen:print(Big_Left_MACXT:width() +ImgDir__MACXT:width() + 10,PosY_Selecteur_Module_Finder_Selection-1,Nom_Fichier_Charger_Module_Finder,Color.new(255,255,255))
         if x >= 90 and x <= 90+string.len(Nom_Ok)*8.5 and y >= 184 and y <= 198 then
            MACXTAide = "OK"
            if MACXTKeyPad:cross() then
               Entrer_Fichier_Selectionne = 1
               Module_Finder:Entrer__Finder__Module()
            end
         end
      end
      if x >= 300 and x <= 300+string.len(Nom_Annuler)*8.5 and y >= 184 and y <= 198 then
         MACXTAide = "Annuler"
         if MACXTKeyPad:cross() then
		    Other_Process = 0
            Run__Module__Finder = 0
            Selection_Fichier_Module = 0
            Nom_Extension = nil
         end
      end
   end
end
