|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/leadai/_leadai.co.in/assets/js/ |
Upload File : |
/* Template Name: Landrick - Saas & Software Landing Page Template
Author: Shreethemes
E-mail: support@shreethemes.in
Created: August 2019
Version: 4.5.0
Updated: March 2022
File Description: Common JS file of the template(plugins.init.js)
*/
/*********************************/
/* INDEX */
/*================================
* 01. Tiny Slider *
* 02. Swiper slider *
* 03. Countdown Js * (For Comingsoon pages)
* 04. Maintenance js * (For Maintenance page)
* 05. Data Counter *
* 06. Datepicker js *
* 07. Gallery filter js * (For Portfolio pages)
* 08. Tobii lightbox * (For Portfolio pages)
* 09. CK Editor * (For Compose mail)
* 10. WOW JS Animation *
* 11. Typed Text animation (animation) *
* 12. Validation Form *
* 13. Switcher Pricing Plan*
* 14. Cookies Policy *
* 15. Back Button *
* 16. Particles *
* 17. ApexCharts * (chart for cryptocurrency)
* 18. Switcher JS *
================================*/
//=========================================//
/* 01) Tiny slider */
//=========================================//
if(document.getElementsByClassName('tiny-single-item').length > 0) {
var slider = tns({
container: '.tiny-single-item',
items: 1,
controls: false,
mouseDrag: true,
loop: true,
rewind: true,
autoplay: true,
autoplayButtonOutput: false,
autoplayTimeout: 3000,
navPosition: "bottom",
speed: 400,
gutter: 16,
});
};
if(document.getElementsByClassName('tiny-two-item').length > 0) {
var slider = tns({
container: '.tiny-two-item',
controls: false,
mouseDrag: true,
loop: true,
rewind: true,
autoplay: true,
autoplayButtonOutput: false,
autoplayTimeout: 3000,
navPosition: "bottom",
speed: 400,
gutter: 12,
responsive: {
992: {
items: 2
},
767: {
items: 2
},
320: {
items: 1
},
},
});
};
if(document.getElementsByClassName('tiny-three-item').length > 0) {
var slider = tns({
container: '.tiny-three-item',
controls: false,
mouseDrag: true,
loop: true,
rewind: true,
autoplay: true,
autoplayButtonOutput: false,
autoplayTimeout: 3000,
navPosition: "bottom",
speed: 400,
gutter: 12,
responsive: {
992: {
items: 3
},
767: {
items: 2
},
320: {
items: 1
},
},
});
};
if(document.getElementsByClassName('tiny-four-item').length > 0) {
var slider = tns({
container: '.tiny-four-item',
controls: false,
mouseDrag: true,
loop: true,
rewind: true,
autoplay: true,
autoplayButtonOutput: false,
autoplayTimeout: 3000,
navPosition: "bottom",
speed: 400,
gutter: 12,
responsive: {
992: {
items: 4
},
767: {
items: 2
},
320: {
items: 1
},
},
});
};
if(document.getElementsByClassName('roadmaps').length > 0) {
var slider = tns({
container: '.roadmaps',
controls: false,
mouseDrag: true,
loop: true,
rewind: true,
autoplay: true,
autoplayButtonOutput: false,
autoplayTimeout: 3000,
nav: false,
speed: 400,
gutter: 12,
responsive: {
992: {
items: 4
},
767: {
items: 2
},
320: {
items: 1
},
},
});
};
if(document.getElementsByClassName('tiny-six-item').length > 0) {
var slider = tns({
container: '.tiny-six-item',
controls: false,
mouseDrag: true,
loop: true,
rewind: true,
autoplay: true,
autoplayButtonOutput: false,
autoplayTimeout: 3000,
navPosition: "bottom",
speed: 400,
gutter: 12,
responsive: {
992: {
items: 6
},
767: {
items: 3
},
320: {
items: 1
},
},
});
};
if(document.getElementsByClassName('tiny-twelve-item').length > 0) {
var slider = tns({
container: '.tiny-twelve-item',
controls: true,
mouseDrag: true,
loop: true,
rewind: true,
autoplay: true,
autoplayButtonOutput: false,
autoplayTimeout: 3000,
navPosition: "bottom",
controlsText: ['<i class="mdi mdi-chevron-left "></i>', '<i class="mdi mdi-chevron-right"></i>'],
nav: false,
speed: 400,
gutter: 0,
responsive: {
1025: {
items: 10
},
992: {
items: 8
},
767: {
items: 6
},
320: {
items: 2
},
},
});
};
if(document.getElementsByClassName('tiny-five-item').length > 0) {
var slider = tns({
container: '.tiny-five-item',
controls: true,
mouseDrag: true,
loop: true,
rewind: true,
autoplay: true,
autoplayButtonOutput: false,
autoplayTimeout: 3000,
navPosition: "bottom",
controlsText: ['<i class="mdi mdi-chevron-left "></i>', '<i class="mdi mdi-chevron-right"></i>'],
nav: false,
speed: 400,
gutter: 0,
responsive: {
1025: {
items: 5
},
992: {
items: 4
},
767: {
items: 3
},
320: {
items: 2
},
},
});
};
//=========================================//
/* 02) Swiper slider */
//=========================================//
try {
var menu = [];
var interleaveOffset = 0.5;
var swiperOptions = {
loop: true,
speed: 1000,
parallax: true,
autoplay: {
delay: 6500,
disableOnInteraction: false,
},
watchSlidesProgress: true,
pagination: {
el: '.swiper-pagination',
clickable: true,
renderBullet: function (index, className) {
return '<span class="' + className + '">' + 0 + (index + 1) + '</span>';
},
},
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
on: {
progress: function () {
var swiper = this;
for (var i = 0; i < swiper.slides.length; i++) {
var slideProgress = swiper.slides[i].progress;
var innerOffset = swiper.width * interleaveOffset;
var innerTranslate = slideProgress * innerOffset;
swiper.slides[i].querySelector(".slide-inner").style.transform =
"translate3d(" + innerTranslate + "px, 0, 0)";
}
},
touchStart: function () {
var swiper = this;
for (var i = 0; i < swiper.slides.length; i++) {
swiper.slides[i].style.transition = "";
}
},
setTransition: function (speed) {
var swiper = this;
for (var i = 0; i < swiper.slides.length; i++) {
swiper.slides[i].style.transition = speed + "ms";
swiper.slides[i].querySelector(".slide-inner").style.transition =
speed + "ms";
}
}
}
};
// DATA BACKGROUND IMAGE
var swiper = new Swiper(".swiper-container", swiperOptions);
let data = document.querySelectorAll(".slide-bg-image")
data.forEach((e) => {
e.style.backgroundImage =
`url(${e.getAttribute('data-background')})`;
})
} catch (err) {
}
//=========================================//
/*/* 03) Countdown js */
//=========================================//
try {
if(document.getElementById("days")){
// The data/time we want to countdown to
var eventCountDown = new Date("December 25, 2022 16:37:52").getTime();
// Run myfunc every second
var myfunc = setInterval(function () {
var now = new Date().getTime();
var timeleft = eventCountDown - now;
// Calculating the days, hours, minutes and seconds left
var days = Math.floor(timeleft / (1000 * 60 * 60 * 24));
var hours = Math.floor((timeleft % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((timeleft % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((timeleft % (1000 * 60)) / 1000);
// Result is output to the specific element
document.getElementById("days").innerHTML = days + "<p class='count-head'>Days</p> "
document.getElementById("hours").innerHTML = hours + "<p class='count-head'>Hours</p> "
document.getElementById("mins").innerHTML = minutes + "<p class='count-head'>Mins</p> "
document.getElementById("secs").innerHTML = seconds + "<p class='count-head'>Secs</p> "
// Display the message when countdown is over
if (timeleft < 0) {
clearInterval(myfunc);
document.getElementById("days").innerHTML = ""
document.getElementById("hours").innerHTML = ""
document.getElementById("mins").innerHTML = ""
document.getElementById("secs").innerHTML = ""
document.getElementById("end").innerHTML = "00:00:00:00";
}
}, 1000);
}
} catch (err) {
}
//=========================================//
/*/* 04) Maintenance js */
//=========================================//
try {
if(document.getElementById("maintenance")){
var seconds = 3599;
function secondPassed() {
var minutes = Math.round((seconds - 30) / 60);
var remainingSeconds = seconds % 60;
if (remainingSeconds < 10) {
remainingSeconds = "0" + remainingSeconds;
}
document.getElementById('maintenance').innerHTML = minutes + ":" + remainingSeconds;
if (seconds == 0) {
clearInterval(countdownTimer);
document.getElementById('maintenance').innerHTML = "Buzz Buzz";
} else {
seconds--;
}
}
var countdownTimer = setInterval('secondPassed()', 1000);
}
} catch (err) {
}
//=========================================//
/*/* 05) Data Counter */
//=========================================//
try {
const counter = document.querySelectorAll('.counter-value');
const speed = 2500; // The lower the slower
counter.forEach(counter_value => {
const updateCount = () => {
const target = +counter_value.getAttribute('data-target');
const count = +counter_value.innerText;
// Lower inc to slow and higher to slow
var inc = target / speed;
if (inc < 1) {
inc = 1;
}
// Check if target is reached
if (count < target) {
// Add inc to count and output in counter_value
counter_value.innerText = (count + inc).toFixed(0);
// Call function every ms
setTimeout(updateCount, 1);
} else {
counter_value.innerText = target;
}
};
updateCount();
});
} catch (err) {
}
//=========================================//
/*/* 06) Datepicker js*/
//=========================================//
try {
const start = datepicker('.start', { id: 1 })
const end = datepicker('.end', { id: 1 })
} catch (err) {
}
//=========================================//
/*/* 07) Gallery filter js */
//=========================================//
try {
var Shuffle = window.Shuffle;
class Demo {
constructor(element) {
if(element){
this.element = element;
this.shuffle = new Shuffle(element, {
itemSelector: '.picture-item',
sizer: element.querySelector('.my-sizer-element'),
});
// Log events.
this.addShuffleEventListeners();
this._activeFilters = [];
this.addFilterButtons();
}
}
/**
* Shuffle uses the CustomEvent constructor to dispatch events. You can listen
* for them like you normally would (with jQuery for example).
*/
addShuffleEventListeners() {
this.shuffle.on(Shuffle.EventType.LAYOUT, (data) => {
console.log('layout. data:', data);
});
this.shuffle.on(Shuffle.EventType.REMOVED, (data) => {
console.log('removed. data:', data);
});
}
addFilterButtons() {
const options = document.querySelector('.filter-options');
if (!options) {
return;
}
const filterButtons = Array.from(options.children);
const onClick = this._handleFilterClick.bind(this);
filterButtons.forEach((button) => {
button.addEventListener('click', onClick, false);
});
}
_handleFilterClick(evt) {
const btn = evt.currentTarget;
const isActive = btn.classList.contains('active');
const btnGroup = btn.getAttribute('data-group');
this._removeActiveClassFromChildren(btn.parentNode);
let filterGroup;
if (isActive) {
btn.classList.remove('active');
filterGroup = Shuffle.ALL_ITEMS;
} else {
btn.classList.add('active');
filterGroup = btnGroup;
}
this.shuffle.filter(filterGroup);
}
_removeActiveClassFromChildren(parent) {
const { children } = parent;
for (let i = children.length - 1; i >= 0; i--) {
children[i].classList.remove('active');
}
}
}
document.addEventListener('DOMContentLoaded', () => {
window.demo = new Demo(document.getElementById('grid'));
});
} catch (err) {
}
//=========================================//
/*/* 08) Tobii lightbox */
//=========================================//
try {
const tobii = new Tobii()
} catch (err) {
}
//=========================================//
/*/* 09) CK Editor */
//=========================================//
try {
ClassicEditor
.create(document.querySelector('#editor'))
.catch(error => {
console.error(error);
});
} catch(err) {
}
//=========================================//
/*/* 10) Wow JS Animation */
//=========================================//
try {
new WOW().init();
} catch (error) {
}
//=========================================//
/*/* 11) Typed Text animation (animation) */
//=========================================//
try {
var TxtType = function (el, toRotate, period) {
this.toRotate = toRotate;
this.el = el;
this.loopNum = 0;
this.period = parseInt(period, 10) || 2000;
this.txt = '';
this.tick();
this.isDeleting = false;
};
TxtType.prototype.tick = function () {
var i = this.loopNum % this.toRotate.length;
var fullTxt = this.toRotate[i];
if (this.isDeleting) {
this.txt = fullTxt.substring(0, this.txt.length - 1);
} else {
this.txt = fullTxt.substring(0, this.txt.length + 1);
}
this.el.innerHTML = '<span class="wrap">' + this.txt + '</span>';
var that = this;
var delta = 200 - Math.random() * 100;
if (this.isDeleting) { delta /= 2; }
if (!this.isDeleting && this.txt === fullTxt) {
delta = this.period;
this.isDeleting = true;
} else if (this.isDeleting && this.txt === '') {
this.isDeleting = false;
this.loopNum++;
delta = 500;
}
setTimeout(function () {
that.tick();
}, delta);
};
function typewrite() {
if (toRotate === 'undefined') {
changeText()
}
else
var elements = document.getElementsByClassName('typewrite');
for (var i = 0; i < elements.length; i++) {
var toRotate = elements[i].getAttribute('data-type');
var period = elements[i].getAttribute('data-period');
if (toRotate) {
new TxtType(elements[i], JSON.parse(toRotate), period);
}
}
// INJECT CSS
var css = document.createElement("style");
css.type = "text/css";
css.innerHTML = ".typewrite > .wrap { border-right: 0.08em solid transparent}";
document.body.appendChild(css);
};
window.onload(typewrite());
} catch(err) {
}
//=========================================//
/*/* 12) Validation Shop Checkouts */
//=========================================//
(function () {
'use strict'
if(document.getElementsByClassName('needs-validation').length > 0) {
// Fetch all the forms we want to apply custom Bootstrap validation styles to
var forms = document.querySelectorAll('.needs-validation')
// Loop over them and prevent submission
Array.prototype.slice.call(forms)
.forEach(function (form) {
form.addEventListener('submit', function (event) {
if (!form.checkValidity()) {
event.preventDefault()
event.stopPropagation()
}
form.classList.add('was-validated')
}, false)
})
}
})()
//=========================================//
/*/* 13) Switcher Pricing Plans */
//=========================================//
try {
var e = document.getElementById("filt-monthly"),
d = document.getElementById("filt-yearly"),
t = document.getElementById("switcher"),
m = document.getElementById("monthly"),
y = document.getElementById("yearly");
e.addEventListener("click", function(){
t.checked = false;
e.classList.add("toggler--is-active");
d.classList.remove("toggler--is-active");
m.classList.remove("hide");
y.classList.add("hide");
});
d.addEventListener("click", function(){
t.checked = true;
d.classList.add("toggler--is-active");
e.classList.remove("toggler--is-active");
m.classList.add("hide");
y.classList.remove("hide");
});
t.addEventListener("click", function(){
d.classList.toggle("toggler--is-active");
e.classList.toggle("toggler--is-active");
m.classList.toggle("hide");
y.classList.toggle("hide");
})
} catch(err) {
}
//=========================================//
/*/* 14) Cookies Policy */
//=========================================//
try {
/* common fuctions */
function el(selector) { return document.querySelector(selector) }
function els(selector) { return document.querySelectorAll(selector) }
function on(selector, event, action) { els(selector).forEach(e => e.addEventListener(event, action)) }
function cookie(name) {
let c = document.cookie.split('; ').find(cookie => cookie && cookie.startsWith(name+'='))
return c ? c.split('=')[1] : false;
}
/* popup button hanler */
on('.cookie-popup button', 'click', () => {
el('.cookie-popup').classList.add('cookie-popup-accepted');
document.cookie = `cookie-accepted=true`
});
/* popup init hanler */
if (cookie('cookie-accepted') !== "true") {
el('.cookie-popup').classList.add('cookie-popup-not-accepted');
}
} catch (error) {
}
//=========================================//
/*/* 15) Back Button */
//=========================================//
document.getElementsByClassName("back-button")[0]?.addEventListener("click", (e)=>{
if (document.referrer !== "") {
e.preventDefault();
window.location.href = document.referrer;
}
})
//=========================================//
/* 16) Particles */
//=========================================//
try {
particlesJS("particles-snow", {
"particles": {
"number": {
"value": 250,
"density": {
"enable": false,
"value_area": 800
}
},
"color": {
"value": "#ffffff"
},
"shape": {
"type": "circle",
"stroke": {
"width": 0,
"color": "#000000"
},
"polygon": {
"nb_sides": 36
},
"image": {
"src": "",
"width": 1000,
"height": 1000
}
},
"opacity": {
"value": 0.5,
"random": false,
"anim": {
"enable": false,
"speed": 0.5,
"opacity_min": 1,
"sync": false
}
},
"size": {
"value": 3.2,
"random": true,
"anim": {
"enable": false,
"speed": 20,
"size_min": 0.1,
"sync": false
}
},
"line_linked": {
"enable": false,
"distance": 100,
"color": "#ffffff",
"opacity": 0.4,
"width": 2
},
"move": {
"enable": true,
"speed": 1,
"direction": "bottom",
"random": false,
"straight": false,
"out_mode": "out",
"bounce": false,
"attract": {
"enable": false,
"rotateX": 800,
"rotateY": 1200
}
}
},
"interactivity": {
"detect_on": "canvas",
"events": {
"onhover": {
"enable": false,
"mode": "repulse"
},
"onclick": {
"enable": false,
"mode": "push"
},
"resize": true
},
"modes": {
"grab": {
"distance": 200,
"line_linked": {
"opacity": 1
}
},
"bubble": {
"distance": 400,
"size": 40,
"duration": 2,
"opacity": 8,
"speed": 3
},
"repulse": {
"distance": 71,
"duration": 0.4
},
"push": {
"particles_nb": 4
},
"remove": {
"particles_nb": 2
}
}
},
"retina_detect": true
});
} catch (error) {
}
//=========================================//
/* 17) ApexCharts */
//=========================================//
//Chart 1
try {
var options = {
series: [{
data: [20, 45, 40, 64, 35, 25, 35]
}],
chart: {
type: 'area',
height: 90,
width: '100%',
sparkline: {
enabled: true
}
},
stroke: {
curve: 'smooth',
width: 3,
},
colors: ['#52cc99'],
fill: {
type: 'gradient',
gradient: {
shadeIntensity: 1,
inverseColors: false,
opacityFrom: 0.45,
opacityTo: 0.05,
stops: [20, 100, 100, 100]
},
},
tooltip: {
fixed: {
enabled: false
},
x: {
show: false
},
y: {
title: {
formatter: function (seriesName) {
return ''
}
}
},
marker: {
show: false
}
}
};
var chart = new ApexCharts(document.querySelector("#chart-1"), options);
chart.render();
} catch (error) {
}
//chart 2
try {
var options = {
series: [{
data: [10, 25, 30, 54, 45, 39, 15]
}],
chart: {
type: 'area',
height: 90,
width: '100%',
sparkline: {
enabled: true
}
},
stroke: {
curve: 'smooth',
width: 3,
},
colors: ['#ff6647'],
fill: {
type: 'gradient',
gradient: {
shadeIntensity: 1,
inverseColors: false,
opacityFrom: 0.45,
opacityTo: 0.05,
stops: [20, 100, 100, 100]
},
},
tooltip: {
fixed: {
enabled: false
},
x: {
show: false
},
y: {
title: {
formatter: function (seriesName) {
return ''
}
}
},
marker: {
show: false
}
}
};
var chart = new ApexCharts(document.querySelector("#chart-2"), options);
chart.render();
} catch (error) {
}
//Chart 3
try {
var options = {
series: [{
data: [15, 20, 10, 45, 20, 10, 5]
}],
chart: {
type: 'area',
height: 90,
width: '100%',
sparkline: {
enabled: true
}
},
stroke: {
curve: 'smooth',
width: 3,
},
colors: ['#52cc99'],
fill: {
type: 'gradient',
gradient: {
shadeIntensity: 1,
inverseColors: false,
opacityFrom: 0.45,
opacityTo: 0.05,
stops: [20, 100, 100, 100]
},
},
tooltip: {
fixed: {
enabled: false
},
x: {
show: false
},
y: {
title: {
formatter: function (seriesName) {
return ''
}
}
},
marker: {
show: false
}
}
};
var chart = new ApexCharts(document.querySelector("#chart-3"), options);
chart.render();
} catch (error) {
}
//Chart 4
try {
var options = {
series: [{
data: [3, 5, 7, 11, 8, 5, 7]
}],
chart: {
type: 'area',
height: 90,
width: '100%',
sparkline: {
enabled: true
}
},
stroke: {
curve: 'smooth',
width: 3,
},
colors: ['#ff6647'],
fill: {
type: 'gradient',
gradient: {
shadeIntensity: 1,
inverseColors: false,
opacityFrom: 0.45,
opacityTo: 0.05,
stops: [20, 100, 100, 100]
},
},
tooltip: {
fixed: {
enabled: false
},
x: {
show: false
},
y: {
title: {
formatter: function (seriesName) {
return ''
}
}
},
marker: {
show: false
}
}
};
var chart = new ApexCharts(document.querySelector("#chart-4"), options);
chart.render();
} catch (error) {
}
//=========================================//
/* 18) Switcher JS */
//=========================================//
try {
function setTheme(theme) {
let bootstarpHref;
let styleHref;
let color = '';
if(window.theme)
color = '-'+window.theme;
switch (theme) {
case "style-dark":
bootstarpHref = "assets/css/bootstrap-dark"+color+".min.css"
styleHref = "assets/css/style-dark"+color+".min.css"
break;
case "style-rtl":
bootstarpHref = "assets/css/bootstrap"+color+"-rtl.min.css"
styleHref = "assets/css/style"+color+"-rtl.min.css"
break;
case "style-dark-rtl":
bootstarpHref = "assets/css/bootstrap-dark"+color+"-rtl.min.css"
styleHref = "assets/css/style-dark"+color+"-rtl.min.css"
break;
default:
bootstarpHref = "assets/css/bootstrap"+color+".min.css"
styleHref = "assets/css/style"+color+".min.css"
break;
}
if(theme === "style-rtl" || theme === "style-dark-rtl" ) document.getElementsByTagName("html")[0].dir = "rtl"
else document.getElementsByTagName("html")[0].dir = "ltr"
document.getElementsByClassName('theme-opt')[0].href =bootstarpHref
document.getElementsByClassName('theme-opt')[1].href =styleHref
};
function setColor(theme) {
window.theme = theme;
document.getElementById('bootstrap-style').href = 'assets/css/bootstrap-' + theme + '.min.css';
document.getElementById('color-opt').href = 'assets/css/style-' + theme + '.min.css';
};
function setColorPrimary() {
window.theme = null;
document.getElementById('bootstrap-style').href = 'assets/css/bootstrap.min.css';
document.getElementById('color-opt').href = 'assets/css/style.min.css';
};
} catch (error) {
}