var currentTab = 0;
showTab(currentTab);
In every postback event or page refresh your JS Function "ShowTab(currrentTab)" is called. Since you have set the curentTab to 0. So every POSTBACK AND PAGE SUBMITS sets your tab to the default one not the curernt one.
So why don't you use the hidden field to set the current tab.
I hope you are clear why your tab always set to default not the current one.