Files

258 lines
10 KiB
JavaScript
Raw Permalink Normal View History

2026-02-15 18:29:53 +03:00
function staticLoadScriptUrl(url)
{
document.write('<script src="', url, '" type="text/javascript"><\/script>');
}
staticLoadScriptUrl(" https://cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.4.1/jquery.maskedinput.min.js");
(function($) {
$.fn.equalHeights = function() {
var maxHeight = 0,
$this = $(this);
$this.each(function() {
var height = $(this).innerHeight();
if (height > maxHeight) {
maxHeight = height;
}
});
return $this.css('height', maxHeight);
};
})(jQuery);
$(function() {
$(".input_search").autocomplete({
serviceUrl:'/ajax/search_products.php',
minChars:1,
noCache: false,
open: function() { $('#div .ui-menu').width(300) },
onSelect:
function(value, data){
$(".input_search").closest('form').submit();
},
fnFormatResult:
function(value, data, currentValue){
var reEscape = new RegExp('(\\' + ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'].join('|\\') + ')', 'g');
var pattern = '(' + currentValue.replace(reEscape, '\\$1') + ')';
return (data.image?"<img align=absmiddle src='"+data.image+"'> ":'') + value.replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>');
}
});
});
$(document).ready(function(e) {
$('.pdf-download-content a').each(function() {
console.log( 'test' );
if ($(this).attr('href')) {
if ($(this).attr('href').indexOf('.pdf') > 0) {
var thisText = $(this).html(),
parentText = $(this).parent().html(),
addText = parentText.replace(thisText, ''),
insert = '<div class="pdf-download"><span><a target="_blank" href="' + $(this).attr('href') + '">' + $(this).html() + '</a><p>' + addText + '</p></span></div>';
$(this).parent().html(insert);
}
}
});
$('.pdf-download').each(function() {
var href = $(this).find('a').attr('href');
$(this).css('cursor', 'pointer').click(function() {
window.location.href = href;
});
});
$('#top-shopcart').fadeIn();
$('[data-validation="phone"]').mask('+7(999) 999 - 99 - 99');
$(window).scroll(function () {if ($(this).scrollTop() > 0) {$('#scroller').fadeIn();} else {$('#scroller').fadeOut();}});
$('#scroller').click(function () {$('body,html').animate({scrollTop: 0}, 400); return false;});
$('.copyright .ch').after(" " + (new Date).getFullYear());
var amount = parseInt($('#b_count3').text());
if(amount == 0)
{
$('#top-shopcart').removeClass('notempty');
}
else
{
$('#top-shopcart').addClass('notempty');
}
$('.content table:not("form table")').removeAttr('style').removeAttr('class').removeAttr('border').removeAttr('cellpadding').removeAttr('cellspacing').removeAttr('align').addClass('table table-striped table-bordered');
$('.content table td:not("form table td")').removeAttr('style').removeAttr('class').removeAttr('align').removeAttr('valign').addClass('td');
$('.content table td img:not("form table td img")').each(function(){
var _img = $(this);
if(_img.hasClass('zooming')){
_img.removeAttr('style').removeAttr('class').addClass('img-thumbnail zooming');
}else{
_img.removeAttr('style').removeAttr('class').addClass('img-thumbnail');
}
});
$('.content table td a:not("form table td a")').removeAttr('style').removeAttr('class').addClass('w');
$('.content form.variants select').addClass('form-control');
$('img.zooming').each(function(){
var href = $(this).attr('src');
var title = $(this).attr('alt');
$(this).wrap('<a href="'+href+'" title="'+title+'" class="_zooming" rel="group777"></a>');
});
$('a._zooming').fancybox({
helpers: {
overlay: {
locked: false
},
title: {
//type: 'inside'
}
}
});
function vk()
{
setTimeout(function(){
$('#vk_groups').find('iframe').remove();
VK.Widgets.Group("vk_groups", {mode: 0, width: $('#vk_groups').parent().width()-2, height: 256, color1: 'FFFFFF', color2: '2B587A', color3: '2e3338'}, 60705350);
}, 300);
}
function heightElems()
{
if ($('body').hasClass('desktop')) {
$('.home-output .product-image').height('auto').equalHeights();
$('.home-output .product-name').height('auto').equalHeights();
$('.brands .brand .brand-image').height('auto').equalHeights();
$('.brands .brand .brand-name').height('auto').equalHeights();
$('.categories .category .category-image').height('auto').equalHeights();
$('.categories .category .category-name').height('auto').equalHeights();
$('.articles .article .article-image').height('auto').equalHeights();
$('.articles .article .article-name').height('auto').equalHeights();
$('.blog-unit').height('auto').equalHeights();
} else if ($('body').hasClass('mobile')) {
$('.home-output .product').height('auto').equalHeights();
$('.brands .brand').height('auto').equalHeights();
$('.categories .category').height('auto').equalHeights();
$('.articles .article').height('auto').equalHeights();
$('.blog-unit').height('auto').equalHeights();
}
}
$(window).load(function() {
heightElems();
vk();
});
$(window).resize(function() {
heightElems();
vk();
});
if ($('body').hasClass('mobile')) {
$('.table').wrap('<div class="table-responsive"></div>');
}
$('.slh0 span').remove();
$('#c_submit').attr('disabled', false);
///////////////////////////////////////////////////////////////////////////////////////////////////
if ($('#contact-form-replacer').length) { // move contact form on /articles/ustanovochnye-tsentry/
$('#hideContactForm').find('.contact-form').addClass('replaced-form');
var replacedForm = $('#hideContactForm').html();
$('#hideContactForm').remove();
$('#contact-form-replacer').replaceWith(replacedForm);
$('#chCallbackForm').sendForm({'header' : '#chCallbackFormHeader'});
$('[data-validation="phone"]').mask('+7(999) 999 - 99 - 99');
}
///////////////////////////////////////////////////////////////////////////////////////////////////
});
function sendCallback(){
var name = $('#c_name').val();
var tel = $('#c_tel').val();
var tema = $('#c_tema').val();
if(tel.length < 5){
formError('tel','номер телефона'); return;
}
$('#c_submit').attr('disabled', true).html('<i>отправка...</i>');
$.post('/ajax/sendCallback.php',{name:name,tel:tel,tema:tema},function(){
var msg = 'Ваше сообщение успешно отправлено';
$('#call_form').html('<div class="alert alert-success">'+msg+'</div>');
});
}
function formError(id,msg){
$('#c_'+id).after('<div class="alert alert-error" id="form_error">Укажите '+msg+'</div>');
$('#c_'+id).focus();
$('#c_'+id).keyup(function(){$('#form_error').remove();});
}
//send forms
(function($) {
$.fn.sendForm = function(options) { //console.log(Math.random(), this)
var settings = $.extend({
'header': '#header'
}, options);
var form = this,
header = $(settings.header),
user = 0;
if (form.find('input[name="user"]').val() == '') {
user = 1;
}
form.find('input,textarea,button').removeAttr('disabled');
form.find('.form-submit').click(function() {
form.find('input').each(function(index, element) {
if (index == 0 && user == 0) {
$(this).addClass('focus');
}
if (index == 1 && user == 1) {
$(this).addClass('focus');
}
});
var required = [];
form.find('[data-validation]').each(function(index, element) {
required[index] = {
name: $(this).attr('name'),
validation: $(this).attr('data-validation')
};
});
$.ajax({
type: 'POST',
url: '/mailer/',
data: {
formData: form.serializeArray(),
requiredData: required
},
success: function(response) {
//console.log(response);
if (response.indexOf('}') > -1) {
var responseObj = jQuery.parseJSON(response),
i = 0;
$.each(responseObj, function(key, value) {
if (i == 0) {
//form.find('[name="' + value + '"]').focus(); // off focus, for replace placeholders (crutch), because use "maskedinput"
i++;
}
form.find('[name="' + value + '"]').addClass('required').change(function() {
$(this).removeClass('required');
});
});
} else {
form.find('.focus').focus();
form.find('input,textarea,button').attr('disabled', 'disabled');
header.html(response);
}
// replace placeholders (crutch) //////////////////////////////////////////////////
$('input.required[data-validation="phone"]').attr('placeholder','Введите телефон');
$('input.required[data-validation="email"]').attr('placeholder','или Email');
///////////////////////////////////////////////////////////////////////////////////
}
});
});
};
})(jQuery);