/* ============================ */
/* SalesMan CRM */
/* ============================ */
/* (C) 2018 Vladislav Andreev */
/* SalesMan Project */
/* salesman.pro */
/* ver. 2018.6 */
/* ============================ */
var isMobilee = {
Android: function () {
return navigator.userAgent.match(/Android/i);
},
BlackBerry: function () {
return navigator.userAgent.match(/BlackBerry/i);
},
iOS: function () {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
Opera: function () {
return navigator.userAgent.match(/Opera Mini/i);
},
Windows: function () {
return navigator.userAgent.match(/IEMobile/i);
},
any: function () {
return (isMobilee.Android() || isMobilee.BlackBerry() || isMobilee.iOS() || isMobilee.Opera() || isMobilee.Windows());
}
};
var isMace = {
iOS: function () {
return navigator.userAgent.match(/Macintosh/i);
}
};
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);
//Вывод типа последней активности в колонке истории в списках клиентов, контактов, сделок
var showHistTip = 'yes';//'yes';
var isMobile = false;
var isPad = false;
var isMac = false;
//console.log(navigator);
if (isMobilee.any() || $(window).width() < 767) {
isMobile = true;
isPad = false;
}
if ($(window).width() > 767) {
isMobile = false;
isPad = true;
}
if ($(window).width() > 1024) isPad = false;
if (isMace.iOS()) isMac = true;
/**
* js-События
* @constructor
*/
var CustomEvent = function () {
//имя события
this.eventName = arguments[0];
var mEventName = this.eventName;
//функция, которая вызывается при событии
var eventAction = null;
//привязываем функцию к событию
this.subscribe = function (fn) {
eventAction = fn;
};
//выполнение события
this.fire = function (eventArgs) {
//this.eventName = eventName;
if (eventAction != null) {
eventAction(eventArgs);
}
};
};
var ShowModal = new CustomEvent("ShowModal");
var CardLoad = new CustomEvent("CardLoad");
/**
* Обнуляем работу воркера Астриск
*/
localStorage.setItem("asteriskWork", '');
/**
* подключает javascript файл и выполняет его
* заносит название файла в реестр подключенных,
* дабы не дублировать
*/
var javascripts = [];
var $display = '';
/**
* Признак нахождения в карточке
*/
var isCard = false;
var tipCard = '';
var idCard = 0;
/**
* Период проверки почты
* По умолчанию = 10 мин
*/
var $yperiod = 10 * 60000;
/**
* Ключ Дадата
*/
var $dadata = '';
/**
* Открытие карточек Клиента, Контакта, Сделки
* во фрейме
* @type {boolean}
*/
var oF = localStorage.getItem("openCardInFrame");
var openFrame = (oF == 1) ? true : false;
var vO = localStorage.getItem("viewAsOpen");
var viewAsOpen = (vO == 1) ? true : false;
/**
* Основные элементы интерфейса
*/
var $elcenter = $('.ui-layout-center');
var $elwest = $('.ui-layout-west');
var $eleast = $('.ui-layout-east');
var $elnorth = $('.ui-layout-north');
/**
* Окошко телефонии
* @type {number}
*/
var $callerPositionCash = parseInt(localStorage.getItem('callerPosition'));
var $callerElement = $('#caller');
var $cE = $callerElement.position();
var $callerPosition = ($callerPositionCash == 0 || $callerPositionCash == 'NaN') ? $cE.left : $callerPositionCash;
//устанавливаем позицию
localStorage.setItem('callerPosition', $callerPosition);
var isCtrl = false;
var swindow = false;
//Даты и периоды
var period = {
all: ['', ''],
yestoday: [moment().subtract(1, 'days').format('YYYY-MM-DD'), moment().subtract(1, 'days').format('YYYY-MM-DD')],
today: [moment().format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')],
tomorrow: [moment().add(1, 'days').format('YYYY-MM-DD'), moment().add(1, 'days').format('YYYY-MM-DD')],
calendarweekprev: [moment().subtract(1, 'week').weekday(1).format('YYYY-MM-DD'), moment().subtract(1, 'week').weekday(7).format('YYYY-MM-DD')],
calendarweek: [moment().weekday(1).format('YYYY-MM-DD'), moment().weekday(7).format('YYYY-MM-DD')],
calendarweeknext: [moment().add(1, 'week').weekday(1).format('YYYY-MM-DD'), moment().add(1, 'week').weekday(7).format('YYYY-MM-DD')],
monthprev: [moment().subtract(1, 'months').startOf('month').format('YYYY-MM-DD'), moment().subtract(1, 'months').endOf('month').format('YYYY-MM-DD')],
month: [moment().startOf('month').format('YYYY-MM-DD'), moment().endOf('month').format('YYYY-MM-DD')],
monthnext: [moment().add(1, 'months').startOf('month').format('YYYY-MM-DD'), moment().add(1, 'months').endOf('month').format('YYYY-MM-DD')],
quartprev: [moment().subtract(1, 'quarter').startOf('quarter').format('YYYY-MM-DD'), moment().subtract(1, 'quarter').endOf('quarter').format('YYYY-MM-DD')],
quart: [moment().startOf('quarter').format('YYYY-MM-DD'), moment().endOf('quarter').format('YYYY-MM-DD')],
quartnext: [moment().add(1, 'quarter').startOf('quarter').format('YYYY-MM-DD'), moment().add(1, 'quarter').endOf('quarter').format('YYYY-MM-DD')],
year: [moment().startOf('year').format('YYYY-MM-DD'), moment().endOf('year').format('YYYY-MM-DD')],
yearnext: [moment().add(1, 'year').startOf('year').format('YYYY-MM-DD'), moment().add(1, 'year').endOf('year').format('YYYY-MM-DD')]
};
var calendarMonth = {
month: moment().format('MM'),
year: moment().format('YYYY')
};
// блокировка ошибок
//window.onerror = blockError;
/**
* Подключение js-файла
* @param path
* @returns {boolean}
*/
function includeJS(path) {
for (var i = 0; i < javascripts.length; i++) {
if (path === javascripts[i]) {
return false;
}
}
javascripts.push(path);
$.ajax({
url: path,
dataType: "script",// при типе script, JS сам инклюдится и воспроизводится
async: false
});
}
/**
* Подключение css-файлов. Можно списком с разделителем - запятая
* Пример: files = "css/one.css,css/two.css"
* Должен быть указан полный путь к файлу от корня папки
* @param files
*/
function includeCSS(files) {
var mass = files.split(",");
for (var i = 0; i < mass.length; i++) {
var a = document.createElement("link");
a.rel = "stylesheet";
a.href = mass[i];
document.getElementsByTagName("head")[0].appendChild(a)
}
}
$(document).ready(function () {
/*Добавляем в меню плагины*/
includeJS('/assets/js/plugins.js');
/*Добавляем в меню плагины*/
yNotifyCheck();
//шаблон для уведомлений
$.Mustache.load('/content/notify/tpl.html');
$notify.popup();
//setInterval($notify.popup, 30000);
if (isMobile) {
includeJS('/assets/js/smMobileTable.js');
includeJS('/assets/js/jquery/jquery.scrollTo.js');
//перемещаем заголовки разделов
var $pagetips = $('#tips').detach();
$pagetips.appendTo('.menu--header');
//перемещаем меню в тело
var $menu = $('.menu--mobile').detach();
$menu.appendTo('body');
//перемещаем меню в тело
var $pmenu = $('#subpan3').detach();
$pmenu.appendTo('body');
//$('.scroll').addClass('nomob');
var $wh = $(window).height() - 50;
$('#rmenu').css({'height': $wh + 'px', 'top': '50px', 'bottom': 'unset', 'z-index': '28'});
$('#lmenu').css({'height': $wh + 'px', 'top': '0px', 'bottom': 'unset'});
$('#dtabs').bind('click', function () {
$(this).toggleClass('open');
});
}
if (!isMobile) {
includeJS("/assets/js/smTableColumnFixer.js");
}
getScreenSize();
$(document).on('change', '#newfield', function () {
var str = $('#fieldAdd').serialize();
var type = $(this).data("type");
$.get('content/helpers/' + type + '.helpers.php', str, function (data) {
edit_field(data.param, data.name, data.type, data.id, 'new');
}, "json");
});
//для Рабочего стола удаляем кнопку Напоминаний
if ($display === 'desktop')
$('li[data-id="todo"]').remove();
$('.nano').css('height', '100%');
if ($(".ui-layout-center").is('div')) {
setInterval(talarm, 300000);
talarm();
countsPanel();
if (!isMobile) {
Visibility.every(150000, 600000, countsPanel);
}
}
var intro = getCookie('intro');
if (intro === 'hid') $('#startinto').hide();
$('.close').click(function () {
new DClose();
});
$('#hid').click(function () {
$('#caller').empty().hide();
});
$('#message').click(function () {
$(this).fadeTo(10, 0).hide('normal').empty();
});
$("#dialog").draggable({handle: ".zagolovok", cursor: "move", opacity: "0.85", containment: "document"});
/**
* Делает окошко телефонии перемещаемым
*/
$('#caller').draggable({
handle: ".zag",
axis: "x",
cursor: "move",
opacity: "0.85",
containment: "document",
drag: function (event, ui) {
},
stop: function (event, ui) {
$callerPosition = ui.position.left;
localStorage.setItem('callerPosition', $callerPosition);
}
});
setCallerPos();
$("#pcomments").bind("mouseleave", function () {
$('#commentspan').hide();
});
$('.selectBox').mouseover(function () {
$(this).animate({'max-height': 100}, 50).addClass('ha');
});
$('.selectBox').mouseleave(function () {
$(this).animate({'max-height': 30}, 50).removeClass('ha');
});
//$('#dialog_container').css('height', $(window).height());
$(document).keydown(function (e) {
if (e == null) { // ie
keycode = e.keyCode;
} else { // mozilla
keycode = e.which;
}
if (keycode === 27) { // escape, close box, esc
new DClose();
$('.popmenu.nothide').removeClass('open');
}
if (keycode === 17) isCtrl = true;
});
$(document).keyup(function () {
isCtrl = false;
});
$(document).mouseup(function (e) { // событие клика по веб-документу
var div = $(".submenu"); // тут указываем ID элемента
if (!div.is(e.target) // если клик был не по нашему блоку
&& div.has(e.target).length === 0) { // и не по его дочерним элементам
$('.submenu').css('display', 'none'); // скрываем его
}
});
$('.flyit').each(function () {
$(this).find('.yselectBox').detach().appendTo('#flyitbox');
});
$('.ydropString').each(function () {
var txt = $.trim(striptags($(this).find('label').text()).replace(/<[^p].*?>/g, ''));
$(this).prop("title", txt);
});
$(document).on('click', '.ydropDown', function () {
//скрываем остальные элементы
var $other = $('.ydropDown.open').not(this);
$other.find(".yselectBox").each(function () {
$(this).hide();
$other.find('i.icon-angle-up').removeClass('icon-angle-up').addClass('icon-angle-down');
$other.find(".action").addClass('hidden');
});
//если элемент не закреплен
if (!$(this).hasClass('flyit')) {
var $el = $(".yselectBox", this);
if (!$(this).hasClass('dWidth')) $el.css('width', $(this).actual('outerWidth'));
$el.toggle();
if ($(this).hasClass('open')) {
$(this).removeClass('open');
$el.removeClass('open');
}
else {
$(this).addClass('open');
$el.addClass('open');
}
if ($el.css('display') === 'none')
$(this).find('i.icon-angle-up').removeClass('icon-angle-up').addClass('icon-angle-down');
else
$(this).find('i.icon-angle-down').removeClass('icon-angle-down').addClass('icon-angle-up');
}
else {
var element = $(this).data('id');
var offset = $(this).offset();
var width = $(this).outerWidth();
var height = $(this).outerHeight() + 1;
if ($(this).hasClass('open')) {
$(this).removeClass('open');
$('.yselectBox[data-id="' + element + '"]').removeClass('open');
}
else {
$(this).addClass('open');
$('.yselectBox[data-id="' + element + '"]').addClass('open');
}
$('.yselectBox.open').not('[data-id="' + element + '"]').each(function () {
var el = $(this).data('id');
var $elm = $('.ydropDown[data-id="' + el + '"]');
$(this).removeClass('open').hide();
$elm.removeClass('open');
//если элемент закрыт
if ($elm.find(".yselectBox").hasClass('hidden')) {
$(this).find('i.icon-angle-up').removeClass('icon-angle-up').addClass('icon-angle-down');
//$elm.removeClass('open');
}
else {
//$elm.addClass('open');
//$(this).addClass('open');
$(this).find('i.icon-angle-down').removeClass('icon-angle-down').addClass('icon-angle-up');
}
//$('.ydropDown[data-id="' + el + '"]').find('i.icon-angle-down').removeClass('icon-angle-down').addClass('icon-angle-up');
});
$('.' + element).css({
"width": width + "px",
"top": (offset.top + height) + "px",
"left": (offset.left) + "px",
"z-index": "1000",
"position": "fixed"
}).toggle();
}
$(".action", this).toggleClass('hidden');
});
$(document).on('click', '.ydropString:not(.yRadio)', function () {
var ebox;
if (!$(this).closest('.yselectBox').hasClass('fly')) {
ebox = $(this).parents('.ydropDown');
var chk = $(this).parent('.yselectBox').find('input[type=checkbox]:checked').length;
var $f = $(this).parents('.ydropDown').find('.ydropCount');
var a = $f.html();
$f.html(chk + ' '+ $language.all.Selected);
}
else {
var element = $(this).closest('.yselectBox').data('id');
ebox = $('.ydropDown[data-id="' + element + '"]');
var $f2 = ebox.find('.ydropCount');
var ch2 = $(this).closest('.yselectBox').find('input[type=checkbox]:checked').length;
$f2.html(ch2 + ' '+ $language.all.Selected);
}
setTimeout(function () {
$('.yselectBox[data-id="' + element + '"]').show();
ebox.find('i.icon-angle-down').removeClass('icon-angle-down').addClass('icon-angle-up');
ebox.find('.action').removeClass('hidden');
}, 1);
//return false;
});
$(document).on('click', '.ydropString.yRadio', function () {
var rak;
var $fr;
var ebox;
if (!$(this).closest('.yselectBox').hasClass('fly')) {
ebox = $(this).parents('.ydropDown');
rak = $(this).find('input[type=radio]:checked').data('title');
$fr = $(this).parents('.ydropDown').find('.ydropText');
$fr.html(rak).prop('title', rak);
}
else {
var element = $(this).closest('.yselectBox').data('id');
ebox = $('.ydropDown[data-id="' + element + '"]');
rak = $(this).closest('.yselectBox').find('input[type=radio]:checked').data('title');
$fr = ebox.find('.ydropText');
$fr.html(rak).prop('title', rak);
}
$(this).addClass('bluebg-sub');
$(this).closest('.yselectBox').find('.ydropString').not(this).removeClass('bluebg-sub');
setTimeout(function () {
var $ee = ebox.find('.yselectBox');
if ($ee.is(':visible')) $ee.hide();
ebox.find('i.icon-angle-up').addClass('icon-angle-down').removeClass('icon-angle-up');
}, 11);
});
$(document).on('click', '.ySelectAll', function () {
var $elm = $(this).closest('.yselectBox');
var $box = $(this).closest('.ydropDown');
if (!$elm.hasClass('fly')) {
$elm.find('input[type=checkbox]').prop('checked', true);
var $f = $box.find('.ydropCount');
var ch = $box.find('input[type=checkbox]:checked').length;
$f.html(ch + ' ' + $language.all.Selected);
setTimeout(function () {
$elm.show();
}, 10);
}
else {
var element = $elm.data('id');
$box = $('.ydropDown[data-id="' + element + '"]');
$('.yselectBox[data-id="' + element + '"]').find('input[type=checkbox]').prop('checked', true);
var $f2 = $box.find('.ydropCount');
var ch2 = $elm.find('input[type=checkbox]:checked').length;
$f2.html(ch2 + ' '+ $language.all.Selected);
setTimeout(function () {
$('.yselectBox[data-id="' + element + '"]').show();
$box.find('i.icon-angle-down').toggleClass('icon-angle-down icon-angle-up');
$box.find('.action').removeClass('hidden');
}, 10);
}
//console.log( $box.find('.yDoit').is('div') );
if (typeof configpage === 'function' && !$box.find('.yDoit').is('div')) configpage();
//выполняем функцию
var fnc = $elm.data('func');
if (fnc)
eval(fnc)();
return false;
});
$(document).on('click', '.yunSelect', function () {
var $elm = $(this).closest('.ydropDown');
var $box = $(this).closest('.yselectBox');
if (!$box.hasClass('fly')) {
var chk = $box.find('input[type=checkbox]:checked').prop('checked', false);
var $f = $elm.find('.ydropCount');
$box.find('input[type=checkbox]:checked').prop('checked', false);
$f.html('0 ' + $language.all.Selected);
setTimeout(function () {
$(this).closest('.yselectBox').show();
}, 10);
}
else {
var element = $(this).closest('.yselectBox').data('id');
$box = $('.ydropDown[data-id="' + element + '"]');
$('.yselectBox[data-id="' + element + '"]').find('input[type=checkbox]').prop('checked', false);
var $f2 = $box.find('.ydropCount');
var ch2 = $box.find('input[type=checkbox]:checked').length;
$f2.html(ch2 + ' '+ $language.all.Selected);
setTimeout(function () {
$('.yselectBox[data-id="' + element + '"]').show();
$box.find('i.icon-angle-up').addClass('icon-angle-down').removeClass('icon-angle-up');
$box.find('.action').removeClass('hidden');
}, 10);
}
if (typeof configpage === 'function' && !$box.find('.yDoit').is('div') && !isCard) configpage();
//выполняем функцию
var fnc = $box.data('func');
if (fnc)
eval(fnc)();
return false;
});
$(document).mouseup(function (e) { // событие клика по веб-документу
var div = $(".ydropDown.open"); // тут указываем ID элемента
if (!div.is(e.target) && div.has(e.target).length === 0) { // и не по его дочерним элементам
$(".yselectBox.open").removeClass('open').hide();
div.find(".action").addClass('hidden');
div.removeClass('open');
div.find('i.icon-angle-up').addClass('icon-angle-down').removeClass('icon-angle-up');
}
});
$('.nano').on('update', function (e) {
var div = $(".ydropDown"); // тут указываем ID элемента
if (!div.is(e.target) && div.has(e.target).length === 0) { // и не по его дочерним элементам
if (!$(this).hasClass('flyit')) {
$(".yselectBox", this).hide();
$(".action", this).addClass('hidden');
div.find('i:last').addClass('icon-angle-down').removeClass('icon-angle-up');
}
else {
}
}
$('.yselectBox.fly').each(function () {
var el = $(this).data('id');
$(this).hide();
$('.ydropDown[data-id="' + el + '"]').find('i:last').removeClass('icon-angle-up').addClass('icon-angle-down');
});
});
$(document).on('click', '.tagsmenuToggler', function () {
$('.tagsmenu').not(this).addClass('hidden');
if ($(this).next().hasClass('.tagsmenu'))
$(this).next('.tagsmenu').toggleClass('hidden');
else
$(this).closest('div').find('.tagsmenu').toggleClass('hidden');
$(this).find('#mapii').toggleClass('icon-angle-down icon-angle-up');
});
$(document).mouseup(function (e) { // событие клика по веб-документу
//console.log(e);
var div = $(".tagsmenuToggler"); // тут указываем ID элемента
if (!div.is(e.target) && div.has(e.target).length === 0) { // и не по его дочерним элементам
$(".tagsmenu", this).addClass('hidden');
div.find('#mapii').addClass('icon-angle-down').removeClass('icon-angle-up');
}
});
$(document).on('click', '#menuavatar', function () {
$(this).find('.avatar--menu').toggleClass('hidden');
$(this).find('.nano').nanoScroller();
});
$(document).mouseup(function (e) { // событие клика по веб-документу
var div = $("#menuavatar"); // тут указываем ID элемента
if (!div.is(e.target) && div.has(e.target).length === 0) { // и не по его дочерним элементам
$(".avatar--menu", this).addClass('hidden');
}
});
$(document).on('click', '.pop', function () {
if ($(this).hasClass('donthidee') === false) {
$(".popmenu", this).toggle();
$(".popmenu-top", this).toggle();
}
});
$(".pop").not('.donthidee').mouseleave(function () { // событие клика по веб-документу
$(".popmenu", this).hide();
$(".popmenu-top", this).hide();
});
$(document).mouseup(function (e) { // событие клика по веб-документу
var div = $(".popmenu").not('.open'); // тут указываем ID элемента
//console.log(e);
if (!div.is(e.target) // если клик был не по нашему блоку
&& div.has(e.target).length === 0) { // и не по его дочерним элементам
if (e.target.id != 'search' && e.target.className != 'popbody') {
//div.hide();
$('.popmenu').not('.nothide').removeClass('open');
$(".popmenu-top", this).hide();
}
else return true;
}
});
$(document).on('click', '.adddeal', function () {
$(this).toggleClass('hidden');
$(this).parent('div').find('.deal').toggleClass('hidden');
});
$(document).mouseup(function (e) { // событие клика по веб-документу
var div = $("#orgspisok"); // тут указываем ID элемента
if (!div.is(e.target) // если клик был не по нашему блоку
&& div.has(e.target).length === 0) { // и не по его дочерним элементам
spisok_remove();
}
});
$(document).mouseup(function (e) { // событие клика по веб-документу
var div = $("#subwindow"); // тут указываем ID элемента
if (!div.is(e.target) // если клик был не по нашему блоку
&& div.has(e.target).length === 0) { // и не по его дочерним элементам
$('#subwindow').removeClass('open').empty();
}
});
/*
$('#startinto').mouseover(function () {
$(this).animate({'right': 0}, 50);
$('.showintro', this).css('opacity', '1.0');
});
$('#startinto').mouseleave(function () {
$(this).animate({'right': -100}, 50);
$('.showintro', this).css('opacity', '.5');
});
*/
$('#hideintro').click(function () {
$('#startinto').hide();
document.cookie = 'intro=hid; path=/; expires=Mon, 01-Jan-2024 00:00:00 GMT';
});
$("#swStart").datepicker({
dateFormat: 'yy-mm-dd',
firstDay: 1,
dayNamesMin: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
monthNamesShort: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
changeMonth: true,
changeYear: true
});
$("#swEnd").datepicker({
dateFormat: 'yy-mm-dd',
firstDay: 1,
dayNamesMin: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
monthNamesShort: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
changeMonth: true,
changeYear: true
});
$(document).on('click', '.pop', function () {
var element = $(this).find('.popmenu');
var wH = $(window).height();
var wW = $(window).width();
var eTop = wH - Math.round($(this).offset().top + 30);
var dId = $(this).data('id');
var hPop = element.height();
var hPopB = 0;
var hBody = 0;
if (!isMobile) {
if (element.find('.popblock').is('div'))
hPopB = element.find('.popblock').actual('height');
hBody = hPop - element.find('.pophead').actual('height') - hPopB;
//element.find('.popbody').css({"height": hBody + "px"});
}
else {
element.css({'height': wH + 'px', 'width': wW + 'px', 'left': '0', 'top': '0'});
element.find('.left-triangle-before').remove();
element.find('.left-triangle-after').remove();
hBody = wH - element.find('.pophead').outerHeight() - element.find('.popblock').outerHeight() - 5;
element.find('.popbody').css({"height": hBody + "px", "max-height": hBody + "px"});
}
if (!element.hasClass('open')) {
$(this).closest('ul').find('.popmenu').removeClass('open');
element.toggleClass('open');
element.find('.left-triangle-before').css({"bottom": eTop + "px"});
element.find('.left-triangle-after').css({"bottom": eTop + "px"});
if (dId == 'todo') {
element.find('.popbody').css({"height": hBody + "px"});
if (!isMobile) $(".popbody").find('.nano').nanoScroller();
}
}
});
$('li.lpop').on('click', popsearchhandler = function () {
var element = $(this).find('.popmenu');
var wH = $(window).height();
var wW = $(window).width();
var eTop = wH - Math.round($(this).offset().top + 30);
var hPop = element.height();
var hBody = hPop - element.find('.pophead').outerHeight() - element.find('.popblock').outerHeight() - 25;
var dId = $(this).data('id');
if (!isMobile) {
$('#search').focus();
//element.find('.popbody').css({"height": hBody + "px"});
element.find('.left-triangle-before').css({"bottom": eTop + "px"});
element.find('.left-triangle-after').css({"bottom": eTop + "px"});
}
else {
element.css({'height': wH + 'px', 'width': wW + 'px', 'left': '0', 'top': '0'});
element.find('.left-triangle-before').remove();
element.find('.left-triangle-after').remove();
hBody = wH - element.find('.pophead').outerHeight() - element.find('.popblock').outerHeight() - 5;
element.find('.popbody').css({
"height": hBody + "px",
"max-height": hBody + "px",
"min-height": hBody + "px"
});
element.find('.popcontent').css({
"height": hBody + "px",
"max-height": hBody + "px",
"min-height": hBody + "px"
});
element.find('#searchResult').css({
"height": hBody + "px",
"max-height": hBody + "px",
"min-height": hBody + "px"
});
$('#rmenu').css({'z-index' : '101'});
}
$(this).closest('ul').find('.popmenu').removeClass('open');
element.addClass('open');
if (dId === 'todo') {
if (!isMobile) $(".popbody").find('.nano').nanoScroller();
}
if (!isMobile) setTimeout(function () {
element.find('#search').focus().focus();
}, 200);
});
$('div.leftpop').bind('mouseover', function () {
var element = $(this).find('.popmenu');
element.addClass('open');
});
$(document).on('click', '.popcloser', function () {
if ($(this).closest('li').data('id') === 'search') {
$(this).closest('.popmenu').removeClass('open').css({"display": "none"});
var el = $('li.lpop');
el.off("click", popsearchhandler);
setTimeout(function () {
el.on("click", popsearchhandler);
}, 100);
}
else {
$(this).closest('.popmenu').removeClass('open').css({"display": "none"});
}
if (isMobile)
$('#rmenu').css({'z-index' : '28'});
return false;
});
/**
* блок проверки на дубли в карточке клиента
*/
if ($('#isCard').is('input')) {
isCard = true;
tipCard = $('#card').val();
if (tipCard === 'client') idCard = $('#clid').val();
else if (tipCard === 'person') idCard = $('#pid').val();
doubleModule.card();
}
if (isMobile || $(window).width() < 500) {
$('input.datum').each(function () {
this.setAttribute('type', 'date');
});
$('input.inputdate').each(function () {
this.setAttribute('type', 'date');
});
}
//расставляем периоды, если у селекта не установлен признак data-select="false"
$('#period').each(function () {
var $auto = $(this).data('select');
//console.log($auto);
if ($auto !== false) {
var $goal = $(this).data('goal');
var $elm = $('#' + $goal);
$elm.append($elm);
$elm.find('.dstart').val(period.calendarweek[0]);
$elm.find('.dend').val(period.calendarweek[1]);
$('option[data-period="calendarweek"]', this).prop('selected', true);
}
});
});
$(window).resize(function () {
if (this.resizeTO) clearTimeout(this.resizeTO);
this.resizeTO = setTimeout(function () {
$(this).trigger('resizeEnd');
}, 500);
if ($('#dialog').is(':visible')) {
$('#dialog').center();
$('.dialog-preloader').center();
$('#dialog_container').css('height', $(window).height());
}
$('.ui-layout-north').css("position", "absolute");
});
$(window).bind('resizeEnd', function () {
if (isMobilee.any() || $(window).width() < 767) {
isMobile = true;
isPad = false;
}
if ($(window).width() > 767) {
isMobile = false;
isPad = true;
}
if ($(window).width() > 1024) isPad = false;
getScreenSize();
setCallerPos();
var element = $('li[data-id="search"]').find('.popmenu');
if (isMobile && element.hasClass('open')) {
var wH = $(window).height();
var wW = $(window).width();
var hBody;
element.css({'height': wH + 'px', 'width': wW + 'px', 'left': '0', 'top': '0'});
element.find('.left-triangle-before').remove();
element.find('.left-triangle-after').remove();
hBody = wH - element.find('.pophead').outerHeight() - element.find('.popblock').outerHeight() - 5;
element.find('.popbody').css({
"height": hBody + "px",
"max-height": hBody + "px",
"min-height": hBody + "px"
});
element.find('.popcontent').css({
"height": hBody + "px",
"max-height": hBody + "px",
"min-height": hBody + "px"
});
element.find('#searchResult').css({
"height": hBody + "px",
"max-height": hBody + "px",
"min-height": hBody + "px"
});
}
});
$(window).load(function () {
$('.ui-layout-center').find('select').not('.multiselect').each(function () {
if ($(this).closest('span').hasClass('select') === false) $(this).wrap(" ");
});
$('#lmenu').find('select').not('.multiselect').each(function () {
$(this).wrap(" ");
});
});
$(document).on('click', '.toggler', function () {
var id = $(this).data('id');
$(this).closest('div').find('#' + id).toggleClass('hidden');
if ($('#' + id).hasClass('hidden')) localStorage.setItem(id, '');
else localStorage.setItem(id, 'show');
if (!isMobile) $('.nano').nanoScroller();
});
$(document).on('click', '.togglerbox', function () {
var id = $(this).data('id');
$(this).parents('div').find('#' + id).toggleClass('hidden');
$(this).closest('div').find('#mapic').toggleClass('icon-angle-up icon-angle-down');
if ($('#dialog').is(':visible'))
$('#dialog').center();
});
$(document).on('click', '.togglerfly', function () {
var id = $(this).data('id');
$('#' + id).toggleClass('hidden');
});
$(document).on('click', '#che', function checkAll() {
if ($(this).prop('checked')) {
$('#contentdiv').find('.mc').not(':disabled').prop('checked', true);
}
else {
$('#contentdiv').find('.mc').not(':disabled').prop('checked', false);
}
});
$(document).on('click', '.variants .list span', function () {
var st = $(this).html();
$(this).closest('.variants').find('input').val(st);
});
$(document).on('click', '.cardResizer', function () {
var pozi = $(this).data('pozi');
var h = $(this).prev('.cardBlock').data('height');
if (pozi === 'close') {
$(this).data("pozi", "open");
$(this).prev('.cardBlock').css('height', 'auto');
}
else {
$(this).data("pozi", "close");
$(this).prev('.cardBlock').css('height', h + 'px');
}
$(this).find('i').toggleClass('icon-angle-down icon-angle-up');
});
$(document).on('click', '.adder', function () {
var block = $(this).data('block');
var main = $(this).data('main');
var el = $('#' + main);
el.find('.' + block + ':last').clone(true).appendTo('#' + main);
if (el.find('.' + block + ':first').find('.phone').hasClass('required')) {
el.find('.' + block).not(':last').find('.phone').addClass('required');
el.find('.' + block).not(':last').find('.remover').removeClass('hidden');
}
el.find('.' + block).not(':last').find('.adder').remove();
el.find('.' + block + ':last').find('.phone').removeClass('required').val('');
//el.find('.' + block + ':last').find('.remover').remove();
});
$(document).on('click', '.remover', function () {
var main = $(this).data('parent');
var main2 = $(this).parent('.phoneBlock');
var block = main2.find('.adder').data('block');
var el = $('#' + main);
var count = el.find('.phone').length;
var count2 = main2.find('.adder').length;
var req = 0;
if (el.find('.phoneBlock:first-of-type').find('.phone').hasClass('required')) req = 1;
if (count > 0 && count2 === 0) $(this).parent('.phoneBlock').remove();
else {
main2.find('input').val('');
if (el.find('.' + block + ':first').find('.phone').hasClass('required')) main2.find('input').addClass('required');
}
var newcount = el.find('.phone').length;
if (newcount === 1 && req === 1) el.find('.phone').addClass('required');
else el.find('.' + block + ':last').find('.phone').removeClass('required');
});
$(document).on('click', '.closer', function () {
var $el = $('#swindow');
$el.css('left', '110vw');
$el.find('.header').html('Header');
$el.find('.body').html('Body');
ShowModal.fire({
etype: 'swindow',
action: 'closed'
});
});
$(document).on('click', '.clearinputs', function () {
$(this).parents('.cleared').find('input').val('');
//выполняем функцию
var fnc = $(this).data('func');
if (fnc)
eval(fnc)();
});
/**
* Управление iframe
*/
$(document).off("click", '#ctitle #close');
$(document).on("click", '#ctitle #close', function () {
if (isFrame)
parent.$(parent.document).trigger('iframeClose');
else
window.close();
});
//$(document).off("click", '.smframe--close');
$(document).on("click", '.smframe--close', function (e) {
parent.$(parent.document).trigger('iframeClose');
e.preventDefault();
e.stopPropagation();
});
$(document).on('click', '.smframe--url', function (e) {
var url = e.currentTarget.dataset.url;
window.open(url);
parent.$(parent.document).trigger('iframeClose');
});
$(document).off("iframeClose");
$(document).on("iframeClose", function (e) {
$('.smframe--container').css({"left": "110vw"});
$('iframe#smframe').attr('src', '');
$('.smframe--url').data('url', '');
e.preventDefault();
e.stopPropagation();
return false;
});
/**
* Мобильная версия меню
*/
$(document).on('click', '.menuToggler', function () {
$('.menu--mobile').toggleClass('hidden');
$(this).find('i').toggleClass('icon-menu icon-cancel');
});
$(document).on('click', '.navlink', function () {
$('.menu--mobile').addClass('hidden');
$('.menuToggler').find('i').toggleClass('icon-menu icon-cancel');
return true
});
$(document).on('click', '.showpass', function (e) {
var input = $(this).siblings('input[data-type="password"]');
var prop = input.prop('type');
//console.log(prop);
if (prop === 'password') input.prop('type', 'text');
else input.prop('type', 'password');
$('.showpass').find('i').toggleClass('icon-eye icon-eye-off');
});
$(document).on('mouseleave', '.showpass', function (e) {
var input = $(this).siblings('input[data-type="password"]');
var prop = input.prop('type');
if (prop === 'text') {
input.prop('type', 'password');
$('.showpass').find('i').toggleClass('icon-eye-off icon-eye');
}
});
$(document).on('click', '.popblock:not(.disabled)', function () {
$('.popblock').not(this).removeClass('open');
$(this).addClass('open');
$(this).find('#mapii').toggleClass('icon-angle-down icon-angle-up');
});
$(document).mouseup(function (e) { // событие клика по веб-документу
//console.log(e);
// тут указываем элемент
var $elm = $(e.target).closest(".popblock-menu");
var $trgt = $('a[data-tip="filter"]');
//console.log($elm.length);
// и не по его дочерним элементам
if ($elm.length === 0/* && e.target.attributes[0].type !== "text"*/) {
if (e.target.type === "text")
return false;
//скрываем все остальные меню
$(".popblock-menu:not(.not-hide)").each(function () {
$(this).closest('.popblock').removeClass('open');
$(this).find('#mapii').addClass('icon-angle-down').removeClass('icon-angle-up');
});
}
});
/**
* Показ fullscreen-модального окна
* Применяется для экспресс-отчетов, списка дублей, анкет по сделкам
* @param url
* @param header
*/
function getSwindow(url, header) {
var $el = $('#swindow');
var str = $('#swForm').serialize();
$('.period').removeClass('active');
$('.period[data-period="month"]').addClass('active');
$el.find('.footer').removeClass('hidden');
$el.find('.header').html(header);
$el.find('#swUrl').val(url);
$el.find('.body').empty().append('
Загрузка данных...
');
$.get(url, 'period=month', function (data) {
$el.find('.body').html(data);
/**
* В Хроме сочетание ellipsis и работают не корректно
*/
if(isChrome){
$el.find('.ellipsis').find('a').each(function(){
var txt = $(this).html().replace(' ','');
$(this).html(txt);
});
}
});
$el.css('left', '0');
ShowModal.fire({
etype: 'swindow',
action: 'opened'
});
}
$(document).on('click', '#swindow a.period', function () {
var urli = $('#swUrl').val();
var period = $(this).data('period');
var $el = $('#swindow');
var str = $('#swForm').serialize() + '&period=' + period;
$('#swPeriod').val(period);
$el.find('.body').empty().append(' Загрузка данных...
');
$('.period').removeClass('active');
$(this).addClass('active');
$.ajax({
type: "GET",
url: urli,
data: str,
success: function (viewData) {
$el.find('.body').html(viewData);
/**
* В Хроме сочетание ellipsis и работают не корректно
*/
if(isChrome){
$el.find('.ellipsis').find('a').each(function(){
var txt = $(this).html().replace(' ',' ');
$(this).html(txt);
});
}
}
});
});
$(document).on('change', 'select[data-action="period"]', function (e) {
var $period = $('option:selected', this).data('period');
var $goal = $(this).data('goal');
var $elm = $('#' + $goal);
var $func = $(this).data('js');
if ($period !== undefined) {
$elm.find('.dstart').val(period[$period][0]);
$elm.find('.dend').val(period[$period][1]);
}
else {
$elm.find('.dstart').val('');
$elm.find('.dend').val('');
}
if ($func)
eval($func)();
e.preventDefault();
e.stopPropagation();
return false;
});
$notify = {
"list": function () {
var $elm = $('#subwindow');
$elm.addClass('open').empty().append('');
$.getJSON("/content/notify/list.php?action=list", function (viewData) {
viewData.language = $language;
$elm.empty().mustache('listTpl', viewData).animate({scrollTop: 0}, 200);
$('.menu--notify').removeClass('open');
});
},
"popup": function () {
var $elm = $('div[data-id="notify"]');
$.getJSON("/content/notify/list.php?action=popup", function (viewData) {
viewData.language = $language;
$elm.find('.popblock-items').empty().mustache('notifyPopTpl', viewData);
if (viewData.unread > 0)
$elm.find('.sup').removeClass('hidden').html(viewData.unread);
else
$elm.find('.sup').addClass('hidden').html(viewData.unread);
});
},
"mark": function (id) {
var $elm = $('.popblock-item[data-id="' + id + '"]');
var $elmw = $('#subwindow').find('div[data-id="' + id + '"]');
var $cnt = $('div[data-id="notify"]').find('.sup');
$.get("/content/notify/list.php?action=mark&id=" + id, function (data) {
var count = parseInt($cnt.html());
if (data === 'ok') {
$elm.remove();
$elmw.find('.corner').remove();
$cnt.html(count - 1);
$notify.list();
}
});
},
"markall": function () {
$.get("/content/notify/list.php?action=markall", function (data) {
if (data === 'ok') {
$notify.list();
$notify.popup();
}
});
}
};
// удаление неразрывных пробелов в хроме
function clearNBSP(){
//console.log(isChrome);
if(isChrome){
$('#contentdiv').find('.ellipsis').find('a').each(function(){
var txt = $(this).html().replace(' ','');
$(this).html(txt);
//console.log(txt);
});
}
}
function emptySelect() {
$('.yselectBox').find('input[type=checkbox]:checked').prop('checked', false);
var $f = $('.ydropDown').find('.ydropCount');
$f.html('0 ' + $language.all.Selected);
window.location.hash = '';
try {
configpage();
}
catch (e) {
}
$('select:first').prop('selected', true);
}
function desktopTaskHeight() {
if ($display === 'desktop') {
var panel_height = $('#dtcal').actual('outerHeight');
var cal_height = $('#calendar').actual('outerHeight');
var task_height = panel_height - cal_height - 20;
//console.log(task_height);
$('#tasklist').css({"height": task_height + "px"});
}
}
/**
* Периодическая проверка напоминаний
*/
function talarm() {
var url = '/content/ajax/task.alarm.php';
var left = screen.availWidth - 500;
var top = screen.availHeight - 500;
$.post(url, function (data) {
if (data) {
salesman_alert = window.open('content/ajax/task.alarm.php', 'CRMCRM', 'width=430, height=420, menubar=no, location=no, resizable=no, scrollbars=yes, status=no, left=' + left + ', top=' + top);
salesman_alert.focus();
}
return true;
});
}
function help(url) {
var urli = '/content/ajax/help.php?url=' + url;
var left = screen.availWidth / 2 - 315;
var top = screen.availHeight / 2 - 200;
var salesman_help = window.open(urli, 'SalesMan', 'width=630, height=400, menubar=no, toolbar=no, location=no, resizable=no, scrollbars=yes, status=no, left=' + left + ', top=' + top);
salesman_help.focus();
}
/**
* Счетчики на нижней панели
*/
function countsPanel() {
$.get('/content/vigets/notify.counts.php', function (data) {
if ($("#leadnum").is('span')) {
$("#leadnum").html(data.leads);
if (parseFloat(data.leads) > 0) $("#leadnum").removeClass('gray green blue').addClass('red');
else $("#leadnum").removeClass('red green blue').addClass('gray');
}
if ($("#kolnot").is('span')) {
$("#kolnot").html(data.deals);
if (parseFloat(data.deals) > 0) $("#kolnot").removeClass('gray green blue').addClass('red');
else $("#kolnot").removeClass('red green blue').addClass('gray');
}
if ($("#kolcredit").is('span')) {
$("#kolcredit").html(data.payments);
if (parseFloat(data.payments) > 0) $("#kolcredit").removeClass('gray green blue').addClass('red');
else $("#kolcredit").removeClass('red green blue').addClass('gray');
}
if ($("#commnum").is('span')) {
$("#commnum").html(data.comments);
if (parseFloat(data.comments) > 0) $("#commnum").removeClass('gray green blue').addClass('red');
else $("#commnum").removeClass('red green blue').addClass('gray');
}
}, 'json');
if ($("#counthealth").is('span')) {
$.ajax({
type: "GET",
url: "/content/desktop/dt.health.php?view=count",
success: function (viewData) {
var color = 'red';
if (parseInt(viewData) === 0)
color = 'green';
$("#counthealth").html(viewData).addClass(color);
}
});
}
}
/**
* Переключение меню Аватара
* @DEPRECATED
* @param id
* @returns {boolean}
*/
function submenu(id) {
if ($('#' + id).css('display') == 'none') {
$('#' + id).css('display', 'block');
}
else {
$('#' + id).css('display', 'none');
}
if (id == 'subpan3' && !isMobile) $('#subpan3').find('.nano').nanoScroller();
if (id == 'subpan3' && isMobile) $('#subpan3').find('.nano').css({"height": "100%"});
return false;
}
function popmenu() {
if ($(this, '.popmenu').css('display') === 'none') {
$(this, '.popmenu').css('display', 'block');
}
else {
$(this, '.popmenu').css('display', 'none');
}
return false;
}
/**
* Установка выбранного значения
*/
function yDropSelectSetText() {
$('.ydropDown').each(function () {
var count = $(this).find('input[type="radio"]:checked').size();
if (count > 0) {
$(this).find('input[type="radio"]:checked').trigger('click');
}
else {
$(this).find('input[type="radio"]:first').trigger('click');
$(this).find('.ydropString.yRadio:first').trigger('click');
}
});
}
/**
* Изменение логотипа на иконку Дом
* При наведении
* @returns {boolean}
*/
function logoSwitch() {
$('#home').toggleClass('hidden');
$('#logo').toggleClass('hidden');
return false;
}
/**
* Выбор/Снятие выбора всех чекбоксов в списках
*/
function checkb() {
if ($('#che').attr('checked')) {
$('.mc').attr('checked', true);
}
else {
$('.mc').attr('checked', false);
}
}
/**
* Просмотр напоминаний на дату
* @param id
*/
function taskview(id) {
$('#caloption_' + id).show();
}
function taskhide(id) {
$('#caloption_' + id).hide();
}
/**
* Обновляет содержимое элемента #element с загрузкой по url
* Может применяться для содержимого окна #dialog
* @param element
* @param url
* @returns {boolean}
*/
function refresh(element, url) {
var $dialog = $('#dialog');
var $message = $('#message');
$message.empty().css('display', 'block').append(' Загрузка данных...
');
$.get(url, function (data) {
$dialog.center();
$message.empty().css('display', 'none');
$('#' + element).html(data);
}).success(function () {
$dialog.find("a.button:contains('Отмена')").addClass('bcancel').prepend(' ');
$dialog.find("a.button:contains('Закрыть')").addClass('bcancel').prepend(' ');
$dialog.find("a.button:contains('Сохранить')").prepend(' ');
$dialog.find("a.button:contains('Добавить')").prepend(' ');
});
return false;
}
/**
* Обновляет содержимое элемента #element с загрузкой по url
* Применимость: списки, в которых есть чекбокс, выделяющий все чекбоксы
* @param element
* @param url
* @returns {boolean}
*/
function reLoad(element, url) {
$.get(url, function (data) {
$('#' + element).empty().html(data);
})
.success(function () {
})
.complete(function () {
checkB();
$('#ch').attr('checked', false);
$('#rez').empty();
});
$(".popmenu").hide();
$(".popmenu-top").hide();
if (!isMobile) $(".nano").nanoScroller();
return false;
}
/**
* @deprecated
* @param element
* @param url
* @returns {boolean}
*/
function reLoadCal(element, url) {
$('#message').empty().css('display', 'block').append(' Загрузка данных...
');
$.get(url, function (data) {
$('#message').empty().css('display', 'none');
$('#' + element).html(data);
});
if (!isMobile) $(".nano").nanoScroller();
return false;
}
/**
* Открытие url в модальном окне. Используется для вызова форм
* @param url
* @returns {boolean}
*/
function doLoad(url) {
var $dialog = $('#dialog');
var $resultdiv = $('#resultdiv');
var $container = $('#dialog_container');
var $preloader = $('.dialog-preloader');
$container.css('height', $(window).height());
$dialog.css('width', '500px').css('height', 'unset').css('display', 'none');
$container.css('display', 'block');
$preloader.center().css('display', 'block');
$resultdiv.css('height','initial');
if(url !== undefined) {
$.ajax({
type: "GET",
url: url,
success: function (data) {
$resultdiv.empty().html(data);
doLoadAfter();
if(action !== undefined)
ShowModal.fire({
etype: 'dialog',
action: action
});
},
statusCode: {
404: function () {
new DClose();
Swal.fire({
title: "Ошибка 404: Страница не найдена!",
type: "warning"
});
},
500: function () {
new DClose();
Swal.fire({
title: "Ошибка 500: Ошибка сервера!",
type: "error"
});
}
}
});
}
$(".popmenu").hide();
$(".popmenu-top").hide();
$('#editfield').remove();
return false;
}
/**
* Постобработка, после загрузки форм
* Позволяет открыть любую страницу в модальном окне, в т.ч. с обработкой
* При этом содержимое окна загружается отдельно
* в отличие от функции doLoad
*
* @example
* ```js
*
* let id = $(this).data('id');
* let type = $(this).data('type');
* let url = "modules/corpuniver/view.corpuniver.php?action=slide&preview=yes&type=" + type + "&id=" + id;
*
* doLoad();
*
* $.get(url, function (data) {
* $('#resultdiv').empty().html(data);
* })
* .complete(function () {
* $('#dialog').center();
* doLoadAfter();
* });
*
* ```
*/
function doLoadAfter(){
var $dialog = $('#dialog');
var $resultdiv = $('#resultdiv');
var $container = $('#dialog_container');
var $preloader = $('.dialog-preloader');
$dialog.find("a.button:contains('Отмена')").addClass('bcancel').prepend(' ');
$dialog.find("a.button:contains('Закрыть')").addClass('bcancel').prepend(' ');
$dialog.find("a.button:contains('Сохранить')").prepend(' ');
$dialog.find("a.button:contains('Добавить')").prepend(' ');
$preloader.css('display', 'none');
$resultdiv.find('select').not('.multiselect').each(function () {
$(this).wrap(" ");
});
$('#contentdiv').find('select').not('.multiselect').each(function () {
if ($(this).closest('span').hasClass('select') === false) $(this).wrap(" ");
});
if (!isChrome) {
$('input[type="date"]').each(function () {
this.setAttribute('readonly', 'readonly');
});
$('input[type="time"]').each(function () {
this.setAttribute('readonly', 'readonly');
});
$('.inputdatetime').each(function () {
this.setAttribute('readonly', 'readonly');
});
$('.inputdate').each(function () {
//this.setAttribute('readonly', 'readonly');
});
}
if (isMobile && isChrome) {
//переформатируем дату для хром-подобных браузеров
//в мобильной версии
$('.inputdatetime').each(function () {
var val = $(this).val().replace(" ", "T");
$(this).val(val);
/*
console.log(val);
this.setAttribute('readonly', 'readonly');
*/
if(val === '')
$(this).val( moment().format('YYYY-MM-DDTHH:mm') );
});
}
//console.log(isMobile);
if (isMobile || $(window).width() < 500) {
$dialog.find('form').find('#formtabs').append('
');
$dialog.css({
'position': 'unset',
'margin': '0 auto',
'margin-bottom': '50px',
'width': '100vw',
'height': '100vh'
});
$container.css('overflow-y', 'auto');
//if(!isChrome) {
$('input.datum').each(function () {
this.setAttribute('type', 'date');
});
$('input.inputdate').each(function () {
this.setAttribute('type', 'date');
});
$('input.inputdatetime').each(function () {
this.setAttribute('type', 'datetime-local');
});
//}
$dialog.on('focus', 'input', function () {
$('#formtabs').scrollTo($(this), 500);
});
$dialog.on('focus', 'textarea', function () {
$('#formtabs').scrollTo($(this), 500);
});
}
if (!isMobile) {
$('input[type="date"]').each(function () {
this.setAttribute('type', 'text');
});
$('input[type="time"]').each(function () {
this.setAttribute('type', 'text');
});
$('input[type="datetime"]').each(function () {
this.setAttribute('type', 'text');
});
}
if (typeof doLoadCallback === 'function') doLoadCallback();
$dialog.css('display', 'block').center();
if ($('#isCard').val() === 'yes') {
$('body').css({'overflow-y': 'hidden'});
$('html').css({'overflow-y': 'hidden'});
}
/**
* Dadata. Автозаполнение адресов
*/
$('input[data-type="address"]').each(function () {
$(this).suggestions({
token: $dadata,
type: "ADDRESS",
count: 5,
formatResult: formatResult,
formatSelected: formatSelected,
onSelect: function (suggestion) {
//console.log(suggestion);
},
addon: "clear",
geoLocation: true
});
});
/*
$('input[data-type="name"]').each(function() {
$(this).suggestions({
token: $dadata,
type: "NAME",
count: 5,
onSelect: function (suggestion) {
console.log(suggestion);
}
});
});
*/
/**
* Реквизиты
*/
$('input[data-type="inn"]').each(function () {
$(this).suggestions({
token: $dadata,
type: "PARTY",
count: 5,
onSelect: function (suggestion) {
var dir, sdir, dirName;
$('#recv\\[castInn\\]').val(suggestion.data.inn);
$('#recv\\[castUrName\\]').val(suggestion.data.name.full_with_opf);
$('#recv\\[castUrNameShort\\]').val(suggestion.data.name.short_with_opf);
$('#recv\\[castOkpo\\]').val(suggestion.data.okpo);
$('#recv\\[castOgrn\\]').val(suggestion.data.ogrn);
$('#recv\\[castUrAddr\\]').val(suggestion.data.address.data.postal_code + ', ' + suggestion.data.address.value);
/*
$('#recv\\[castDirName\\]').val(suggestion.data.management.name);
$('#recv\\[castDirStatus\\]').val(suggestion.data.management.post);
$('#recv\\[castDirStatusSig\\]').val(suggestion.data.management.post);
*/
//если это НЕ ИП
if (suggestion.data.type !== 'INDIVIDUAL') {
dir = suggestion.data.management.name;
sdir = dir.split(' ');
dirName = sdir[0] + ' ' + sdir[1].charAt(0) + '. ' + sdir[2].charAt(0) + '.';
$('#recv\\[castKpp\\]').val(suggestion.data.kpp);
$('#recv\\[castDirName\\]').val(ucfirst(suggestion.data.management.post) + ' ' + suggestion.data.management.name);
$('#recv\\[castDirStatus\\]').val(ucfirst(suggestion.data.management.post));
$('#recv\\[castDirStatusSig\\]').val(ucfirst(suggestion.data.management.post));
$('#recv\\[castDirSignature\\]').val(dirName);
}
else {
dir = suggestion.data.name.full;
sdir = dir.split(' ');
dirName = ucfirst(sdir[0]) + ' ' + sdir[1].charAt(0) + '. ' + sdir[2].charAt(0) + '.';
$('#recv\\[castKpp\\]').val('0');
$('#recv\\[castDirName\\]').val(suggestion.data.name.full_with_opf);
$('#recv\\[castDirStatus\\]').val('Индивидуального предпринимателя');
$('#recv\\[castDirStatusSig\\]').val(ucfirst(suggestion.data.opf.full));
$('#recv\\[castDirSignature\\]').val(dirName);
$('#recv\\[castDirOsnovanie\\]').val('Свидетельства о регистрации индивидуального предпринимателя № .. от ..');
}
}
});
});
}
/**
* Функция преобразует строку (особенно содержащую пробелы) в строку для http-запросов
* В противном случае пробел будет разрушать запрос
* @param data
* @returns {string}
*/
function urlEncodeData(data) {
var query = [];
if (data instanceof Object) {
for (var k in data) {
query.push(encodeURIComponent(k) + "=" +
encodeURIComponent(data[k]));
}
return query.join('&');
}
else
return encodeURIComponent(data);
//return data;
}
function urlencode(text) {
var trans = [];
for (var i = 0x410; i <= 0x44F; i++) trans[i] = i - 0x350;
trans[0x401] = 0xA8;
trans[0x451] = 0xB8;
var ret = [];
for (var i = 0; i < text.length; i++) {
var n = text.charCodeAt(i);
if (typeof trans[n] != 'undefined') n = trans[n];
if (n <= 0xFF) ret.push(n);
}
return escape(String.fromCharCode.apply(null, ret));
}
function blockError() {
return true;
}
/**
* Центрирование элементов в окне
* @returns {jQuery}
*/
$.fn.center = function () {
var w = $(window);
//if ($(window).width() > 760) {
this.css("position", "absolute");
if (!isMobile || $(window).width() > 500) {
this.css("top", (w.height() - this.height()) / 2 + "px");
this.css("left", (w.width() - this.width()) / 2 + w.scrollLeft() + "px");
}
else {
this.css("top", "0px");
this.css("left", "0px");
}
return this;
//}
};
/**
* Функция позволяет менять css у элементов, в т.ч. :before, :after
* @param selector
* @param styles
* @param sheet
* @returns {Window}
*/
window.addRule = function (selector, styles, sheet) {
styles = (function (styles) {
if (typeof styles === "string") return styles;
var clone = "";
for (var p in styles) {
if (styles.hasOwnProperty(p)) {
var val = styles[p];
p = p.replace(/([A-Z])/g, "-$1").toLowerCase(); // convert to dash-case
clone += p + ":" + (p === "content" ? '"' + val + '"' : val) + "; ";
}
}
return clone;
}(styles));
sheet = sheet || document.styleSheets[document.styleSheets.length - 1];
if (sheet.insertRule) sheet.insertRule(selector + " {" + styles + "}", sheet.cssRules.length);
else if (sheet.addRule) sheet.addRule(selector, styles);
return this;
};
/**
* Адаптер функции addRule для jQuery
* $('.popmenu:before').addRule("top: 100px");
*/
if ($) $.fn.addRule = function (styles, sheet) {
addRule(this.selector, styles, sheet);
return this;
};
/**
* Своё событие при изменении позици элемента
* @param trigger
* @param millis
* @returns {*|jQuery|HTMLElement}
*/
$.fn.onPositionChanged = function (trigger, millis) {
if (millis == null) millis = 100;
var o = $(this[0]); // our jquery object
if (o.length < 1) return o;
var lastPos = null;
var lastOff = null;
setInterval(function () {
if (o == null || o.length < 1) return o; // abort if element is non existend eny more
if (lastPos == null) lastPos = o.position();
if (lastOff == null) lastOff = o.offset();
var newPos = o.position();
var newOff = o.offset();
if (lastPos.top != newPos.top || lastPos.left != newPos.left) {
$(this).trigger('onPositionChanged', {lastPos: lastPos, newPos: newPos});
if (typeof (trigger) == "function") trigger(lastPos, newPos);
lastPos = o.position();
}
if (lastOff.top != newOff.top || lastOff.left != newOff.left) {
$(this).trigger('onOffsetChanged', {lastOff: lastOff, newOff: newOff});
if (typeof (trigger) == "function") trigger(lastOff, newOff);
lastOff = o.offset();
}
}, millis);
return o;
};
/**
* Своё событие при изменении позици элемента
* @param trigger
* @param millis
* @returns {*|jQuery|HTMLElement}
*/
$.fn.onVisibleChanged = function (trigger, millis) {
if (millis == null) millis = 100;
var o = $(this[0]); // our jquery object
if (o.length < 1) return o;
var oldStatus = o.css('display');
setInterval(function () {
if (o == null || o.length < 1) return o; // abort if element is non existend eny more
if (oldStatus == null) oldStatus = o.css('display');
var newStatus = o.css('display');
if (oldStatus != newStatus) {
$(this).trigger('onVisibleChanged', {status: newStatus});
if (typeof (trigger) == "function") trigger(newStatus);
oldStatus = o.css('display');
}
}, millis);
return o;
};
/**
* Управление форматом инпутов с телефонами
* @param format
* @returns {$}
*/
$.fn.phoneFormater = function (format) {
var $mask = format;
var $length = this.val().replace(/\D+/g, "").length;
var element = this.parent('.phoneBlock');
var block = element.find('.adder').data('block');
var main = element.find('.adder').data('main');
var el = $('#' + main);
if ($length > 11) $mask = '99 999 9999-99999';
this.unsetMask();
this.setMask({
mask: $mask,
autoTab: true,
maxLength: 14,
onValid: function () {
if ($length > 3 && !$(this).hasClass('masked')) {
el.find('.' + block + ':last').clone(true).appendTo('#' + main);
el.find('.' + block).not(':last').find('.adder').remove();
el.find('.' + block + ':last').find('.phone').removeClass('required').val('');
if (el.find('.' + block + ':first').find('.phone').hasClass('required')) {
el.find('.' + block).not(':last').find('.phone').addClass('required');
}
el.find('.' + block + ':last').find('.remover').removeClass('hidden');
el.find('.' + block + ':last').find('.phone').css({"background": ""});
$(this).addClass('masked');
}
//return false;
}
});
return this;
};
/**
* Автоматическое увеичение размера текстового поля
* @param maxHeight - максимальая высота поля
* @param rows - количество строк при инициализации
* @returns {$}
*/
$.fn.autoHeight = function (maxHeight, rows) {
if (rows === 'undefined') rows = 1;
this.trigger('input');
this.each(function () {
$(this).attr('rows', rows);
resize($(this));
$('#dialog').center();
});
this.off('input');
this.on('input', function () {
resize($(this));
$('#dialog').center();
});
function resize($text) {
$text.css({'min-height': '100px', 'height': $text[0].scrollHeight + 'px', 'overflow-y': 'hidden'});
//if($text[0].scrollHeight > maxHeight) $text.css({'height': (maxHeight) + 'px', 'overflow-y':'auto'});
$('#dialog').center();
}
return this;
};
$('#dialog').onVisibleChanged(function () {
if ($('#dialog').css('display') === 'none') $('body').css('overflow-y', 'auto');
});
function checkB() {
var n = $('.mc').length;
var m = $('.mc:checked').length;
if (m === n) $('#ch').attr('checked', true);
else $('#ch').attr('checked', false);
}
/**
* Закрытие модального окна
* @constructor
*/
function DClose() {
if (editor && ehtml !== '') {
$('#dialog #content').val(ehtml);
editor.destroy();
editor = null;
$('.nano').css('height', '100%');
}
$('#subwindow').removeClass('open');
$('#resultdiv').empty();
$('#dialog_container').css('display', 'none');
$('.dialog-preloader').css('display', 'none');
$('#dialog').css({
'display': 'none',
'width': '500px',
'height': 'unset',
'position': 'absolute',
'margin': 'unset'
}).center();
if ($('#isCard').val() === 'yes') {
$('body').css('overflow-y', 'auto');
$('html').css('overflow-y', 'auto');
}
ShowModal.fire({
etype: 'dialog',
action: 'closed'
});
}
function change_us() {
var $list = $('#list option:selected').val();
$('#page').val('1');
if ($list === 'my') $('#iduser').prop('disabled', true);
else $('#iduser').prop('disabled', false);
}
function get_user(id) {
$('#iduser').load('/content/core/core.user.php?action=get.select&tar=' + $('#list option:selected').val() + '&iduser=' + id);
}
/**
* Форматирование суммы
* @param n
* @param d
* @param s
* @returns {string | *}
*/
function setNumFormat(n, d, s) {
if (arguments.length === 2) {
s = "`";
}
if (arguments.length === 1) {
s = "`";
d = ",";
}
n = n.toString();
a = n.split(d);
x = a[0];
y = a[1];
z = "";
if (typeof(x) !== "undefined") {
for (i = x.length - 1; i >= 0; i--)
z += x.charAt(i);
z = z.replace(/(\d{3})/g, "$1" + s);
if (z.slice(-s.length) === s)
z = z.slice(0, -s.length);
x = "";
for (i = z.length - 1; i >= 0; i--)
x += z.charAt(i);
if (typeof(y) !== "undefined" && y.length > 0)
x += d + y;
}
return x;
}
//
//функция для телефонии
/**
* Позиционирование окна
*/
function setCallerPos() {
var right = $(window).width() - $callerPosition - $('#caller').outerWidth();
if (parseInt(right) < 0) right = 30;
$('#caller').css({'right': right + 'px'});
}
/**
* Отображение/Скрытие окошка телефонии
* с проверкой блока исходящего звонка
* @constructor
*/
function CallWindowShow(h) {
var n = $('#caller').css('display');
//отображаем окошко
if (n === 'none') {
$('#caller').show();
if (h === 'hand') localStorage.setItem("callerNotAutoShow", '');
}
else {
//скрываем окошко телефонии
$('#caller').hide();
//очищаем поле исходщего звонка
$('#callto').empty();
}
setCallerPos();
}
/**
* Простое отображение окошка телефонии
* @constructor
*/
function CallWShow() {
var auto = localStorage.getItem("callerNotAutoShow");
if (auto !== 'yes') $('#caller').show();
}
function showCallWindow(url) {
$('#callto').load(url);
$('#caller').show();//.css("right",collerpos.right);
$('#peers').hide();
setCallerPos();
}
function hideCallWindow(h) {
$('#callto').empty();
$('#caller').hide();
$('#peers').show();
if (h === 'hand') localStorage.setItem("callerNotAutoShow", 'yes');
setCallerPos();
}
function CallPopup(id) {
$('#p' + id).toggleClass('hidden');
}
function getCookie(name) {
var cookie = " " + document.cookie;
var search = " " + name + "=";
var setStr = null;
var offset = 0;
var end = 0;
if (cookie.length > 0) {
offset = cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = cookie.indexOf(";", offset)
if (end == -1) {
end = cookie.length;
}
setStr = unescape(cookie.substring(offset, end));
}
}
return (setStr);
}
function setCookie(name, value, options) {// https://learn.javascript.ru/cookie
options = options || {};
var expires = options.expires;
if (typeof expires == "number" && expires) {
var d = new Date();
d.setTime(d.getTime() + expires * 1000);
expires = options.expires = d;
}
if (expires && expires.toUTCString) {
options.expires = expires.toUTCString();
}
value = encodeURIComponent(value);
var updatedCookie = name + "=" + value;
for (var propName in options) {
updatedCookie += "; " + propName;
var propValue = options[propName];
if (propValue !== true) {
updatedCookie += "=" + propValue;
}
}
document.cookie = updatedCookie;
}
function deleteCookie(name) {
setCookie(name, "", {
expires: -1
})
}
function getScreenSize() {
var h = $(window).height();
var w = $(window).width();
document.cookie = 'width=' + w;
document.cookie = 'height=' + h;
}
function asUser(old, user) {
if (user != '') {
document.cookie = 'asuser=' + user;
document.cookie = 'old=' + old;
}
else {
document.cookie = 'asuser=';
document.cookie = 'old=';
}
window.location.reload();
//setTimeout("window.location.reload(true)", 10);
}
function deleteFilebox(id) {
$('#' + id + ' #file\\[\\]').val('');
}
function checkuser(login) {
var usermail = $('#' + login).val();
var iduser = $('#iduser').val();
var url = '/content/admin/usereditor.php?action=checkuser&email=' + usermail + '&iduser=' + iduser;
$.post(url, function (data) {
if (data) {
$('#emailvalidate').removeClass('hidden').html(' ' + data + ' ');
$('#submitbutton').addClass('hidden');
$('#fakebutton').removeClass('hidden');
$('#' + login).removeClass('green').addClass('red');
}
else {
$('#emailvalidate').removeClass('hidden').html(' Порядок ');
$('#submitbutton').removeClass('hidden');
$('#fakebutton').addClass('hidden');
$('#' + login).removeClass('red').addClass('green');
}
});
}
function checkuserpass(pwd) {
var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
var enoughRegex = new RegExp("(?=.{6,}).*", "g");
var userpass = $('#' + pwd).val();
var iduser = $('#iduser').val();
var cot = $('.green').length;
var cc = 1;
if (iduser > 0 && userpass === '') {
$('#passstrength').html('').addClass('hidden');
$('#' + pwd).removeClass('red').addClass('green');
$('#fakebutton').addClass('hidden');
$('#submitbutton').removeClass('hidden');
}
else {
if (false === enoughRegex.test(userpass)) {
$('#passstrength').removeClass('hidden').html(' Должно быть больше 6 символов ');
$('#' + pwd).removeClass('green').addClass('red');
$('#submitbutton').addClass('hidden');
$('#fakebutton').removeClass('hidden');
}
else if (strongRegex.test(userpass)) {
$('#passstrength').removeClass().addClass('green').html(' Сложный . Великолепно!');
$('#' + pwd).removeClass('red').addClass('green');
}
else if (mediumRegex.test(userpass)) {
$('#passstrength').removeClass().addClass('blue').html(' Средний . Еще немного!');
$('#' + pwd).removeClass('red').addClass('green');
}
else {
$('#passstrength').removeClass().addClass('red').html(' Проверь раскладку');
$('#' + pwd).removeClass('green').addClass('red');
$('#submitbutton').addClass('hidden');
$('#fakebutton').removeClass('hidden');
}
}
if ($('#email').is('input') || $('#mail_url').is('input')) cc = 0;
if (cot > cc) {
$('#submitbutton').removeClass('hidden');
$('#fakebutton').addClass('hidden');
}
return true;
}
function goodlink(url) {
if (isMobile == false) {
window.location.assign(url);
}
}
function openlink(url) {
window.open(url, '_blank');
}
function addTagInEditor(txtar, myitem) {
if (!editor) {
var textt = $('#' + txtar).val();
$('#' + txtar).val(textt + myitem);
}
else {
var oEditor = CKEDITOR.instances.suffix;
oEditor.insertHtml(myitem);
}
return true;
}
function insTextAtCursor(_obj_name, _text) {
var area = document.getElementsByName(_obj_name).item(0);
if ((area.selectionStart) || (area.selectionStart == '0')) {
var p_start = area.selectionStart;
var p_end = area.selectionEnd;
area.value = area.value.substring(0, p_start) + _text + area.value.substring(p_end, area.value.length);
}
if (document.selection) {
area.focus();
sel = document.selection.createRange();
sel.text = _text;
}
}
function strtr(str, from, to) {
// discuss at: http://phpjs.org/functions/strtr/
// original by: Brett Zamir (http://brett-zamir.me)
// input by: uestla
// input by: Alan C
// input by: Taras Bogach
// input by: jpfle
// bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// bugfixed by: Brett Zamir (http://brett-zamir.me)
// bugfixed by: Brett Zamir (http://brett-zamir.me)
// depends on: krsort
// depends on: ini_set
// example 1: $trans = {'hello' : 'hi', 'hi' : 'hello'};
// example 1: strtr('hi all, I said hello', $trans)
// returns 1: 'hello all, I said hi'
// example 2: strtr('äaabaåccasdeöoo', 'äåö','aao');
// returns 2: 'aaabaaccasdeooo'
// example 3: strtr('ääääääää', 'ä', 'a');
// returns 3: 'aaaaaaaa'
// example 4: strtr('http', 'pthxyz','xyzpth');
// returns 4: 'zyyx'
// example 5: strtr('zyyx', 'pthxyz','xyzpth');
// returns 5: 'http'
// example 6: strtr('aa', {'a':1,'aa':2});
// returns 6: '2'
var fr = '',
i = 0,
j = 0,
lenStr = 0,
lenFrom = 0,
tmpStrictForIn = false,
fromTypeStr = '',
toTypeStr = '',
istr = '';
var tmpFrom = [];
var tmpTo = [];
var ret = '';
var match = false;
// Received replace_pairs?
// Convert to normal from->to chars
if (typeof from === 'object') {
tmpStrictForIn = this.ini_set('phpjs.strictForIn', false); // Not thread-safe; temporarily set to true
from = this.krsort(from);
this.ini_set('phpjs.strictForIn', tmpStrictForIn);
for (fr in from) {
if (from.hasOwnProperty(fr)) {
tmpFrom.push(fr);
tmpTo.push(from[fr]);
}
}
from = tmpFrom;
to = tmpTo;
}
// Walk through subject and replace chars when needed
lenStr = str.length;
lenFrom = from.length;
fromTypeStr = typeof from === 'string';
toTypeStr = typeof to === 'string';
for (i = 0; i < lenStr; i++) {
match = false;
if (fromTypeStr) {
istr = str.charAt(i);
for (j = 0; j < lenFrom; j++) {
if (istr == from.charAt(j)) {
match = true;
break;
}
}
}
else {
for (j = 0; j < lenFrom; j++) {
if (str.substr(i, from[j].length) == from[j]) {
match = true;
// Fast forward
i = (i + from[j].length) - 1;
break;
}
}
}
if (match) {
ret += toTypeStr ? to.charAt(j) : to[j];
} else {
ret += str.charAt(i);
}
}
return ret;
}
function striptags(str) {
// Strip HTML and PHP tags from a string
//
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
return str.replace(/<\/?[^>]+>/gi, '');
}
function in_array(needle, haystack, strict) {
// Checks if a value exists in an array
//
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
var found = false, key, strict = !!strict;
for (key in haystack) {
if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
found = true;
break;
}
}
return found;
}
function ucfirst(str) {
var first = str.charAt(0).toUpperCase();
return first + str.substr(1).toLowerCase();
}
/*
Удаление элемента из массива.
String value: значение, которое необходимо найти и удалить.
return: массив без удаленного элемента; false в противном случае.
*/
/*Array.prototype.remove = function(value) {
var idx = this.indexOf(value);
if (idx != -1) {
// Второй параметр - число элементов, которые необходимо удалить
return this.splice(idx, 1);
}
return false;
};*/
function getTopOffset(e) {
var y = 0;
do {
y += e.offsetTop;
} while (e = e.offsetParent);
return y;
}
/*Ссылки на просмотр или переход в карточку*/
function viewClient(id, hash) {
if (!isMobile && !viewAsOpen)
doLoad('content/view/client.view.php?clid=' + id + '#' + hash);
else
openClient(id, hash);
return false;
}
function openClient(id, hash) {
var str = (hash) ? '#' + hash : '';
if (!openFrame || isCard)
window.open('card.client?clid=' + id + str);
else {
$('#smframe').attr('src', 'card.client?clid=' + id + '&face=frame' + str);
$('.smframe--container').css({"left": "0"});
$('.smframe--url').removeClass('hidden').attr('data-url', 'card.client?clid=' + id + str);
}
return false;
}
function editClient(id, action) {
if (action === '')
action = 'edit';
doLoad('/content/forms/form.client.php?clid=' + id + '&action=' + action);
return false;
}
function expressClient(phone) {
doLoad('/content/forms/form.client.php?action=express&phone=' + phone);
return false;
}
function trashClient(id, action) {
$.get('/content/core/core.client.php?action=client.' + action + '&clid=' + id, function () {
if ($('#isCard').val() === 'yes')
settab('0');
});
}
function viewProfile(id) {
doLoad('/content/card/card.profile.php?clid=' + id + '&action=profil');
}
function viewPerson(id) {
if (!isMobile && !viewAsOpen || isCard)
doLoad('/content/view/person.view.php?pid=' + id);
else
openPerson(id);
return false;
}
function openPerson(id) {
if (!openFrame || isCard)
window.open('/card.person?pid=' + id);
else {
$('#smframe').attr('src', '/card.person?pid=' + id + '&face=frame');
$('.smframe--container').css({"left": "0"});
$('.smframe--url').removeClass('hidden').attr('data-url', '/card.person?pid=' + id);
}
return false;
}
function addPerson(id) {
doLoad('/content/forms/form.person.php?action=add&clid=' + id);
return false;
}
function editPerson(id, action) {
if (action === 'undefined') action = 'edit';
if (action !== 'change.user')
doLoad('/content/forms/form.person.php?action=' + action + '&pid=' + id);
else
doLoad('/content/forms/form.client.php?action=' + action + '&pid=' + id);
return false;
}
function PersonAdd(opt) {
var $clid = (typeof opt === 'undefined') ? 0 : opt.clid;
var $did = (typeof opt === 'undefined') ? 0 : opt.did;
doLoad('/content/forms/form.person.php?action=add&clid=' + $clid + '&did=' + $did);
}
function viewDogovor(id, hash) {
if (!isMobile && !viewAsOpen)
doLoad('/content/view/deal.view.php?did=' + id + '#' + hash);
else
openDogovor(id, hash);
return false;
}
function openDogovor(id, hash) {
var str = '';
if (!hash)
str = '';
else if (hash !== "undefined") str = '#' + hash;
if (!openFrame || isCard)
window.open('/card.deal?did=' + id + str);
else {
$('#smframe').attr('src', '/card.deal?did=' + id + '&face=frame' + str);
$('.smframe--container').css({"left": "0"});
$('.smframe--url').removeClass('hidden').attr('data-url', '/card.deal?did=' + id + str);
}
return false;
}
function editDogovor(id, action, step) {
if (action === '') action = 'edit';
if (!in_array(action, ['restore', 'delete', 'add', 'fromentry', 'change.step'])) doLoad('/content/forms/form.deal.php?did=' + id + '&action=' + action);
else if (action === 'change.step') doLoad('/content/forms/form.deal.php?did=' + id + '&action=' + action + '&newstep=' + step);
else if (action === 'add') doLoad('/content/forms/form.deal.php?clid=' + id + '&action=add');
else if (action === 'fromentry') doLoad('/content/forms/form.deal.php?ide=' + id + '&action=add');
else if (action === 'restore') {
var url = '/content/core/core.deals.php?action=deal.restore&did=' + id;
$.get(url, function () {
window.location.href = 'card.deal.php?did=' + id;
}, 'json');
}
return false;
}
function cloneDogovor(id) {
doLoad('/content/forms/form.deal.php?odid=' + id + '&action=add');
return false;
}
function editSpeca(id, action, did) {
if (in_array(action, ['delete', 'change.calculate'])) {
$('#message').empty().fadeTo(1, 1).css('display', 'block').append(' Загрузка данных. Пожалуйста подождите...
');
var url = '/content/core/core.speca.php?action=' + action + '&did=' + did + '&spid=' + id;
$.get(url, function (data) {
var errors = '';
if (data.error !== 'undefined' && data.error !== '' && data.error != null) errors = ' Note: ' + data.error;
$('#message').fadeTo(1, 1).css('display', 'block').html('Результат: ' + data.result + errors);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
settab('0');
settab('7');
}, 'json');
}
else if (action === 'export') {
window.location.href = '/content/core/core.speca.php?action=' + action + '&did=' + did;
}
else doLoad('/content/forms/form.speca.php?action=' + action + '&spid=' + id + '&did=' + did);
}
//===========================не сделано
function viewDogovorHealth(did) {
doLoad('/content/lists/dt.health.php?did=' + did + '&action=view');
return false;
}
/*удаление из карточки*/
function deleteCCD(tip, id, from) {
var url, t;
switch (tip) {
case 'client':
url = '/content/core/core.client.php';
t = 'clid';
break;
case 'person':
url = '/content/core/core.person.php';
t = 'pid';
break;
case 'deal':
url = '/content/core/core.deals.php';
t = 'did';
break;
}
var str = 'action=' + tip + '.delete&' + t + '=' + id;
var urli = 'card.' + tip + '.php?' + t + '=' + id;
$('#message').fadeTo(1, 1).css('display', 'block').append('Выполняю. Пожалуйста подождите...
');
$.get(url, str, function (data) {
var text = '';
if (data.result !== '') text = 'Результат: ' + data.result;
if (data.error !== '') text += ' ' + data.error;
if (from === 'card') {
$('#message').empty().fadeTo(1, 1).css('display', 'block').html(text);
setTimeout(function () {
$('#message').fadeTo(100, 0);
window.location.href = urli;
}, 5000);
}
else {
$('#message').empty().fadeTo(1, 1).css('display', 'block').html(text);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
if (tip === 'person' && data.result !== '') settab('2');
}
}, 'json');
}
/*счета и акты*/
function editCredit(id, action) {
if (in_array(action, ['credit.add', 'credit.express'])) {
doLoad('/content/forms/form.deal.php?did=' + id + '&action=' + action);
}
else if (action === 'credit.view') {
window.open('/content/helpers/get.doc.php?action=invoice.print&crid=' + id + '&tip=print');
}
else if (in_array(action, ['credit.undoit', 'credit.delete'])) {
var url = '/content/core/core.deals.php?crid=' + id + '&action=' + action;
$('#message').empty().fadeTo(1, 1).css('display', 'block').append(' Загрузка данных. Пожалуйста подождите...
');
$.get(url, function (data) {
var errors = '';
if (data.error !== undefined && data.error !== '')
errors = ' Note: ' + data.error;
$('#message').fadeTo(1, 1).css('display', 'block').html('Результат: ' + data.result + errors);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
}, 'json')
.complete(function () {
if (typeof settab == 'function')
settab('0', false);
if (typeof settab == 'function')
setTimeout(function () {
settab('7', false);
}, 1000);
});
}
else {
doLoad('/content/forms/form.deal.php?crid=' + id + '&action=' + action);
}
}
function editAkt(action, id, type, did) {
action = 'akt.' + action;
if (action === 'akt.view')
window.open('/content/helpers/get.doc.php?action=akt.print&deid=' + id + '&tip=print&did=' + did);
else if (action !== 'akt.delete')
doLoad('/modules/contract/form.contract.php?action=' + action + '&type=' + type + '&did=' + did + '&deid=' + id);
else if (in_array(action, ['akt.delete'])) {
var url = '/modules/contract/core.contract.php?deid=' + id + '&did=' + did + '&type=' + type + '&action=' + action;
$('#message').empty().fadeTo(1, 1).css('display', 'block').append(' Загрузка данных. Пожалуйста подождите...
');
$.get(url, function (data) {
var errors = '';
if (data.error !== undefined && data.error !== '')
errors = ' Note: ' + data.error;
$('#message').fadeTo(1, 1).css('display', 'block').html('Результат: ' + data.result + errors);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
}, 'json')
.complete(function () {
settab('15', false);
});
}
}
function doc2PDF(id, file, disposition, name, deid) {
var str = 'action=getpdf&fid=' + id + '&file=' + file + '&name=' + name + '&disposition=' + disposition + '&deid=' + deid;
$('#message').empty().fadeTo(1, 1).css('display', 'block').append(' Выполняю...
');
$.get('/modules/contract/core.contract.php', str, function (data) {
$('#message').fadeTo(1, 1).css('display', 'block').html('Создан файл: ' + data);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 5000);
if (typeof settab == 'function')
settab('15', false);
});
}
function editCPoint(id, action, did) {
action = 'controlpoint.' + action;
if (!in_array(action, ['controlpoint.doit', 'controlpoint.undoit', 'controlpoint.delete'])) {
doLoad('/content/forms/form.deal.php?did=' + did + '&id=' + id + '&action=' + action);
}
else {
var url = '/content/core/core.deals.php?id=' + id + '&action=' + action;
$('#message').empty().fadeTo(1, 1).css('display', 'block').append(' Загрузка данных. Пожалуйста подождите...
');
$.get(url, function (data) {
var errors = '';
if (data.error !== undefined && data.error !== '' && data.error !== null)
errors = ' Note: ' + data.error;
configpage();
cardload();
$('#message').fadeTo(1, 1).css('display', 'block').html('Результат: ' + data.result + errors);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
}, 'json');
}
}
/*задачи*/
function viewTask(id) {
doLoad('/content/view/task.view.php?tid=' + id);
return false;
}
function viewTaskList(datum, clid, did) {
clid = parseInt(clid);
did = parseInt(did);
if (datum !== '')
doLoad('/content/view/task.view.php?action=view&datum=' + datum);
else if (clid > 0 || did > 0)
doLoad('/content/view/task.view.php?clid=' + clid + '&did=' + did);
return false;
}
function editTask(id, action = 'edit') {
if (action === '')
action = 'edit';
doLoad('/content/forms/form.task.php?action=' + action + '&tid=' + id);
return false;
}
function addTask(date, clid, pid, did) {
if (date === 'undefined')
date = '';
doLoad('/content/forms/form.task.php?action=add&datum=' + date + '&clid=' + clid + '&pid=' + pid + '&did=' + did);
return false;
}
function addTaskPlus(tip, clid, pid, did) {
doLoad('/content/forms/form.task.php?action=add&tip=' + tip + '&clid=' + clid + '&pid=' + pid + '&did=' + did);
return false;
}
function deleteTask(id) {
$.get('/content/core/core.tasks.php?action=delete&tid=' + id, function () {
if (typeof cardload == 'function')
cardload();
if ($('#tar').is('input') || $('#tarr').is('input'))
configpage();
if ($('#tabs-6').is('div')) {
$('#tabs-6').load('/content/ajax/dt.tasklist.php?y=' + parseInt($('#calendar #sy').val()) + '&m=' + parseInt($('#calendar #sm').val()));
changeMounth();
}
if (typeof razdel == 'function')
$('#todo').empty().load('/content/lists/dt.tasklist.php').append(' ');
});
}
function getDateTasks(pole) {
if (!pole) pole = 'datum';
let datum = $('#' + pole).val();
let url = '/content/core/core.tasks.php?action=viewtasks&datum=' + datum;
$('.datumTasks').load(url).show();
}
function getDateTasksNew(pole) {
if (!pole) pole = 'datum';
let datum = $('#' + pole).val();
let url = '/content/core/core.tasks.php?action=viewtasksnew&datum=' + datum;
$.get(url, function (data) {
$('.taskcount').html(data.count);
$('.datumTasks').find('.tagsmenu .blok').html(data.list);
}, 'json');
}
function getWeekCalendar() {
let $el = $('#swindow');
let url = '/content/lists/sw.weekcalendar.php';
$el.find('.footer').addClass('hidden');
$el.find('.body').css({"heighr": "100vh"});
$el.find('.header').html('Календарь на неделю');
$el.find('.body').empty().append(' Загрузка данных...
');
$.get(url, function (data) {
$el.find('.body').html(data);
});
$el.css('left', '0');
swindow = true;
}
/*история*/
function viewHistory(id, date) {
if (date === 'undefined') date = '';
if (id === 'undefined') id = '';
doLoad('/content/view/history.view.php?cid=' + id + '&datum=' + date);
return false;
}
function addHistory(date, clid, pid, did) {
if (date === 'undefined') date = '';
doLoad('/content/forms/form.history.php?action=add&datum=' + date + '&clid=' + clid + '&pid=' + pid + '&did=' + did);
return false;
}
function editHistory(id) {
doLoad('/content/forms/form.history.php?action=edit&cid=' + id);
return false;
}
function deleteHistory(id) {
$.get('/content/core/core.history.php?action=delete&cid=' + id, function (data) {
if (typeof cardload == 'function')
cardload();
$('#message').fadeTo(1, 1).css('display', 'block').html(data);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
});
}
function noLog() {
$.post('/content/core/core.history.php?action=setparam&nolog=' + $('#nolog:checked').val(), function () {
cardload(1);
});
}
/*лиды*/
function editLead(id, action, phone) {
if (!in_array(action, ['delete', 'export', 'view']))
doLoad('/modules/leads/form.leads.php?id=' + id + '&action=' + action + '&phone=' + phone);
else if (action === 'view')
doLoad('/modules/leads/form.leads.php?action=view&id=' + id);
else if (action === 'delete') {
let errors = '';
$('#message').empty().fadeTo(1, 1).css('display', 'block').append(' Загрузка данных. Пожалуйста подождите...
');
$.get('/modules/leads/core.leads.php?id=' + id + '&action=' + action, function (data) {
if (data.error !== undefined && data.error !== '')
errors = ' Note: ' + data.error;
$('#message').fadeTo(1, 1).css('display', 'block').html('Результат: ' + data.result + errors);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
}, 'json')
.complete(function () {
configpage();
});
}
else if (action === 'export')
window.open('/modules/leads/core.leads.php?action=' + action);
}
function openLead(id) {
doLoad('/modules/leads/form.leads.php?action=view&id=' + id);
return false;
}
/*обращения*/
function editEntry(id, action, phone) {
if (!phone) phone = '';
let clid = parseInt($('#ctitle #clid').val());
if (!in_array(action, ['delete'])) {
doLoad('/modules/entry/form.entry.php?id=' + id + '&action=' + action + '&phone=' + phone + '&clid=' + clid);
}
else if (in_array(action, ['delete'])) {
let errors = '';
$('#message').empty().fadeTo(1, 1).css('display', 'block').append(' Выполняю. Пожалуйста подождите...
');
$.get('/modules/entry/core.entry.php?id=' + id + '&action=' + action, function (data) {
if (data.error !== 'undefined' && data.error !== '')
errors = ' Note: ' + data.error;
$('#message').fadeTo(1, 1).css('display', 'block').html('Результат: ' + data.result + errors);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
}, 'json')
.complete(function () {
configpage();
});
}
}
/*обсуждения*/
function editComment(id, action, idparent) {
let str = '';
let url = '';
if (action === 'add' && isCard) {
let tip = $('#card').val();
if (tip === 'client') str = '&clid=' + $('#clid').val();
if (tip === 'person') str = '&pid=' + $('#pid').val();
if (tip === 'dogovor') str = '&did=' + $('#did').val();
if (tip === 'project') str = '&project=' + $('#idproject').val();
}
if (action === 'open') {
window.open('/card.comments?comid=' + id);
}
else if (action === 'viewshort') {
url = '/modules/comments/card.comments.php?action=commentlist.view&id=' + id;
$(".ui-layout-content .nano").nanoScroller({scroll: 'top'});
$('#messagediv').empty().append(' Загрузка данных. Пожалуйста подождите...
');
$('#kbmenu').empty();
$('#themeid').val(id);
$('#contentdiv table tr').removeClass('current');
$('#contentdiv table tr[data-id="' + id + '"]').addClass('current');
$.get(url, function (data) {
$('#messagediv').html(data);
})
.complete(function () {
$('#kbmenu').html($('.kbaction').html());
if (!isMobile) $(".ui-layout-content .nano").nanoScroller();
$('.ui-layout-east').addClass('open');
});
}
else if (in_array(action, ['delete', 'delete.card', 'subscribe', 'unsubscribe', 'close'])) {
url = '/modules/comments/core.comments.php?action=' + action + '&id=' + id + '&idparent=' + idparent;
$.post(url, function (data) {
if (!in_array(action, ['delete.card', 'close'])) {
if (isCard) {
settab('12', false);
$('#message').fadeTo(1, 1).css('display', 'block').html(data.result);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
}
else {
if (parseInt(data.idparent) === 0)
$('#themeid').val("0");
configpage();
}
}
else {
$('#message').fadeTo(1, 1).css('display', 'block').html(data.result);
setTimeout(function () {
$('#message').fadeTo(400, 0);
if (isCard && $('#isComment').val() !== 'yes') {
settab('12');
$('#message').fadeTo(1, 1).css('display', 'block').html(data.result);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
}
else if ($('#tar').is('input')) {
editComment(id, 'viewshort', '');
}
else window.location.href = 'card.comments.php?comid=' + id;
if (parseInt(data.idparent) === 0)
$('#themeid').val("0");
configpage();
}, 500);
}
return true;
}, 'json');
}
else
doLoad('modules/comments/form.comments.php?id=' + id + '&idparent=' + idparent + '&action=' + action + '&' + str);
return false;
}
function unsubscribeComment(id, iduser) {
var url = '/modules/comments/core.comments.php?action=unsubscribe.user&iduser=' + iduser + '&mid=' + id;
$.post(url, function (data) {
if ($('#theme').is('div'))
$('#theme').load('/modules/comments/card.comments.php?action=theme.card&comid=' + id);
else if ($('#tar').is('input'))
editComment(id, 'viewshort', '');
else if (typeof settab === "function")
settab('12', false);
$('#message').css('display', 'block').html(data).fadeOut(10000);
return false;
});
}
function openComment(id) {
if (!openFrame || isCard)
window.open('/card.comments.php?comid=' + id);
else {
$('#smframe').attr('src', '/card.comments.php?comid=' + id + '&face=frame');
$('.smframe--container').css({"left": "0"});
$('.smframe--url').removeClass('hidden').attr('data-url', '/card.comments.php?comid=' + id);
}
return false;
}
function openProject(id, hash) {
let str = (hash) ? '#' + hash : '';
if (!openFrame || isCard)
window.open('/card.projects?id=' + id + str);
else {
$('#smframe').attr('src', '/card.projects?id=' + id + '&face=frame' + str);
$('.smframe--container').css({"left": "0"});
$('.smframe--url').removeClass('hidden').attr('data-url', '/card.projects?id=' + id + str);
}
return false;
}
/*база знаний*/
function editKb(id, action) {
let str = '';
let url = '';
if (action === 'open') {
window.open('/modules/knowledgebase/print.knowledgebase.php?id=' + id);
}
else if (action === 'viewshort') {
url = '/modules/knowledgebase/form.knowledgebase.php?action=viewshort&id=' + id;
$(".ui-layout-content .nano").nanoScroller({scroll: 'top'});
$('#messagediv').empty().append(' Загрузка данных. Пожалуйста подождите...
');
$('#kbmenu').empty();
$('#contentdiv table tr').removeClass('current');
$('#contentdiv table tr[data-id="' + id + '"]').addClass('current');
$.get(url, function (data) {
$('#messagediv').html(data);
})
.complete(function () {
$('#kbmenu').html($('.kbaction').html());
if (!isMobile) $(".ui-layout-content .nano").nanoScroller();
if (isMobile) {
$('.ui-layout-east').addClass('open');
}
});
}
else if (in_array(action, ['delete', 'cat.delete', 'pin', 'unpin'])) {
url = '/modules/knowledgebase/core.knowledgebase.php?action=' + action + '&id=' + id;
$.post(url, function (data) {
if (action !== 'cat.delete') {
$('#message').fadeTo(1, 1).css('display', 'block').html(data);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
configpage();
}
else {
doLoad('/modules/knowledgebase/form.knowledgebase.php?action=cat.list');
let ids = $('#lmenu #idcat').val();
$('.ifolder').load('/modules/knowledgebase/core.knowledgebase.php?action=catlist&id=' + ids, function () {
$('.ifolder a [data-id=' + ids + ']').addClass('fol_it');
});
}
return false;
});
}
else doLoad('/modules/knowledgebase/form.knowledgebase.php?id=' + id + '&action=' + action + '&' + str);
return false;
}
/*прайс*/
function editPrice(id, action) {
let str = '';
if (action === 'export') {
str = $("#pageform").serialize();
window.open('/modules/price/core.price.php?action=' + action + '&' + str);
}
else if (action === 'mass') {
str = $("#cform").serialize() + '&' + $('#pageform').serialize();
doLoad('/modules/price/form.price.php?action=' + action + '&' + str);
}
else if (in_array(action, ['delete', 'cat.delete'])) {
$.post('/modules/price/core.price.php?action=' + action + '&id=' + id, function (data) {
if (action !== 'cat.delete') {
$('#message').fadeTo(1, 1).css('display', 'block').html(data);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
configpage();
}
else {
doLoad('/modules/price/form.price.php?action=cat.list');
}
return false;
});
}
else doLoad('/modules/price/form.price.php?id=' + id + '&action=' + action + '&' + str);
}
/*файлы*/
function editUpload(id, action, opti) {
let str = '';
let folder = 0;
if (isCard) {
let clid = parseInt($('#ctitle #clid').val());
let pid = parseInt($('#ctitle #pid').val());
let did = parseInt($('#ctitle #did').val());
if (clid > 0)
str = str + '&clid=' + clid;
if (pid > 0)
str = str + '&pid=' + pid;
if (did > 0)
str = str + '&did=' + did;
}
if ($display === 'upload' && $folder > 0)
folder = $folder;
if (in_array(action, ['delete', 'cat.delete'])) {
$.getJSON('/modules/upload/core.upload.php?action=' + action + '&id=' + id, function (data) {
if (isCard)
settab('6', false);
else {
if (action !== 'cat.delete') {
$('#message').fadeTo(1, 1).css('display', 'block').html(data.message + data.error);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
}
else
doLoad('/modules/upload/form.upload.php?action=cat.list');
configpage();
}
return false;
});
}
else if (action === 'download')
window.open('/content/helpers/get.file.php?fid=' + id);
else
doLoad('/modules/upload/form.upload.php?id=' + id + '&action=' + action + '&folder=' + folder + '&' + str);
}
function fileEdit(id, action) {
if (action === 'undefined') action = 'add';
if (in_array(action, ['delete'])) {
$('#message').empty().fadeTo(1, 1).css('display', 'block').append(' Загрузка данных. Пожалуйста подождите...
');
$.get('/content/core/core.deals.php?crid=' + id + '&action=' + action, function (data) {
let errors = '';
if (data.error !== 'undefined' && data.error !== '')
errors = ' Note: ' + data.error;
$('#message').fadeTo(1, 1).css('display', 'block').html('Результат: ' + data.result + errors);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
}, 'json')
.complete(function () {
settab('6', false);
});
}
else if (in_array(action, ['download'])) {
window.open('/content/helpers/get.file.php?fid=' + id);
}
else doLoad('/upload/upload_form.php?fid=' + id + '&action=' + action);
return false;
}
/*function fileInfo(id) {
doLoad('upload/info_view.php?fid=' + id);
}*/
function fileDownload(id, name, disposition, oname) {
window.open('/content/helpers/get.file.php?fid=' + id + '&file=' + name + '&disposition=' + disposition + '&oname=' + oname);
}
/*файлы*/
function editMaillist(id, action, opt) {
let str = 'opt=' + opt;
if (in_array(action, ['delete', 'tpl.delete'])) {
$.post('/modules/maillist/core.maillist.php?action=' + action + '&id=' + id, function (data) {
$('#message').fadeTo(1, 1).css('display', 'block').html(data);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
configpage();
return false;
});
}
else
doLoad('/modules/maillist/form.maillist.php?id=' + id + '&action=' + action + '&' + str);
}
/*здоровье*/
function getHealthModal(){
doLoad('/content/desktop/dt.health.php?modal=true');
}
/*бюджет*/
function editBudjet(id, action) {
let str = '&year=' + $('#year').val();
if (in_array(action, ['export.budjet'])) {
str = $("#pageform").serialize();
window.open('/modules/finance/core.budjet.php?action=' + action + '&' + str);
new DClose();
}
else if (in_array(action, ['delete', 'cat.delete', 'undoit', 'unmove'])) {
$('#message').empty().fadeTo(1, 1).css('display', 'block').append(' Загрузка данных. Пожалуйста подождите...
');
$.post('/modules/finance/core.budjet.php?action=' + action + '&id=' + id + str, function (data) {
$('#message').fadeTo(1, 1).css('display', 'block').html(data);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
new DClose();
configpage();
if (action === 'undoit')
$("#stat").load('/modules/finance/stat.php');
return false;
});
}
else
doLoad('/modules/finance/form.budjet.php?id=' + id + '&action=' + action + '&' + str);
}
function viewBudjet(action, m, y, d, cat) {
doLoad('/modules/finance/form.budjet.php?mon=' + m + '&years=' + y + '&do=' + d + '&cat=' + cat + '&action=' + action);
}
function editProvider(id, action, did, clid) {
doLoad('/modules/finance/form.budjet.php?id=' + id + '&action=' + action + '&did=' + did + '&clid=' + clid);
}
function editProviderDeal(action, id, tip, did) {
action = 'provider.' + action;
if (action !== 'provider.delete')
doLoad('/content/forms/form.deal.php?action=' + action + '&tip=' + tip + '&id=' + id + '&did=' + did);
else if (in_array(action, ['provider.delete'])) {
$('#message').empty().fadeTo(1, 1).css('display', 'block').append(' Загрузка данных. Пожалуйста подождите...
');
$.get('/content/core/core.deals.php?id=' + id + '&did=' + did + '&action=' + action, function (data) {
let errors = '';
if (data.error !== 'undefined' && data.error !== '') errors = ' Note: ' + data.error;
$('#message').fadeTo(1, 1).css('display', 'block').html('Результат: ' + data.result + errors);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
}, 'json')
.complete(function () {
settab('0', false);
settab('13', false);
});
}
}
/*план продаж*/
function editPlan(id, action) {
let str = '&year=' + $('#year').val();
if (in_array(action, ['export'])) {
str = $("#pageform").serialize();
window.open('/content/core/core.plan.php?action=' + action + '&' + str);
new DClose();
}
else doLoad('/content/forms/form.plan.php?id=' + id + '&action=' + action + '&' + str);
}
/*Документы*/
function editContract(id, action, type, idtype) {
let str = '';
if (isCard) {
let clid = parseInt($('#ctitle #clid').val());
let pid = parseInt($('#ctitle #pid').val());
let did = parseInt($('#ctitle #did').val());
if (clid > 0) str = str + '&clid=' + clid;
if (pid > 0) str = str + '&pid=' + pid;
if (did > 0) str = str + '&did=' + did;
}
if (in_array(action, ['contract.delete'])) {
$.post('/modules/contract/core.contract.php?action=' + action + '&id=' + id, function () {
if (isCard)
settab('15');
else
configpage();
return false;
});
}
else if (in_array(action, ['export'])) {
str = $("#pageform").serialize();
window.open('/modules/contract/core.contract.php?action=' + action + '&id=' + id + '&' + str);
new DClose();
}
else if (in_array(action, ['payment.export','akt.export'])) {
str = $("#pageform").serialize();
doLoad('/modules/contract/form.contract.php?&action=' + action + '&' + str);
}
else
doLoad('/modules/contract/form.contract.php?id=' + id + '&action=' + action + '&type=' + type + '&idtype=' + idtype + '&' + str);
}
/*Группы*/
function editGroup(id, action) {
let str = '';
let gid = '';
let url = '';
if (isCard) {
let clid = parseInt($('#ctitle #clid').val());
let pid = parseInt($('#ctitle #pid').val());
let did = parseInt($('#ctitle #did').val());
if (clid !== undefined && clid > 0)
str = str + '&clid=' + clid;
if (pid !== undefined && pid > 0)
str = str + '&pid=' + pid;
if (did !== undefined && did > 0)
str = str + '&did=' + did;
}
if (action === 'mass') {
str = $("#cform").serialize();
gid = $('#gid').val();
url = '/modules/group/form.group.php?action=mass&gid=' + gid + '&';
doLoad(url + str).append('Загрузка данных...
');
}
else if (action === 'export') {
gid = $('#gid').val();
url = '/modules/group/core.group.php?action=export&gid=' + gid + '&';
window.open(url);
}
else doLoad('/modules/group/form.group.php?id=' + id + '&action=' + action + '&' + str);
}
function removeFromList(id, gid) {
var str = '';
if (isCard) {
var clid = parseInt($('#ctitle #clid').val());
var pid = parseInt($('#ctitle #pid').val());
if (clid !== undefined && clid > 0) str = str + '&clid=' + clid;
if (pid !== undefined && pid > 0) str = str + '&pid=' + pid;
}
var url = '/modules/group/core.group.php?action=removefromGroup&id=' + id + '&gid=' + gid + str;
$.post(url, function (data) {
$('#tabgroup').load('card/card.group.php?clid=' + clid + '&pid=' + pid);
$('#message').css('display', 'block').html(data);
});
}
/*вспомогательные*/
/**
* Устанавливает Важность/Срочность для напоминаний
* @param tip
* @param vlu
*/
function setPS(tip, vlu) {
$('.' + tip + ' .but').removeClass('active');
if (tip === 'speed')
$('#sp' + vlu).addClass('active');
if (tip === 'priority')
$('#pr' + vlu).addClass('active');
if ($('#' + tip).is('input'))
$('#' + tip).val(vlu);
else if ($('#todo\\[' + tip + '\\]').is('input'))
$('#todo\\[' + tip + '\\]').val(vlu);
}
function getBik(b) {
var bik = (!b) ? $('#recv\\[castBankBik\\]').val() : b;
var url = '/content/helpers/client.helpers.php?action=getBIK&bik=' + bik;
if (bik !== '') {
$('#limit').append(' ');
$.getJSON(url, function (obj) {
if (obj.name !== '') {
$('#recv\\[castBank\\]').val(obj.name + ', ' + obj.city);
$('#recv\\[castBankKs\\]').val(obj.ks);
//$('#limit').html('Дата изменения ' + obj.datechange + ' ');
}
else Swal.fire('Проблемы соединения с сервером', '', 'warning');
});
}
else Swal.fire('Укажите БИК банка', '', 'warning');
}
function getOtrasli() {
let url = '';
let tip = $('#client\\[type\\]').val();
if (tip === 'undefined' || tip === undefined) {
tip = $('#type option:selected').val();
url = '/content/helpers/client.helpers.php?action=getOtrasli&tip=' + tip;
$.post(url, function (data) {
$('#idcategory').html(data);
});
}
else {
url = '/content/helpers/client.helpers.php?action=getOtrasli&tip=' + tip;
$.post(url, function (data) {
$('#client\\[idcategory\\]').html(data);
});
}
}
function add_sprav(action, poleid) {
var element = $('#' + poleid).closest('div');
var w = element.find('select').width() + 10;
var l = element.find('select').position().left + 5;
element.append('');
}
function addpole(action, poleid) {
var title = $('#poletitle').val();
poleid = poleid.replace("[", "\\[").replace("]", "\\]");
var url = '/content/core/core.client.php?action=client.add' + action + '&title=' + title + '&tip=' + $('#type option:selected').val();
$.post(url, function (data) {
$('#orgspisok').remove();
if (data !== '') {
$('#' + poleid).append('' + title + ' ');
}
else {
$("#" + poleid + " :contains('" + title + "')").attr('selected', 'selected');
}
return true;
});
}
function get_orgspisok(formelement, divname, url, pname, put) {
spisok_remove();
var $element = $('#' + formelement);
var $goal = $('#' + divname);
var atop = $element.position().top - 8;
var aleft = $element.position().left - 5;
var awidth = $element.width() + 5;
var text;
//if (awidth < 450) awidth = 500;
if (divname !== 'place') {
$goal.closest('div').append('');
}
else {
atop = $element.position().top - 10;
aleft = $element.position().left - 10;
awidth = $element.width() - 20;
$goal.append('');
}
$('#orgspisok').css({'width': awidth + 'px', 'left': aleft + 'px', 'display': 'block', 'top': atop + 'px'});
if (put !== '' && parseInt($('#clid').val()) > 0 && pname === 'pidd') {
$('#orgspisok #pole').append('Загрузка данных...
').load(url + '&' + pname + '=' + $('#' + pname).val() + '&pname=' + pname + '&felement=' + formelement + '&clid=' + $('#clid').val());
}
$('#asearch').focus();
if (formelement === 'lst_spisokp') text = 'ФИО Контакта';
else if (formelement === 'lst_spisok') text = 'Названия Клиента';
else if (formelement === 'lst_payer') text = 'Названия Плательщика';
else text = 'Название';
$('#orgspisok #pole').append('Для поиска начните набор ' + text + ' ');
return false;
}
function spisok_remove() {
$('#orgspisok').remove();
}
/**
Блок редактирования одиночного поля Клиента, Сделки
*/
// Редактирование поля карточки
function edit_field(param, divname, tip, id, add) {
var tid = 'clid';
var $element;
var $goal;
var buttons;
field_close();
if (param === "deal")
tid = 'did';
if (tip === 'inputlist')
tip = 'select';
if (!add) {
$element = $('#field-' + divname);
$goal = $('#' + divname);
}
else {
$element = $('#field-append');
$goal = $('#append');
}
var atop = $element.position().top - 8;
var aleft = $element.position().left - 5;
var awidth = $element.width() + 20;
buttons = '';
if (divname === "append") {
aleft -= 4;
atop += 8;
$goal.closest('div').append('');
}
else {
if (tip === "multiselect") {
atop += 8;
buttons = '';
}
$goal.closest('div').append('');
}
$.get('/content/helpers/' + param + '.helpers.php?action=getFieldElement&fldtip=' + tip + '&fldvals=' + divname + '&' + tid + '=' + id, function (data) {
$('#editfield').css({
'width': awidth + 'px',
'left': aleft + 'px',
'display': 'block',
'top': atop + 'px'
});
$('#pole').html('Выбор значения
' + data);
});
return false;
}
function field_close() {
$('#editfield').remove();
}
// Сохранение значения поля
function saveField(tip) {
var str = $('#fieldForm').serialize();
if (tip === 'deal')
tip = 'deals';
$('#editfield').addClass('hidden');
$.post('/content/core/core.' + tip + '.php', str, function (data) {
$('#message').fadeTo(1, 1).css('display', 'block').html('Результат: ' + data);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 2000);
settab('0', false);
//isset.push(0);
});
}
// Добавление поля
function appendField(param, id) {
var str = $('#fieldAdd').serialize();
$.get('/content/helpers/' + param + '.helpers.php', str, function (data) {
edit_field(param, data.name, data.type, id, 'new');
}, "json");
}
function spisok_select(pname, formelement) {
var lid = $('input[name=lid]:checked').val();
var txt = $('#txt' + lid).html();
var clid = $('#clid').val();
var pid = $('#pid').val();
//console.log(pname);
//console.log(formelement);
pname = pname.replace("[", "\\[").replace("]", "\\]");
formelement = formelement.replace("[", "\\[").replace("]", "\\]");
$('input[id=' + pname + ']').val(lid);
$('input[id=' + formelement + ']').val(txt);
$('#orgspisok').remove();
if ($('#persons').is('div')) {
var payer = $('#payer').val();
var plist = $('#plist').val();
$.get('/content/helpers/deal.helpers.php?action=get.personsplus&clid=' + clid + '&payer=' + payer + '&plist=' + plist, function (data) {
$('#pid_list').empty().html(data);
$('#persons').find(".multiselect").multiselect('destroy').multiselect({
sortable: true,
searchable: true
});
$(".connected-list").css('height', "200px");
});
$('#dog_num').load('/content/helpers/deal.helpers.php?clid=' + clid + '&pid=' + pid + '&action=get.contracts');
}
return true;
}
function spisok_search(formelement, divname, url, pname) {
let w = urlEncodeData($('#asearch').val());
let s = $('#asearch').val().length;
if (s > 3) {
$('#orgspisok #pole').empty().append('Загрузка данных...
').load(url + '&word=' + w + '&pname=' + pname + '&felement=' + formelement + '&clid=' + $('#clid').val());
}
}
function viewUser(id) {
doLoad('/content/ajax/user.info.php?iduser=' + id);
return false;
}
/*Смена месяца в календарике*/
function changeMounth(direct) {
var m = parseInt($('#sm').val());
var y = parseInt($('#sy').val());
var str = '';
if (direct === 'back') {
if (m === 1) {
m = 12;
y = y - 1;
}
else m = m - 1;
}
else if (direct === 'next') {
if (m === 12) {
m = 1;
y = y + 1;
}
else m = m + 1;
}
$('#m').val(m);
$('#y').val(y);
$('#sm').val(m);
$('#sy').val(y);
if (y > 0)
str = 'y=' + y + '&m=' + m;
if ($('#tar').is('input'))
str = str + '&tar=' + $('#tar').val() + '&iduser=' + $('#iduser option:selected').val();
if ($('#tsk_tip').is('form'))
str = str + '&' + $('#tsk_tip').serialize();
$("#calendar").append('');
//$('.nano').nanoScroller({ destroy: true });
$.ajax({
type: "GET",
url: "content/lists/lp.calendar.php?" + str,
data: str,
success: function (viewData) {
$("#calendar").html(viewData);
if ($display === 'calendar')
configpage();
if ($('#task').is('div')) {
$.get({
type: "GET",
url: "/content/lists/lp.tasksweek.php",
data: str,
success: function (viewData) {
$("#task").html(viewData);
//desktopTaskHeight();
$('#lmenu').find('#calendar').closest('.contaner').find('.togglerbox').trigger('click');
if (!isMobile)
$("#calendar").find('.nano').nanoScroller();
if (!isMobile)
$(".popbody").find('.nano').nanoScroller();
setCookie('tasker', Date.now());
}
})
.complete(function () {
if ($display === 'desktop') {
desktopTaskHeight();
}
else {
var element = $(".popbody").closest('.popmenu');
var hPop = element.actual('height');
var hBody = hPop - element.find('.pophead').actual('height') - element.find('.popblock').actual('height') - 5;
element.find('#tasklist').css({"height": hBody + "px"});
}
});
}
}
});
/*
if ($('#todo').is('div')) {
$desktop.todo();
//$("#todo").load('content/lists/dt.tasklist.php?'+str);
}
if ($('#bigcal').is('div'))
$desktop.bigcal();
//$('#bigcal').empty().load('content/lists/dt.bigcalendar.php?y=' + y + '&m=' + m);
if ($('#weekcal').is('div'))
$desktop.weekcal();
if (!isMobile)
$(".nano").nanoScroller({scrollTo: $('.today')});
*/
calendarload = 'ok';
return true;
}
function thisMounth() {
$('#calendar #sm').val('');
$('#calendar #sy').val('');
changeMounth();
}
function taskWeek(direct) {
var m = parseInt($('#calendar #sm').val());
var y = parseInt($('#calendar #sy').val());
if (y > 0) var str = 'y=' + y + '&m=' + m + '&old=' + direct;
//$('#task').append('');
$.get("/content/lists/lp.tasksweek.php", str, function (data) {
$("#task").html(data);
})
.complete(function () {
desktopTaskHeight();
if (!isMobile) $(".nano").nanoScroller();
});
}
function startSearchPop() {
var word = $('#search').val();
var str = $('#searchForm').serialize();
var leng = word.length;
var url = '/content/ajax/searchPanel.php?' + str;
var arr = [];
if (leng < 3) {
$('#searchResult').html('Введите не менее 3 символов');
return false;
}
//Получаем выбранные параметры поиска
$('#searchForm input:checkbox:checked').each(function () {
arr.push($(this).val());
});
//Записываем в куки параметры
setCookie("paramsSearch", JSON.stringify(arr));
$('#searchResult').empty().append(' Поиск. Пожалуйста подождите...');
$.post(url, function (data) {
$('#search').val(data.search);
if (data.error === 'true') $('#paramsSearch').css({
"border": "2px solid rgb(204, 36, 36)",
"color": "rgb(204, 36, 36)"
});
else $('#paramsSearch').css({"border": "none", "color": "rgb(84, 110, 122)"});
$('#searchResult').html(data.result);
$('.popcontent').find('.viewdiv').addClass('hidden');
return true;
}, "json");
}
function uniSearchPop() {
var word = $('#search').val();
var str = $('#searchForm').serialize();
var leng = word.length;
var url = '/content/helpers/universal.search.php?' + str;
var arr = [];
var $elm = $('#searchResult');
$.Mustache.load('/content/tpl/unisearch.html');
if (leng < 3) {
$('#searchResult').html('Введите не менее 3 символов');
return false;
}
//Получаем выбранные параметры поиска
$('#searchForm input:checkbox:checked').each(function () {
arr.push($(this).val());
});
//Записываем в куки параметры
setCookie("paramsSearch", JSON.stringify(arr));
$elm.empty().append(' Поиск. Пожалуйста подождите...');
$.getJSON(url, function (data) {
$('#search').val(data.search);
if (data.error === true)
$('#paramsSearch').css({
"border": "2px solid rgb(204, 36, 36)",
"color": "rgb(204, 36, 36)"
});
else
$('#paramsSearch').css({"border": "none", "color": "rgb(84, 110, 122)"});
$elm.empty().mustache('uniSearchTpl', data);
$('.popcontent').find('.viewdiv').addClass('hidden');
return true;
});
}
/* Автосмена раскладки клавиатуры
arrow: 0 - перевод (рус -> eng, eng -> рус)
1 - перевод (eng -> рус)
2 - перевод (рус -> eng)
*/
function AutoChangeLang(text, arrow) {
var str = [], newstr = [];
str[0] = {
'й': 'q',
'ц': 'w',
'у': 'e',
'к': 'r',
'е': 't',
'н': 'y',
'г': 'u',
'ш': 'i',
'щ': 'o',
'з': 'p',
'х': '[',
'ъ': ']',
'ф': 'a',
'ы': 's',
'в': 'd',
'а': 'f',
'п': 'g',
'р': 'h',
'о': 'j',
'л': 'k',
'д': 'l',
'ж': ';',
'э': '\'',
'я': 'z',
'ч': 'x',
'с': 'c',
'м': 'v',
'и': 'b',
'т': 'n',
'ь': 'm',
'б': ',',
'ю': '.',
'Й': 'Q',
'Ц': 'W',
'У': 'E',
'К': 'R',
'Е': 'T',
'Н': 'Y',
'Г': 'U',
'Ш': 'I',
'Щ': 'O',
'З': 'P',
'Х': '[',
'Ъ': ']',
'Ф': 'A',
'Ы': 'S',
'В': 'D',
'А': 'F',
'П': 'G',
'Р': 'H',
'О': 'J',
'Л': 'K',
'Д': 'L',
'Ж': ';',
'Э': '\"',
'Я': 'Z',
'ч': 'X',
'С': 'C',
'М': 'V',
'И': 'B',
'Т': 'N',
'Ь': 'M',
'Б': '<',
'Ю': '>'
};
str[1] = {
'q': 'й',
'w': 'ц',
'e': 'у',
'r': 'к',
't': 'е',
'y': 'н',
'u': 'г',
'i': 'ш',
'o': 'щ',
'p': 'з',
'[': 'х',
']': 'ъ',
'a': 'ф',
's': 'ы',
'd': 'в',
'f': 'а',
'g': 'п',
'h': 'р',
'j': 'о',
'k': 'л',
'l': 'д',
';': 'ж',
'\'': 'э',
'z': 'я',
'x': 'ч',
'c': 'с',
'v': 'м',
'b': 'и',
'n': 'т',
'm': 'ь',
',': 'б',
'.': 'ю',
'Q': 'Й',
'W': 'Ц',
'E': 'У',
'R': 'К',
'T': 'Е',
'Y': 'Н',
'U': 'Г',
'I': 'Ш',
'O': 'Щ',
'P': 'З',
'{': 'Х',
'}': 'Ъ',
'A': 'Ф',
'S': 'Ы',
'D': 'В',
'F': 'А',
'G': 'П',
'H': 'Р',
'J': 'О',
'K': 'Л',
'L': 'Д',
':': 'Ж',
'\"': 'Э',
'Z': 'Я',
'X': 'ч',
'C': 'С',
'V': 'М',
'B': 'И',
'N': 'Т',
'M': 'Ь',
'<': 'Б',
'>': 'Ю'
};
for (var j = 0; j <= 1; j++)
if (arrow == undefined || arrow == j)
for (var i = 0; i < text.length; i++)
if (str[j][text[i]]) newstr[i] = str[j][text[i]];
for (var i = 0; i < text.length; i++)
if (!newstr[i]) newstr[i] = text[i];
return newstr.join('');
};
function comments() {
$("#commnum").load("/modules/comments/card.comments.php?action=numpanel");
}
function leads() {
$("#leadnum").load("/content/vigets/notify.leads.php?action=get_leadskol");
}
function yNotifyMe(data) {
data = data.split(",");
var title = data[0];
var content = data[1];
var img = data[2];
var id = data[3];
var url = data[4];
//var notification = new Notification('',{});
var notification;
console.log(data);
if(Notification.permission === 'granted') {
if (("Notification" in window)) {
if (Notification.permission === "granted") {
notification = new Notification(title, {
lang: 'ru-RU',
body: content,
icon: '/assets/images/' + img,
tag: id
});
}
// В противном случае, мы должны спросить у пользователя разрешение
else if (Notification.permission === 'default') {
Notification.requestPermission(function (permission) {
// Не зависимо от ответа, сохраняем его в настройках
if (!('permission' in Notification)) {
Notification.permission = permission;
}
// Если разрешение получено, то создадим уведомление
if (permission === "granted") {
notification = new Notification(title, {
lang: 'ru-RU',
body: content,
icon: '/assets/images/' + img,
tag: id
});
}
});
}
else return true;
notification.onshow = function () {
var wpmupsnd = new Audio("/assets/images/mp3/bigbox.mp3");
wpmupsnd.volume = 0.2;
wpmupsnd.play();
};
notification.onclick = function () {
if ($('#mid').is('input')) {
razdel('inbox');
}
else {
//ymailw = window.open('ymail.php');
//ymailw.focus();
$mailer.preview(id);
}
};
}
else
return true;
}
else{
Swal.fire({
icon: 'info',
imageUrl: '/assets/images/' + img,
position: 'bottom-end',
background: "var(--blue)",
title: '' + title + '
',
html: '' + content + '
',
showConfirmButton: false,
timer: 1500
});
}
}
function yNotifyCheck() {
if (("Notification" in window)) {
if (Notification.permission === 'default') {
Notification.requestPermission(function (permission) {
// Не зависимо от ответа, сохраняем его в настройках
if (!('permission' in Notification)) {
Notification.permission = permission;
}
});
}
else return true;
}
else return true;
}
/* Mailer. Новое*/
var $mailer = {
edit: function(id) {
doLoad('/modules/mailer/editor.php?action=compose&id=' + id);
},
check: function(){
$.post('/modules/mailer/core.mailer.php?action=lastmessage', function (data) {
if (data !== '')
$('#mails').html(data);
else
$('#mails').html('нет сообщений
');
$mailer.count();
});
},
count: function(){
$.post('/modules/mailer/core.mailer.php?action=lastmessage.count', function (data) {
if (parseFloat(data) > 0)
$('#countEmail').html(data).removeClass('gray').addClass('green');
else
$('#countEmail').html('0').removeClass('green').addClass('gray');
});
},
compose: function(id, way) {
if (!way) way = '';
doLoad('/modules/mailer/editor.php?action=compose&id=' + id + '&way=' + way);
},
composeCard: function(c, p, e) {
doLoad('/modules/mailer/editor.php?action=compose&clid=' + c + '&pid=' + p + '&email=' + e);
},
get: function(hand) {
var url = '/modules/mailer/core.mailer.php?action=getmessage';
var date = new Date();
var thistime = date.getTime();//Date.now();
//временная метка предыдущей проверки
var oldtime = parseInt(localStorage.getItem("ymailTimer"));
var ymail = localStorage.getItem("ymail");
var delta = thistime - oldtime + 100;
//период проверки почты
var ytime = $yperiod;
//если проверки не было очень долго, а статус не меняется, то сбрасываем его
if (delta > 900000)
ymail = '';
//console.log("thistime: " + thistime);
//console.log("oldtime: " + oldtime);
//console.log("ymail: " + ymail);
//console.log("ymail delta: " + delta);
//console.log("ymail ytime: " + ytime);
//console.log("ymail: " + ymail);
//запускаем, только если прошло заданное время и в данный момент почта не проверяется или если проверка запущена вручную
if (isNaN(delta) || (delta > ytime && ymail !== 'work') || hand === 'yes') {
//сбросим на текущее время, чтобы из второго окна не запустилась проверка
localStorage.setItem("ymailTimer", date.getTime().toString());
//localStorage.setItem("ymailTimer", Date.now());
if (hand === 'yes')
yNotifyMe("CRM. Проверяю почту,Начинаю прием писем,good.png");
$('#mailIndicator').toggleClass('icon-mail-alt icon-arrows-ccw').addClass('icon-rotate');
localStorage.setItem("ymail", "work");
$.post(url + '&box=inbox', function (data) {
var stringOne = data.error;
var search = stringOne.indexOf("login");
if (search > 0) {
Swal.fire({
title: "Загрузка почты невозможна!",
text: "Ошибка: неверный логин и/или пароль!",
type: 'error',
});
}
if (data.result !== '') {
if (parseInt(data.count) > 0)
yNotifyMe("CRM. Новое письмо," + striptags(data.result) + ",newmail.png," + data.lastid);
if (typeof configmpage === 'function' && data.count > 0)
configmpage();
}
}, 'json')
.complete(function () {
$.post(url + '&box=send', function (data) {
var stringOne = data.error;
var search = stringOne.indexOf("login");
if (data.result !== '') {
//уведомление о папке отправленные не будем показывать
if (data.messageid !== '')
$('#mid').val('');
if (typeof configmpage === 'function' && data.count > 0)
configmpage();
}
//установим временную метку, когда закончили проверку ящика
localStorage.setItem("ymailTimer", date.getTime().toString());
//localStorage.setItem("ymailTimer", Date.now());
localStorage.setItem("ymail", "");
//localStorage.removeItem("ymail");
$('#mailIndicator').toggleClass('icon-mail-alt icon-arrows-ccw').removeClass('icon-rotate');
}, 'json');
});
}
},
send: function(id) {
var url = '/modules/mailer/core.mailer.php?action=sendmessage&id=' + id;
yNotifyMe("CRM. Отправка сообщения,Начинаю отправку письма,good.png");
$.post(url, '', function (data) {
yNotifyMe("CRM. Отправка письма," + data.result + ",sendmail.png");
if ($('.messagelist[data-id="' + $messageid + '"]').is('div') === false) {
$messageid = $('.messagelist:first').data('id');
$('#mid').val($messageid);
}
configmpage();
}, 'json');
},
action: function(id, tip) {
var url = '/modules/mailer/core.mailer.php?action=getaction&id=' + id + '&tip=' + tip;
$('#message').empty().fadeTo(1, 1).css('display', 'block').append(' Выполняю...
');
if (in_array(tip, ['delete', 'trash'])) {
var next = $('.messagelist[data-id="' + id + '"]').next().data('id');
$('#mid').val(next);
$messageid = parseInt(next);
}
if (typeof DClose === 'function') new DClose();
$.get(url, function (data) {
$('#message').fadeTo(1, 1).css('display', 'block').html('Результат: ' + data.result);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
if (typeof configmpage === 'function') configmpage();
if (typeof $mailer.check === 'function') $mailer.check();
$('#contentdiv').find('.mcheck:enabled').prop('checked', false);
}, 'json');
},
preview: function(id) {
//doLoad('modules/mailer/editor.php?id=' + id + '&action=preview').append(' Загрузка данных. Пожалуйста подождите...
');
doLoad();
$.Mustache.load('/modules/mailer/tpl/interface.mustache');
$(document).ready(function () {
$('#dialog').css('width', '80%').center();
var url = '/modules/mailer/editor.php?id='+id+'&action=view';
$.getJSON(url, function (data) {
$('#resultdiv').empty().mustache('preview', data);
})
.complete(function () {
$mailer.check();
$mailer.count();
$mailer.formatQuoteDialog();
$('#cont a').attr("target", "_blank");
$('#dialog').center();
doLoadAfter();
});
});
},
addClientExpress: function(id, rid) {
doLoad('/content/forms/form.client.php?action=express&messageid=' + id + '&rid=' + rid);
},
addClient: function(id, rid) {
doLoad('/content/forms/form.client.php?action=add&messageid=' + id + '&rid=' + rid);
},
addContact: function(id, rid) {
doLoad('/content/forms/form.person.php?action=add&messageid=' + id + '&rid=' + rid);
},
addLead: function(id) {
doLoad('/modules/leads/form.leads.php?messageid=' + id + '&action=add');
},
addKnowledge: function(id) {
doLoad('/modules/knowledgebase/form.knowledgebase.php?messageid=' + id + '&action=edit');
},
addTask: function(id) {
doLoad('/content/forms/form.task.php?action=add&messageid=' + id);
},
toDeal: function(id) {
doLoad('/modules/mailer/editor.php?action=todeal&id=' + id);
},
toClient: function(id, email) {
doLoad('/modules/mailer/editor.php?action=toclient&id=' + id + '&email=' + email);
},
toContact: function(id, email) {
doLoad('/modules/mailer/editor.php?action=tocontact&id=' + id + '&email=' + email);
},
previewImage: function() {
var list = '';
$('#fileList').find('a[data-tip="pic"]').each(function () {
var file = $(this).data('file');
var name = $(this).data('fname');
list += "" + name + "
";
});
$('.ymImagePreview').empty().html(list);
},
previewImageCard: function() {
$('.msglist').find('.msg').each(function(){
var list = '';
$(this).find('#fileList').find('a[data-tip="pic"]').each(function () {
var file = $(this).data('file');
var name = $(this).data('fname');
list += "" + name + "
";
});
$(this).find('.ymImagePreview').empty().html(list);
});
},
downloadAttachments: function(uid, file, id) {
$('div[data-file="' + file + '"]').append(' ');
$.get('/modules/mailer/core.mailer.php?uid=' + uid + '&file=' + file + '&mid=' + id + '&action=getAttachments', function (data) {
if (data.length > 0) {
var exx = data[0].file.split(".");
var count = exx.length - 1;
var ext = exx[count];
var ft = '';
//console.log(ext);
if (in_array(ext.toLowerCase(), ['png', 'jpeg', 'jpg', 'gif']))
ft = 'pic';
if (file)
$('div[data-file="' + file + '"]').html('' + data[0].icon + data[0].name + ' [ ' + data[0].size + ' kb ]');
this.previewImage();
}
else {
Swal.fire("Ошибка", "Не могу загрузить файл. Возможно письмо удалено с сервера!", 'error');
$('div[data-file="' + file + '"]').find('img').remove();
}
//return true;
}, 'json')
.complete(function () {
});
},
downloadAttachmentsAll: function(uid, mid) {
var $elm = $('#attachForm[data-id="'+mid+'"]');
$elm.find('a.dwnld').append(' ');
var str = $elm.serialize() + '&uid=' + uid + '&mid=' + mid + '&action=getAttachments';
var files = '';
$.get('/modules/mailer/core.mailer.php', str, function (data) {
//console.log(data.length);
if (data.length > 0) {
for (var i in data) {
var exx = data[i].file.split(".");
var count = exx.length - 1;
var ext = exx[count];
var ft = '';
if (in_array(ext.toLowerCase(), ['png', 'jpeg', 'jpg', 'gif'])) ft = 'pic';
files = '';
$('#fuploads').find('div[data-file="'+data[i].name+'"]').remove();
$('#fuploads').append(files);
}
//console.log(files);
if(files !== '') {
//$('#fuploads').html(files);
$elm.find('a.dwnld').remove();
$('#zipFiles').removeClass('hidden');
}
else
Swal.fire("Ошибка", "Не могу загрузить файлы. Возможно письмо удалено с сервера!", 'error');
}
else {
Swal.fire("Ошибка", "Не могу загрузить файлы. Возможно письмо удалено с сервера!", 'error');
$elm.find('a.dwnld').find('img').remove();
}
return true;
}, 'json')
.complete(function () {
if(!isCard)
this.previewImage();
else
this.previewImageCard();
});
},
zipAttachmentsAll: function(mid) {
window.open('/modules/mailer/core.mailer.php?mid=' + mid + '&action=zipAttachments');
},
signature: function(){
doLoad('/modules/mailer/editor.php?action=signature');
},
account: function(){
doLoad('/modules/mailer/editor.php?action=account');
},
tpl: function(){
doLoad('/modules/mailer/editor.php?action=tpl.edit');
},
blacklist: function(){
doLoad('/modules/mailer/editor.php?action=blacklist.view')
},
multidel: function() {
var str = $('#params').serialize();
var url = '/modules/mailer/core.mailer.php?action=getaction&tip=multidelete&' + str;
$('#message').empty().fadeTo(1, 1).css('display', 'block').append(' Выполняю
');
$.post(url, '', function (data) {
$('#message').fadeTo(1, 1).css('display', 'block').html('Результат: ' + data.result);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
//если текущее письмо удалено, то берем первое попавшееся
if ($('.messagelist[data-id="' + $messageid + '"]').is('div') === false) {
$messageid = parseInt($('.messagelist:first').data('id'));
$('#mid').val($messageid);
}
$('#contentdiv').find('.mcheck:enabled').prop('checked', false);
configmpage();
}, 'json');
},
multitrash:function() {
var str = $('#params').serialize();
var url = '/modules/mailer/core.mailer.php?action=getaction&tip=multitrash&' + str;
$('#message').empty().fadeTo(1, 1).css('display', 'block').append(' Выполняю...
');
$.post(url, '', function (data) {
$('#message').fadeTo(1, 1).css('display', 'block').html('Результат: ' + data.result);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
if ($('.messagelist[data-id="' + $messageid + '"]').is('div') === false) {
$messageid = parseInt($('.messagelist:first').data('id'));
$('#mid').val($messageid);
}
$('#contentdiv').find('.mcheck:enabled').prop('checked', false);
configmpage();
}, 'json');
},
multiread:function() {
var url = 'modules/mailer/core.mailer.php?action=readall';
$('#message').empty().fadeTo(1, 1).css('display', 'block').append(' Обработка...
');
$.post(url, '', function (data) {
$('#message').fadeTo(1, 1).css('display', 'block').html('Результат: ' + data);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
$('#contentdiv').find('.mcheck:enabled').prop('checked', false);
configmpage();
});
},
formatQuoteDialog: function() {
$('#dialog').find('blockquote').each(function () {
$(this).addClass('hidden');
$(this).wrap('
');
});
$('.quote').prepend('Показать цитату
');
$('.quoteTitle').unbind('click');
$('.quoteTitle').bind('click', function () {
$(this).parent('.quote').children('blockquote').toggleClass('hidden');
$(this).find('i').toggleClass('icon-angle-down icon-angle-up');
});
},
formatQuoteCard: function(){
$('#tabmail').find('blockquote').each(function () {
$(this).addClass('hidden');
$(this).wrap('
');
});
$('.quote').prepend('Показать цитату
');
$('.quoteTitle').on('click', function () {
$(this).siblings('blockquote').toggleClass('hidden');
$(this).find('i').toggleClass('icon-angle-down icon-angle-up');
});
},
};
//Управление черным списком в почтовике
function change_blacklist(action, email, list, id) {
var url = '/modules/mailer/editor.php?action=blacklist.' + action + '&email=' + email;
var a = $('.blacklist .boxcount');
var count = parseInt(a.html());
$.get(url, function (data) {
if (!list) {
//ДОбавление / удаление из ЧС в письме
if (data === "Сделано") {
if (action === 'add') {
$('#ban').html(' Убрать из ЧС ');
a.html(count + 1);
}
else if (action === 'delete') {
$('#ban').html(' В Черный список ')
a.html(count - 1);
}
}
}
else {
$('#emails #email-' + id).remove();
a.html(count - 1);
}
$('#message').fadeTo(1, 1).css('display', 'block').html('Результат: ' + data);
});
}
/**
* Проверка обязательных полей перед отправкой
* включая чекбосы и радио-кнопки
* .required - input, select, textarea
* .multireq - блок, который оборачивает multiselect
* .req - блок, который оборачивает группу radio, checkbox
* эти блоки будут подсвечиваться как обязательные + в них будут искаться элементы
* которые должны быть заполнены
* РАБОТАЕТ
*/
function checkRequired(forma) {
var $req1, $req2, $req3;
var $block = $('#dialog');
//если диалоговое окно открыто
//то ищем id формы, т.к. полюбому мы проверяем заполненные поля в ней
if ($block.is(':visible'))
forma = $block.find('form').attr('id');
if (forma && forma !== 'undefined') {
var $form = $('#' + forma);
$req1 = $form.find(".required");
$req2 = $form.find(".req").not('.ydropDown.like-input');//.not('.like-input');
$req3 = $form.find(".multireq");
}
else {
$req1 = $(".required");
$req2 = $(".req").not('.ydropDown.like-input');//.not('.like-input');
$req3 = $(".multireq");
}
var em = 0;
/*
Проходим обычные поля: input, select, textarea
*/
$req1.removeClass("empty").css({"color": "inherit", "background": "#FFF"});
$req1.each(function () {
var $val = $(this).val();
if ($val === '') {
$(this).addClass("empty").css({"color": "#222", "background": "#FFE3D7"});
em++;
}
});
/*
Проходим поля выбора: radio, checkbox
*/
$req2.removeClass("warning");
$req2.each(function () {
var value = $(this).find('input:checked').val();
//кол-во выбранных элементов
//var countSel = $('#' + $id + ':checked').length;
if (value === 'undefined' || value === undefined) {
$(this).addClass('warning');
em++;
}
});
/*
Проходим все поля с опцией multiselect
*/
$req3.removeClass("warning");
$req3.each(function () {
var $select = $(this).find('select');
//кол-во выбранных элементов
var countSel = $select.val().length;
if (countSel === 0) {
$(this).addClass('warning');
em++;
}
else $(this).removeClass('warning');
});
if (em > 0) {
Swal.fire({
title: "Ошибка",
text: "Не заполнено " + em + " обязательных полей\n\rОни выделены цветом",
type: "error"
});
$('#message').fadeTo(1, 0).css('display', 'none');
return false;
}
else return true;
}
/**
* Работа с дублями
*/
var doubleModule = {
//просмотр дубля
view: function (id) {
doLoad('/content/client.doubles/core.php?action=view&id=' + id);
},
//диалог слияния дублей
merge: function (id) {
doLoad('/content/client.doubles/core.php?action=merge&id=' + id);
},
//диалог игнорирования дублей
ignore: function (id) {
doLoad('/content/client.doubles/core.php?action=ignore&id=' + id);
},
//запуск поиска дублей
check: function (id, tip) {
var clid;
var pid;
var $msg = $('#message');
if (tip === 'client') {
clid = id;
pid = 0;
}
else {
pid = id;
clid = 0;
}
function doIT() {
$msg.fadeTo(1, 1).empty().css('display', 'block').append(' Выполняю...
');
$.getJSON('/content/client.doubles/core.php?action=checkDouble.on&clid=' + clid + '&pid=' + pid + '&tip=' + tip, function (data) {
if (data.type === 'one') {
if (parseInt(data.id) > 0) {
$msg.fadeTo(1, 1).css('display', 'block').html('Результат: Обнаружен дубль');
doubleModule.view(data.id);
doubleModule.card();
}
else {
$msg.fadeTo(1, 0).empty();
Swal.fire('Отлично!', 'Дубли не обнаружены', 'success');
}
}
else {
if (parseInt(data.count) > 0) {
$msg.fadeTo(1, 0).empty();
Swal.fire("Результат", "Обнаружено " + data.count + " дублей.\nОбработано: " + data.total + " записей", 'warning');
DoublesPageRender();
}
else {
$msg.fadeTo(1, 0).empty();
Swal.fire('Отлично!', 'Дубли не обнаружены', 'success');
}
}
setTimeout(function () {
$msg.fadeTo(1000, 0);
}, 20000);
});
}
if (isCard !== true) {
Swal.fire({
title: 'Вы уверены?',
text: "В зависимости от размера базы процесс может занять длительное время!\nТакже возможна большая нагрузка на сервер!",
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Да, выполнить',
cancelButtonText: 'Отменить',
confirmButtonClass: 'greenbtn',
cancelButtonClass: 'redbtn'
},
function () {
doIT()
}
).then((result) => {
if (result.value) {
doIT()
}
});
}
else doIT();
},
//показ модального окна списка дублей
modal: function () {
getSwindow('/content/client.doubles/core.php?modal=true', 'Найденные дубли');
},
//загрузка кнопки в карточку
card: function () {
var apxDouble = '';
if (idCard > 0 && $('#data-append').is('div')) {
$('a[data-id="isdouble"]').remove();
$.getJSON('/content/client.doubles/core.php?action=isDouble&id=' + idCard + '&tip=' + tipCard, function (data) {
if (data.sec === 'yes') {
if (parseInt(data.id) > 0) {
apxDouble = ' Найдены дубли ';
}
else {
apxDouble = ' Найти дубли ';
}
setTimeout(function () {
$('#data-append').append(apxDouble);
}, 1000);
}
});
}
}
};
/**
* Функции работы с Анкетами сделок
* @type {{fieldClear: $anketa.fieldClear, anketaList: $anketa.anketaList, reload: $anketa.reload, edit: $anketa.edit, print: $anketa.print}}
*/
var $anketa = {
//очистка поля
fieldClear: function (id) {
var url = '/content/deal.anketa/card.php?id=' + id + '&action=anketa.delete';
var cf = confirm('Вы действительно хотите очистить указанный признак профиля?');
if (cf) {
$.post(url, function (data) {
$anketa.reload(data.ida);
$('#message').fadeTo(1, 1).css('display', 'block').html(data.text);
setTimeout(function () {
$('#message').fadeTo(1000, 0);
}, 20000);
}, 'json');
}
},
//список анкет. не закончено
anketaList: function () {
var url = '/content/deal.anketa/card.php?action=anketa.list';
$.getJSON(url, function (data) {
});
},
//перезагрузка анкеты в карточке
reload: function (id) {
var did = $('#did').val();
$('div.anketa-data[data-id="' + id + '"]').load('/content/deal.anketa/card.php?action=anketa.anketa&ida=' + id + '&did=' + did);
},
//редактирование анкеты
edit: function (id, did) {
if (did === undefined) did = $('#did').val();
doLoad('/content/deal.anketa/card.php?action=anketa.edit&ida=' + id + '&did=' + did);
},
//вывод на печать
print: function (id, did) {
window.open('/content/deal.anketa/card.php?action=anketa.print&ida=' + id + '&did=' + did);
},
//редактирование анкеты
view: function (id, did) {
if (did === undefined) did = $('#did').val();
doLoad('/content/deal.anketa/list.php?action=view&ida=' + id + '&did=' + did);
},
//вывод на печать базовой анкеты для заполнения на бумаге
baseprint: function (id) {
window.open('/content/deal.anketa/card.php?action=anketa.baseprint&ida=' + id);
},
//показ модального окна списка дублей
modal: function () {
getSwindow('/content/deal.anketa/list.php?modal=true', 'Анкеты по сделкам');
}
};
function openPlugin(url) {
if (!openFrame)
window.open(url);
else {
$('#smframe').attr('src', '/' + url + '?face=frame');
$('.smframe--container').css({"left": "0"});
$('.smframe--url').removeClass('hidden').attr('data-url', '/' + url);
}
return false;
}
// Получение иконки по расширению файла
function getIconFile(name) {
var icon = '';
name = name.toLowerCase().substr(name.lastIndexOf('.') + 1);
switch (name) {
case 'txt':
case 'html':
case 'htm':
case 'shtml':
icon = ' ';
break;
case 'doc':
case 'docx':
case 'rtf':
icon = ' ';
break;
case 'pdf':
icon = ' ';
break;
case 'xls':
case 'xlsx':
icon = ' ';
break;
case 'ppt':
case 'pptx':
icon = ' ';
break;
case 'jpeg':
case 'jpe':
case 'jpg':
case 'gif':
case 'png':
case 'bmp':
icon = ' ';
break;
case 'zip':
case 'tar':
case 'rar':
case 'z':
case 'exe':
case 'bin':
case 'dat':
icon = ' ';
break;
case 'wav':
case 'mp1':
case 'mp2':
case 'mp3':
case 'mid':
icon = ' ';
break;
case 'mpeg':
case 'mpg':
case 'mov':
case 'avi':
case 'rm':
case 'mp4':
icon = ' ';
break;
default:
icon = ' ';
}
return icon;
}
function getColumnEditor(tip){
doLoad('/content/helpers/column.editor.php?action='+tip);
}
/**
* Функции для работы с карточками
*/
let $cardsf = {
// вывод списка доступных для создания документов
docMenu: function(){
let str;
if (isCard) {
let clid = parseInt($('#ctitle #clid').val());
let pid = parseInt($('#ctitle #pid').val());
let did = parseInt($('#ctitle #did').val());
if (clid > 0) str = '&clid=' + clid;
if (pid > 0) str = '&pid=' + pid;
if (did > 0) str = '&did=' + did;
$('div[data-id="doctypes"]').append(' Загрузка данных...
');
$.get("/content/helpers/helpers.php?action=getDocTypes", str, function(data){
let s = '';
data.forEach(function(item, index, data) {
if(item['access'] === 1) {
if (item['isContract'] || item['isDoc']) {
if (item['add'])
s += " " + item['title'] + "
";
else
s += " " + item['title'] + "
";
}
if (item['isAkt']) {
if (item['add'])
s += " " + item['title'] + "
";
else
s += ' ' + item['title'] + '
';
}
}
else{
s += " " + item['title'] + "
";
}
});
//console.log(s);
$('div[data-id="doctypes"]').html(s);
},"json");
}
},
getDostup: function(){
let clid = parseInt($('#ctitle #clid').val());
let did = parseInt($('#ctitle #did').val());
if(tipCard === 'deal' || tipCard === 'dogovor')
$('#tabd').load('/content/helpers/deal.helpers.php?did='+did+'&action=dostup');
if(tipCard === 'client')
$('#carddostup').load('/content/helpers/client.helpers.php?action=dostup&clid='+clid).append(' ');
},
getTasks: function(page){
let clid = $('#ctitle #clid').val();
let did = $('#ctitle #did').val();
let pid = $('#ctitle #pid').val();
let url = '';
$.Mustache.load('/content/tpl/card.task.html');
$("#tab10").append(' ');
if(tipCard === 'deal' || tipCard === 'dogovor')
url = '/content/desktop/tasklist.php?noclient=yes&did='+did;
if(tipCard === 'client')
url = '/content/desktop/tasklist.php?noclient=yes&clid='+clid;
if(tipCard === 'person')
url = '/content/desktop/tasklist.php?noclient=yes&pid='+pid;
$.getJSON(url, function (viewData) {
viewData.language = $language;
$('#tab10').empty().mustache('taskTpl', viewData).animate({scrollTop: 0}, 200);
})
.complete(function () {
var told = localStorage.getItem("told");
var ttoday = localStorage.getItem("ttoday");
var tfuture = localStorage.getItem("tfuture");
if (told === 'show')
$('#told').removeClass('hidden');
else if (told === '')
$('#told').addClass('hidden');
if (ttoday === 'show')
$('#ttoday').removeClass('hidden');
else if (ttoday === '')
$('#ttoday').addClass('hidden');
if (tfuture === 'show')
$('#tfuture').removeClass('hidden');
else if (tfuture === '')
$('#tfuture').addClass('hidden');
if (isMobile) {
$("#tab10").find('table').rtResponsiveTables({id: 'table-todo'});
}
});
this.getHistory();
},
getHistory(page) {
let tip = [];
if( parseInt(page) == 0 )
page = $('#hpage option:selected').val();
let clid = $('#ctitle #clid').val();
let did = $('#ctitle #did').val();
let pid = $('#ctitle #pid').val();
$('#tiphistory\\[\\]:checked').each(function () {
tip.push($(this).val());
});
tip = tip.join();
setCookie('tiphistory', tip, {expires: 0});
if(tipCard === 'deal' || tipCard === 'dogovor')
$("#history").load("/content/card/card.history.php?did="+did+"&page=" + page).append(' ');
if(tipCard === 'client')
$("#history").load("/content/card/card.history.php?clid="+clid+"&tt=org&page=" + page).append(' ');
if(tipCard === 'person')
$("#history").load("/content/card/card.history.php?pid="+pid+"&tt=org&page=" + page).append(' ');
},
getCalls(page) {
if(!page)
page = $('#cpage option:selected').val();
let clid = $('#ctitle #clid').val();
let did = $('#ctitle #did').val();
let pid = $('#ctitle #pid').val();
//console.log('tip =' + tipCard);
//console.log('clid =' + clid);
//console.log('did =' + did);
//console.log('pid =' + pid);
if(tipCard === 'deal' || tipCard === 'dogovor')
$("#callhistory").load("/content/card/card.calls.php?did="+did+"&page=" + page).append(' ');
if(tipCard === 'client')
$("#callhistory").load("/content/card/card.calls.php?clid="+clid+"&page=" + page).append(' ');
if(tipCard === 'person')
$("#callhistory").load("/content/card/card.calls.php?pid="+pid+"&page=" + page).append(' ');
},
getLog: function(page){
if (!page)
page = 1;
let clid = $('#ctitle #clid').val();
let did = $('#ctitle #did').val();
let pid = $('#ctitle #pid').val();
if(tipCard === 'deal' || tipCard === 'dogovor')
$("#log").load("/content/card/card.history.php?log=yes&did="+did+"&noclient=yes&page=" + page).append(' ');
if(tipCard === 'client')
$("#log").load("/content/card/card.history.php?log=yes&clid="+clid+"&noclient=yes&page=" + page).append(' ');
if(tipCard === 'person')
$("#log").load("/content/card/card.history.php?log=yes&pid="+pid+"&noclient=yes&page=" + page).append(' ');
},
getFiles: function(){
let clid = $('#ctitle #clid').val();
let did = $('#ctitle #did').val();
let pid = $('#ctitle #pid').val();
if(tipCard === 'deal' || tipCard === 'dogovor')
$("#tab6").load("content/card/card.files.php?did="+did).append(' ');
if(tipCard === 'client')
$("#tab6").load("content/card/card.files.php?clid="+clid).append(' ');
if(tipCard === 'person')
$("#tab6").load("content/card/card.files.php?pid="+pid).append(' ');
},
};