//jquery.cookie plugin

/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
	
	return null;
};


/* --------------------------------------- MAIN ------------------------------------------ */


var pre_img = [];
var click_info = [];
var send_click_info_timeout;

$(document).ready(function () {
	load_images();
	init_index();
	compare_init();
	compare_hide_equal_fields_init();
	sorting_init();
	show_provider_info_init();	
	init_autocomplete();
	
	//проверяем, есть ли на странице checkbox в форме поиска (искать только в определенном разделе)
	if ($("#only_this_dept").length){
		$("#only_this_dept").change(function() {
			check_search_checkbox();
		});
		check_search_checkbox();
	}	
	
	// обработка события нажатия на текст "искать только в этом разделе"
	$("#only_this_dept_title").click(function () {
		$("#only_this_dept").trigger('click');
	});
	
	// обработка нажатия на div вокруг поисковой формы - чтобы фокус перемещался в input
	$("div.searchinput").click(function () {
		$("input.top_search_input",$(this)).focus();
	});
	
	// обработка сабмита поисковой формы
	$("#main_search").submit(function () {
		var search_text = $("input.top_search_input",$(this)).val();
		if ((search_text == '') || (search_text=='поиск товаров')){
			alert("Пожалуйста, введите текст для поиска.");
			$("input.top_search_input",$(this)).focus();
			return false;
		}
		
	});
	
	filters_inputs_init();
});

function init_index() {
	$("div.depts_col span.more_button").click(function(){
		var dept_subdepts = $(this).parent("div.dept_subdepts").get(0);
		$("span",$(dept_subdepts)).show();
		$(this).hide();
	});
}

function sorting_init() {
	var current_sort_mode = $.cookie('sorting_mode');
	var current_sort_order;
	
	if (current_sort_mode != null) {
		current_sort_mode = current_sort_mode.split(/:/);
		current_sort_order = current_sort_mode[1];
		current_sort_mode = current_sort_mode[0];
	}

	$("div.sorting .sorting_mode").each(function () {
		var sort_mode_id = $(this).attr('id');
		var sort_mode = sort_mode_id.replace(/^sort_/, '');
		var sort_order = 'asc';

		if (sort_mode == 'popularity' || sort_mode == 'count_in_group') {
			sort_order = 'asc';
		} else {
			sort_order = 'desc';
		}

		if (current_sort_mode != null && current_sort_mode == sort_mode) {
			if (current_sort_order != null) {
				sort_order = current_sort_order;
			}

			$(this).addClass('selected');
			
			$('.sorting_order_image', this).addClass(sort_order);
		}
		
		$('.sorting_order', this).click(function (){
			if (sort_order == 'asc') {
				sort_order = 'desc';
			} else {
				sort_order = 'asc';
			}
			
			$.cookie('sorting_mode', sort_mode + ':' + sort_order, { path : '/' });
			location.href = location.href;
		});
	});
}

function check_search_checkbox(){
	//смотрим включен ли чекбокс
	if ($("#only_this_dept:checked").length){ //и если да, то инициализируем значение hidden input'а
		var cur_dept=$("#main_search input[name='dept_id']").attr('title');
		$("#main_search input[name='dept_id']").val(cur_dept);
		//alert('on '+$("#main_search input[name='dept_id']").val());
	}
	else{
		$("#main_search input[name='dept_id']").val('0');
		//alert('off '+$("input[name='dept_id']").val());
	}
	
}

function load_images(){
	pre_img.push("/pics/compare.gif");
	pre_img.push("/pics/compare3.gif");
	pre_img.push("/pics/compare2.gif");
	pre_img.push("/pics/icon_close.gif");
	pre_img.push("/pics/icon_left.gif");
	pre_img.push("/pics/icon_right.gif");
	pre_img.push("/pics/arrow_down2.gif");
	
		
	while (pre_img.length>0){
		var img = new Image();
		img.src = pre_img.shift();
	}
}






//compare.js
var compare_link_clicked=false;
function hash_length(hash) { var count = 0; for (var i in hash) count++; return count; };

