Rinse the chicken, remove any excess fat, and pat dry with paper towels. In a small bowl, mix together the garlic, paprika, 2 teaspoons salt, 2 teaspoons pepper, and the vinegar. Rub the vinegar mixture all over the chicken, including the cavity. Cover with plastic wrap and marinate at room temperature 1 hour. Preheat the oven to 350 degrees. Heat a large cast-iron skillet over medium-high heat and add the olive oil. Shake the chicken to drain the excess vinegar. Using kitchen tongs and a large wooden spoon to steady the bird, brown it on all sides in the hot oil. Transfer to a plate and set aside.
Melt the butter in the skillet over medium-high heat. Saute the onions, with 1 teaspoon salt and 1/2 teaspoon pepper, 3 to 5 minutes. Add the tomatoes and cook 2 to 3 minutes. Add the water and set the chicken on top of the vegetables. Roast 1 hour, until the leg moves easily when twisted. Transfer the chicken to a serving platter and cover loosely with aluminum foil. Tip the casserole to one side and spoon off the excess fat. Carve the chicken into serving pieces, and arrange on a platter with the vegetables and juices from the pan. Sprinkle with the parsley and serve.