И почему он назван show_hide когда делает только hide? Ну и главное это жикверя как из пушки по воробьям.
var elem = document.getElementById('main_nav_header');
if(elem)
elem.addEventListener('click', function(){
this.style.display="";
}, false);
И тогда
<div id="main_nav_body" style="display: none;">
остается как ест.
А, вам еще скрыть надо соседний. Упомяните его по той же схеме внутри колбэка.