package arn

// Register a list of supported media services.
func init() {
	DataLists["media-services"] = []*Option{
		{"Youtube", "Youtube"},
		{"SoundCloud", "SoundCloud"},
		{"DailyMotion", "DailyMotion"},
	}
}

// ExternalMedia ...
type ExternalMedia struct {
	Service   string `json:"service" editable:"true" datalist:"media-services"`
	ServiceID string `json:"serviceId" editable:"true"`
}

// EmbedLink returns the embed link used in iframes for the given media.
func (media *ExternalMedia) EmbedLink() string {
	switch media.Service {
	case "SoundCloud":
		return "//w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/" + media.ServiceID + "?auto_play=false&hide_related=true&show_comments=false&show_user=false&show_reposts=false&visual=true"
	case "Youtube":
		return "//youtube.com/embed/" + media.ServiceID + "?showinfo=0"
	case "DailyMotion":
		return "//www.dailymotion.com/embed/video/" + media.ServiceID
	case "NicoVideo":
		return "//ext.nicovideo.jp/thumb/" + media.ServiceID
	default:
		return ""
	}
}