//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;
var cur_domain = "." + window.location.hostname.match(/\w+\.\w+$/);

$(document).ready(function () {
	
	logo_repositioning();
	load_images();
	compare_init();
	index_init();
	compare_hide_equal_fields_init();
	sorting_init();
	show_provider_info_init();	
	init_goods_buttons();
	init_search_form();
	init_autocomplete();
	
	$(window).resize(function(){
		logo_repositioning();
	});

	init_banner_index();
	rotate_popular_goods();
	filters_inputs_init();
	
});

function rotate_popular_goods() {
	var popular_depts = [];
	$(".popular_goods_depts .dept").each(function () { popular_depts.push($(this)) });
	
	if (popular_depts.length > 1) {
		var next_dept = 0;

		var timer = setInterval(function () {
			popular_depts[next_dept].click();

			if (next_dept == popular_depts.length - 1) {
				next_dept = 0;
			} else {
				next_dept++;
			}

			/* img preloading
			var dept = popular_depts[next_dept];
			if (!dept.data("images_loaded")) {
				$("#pg_" + dept.attr("name") + " img").each(function () {
					var img = new Image;
					img.src = $(this).attr("src");
				});
				dept.data("images_loaded", true);
			}
			*/
		}, 3500);

		$(".popular_goods").hover(function () { clearInterval(timer); $(this).unbind("hover"); });
	}
}

var get_id = {
	"dept" : function (link) {
		if (link == null || link.attr('href') == null) {
			return null;
		}

		var res = link.attr('href').match(/\/d(\d+)-/);
		if (res != null) {
			return res[1];	
		}

		res = link.attr('href').match(/dept\/(\d+)/);
		if (res != null) {
			return res[1];	
		}
		return null;
	},
	"info" : function (link) {
		var res = link.attr('href').match(/\/i(\d+)-/);

		if (res != null) {
			return res[1];	
		}

		res = link.attr('href').match(/info\/(\d+)/);
		if (res != null) {
			return res[1];	
		}
		return null;
	}
};

//инициализируем поисковую форму
function init_search_form(){
	//проверяем, есть ли на странице checkbox в форме поиска (искать только в определенном разделе)
	if ($("#search_this_dept").length){
		$("#search_this_dept").change(function() {
			check_search_checkbox();
		});
		check_search_checkbox();
	}	
	
	// обработка события нажатия на текст "искать только в этом разделе"
	$("#search_only_this_dept").click(function () {
		$("#search_this_dept").trigger('click');
	});
	
	// обработка нажатия на div вокруг поисковой формы - чтобы фокус перемещался в input
	$("div.input_cont3").click(function () {
		$("input.sl_input",$(this)).focus();
	});
	
	// обработка нажатия на div кнопки "Искать" - сабмитим форму
	$("div.search_line div.button_img").click(function () {
		$('#main_search').submit();
	});
	
	// обработка сабмита поисковой формы (не пропускаем пустые запросы)
	$("#main_search").submit(function () {
		if ($("input.sl_input",$(this)).val() == ''){
			alert("Пожалуйста, введите текст для поиска.");
			$("input.sl_input",$(this)).focus();
			return false;
		}
		
	});
	
	
}
	

//инициализируем зеленые кнопки товаров
function init_goods_buttons(){
	
	//клики на кнопках
	$("div.button_compare").click(function () {
		
	});
	$("div.button_buy").click(function () {
		
	});

	//наведение на кнопки
	$("div.button_compare").hover(
		function () {$(this).addClass('hover');}, 
		function () {$(this).removeClass('hover');}
	);
	$("div.button_buy").hover(
		function () {$(this).addClass('hover');}, 
		function () {$(this).removeClass('hover');}
	);
}



