You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
194 lines
8.0 KiB
194 lines
8.0 KiB
$(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('<a href="' + tm_url + '">Остановить поиск и перейти к результатам</a>');
|
|
} 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();
|
|
});
|
|
});
|
|
|
|
|
|
}); |