module AttributeValuesHelper
  def show_west_calender(from_to=nil)
    case from_to
      when :to
        date = get_date(:to)
      when :from
        date = get_date(:from)
      when nil
        date = get_date
    end
    
    case self.attribute_field["typeC"]["format"]
      when 'format1' #  Y/M/D h:m
        date.strftime("%Y/%m/%d %H:%M")
      when 'format2' #  Y/M/D
        date.strftime("%Y/%m/%d")
      when 'format3' #  Y/M
        date.strftime("%Y/%m")
      when 'format4' #  Y
        date.strftime("%Y")
    end # of  case west cal format
  end

  def show_minguo_calendar(from_to=nil)
    get_minguo
    case from_to
      when :to
        date = get_date(:to)
      when :from
        date = get_date(:from)
      when nil
        date = get_date
    end
    year_str = ""
      unless date.year == 1912
        m_year = (date.year - 1912).abs.to_s + I18n.t("date.minguo_calendar.year")
        year_str = minguo_format_year(m_year)
      end
      get_minguo_year + minguo_m_y_d_time
  end

  def get_minguo_year
    date = get_date
    m_year = (date.year - 1911).abs
    year_end = I18n.t("date.minguo_calendar.year")
      case 
        when date.year <1912
          I18n.t("date.minguo_calendar.before") + (m_year+1).to_s + year_end
        when  date.year ==1912
          I18n.t("date.minguo_calendar.first_year") 
        when date.year >1912
          I18n.t("date.minguo_calendar.after")+ (m_year).to_s + year_end
    end # of case tw_calendar year
  end

  def minguo_m_y_d_time
    date = get_date
    case self.attribute_field["typeC"]["format"]
        when 'format1' #  Y/M/D h:m
          date.strftime(" %m/%d %H:%M")
        when 'format2' #  Y/M/D
          date.strftime(" %m/%d")
        when 'format3' #  Y/M
          date.strftime(" %m#{I18n.t("date.minguo_calendar.month")}")
        when 'format4' #  Y
          ''
      end # of  case 
  end

  def get_date_by_format(from_to = nil)
    case I18n.locale
    when :zh_tw
      case 
        when self.attribute_field["typeC"]["calendar"] == "west_calendar"
          show_west_calender(from_to)
        when self.attribute_field["typeC"]["calendar"] == "tw_calendar"
          show_minguo_calendar(from_to)
      end #case self.attribute_field["typeC"]["calendar"]
    when :en
      show_west_calender(from_to)
    end
  end
end