ну, наконец-то я дождался от тебя еще олной попытки сделать самому.
 
Молодец!
теперь, показываю как это надо чтобы заработало:
	
	| 
		 Код: 
	 | 
	
function showHideAnswer()
{
var numericID = this.id.replace(/[^\d]/g,'');
var obj = document.getElementById('a' + numericID);
if(obj.style.display=='block'){
obj.style.display='none';
}else{
if(window.per!=undefined)
per.style.display='none'
obj.style.display='block';
per = document.getElementById('a' + numericID);
} 
} | 
	
поясняю:
window - глобальный объект, видимый везде.
его свойства и являются глобальными переменными, также видимые везде.
правда имена переменных могут замещатся локальной областью видимости, но это 
отдельная тема
обратившись к глобальной переменной, через window.per не будет выпадать ошибка, даже если переменная еще не создана.
а вот, без window, скрипт может упасть в случае отстутствия этой переменной в какой-либо области видимости.
кроме как для проверки, window.per здесь применять необязательно.
главное не напиши var, как ты написал.
это создает локальную область видимости