#!/usr/bin/ruby
require 'cgi'
require 'open-uri'

class Cidian
  def initialize
    @cidian = File.read("../../data/no/data/no")
    @nozh = File.read("../../data/no/data/nozh")
    @wiki = File.read("../../data/no/data/nowiki")
  end

  def getword(sousuo, maxhits)
    maxhits = maxhits - 1
    out = ""

    #### han nuo #####
    jishuqi = 0; temp = ''
    @cidian.each do |line|
      fanti,jianti,cileif,cileij,nuoweiyu=line.split("\t")
      jingsou = fanti + "\t" + jianti + "\t" + nuoweiyu + "\n"
      shuzu = []
      nuoweiyu.split(", ").each do |dingyi|
        shuzu.push('<a style="color:#008000; text-decoration:none" href="http://kaifangcidian.com/waiyu/nuo/nuonuo/' + dingyi + '">' + dingyi + '</a>')
      end
      if jingsou.downcase.match(sousuo.downcase)
        temp << '<tr class="hei"><td><a style="color:#0000FF" href="http://kaifangcidian.com/han/han/sousuo-jt.cgi?redir=' + jianti + '.html">' + jianti + '</a></td><td>' + fanti + "</td><td>" + cileij + "</td><td>" + shuzu.join(", ") + "</td><td>" + "</td></tr>"
        if jianti == "" then jishuqi += 0 else jishuqi += 1
          break if jishuqi > maxhits
        end
      end
    end
    if jishuqi > 0 then out << "<h2>Kinesisk-norsk ordbok</h2><table>" << temp << "</table>"
    end

    ###### nuo han #####
    jishuqi = 0; temp = ''
    @nozh.each do |line|
      nuoweiyu,cileif,cileij,fanti,jianti=line.split("\t")
      jingsou = nuoweiyu + "\t" + fanti + "\t" + jianti + "\n"
      shuzu = []
      jianti.split("，").each do |dingyi|
        shuzu.push('<a style="color:#0000FF" href="/han/han/sousuo-jt.cgi?redir=' + dingyi + '.html">' + dingyi + '</a>')
      end
      if jingsou.downcase.match(sousuo.downcase)
        temp << '<tr class="hei"><td><a style="color:green; text-decoration:none" href="/waiyu/nuo/nuonuo/' + nuoweiyu + '">' + nuoweiyu + "</a></td><td>" + cileij + "</td><td>" + shuzu.join("，") + "</td><td>" + fanti + "</td><td>" + "</td></tr>"
        if nuoweiyu == "" then jishuqi += 0 else jishuqi += 1
          break if jishuqi > maxhits
        end
      end
    end
    if jishuqi > 0 then out << "<h2>Norsk-kinesisk ordbok</h2><table>" << temp << "</table>"
    end


    ##### weiji #######
    jishuqi = 0 ; temp = ''
    @wiki.each do |line|
      if line.downcase.match(sousuo.downcase)
        jianti,fanti,nuoweiyu=line.split("\t")
        temp << '<tr class="hei"><td><img src="http://kaifangcidian.com/tupian/weiji.gif" width="24" height="24" alt="维基百科" title="维基百科">'
        temp << '</td><td><a style="color:#808080; text-decoration:none" href="http://zh.wikipedia.org/wiki/' + jianti + '">' + jianti 
        temp << '</a></td><td><a style="color:#808080; text-decoration:none" href="http://no.wikipedia.org/wiki/' + nuoweiyu + '">' + nuoweiyu
        temp << '</a></td></tr>'
        if jianti == "" then jishuqi += 0 else jishuqi += 1
          break if jishuqi > maxhits
        end
      end
    end
    if jishuqi > 0 then out << '<h2>Wikiordbok</h2><table>' << temp << "</table>"
    end

    ####### luntan #######
    luntan = CGI::escape("#{sousuo}")
    jieguo = ''
    ltsou = open("http://kaifangcidian.com/luntan/search.php?keywords=" + luntan + "&terms=all&author=&f=3&sc=1&sf=all&sr=posts&sk=t&sd=d&st=0&ch=100&t=0&submit=")
    jieguo = ltsou.read.scan(/\<dd\>主题: (.*?)\<\/dd\>/)

    unless jieguo == []
      then
      out << '<h2>Åpne ordbok forumet</h2>'
      out << "<li>" + jieguo.join("</li>\n<li>").gsub('./viewtopic', '/luntan/viewtopic')
      out << '</li><li><b><a style="color:#808080;" href="http://kaifangcidian.com/luntan/search.php?keywords=' + sousuo 
      out << '&terms=all&author=&f=3&sc=1&sf=all&sr=posts&sk=t&sd=d&st=0&ch=300&t=0&submit=搜索">⇨ se flere innlegg om ' + sousuo + '…</a></b>'
    end
    return out
  end
end

puts "Content-Type: text/html; charset=utf-8\n\n"
cgi = CGI.new

letter = cgi['ord'].downcase
puts "<div id='article' title='#{letter}'>"
c = Cidian.new
puts c.getword(letter,5)
puts "</div>"

