var doc = document, myscroller, current_page_horiz = 0, current_page_vertical = 0, count_pages=20, // init max count pages count_pages_vert = 30, scrollNews = []; var scrollPage = { next: function() { var next_page = current_page_horiz + 1; if(next_page <= count_pages-1){ myscroller.scrollToPage(next_page, 0, 200); } }, prev: function() { var prev_page = current_page_horiz - 1; if(prev_page >= 0){ myscroller.scrollToPage(prev_page, 0, 200); } }, up: function() { var prev_page_vertical = current_page_vertical-1; if(prev_page_vertical <= count_pages_vert+1){ scrollNews[current_page_horiz].scrollToPage(current_page_horiz, prev_page_vertical, 200); //scrollNews[current_page_horiz].scrollToPage(0, prev_page_vertical, 200); } }, down: function() { var next_page_vertical = current_page_vertical+1; if(next_page_vertical <= count_pages_vert-1){ console.log(current_page_horiz); console.log(next_page_vertical); //scrollNews[current_page_horiz].scrollToPage(current_page_horiz, next_page_vertical, 200); scrollNews[current_page_horiz].scrollToPage(0, next_page_vertical, 200); } }, to: function(to) { var goto = to; myscroller.scrollToPage(goto, 0, 200); } } //function scrollToPage(page_to_scroll){ // myscroller.scrollToPage(page_to_scroll, 0, 200); //} // Button social // Button social function Socialbtn(el, options){ var that = this, param = {}, version = 'news139', img6 = 'https://img6.auto.ria.com/images/journal/' + version + '/', referral_vk, referral_fb, referral_tw; that.wrapper = typeof el == 'object' ? el : doc.getElementById(el); //that.options = options; param = { url: 'news0', images: 'cover.jpg', title: 'Авториа на выходные', text: '', type: true }; // console.log(options); options.url = options.url ? options.url : param.url; options.images = options.images ? options.images : param.images; options.title = options.title ? options.title : param.title; options.text = options.text ? options.text : param.text; options.type = options.type ? options.type : param.type; // console.log(options.url); // console.log(options.images); // console.log(options.title); // console.log(options.text); // console.log(options.type); if(options.type === true){ referral_vk = 'https://vk.com/share.php?&image=' + img6 + options.images + '&title=' + options.title + '&description=' + options.text + ' &url=' + img6 + options.images; // referral_fb = 'https://www.facebook.com/sharer/sharer.php?s=100&p%3Atitle=m&o.ria.com=m&p[url]=' + img6 + options.images + '&p[images][0]=' + img6 + options.images; referral_fb = 'https://www.facebook.com/sharer/sharer.php?s=100&p%3Atitle=m&o.ria.com%2Fimages%2Fjournal%2F' + version + '%2Fimages%2F'+ options.images +'&u=http%3A%2F%2Fauto.ria.com%2Fnews%2Fjournal%2F' + version + '%2F%23' + options.url; referral_tw = 'https://twitter.com/intent/tweet?original_referer=' + img6 + options.images + '&text=' + options.title + ' &url=' + img6 + options.images; } else { referral_vk = 'https://vk.com/share.php?&image=' + img6 + options.images + ' &title=' + options.title + ' &description=' + options.text + ' &url=http://auto.ria.com/news/journal/' + version + '%23' + options.url; referral_fb = 'https://www.facebook.com/sharer/sharer.php?s=100&p%3Atitle=m&p[summary]=m&p[url]=http://auto.ria.com/news/journal/' + version + '%23' + options.url + '&p[images][0]=' + img6 + options.images; referral_tw = 'https://twitter.com/intent/tweet?original_referer=http://auto.ria.com/news/journal/' + version + '%23' + options.url + '&text=' + options.title + ' &url=http://auto.ria.com/news/journal/' + version + '%23' + options.url; } createLink = function (referral, name) { var e = doc.createElement('a'); e.setAttribute('href', referral); e.setAttribute('target','_blank'); e.setAttribute('class', name); return e; }; that.wrapper.appendChild(createLink(referral_vk, 'icon-vk')); that.wrapper.appendChild(createLink(referral_fb, 'icon-facebook')); that.wrapper.appendChild(createLink(referral_tw, 'icon-twitter')); }; function Journal_Mobile() { var full_height = 0; $(".scroll-slide section").each(function(){ full_height += $(this).innerHeight(); }); //var html = full_height, var html = document.documentElement, widthScreen = html.clientWidth, heightScreen = html.clientHeight; document.getElementById('footer').style.display = 'none'; var d = document.getElementById("on_resize"); d.setAttribute('onresize','setTimeout(Journal_Mobile, 200)'); var wSlide = document.getElementById('scrollSlide'); wSlide.style.width = widthScreen + 'px'; wSlide.style.height = heightScreen + 'px'; var wrap_slide = document.getElementById('scroll_slide'); wrap_slide.style.width = widthScreen + 'px'; wrap_slide.style.height = wrap_slide.offsetHeight + 'px'; myscroller = new iScroll('scrollSlide', { hScrollbar: false, vScrollbar: true, scrollbars: false, mouseWheel: true // interactiveScrollbars: true, // //shrinkScrollbars: 'scale', // fadeScrollbars: true }); } function Journal_Tablet() { var html = doc.documentElement, widthWindow = html.clientWidth, heightWindow = html.clientHeight; //doc.getElementById('footer').style.display = 'none'; var d = doc.getElementById("on_resize"); d.setAttribute('onresize','setTimeout(Journal_Tablet, 200)'); var el = doc.getElementsByTagName('section'), wrap_slide = doc.getElementById('scroll_slide'); wrap_slide.style.width = el.length * widthWindow + 'px'; wrap_slide.style.height = heightWindow + 'px'; for (var i=0; i < el.length; i++) { el[i].style.width = widthWindow + 'px'; el[i].style.height = heightWindow + 'px'; var elems = el[i].getElementsByTagName('article'); for(var j=0; j < elems.length; j++){ elems[j].style.width = widthWindow + 'px'; //elems[j].style.height = heightWindow + 'px'; elems[j].style.height = 'auto'; } for (var childItem in el[i].childNodes) { //if (el[i].childNodes[childItem].nodeType == 1) el[i].childNodes[childItem].style.height = elems.length * heightWindow + 'px'; //if (el[i].childNodes[childItem].nodeType == 1) el[i].childNodes[childItem].style.height = elems.length * heightWindow + 'px'; } scrollNews[i] = new iScroll('news' + i, { hScroll : false, vScroll : true, snap : true, momentum : false, useTransition : true, hScrollbar : false, vScrollbar : true, onScrollEnd: function () { count_pages_vert = this.pagesY.length; current_page_vertical = this.currPageY; } }); } myscroller = new iScroll('scrollSlide', { hScroll: true, vScroll: false, snap: true, momentum: false, hScrollbar: false, vScrollbar: false, onScrollEnd: function () { count_pages = this.pagesX.length; current_page_horiz = this.currPageX; for(var i = 1; i < count_pages; i++ ){ if((i == this.currPageX-1) && (scrollNews[i] !== undefined)){ scrollNews[i].scrollToPage(1, 0, 100); } } // current_page_vertical = 0; // count_pages_vert = 20; } }); } function Journal_Desktop() { var widthWindow = 1024, heightWindow = 700; var el = doc.getElementsByTagName('section'), wrap_slide = doc.getElementById('scroll_slide'); wrap_slide.style.width = el.length * widthWindow + 'px'; wrap_slide.style.height = heightWindow + 'px'; for (var i=0; i < el.length; i++) { el[i].style.width = widthWindow + 'px'; el[i].style.height = heightWindow + 'px'; var elems = el[i].getElementsByTagName('article'); for (var childItem in el[i].childNodes) { if (el[i].childNodes[childItem].nodeType == 1) el[i].childNodes[childItem].style.height = elems.length * heightWindow + 'px'; } // console.log(el[i]); // console.log(el[i].childNodes); for(var j=0; j < elems.length; j++){ elems[j].style.width = widthWindow + 'px'; elems[j].style.height = heightWindow + 'px'; if( elems.length > 1 ){ var elemCountPage = document.createElement('div'); elemCountPage.setAttribute('class','pagecouter'); elemCountPage.innerHTML = (j+1) + '/' + elems.length; if(j > 0){ var elemNavUp = document.createElement('i'); elemNavUp.setAttribute('class','nav-up'); //elemNavUp.setAttribute('onclick','scrollNews[' + i + '].scrollToPage(0, ' + (j-1) + ', 200);'); elemNavUp.setAttribute('onclick','scrollNews[' + i + '].scrollToPage(' + i + ',' + (j-1) + ', 200);'); //elemNavUp.setAttribute('onclick','scrollPage.up();return false;'); elems[j].appendChild(elemNavUp); } else { // var href = elems[j].attr("data-text"); } if(j+1 < elems.length){ var elemNavDown = document.createElement('i'); elemNavDown.setAttribute('class','nav-down'); //elemNavDown.setAttribute('onclick','scrollNews[' + i + '].scrollToPage(' + i + ', ' + (j+1) + ', 200);return false'); elemNavDown.setAttribute('onclick','scrollNews[' + i + '].scrollToPage(' + i + ',' + (j+1) + ', 200);'); //elemNavDown.setAttribute('onclick','scrollPage.down();return false;'); elems[j].appendChild(elemNavDown); } elems[j].appendChild(elemCountPage); } //console.log(i); if(i > 0 && i+1 < el.length){ var elemNavNext = document.createElement('i'); elemNavNext.setAttribute('class','nav-next'); elemNavNext.setAttribute('onclick','scrollPage.next();return false'); elems[j].appendChild(elemNavNext); } if (i > 0){ var elemNavPrev = document.createElement('i'); elemNavPrev.setAttribute('class','nav-prev'); elemNavPrev.setAttribute('onclick','scrollPage.prev();return false'); elems[j].appendChild(elemNavPrev); } } if(elems.length > 1){ //add event iscroll4 to all section scrollNews[i] = new iScroll('news' + i, { hScroll : false, vScroll : true, snap : true, momentum : false, useTransition : true, hScrollbar : false, vScrollbar : true, onScrollEnd: function () { count_pages_vert = this.pagesY.length; current_page_vertical = this.currPageY; } }); } } // myscroller = new iScroll('scrollSlide', { // snap: true, // momentum: false, // hScrollbar: false, // vScrollbar: false // }); myscroller = new iScroll('scrollSlide', { hScroll: true, vScroll: false, snap: true, momentum: false, hScrollbar: false, vScrollbar: false, onScrollEnd: function () { count_pages = this.pagesX.length; current_page_horiz = this.currPageX; for(var i = 1; i < count_pages; i++ ){ if((i == this.currPageX-1) && (scrollNews[i] !== undefined)){ scrollNews[i].scrollToPage(1, 0, 100); } } // current_page_vertical = 0; // count_pages_vert = 20; } }); // myScroll = new IScroll('#scrollSlide', { // scrollX: true, // scrollY: false, // momentum: false, // snap: 'section', // snapSpeed: 400, // keyBindings: true, // mouseWheel: true, // click: true // }); } (function() { //------------------------ var _addClass, _doc_element, _find, _handleOrientation, _hasClass, _orientation_event, _removeClass, _supports_orientation, _user_agent; window.device = {}; _doc_element = window.document.documentElement; _user_agent = window.navigator.userAgent.toLowerCase(); device.ios = function() { return device.iphone() || device.ipod() || device.ipad(); }; device.iphone = function() { return _find('iphone'); }; device.ipod = function() { return _find('ipod'); }; device.ipad = function() { return _find('ipad'); }; device.android = function() { return _find('android'); }; device.androidPhone = function() { return device.android() && _find('mobile'); }; device.androidTablet = function() { return device.android() && !_find('mobile'); }; device.blackberry = function() { return _find('blackberry') || _find('bb10') || _find('rim'); }; device.blackberryPhone = function() { return device.blackberry() && !_find('tablet'); }; device.blackberryTablet = function() { return device.blackberry() && _find('tablet'); }; device.windows = function() { return _find('windows'); }; device.windowsPhone = function() { return device.windows() && _find('phone'); }; device.windowsTablet = function() { return device.windows() && _find('touch'); }; device.fxos = function() { return _find('(mobile; rv:') || _find('(tablet; rv:'); }; device.fxosPhone = function() { return device.fxos() && _find('mobile'); }; device.fxosTablet = function() { return device.fxos() && _find('tablet'); }; device.mobile = function() { return device.androidPhone() || device.iphone() || device.ipod() || device.windowsPhone() || device.blackberryPhone() || device.fxosPhone(); }; device.tablet = function() { return device.ipad() || device.androidTablet() || device.blackberryTablet() || device.windowsTablet() || device.fxosTablet(); }; device.portrait = function() { return Math.abs(window.orientation) !== 90; }; device.landscape = function() { return Math.abs(window.orientation) === 90; }; _find = function(needle) { return _user_agent.indexOf(needle) !== -1; }; _hasClass = function(class_name) { var regex; regex = new RegExp(class_name, 'i'); return _doc_element.className.match(regex); }; _addClass = function(class_name) { if (!_hasClass(class_name)) { return _doc_element.className += " " + class_name; } }; _removeClass = function(class_name) { if (_hasClass(class_name)) { return _doc_element.className = _doc_element.className.replace(class_name, ""); } }; if (device.ios()) { if (device.ipad()) { _addClass("ios ipad tablet"); } else if (device.iphone() || device.ipod()) { _addClass("ios iphone mobile"); } } else if (device.android()) { if (device.androidTablet()) { _addClass("android tablet"); } else { _addClass("android mobile"); } } else if (device.blackberry()) { if (device.blackberryTablet()) { _addClass("blackberry tablet"); } else { _addClass("blackberry mobile"); } } else if (device.windows()) { if (device.windowsTablet()) { _addClass("windows tablet"); } else if (device.windowsPhone()) { _addClass("windows mobile"); } else { if(_find('opera') == true){ _addClass("desktop opera"); } else { _addClass("desktop"); } } } else if (device.fxos()) { if (device.fxosTablet()) { _addClass("fxos tablet"); } else { _addClass("fxos mobile"); } } else { _addClass("desktop"); } if (device.mobile()) { document.addEventListener('DOMContentLoaded', function () { setTimeout(Journal_Mobile, 200); }, false); //document.addEventListener('DOMContentLoaded', function () { setTimeout(Journal_Tablet, 200); }, false); } else if (device.tablet()) { document.addEventListener('DOMContentLoaded', function () { setTimeout(Journal_Desktop, 200); }, false); } else { document.addEventListener('DOMContentLoaded', function () { setTimeout(Journal_Desktop, 200); }, false); } _handleOrientation = function() { if (device.landscape()) { _removeClass("portrait"); return _addClass("landscape"); } else { _removeClass("landscape"); return _addClass("portrait"); } }; _supports_orientation = "onorientationchange" in window; _orientation_event = _supports_orientation ? "orientationchange" : "resize"; if (window.addEventListener) { window.addEventListener(_orientation_event, _handleOrientation, false); } else if (window.attachEvent) { window.attachEvent(_orientation_event, _handleOrientation); } else { window[_orientation_event] = _handleOrientation; } _handleOrientation(); }).call(this);