function row_click(plugin_name, row_number, key_index, form_file)
{
	var rec_id = -1;
	// к адресу в GET добавляем текущее время, чтобы эксплорер не кешировал страницу
	var date = new Date();
	var url = '../_xml_core/dialog.php?anticache=' + date.getTime() + '&xml_file=../_xml_core/xml/plugins/form_container.xml&form_file=' + form_file;
	// получаем значение ключа, соответствующее кликнутой строке
	if (row_number > -1)
	{
		var checkbox = get_element_by_name(plugin_name + '[check]['+row_number+']');	
		get_element_by_name(plugin_name + '[grid]['+key_index+']').value = checkbox.value;
		url += '&rec_id=' + checkbox.value;
	}
	if(show_form(url))
	{
		// если были изменения - обновляем форму
		global_submit();
	}
}

function ajax_grid_form_open(form_file, rec_id)
{
	var date = new Date();
	var url = '../_xml_core/dialog.php?anticache=' + date.getTime() + '&xml_file=../_xml_core/xml/plugins/form_container.xml&form_file=' + form_file;
	url += '&rec_id=' + rec_id;
	show_form(url);
}


/*
 * @function row_click_with_get
 * обработчик клика по строке грида, который умеет передавать дополнительные параметры через ГЕТ
 */
function row_click_with_get(plugin_name, row_number, form_file, var_names, var_values)
{
	// к адресу в GET добавляем текущее время, чтобы эксплорер не кешировал страницу
	var date = new Date();
	var url = '../_xml_core/dialog.php?anticache=' + date.getTime();
	url += '&xml_file=../_xml_core/xml/plugins/form_container.xml';
	url += '&form_file=' + form_file;

	// получаем значение ключа, соответствующее кликнутой строке
	if(row_number > -1)
	{
		var checkbox = get_element_by_name(plugin_name + '[check]['+row_number+']');	
		url += '&rec_id=' + checkbox.value;
	}

	for(var i = 0; i < var_names.length; i++)
	{
		url += '&' + var_names[i] + '=' + var_values[i];
	}
	
	if(show_form(url))
	{
		// если были изменения - обновляем форму
		global_submit();
	}
}


function slave_dict_row_click(plugin_name, parent_plugin_name, form_file)
{
	var date = new Date();
	var url = '../_xml_core/dialog.php?anticache=' + date.getTime() + '&xml_file=../_xml_core/xml/plugins/form_container.xml&form_file=' + form_file;
	var parent_rec_id = get(parent_plugin_name+'[rec_id]').value;
	url += '&parent_rec_id=' + parent_rec_id;
	if(show_form(url))
		global_submit();
}

function show_form(href)
{
	return window.showModalDialog(href, window, 'dialogHeight: 300px; dialogWidth: 650px; center: yes; help: no; resizable: yes;');
//	window.open(href, '', 'toolbar=no,scrollbars=yes,directories=no,status=no,menubar=no,resizable=yes,width=585,height=225');
}

function show_bookmark(num, bookmark_name, bookmark_group)
{
	var elements = document.getElementsByTagName('div');  
	for(var i = 0; i < elements.length; i++) 
	{
		if(elements[i].name != null)
		{
			if(elements[i].name == 'bookmark_'+num)
			{	
				elements[i].style.display = 'block';
				//alert('1');
				resize_dialog_form(elements[i].name);
				//alert('2');
			}
			else if (elements[i].name.indexOf('bookmark') >= 0)
				elements[i].style.display = 'none';
		}
	}

	var elements = document.getElementsByTagName('td');
	for(var i = 0; i < elements.length; i++) 
	{
		if(elements[i].name != null)
		{
			if(elements[i].name == 'bookmark_header_'+num)
				elements[i].className = 'bookmark_active';
			else if (elements[i].name.indexOf('bookmark_header') >= 0)
				elements[i].className = '';
		}
	}

	if(!bookmark_group)
		get_element_by_name('active_bookmark').value = bookmark_name;
	else
		get_element_by_name('active_bookmark['+bookmark_group+']').value = bookmark_name;
	
}


