package main

import "fmt"
import "image/color"
import "runtime"

import pb "git.wit.com/wit/witProtobuf"
import "git.wit.com/wit/gui"

var windowsTextVeryLightGrey  = color.RGBA{10, 10, 10, 10}
var windowsTextBlack  = color.RGBA{200, 200, 200, 200}
var windowsTextWhite  = color.RGBA{255, 255, 255, 255}
var windowsTextYellow = color.RGBA{200, 200, 0, 200}
var windowsTextRed    = color.RGBA{200, 0, 0, 200}
var windowsTextBlue   = color.RGBA{0, 100, 200, 100}
var windowsBgGrey     = color.RGBA{100, 100, 100, 142}
var windowsBgBlack    = color.RGBA{55, 55, 55, 255}

var linuxTextBlue     = color.RGBA{0, 100, 200, 100}
var linuxTextBlack    = color.RGBA{0, 0, 0, 0}
var linuxTextYellow   = color.RGBA{200, 200, 0, 200}
var linuxBgMauve      = color.RGBA{72, 0, 0, 142}
var linuxBgBlack      = color.RGBA{55, 55, 55, 255}
var linuxBgWhite      = color.RGBA{0, 0, 0, 0}
var linuxBgYellow     = color.RGBA{255, 255, 0, 255}

func setRowValues(mh *gui.TableData, row int, vm *pb.Event_VM) {
	defaultTextColor  := linuxTextBlue
	defaultTextYellow := linuxTextYellow
	defaultTextBlack  := linuxTextBlack

	if runtime.GOOS == "windows" {
		defaultTextColor = windowsTextRed
		defaultTextBlack = windowsTextBlack
	}
	// if (row % 2) == 1 {
	if (row == 1) {
		mh.Rows[row].HumanData[0].Color  = color.RGBA{100, 100, 100, 142} // makes the background of each other row grey
	} else if (row == 2) {
		mh.Rows[row].HumanData[0].Color  = color.RGBA{0, 0, 0, 0} // makes the background of each other row grey
	} else if (row == 3) {
		mh.Rows[row].HumanData[0].Color  = color.RGBA{255, 255, 255, 255} // makes the background of each other row grey
	} else if (row == 4) {
		mh.Rows[row].HumanData[0].Color  = color.RGBA{255, 255, 255, 0} // makes the background of each other row grey
	} else if (row == 5) {
		mh.Rows[row].HumanData[0].Color  = color.RGBA{55, 55, 55, 255} // makes the background of each other row grey
	} else if (row == 6) {
		mh.Rows[row].HumanData[0].Color  = linuxBgYellow
	} else if (row < 10) {
		mh.Rows[row].HumanData[0].Color  = linuxBgMauve
	} else {
		mh.Rows[row].HumanData[0].Color  = color.RGBA{250, 250, 250, 250} 
	}
	mh.Rows[row].HumanData[1].Text  = vm.Name
	mh.Rows[row].HumanData[1].Color = defaultTextColor
	mh.Rows[row].HumanData[2].Text  = vm.Hostname
	mh.Rows[row].HumanData[2].Color = defaultTextYellow
	mh.Rows[row].HumanData[3].Text  = fmt.Sprintf("%d",vm.Cpus)
	mh.Rows[row].HumanData[3].Color = defaultTextColor
	mh.Rows[row].HumanData[4].Text  = fmt.Sprintf("%d",vm.Memory)
	mh.Rows[row].HumanData[4].Color = defaultTextBlack
	mh.Rows[row].HumanData[5].Text  = fmt.Sprintf("%d",vm.Disk)
	mh.Rows[row].HumanData[5].Color = defaultTextBlack
	mh.Rows[row].HumanData[6].Text  = fmt.Sprintf("Details %s",vm.Name)
}