function index_init(){
	
	// отображение стрелки на тизерах
	$('table.teasers_table div.all').hover(
		function () {$(this).addClass('hover');}, 
		function () {$(this).removeClass('hover');}
	);
	
	// отображение белой подложки под списком разделов
	$('div.depts_list div.dept').hover(
		function () {
			$(this).addClass('dept_hover');
			//$('a.more',$(this)).show();
		}, 
		function () {
			$(this).removeClass('dept_hover');
			//$('a.more',$(this)).hide();
		}
	);

	// наведение на раздел в линейке популярных разделов
	$('#popular_goods_depts td.dept').hover(
		function () {
			if (!$(this).hasClass('selected')){
				$(this).addClass('hover');
				$(this).addClass('s2');
				//$('a.more',$(this)).show();
			}
		}, 
		function () {
			if (!$(this).hasClass('selected')){
				$(this).removeClass('s2');
				$(this).removeClass('hover');
				//$(this).removeClass('dept_hover');
				//$('a.more',$(this)).hide();
			}
		}		
	);
	
	// клик на разделе в линейке популярных разделов
	$('#popular_goods_depts td.dept').click(function (){
		var sel_td = $('#popular_goods_depts td.selected');
		if (!$(this).hasClass('selected')){			
			$(sel_td).removeClass('s1');
			$(sel_td).removeClass('selected');
			$('div.right',$(sel_td)).removeClass('sel');
			$('div.right',$(sel_td)).removeClass('s1');
			$(this).removeClass('s2');
			$(this).removeClass('hover');

			$(this).addClass('selected');
			$(this).addClass('s1');
			$('div.right',$(this)).addClass('s1');
			$('div.right',$(this)).addClass('sel');
			
			var old_dept_id = $(sel_td).attr('name');
			var new_dept_id = $(this).attr('name');
			$('#pg_'+old_dept_id).hide();
			$('#pg_'+new_dept_id).show();
			
		}
	});

	
}
function logo_repositioning(){
	var window_width=$(window).width();
	if (window.innerWidth){window_width=window.innerWidth}
	var window_width=$("div.body_bg2").width();
	
	var design_width=$("div.page_container2").width() - 14;
	//if (design_width > window_width){design_width = window_width}
	if (window_width < (design_width + 35)){window_width = (design_width + 35)}
	var hor_bg_offset = (window_width - design_width)/2 - 116;
	//var hor_bg_offset = (window_width - design_width)/2;
	
	//alert(window_width+ ' '+design_width+' => '+ hor_bg_offset);
	$("div.body_bg2").css('background-position',hor_bg_offset+'px 0px');
}



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 ($("#search_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/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(action, cookie_object) {
	var compare_control = $(".compare_control:has(.num)");
	var compare_control_container = compare_control; //_cont
	var compare_items_count = $(".num", compare_control);
	
	// посчитать количество выбранных товаров
	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++;
		}
	}

	compare_items_count.text(goods_count);

	function compare_button_init() {
		compare_control.attr("title", "");
		compare_control_container.unbind('click');
		$("div.compare_menu").remove();

		if ($('#compare_link').size() > 0) {
			compare_control_container.insertBefore($('#compare_link'));
			$('#compare_link').remove();
		}

		if (goods_count > 0) {
			compare_control.removeClass('blink');
			compare_control.addClass('active');

			// добавить выпадающее меню выбора раздела для сравнения

			if (depts_count == 1) {
				compare_control_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);

				compare_control_container.prepend(menu_control);

				compare_control_container.click(function () {
					show_compare_list(menu_control);
				});
			}
			
		} else {
			compare_control.attr("title", "Вы еще не выбрали ни одного товара для сравнения");
			compare_control.removeClass('active');
			compare_control.removeClass('blink');
		}

		$('div.compare_menu div').click(function() { 
			if ($('a',$(this)).size() > 0){
				location.href = $('a',$(this))[0].href;
			}
		});

		compare_control_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();
			}
			
		});
	}	
	
	if (action == 'inc') {
		// увеличить число товаров

		compare_control.removeClass('active');
		compare_control.addClass('blink');

		window.setTimeout(function () {
			compare_button_init();
		}, 1000);

	} else if (action == 'dec') {

		compare_control.removeClass('active');
		compare_control.addClass('blink');

		window.setTimeout(function () {
			compare_button_init();
		}, 1000);
	
	} else if (action == 'init') {

		compare_button_init();

	}
}

function show_compare_list() {
	var compare_div=$('.compare_menu_container');

	$(compare_div).addClass('shwd');
	$(compare_div).show();
}

function hide_compare_list() {
	var compare_div=$('.compare_menu_container');

	if ($(compare_div).hasClass('shwd')){
		$(compare_div).hide();
		$(compare_div).removeClass('shwd');
	}
}

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: '/', domain: "." + window.location.hostname.match(/\w+\.\w+$/) });
}

function compare_init(selected) {
	// максимальное число товаров для сравнения
	var max_goods_selected = 100;
	
	// получить список всех товаров на странице
	var goods = $(".good_info");

	// получить список выбранных товаров на сравнение из cookie
	var cookie_object = compare_read_cookie();

	// получить текущий выбранный раздел
	var dept_id;
	var dept_name;
	
	try {
		dept_id = get_id["dept"]($(".dept.selected a"));	
		dept_name = $(".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) {
			var dept_info_href = $('.good_dept a', $(selected).parents(".info:first"));
			dept_id = get_id["dept"](dept_info_href);
			dept_name = dept_info_href.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_title = $('.good_title a', this);
		
		if (good_title.length > 0) {
			// получить идентификатор товара из заголовка на странице разделов
			good_id = get_id["info"](good_title);
		} else {
			// получить идентификатор товара из ссылки
			var cur_loc = $("<a>").attr("href", window.location);
			good_id = get_id["info"](cur_loc);
		}

		// если раздел не доступен - то это страница поиска
		if (dept_not_defined) {
			var dept_anchor = $('.good_dept a', this);
			dept_id = get_id["dept"](dept_anchor);
			//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>';
		}

		// удалить уже существующие
		var ctrl = $('.compare_control:has(input:checkbox)', this);
		var checkbox_data;
		
		if (0) {
			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 +
			'/> ';
		}

		ctrl.html(checkbox_data + text);

		// восстановить номер раздела
		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 = get_id["dept"]($(".dept.selected a"));

	// удалить товар из сравнения
	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());
		}
	)
	.hover(
		function () {$(this).addClass('hover');}, 
		function () {$(this).removeClass('hover');}
	);
	
	$('#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">' +
			'<div class="icon_close" style="cursor:pointer; float:right; position:relative; left: 26px; bottom: 11px;" id="provider_info_close" width="16" height="15" 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 del_first_zeros(string) {
	return string.replace(/(^0+)/g, "");
}

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());
		});
	});
}

function init_banner_index() {
	// прячем последний комментарий, если есть баннер
	$(".last_comments").each(function () {
		var el = $(this);
		$(".b240x400_index_l1", el).each(function () {
			$(".comment:last", el).hide();
		});
	});
}

function replace_bnnr(place_id, html) {
	$("#bnpl" + place_id).replaceWith(html);
}

function load_banner() {
	var el = $(this);
	var id = el.attr("id");
	var url = el.attr("url");
	var js = document.createElement('script');
	js.src = url + "&callback=replace_bnnr";
	var head = document.getElementsByTagName('head')[0];
	head.appendChild(js);
}

$(function () {
	$(".bnr").each(load_banner);
});
