function replaceClassArr(arr, newClass, curClass)
{
	var i, el;
	for (i in arr)
	{
		el = document.getElementById(arr[i]);
		if (el)
		{
			replaceClass(el, newClass, curClass);
		}
	}
}
function toggleDivs(divs, regid)
{
	for (var i=0; i < divs.length; i++)
	{
		if (divs[i].id.match(regid))
		{
			divs[i].style.display = 'block';
		}
		else
		{
			divs[i].style.display = 'none';
		}
	}
}
/**
 * Переключение между картой и списком
 */
function switch_layout (obj)
{
	if(obj.id == 'branch_control_1'){
		replaceClass( obj, 'branch_control_selected', 'branch_control');
		replaceClass( document.getElementById('branch_control_2'), 'branch_control', 'branch_control_selected' );
		// document.getElementById('map_controls').style.display ='block';
		document.getElementById('map_overall').style.display ='none';
		document.getElementById('list_overall').style.display ='none';
		document.getElementById('map_control_ss').style.display ='none';
		control_click('all');
		
	} else {
		replaceClass( obj, 'branch_control_selected', 'branch_control');
		replaceClass( document.getElementById('branch_control_1') , 'branch_control', 'branch_control_selected' );
		// document.getElementById('map_controls').style.display ='none';
		document.getElementById('map_overall').style.display ='none';
		document.getElementById('list_overall').style.display ='block';
		document.getElementById('map_control_ss').style.display ='block';
		control_click('all');
	}
}
function control_click(tag)
{
	switch_controls(tag);
	switch_lists(tag);
	switch_map_points(tag);
}
function switch_controls(tag)
{
	var controls = ['map_control_all', 'map_control_atm', 'map_control_ss', 'map_control_branch', 'map_control_dir'];
	var control  = 'map_control_' + tag;
	var el;
	for (var i in controls)
	{
		if (el = document.getElementById(controls[i]))
		{
			if (controls[i] == control) {
				replaceClass(el, 'map_control_selected' , 'map_control');
			} else {
				replaceClass(el, 'map_control' , 'map_control_selected');
			}
		}
	}
}
function switch_lists(tag)
{
	var oListContainer = document.getElementById('list_overall');
	var aListDivs = oListContainer.getElementsByTagName('div');
	switch (tag){
		case 'all':
			for (i=0; i < aListDivs.length; i++) aListDivs[i].style.display = 'block';
		break;
		case 'atm':
			toggleDivs(aListDivs, /list_b/gi);
		break;
		case 'ss':
			toggleDivs(aListDivs, /list_s/gi);
		break;
		case 'branch':
			toggleDivs(aListDivs, /list_t/gi);
		break;
		case 'dir':
			toggleDivs(aListDivs, /list_d/gi);
		break;
	}
}
/**
 * Переключение списков
 */
function switch_map_points(tag)
{
	if (typeof pin_point_id != 'undefined')
	{
		if(document.getElementById('map_desc_' + pin_point_id) && document.getElementById('point_' + pin_point_id))
		{
			jg.clear();
			removeClass( document.getElementById('map_desc_' + pin_point_id), 'selected' );
			replaceClass( document.getElementById('point_' + pin_point_id), 'point', 'point_selected' )							
		}
		var oContainer = document.getElementById('map_closer_points_small') ? document.getElementById('map_closer_points_small') : document.getElementById('map_closer_points_cont');
		var aDivs = oContainer.getElementsByTagName('div');
		switch (tag)
		{
			case 'all' :
				for (i=0; i < aDivs.length; i++) aDivs[i].style.display = 'block';
			break;
			case 'atm' :
				toggleDivs(aDivs, /point_b/gi);
			break;
			case 'ss' :
				toggleDivs(aDivs, /point_s/gi);
			break;
			case 'branch' :
				toggleDivs(aDivs, /point_t/gi);
			break;
			case 'dir' :
				toggleDivs(aDivs, /point_d/gi);
			break;
		}
	}
}
function show_point (id) {
	if(can_show_point){
		var obj = document.getElementById('point_' + id);
		var obj_parent = document.getElementById('map_closer_zoom');
		jg.setColor('#FF0000');
		jg.drawLine(obj.offsetLeft + obj_parent.offsetLeft + 10, obj.offsetTop + obj_parent.offsetTop + 10, 20, 470);
		jg.paint();
		addClass( document.getElementById('map_desc_' + id), 'selected' );
		replaceClass( document.getElementById('point_' + id), 'point_selected', 'point' )
	}
}
function hide_point (id) {
	if(can_show_point && jg && document.getElementById('map_desc_' + id)){
		jg.clear();
		removeClass( document.getElementById('map_desc_' + id), 'selected' );
		replaceClass( document.getElementById('point_' + id), 'point', 'point_selected' )
	}
}
function pin_point (id) {
	if(id == pin_point_id){
		can_show_point = !can_show_point;
	} else {
		can_show_point = true;
		hide_point (pin_point_id);
		show_point (id);
		can_show_point = false;
	}
	pin_point_id = id;
}