#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
require 'csv'

def hyouzi(file,x,y)
  #spawn(sprintf("display -geometry +%d+%d %s",x,y,file))
  system("img2sixel #{file}")
end
while true
  #system("clear")
  print("\e[2J\e[1;1H")
  puts("洗濯表示の辞書です。")
  sleep(1)
  while true
    #system("clear")
    print("\e[2J\e[1;1H")
    csv=CSV.read("landry_dic.csv", :headers => true )
    landry_a=["洗い方","漂白","乾燥","アイロン","クリーニング"]
    puts("どっちを表示しますか?(数字で回答)")
    puts("\n1.洗濯表示画像一覧")
    puts("\n2.洗濯表示種類別検索")
    print(">>")
    ans_first=gets.to_i
    if ans_first==1
      #system("clear")
      print("\e[2J\e[1;1H")
      landry_a.length.times do |a|
        csv=CSV.read("landry_dic.csv", :headers => true )
        kyuu=0
        sin=0
        puts("<#{landry_a[a]}>")
        csv.delete_if{|s| s["syurui"]!=landry_a[a]}.each do |r|
          if r["gazou"][0]=="k"
            print("\e[#{(a*2)*6+2};#{kyuu*12}H")
            kyuu+=1
          else
            print("\e[#{(a*2+1)*6+2};#{sin*12}H")
            sin+=1
          end
          system("img2sixel #{r["gazou"]}")
        end
        puts("\e[#{(a*2+2)*6};1H")
      end
      print(">>")
      gets
      
    elsif ans_first==2
      
      while true
        system("clear")
        puts("\n見たい洗濯表示の種類を次のうちから選んでください(数字で回答)。")
        puts("\n1.洗い方")
        puts("\n2.漂白")
        puts("\n3.乾燥")
        puts("\n4.アイロン")
        puts("\n5.クリーニング")
        print(">>")
        ans_2=gets.to_i-1
        (puts("もう一度回答してください。");redo) if ans_2>=5
        puts("<「#{landry_a[ans_2]}」の洗濯表示>")
        num=0
        csv.delete_if{|s| s["syurui"]!=landry_a[ans_2]}.each do |r|
          print(num%2==0 ? "\n" : "\e[4A" )
          system("img2sixel #{r["gazou"]}")
          print("#{r["imi"]}(#{(r["gazou"][0]=="k") ? ("旧") : ("新")})\e[100G")
          num+=1
        end
        print(">>")
        gets
        break
      end
      break
    else
      puts("もう一度回答してください。")
      sleep(0.5)
      redo
    end
  end
end
