Preheat oven to 375 degrees. Butter two 9x5x3-inch loaf pans.
Heat milk in microwave for 45 seconds on high.
In a large mixing bowl pour warm milk over salt, 1/2 cup sugar and 1/2 cup butter. Blend well.
In a small mixing bowl sprinkle yeast over warm water and stir to dissolve.
Add yeast mixture to milk mixture with 2 1/2 cups of flour. Beat 2 minutes with an electric mixer at medium speed, scraping bowl occasionally or beat with spoon until smooth, about 100 strokes.
Mix in eggs, orange peel, ginger, cut up cranberries, and 1/2 cup of flour.
Finally, mix in enough remaining flour, a little at a time, first with a spoon and then with hands, to make a soft dough that leaves the side of the bowl.
Turn dough onto a lightly floured board or counter. Knead just until smooth, about 50 strokes. Round up in a ball and place in a lightly greased bowl, turn dough over to grease top. Cover with plastic wrap and let rise in warm place until doubled, about 90 minutes.
Punch down dough and let rest for 15 minutes. Divide dough in half. Shape dough into smooth loaves and place in buttered loaf pans.
Make three diagonal slashes 1/4 deep across the top of each loaf. Cover with plastic wrap and let rise in a warm place only until doubled, about 1 hour.
Bake in 375 degree oven for 40 to 50 minutes. Check after 15 minutes, and if brown enough, cover tops with a piece of foil and continue baking. Bake another 40 minutes, and then remove from pans and let cool on wire rack while making the glaze.
In a small mixing bowl combine the powdered sugar, softened butter and walnuts; add orange juice to make a glaze of spreading consistency. Spread the top of each loaf with orange/nut glaze and let cool completely