class PublicationVersion < ActiveRecord::Base
  set_table_name 'versions'
  
  belongs_to  :publication, :foreign_key => 'publications_id'
  
  def xml_type
    xml_types = { 0 => 'EBOOK', 2 => 'PRINTED', 4 => 'AUDIOBOOK', 64 => 'AUDIO_CD' }
    return xml_types[self.version]
  end

  def xml_type_title
    xml_types = { 0 => 'Wersja elektroniczna', 2 => 'Wersja drukowana', 4 => 'Wersja audio', 64 => 'Wersja audio CD' }
    return xml_types[self.version]
  end
  
  def volume
    return ([0, 2].include? self.version) ? "#{self.pages} str." : "#{self.pages} min."
  end
  
  def current_price
    return self.price           if 8 == self.version
    return self.cena_promocyjna if (self.date_start && self.date_end) && (Time.now > self.date_start && Time.now < self.date_end)

    if self.uciekajaca_cena_pocz && self.uciekajaca_skok && self.date_start
      return self.uciekajaca_cena_pocz + (((Time.now - Publication.find(6617).publication_versions.first.date_start).to_i / 1.day) * self.uciekajaca_skok)
    end

    return self.cena_promocyjna if self.cena_promocyjna
		return self.price
  end
end
