$(function(){ // SearchForm function send () { var request = $("#trademark-search-request").val(), $form = $('.trademark-search-form'), $loading = $('.trademark-search-loading'), $status_list = $('.trademark-search-loading-status'), $count = $('#trademark-search-count'), $title = $('#trademark-search-request-value'), $sending = $('#trademark-search-sending'), $identity = $('#trademark-search-identity'), $contains = $('#trademark-search-contains'), $similar = $('#trademark-search-similar'), $wait = $('#trademark-search-wait'), slug = '', iteration = 0; function update_status(data) { var identity = data['identity'], contains = data['contains'], similar = data['similar'], completed = identity['status'] == 'finished' && contains['status'] == 'finished' && similar['status'] == 'finished', almost_completed = identity['status'] == 'finished' && contains['status'] == 'finished' && identity['count'] > 0, show_link = identity['status'] == 'finished' || contains['status'] == 'finished' || similar['status'] == 'finished', tm_url = '/ru/trademarks/online-search/results/' + slug + '/'; if(identity['status'] == 'finished') { var count = identity['count']; if(count > 0) { $identity.text(GetNoun(count, 'Найден', 'Найдены', 'Найдено') + ' '+ count + ' ' + GetAdj(count, 'такой', 'таких') + ' ' + GetNoun(count, 'знак', 'знака', 'знаков')+ ' в ' + identity['nices'] + ' ' + GetNoun(identity['nices'], 'классе', 'классах', 'классах')); } else { $identity.text('Точно таких же знаков не найдено'); } } if(contains['status'] == 'finished') { var count = contains['count']; if(count > 0) { $contains.text(GetNoun(count, 'Обнаружен', 'Обнаружены', 'Обнаружено') + ' ' + count + ' ' + GetAdj(count, 'похожий', 'похожих') + ' ' + GetNoun(count, 'знак', 'знака', 'знаков')); } else { $contains.text('Похожих знаков не обнаружено'); } } if(similar['status'] == 'finished') { var count = similar['count']; if(count > 0) { $similar.text(GetNoun(count, 'Подобран', 'Подобраны', 'Подобрано') + ' ' + count + ' ' + GetAdj(count, 'производный', 'производных') + ' ' + GetNoun(count, 'знак', 'знака', 'знаков')); } else { $similar.text('Не удалось подобрать производных знаков'); } } if(iteration > 3) { $wait.show(500); } if(show_link && iteration > 5) { var href = '' $wait.html('Остановить поиск и перейти к результатам'); } else { console.log(iteration); } if(completed || almost_completed) { yaCounter950321.reachGoal('TrademarkSearchResults'); ga('send', 'event', 'TrademarkSearch', 'results', document.title); document.location.href = tm_url; } else { iteration += 1; setTimeout(function () { get_status(slug); }, 10000); } } function get_status(slug) { try { $.get("/ru/trademarks/online-search/request/" + slug + "/").done(function(data) { update_status(data); }); } catch (err) { setTimeout(function () { get_status(slug); }, 5000); } } yaCounter950321.reachGoal('TrademarkSearchClick'); ga('send', 'event', 'TrademarkSearch', 'click', document.title); // Show Loading Block $title.text(request); $form.hide(); $loading.show(); $sending.show(); $.post("/ru/trademarks/online-search/request/", { 'keyword': request}).done(function(data) { var tm_count = Math.floor(Math.random() * (3000000 - 1000000) + 1000000); $('.trademark-search-count').text(tm_count.toLocaleString() + ' знаков') $count.show(500); $identity.delay(3000).show(500); $contains.delay(6000).show(500); $similar.delay(12000).show(500); slug = data['slug']; update_status(data); }) .fail(function(data) { console.log( "error " ); console.log(data); }) .always(function(data) { console.log( "finished" ); console.log(data); $sending.hide() }); } $('#trademark-search-example').click(function(event) { var keyword = $('#trademark-search-example').text(); event.preventDefault(); $("#trademark-search-request").val(keyword); }); $('#trademark-search-request').keypress(function (e) { if (e.which == 13) { send(); return false; //<---- Add this line } }); $('#trademark-search-submit').click(function(){ send(); }); // Results $('.trademark-search-show-products').each(function() { var product_id = $(this).attr('product-id') $(this).click(function () { var $list = $(''); $('.trademark-search-nice-busy-products[product-id=' + product_id + ']').slideToggle('slow'); }); }); $('.load-more-results').each(function () { var results_count = $(this).find(".load-more-result").size(), showed = 6, $this = $(this), $count = $(this).find('.load-more-count'); function update_count() { var count = results_count - showed; if(count > 0) { $this.find('.load-more-li').css('display', 'block'); } else { $this.find('.load-more-li').css('display', 'none'); } if($this.attr('list-type') == 'nices') { $count.text(count + ' ' + GetNoun(count, 'класс', 'класса', 'классов')); } else { $count.text(count + ' ' + GetNoun(count, 'знак', 'знака', 'знаков')); } } function show_more() { var display_value = 'inline-block' if($this.attr('list-type') == 'nices') { display_value = 'block' } $this.find('.load-more-result:lt(' + showed + ')').css('display', display_value); } show_more(); update_count(); $this.find('.load-more').click(function () { showed = ( showed + 6 <= results_count) ? showed + 6 : results_count; show_more(); update_count(); }); }); });