function compare_link_url(dept_id, cookie_object) {
	var url = "/web/compare.cgi?dept_id=" + dept_id;
	
	if (cookie_object['infos'][dept_id]) {
		for (var good_id in cookie_object['infos'][dept_id]) {
			url += ('&info_id=' + good_id);
		}
	}
	
	return url;
}

function compare_button_update_image(button_img, button_text) {
	if (button_text.text() > 0) {
		button_img.attr('src', '/pics/compare2.gif');
		button_text.attr('class', 'active');
	} else {
		button_img.attr('src', '/pics/compare.gif');
		button_text.attr('class', null);
	}
}

function compare_button_update(action, cookie_object) {
	var button_img = $(".compare_image img");
	var button_text = $(".compare_text span");

	// посчитать количество выбранных товаров
	var goods_count = 0;
	var depts_count = 0;
	var selected_dept_id;
	
	for (var c_dept_id in cookie_object['infos']) {
		selected_dept_id = c_dept_id;
		depts_count++;
		for (var c_good_id in cookie_object['infos'][c_dept_id]) {
			goods_count++;
		}
	}

	button_text.text(goods_count);

	$('div.compare_container').unbind('click');
	$("div.compare_menu").remove();

	if ($('#compare_link').size() > 0) {
		$("div.compare_container").insertBefore($('#compare_link'));
		$('#compare_link').remove();
	}

	if (goods_count > 0) {
		// добавить выпадающее меню выбора раздела для сравнения

		if (depts_count == 1) {
			$('div.compare_container').wrap('<a id="compare_link" href="' +
											compare_link_url(selected_dept_id, cookie_object) +
											'"></a>');	
		} else {
			var compare_menu = '<div class="compare_menu_container" style="display:none"><div class="compare_menu">';
			for (var c_dept_id in cookie_object['depts']) {
				var indept_count = hash_length(cookie_object['infos'][c_dept_id]);
				compare_menu += (
					'<div><a href="' + compare_link_url(c_dept_id, cookie_object) + '">' +
					cookie_object['depts'][c_dept_id] +
					' (' + indept_count + ')</a></div>'
				);
			}

			compare_menu += '</div></div>';
			var menu_control = $(compare_menu);
				
			$('div.compare_container').prepend(menu_control);
	
			$('div.compare_container').click(function () {
				show_compare_list(menu_control);
			});
		}
		button_img.attr("title", "");
	} else {
		button_img.attr("title", "Вы еще не выбрали ни одного товара для сравнения");
	}

	$('div.compare_menu div').click(function() { 
		if ($('a',$(this)).size() > 0){
			location.href = $('a',$(this))[0].href;
		}
	});

	$('div.compare_container').bind( "mousedown", function() { 
		compare_link_clicked=true;
	});

	$(document).bind( "mouseup", function() { 
		if (compare_link_clicked){
			compare_link_clicked=false;	
			return false;
		}
		else{
			compare_link_clicked=false;
			return hide_compare_list();
		}
	});

	// modify button image
	if (action == 'inc' || action == 'dec') {
		button_img.attr('src', '/pics/compare3.gif');
		button_text.attr('class', 'adding');

		window.setTimeout(function () {
			compare_button_update_image(button_img, button_text);
		}, 1000);
	} else {
		compare_button_update_image(button_img, button_text);
	}
}

function show_compare_list(compare_div) {
	$(compare_div).addClass('shwd');
	$(compare_div).show();
	$(".under_compare_text2").hide(); //временно скрываем строку с количеством продавцов - для совместимости с ie
}

function hide_compare_list() {
	var compare_div=$('.compare_menu_container');
	if ($(compare_div).hasClass('shwd')){
		$(compare_div).hide();
		$(compare_div).removeClass('shwd');
		$(".under_compare_text2").show();
	}
}

	

