// for dinamic lists

function change_list_start(select_id)  {
	set_disabled(select_id);
	$('#'+select_id).removeOption(/^[^0]/);	
}
function change_list_stop(select_id) {
	set_enabled(select_id)
}

function set_disabled(elem_id, clean_input) {
	if (clean_input == true) {
		$('#'+elem_id).attr('value', '');
	}
	$('#'+elem_id).attr('disabled', 'disabled');
	$('#'+elem_id).addClass('disabled');
}
function set_enabled(elem_id) {
	$('#'+elem_id).attr('disabled', '');
	$('#'+elem_id).removeClass('disabled');
}


// запрос адресного списка (список городов, районов и т.п.)
function get_select(source_id, destination_id, default_value_id, multiple, full_list) {
	var source_value = $('#'+source_id).val();
	var default_value = 0;
	var full_list_param = '';
	var source_param = '';
	var get_list = true;
	
	if ($('*').is('#not_have_cities')) {
		if ($.inArray(source_value, $('#not_have_cities').val().split(',')) != -1) {
			get_list = false;
			set_disabled(destination_id);
		}
	}
	
	if (get_list == true) {
		if (default_value_id != 0) {
			default_value = $('#'+default_value_id).val();
		}
		if (source_value != 0) {
			source_param = '&'+source_id+'='+source_value;			
			change_list_start(destination_id);

			if (full_list == true) {
				full_list_param = '&full_list=1';	
			} else {
				full_list_param = '&full_list=0';	
			}
			
			$.getJSON('http://lib.' + base_domain + '/json/?app_alias=' + app_alias + source_param + full_list_param + '&module=city_list&type=simple&crossdomain=1&callback=?', function(data) {		
				if (data.default_value) {
					default_value = data.default_value;
				}
				set_select(destination_id, data.option_list, default_value);
				if (multiple == true) {
					rebuild_select(destination_id);	
				}
			});
			change_list_stop(destination_id);
		} else {
			$('#'+destination_id).removeOption(/^[^0]/);		
		}
	}
	
}

function set_select(select_id, option_list, default_value) {
	for (var i=0; i < option_list.length; i++) {
		if (option_list[i].id != default_value) {
			selected = false;
		} else {
			selected = true;
		}
		$('#'+select_id).addOption(option_list[i].id, option_list[i].name, selected);
	}
}

function rebuild_select(select_id) {
	var container_block = $('#'+select_id).parents('div.multi_container');
	var parent_block = $('#'+select_id).parents('dd');
	$('#'+select_id).prependTo(parent_block);
	container_block.remove();
	build_select(select_id);
}

function build_select(select_id) {
	$('#'+select_id).asmSelect({
		removeLabel: '&#215;',
		selectClass: 'i_select',
		containerClass: 'multi_container'
	});
}




// textarea counter 
function count_symbol() {
	var textarea_id = $(this).attr('id');
	var counter = $('#'+textarea_id+'_counter');
	var input_text = $(this).val();
	var max_symbol = counter.find('span.max').text();
	var left_symbol = max_symbol - input_text.length;
	if (left_symbol < 0) {
		$('#'+textarea_id).val(input_text.substr(0, max_symbol));
		left_symbol = 0;
		alert('Ваш текст вышел за допустимые пределы и был обрезан!');
	}
	counter.find('span.left').text(left_symbol);		
}