// закрыть текущее окно, и передать вызвавшему окну сигнал закрыться и засабмитить своего родителя
function close_parent(plugins_str, dialog)
{
	var plugins_arr = plugins_str.split(',');
	var plugin_id = null;
	for(var i = 0; i < plugins_arr.length; i++)
	{
		if(dialog.dialogArguments.document.getElementsByName(plugins_arr[i]+'[action]').length > 0)
		{
			plugin_id = plugins_arr[i];
			break;
		}
	}

	if(plugin_id != null)
	{
		dialog.dialogArguments.document.getElementsByName(plugin_id+'[action]')[0].value = 'apply_child_changes';
	}

	refresh_parent(dialog);
}

function refresh_parent(dialog)
{
	dialog.dialogArguments.document.global.action = dialog.dialogArguments.document.location.href;
	dialog.dialogArguments.document.global.submit(); 
	dialog.close();
}

function go_into_record(plugin, row_num)
{
	get(plugin + '[parent_rec_id]').value = get(plugin+'[check]['+row_num+']').value;
	get(plugin + '[action]').value = 'go_into_record';
	global_submit();
}

function show_ext_filter(ext_filter_file)
{
	var date = new Date(); 
	var url = '../_xml_core/dialog.php?anticache=' + date.getTime();
	url += '&xml_file=../_xml_core/xml/plugins/form_container.xml';
	url += '&form_file=../_modules/ext_filter_2/xml/ext_filter.xml';
	if(ext_filter_file)
		url += '&ext_filter_file='+ext_filter_file;

	show_form(url);
}

function reset_ext_filter(plugin_name)
{
	get_element_by_name(plugin_name+'[action]').value='reset_ext_filter';
	global_submit();
}

function show_sorter(sorter_file)
{
	var date = new Date();
	var url = '../_xml_core/dialog.php?anticache=' + date.getTime();
	url += '&xml_file=../_xml_core/xml/plugins/form_container.xml';
	url += '&form_file=../_modules/sorter/xml/sorter.xml';
	if(sorter_file)
		url += '&sorter_file='+sorter_file;

	show_form(url);
}

function go_to_division(plugin_id, div_id)
{
	get(plugin_id+'[parent_rec_id]').value=div_id;
	global_submit();
}

// событие, происходящее при удалении элемента в списке
function delete_btn_click(plugin_name, btn)
{
	if(confirm('Выбранные элементы будут удалены. Продолжить?'))
	{ 
		get_element_by_name(plugin_name+'[action]').value='delete'; 
		btn.disabled=true; 
		global_submit(); 
	}
}

// закрывае форму с рефрешем парента
function close_form()
{
	parent.dialogArguments.document.global.submit(); parent.close();
}




function resize_dialog_form(conteiner_id)
{

	if (conteiner_id==undefined)
	{
		elem = document.getElementById('bookmarks_conteiner');
		if (elem)
		{
			return false;
		}

		conteiner_id = 'form_conteiner';
	}

	
	var width = 0;
	var height = 0;


	var form_conteiner = document.getElementById(conteiner_id);
	var form_conteiner_bottom_position = form_conteiner.clientHeight + form_conteiner.offsetTop;
	
	height = form_conteiner_bottom_position + 55
	width = form_conteiner.clientWidth + 45;


	window.dialogHeight = height + 'px';
	window.dialogWidth = width + 'px';

}


function open_form_with_parent_rec_id(parent_plugin_id, form_file, parent_rec_id_name) 
{
    var rec_id = parent.parent.dialogArguments.document.getElementById(parent_plugin_id+'[rec_id]');
	if (!rec_id) 
	{
	    alert("Неудалось получить запись в родительском окне");
	}

	var date = new Date();
	var url = '../_xml_core/dialog.php?anticache=' + date.getTime() + '&xml_file=../_xml_core/xml/plugins/form_container.xml&form_file=' + form_file;
	url += '&'+parent_rec_id_name+'=' + rec_id.value;
	show_form(url);
}