function compare_read_cookie() {
	var cookie_object = {};
	cookie_object['infos'] = {};
	cookie_object['depts'] = {};
	
	try {
		// расшифровать cookie

		var data = $.cookie('compare_selection').split(/\|/);

		var depts = data[0].split(/;/);

		for (var i in depts) {
			if (depts[i]) {
				var dept_sel = depts[i].split(/:/);
				var dept_sel_id = dept_sel[0];
				var dept_sel_goods = dept_sel[1].split(/,/);

				//console.log('cookie dept: ' + dept_sel_id);

				cookie_object['infos'][dept_sel_id] = {};

				for(var j in dept_sel_goods) {
					//console.log('cookie good_id: ' + dept_sel_goods[j]);
					cookie_object['infos'][dept_sel_id][dept_sel_goods[j]] = 1;
				}
			}
		}

		var dept_names = data[1].split(/;/);

		for (var i in dept_names) {

			if (dept_names[i]) {
				var dept_name_sel = dept_names[i].split(/:/);
				var dept_sel_id = dept_name_sel[0];
				var dept_sel_name = dept_name_sel[1];

				//console.log('cookie dept "' + dept_sel_name + '": ' + dept_sel_id);

				cookie_object['depts'][dept_sel_id] = dept_sel_name;
			}
		}
	} catch (exception) {
		//console.log('невозможно распарсить cookie ', exception);
	}
	
	return cookie_object;
}

function compare_save_cookie(cookie_object) {
	// сконвертировать объект в строку для cookie
	var cookie_str = '';
	
	//console.log("сохранение товаров");
	
	for (var c_dept_id in cookie_object['infos']) {
		//console.log("добавляем раздел: " + c_dept_id);

		var goods_str = '';
		for (var c_good_id in cookie_object['infos'][c_dept_id]) {
			goods_str += (c_good_id + ',');
			//console.log("добавляем товар: " + c_good_id);
		}
			
		if (goods_str != '') {
			goods_str = goods_str.replace(/,$/, '');
			cookie_str += (c_dept_id + ':' + goods_str + ';');
		}
	}

	if (cookie_str != '') {
		cookie_str = cookie_str.replace(/;$/, '');
	}
	
	//console.log("сохранение разделов");
	
	var dept_str = '';
	for (var c_dept_id in cookie_object['depts']) {
		//console.log("добавляем раздел: " + c_dept_id);

		dept_str += (c_dept_id + ':' + cookie_object['depts'][c_dept_id] + ';');
		//console.log('добавляем категорию "' + cookie_object['depts'][c_dept_id] +'": ' + c_dept_id);
	}

	if (dept_str != '') {
		dept_str = dept_str.replace(/;$/, '');
	}
	
	// обновить значения в cookie
	$.cookie('compare_selection', cookie_str + '|' + dept_str, { path: '/' });
}

