In a medium skillet, on medium low heat, cook butter, onions, garlic, salt, pepper, W Sauce, and Dijon until soft. Do not brown, and constantly stir. Set aside in a bowl until ready to assemble sandwiches.
In a small bowl, mix mayo and W Sauce, and set aside for assembly.
Lay out 12 slices of bread and spread mayo mixture on every slice, generously. On 6 slices, lay down a Havarti slice, then a heaping tbsp of caramelized onions, then shredded cheddar and gruyere, then top with another sliced bread, mayo side down, into the middle of the sandwich. Butter the dry side of bread.
On a nonstick skillet, heat to medium heat, and place butter side of sandwiches down, heat for about 6 minutes on one side, or until golden, then flip, and put a lid on to steam and melt the cheese. Cook that side for about 6 minutes, as well. *Lower heat if the bread is burning before melting the cheese through the center.
Repeat for all 6 sandwiches. Cut in half, if desired, and serve.