//Handles keeping track of all the data structures for changing a contact.
func changeContact(contactsMenuWin *gc.Window, contactMenu *gc.Menu) {
	globalMsgWin.Erase()
	currentContact = getTel(contactMenu.Current(nil).Name())
	rows := getConversation(currentContact)
	defer rows.Close()
	var msg string
	var src string
	var t time.Time
	var b bytes.Buffer
	for rows.Next() {
		rows.Scan(&msg, &src, &t)
		if src != "You" {
			if time.Now().AddDate(0, 0, -1).Before(t) {
				if t.Hour() < 10 {
					b.WriteString("0")
				}
				b.WriteString(strconv.Itoa(t.Hour()))
				b.WriteString(":")
				if t.Minute() < 10 {
					b.WriteString("0")
				}
				b.WriteString(strconv.Itoa(t.Minute()))
				b.WriteString(": ")
				b.WriteString(msg)
				printToMsgWindow(b.String(), globalMsgWin, false)
				b.Reset()
			} else if (time.Now()).AddDate(0, 0, -6).Before(t) {
				b.WriteString(string([]byte(t.Weekday().String())[0:3]))
				b.WriteString(" at ")
				if t.Hour() < 10 {
					b.WriteString("0")
				}
				b.WriteString(strconv.Itoa(t.Hour()))
				b.WriteString(":")
				if t.Minute() < 10 {
					b.WriteString("0")
				}
				b.WriteString(strconv.Itoa(t.Minute()))
				b.WriteString(": ")
				b.WriteString(msg)
				printToMsgWindow(b.String(), globalMsgWin, false)
				b.Reset()
			} else {
				b.WriteString(t.Local().String())
				b.WriteString(": ")
				b.WriteString(msg)
				printToMsgWindow(b.String(), globalMsgWin, false)
				b.Reset()
			}
		} else {
			if time.Now().AddDate(0, 0, -1).Before(t) {
				if t.Hour() < 10 {
					b.WriteString("0")
				}
				b.WriteString(strconv.Itoa(t.Hour()))
				b.WriteString(":")
				if t.Minute() < 10 {
					b.WriteString("0")
				}
				b.WriteString(strconv.Itoa(t.Minute()))
				b.WriteString(": ")
				b.WriteString(msg)
				printToMsgWindow(b.String(), globalMsgWin, true)
				b.Reset()
			} else if (time.Now()).AddDate(0, 0, -6).Before(t) {
				b.WriteString(string([]byte(t.Weekday().String())[0:3]))
				b.WriteString(" at ")
				if t.Hour() < 10 {
					b.WriteString("0")
				}
				b.WriteString(strconv.Itoa(t.Hour()))
				b.WriteString(":")
				if t.Minute() < 10 {
					b.WriteString("0")
				}
				b.WriteString(strconv.Itoa(t.Minute()))
				b.WriteString(": ")
				b.WriteString(msg)
				printToMsgWindow(b.String(), globalMsgWin, true)
				b.Reset()
			} else {
				b.WriteString(t.Local().String())
				b.WriteString(": ")
				b.WriteString(msg)
				printToMsgWindow(b.String(), globalMsgWin, true)
				b.Reset()
			}
		}
	}
	globalMsgWin.Refresh()
}