function compare_init(selected) {
	// максимальное число товаров для сравнения
	var max_goods_selected = 100;
	
	// получить список всех товаров на странице
	var goods = $(".good, .good_info_and_offers");

	// получить список выбранных товаров на сравнение из cookie
	var cookie_object = compare_read_cookie();

	// получить текущий выбранный раздел
	var dept_id;
	var dept_name;
	
	try {
		dept_id = $(".neibh_dept.selected a").attr('href').match(/\/nd(\d+)\//)[1];	
		dept_name = $(".neibh_dept.selected a").text();

		//console.log('выбран раздел "' + dept_name + '" ' + dept_id);
	} catch (exception) {
		//console.log('невозможно получить категорию товара ', exception);
	}
	
	var dept_not_defined = dept_id == null;
	
	// получить идентификатор выбранного товара
	var selected_good_id;
	
	// обновить куки по полученным данным
	if (selected != null) {
		selected_good_id = $(selected).attr('id').match(/\d+/);

		// получить раздел для товара
		if (dept_not_defined) {
			dept_id = $('.good_dept a', $(selected).parent().parent()).attr('href').match(/\/nd(\d+)\//)[1];
			dept_name = $('.good_dept a', $(selected).parent().parent()).text();
			//console.log('раздел выбранного товара ' + selected_good_id + ' "' + dept_name + '":' + dept_id);
		}

		if ($(selected).attr('checked')) {
			// проверить, сколько уже выбрано элементов
			//console.log("выбрано: " + (hash_length(cookie_object[dept_id]) + 1) + ' товаров');

			if (hash_length(cookie_object['infos'][dept_id]) >= max_goods_selected) {
				// проигнорировать выбор пользователя и выдать ему сообщение
				// о превышении лимита выбранных товаров для сравнения
				alert('В сравнении может участвовать не более ' + max_goods_selected + ' товаров');
			} else {
				// обновить cookie добавив новый элемент
				//console.log('добавление в куки товара ' + selected_good_id);
				
				// инициализировать хеш разделов
				if (cookie_object['infos'][dept_id] == null) {
					cookie_object['infos'][dept_id] = {};
					cookie_object['depts'][dept_id] = dept_name;
				}
				
				cookie_object['infos'][dept_id][selected_good_id] = 1;
				compare_button_update('inc', cookie_object);
			}
		} else {
			// убрать элемент из cookie
			//console.log('удаление из куки товара ' + selected_good_id);
			delete cookie_object['infos'][dept_id][selected_good_id];
			
			var l = hash_length(cookie_object['infos'][dept_id]);
			
			if ( l == 0) {
				delete cookie_object['depts'][dept_id];
				delete cookie_object['infos'][dept_id];
			}
			compare_button_update('dec', cookie_object);
		}

		compare_save_cookie(cookie_object);

		// восстановить раздел
		if (dept_not_defined) {
			dept_id = null;
		}
	} else {
	
		compare_button_update('init', cookie_object);
	
	}

	// обновить контролы на странице
	goods.each(function () {
		var good_id;

		var good_title = $('.good_title a', this).attr('href');
		var current_good;
		
		if (good_title != null) {
			// получить идентификатор товара из заголовка на странице разделов
			current_good = good_title.match(/\/i(\d+)\//);
		} else {
			// получить идентификатор товара из ссылки
			var cur_loc = '' + window.location;
			current_good = cur_loc.match(/\/i(\d+)\//);
		}
		
		if (current_good != null ) {
			good_id = current_good[1];
		} else {
			// пропустить товар, если у него нет описания
			return; 
		}
		// если раздел не доступен - то это страница поиска
		if (dept_not_defined) {
			var dept_href = $('.good_dept a', this).attr('href');
			dept_id = dept_href.match(/\/nd(\d+)\//)[1];
			//console.log('раздел товара ' + good_id + ' ' + dept_id);
		}
		
		var text = '';
		var checked = '';
	
		// если текущий товар выбран
		// обновить статус для выбранного товара

		if (cookie_object['infos'][dept_id] != null && cookie_object['infos'][dept_id][good_id]) {
			checked = 'checked';

			if (hash_length(cookie_object['infos'][dept_id]) > 1) {
				text = '<a href="' + compare_link_url(dept_id, cookie_object) + '">Сравнить выбранные товары</a>';
			} else {
				text = 'Для сравнения нужно выбрать минимум 2 товара'
			}
		
		} else {
			text = '<a href="#" id="compare_href' + good_id + '" onClick="$(\'#compare_select' + good_id + '\').click();return false;">Добавить для сравнения</a>';
		}

		// удалить уже существующие
		$('.compare_control', this).remove();

		var add_control_after = $('.good_desc_our', this);
		var checkbox_data;
		
		if (add_control_after.size() == 0) {
			add_control_after = $('.start_info', this);
			checkbox_data = '<input type="checkbox" style="display:none" onClick="compare_init(this)"' +
			'id="compare_select' + good_id + '"' + 
			checked +
			'/> ';
		} else {
			// добавить обработчики нажатия на чекбокс
			checkbox_data = '<input type="checkbox" onClick="compare_init(this)"' +
			'id="compare_select' + good_id + '"' + 
			checked +
			'/> ';
		}
		
		// добавить новые контролы
		$('<div class="compare_control">' +
			checkbox_data + 
			text +
			'</div>')
			.insertAfter(add_control_after);
		
		// восстановить номер раздела
		if (dept_not_defined) {
			dept_id = null;
		}
	});
}

//compare_remove.js
var removed_columns = [];

function remove_info(info_id, pos_id) {
	// получить список выбранных товаров на сравнение из cookie
	var cookie_object = compare_read_cookie();

	var dept_id = $(".neibh_dept.selected a").attr('href').match(/\/nd(\d+)\//)[1];

	// удалить товар из сравнения
	delete cookie_object['infos'][dept_id][info_id];
	var l = hash_length(cookie_object['infos'][dept_id]);
	if ( l == 0) {
		delete cookie_object['depts'][dept_id];
		delete cookie_object['infos'][dept_id];
	}
	
	compare_button_update('dec', cookie_object);

	// сконвертировать объект в строку для cookie
	compare_save_cookie(cookie_object);

	// если на странице не осталось товаров - перенаправить на страницу товаров раздела
	if (hash_length(cookie_object['infos'][dept_id]) == 0) {
		window.location = '/web/dept_goods.cgi?dept_id=' + dept_id;
	} else {
		// удалить колонку с товаром
		
		var pos_offset = 0;
		
		// определить смещение колонки после удаления предыдущих
		for (var i in removed_columns) {
			if (removed_columns[i] != null && removed_columns[i] < pos_id) {
				pos_offset = pos_offset - 1;
			}
		}

		// добавить флаг о том, что колонка удалена
		removed_columns.push(pos_id);

		$('td:eq(' + (pos_id + pos_offset) + ')', 'table.params tr').remove();
		
		// уменьшить colspan в подзаголовках таблицы
		$('td:eq(0)', 'table.params tr').each(function () {
			if ($(this).attr('colspan') > 1) {
				$(this).attr('colspan', $(this).attr('colspan') - 1);
			}
		});
		
		// установить ширину оставшихся колонок
		var tds = $('td:not(:last)', 'table.params tr');
		tds.css({ width : (100 / (hash_length(cookie_object['infos'][dept_id]) + 1) + '%') });
	}
}

function hide_compare_row(row) {
	row.addClass('hidden_row');
	row.hide();
	
	$('div.params tr:has(td.title_cat)').each(function () {
        var done = 0;
        var count = 0;
		var total = 0;

        $(this).nextAll('tr').each(function () {
            if (done == 0) {
				if ( $('td.title_cat', $(this)).size() > 0 ) {
					done = 1;
                } else {
					total++;
	
					if ($(this).hasClass('hidden_row')) {
						count++;
					}
				}
            }
        });

		if (total == count) {
			$(this).addClass('hidden_row');
			$(this).hide();
		}
    });
}

function compare_hide_equal_fields_init() {
	$('.compare_toggle_button').click(function () {
			hide_compare_row($(this).parent().parent());
		}
	)
	
	$('#hide_equal_rows').click(function () {
		$('.params tr.params_row').each(function () {
			var equal_fields_count = 1;
			var fields_count = -2;
			var field_value;

			$('td', $(this)).each( function () {
				if (field_value == $(this).html()) {
					equal_fields_count++;
				}

				field_value = $(this).html();
				fields_count++;
			});

			if (equal_fields_count == fields_count) {
				hide_compare_row($(this));
			}
		});
		return false;
	});
	
	$('#show_hidden_rows').click(function () {
		$('.hidden_row').each(function () {
			$(this).removeClass('hidden_row');
			$(this).show();
		});
		
		return false;
	});
}

function get_provider_info_callback(data) {
	var html = data[0];
	
	$('#provider_info_container .provider_info').remove();
	$('#provider_info_container').append($(html));
	update_popup_position('#provider_info_container');
}

function get_scroll_values() {
	var xScroll, yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
		xScroll = self.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) {
		yScroll = document.documentElement.scrollTop;
		xScroll = document.documentElement.scrollLeft;
	} else if (document.body) {
		yScroll = document.body.scrollTop;
		xScroll = document.body.scrollLeft;	
	}

	return [xScroll, yScroll]; 
}

function show_provider_info_init() {
	var location = window.location + '';
	var matches = location.match(/#get_provider_info(\d+)_(\d+)/);
	if (matches) {
		show_provider_info(matches[1], matches[2]);
	}
}

function update_popup_position(selector) {
	var cur_scroll = get_scroll_values();

	var container = $(selector);
	var padding_width = parseInt(del_noise_str($(container).css("padding-right"))) + parseInt(del_noise_str($(container).css("padding-left")));
	var padding_height = parseInt(del_noise_str($(container).css("padding-top"))) + parseInt(del_noise_str($(container).css("padding-bottom")));
	
	var window_height=$(window).height();
	var window_width=$(window).width();
	if (window.innerHeight){window_height=window.innerHeight}
	if (window.innerWidth){window_width=window.innerWidth}
	
	//var left_position = Math.round((Math.abs($(window).width() - ($(container).width() + padding_width)))/2) + cur_scroll[0];
	//var top_position = Math.round((Math.abs($(window).height() - ($(container).height() + padding_height)))/2) + cur_scroll[1];

	var left_position = Math.round((window_width - ($(container).width() + padding_width))/2) + cur_scroll[0];
	var top_position = Math.round((window_height - ($(container).height() + padding_height))/2) + cur_scroll[1];
	
	if (left_position < 0) {left_position = 0;}
	if (top_position < 10) {top_position = 10;}
	
	$(container).css({
		'left' : left_position,
		'top': top_position
	});
}

function show_provider_info(good_id, place_id) {
	$('#provider_info_container').remove();
	$('#provider_info_overlay').remove();

	var provider_info_overlay = $('<div id="provider_info_overlay"></div>');
	var provider_info_container =
	$('<div id="provider_info_container">' +
			'<img id="provider_info_close" width="16" height="15" ' +
				'src="/pics/icon_close.gif" alt="Закрыть" title="Закрыть"/>' +
			'<div class="provider_info">Идет загрузка информации о продавце...</div>' +
		'</div>');
	
	$(document).keyup(function(event){
		if (event.keyCode == 27) {
	    	if ($("#provider_info_overlay").css("display") == 'block'){
				$('#provider_info_container').remove();
				$('#provider_info_overlay').remove();
	    	}
	    }
	});
	
	provider_info_overlay.css({
		'width': $(document).width(),
		'height': $(document).height(),
		'opacity': '0.5',
		'-moz-opacity': '0.5',
		'position': 'absolute',
		'top': '0',
		'left': '0',
		'z-index': '576',
		'background-color': '#000'
	});

	
	provider_info_container.css({
		'text-align': 'center',
		'position': 'absolute',
		'z-index': '578',
		'background-color': '#ffffff',
		'opacity': '1',
		'-moz-opacity': '1',
		'width': 600,
		'margin': '0 !important',
		'padding': '20px 35px 50px 35px',
		'-moz-border-radius': '5px',
		'-webkit-border-bottom': '5px'
	});

	$('body').append(provider_info_overlay);
	$('body').append(provider_info_container);

	$('#provider_info_close').click(function () {
		$('#provider_info_container').remove();
		$('#provider_info_overlay').remove();
	});
	
	update_popup_position('#provider_info_container');
	
	$.getScript("http://www.partner.by/web/click.cgi?good_id=" + good_id + "&place_id=" + place_id + '&provider_info=1',
		function (data, textStatus) {
		}
	);
	
	return false;
}

//функция, которая удаляет из строки все, что не цифры, возвращает целое положительное число 
function del_noise_str(str) {
	if (typeof str != 'undefined') {
		var re = new RegExp('[^0-9]', "g");
		str = del_first_zeros(str.replace(re, ""));
		if (str == ''){str=0}
	}
	return str;	
}

function init_autocomplete() {	
	 $("input[name=search_text]").autocomplete("/autocomplete", {			 
		 cacheLength: 0,
		 delay: 300,
		 selectFirst: false,
		 scroll: false,
		 matchSubset: false,
		 mustMatch: false,
		 minChars: 2
	 });
}

function filters_inputs_init(){
	
	//alert('!!!');
	$("#filters_form select").change(function () {
		var select = $(this);
		$(".expand:selected", select).each(function () {
			var el = $(this);
			
			var new_control =
				$('<input>').attr({"type":"hidden","name":("multiple_" + select.attr("name")),"value":1});

			// конвертируем select в чекбоксы
			var options = select.options;

			var container = $('<div>');
			
			$("option", select).each(function () {
				if (!$(this).hasClass('expand') && $(this).text() != 'Все') {
					container
						.append(
							$("<input>")
							.attr({"type":"checkbox","id":$(select).attr("name") + '_' + $(this).val(),"name":$(select).attr("name")})
							.val($(this).val())
						)
						.append(
							$("<label>").css({"cursor":"pointer"})
								.text(' ' + $(this).text()).attr({"for":$(select).attr("name") + '_' + $(this).val()})
						)
						.append("<br>");
				}
			});

			container.append(new_control);
			select.replaceWith(container.html());
		});
	});
}