var g_pnlName  = "pnlExt_";
var g_imgName  = "imgExt_";
var g_ruidName = "ruidExt_";

/*
@s: строка из которой надо выделить число. Должна быть в формате text_X где X - число
exapmle:lal_12 -> 12
*/
function getNum( s ){
	return s.substr( s.indexOf("_")+1 );
}

/*
По номеру панели возсращает объект панель
@n - номер панели
*/
function getPanel( n ){
	return document.getElementById( g_pnlName + n );
}

/*
По номеру изображения возсращает объект
@n - номер изображения
*/
function getImg( n ){
	return document.getElementById( g_imgName + n );
}

/*Инвертирует свойство display*/
function invertPanelDisplay( panel ){
  img = getImg( getNum( panel.id ) );
	if ( panel.style.display == "block"){
  //закрытие панели
    panel.style.display = "none";
    img.src = "images/plus.jpg";
	}else{
	  panel.style.display = "block";
		img.src = "images/minus.jpg";
	}
}

/*Получить значение RUID для данного номера*/
function getRUID( n ){
  return document.getElementById( g_ruidName + n );
}

/*Функция вызывается при раскрытии или сокрытии данных резюме или вакансии*/
function expand( sender ){
	num   = getNum( sender.id );
	panel = getPanel( num );
	ruid  = getRUID( num );
	ruid  = getRUID( num ).value; 
	if ( panel == null ){ alert('Ошибка при попытке вывести дополнительной информации'); }
	
	if ( panel.innerHTML.length < 10 ){
	  if(g_vacancy){
		  IVC.IS.JobStroi.Info.getVacancyInfo(ruid, function(res){ createInfo(panel,res); },function(e){alert("Error: "+e)});
	  }else{
	    IVC.IS.JobStroi.Info.getResumeInfo (ruid, function(res){ createInfo(panel,res); },function(e){alert("Error: "+e)});
	  }
	}
	invertPanelDisplay( panel );
}

/*Записать доп. информацию в панель.*/
function createInfo( panel, res){
  panel.innerHTML = res;
}
