/*
Параметры функции stat:
1) table_id - идентификатор таблицы, на которой мы строим статистику;
2) url_script - адрес скрипта, на котором идет обработка нашего запроса

//в 3-м и 4-м пунктах нумерация ведется с 0 (нуля)

3) key_col1 - ячейка, из которой берется значение, отправляемое скрипту;
   key_col2 - ячейка, из которой берется значение, отправляемое скрипту;
4) act_col - ячейка, на которой строится статистика.

Смысловая нагрузка некоторых переменных, описанных в функции stat:
1) reg - регулярное выражение для проверки валидности значения
2) cash - массив используемый для кэширования
3) listelem - массив с ключами элементов, по которым бдет строится статистика (которые возвращает скрипт, должны соответствовать)
4) infDiv - непосредственно сам див, в который будем выводить всю статистику.  В методе setStyles устанавливаются стили для данного дива (описаны в соответствии с правилами JS)
*/
window.addEvent('domready', function(){
	stat('reit', 'formed_cert.php', 0,1, 3);
});
function stat(table_id, url, key_col1,key_col2, act_col){
	var reg = /^([0-9])+$/;
	var cash = new Array();
	var listelem = new Array('cname','city');
	var infDiv = document.createElement('div');
	document.body.appendChild(infDiv);
	infDiv.id = 'informDiv';
	$('informDiv').setStyles({
		position: 'absolute',
		width: 'auto',
		height: 200,
		overflow: 'auto',
		textAlign: 'center',
		border: '2px solid',
		background: '#F8A529',
		display: 'none',
		opacity: '0.95',
		padding: '5px 20px 5px 20px',
		zIndex: 1
	});
	jnr = $(table_id).getElements('tr');
	jnr.each(function(el, index){
		el = el.getElements('td');
		if(!reg.test(el[key_col1].innerHTML)) return;
        if(!reg.test(el[key_col2].innerHTML)) return;
		el[act_col].addEvent('click', function(){
			if(infDiv.getStyle('display') == 'block' && infDiv.name == el[key_col1].innerHTML+el[key_col2].innerHTML) infDiv.setStyle('display','none');
			else{
				if(!cash[el[key_col1].innerHTML+el[key_col2].innerHTML]){
					var requestt  = new Json.Remote(url, {
						onRequest: function(){
								infDiv.innerHTML = '<img src="images/wait.gif"><p>Uploading, wait please </p>';
						},
						onComplete: function(jsonObj){
							if(jsonObj.error) infDiv.innerHTML = 'Error!';
							else{
								tbl = '<table>';
								jsonObj.each(function(el){
									tbl += '<tr>';
									for(i = 0; i < listelem.length; i++) tbl += '<td>'+el[listelem[i]]+'</td>';
									tbl += '</tr>';
								});
								tbl += '</table>';
								infDiv.innerHTML = cash[el[key_col1].innerHTML+el[key_col2].innerHTML] = tbl;
							}
						}
					}).send({"id_cont":el[key_col1].innerHTML,"id_reg":el[key_col2].innerHTML});
				}
				else infDiv.innerHTML = cash[el[key_col1].innerHTML+el[key_col2].innerHTML];
				infDiv.name = el[key_col1].innerHTML+el[key_col2].innerHTML;
				infDiv.setStyles({
					display: 'block',
					left: el[act_col].getLeft() + el[act_col].clientWidth,
					top: el[act_col].getTop()
				});
			}
		});
	});
}