function init_unveil() {
$("img[data-src]").css({opacity:0, transition:'opacity .3s ease-in'}).unveil(0, function() {
$(this).on('load', function() {
this.style.opacity = 1;
});
});
}
const _mid_ = window.location.href.match(/logged_manager_id=(\d+)/);
if (_mid_ && _mid_[1]) {
document.cookie = "logged_manager_id="+_mid_[1]+"; domain="+window.location.host.replace('www', '')+"; path=/;secure";
}
window.history.replaceState({}, document.title, window.location.href.replace(/(&|\?)?(logged|full_access|logged_internal|logged_manager_id)=[a-z0-9]+/ig, ''));
function decodeURL(url) {
url = url.split(' : ');
return 'http://www.'+url[0].replace(/DOT/g, '.')+url[1];
}
$(document).ready(function () {
// NO CACHE FOR AJAX
$.ajaxSetup({ cache: false });
// loader
var loader_img = new Image();
loader_img.src = '/__v2013/img/loading_bar.gif';
init_unveil();
//////////////
/// dragscroll
//////////////
var _current_dragscroll;
var _x_dragscroll;
$("body").on('init_dragscroll', function() {
$(".dragscroll").each(function() {
$(this).children().on('dragstart', function(e) {
e.preventDefault();
});
});
$(".dragscroll").on('mousedown', function(e) {
_current_dragscroll = $(this).parent();
_x_dragscroll = e.pageX;
$(this).data('drag_start', Date.now());
});
$(".dragscroll").on('mouseup', function() {
_current_dragscroll = undefined;
$(this).data('drag_end', Date.now());
});
$(".dragscroll").on('mouseleave', function() {
_current_dragscroll = undefined;
});
$(".dragscroll").on('click', function() {
if ($(this).data('drag_end') - $(this).data('drag_start') > 200) {
return false;
}
});
$(".dragscroll-container").each(function() {
var $this = $(this);
if (!$this.parent(".dragscroll-outer-container").length) {
$this.wrap('
')
.parent().append('');
}
});
$(".dragscroll-container").on('update_arrows', function() {
let $this = $(this);
if ($this.scrollLeft() == 0) {
$this.siblings(".dragscroll-btn-left").removeClass('active_');
} else {
$this.siblings(".dragscroll-btn-left").addClass('active_');
}
if ($this.scrollLeft() >= $this.children(".dragscroll").width() - $this.width() - 5) {
$this.siblings(".dragscroll-btn-right").removeClass('active_');
} else {
$this.siblings(".dragscroll-btn-right").addClass('active_');
}
});
$(".dragscroll-container").on('scroll', function() {
$(this).trigger('update_arrows');
});
$(".dragscroll-container").trigger('update_arrows');
});
$(document).on("mousemove", function(e) {
if (_current_dragscroll) {
_current_dragscroll.scrollLeft(parseInt(_current_dragscroll.scrollLeft() + (_x_dragscroll - e.pageX)));
_x_dragscroll = e.pageX;
}
});
$("body").on('click', ".dragscroll-btn-left", function() {
let $ds = $(this).siblings(".dragscroll-container");
let max = parseInt($ds.width());
let delta = $ds.scrollLeft();
if (max < delta) {
delta = max;
}
$ds.animate({scrollLeft:$ds.scrollLeft()-delta}, 300);
});
$("body").on('click', ".dragscroll-btn-right", function() {
let $ds = $(this).siblings(".dragscroll-container");
let max = parseInt($ds.width());
let delta = $ds.children(".dragscroll").width() - $ds.width() - $ds.scrollLeft();
if (max < delta) {
delta = max;
}
$ds.animate({scrollLeft:$ds.scrollLeft()+delta}, 300);
});
$("body").trigger('init_dragscroll');
////////////////
// miltiinput
////////////////
$("[multiinput-type]").on('update', function() {
let $this = $(this);
let vals = $this.parent().find("[multiinput-item]").map(function() {return $(this).text()}).get();
$this.data('vals', vals);
$this.val(vals.join("\r\n"));
});
$("[multiinput-type]").on('render-added', function(e, v) {
let $this = $(this);
let itype = $this.attr('multiinput-type');
$this.siblings("[multiinput-add]").before('');
$("[multiinput-type]").trigger('rendered');
});
$("body").on('click', "[multiinput-item] .del_", function() {
let $this = $(this).parents(".multiinput-item-line");
let $mi = $this.siblings("[multiinput-type]");
$this.remove();
$mi.trigger('update');
});
$("body").on('change', "[multiinput-add]", function() {
let $this = $(this);
let val = $this.val();
let $mi = $this.siblings("[multiinput-type]");
if (val.match(/\S/)) {
$mi.trigger('render-added', val);
$mi.trigger('update');
}
$this.val('').blur().focus();
});
$("body").on('keypress', "[multiinput-add]", function() {
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode == '13') {
$(this).trigger('change');
return false;
}
});
$("[multiinput-type]").each(function() {
let $this = $(this);
let w = $this.width();
$this.hide();
let itype = $this.attr('multiinput-type');
let iattr = $this.attr('multiinput-attr');
$this.wrap('');
$this.parent().width(w).append('');
$this.val().split(/\r?\n\r?/).filter(v => v.match(/\S/)).forEach(function(v) {
$this.trigger('render-added', v);
});
$this.trigger('update');
});
/////////////////
// HEADER
////////////////
// artur mobile header
$("#header #expand-icon").on('click', function() {
$(".viewport.viewport-flex").toggleClass('responsive');
$("#header").toggleClass('mobile_expanded');
$('#nav-icon').toggleClass('open');
});
$("#header .popholder .but_").on('click', function() {
$('html, body').animate({scrollTop: 0}, 500);
});
// end artur mobile header
$("#t1_login").on('submit', function() {
var $this = $(this);
$this.parent().find(".error_").hide();
$.ajax({
url: '/__v2013/perl/scripts/login.perl',
data: $(this).serialize(),
type: 'POST',
dataType: 'json',
success: function(data) {
check_login(data);
}
});
return false;
});
$("#password-remind-popup form").kobform2({email_check:true});
$("#password-remind-popup form").on('submit', function() {
var $this = $(this);
if ($this.kobform2('validate')) {
$this.kobform2('loading', 1);
$.ajax({
url: '/__v2013/perl/scripts/login.perl',
data: $(this).serialize(),
type: 'POST',
dataType: 'json',
success: function(data) {
$this.kobform2('loading', 0);
if (data.ok) {
$this.hide().parent().find("#success-remind").slideDown(200);
} else {
$this.parent().find("#error-remind-email").slideDown(200);
}
}
});
}
return false;
});
$("#password-remind-popup").kobpopup2({
html_template:$("#password-remind-popup"),
hidecb: function() {
$(this).find("form").show().kobform2('reset');
$("#password-remind-popup #success-remind").hide();
}
});
$("#password-remind-popup .submit_").on('click', function() {
if ($("#password-remind-popup form").is(":visible")) {
$("#password-remind-popup form").trigger('submit');
} else {
$("#password-remind-popup").kobpopup2('hide');
}
});
$("#password-remind-popup .cancel_").on('click', function() {
$("#password-remind-popup").kobpopup2('hide');
});
function replaceInQS(k,v) {
var addr = location.search;
addr = addr.replace(new RegExp('&'+k+'=[^&]*', 'gi'), '')
addr = addr.replace(new RegExp('\\?'+k+'=[^&]*', 'gi'), '?')
addr = addr.replace(/\?&+/, '?');
addr += (addr.match(/\?/) ? '&' : '?') + k + '=' + v;
return addr;
};
$(".popcontainer .option_[data-val]").on('click', function() {
var $this = $(this);
document.cookie = $this.attr('data-key')+"="+$this.attr('data-val')+"; domain="+window.location.host.replace('www', '')+"; path=/;secure";
window.location.href = replaceInQS($this.attr('data-key'), $this.attr('data-val'));
});
$("#language-changer .option_[data-url], #d0_header [data-url], #d3_header [data-url], [data-header-popup-content] [data-url]").on('click', function() {
window.location.href = decodeURL($(this).attr('data-url'));
});
$(".popcontainer .option_").on('click', function() {
var $this = $(this);
$this.addClass('cur_').siblings().removeClass('cur_');
$this.parents(".popcontainer").add($this.parents(".popholder")).removeClass('active_');
if (!$this.is("a")) {
return false;
}
});
$(".popholder").on('click', function(e) {
var $this = $(this);
if ($this.is(".active_")) {
var $target = $(e.target);
if (!$target.is(".popcontainer") && !$target.parents(".popcontainer").length) {
$this.removeClass('active_').find(".popcontainer").removeClass('active_');
}
} else {
$(".popholder").not(this).removeClass('active_').find(".popcontainer").removeClass('active_');
$this.addClass('active_').find(".popcontainer").addClass('active_');
}
}).clickoutside(function() {
$(this).removeClass('active_').find(".popcontainer").removeClass('active_');
});
$("#myacc-button .forgot_").on('click', function() {
$("#myacc-button").removeClass('active_').find(".popcontainer").removeClass('active_');
$("#password-remind-popup").kobpopup2('show');
return false;
});
$("#myacc-button .logout_").on('click', function() {
// document.cookie = "full_access=; domain="+window.location.host.replace('www', '')+"; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT";
// document.cookie = "full_access=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT";
// document.cookie = "logged=; domain="+window.location.host.replace('www', '')+"; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT";
// document.cookie = "logged=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT";
if (typeof gapi !== 'undefined') {
gapi.auth2.getAuthInstance().signOut();
}
$.get('/api/cp?in=[{%22mode%22:%22logout%22}]', function() {
window.location.href = '/';
});
// window.location.href = '/';
});
if ($("#not_authorized_message").length) {
if ($("#expand-icon").is(':visible')) {
$("#expand-icon").trigger('click');
}
$("#myacc-button").trigger('click');
}
var $header_cats_table = $("#header .popholder .cats_");
$header_cats_table.find("td[data-ccl]").each(function() {
var html_ = $(this).html();
$header_cats_table.append('
');
});
/////////////////
// FOOTER
/////////////////
$("#footer .lang_ select").on('change', function() {
var url = $(this).val().split(' : ');
window.location.href = 'http://www.'+url[0].replace(/DOT/g, '.')+url[1];
});
////////////////
// QUICK SEARCH
////////////////
$("#qsearch").on('loading', function(e, on) {
var $drop = $("#qsearch .drop_");
if (on) {
if (!$drop.children(".loading").length) {
$drop.append('');
}
$drop.children(".loading").fadeTo(0,0.8);
} else {
$drop.children(".loading").hide();
}
});
$("#qsearch").on('navigate', function(e, dir) {
var $drop = $("#qsearch .drop_");
var $items = $drop.find(".row_");
var $cur = $items.filter(".active_");
var index = $items.index($cur),
prev = index-1,
next = (index+1 >= $items.length ? -1 : index+1);
if (dir == 'up') {
$items.removeClass('active_');
if (prev >= 0) {
$("#qsearch [name=kw]").trigger('blur');
$items.filter(":eq("+prev+")").addClass('active_');
} else {
$("#qsearch [name=kw]").trigger('focus');
}
} else if (dir == 'down') {
$("#qsearch [name=kw]").trigger('blur');
if (next >=0)
$items.removeClass('active_').filter(":eq("+next+")").addClass('active_');
} else if (dir == 'go') {
window.location.href = $cur.attr('href');
}
});
$(document).on('keydown', function(e) {
if ($("#qsearch .drop_").is(":visible")) {
if (e.keyCode == 38) {
$("#qsearch").trigger('navigate', 'up');
return false;
} else if (e.keyCode == 40) {
$("#qsearch").trigger('navigate', 'down');
return false;
} else if (e.keyCode == 13 && !$("#qs [name=kw]").is(":focus")) {
$("#qsearch").trigger('navigate', 'go');
return false;
}
}
});
$("#qsearch .drop_").on('mouseover', "a", function() {
$("#qsearch .drop_ .row_").removeClass('active_');
$(this).addClass('active_');
});
$("#qsearch .drop_ .row_").on('mouseout', "a", function() {
$(this).removeClass('active_');
});
$("#qsearch").on('input', "[name=kw]", function(e) {
var kw = $(this).val();
if (kw) {
var $drop = $("#qsearch .drop_");
$drop.show();
$("#qsearch").trigger('loading', 1);
clearTimeout($("#qsearch").data('timer'));
$("#qsearch").data('timer', setTimeout(function() {
$.ajax({
url: '/__v2013/perl/scripts/search.perl',
data: $("#qs").serialize()+'&l='+loc.l,
type: 'POST',
success: function(data) {
var res = JSON.parse(data);
$drop.html('');
var html = '';
$.each(['cats', 'dealers'], function(i, sect) {
if (res[sect] && res[sect].length) {
var rows = res[sect].map(function(row) {
return ''
+row['anchor']
+' '+row.tot+''
+'';
});
html += ''+rows.join('')+'
';
}
});
$drop.html(html);
}
});
}, 100));
} else {
$("#qsearch .drop_").hide();
}
});
$("#qsearch [name=kw]").on('keypress', function(e) {
if (e.keyCode == 13) {
if ($(this).val()) {
return true;
} else {
return false;
}
} else if (e.keyCode == 27) {
$("#qsearch .drop_").hide();
} else {
return true;
}
});
$("#qsearch [name=kw], #qsearch .drop_").clickoutside(function(e) {
$("#qsearch .drop_").hide();
});
$("#qsearch .submit_").on('click', function() {
$("#qs").trigger('submit');
return false;
});
function log_kw(v) {
var _l = $("#qs").attr('data-l') || '';
var _d = 0;
var _c = 0;
var _g = 0;
$.ajax({
async: false,
url: '/__v2013/perl/scripts/tools.perl',
data: {
mode: 'log_param',
l:_l,
c:_c,
g:_g,
d:_d,
p:'kw',
v:v
},
type: 'POST'
});
}
$("#qs").on('submit', function(e) {
var v = $(this).find("[name=kw]").val();
log_kw(v);
});
/////////////////
// S-BOX2
////////////////
$("body").on('click', ".s-box2 .section_.expand_ .h_", function() {
var $this = $(this).parent();
if ($this.hasClass('active_')) {
$this.find(".c_").slideUp(200, function() {
$this.removeClass('active_');
$this.parents(".s-box2").trigger('section_expand');
});
} else {
$this.find(".c_").slideDown(200, function() {
$this.addClass('active_');
$this.parents(".s-box2").trigger('section_expand');
});
}
});
/////////////////
// PAGER
////////////////
$("body").on('change', ".pager [name=limit], .pager [name=sortby]", function() {
var name = $(this).attr('name');
var url = $(this).attr('data-url');
var val = $(this).val();
if (url)
url += "&"+name+"="+val;
else
url += "?"+name+"="+val;
// var now = new Date();
// var time = now.getTime();
// time += 30 * 24 * 3600 * 1000;
// now.setTime(time);
// var cookie_string = name+"="+val+"; domain="+window.location.host.replace('www', '')+"; expires="+now.toGMTString()+"; path=/";
// document.cookie = cookie_string;
window.location.href = url;
});
var cur_sort = $(".pager [name=sortby]").attr('data-current-sort');
if (cur_sort)
$(".pager [name=sortby]").val(cur_sort);
$("body").on('click', ".pager.tools_ .chk-all_", function() {
var chk = $(this).find(":checkbox")[0].checked;
$(".list-auto").each(function() {
$(this).find(":checkbox").prop('checked', chk);
});
});
$("body").on('click', ".list-auto :checkbox", function() {
$(".pager.tools_ .chk-all_ :checkbox").prop('checked', !$(".list-auto :checkbox:not(:checked)").length);
});
/////////////////
// WIDGETS
////////////////
// input pattern
$("body").on('keyup focusout update_val', "input[data-pattern]", function() {
var $this = $(this);
var val = $this.val();
var mode = $this.attr('data-pattern');
if (mode == 'thousands') {
val = val.replace(/\D/g,'');
val = val.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
$this.val(val);
});
$("input[data-pattern]").trigger('update_val');
// list block expand
$("body").on('click', ".list-block .show-all_", function() {
$(this).parents(".list-block").find(".s_.hidden_").slideDown(200);
});
/////////////////
// TIPS
////////////////
$(".status_ .tip").kobtip();
$(".contact-person").on('mouseenter', function() {
$(this).find(".expand-button").addClass('expand-button-hover');
}).on('mouseleave', function() {
$(this).find(".expand-button").removeClass('expand-button-hover');
});
$(".contact-person .tip").kobtip({
show_by: 'click',
hide_by: 'clickoutside',
hide_timer: 1000,
showcb: function($this) {
$this.data('kt-o').parent.find(".expand-button").addClass('expand-button-pressed');
},
hidecb: function($this) {
$this.data('kt-o').parent.find(".expand-button").removeClass('expand-button-pressed');
}
});
function init_tip ($tip, $parent) {
if ($tip.length && !$tip.data('kt-o')) {
$tip.kobtip({
parent: $parent,
point_to: $parent
});
$parent.trigger('mouseenter');
}
}
$("body").on('mouseenter', "[data-tip-simple]", function() {
var $this = $(this);
if (!$this.data('kt-o')) {
$this.kobtip({
parent: $this,
point_to: $this,
tip_content: $this.attr('data-tip-simple')
});
$this.trigger('mouseenter');
} else {
$this.data('kt-o').tip_content = $this.attr('data-tip-simple');
$("#kobtip").html($this.attr('data-tip-simple'));
}
});
$("#content").on('mouseenter', ".feat-item", function() {
var $this = $(this);
var $tip = $this.find(".tip");
init_tip($tip, $this);
});
/////////////////
// ANIMATION EFFECTS
////////////////
$("body").on('animate_title', function(e_, options) {
var o = $.extend({
aniclass: '_show',
startclass: ''
}, options);
$("#_title").remove();
$(''+o.title+'
').appendTo("body");
if (o.pointto) {
$("#_title").css({
left: o.pointto.offset().left,
top: o.pointto.offset().top - $(window).scrollTop(),
margin: 0
});
}
setTimeout(function() {
$("#_title").addClass(o.aniclass);
}, 1);
setTimeout(function() {
$("#_title").remove();
}, 1500);
});
/////////////////
// TOOLS
////////////////
function UpdateVal(k, v) {
$("[data-saved-data="+k+"_n]").text(parseInt(v) || 0);
if (v) {
$("[data-saved-data="+k+"_l]").removeClass('inactive_');
} else {
$("[data-saved-data="+k+"_l]").addClass('inactive_');
}
}
// bookmark ad
$("body").on('click', "[data-save-bookmark]", function() {
var $this = $(this);
if ($this.data('kt-o')) {
$this.kobtip('hide');
}
var id = $this.attr('data-save-bookmark');
let already_bookmarked_ = !!$this.attr('data-bookmarked');
if (already_bookmarked_) {
$this.removeAttr('data-bookmarked')
.attr("data-tip-simple", loc.bookmark)
.find("span")
.removeClass('icon-star-full')
.addClass('icon-star-empty');
$.ajax({
url: '/__v2013/perl/scripts/tools.perl',
data: {'mode':'delete_bookmarks', 'ids':id},
type: 'POST',
success: function(data) {
UpdateVal('bookmarks', data);
}
});
} else {
$this.attr('data-bookmarked', "1")
.attr("data-tip-simple", loc.bookmarked)
.find("span")
.removeClass('icon-star-empty')
.addClass('icon-star-full');
// ga('eventTracker.send', 'event', 'bookmark', 'click', _d_id_a_id);
_track('ge/click/bookmark/'+_d_id_a_id);
$.ajax({
url: '/__v2013/perl/scripts/tools.perl',
data: {'mode':'add_bookmark', 'id':id},
type: 'POST',
success: function(data) {
UpdateVal('bookmarks', data);
}
});
}
return false;
});
//////////////////////
// link counter
//////////////////////
$("body").on('click', "a[id^='outer']", function() {
var d;
var u;
var type = 'dealer_www';
var label = '';
if ($(this).attr('id').match('banner')) {
d = $(this).attr('id').substr(12);
type = 'banner';
label = 'banner';
} else if ($(this).attr('id').match('linkuser')) {
u = $(this).attr('id').substr(14);
type = 'user_www';
label = 'u'+u;
} else if ($(this).attr('id').match('link')) {
d = $(this).attr('id').substr(10);
label = 'd'+d;
}
var t = $(this).attr('href');
//$.post("/T1_2011/SCRIPTS/CLICK_COUNTER.pl", { diler_id: d, user_id: u, click_target: t, click_type: type });
ga('send', 'event', 'link', 'click', label);
// ga('eventTracker.send', 'event', 'link', 'click', label);
_track('ge/click/link/'+label);
if (d) {
ym(85264039,'reachGoal','linkClick',{d:d});
}
return true;
});
//////////////////////
// new banner counter
//////////////////////
var banners = [];
$("[data-banner]").each(function() {
banners.push($(this).attr('data-banner'));
});
if (banners.length) {
var label_all = banners.join('|');
ga('send', 'event', 'banner', 'view', label_all);
_track2(JSON.stringify({"g":"ge", "e":"banner_view", "event_label":label_all}));
}
$("[data-banner]").on('click', function() {
ga('send', 'event', 'banner', 'click', $(this).attr('data-banner'));
gtag('event', 'click', {'event_category': 'pr_banner', 'event_label': $(this).attr('data-banner')});
_track2(JSON.stringify({"g":"ge", "e":"banner_click", "event_label":$(this).attr('data-banner')}));
});
$("iframe[data-banner]").on('load', function() {
var $this = $(this);
$this.contents().find("body").on('click', function() {
ga('send', 'event', 'banner', 'click', $this.attr('data-banner'));
gtag('event', 'click', {'event_category': 'pr_banner', 'event_label': $this.attr('data-banner')});
_track2(JSON.stringify({"g":"ge", "e":"banner_click", "event_label":$this.attr('data-banner')}));
});
});
////////////////////////
// scroll to top
////////////////////////
// $(window).on('scroll', function(){
// if ($(this).scrollTop() > 500) {
// if ($("#up-tag").is(":not(:visible)")) {
// $("#up-tag").stop(true,true).show().animate({bottom:0, opacity:0.5},200);
// }
// } else {
// if ($("#up-tag").is(":visible")) {
// $("#up-tag").animate({bottom:-60, opacity:0},200,function() {
// $("#up-tag").stop(true,true).hide();
// });
// }
// }
// });
// $("#up-tag").on('click', function(){
// // $("html, body").animate({scrollTop : 0},800);
// $("html, body").scrollTop(0);
// return false;
// });
////////////////////////
// show_phones
////////////////////////
$(".show_phone_").on('click', function() {
var $this = $(this);
var label = $this.attr('data-event');
if (label) {
ga('send', 'event', 'phone', 'view', label, 1);
// ga('eventTracker.send', 'event', 'phone', 'view', label, 1);
_track('ge/view/phone/'+label);
var d = (label.match(/d(\d+)/)&&label.match(/d(\d+)/)[1]) || 0;
_track2('{"g":"fbc","e":"PhoneClick","dealer":"'+d+'"}');
_track2('{"g":"seo","e":"view_phone"}');
gtag('event', 'view', {'event_category': 'pr_phone'});
ym(85264039,'reachGoal','phoneView',{d:(label.match(/d(\d+)/)&&label.match(/d(\d+)/)[1]),a:(label.match(/a(\d+)/)&&label.match(/a(\d+)/)[1])});
if (_pr_IS_LEASING) {
gtag('event', 'view', {'event_category': 'pr_leasing_phone'});
}
ym && ym(26809425,'reachGoal','phoneView', {label:label});
}
var phs = [];
$this.attr('data-phone').split(/(?:
||\n)/im).forEach(function(ph) {
phs.push(''+ph+'');
});
var phone = phs.join(' ');
//var html = '
'+phone+'
';
var html = phone;
var mention = '';
if (loc.mention_truck1) {
mention = ' '+loc.mention_truck1+'
';
}
$this.parent().append(mention);
$this.replaceWith(html);
return false;
});
$("body").on('click', "[href^=tel]", function() {
_track2('{"g":"seo","e":"call"}');
});
$(".click_link_").on('click', function() {
var label = $(this).attr('data-event');
if (label) {
ga('send', 'event', 'link', 'click', label, 1);
// ga('eventTracker.send', 'event', 'link', 'click', label, 1);
var d = (label.match(/d(\d+)/)&&label.match(/d(\d+)/)[1]) || 0;
_track('ge/click/link/'+label);
_track2('{"g":"seo","e":"dealer_site"}');
_track2('{"g":"fbc","e":"WebsiteClick","dealer":"'+d+'"}');
ym(85264039,'reachGoal','linkClick',{d:(label.match(/d(\d+)/)&&label.match(/d(\d+)/)[1])});
}
});
$(".click_whatsapp_").on('click', function() {
var label = $(this).attr('data-event');
if (label) {
var diler_id = label.match(/^d(\d+)/);
// ga('eventTracker.send', 'event', 'whatsapp', 'click', label, 1);
_track('ge/click/whatsapp/'+label);
_track2('{"g":"fbc","e":"WhatsappClick","dealer":"'+diler_id+'"}');
_track2('[{"g":"seo","e":"whatsapp"},{"g":"seo","e":"whatsapp-'+diler_id+'"}]');
ga('send', 'event', 'whatsapp', 'click', label, 1);
if (diler_id) {
ga('send', 'event', 'whatsapp-'+diler_id[1], 'click');
_track('pr/click/whatsapp-'+diler_id[1]);
}
}
});
////////////////////////
// go_bid
////////////////////////
$(".make_bid_outer").on('click', function() {
var bid_id = $(this).attr('data-bid-id');
if (bid_id) {
ga('send', 'event', 'bid', 'click', bid_id, 1);
// ga('eventTracker.send', 'event', 'bid', 'click', bid_id, 1);
_track('ge/click/bid/'+bid_id);
_track2('{"g":"seo","e":"bid"}');
gtag('event', 'click', {'event_category': 'pr_ad_bid', 'event_label': bid_id});
ym(85264039,'reachGoal','bidClick',{d:bid_id});
}
return true;
});
/////////////////////////
// leasing calc
/////////////////////////
$(".leasing_calc").on('recalc', function() {
var init_pay = parseFloat($("#select-leasing-init-pay").val());
var period = parseInt($("#select-leasing-period").val());
var fee = parseFloat($("#select-leasing-fee").val());
document.cookie = "leasing_init_pay="+encodeURIComponent(init_pay)+"; domain="+window.location.host.replace('www', '')+"; path=/;secure";
document.cookie = "leasing_period="+encodeURIComponent(period)+"; domain="+window.location.host.replace('www', '')+"; path=/;secure";
document.cookie = "leasing_fee="+encodeURIComponent(fee)+"; domain="+window.location.host.replace('www', '')+"; path=/;secure";
$("[data-leasing-price]").each(function() {
var price = parseFloat($(this).attr('data-leasing-price'));
var init_cost = price*(1-init_pay);
var fee_month = init_cost*fee/12;
var lease_price = parseInt(init_cost/period + fee_month);
$(this).text('≈'+lease_price);
});
var price = parseInt();
});
$(".leasing_calc").trigger('recalc');
$(".leasing_calc select").on('change', function() {
$(".leasing_calc").trigger('recalc');
});
////////////////////////
// default expander
////////////////////////
$(".expander-default").kobexpander();
$(".expander-trigger").on('click', function() {
var $trigger = $(this);
var $expander = $trigger.parents(".expander-default");
if (!$expander.length) {
$expander = $trigger.siblings(".expander-default");
}
$expander.kobexpander('expand', true, function() {
$expander.find(".expander-hidden").show();
$trigger.remove();
});
});
////////////////////////
// a-wrapper
$("body").on('click', ".a-wrap", function(e) {
var $e = $(e.target);
if (!$e.is("a") && !$e.parents("a").length) {
window.location.href = $(this).find('a:first').attr('href');
}
});
////////////////////////
// hoverable
////////////////////////
$("[data-hover-bg]").each(function() {
$(this).data('init-bg', $(this).css('backgroundColor'));
});
$("[data-hover-transform]").each(function() {
var $this = $(this);
$.each(['webkit', 'moz', 'o', 'ms'], function(i,v) {
$this.css('-'+v+'-transition', 'all .2s ease-out');
});
$this.css({
'-webkit-backface-visibility':'hidden',
'-webkit-perspective':1000
});
});
$("[data-hover]").on('mouseenter', function() {
$(this).find("[data-hover-bg]").addBack("[data-hover-bg]").each(function() {
$(this).stop(true,true).animate({backgroundColor: $(this).attr('data-hover-bg')}, 200);
});
$(this).find("[data-hover-transform]").addBack("[data-hover-transform]").each(function() {
var $this = $(this);
var transform = $this.attr('data-hover-transform');
$this.css({
'-webkit-transform': transform,
'-moz-transform': transform+' rotate(0.0001deg)',
'-o-transform': transform,
'transform': transform
});
});
}).on('mouseleave', function() {
$(this).find("[data-hover-bg]").addBack("[data-hover-bg]").each(function() {
$(this).stop(true,true).animate({backgroundColor: $(this).data('init-bg')}, 200);
});
$(this).find("[data-hover-transform]").addBack("[data-hover-transform]").each(function() {
var $this = $(this);
$this.css({
'-webkit-transform': '',
'-moz-transform': '',
'-o-transform': '',
'transform': ''
});
});
});
$("body").on('click', ".list-auto:not(.checkable_)", function(e) {
var $e = $(e.target);
if (!$e.is("a") && !$e.parents("a").length) {
window.location.href = $(this).find('a:first').attr('href');
}
gtag('event', 'click', {'event_category': 'pr_list_ad'});
if ($(".dealer").length) {
gtag('event', 'click', {'event_category': 'pr_dealer_ad'});
}
});
//////////////
// format phone
//////////////
$("body").on('focus', "[data-formatphone]", function() {
var $this = $(this);
if ($this.val() == '') {
setTimeout(function() {$this.val($this.attr('placeholder')+' ');}, 5);
}
});
$("body").on('blur', "[data-formatphone]", function() {
var $this = $(this);
if ($this.val().trim() == $this.attr('placeholder')) {
$this.val('');
}
});
//////////////
// pretty units
//////////////
var units_setup = {
'KG': [
{
'unit': 'T'
,'ratio': 1000
,'threshold': 1000
,'float_digits': 1
}
]
,'MM': [
{
'unit': 'M'
,'ratio': 1000
,'threshold': 1000
,'float_digits': 2
}
,{
'unit': 'CM'
,'ratio': 10
,'threshold': 100
,'float_digits': 0
}
]
};
$("body").on('prettyunits', function() {
$("[data-view-unit]").each(function() {
const $this = $(this);
const val = parseFloat($this.attr('data-view-val'));
const unit = $this.attr('data-view-unit');
const nwrap = $this.attr('data-view-nwrap');
if (unit in units_setup) {
for (let i=0;i= usetup.threshold) {
let v = (val / usetup.ratio).toString();
let vs = v.split('.');
if (!vs[1] || vs[1].length <= usetup.float_digits) {
if (nwrap) {
let $wrap = $(nwrap);
$wrap.text(v);
v = $wrap[0].outerHTML;
}
v = v.replace(/\./, ',');
v = `${v} ${loc.units[usetup.unit]}`;
$this.html(v);
break;
}
}
}
}
});
});
$("body").trigger('prettyunits');
////////////////
// contact popup
////////////////
var $contactPopup = $("#contact-popup");
$contactPopup.kobpopup2({
html_template: $contactPopup,
// width: 400,
showcb: function() {
var $form = $contactPopup.find("form");
$form.kobform2({email_check: true});
$form.on('submit', function() {
var $this = $(this);
if ($this.kobform2('validate')) {
$this.kobform2('loading', 1);
$.ajax({
url: '/__v2013/perl/scripts/tools.perl',
data: $form.serialize(),
type: 'POST',
dataType: 'json',
success: function(data) {
var auto_id = $this.find("[name=auto_id]").val();
var diler_id = $this.find("[name=diler_id]").val();
$.register_request(auto_id, diler_id);
const submode = $this.find("[name=submode]").val();
if (submode) {
gtag('event', 'submit', {'event_category': 'pr_request_'+submode});
}
$this.kobform2('loading', 0);
if (POPUP_REQUEST || POPUP_REQUEST_SIMILAR) {
$("#contact-popup").kobpopup2('hide');
$.feedbackPopupOn(auto_id, data.tot1m, data);
} else {
$this.parent().find(".form2-success").slideDown(200);
$("#contact-popup .buttons_").children().slideUp(200);
if (data.hash) {
check_login(data, true);
} else {
if (submode == 'order_spares') {
$(".form2-body, .kpp2-buttons__").slideUp(200);
} else {
setTimeout(function() {$("#contact-popup").kobpopup2('hide');}, 2000);
}
}
}
}
});
var lessors = $form.find("[name=lessors]").val()
if (lessors) {
var values = $form.serializeArray();
$.each(values, function(i,v) {
if (values[i].name == 'mode') {
values[i].value = 'send_leasing';
return false;
}
});
$.ajax({
url: '/__v2013/perl/scripts/tools.perl',
data: values,
type: 'POST',
success: function() {
// nothing
}
});
}
}
return false;
});
}
});
$contactPopup.on('click', ".submit_", function() {
$contactPopup.find("form").trigger('submit');
});
$contactPopup.on('click', ".cancel_", function() {
$contactPopup.kobpopup2('hide');
});
$("#content").on('click', ".list-contact-button", function() {
let $this = $(this);
$.contact_popup_trigger('', $this.attr('data-l'), $this.attr('data-submode'), $this.attr('data-id'));
gtag('event', 'click', {'event_category': 'pr_list_button_contact_seller'});
if ($(".dealer").length) {
gtag('event', 'click', {'event_category': 'pr_dealer_button_contact_seller'});
} else if ($(".bookmarks_page").length) {
gtag('event', 'click', {'event_category': 'pr_bookmarks_button_contact_seller'});
}
return false;
});
var listBookmarkBusy = false;
function listBookmarkWait() {
setTimeout(() => {
if (!listBookmarkBusy) {
return;
} else {
listBookmarkWait();
}
}, 10);
}
$("#content").on('click', ".list-bookmark-button", function() {
listBookmarkWait();
listBookmarkBusy = true;
let $this = $(this);
let already_bookmarked_ = !!$this.attr('data-bookmarked');
if (already_bookmarked_) {
$this.removeAttr('data-bookmarked').find("span").removeClass('icon-star-full').addClass('icon-star-empty');
$.ajax({
url: '/__v2013/perl/scripts/tools.perl',
data: {'mode':'delete_bookmarks', 'ids':$this.attr('data-id')},
type: 'POST',
success: function(data) {
UpdateVal('bookmarks', data);
listBookmarkBusy = false;
},
error: function() {
listBookmarkBusy = false;
}
});
} else {
$this.attr('data-bookmarked', "1").find("span").removeClass('icon-star-empty').addClass('icon-star-full');
// ga('eventTracker.send', 'event', 'bookmark', 'click', 'd'+$this.attr('data-d-id')+'-a'+$this.attr('data-id'));
_track('ge/click/bookmark/'+'d'+$this.attr('data-d-id')+'-a'+$this.attr('data-id'));
$.ajax({
url: '/__v2013/perl/scripts/tools.perl',
data: {'mode':'add_bookmark', 'id':$this.attr('data-id')},
type: 'POST',
success: function(data) {
UpdateVal('bookmarks', data);
listBookmarkBusy = false;
},
error: function() {
listBookmarkBusy = false;
}
});
}
return false;
});
// ask grant notifications
if (typeof firebaseMessaging !== 'undefined') {
if (window.Notification && Notification.permission != "denied" && Notification.permission != "granted") {
const sendTokenToServer = function(token) {
$.ajax({
url: '/__v2013/perl/scripts/tools.perl',
data: 'mode=add_notification_token&token='+token,
type: 'POST',
success: function(data) {
//
}
});
};
const d = window.location.hostname;
const s = VISITOR_DATA && VISITOR_DATA.session && VISITOR_DATA.session['history'];
if (s && s.data.match(d) && s.data2.match(d) && !s.nt) {
Notification.requestPermission()
.then(() => firebaseMessaging.getToken())
.then((token) => {
sendTokenToServer(token);
}).catch((error) => console.log(error));
}
}
} else {
'firebase messaging not initialized'
}
var $feedbackPopup = $("#feedback-popup");
$feedbackPopup.kobpopup2({
html_template: $feedbackPopup,
showcb: function() {
init_unveil();
$("body").trigger('init_dragscroll');
gtag('event', 'view', {'event_category': 'pr_popup_request'});
}
});
jQuery.feedbackPopupOn = function(auto_id, rq, the_data) {
if (POPUP_REQUEST) {
$.ajax({
url: '/_T'+loc.l+'_request_feedback_popup.html?auto_id='+auto_id+'&rq='+rq,
type: 'GET',
success: function(data) {
var $feedbackPopup = $("#feedback-popup");
$feedbackPopup.html(data);
$feedbackPopup.kobpopup2('show');
if (rq > 5) {
gtag('event', 'view', {'event_category': 'pr_popup_request_6'});
}
}
});
} else if (POPUP_REQUEST_SIMILAR) {
the_data.similar = the_data.similar || [];
var get_data = {
email: the_data.email
,phone: (the_data.phone || '')
,similar_ids: the_data.similar.map((a_) => a_[0])
};
the_data.similar.forEach(function(a_) {
get_data['similar_hash_'+a_[0]] = a_[1];
});
$.ajax({
url: '/_T'+loc.l+'_request_feedback_popup_similar.html',
type: 'GET',
data: get_data,
traditional: true,
success: function(data) {
gtag('event', 'view', {'event_category': 'pr_popup_request_similar'});
var $feedbackPopup = $("#feedback-popup");
$feedbackPopup.html(data);
$feedbackPopup.kobpopup2('show');
$("form#multiple_request").kobform2();
$("form#multiple_request").on('submit', function() {
var $this = $(this);
$this.kobform2('loading', 1);
$.ajax({
url: '/__v2013/perl/scripts/tools.perl',
data: $this.serialize(),
type: 'POST',
dataType: 'json',
success: function(data) {
if ($feedbackPopup.find("input:checkbox:not(:checked)").length) {
gtag('event', 'click', {'event_category': 'pr_popup_request_similar_some'});
} else {
gtag('event', 'click', {'event_category': 'pr_popup_request_similar_all'});
}
$feedbackPopup.find("input:checked").each(function() {
gtag('event', 'submit', {'event_category': 'pr_request_similar', 'event_label': $(this).val()});
if (PAGE_SETTINGS && PAGE_SETTINGS.a_b) {
gtag('event', 'submit_similar_from_archived', {'event_label': $(this).val()});
}
});
$this.kobform2('loading', 0);
$feedbackPopup.find(".request-feedback-more-offers_").hide();
$feedbackPopup.find(".kpp2-buttons__").hide();
}
});
return false;
});
}
});
}
}
$("#feedback-popup").on('click', ".request-feedback-more-offers_ a", function() {
gtag('event', 'click', {'event_category': 'pr_popup_request_similar_ad'});
});
$("#feedback-popup").on('click', ".request-feedback-more-button_", function() {
gtag('event', 'click', {'event_category': 'pr_popup_request_see_more'});
});
$("#feedback-popup").on('click', ".request-feedback-more-button_", function() {
gtag('event', 'click', {'event_category': 'pr_popup_request_phone'});
});
// events to track p_r_o_d_u_c_t
$("._pr_header_leasing").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_header_button_leasing'});
});
$("._pr_header_cat").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_header_cat_vehicle_search', 'event_label': $(this).attr('data-pr-label')});
});
$("._pr_header_bookmark").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_header_button_bookmarks'});
});
$("#language-currency-button").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_header_language_old'});
});
$("#language-changer .option_").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_header_language_select_old'});
});
$("._pr_header_signup").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_header_signup'});
});
$("#navi a").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_header_breadcrumb'});
});
$("._pr_leasing_button_cat").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_leasing_button_cat', 'event_label': $(this).attr('data-pr-label')});
});
$("._pr_auto_bookmark").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_button_bookmark'});
});
$("._pr_auto_contact_button").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_button_contact'});
});
$("._pr_auto_callback").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_button_callback'});
});
$("._pr_auto_demand_pics").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_button_ask_photos'});
});
$("._pr_auto_demand_info").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_button_ask_info'});
});
$("._pr_auto_price_get").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_button_ask_price'});
});
$("._pr_auto_price_offer").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_button_offer_price'});
});
$("._pr_auto_contact_shipping").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_button_shipping_quote'});
});
$("._pr_auto_show_phone_specs").on('click', function() {
gtag('event', 'view', {'event_category': 'pr_ad_phone_specs'});
});
$("._pr_auto_show_phone_dealer").on('click', function() {
gtag('event', 'view', {'event_category': 'pr_ad_phone_dealer'});
});
$(".product .person-s_ .show_phone_").on('click', function() {
gtag('event', 'view', {'event_category': 'pr_ad_phone_person'});
});
$(".product .feats_").on('click', "[href^=tel]", function() {
gtag('event', 'click', {'event_category': 'pr_ad_phone_specs_call'});
});
$(".product .seller_").on('click', "[href^=tel]", function() {
if ($(this).parents(".person-s_").length) {
gtag('event', 'click', {'event_category': 'pr_ad_phone_person_call'});
} else {
gtag('event', 'click', {'event_category': 'pr_ad_phone_dealer_call'});
}
});
$("._pr_auto_button_lease").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_button_lease'});
});
$("._pr_auto_link_seller").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_link_dealer'});
});
$("._pr_auto_link_make").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_link_brand'});
});
$("._pr_auto_link_model").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_link_model'});
});
$("._pr_addr_link").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_link_country'});
});
$("._pr_auto_inspection_button").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_button_inspection'});
ga('send', 'event', 'inspection', 'click', _d_id_a_id);
});
$(".product .more-offers").on('click', function() {
gtag('event', 'click', {'event_category': 'pr_ad_similar_offers'});
});
if ($(".list2").length) {
gtag('event', 'view', {'event_category': 'pr_list'});
}
$(".list2 #search, .dealer #search").on('submit', "form", function() {
gtag('event', 'click', {'event_category': 'pr_list_filter'});
if ($(".dealer").length) {
gtag('event', 'click', {'event_category': 'pr_dealer_filter'});
}
});
$(".list2 #search, .dealer #search").on('click', "a", function() {
gtag('event', 'click', {'event_category': 'pr_list_filter'});
if ($(".dealer").length) {
gtag('event', 'click', {'event_category': 'pr_dealer_filter'});
}
});
$(".list2 #search").on('change', "[name=kw]", function() {
gtag('event', 'click', {'event_category': 'pr_list_filter_keyword'});
});
$(".list2").on('click', "._pr_list_button_leasing", function() {
gtag('event', 'click', {'event_category': 'pr_list_button_lease'});
});
$(".list2").on('click', ".feat-auto", function() {
gtag('event', 'click', {'event_category': 'pr_list_featured_ad'});
});
$(".list2").on('click', "._pr_list_button_wanted", function() {
gtag('event', 'click', {'event_category': 'pr_list_button_wanted'});
});
$("[data-googleplace]").on('click', function() {
if ($(this).attr('data-ad-id')) {
gtag('event', 'click', {'event_category': 'pr_ad_review'});
} else {
gtag('event', 'click', {'event_category': 'pr_dealer_review'});
}
});
});
jQuery.register_request_submit = function (auto_id) {
ga('send', 'event', 'form', 'submit_auto', auto_id);
};
jQuery.register_request = function (auto_id, diler_id) {
ga('send', 'event', 'request', 'submit', auto_id);
ga('send', 'event', 'request-'+diler_id, 'submit', auto_id);
gtag('event', 'submit', {'event_category': 'pr_request', 'event_label': auto_id});
_track('pr/submit/request-'+diler_id);
_track2('{"g":"fbc","e":"Request","dealer":"'+diler_id+'"}');
_track2('[{"g":"seo","e":"request"},{"g":"seo","e":"request-'+diler_id+'"}]');
};
jQuery.contact_popup_trigger = function(url, l, submode, auto_id) {
if (!url && l && submode && auto_id) {
url = '/_T'+l+'_auto_contact_form.html?auto_id='+auto_id+'&submode='+submode;
}
$.ajax({
url: url,
type: 'GET',
success: function(data) {
var $contactPopup = $("#contact-popup");
$contactPopup.html(data);
$contactPopup.kobpopup2('show');
}
});
};
const listObserver = new IntersectionObserver((items, obs) => {
items.forEach(item => {
const target = item.target;
if (item.isIntersecting && !target.getAttribute('data-viewed')) {
target.setAttribute('data-viewed', 1);
ym(85264039,'reachGoal','adViewList',{d:target.getAttribute('data-did'),a:target.getAttribute('data-aid')});
}
});
},
{threshold: 0.25});
function observeList() {
const list = [].slice.call(document.querySelectorAll(".list-auto"));
list.forEach(a_ => {
listObserver.observe(a_);
});
}
observeList();