Files
Aerbim/static/aerbimJS.js
2023-11-30 16:14:10 +03:00

149 lines
4.3 KiB
JavaScript

$(document).ready(function (){
if (document.querySelector(".header").dataset['page'] === 'True' && getInfoAboutUser()[0] === 'mobile'){
renderContent()
} else {
let el = document.querySelector(".container_sections_buttons")
if (el){
replaceHrefOnOnclick()
replace_select_language()
}
}
})
function getInfoAboutUser (){
let user_type = ''
if (screen.width <= 800){
user_type = 'mobile'
} else if (screen.width > 1024) {
user_type = 'desktop'
} else if (screen.width >= 800 && screen.width <= 1024) {
user_type = 'laptop'
}
return [user_type,screen.width]
}
function sendWidthAjax () {
let width = getInfoAboutUser()[1]
let data = {
'screen_width': width
}
return data
}
function renderContent (el=null) {
let data = sendWidthAjax()
if (!el) {
let section_button = document.querySelector(".section_btn")
data['section_url'] = section_button.dataset['url']
} else {
data['section_url'] = el.dataset['url']
}
$.ajax({
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
url: '/get_content_for_section/',
type: "POST",
// async: true,
cache: false,
processData: false,
// contentType: false,
enctype: 'json',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(data),
success: function(data){
document.querySelector(".content").innerHTML = data.html
replaceHrefOnOnclick()
replace_select_language()
if (el){
history.pushState({
'section':data['section_url']
},
'',
`/section/${el.dataset['url']}/`
)
}
},
error: function (data){
alert(data.errors)
}
});
}
function replace_select_language () {
let select = document.querySelector(".name_language")
if (getInfoAboutUser()[0] === 'mobile' || getInfoAboutUser()[0] === 'laptop'){
select = document.querySelector(".name_language.curtain")
}
let lang_f_replace = ''
if (window.location.href.includes('ru')){
lang_f_replace = 'ru'
} else {
lang_f_replace = 'en'
}
select.innerHTML = lang_f_replace
}
function replaceHrefOnOnclick () {
let elements = document.querySelectorAll('.section_btn')
let i = 0
elements.forEach(function (){
let cur_el = elements[i]
if (cur_el.attributes.hasOwnProperty("href")){
cur_el.setAttribute("onclick",`renderContent(this)`)
let str = cur_el.outerHTML
let str_f_replace = cur_el.href
str_f_replace = str_f_replace.replace(`${window.location.origin}`,'')
str_f_replace = `href="${str_f_replace}"`
str = str.replace(str_f_replace,'')
cur_el.outerHTML = str
}
i++
})
}
function faq_open_close () {
let faq = document.querySelector(".faq_container")
faq.classList.toggle("open")
faq.classList.toggle("close")
}
function open_select_language () {
let el = document.querySelector(".language_select")
if (getInfoAboutUser()[0] === 'mobile' || getInfoAboutUser()[0] === 'laptop'){
el = document.querySelector(".language_select.curtain")
}
el.classList.toggle("open")
el.classList.toggle("close")
}
function select_language (el) {
let txt = el.innerHTML
let select = document.querySelector(".name_language")
if (getInfoAboutUser()[0] === 'mobile' || getInfoAboutUser()[0] === 'laptop'){
select = document.querySelector(".name_language.curtain")
}
select.innerHTML = txt
let lang_f_replace = ''
if (window.location.href.includes('ru')){
lang_f_replace = 'ru'
} else {
lang_f_replace = 'en'
}
window.location.href = window.location.href.replace(`${lang_f_replace}`,txt.toLowerCase())
open_select_language()
}
// curtain
function openCurtain (el) {
let curtain = document.querySelector(".curtain")
curtain.classList.toggle("open")
curtain.classList.toggle("close")
openOverlay()
}
function openOverlay () {
let overlay = document.querySelector(".block_overlay")
overlay.classList.toggle("show")
overlay.classList.toggle("hide")
}