var winW; var SCflag = 0; var w = $(window).height(); $(function () { var isValidNationalCode = function(code) { if (code.length !== 10 || /(\d)(\1){9}/.test(code)) return false; var sum = 0, chars = code.split(''); for (var i = 0; i < 9; i++) sum += +chars[i] * (10 - i); var lastDigit, remainder = sum % 11; lastDigit = remainder < 2 ? remainder : 11 - remainder; return +chars[9] === lastDigit; }; // validate form inputs function validateInput(inputParent, element, requiredMessage, pattern, patternMessage) { var isValid = false; if (element.value.length < 1) { inputParent.classList.add('validate-error-mode'); inputParent.querySelector('.validate-message').style.display = 'block'; inputParent.querySelector('.validate-message').innerHTML = requiredMessage; } else if(element.hasAttribute('data-national-code')){ if(!isValidNationalCode(element.value)){ inputParent.classList.add('validate-error-mode'); inputParent.querySelector('.validate-message').style.display = 'block'; inputParent.querySelector('.validate-message').innerHTML = patternMessage; }else{ inputParent.classList.remove('validate-error-mode'); inputParent.querySelector('.validate-message').style.display = 'none'; isValid = true; } } else if (element.hasAttribute('data-pattern')) { var patternValue = new RegExp(pattern); if (!patternValue.test(element.value)) { inputParent.classList.add('validate-error-mode'); inputParent.querySelector('.validate-message').style.display = 'block'; inputParent.querySelector('.validate-message').innerHTML = patternMessage; } else { inputParent.classList.remove('validate-error-mode'); inputParent.querySelector('.validate-message').style.display = 'none'; isValid = true; } } else { inputParent.classList.remove('validate-error-mode'); inputParent.querySelector('.validate-message').style.display = 'none'; isValid = true; } return isValid; } // check validate all input forms document.querySelectorAll('.c-form .form .form__inputs .form__input input').forEach(function (input) { input.addEventListener('blur', function (e) { var element = e.target; if (element.hasAttribute('data-required')) { var inputParent = e.target.closest('.form__input'); var requiredMessage = element.getAttribute('data-required-message'); var pattern = element.getAttribute('data-pattern'); var patternMessage = element.getAttribute('data-message'); validateInput(inputParent, element, requiredMessage, pattern, patternMessage); } }); }) // clear all inputs in form var formClearBtn = document.querySelector('.session__btn-clear'); if (formClearBtn) { formClearBtn.addEventListener('click', function () { document.querySelectorAll('.c-form .form .form__inputs .form__input input').forEach(function (input) { if (input.type != "hidden") { input.value = ""; } }); }); } // send btn clicked first prevent default after that chack valid inputs var formSendBtn = document.querySelector('.form__btn-send'); if (formSendBtn) { formSendBtn.addEventListener('click', function (e) { e.preventDefault(); var allValueIsValid = true; document.querySelectorAll('.c-form .form .form__inputs .form__input input').forEach(function (input) { var element = input; if (element.hasAttribute('data-required')) { var inputParent = element.closest('.form__input'); var requiredMessage = element.getAttribute('data-required-message'); var pattern = element.getAttribute('data-pattern'); var patternMessage = element.getAttribute('data-message'); var isValidateInput = validateInput(inputParent, element, requiredMessage, pattern, patternMessage); allValueIsValid = allValueIsValid && isValidateInput; } }); if (!allValueIsValid) { return; } var form = this.closest("form"); postForm(form); }); } //convert html form to FormData function createFormDate(form) { var allInput = form.querySelectorAll("input"); var formData = new FormData(); allInput.forEach((selectedInput) => { formData.append(selectedInput.name, selectedInput.value); }); return formData; } //send form data by fetch function postForm(form) { var formData = createFormDate(form); var actionName = form.getAttribute("action"); fetch(actionName, { method: 'POST', body: formData }) .then(function (data) { return data.json() }) .then(function (data) { if (data.isSucceed) { clearForm(form); } showMessages(data.messages); }); } //create message element and set in body function showMessages(messages) { if (!messages || messages.length < 1) { return; } var baseMessageElement = document.createElement("div"); var messageElement = ""; messages.forEach(function (selectedMessage) { var cssClass = ""; var iconClass = ""; switch (selectedMessage.type) { case 1: //Success { cssClass = "success"; iconClass = "icon-success"; break; } case 2: //Info { cssClass = "info"; iconClass = "icon-information"; break; } case 4: //Warning { cssClass = "warning"; iconClass = "icon-alert"; break; } case 8: //Error { cssClass = "danger"; iconClass = "icon-close-circle"; break; } } var messageBox = document.createElement("div"); var icon = document.createElement("i"); var messageText = document.createElement("span"); icon.className = iconClass; messageText.innerText = selectedMessage.message; messageBox.appendChild(icon); messageBox.appendChild(messageText); baseMessageElement.className = 'message-notification ' + cssClass; baseMessageElement.appendChild(messageBox); }); document.querySelector(".c-form .form form .message-notification").remove() document.querySelector(".c-form .form form").appendChild(baseMessageElement); } //$('.lazy').Lazy({ // combined: true, // effect: "fadeIn", // onError: function (element) { // console.log('image: '+element.data('src')+' can not be loaded'); // }, // // placeholder: "Loading..." //}); //////////////////Search // load images when those are in viewport var elementsToShow = document.querySelectorAll('.js-lazy-load'); function lazyLoadPictures(elements) { Array.prototype.forEach.call(elements, function (element) { if (isElementInViewport(element)) { if (element instanceof HTMLImageElement) { if (!element.hasAttribute('src')) { var src = element.getAttribute('data-src'); element.setAttribute('src' , src); element.removeAttribute('data-src'); } } else if(element.hasAttribute('data-bc')) { var background = element.getAttribute('data-bc'); element.style.backgroundImage = background; element.removeAttribute('data-bc'); } } }); } window.addEventListener('scroll', function () { lazyLoadPictures(elementsToShow); }); lazyLoadPictures(elementsToShow); //check element is in veiwport function isElementInViewport(el) { var rect = el.getBoundingClientRect(); return ( (rect.top <= 0 && rect.bottom >= 0) || (rect.bottom >= (window.innerHeight || document.documentElement.clientHeight) && rect.top <= (window.innerHeight || document.documentElement.clientHeight)) || (rect.top >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)) ); } $('#SearchTerm').keyup(function (e) { if (e.keyCode === 13) { var term = $("#SearchTerm").val(); if (term) { term = term.replace('<', '').replace('>', '').replace('*', '').replace('%', '').replace('&', '').replace(':', '').replace('\\', '').replace('?', '').replace('+', ''); $(location).attr("href", "/Search/" + term); } } }); //////////////////// //if ($('.imageCover img').height() > $('.authorDetailContainer').height()) { // $('.authorDetailContainer').css('height', w - $('header').height()); //} else { // $('.authorDetailContainer').css('height', '100%'); //} //////////// $('.quick-link') .click(function (e) { e.preventDefault(); var href = $(this).attr('href'); var offset = $(this).position(); // $(href).css({ top: offset.top + $(this).outerHeight(), left: offset.left }); if ($(href).length) { if ($(href).css('display') == 'none') { $('.quick-box').slideUp(); } $(href).slideToggle(); } }); ////////// winW = $(window).width(); var mW = $('#left-menu').width(); $('#left-menu') .sidr({ name: 'sidr-left', side: 'left', // By default source: '#sidr-left', onOpen: function () { $('header').css({ width: winW, left: 260, right: 'auto' }); }, onClose: function () { $('header').css({ width: '', left: 0, right: 0 }); } }); $('#right-menu') .sidr({ name: 'sidr-right', side: 'right', onOpen: function () { $('body').addClass('rightMenuOpened'); $('header').css({ width: winW, right: 260, left: 'auto' }); }, onClose: function () { $('body').removeClass('rightMenuOpened'); $('header').css({ width: '', right: 0, left: 0 }); } }); $('#user-mobile-menu') .click(function () { $('#sidr-right2').show(); $('.user-menu').show(); $('#sidr-right2').animate({ right: 0 }); }); $('#sidr-right2>#user-back-menu') .click(function () { $('#sidr-right2') .animate({ right: '-260px' }, 300, function () { $('#sidr-right2').hide(); }); }); $(document) .on('click', function (e) { e.stopPropagation(); if (winW > 991) { if ($(e.target).closest('nav').length === 0) { $(".quick-box").slideUp(); } } }); //caches a jQuery object containing the header element //$(window).scroll(function () { // var scroll = $(window).scrollTop(); // if (scroll >= $(".innermenu").offset().top) { // $(".innermenu").addClass("fixed"); // } else { // $(".innermenu").removeClass("fixed"); // } //}); //////////////////////fix sidebar $('.stickySidebar').theiaStickySidebar({ additionalMarginBottom: 0, updateSidebarHeight: false }); /////////////////////////////////scrollDown in hover if ($('.TheaterTH>ul').height() < 446) { $('.scrollDown').css('display', 'none'); } $('.scrollDown').hover(function () { var scrolledSize = $(this).parent().find('ul').height(); $(this).parent().find('.TheaterTH').parent().clearQueue(); $(this).parent().find('.TheaterTH').animate({ scrollTop: scrolledSize }, { easing: "", duration: 3000 }, { step: function (n) { $('.scrollTop').css('display', (n > 10 ? 'block' : 'none')); } } ); }, function () { $(this).parent().find('.TheaterTH').stop(); }); /////////////////////////////////scrollTop in hover $('.scrollTop').hover(function () { $(this).parent().clearQueue(); $(this).parent().find('.TheaterTH').parent().clearQueue(); $(this).parent().find('.TheaterTH').animate({ scrollTop: 0 }, { easing: "", duration: 1000 }, { step: function (n) { $('.scrollTop').css('display', (n > 10 ? 'block' : 'none')); } }); }, function () { $(this).parent().find('.TheaterTH').stop(); }); $('.TheaterTH').scroll(function () { $('.scrollTop').css('display', ($(this).scrollTop() > 100 ? 'block' : 'none')); }); //////////////////////////scroll to top page $(".scroll-up").hide(); $(".scroll-up").click(function () { $("html, body").animate({ scrollTop: 0 }, 700); }); $(window).scroll(function () { $(window).scrollTop() > 300 ? $(".scroll-up").fadeIn(1000) : $(".scroll-up").fadeOut(); $('.scroll-up').css('opacity', 1); clearTimeout($.data(this, "scrollCheck")); $.data(this, "scrollCheck", setTimeout(function () { $('.scroll-up').css('opacity', .2); }, 2000)); //////// //if (winW > 991) { // if ($(this).scrollTop() > 40) { // $('header').addClass('header-fixed-top'); // } else { // $('header').removeClass('header-fixed-top'); // } //} // gmSticky(); var scrollPercent; if ($('.deskTop-bottom-banner').length) { scrollPercent = 100 * $(window).scrollTop() / ($(document).height() - $(window).height()); if (scrollPercent >= 40) { $('.deskTop-bottom-banner').css({ bottom: '-90px' }); if ($('.call-btn').length) { $('.call-btn').css('bottom', 20); } } else { $('.deskTop-bottom-banner').css({ bottom: 0 }); if ($('.call-btn').length) { $('.call-btn').css('bottom', $('.deskTop-bottom-banner').height() + 5); } } } }); /////////////// setWidth($('.centerLayout')); setWidth($('.leftSide')); ////////////// //////// if ($('.MultiMediaSlider').length) { $('.MultiMediaSlider').bxSlider({ minSlides: 5, maxSlides: 5, slideWidth: 190, slideMargin: 10, nextText: '', prevText: '', pager: false, responsive: true }); } $('.article-section ul, .article-section ol').addClass('list-in-article'); }); $(window).scroll(function () { var scrollPercent; if ($('.stickybannerOnDesktop').length) { scrollPercent = 100 * $(window).scrollTop() / ($(document).height() - $(window).height()); if (scrollPercent >= 50) { $('.stickybannerOnDesktop').css({ bottom: $('.stickybannerOnDesktop').height() * -1 }); } else { $('.stickybannerOnDesktop').css({ bottom: 0 }); } } }); function setWidth(object) { var totalWidth = 0; if (object.length) { if (object.prev().length && object.prev().css('display') == 'block') { totalWidth = object.prev().outerWidth(true); } if (object.next().length && object.next().css('display') == 'block') { totalWidth += object.next().outerWidth(true); } var remainWidth = object.closest('.container').outerWidth() - totalWidth; object.css('width', Number(remainWidth) - 30); } } $(window).resize(function () { var w = $(window).height(); //if ($('.imageCover img').height() > $('.authorDetailContainer').height()) { // $('.authorDetailContainer').css('height', w - $('header').height()); //} else { // $('.authorDetailContainer').css('height', '100%'); //} setWidth($('.centerLayout')); setWidth($('.leftSide')); if ($('body').hasClass('sidr-open')) { var w = $(this).width(); $('body').css({ 'width': w }); $('.navbar-fixed-top').css({ width: winW }); } ////////////////// if ($('body').hasClass('rightMenuOpened')) { if (winW > 991) { $('body').removeAttr('style'); $('header').css({ 'width': '', 'right': '0' }); $('#sidr-right').css('right', ''); } } }); //========================= //gmSticky //========================= if ($('.innermenu').length) { var mfnheaderheight = $('.innermenu').offset().top; } function gmSticky() { var starty = mfnheaderheight; var windowy = $(window).scrollTop(); if (windowy > starty) { if (!($('.innermenu').hasClass('fixed'))) { $('body').css('padding-top', $('.innermenu').innerHeight()); $('.innermenu') .addClass('fixed') .animate({ 'top': 50 }, 500); } } else { if ($('.innermenu').hasClass('fixed')) { $('body').css('padding-top', 0); $('.innermenu').removeClass('fixed').css('top', 0); } } } function moveBanners() { if (bannerflag) { $('.mobileBannersContainer').remove(); $('
').insertAfter($('.article-tag-row')); var length = 0; //$('.leftSidebar .banner-wrapper, .right-side .banner-wrapper').each(function (value, i) { // if ($(this).children()[0].textContent !== "131") { // $(this).clone().appendTo($('.mobileBannersContainer')); // length++; // } //}); //$('.leftSidebar .banner-wrapper, .right-side .banner-wrapper').hide(); $('.bannercontainer.mobileBanner .banner').each(function (value, i) { $(this).clone().addClass("banner-wrapper").css({ "style": "display: block" }).appendTo($('.mobileBannersContainer')); length++; }); $('.bannercontainer .mobileBanner').hide(); var randomNumber1 = Math.floor(Math.random() * Number(length)); //var randomNumber2 = 0; var randomNumber2 = Math.floor((randomNumber1 + (length / 2)) % length); if (length > 1) { randomNumber2 = Math.floor(Math.random() * Number(length)); while (randomNumber2 === randomNumber1) {// just check value randomNumber2 = Math.floor(Math.random() * Number(length)); } } if (length > 1) { $('.mobileBannersContainer .banner-wrapper:eq(' + randomNumber2 + '), .mobileBannersContainer .banner-wrapper:eq(' + randomNumber1 + ')').show(); } else { $('.mobileBannersContainer .banner-wrapper:eq(' + randomNumber1 + ')').show(); } } bannerflag = false; doMoveBanner = false; } var doMoveBanner = true;