Все правильно. Дело в том, что нет разницы между взятым в кавычки
'show_block' и не взятым
block. Кавычки нужны для таких случаев:
({
"a a a": "без кавычек будет ошибка из-за пробелов"
})
В твоем случае нужно делать так:
function show (textarea, block) {
var object = { show_block: "block" };
object[block] = "none";
bl(object);
}
Ruslan_xDD, фу-фу-фу! for.. in без var - так пишут только нубы!