Created
February 22, 2018 10:33
-
-
Save z81/ecd02b2ae57fc13d42ecb28188cb9698 to your computer and use it in GitHub Desktop.
kazaj.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//============================================================================== | |
var functions = {}, | |
benchmark, | |
errors = { | |
network: 'Ошибка связи, сервер не доступен.' | |
}; | |
//Ошибка | |
function error(text) | |
{ | |
global_close(); | |
mess_box(text); | |
} | |
//============================================================================== | |
// Базовые | |
//============================================================================== | |
//Ajax запрос | |
function ajax(data) | |
{ | |
$.ajax({ | |
url: "/api.php", | |
dataType: "json", | |
data: data, | |
success: function(data){ | |
if(data.html) popup_cont(data.html); | |
if(data.login) login(); | |
if(data.error) error(data.error); | |
}, | |
error: function(err){ | |
error(errors.network); | |
} | |
}); | |
} | |
//Запрос ответа пользователя | |
function request(el) | |
{ | |
var link = $(el).attr('link'), | |
question = $(el).attr('question'), | |
cont = "<p style='margin-bottom: 10px;'>" + question + "</p><a class='but' href='" + link + "'>Да</a> <a class='but' onclick='popup_close()'>Нет</a>"; | |
popup({"zag": "Подтверждение", "cont": cont, "width": 250}); | |
} | |
//Отправка родительской формы | |
function form_send(el) | |
{ | |
$(el).closest('form').submit(); | |
} | |
//Закрыть все | |
function global_close() | |
{ | |
nav_close(); | |
popup_close(); | |
if(typeof user_menu_status != 'undefined') user_menu_hide(); | |
} | |
//============================================================================== | |
// END Базовые | |
//============================================================================== | |
//============================================================================== | |
// Загрузчик | |
//============================================================================== | |
//Удаление загрузчика | |
function loader_remove() | |
{ | |
$("#loader").remove(); | |
} | |
//============================================================================== | |
// END Загрузчик | |
//============================================================================== | |
//============================================================================== | |
// Ширма | |
//============================================================================== | |
var screen_use = 0; | |
//Создать ширму | |
function screen() | |
{ | |
if(!screen_use) $('body').prepend("<div id='screen' onclick='global_close()'></div>"); | |
++screen_use; | |
} | |
//Удалить ширму | |
function screen_remove() | |
{ | |
if(screen_use > 0) | |
{ | |
--screen_use; | |
if(!screen_use) $('#screen').remove(); | |
} | |
} | |
//============================================================================== | |
// END Ширма | |
//============================================================================== | |
//============================================================================== | |
// Header | |
//============================================================================== | |
var logo_width = $("#logo").width() + parseInt($("#logo").css('padding-left')) + parseInt($("#logo").css('padding-right')); | |
var nav_width = $("nav").width() + parseInt($("nav").css('padding-left')) + parseInt($("nav").css('padding-right')); | |
var header_panel_width = $("#header_panel").width(); | |
//Инициализация header'а | |
functions['ini'] = function() | |
{ | |
if($(window).width() >= (logo_width + nav_width + header_panel_width)) | |
{ | |
$("#header header nav").removeClass("nav_com").addClass("nav_norm").css("display", "inline-block"); | |
$("#header header #nav_but").remove(); | |
$("#logo").removeClass('logo_comp'); | |
} | |
else | |
{ | |
if(!$("#header header #nav_but").length) | |
{ | |
$("#header header").prepend('<a id="nav_but" onclick="nav_tog()"><svg><use xlink:href="/img/icons.svg#menu"/></svg>.</a>'); | |
$("#header header nav").removeClass("nav_norm").addClass("nav_com").css("display", "none"); | |
$("#logo").addClass('logo_comp'); | |
} | |
} | |
}; | |
var width = $(window).width(); | |
$(window).resize(function(){ | |
if(width != $(window).width()) | |
{ | |
width = $(window).width(); | |
functions['ini'](); | |
} | |
}); | |
//Закрытие меню навигации | |
function nav_close() | |
{ | |
if(nav_status) | |
{ | |
nav_status = 0; | |
$("nav").hide(); | |
screen_remove(); | |
} | |
} | |
//Переключать меню навигации | |
var nav_status = 0; | |
function nav_tog() | |
{ | |
if(nav_status) | |
{ | |
nav_close(); | |
} | |
else | |
{ | |
global_close(); | |
screen(); | |
nav_status = 1; | |
$("nav").show(); | |
} | |
} | |
//============================================================================== | |
// END Header | |
//============================================================================== | |
//============================================================================== | |
// Бокс сообщений | |
//============================================================================== | |
function mess_box_close() | |
{ | |
$("#mess_box_karkas").remove(); | |
} | |
function mess_box(text, par) | |
{ | |
mess_box_close(); | |
if(par == 1) | |
{ | |
$('body').append("<table id='mess_box_karkas'><tr><td><div id='mess_box_click_close' onclick='mess_box_close()'></div><div id='mess_box'><div id='mess_box_cont'></div></div></td></tr></table>"); | |
} | |
else | |
{ | |
$('body').append("<table id='mess_box_karkas'><tr><td><div id='mess_box_click_close' onclick='mess_box_close()'></div><div id='mess_box'><div id='mess_box_cont'></div><p id='mess_box_close'><input type='button' value='Окей' onclick='mess_box_close()'></p></div></td></tr></table>"); | |
} | |
$('#mess_box_cont').html(text); | |
} | |
//============================================================================== | |
// END Бокс сообщений | |
//============================================================================== | |
//============================================================================== | |
// Всплывающее окно | |
//============================================================================== | |
//Инициализация окна | |
function popup_ini() | |
{ | |
if(popup_status && parseInt($('#popup').attr('full'))) | |
{ | |
var width = $(window).width(); | |
var height = $(window).height(); | |
var popup_mw = parseInt($('#popup').css('max-width')); | |
if(width <= popup_mw) | |
{ | |
$('#popup').css('height', '100%'); | |
} | |
else | |
{ | |
$('#popup').css('height', 'auto'); | |
} | |
} | |
} | |
var popup_status = 0; | |
//Окно | |
function popup(popup_obj) | |
{ | |
if(!popup_obj.zag) popup_obj.zag = ''; | |
if(!popup_obj.cont) popup_obj.cont = ''; | |
if(!popup_obj.width) popup_obj.width = '250'; | |
if(!popup_obj.header) popup_obj.header = ''; | |
if(!popup_obj.full) popup_obj.full = '0'; | |
//============================================================================ | |
//Если окно уже открыто закрыем его | |
if(popup_status) popup_close(); | |
var popup_html = "<div id='popup_frame'><div id='popup_layer' onclick='popup_close()'></div><div id='popup' style='max-width: " + popup_obj.width + "px;' full='" + popup_obj.full + "'><div id='popup_body'><a id='popup_close' onclick='popup_close()'><svg><use xlink:href='/img/icons.svg#close'/></svg></a><div id='popup_header'>"; | |
if(popup_obj.header) | |
{ | |
popup_html += popup_obj.header; | |
} | |
else | |
{ | |
popup_html += "<p id='popup_zag'>" + popup_obj.zag + "</p>"; | |
} | |
popup_html += "</div>"; | |
if(popup_obj.cont) | |
{ | |
popup_html += "<div id='popup_cont'>" + popup_obj.cont; | |
} | |
else | |
{ | |
popup_html += "<div id='popup_cont' class='popup_loading'>" | |
} | |
popup_html += "</div></div></div></div>"; | |
$('body').append(popup_html).css('overflow-y', 'hidden'); | |
popup_status = 1; | |
popup_ini(); | |
} | |
//Установка контента окна | |
function popup_cont(html) | |
{ | |
$('#popup_cont').removeClass('popup_loading'); | |
$('#popup_cont').html(html); | |
} | |
//Закрыть окно | |
function popup_close() | |
{ | |
$('#popup_frame').remove(); | |
$('body').css('overflow-y', 'scroll'); | |
popup_status = 0; | |
} | |
$(window).resize(function(){ | |
if(popup_status) popup_ini(); | |
}); | |
//============================================================================== | |
// END Всплывающее окно | |
//============================================================================== | |
//============================================================================== | |
// Пользователи | |
//============================================================================== | |
//Форма авторизации | |
function login() | |
{ | |
popup({'zag': 'Авторизация', 'cont': '', 'width': '250'}); | |
$.ajax({ | |
url: "/api.php", | |
data: "login_form", | |
dataType: "json", | |
success: function(data){ | |
popup_cont(data.html); | |
}, | |
error: function(error){ | |
error(errors.network); | |
} | |
}); | |
} | |
//============================================================================== | |
// END Пользователи | |
//============================================================================== | |
//Цена | |
function cost_(cost) | |
{ | |
cost = cost.toFixed(2); | |
var str = ''; | |
var count = 0; | |
var mas = cost.split('.'); | |
cost = mas[0]; | |
cost = String(cost).split('').reverse(); | |
cost.forEach(function(item, i, cost){ | |
++count; | |
if(count == 3) | |
{ | |
str = str + item + ' '; | |
count = 0; | |
} | |
else | |
{ | |
str = str + item; | |
} | |
}); | |
//========================================================================== | |
var res = ''; | |
str = String(str).split('').reverse(); | |
str.forEach(function(item, i, str){ | |
res = res + item; | |
}); | |
if(mas[1] && mas[1] != 00) res = res + '.' + mas[1]; | |
return res + ' €'; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment